@nextcloud/vue 8.23.1 → 8.25.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 (688) hide show
  1. package/CHANGELOG.md +297 -201
  2. package/README.md +8 -4
  3. package/dist/Components/NcActionButton.cjs +2 -1
  4. package/dist/Components/NcActionButton.mjs +2 -1
  5. package/dist/Components/NcActionButtonGroup.cjs +2 -1
  6. package/dist/Components/NcActionButtonGroup.mjs +2 -1
  7. package/dist/Components/NcActionCaption.cjs +1 -0
  8. package/dist/Components/NcActionCaption.mjs +1 -0
  9. package/dist/Components/NcActionCheckbox.cjs +2 -1
  10. package/dist/Components/NcActionCheckbox.mjs +2 -1
  11. package/dist/Components/NcActionInput.cjs +2 -1
  12. package/dist/Components/NcActionInput.mjs +2 -1
  13. package/dist/Components/NcActionLink.cjs +2 -1
  14. package/dist/Components/NcActionLink.mjs +2 -1
  15. package/dist/Components/NcActionRadio.cjs +2 -1
  16. package/dist/Components/NcActionRadio.mjs +2 -1
  17. package/dist/Components/NcActionRouter.cjs +2 -1
  18. package/dist/Components/NcActionRouter.mjs +2 -1
  19. package/dist/Components/NcActionSeparator.cjs +1 -0
  20. package/dist/Components/NcActionSeparator.mjs +1 -0
  21. package/dist/Components/NcActionText.cjs +2 -1
  22. package/dist/Components/NcActionText.mjs +2 -1
  23. package/dist/Components/NcActionTextEditable.cjs +2 -1
  24. package/dist/Components/NcActionTextEditable.mjs +2 -1
  25. package/dist/Components/NcActions.cjs +2 -1
  26. package/dist/Components/NcActions.mjs +2 -1
  27. package/dist/Components/NcAppContent.cjs +2 -1
  28. package/dist/Components/NcAppContent.mjs +2 -1
  29. package/dist/Components/NcAppContentDetails.cjs +1 -0
  30. package/dist/Components/NcAppContentDetails.mjs +1 -0
  31. package/dist/Components/NcAppContentList.cjs +1 -0
  32. package/dist/Components/NcAppContentList.mjs +1 -0
  33. package/dist/Components/NcAppNavigation.cjs +2 -1
  34. package/dist/Components/NcAppNavigation.mjs +2 -1
  35. package/dist/Components/NcAppNavigationCaption.cjs +2 -1
  36. package/dist/Components/NcAppNavigationCaption.mjs +2 -1
  37. package/dist/Components/NcAppNavigationIconBullet.cjs +1 -0
  38. package/dist/Components/NcAppNavigationIconBullet.mjs +1 -0
  39. package/dist/Components/NcAppNavigationItem.cjs +2 -1
  40. package/dist/Components/NcAppNavigationItem.mjs +2 -1
  41. package/dist/Components/NcAppNavigationList.cjs +1 -0
  42. package/dist/Components/NcAppNavigationList.mjs +1 -0
  43. package/dist/Components/NcAppNavigationNew.cjs +18 -3
  44. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  45. package/dist/Components/NcAppNavigationNew.mjs +18 -3
  46. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  47. package/dist/Components/NcAppNavigationNewItem.cjs +2 -1
  48. package/dist/Components/NcAppNavigationNewItem.mjs +2 -1
  49. package/dist/Components/NcAppNavigationSearch.cjs +2 -1
  50. package/dist/Components/NcAppNavigationSearch.mjs +2 -1
  51. package/dist/Components/NcAppNavigationSettings.cjs +2 -1
  52. package/dist/Components/NcAppNavigationSettings.mjs +2 -1
  53. package/dist/Components/NcAppNavigationSpacer.cjs +1 -0
  54. package/dist/Components/NcAppNavigationSpacer.mjs +1 -0
  55. package/dist/Components/NcAppNavigationToggle.cjs +2 -1
  56. package/dist/Components/NcAppNavigationToggle.mjs +2 -1
  57. package/dist/Components/NcAppSettingsDialog.cjs +2 -1
  58. package/dist/Components/NcAppSettingsDialog.mjs +2 -1
  59. package/dist/Components/NcAppSettingsSection.cjs +1 -0
  60. package/dist/Components/NcAppSettingsSection.mjs +1 -0
  61. package/dist/Components/NcAppSidebar.cjs +2 -1
  62. package/dist/Components/NcAppSidebar.mjs +2 -1
  63. package/dist/Components/NcAppSidebarTab.cjs +1 -0
  64. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  65. package/dist/Components/NcAppSidebarTab.mjs +1 -0
  66. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  67. package/dist/Components/NcAvatar.cjs +2 -1
  68. package/dist/Components/NcAvatar.mjs +2 -1
  69. package/dist/Components/NcBlurHash.cjs +4 -0
  70. package/dist/Components/NcBlurHash.cjs.map +1 -0
  71. package/dist/Components/NcBlurHash.mjs +5 -0
  72. package/dist/Components/NcBlurHash.mjs.map +1 -0
  73. package/dist/Components/NcBreadcrumb.cjs +2 -1
  74. package/dist/Components/NcBreadcrumb.mjs +2 -1
  75. package/dist/Components/NcBreadcrumbs.cjs +2 -1
  76. package/dist/Components/NcBreadcrumbs.mjs +2 -1
  77. package/dist/Components/NcButton.cjs +52 -10
  78. package/dist/Components/NcButton.cjs.map +1 -1
  79. package/dist/Components/NcButton.mjs +52 -10
  80. package/dist/Components/NcButton.mjs.map +1 -1
  81. package/dist/Components/NcCheckboxRadioSwitch.cjs +2 -1
  82. package/dist/Components/NcCheckboxRadioSwitch.mjs +2 -1
  83. package/dist/Components/NcChip.cjs +27 -12
  84. package/dist/Components/NcChip.cjs.map +1 -1
  85. package/dist/Components/NcChip.mjs +27 -12
  86. package/dist/Components/NcChip.mjs.map +1 -1
  87. package/dist/Components/NcCollectionList.cjs +2 -1
  88. package/dist/Components/NcCollectionList.mjs +2 -1
  89. package/dist/Components/NcColorPicker.cjs +2 -1
  90. package/dist/Components/NcColorPicker.mjs +2 -1
  91. package/dist/Components/NcContent.cjs +2 -1
  92. package/dist/Components/NcContent.mjs +2 -1
  93. package/dist/Components/NcCounterBubble.cjs +1 -0
  94. package/dist/Components/NcCounterBubble.mjs +1 -0
  95. package/dist/Components/NcDashboardWidget.cjs +2 -1
  96. package/dist/Components/NcDashboardWidget.mjs +2 -1
  97. package/dist/Components/NcDashboardWidgetItem.cjs +2 -1
  98. package/dist/Components/NcDashboardWidgetItem.mjs +2 -1
  99. package/dist/Components/NcDateTime.cjs +2 -1
  100. package/dist/Components/NcDateTime.mjs +2 -1
  101. package/dist/Components/NcDateTimePicker.cjs +48 -21
  102. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  103. package/dist/Components/NcDateTimePicker.mjs +49 -22
  104. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  105. package/dist/Components/NcDateTimePickerNative.cjs +2 -1
  106. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  107. package/dist/Components/NcDateTimePickerNative.mjs +2 -1
  108. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  109. package/dist/Components/NcDialog.cjs +2 -1
  110. package/dist/Components/NcDialog.mjs +2 -1
  111. package/dist/Components/NcDialogButton.cjs +2 -1
  112. package/dist/Components/NcDialogButton.mjs +2 -1
  113. package/dist/Components/NcEllipsisedOption.cjs +1 -0
  114. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  115. package/dist/Components/NcEllipsisedOption.mjs +1 -0
  116. package/dist/Components/NcEmojiPicker.cjs +2 -1
  117. package/dist/Components/NcEmojiPicker.mjs +2 -1
  118. package/dist/Components/NcEmptyContent.cjs +3 -2
  119. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  120. package/dist/Components/NcEmptyContent.mjs +3 -2
  121. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  122. package/dist/Components/NcGuestContent.cjs +1 -0
  123. package/dist/Components/NcGuestContent.mjs +1 -0
  124. package/dist/Components/NcHeaderButton.cjs +4 -3
  125. package/dist/Components/NcHeaderButton.cjs.map +1 -1
  126. package/dist/Components/NcHeaderButton.mjs +4 -3
  127. package/dist/Components/NcHeaderButton.mjs.map +1 -1
  128. package/dist/Components/NcHeaderMenu.cjs +2 -1
  129. package/dist/Components/NcHeaderMenu.mjs +2 -1
  130. package/dist/Components/NcHighlight.cjs +1 -0
  131. package/dist/Components/NcHighlight.mjs +1 -0
  132. package/dist/Components/NcIconSvgWrapper.cjs +2 -1
  133. package/dist/Components/NcIconSvgWrapper.mjs +2 -1
  134. package/dist/Components/NcInputField.cjs +2 -1
  135. package/dist/Components/NcInputField.mjs +2 -1
  136. package/dist/Components/NcListItem.cjs +2 -1
  137. package/dist/Components/NcListItem.mjs +2 -1
  138. package/dist/Components/NcListItemIcon.cjs +2 -1
  139. package/dist/Components/NcListItemIcon.mjs +2 -1
  140. package/dist/Components/NcLoadingIcon.cjs +1 -0
  141. package/dist/Components/NcLoadingIcon.mjs +1 -0
  142. package/dist/Components/NcModal.cjs +38 -27
  143. package/dist/Components/NcModal.cjs.map +1 -1
  144. package/dist/Components/NcModal.mjs +38 -27
  145. package/dist/Components/NcModal.mjs.map +1 -1
  146. package/dist/Components/NcNoteCard.cjs +1 -0
  147. package/dist/Components/NcNoteCard.mjs +1 -0
  148. package/dist/Components/NcPasswordField.cjs +2 -1
  149. package/dist/Components/NcPasswordField.mjs +2 -1
  150. package/dist/Components/NcPopover.cjs +2 -1
  151. package/dist/Components/NcPopover.mjs +2 -1
  152. package/dist/Components/NcProgressBar.cjs +1 -0
  153. package/dist/Components/NcProgressBar.mjs +1 -0
  154. package/dist/Components/NcRelatedResourcesPanel.cjs +2 -1
  155. package/dist/Components/NcRelatedResourcesPanel.mjs +2 -1
  156. package/dist/Components/NcRichContenteditable.cjs +2 -1
  157. package/dist/Components/NcRichContenteditable.mjs +2 -1
  158. package/dist/Components/NcRichText.cjs +3 -2
  159. package/dist/Components/NcRichText.mjs +5 -4
  160. package/dist/Components/NcSavingIndicatorIcon.cjs +1 -0
  161. package/dist/Components/NcSavingIndicatorIcon.mjs +1 -0
  162. package/dist/Components/NcSelect.cjs +2 -1
  163. package/dist/Components/NcSelect.mjs +2 -1
  164. package/dist/Components/NcSelectTags.cjs +2 -1
  165. package/dist/Components/NcSelectTags.mjs +2 -1
  166. package/dist/Components/NcSelectUsers.cjs +4 -0
  167. package/dist/Components/NcSelectUsers.cjs.map +1 -0
  168. package/dist/Components/NcSelectUsers.mjs +5 -0
  169. package/dist/Components/NcSelectUsers.mjs.map +1 -0
  170. package/dist/Components/NcSettingsInputText.cjs +2 -1
  171. package/dist/Components/NcSettingsInputText.mjs +2 -1
  172. package/dist/Components/NcSettingsSection.cjs +2 -1
  173. package/dist/Components/NcSettingsSection.mjs +2 -1
  174. package/dist/Components/NcSettingsSelectGroup.cjs +2 -1
  175. package/dist/Components/NcSettingsSelectGroup.mjs +2 -1
  176. package/dist/Components/NcTextArea.cjs +1 -0
  177. package/dist/Components/NcTextArea.mjs +1 -0
  178. package/dist/Components/NcTextField.cjs +2 -1
  179. package/dist/Components/NcTextField.mjs +2 -1
  180. package/dist/Components/NcTimezonePicker.cjs +2 -1
  181. package/dist/Components/NcTimezonePicker.mjs +2 -1
  182. package/dist/Components/NcUserBubble.cjs +2 -1
  183. package/dist/Components/NcUserBubble.mjs +2 -1
  184. package/dist/Components/NcUserStatusIcon.cjs +2 -1
  185. package/dist/Components/NcUserStatusIcon.mjs +2 -1
  186. package/dist/Components/NcVNodes.cjs +1 -0
  187. package/dist/Components/NcVNodes.mjs +1 -0
  188. package/dist/Composables/useHotKey.cjs +1 -0
  189. package/dist/Composables/useHotKey.cjs.map +1 -1
  190. package/dist/Composables/useHotKey.mjs +1 -0
  191. package/dist/Composables/useHotKey.mjs.map +1 -1
  192. package/dist/Composables/useIsDarkTheme.cjs +1 -0
  193. package/dist/Composables/useIsDarkTheme.cjs.map +1 -1
  194. package/dist/Composables/useIsDarkTheme.mjs +1 -0
  195. package/dist/Composables/useIsDarkTheme.mjs.map +1 -1
  196. package/dist/Composables/useIsFullscreen.cjs +1 -0
  197. package/dist/Composables/useIsFullscreen.cjs.map +1 -1
  198. package/dist/Composables/useIsFullscreen.mjs +1 -0
  199. package/dist/Composables/useIsFullscreen.mjs.map +1 -1
  200. package/dist/Composables/useIsMobile.cjs +1 -0
  201. package/dist/Composables/useIsMobile.cjs.map +1 -1
  202. package/dist/Composables/useIsMobile.mjs +1 -0
  203. package/dist/Composables/useIsMobile.mjs.map +1 -1
  204. package/dist/Directives/Focus.cjs +1 -0
  205. package/dist/Directives/Focus.cjs.map +1 -1
  206. package/dist/Directives/Focus.mjs +1 -0
  207. package/dist/Directives/Focus.mjs.map +1 -1
  208. package/dist/Directives/Linkify.cjs +1 -0
  209. package/dist/Directives/Linkify.cjs.map +1 -1
  210. package/dist/Directives/Linkify.mjs +1 -0
  211. package/dist/Directives/Linkify.mjs.map +1 -1
  212. package/dist/Directives/Tooltip.cjs +2 -1
  213. package/dist/Directives/Tooltip.cjs.map +1 -1
  214. package/dist/Directives/Tooltip.mjs +5 -4
  215. package/dist/Directives/Tooltip.mjs.map +1 -1
  216. package/dist/Functions/a11y.cjs +1 -0
  217. package/dist/Functions/a11y.cjs.map +1 -1
  218. package/dist/Functions/a11y.mjs +1 -0
  219. package/dist/Functions/a11y.mjs.map +1 -1
  220. package/dist/Functions/contactsMenu.cjs +1 -0
  221. package/dist/Functions/contactsMenu.cjs.map +1 -1
  222. package/dist/Functions/contactsMenu.mjs +1 -0
  223. package/dist/Functions/contactsMenu.mjs.map +1 -1
  224. package/dist/Functions/dialog.cjs +1 -0
  225. package/dist/Functions/dialog.cjs.map +1 -1
  226. package/dist/Functions/dialog.mjs +1 -0
  227. package/dist/Functions/dialog.mjs.map +1 -1
  228. package/dist/Functions/emoji.cjs +1 -0
  229. package/dist/Functions/emoji.mjs +1 -0
  230. package/dist/Functions/isDarkTheme.cjs +1 -0
  231. package/dist/Functions/isDarkTheme.cjs.map +1 -1
  232. package/dist/Functions/isDarkTheme.mjs +1 -0
  233. package/dist/Functions/isDarkTheme.mjs.map +1 -1
  234. package/dist/Functions/preloadImage.cjs +19 -0
  235. package/dist/Functions/preloadImage.cjs.map +1 -0
  236. package/dist/Functions/preloadImage.mjs +17 -0
  237. package/dist/Functions/preloadImage.mjs.map +1 -0
  238. package/dist/Functions/reference.cjs +2 -1
  239. package/dist/Functions/reference.mjs +3 -2
  240. package/dist/Functions/registerReference.cjs +1 -0
  241. package/dist/Functions/registerReference.mjs +3 -2
  242. package/dist/Functions/usernameToColor.cjs +2 -1
  243. package/dist/Functions/usernameToColor.mjs +2 -1
  244. package/dist/Mixins/clickOutsideOptions.cjs +1 -0
  245. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  246. package/dist/Mixins/clickOutsideOptions.mjs +1 -0
  247. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  248. package/dist/Mixins/isFullscreen.cjs +1 -0
  249. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  250. package/dist/Mixins/isFullscreen.mjs +1 -0
  251. package/dist/Mixins/isMobile.cjs +1 -0
  252. package/dist/Mixins/isMobile.cjs.map +1 -1
  253. package/dist/Mixins/isMobile.mjs +1 -0
  254. package/dist/Mixins/richEditor.cjs +1 -0
  255. package/dist/Mixins/richEditor.mjs +1 -0
  256. package/dist/assets/{NcActionButton-BYN2SUN0.css → NcActionButton-BqMeBMdA.css} +17 -16
  257. package/dist/assets/{NcActionCheckbox-Dan0EvGm.css → NcActionCheckbox-BlyPt7DF.css} +1 -0
  258. package/dist/assets/{NcActionInput-Dz21fyVD.css → NcActionInput-gUagFGC5.css} +2 -0
  259. package/dist/assets/{NcActionLink-BG9B9dP4.css → NcActionLink-DA3ebr8W.css} +1 -0
  260. package/dist/assets/{NcActionRadio-C87waXE-.css → NcActionRadio-CodyhP86.css} +1 -0
  261. package/dist/assets/{NcActionRouter-BAGuUfFu.css → NcActionRouter-DlqXQ6ai.css} +1 -0
  262. package/dist/assets/{NcActionText-Cjp26Bn0.css → NcActionText-Cvug6qMa.css} +1 -0
  263. package/dist/assets/{NcActionTextEditable-1TXeJ5zp.css → NcActionTextEditable-CasTVqIo.css} +62 -60
  264. package/dist/assets/{NcActions-C4SuFczn.css → NcActions-3STB3u9J.css} +11 -11
  265. package/dist/assets/{NcAppContent-BO0ksFwD.css → NcAppContent-DswTJB9n.css} +23 -23
  266. package/dist/assets/{NcAppNavigation-CJj8AvqM.css → NcAppNavigation-DfTQlVGB.css} +12 -12
  267. package/dist/assets/{NcAppNavigationItem-lh9Say1M.css → NcAppNavigationItem-CdT6ce8-.css} +11 -4
  268. package/dist/assets/{NcAppNavigationNew-BcDuupzO.css → NcAppNavigationNew-Dbo2rvXH.css} +3 -3
  269. package/dist/assets/{NcAppNavigationNewItem-fUP3wQTQ.css → NcAppNavigationNewItem-D7wroqrc.css} +7 -0
  270. package/dist/assets/{NcAppNavigationSearch-Df50ss_2.css → NcAppNavigationSearch-CFtTLRbc.css} +6 -6
  271. package/dist/assets/{NcAppNavigationToggle-B6FCDJp7.css → NcAppNavigationToggle-C5IMygw1.css} +3 -3
  272. package/dist/assets/{NcAppSidebar-BntAj6H-.css → NcAppSidebar-Dun97zcC.css} +43 -43
  273. package/dist/assets/{NcAvatar-CcJlFpcI.css → NcAvatar-BvPk6o_F.css} +24 -24
  274. package/dist/assets/NcBlurHash-7aGtE-_T.css +8 -0
  275. package/dist/assets/{NcBreadcrumb-Cjcyeimd.css → NcBreadcrumb-DqaFt2qu.css} +15 -15
  276. package/dist/assets/{NcButton-CfOAX-eQ.css → NcButton-DnNZaEy_.css} +47 -47
  277. package/dist/assets/{NcCheckboxRadioSwitch-DuFrRU9C.css → NcCheckboxRadioSwitch-DlEieXCj.css} +41 -41
  278. package/dist/assets/{NcChip-CIvAlds6.css → NcChip-BNLuZgd6.css} +9 -9
  279. package/dist/assets/{NcColorPicker-C1DuuANb.css → NcColorPicker-BayJGD4p.css} +28 -30
  280. package/dist/assets/{NcContent-CZamE_IP.css → NcContent-Bq-7EZQc.css} +9 -9
  281. package/dist/assets/{NcDateTimePicker-BtV9Fz-n.css → NcDateTimePicker-BY1UnUZM.css} +59 -12
  282. package/dist/assets/{NcDialog-Bzs9oxyt.css → NcDialog-BPI0CJvw.css} +15 -15
  283. package/dist/assets/{NcEmojiPicker-rk5qcSl7.css → NcEmojiPicker-Ca6U46T8.css} +19 -15
  284. package/dist/assets/{NcEmptyContent-BlXL6nnq.css → NcEmptyContent-CSsXYYcn.css} +9 -9
  285. package/dist/assets/{NcHeaderButton-BPkJ5wxD.css → NcHeaderButton-Dr6MgPDQ.css} +8 -7
  286. package/dist/assets/{NcHeaderMenu-BYjnMPPl.css → NcHeaderMenu-DN-HfTkh.css} +12 -11
  287. package/dist/assets/{NcIconSvgWrapper-BxyhLaB5.css → NcIconSvgWrapper-BiNW6Guv.css} +8 -4
  288. package/dist/assets/{NcInputConfirmCancel-EYtW7MxF.css → NcInputConfirmCancel-BanazdhC.css} +5 -5
  289. package/dist/assets/{NcInputField-CzryIHRa.css → NcInputField-GxJ-rf2p.css} +32 -32
  290. package/dist/assets/{NcListItem-GE5S37TT.css → NcListItem-DfaWGP5A.css} +44 -44
  291. package/dist/assets/{NcModal-ZfCDJxwd.css → NcModal-BS5vtogq.css} +68 -69
  292. package/dist/assets/{NcPopover-DpakVVxI.css → NcPopover-CWwUNpmE.css} +9 -9
  293. package/dist/assets/{NcRelatedResourcesPanel-DSf7TVcC.css → NcRelatedResourcesPanel-DhStLIO2.css} +21 -21
  294. package/dist/assets/{NcRichContenteditable-BV6g3dmd.css → NcRichContenteditable-CtPZudY6.css} +13 -10
  295. package/dist/assets/{NcRichText-zt8ALFHi.css → NcRichText-BwghUUnz.css} +3 -0
  296. package/dist/assets/NcSelectUsers-BoxBQpbA.css +4 -0
  297. package/dist/assets/{Tooltip-DQ4Plm4r.css → Tooltip-C-QZMStp.css} +7 -9
  298. package/dist/assets/{referencePickerModal-CTumspFH.css → referencePickerModal-Ba6soz9w.css} +8 -8
  299. package/dist/chunks/AlertCircleOutline-BrsasUsU.cjs +1 -0
  300. package/dist/chunks/AlertCircleOutline-DBxbepLy.mjs +1 -0
  301. package/dist/chunks/ArrowLeft-BP7yfzCQ.cjs +1 -0
  302. package/dist/chunks/ArrowLeft-DuT2LZOm.mjs +1 -0
  303. package/dist/chunks/ArrowRight-CY2b9hgN.mjs +1 -0
  304. package/dist/chunks/ArrowRight-DPARnmu3.cjs +1 -0
  305. package/dist/chunks/Check-BkThHPH7.mjs +1 -0
  306. package/dist/chunks/Check-Du8mPz_B.cjs +1 -0
  307. package/dist/chunks/ChevronDown-BlfyuflD.cjs +1 -0
  308. package/dist/chunks/ChevronDown-DFQfzh63.mjs +1 -0
  309. package/dist/chunks/ChevronRight-BUv-PtHh.mjs +1 -0
  310. package/dist/chunks/ChevronRight-ZCKVg9OI.cjs +1 -0
  311. package/dist/chunks/ChevronUp-Bpd__OBZ.cjs +1 -0
  312. package/dist/chunks/ChevronUp-C7Dy9Bph.mjs +1 -0
  313. package/dist/chunks/Close-BtLPUSdO.mjs +1 -0
  314. package/dist/chunks/Close-CqmXxEKi.cjs +1 -0
  315. package/dist/chunks/DotsHorizontal-BoI3vnhk.cjs +1 -0
  316. package/dist/chunks/DotsHorizontal-C6LNsw4N.mjs +1 -0
  317. package/dist/chunks/{GenColors-Di5GSft7.cjs → GenColors-7bkY5Nwl.cjs} +2 -1
  318. package/dist/chunks/{GenColors-Di5GSft7.cjs.map → GenColors-7bkY5Nwl.cjs.map} +1 -1
  319. package/dist/chunks/{GenColors-DfwXw1-o.mjs → GenColors-S7frO84b.mjs} +2 -1
  320. package/dist/chunks/{GenColors-DfwXw1-o.mjs.map → GenColors-S7frO84b.mjs.map} +1 -1
  321. package/dist/chunks/GenRandomId-BQDud3d4.cjs +1 -0
  322. package/dist/chunks/GenRandomId-BQDud3d4.cjs.map +1 -1
  323. package/dist/chunks/GenRandomId-CMooMQt0.mjs +1 -0
  324. package/dist/chunks/GenRandomId-CMooMQt0.mjs.map +1 -1
  325. package/dist/chunks/{NcActionButton-DcpUnqA7.cjs → NcActionButton-CXeEXQLT.cjs} +46 -13
  326. package/dist/chunks/NcActionButton-CXeEXQLT.cjs.map +1 -0
  327. package/dist/chunks/{NcActionButton-CEysTg4c.mjs → NcActionButton-Gpv56vuS.mjs} +46 -13
  328. package/dist/chunks/NcActionButton-Gpv56vuS.mjs.map +1 -0
  329. package/dist/chunks/{NcActionButtonGroup-x6D7S13W.cjs → NcActionButtonGroup-BMy3W9fG.cjs} +2 -1
  330. package/dist/chunks/{NcActionButtonGroup-x6D7S13W.cjs.map → NcActionButtonGroup-BMy3W9fG.cjs.map} +1 -1
  331. package/dist/chunks/{NcActionButtonGroup-3v-qy9C0.mjs → NcActionButtonGroup-BteTNhIn.mjs} +2 -1
  332. package/dist/chunks/{NcActionButtonGroup-3v-qy9C0.mjs.map → NcActionButtonGroup-BteTNhIn.mjs.map} +1 -1
  333. package/dist/chunks/{NcActionCheckbox-BnL71Qmi.mjs → NcActionCheckbox-DSMKeccY.mjs} +2 -1
  334. package/dist/chunks/{NcActionCheckbox-BnL71Qmi.mjs.map → NcActionCheckbox-DSMKeccY.mjs.map} +1 -1
  335. package/dist/chunks/{NcActionCheckbox-Dd5Y6f63.cjs → NcActionCheckbox-JX-QaTD6.cjs} +2 -1
  336. package/dist/chunks/{NcActionCheckbox-Dd5Y6f63.cjs.map → NcActionCheckbox-JX-QaTD6.cjs.map} +1 -1
  337. package/dist/chunks/{NcActionInput-VR510EDJ.cjs → NcActionInput-B-7FoLVy.cjs} +7 -6
  338. package/dist/chunks/{NcActionInput-VR510EDJ.cjs.map → NcActionInput-B-7FoLVy.cjs.map} +1 -1
  339. package/dist/chunks/{NcActionInput-BAM8T3gm.mjs → NcActionInput-D-zf_ZR9.mjs} +7 -6
  340. package/dist/chunks/{NcActionInput-BAM8T3gm.mjs.map → NcActionInput-D-zf_ZR9.mjs.map} +1 -1
  341. package/dist/chunks/{NcActionRadio-BQ0jAh5V.cjs → NcActionRadio-BUCQ6VxA.cjs} +2 -1
  342. package/dist/chunks/{NcActionRadio-BQ0jAh5V.cjs.map → NcActionRadio-BUCQ6VxA.cjs.map} +1 -1
  343. package/dist/chunks/{NcActionRadio-CCTupqRR.mjs → NcActionRadio-yAm71xxU.mjs} +2 -1
  344. package/dist/chunks/{NcActionRadio-CCTupqRR.mjs.map → NcActionRadio-yAm71xxU.mjs.map} +1 -1
  345. package/dist/chunks/{NcActionTextEditable-JRD-G0CT.mjs → NcActionTextEditable-BYqqHPj2.mjs} +6 -5
  346. package/dist/chunks/NcActionTextEditable-BYqqHPj2.mjs.map +1 -0
  347. package/dist/chunks/{NcActionTextEditable-C-ZP8_Tn.cjs → NcActionTextEditable-s1Xqpg6x.cjs} +6 -5
  348. package/dist/chunks/NcActionTextEditable-s1Xqpg6x.cjs.map +1 -0
  349. package/dist/chunks/{NcActions-D3hGxwlc.mjs → NcActions-Bkh3UMs3.mjs} +52 -53
  350. package/dist/chunks/NcActions-Bkh3UMs3.mjs.map +1 -0
  351. package/dist/chunks/{NcActions-DTICeoTz.cjs → NcActions-DFHXBqKC.cjs} +51 -52
  352. package/dist/chunks/NcActions-DFHXBqKC.cjs.map +1 -0
  353. package/dist/chunks/{NcAppContent-BOt6_YA7.cjs → NcAppContent-D__4-2XM.cjs} +60 -22
  354. package/dist/chunks/NcAppContent-D__4-2XM.cjs.map +1 -0
  355. package/dist/chunks/{NcAppContent-BKQ-H04y.mjs → NcAppContent-_x1Bvwg-.mjs} +60 -22
  356. package/dist/chunks/NcAppContent-_x1Bvwg-.mjs.map +1 -0
  357. package/dist/chunks/{NcAppNavigation-D7W-4cVo.cjs → NcAppNavigation-DBfTz6qV.cjs} +6 -5
  358. package/dist/chunks/NcAppNavigation-DBfTz6qV.cjs.map +1 -0
  359. package/dist/chunks/{NcAppNavigation-B_92V8o3.mjs → NcAppNavigation-H8Gvbq5E.mjs} +7 -6
  360. package/dist/chunks/NcAppNavigation-H8Gvbq5E.mjs.map +1 -0
  361. package/dist/chunks/{NcAppNavigationCaption-B3w692fN.mjs → NcAppNavigationCaption-Dz7wVRDM.mjs} +2 -1
  362. package/dist/chunks/{NcAppNavigationCaption-B3w692fN.mjs.map → NcAppNavigationCaption-Dz7wVRDM.mjs.map} +1 -1
  363. package/dist/chunks/{NcAppNavigationCaption-BDqTyLIj.cjs → NcAppNavigationCaption-Kjwx7t2O.cjs} +2 -1
  364. package/dist/chunks/{NcAppNavigationCaption-BDqTyLIj.cjs.map → NcAppNavigationCaption-Kjwx7t2O.cjs.map} +1 -1
  365. package/dist/chunks/{NcAppNavigationItem-DL9OwWo-.cjs → NcAppNavigationItem-CHa42b-x.cjs} +9 -8
  366. package/dist/chunks/NcAppNavigationItem-CHa42b-x.cjs.map +1 -0
  367. package/dist/chunks/{NcAppNavigationItem-CpcFOmJR.mjs → NcAppNavigationItem-Dpm3T1dA.mjs} +9 -8
  368. package/dist/chunks/NcAppNavigationItem-Dpm3T1dA.mjs.map +1 -0
  369. package/dist/chunks/{NcAppNavigationNewItem-BaKxxZqt.cjs → NcAppNavigationNewItem-BLek0JRU.cjs} +3 -2
  370. package/dist/chunks/{NcAppNavigationNewItem-BaKxxZqt.cjs.map → NcAppNavigationNewItem-BLek0JRU.cjs.map} +1 -1
  371. package/dist/chunks/{NcAppNavigationNewItem-BvQaVuL6.mjs → NcAppNavigationNewItem-DGjgp78o.mjs} +3 -2
  372. package/dist/chunks/{NcAppNavigationNewItem-BvQaVuL6.mjs.map → NcAppNavigationNewItem-DGjgp78o.mjs.map} +1 -1
  373. package/dist/chunks/{NcAppNavigationSearch-Q0eMy5I2.cjs → NcAppNavigationSearch-BblolNaS.cjs} +6 -5
  374. package/dist/chunks/NcAppNavigationSearch-BblolNaS.cjs.map +1 -0
  375. package/dist/chunks/{NcAppNavigationSearch-gytpBKme.mjs → NcAppNavigationSearch-DTW6CtnU.mjs} +6 -5
  376. package/dist/chunks/NcAppNavigationSearch-DTW6CtnU.mjs.map +1 -0
  377. package/dist/chunks/{NcAppNavigationSettings-CZFm1d-N.mjs → NcAppNavigationSettings-C0QuEMmn.mjs} +3 -2
  378. package/dist/chunks/{NcAppNavigationSettings-CZFm1d-N.mjs.map → NcAppNavigationSettings-C0QuEMmn.mjs.map} +1 -1
  379. package/dist/chunks/{NcAppNavigationSettings-CwwmvKYV.cjs → NcAppNavigationSettings-lfJvt3vG.cjs} +3 -2
  380. package/dist/chunks/{NcAppNavigationSettings-CwwmvKYV.cjs.map → NcAppNavigationSettings-lfJvt3vG.cjs.map} +1 -1
  381. package/dist/chunks/{NcAppNavigationToggle-Br1hcFGt.cjs → NcAppNavigationToggle-CUGOWggc.cjs} +5 -4
  382. package/dist/chunks/NcAppNavigationToggle-CUGOWggc.cjs.map +1 -0
  383. package/dist/chunks/{NcAppNavigationToggle-Pr8bEpDs.mjs → NcAppNavigationToggle-CjPJB2s3.mjs} +5 -4
  384. package/dist/chunks/NcAppNavigationToggle-CjPJB2s3.mjs.map +1 -0
  385. package/dist/chunks/{NcAppSettingsDialog-JPB-srka.mjs → NcAppSettingsDialog-Dl-kMSpe.mjs} +4 -3
  386. package/dist/chunks/{NcAppSettingsDialog-JPB-srka.mjs.map → NcAppSettingsDialog-Dl-kMSpe.mjs.map} +1 -1
  387. package/dist/chunks/{NcAppSettingsDialog-z9v6V6ye.cjs → NcAppSettingsDialog-K3yVenLs.cjs} +4 -3
  388. package/dist/chunks/{NcAppSettingsDialog-z9v6V6ye.cjs.map → NcAppSettingsDialog-K3yVenLs.cjs.map} +1 -1
  389. package/dist/chunks/{NcAppSidebar-BY33yoNX.cjs → NcAppSidebar-Bmlid_Pa.cjs} +13 -12
  390. package/dist/chunks/NcAppSidebar-Bmlid_Pa.cjs.map +1 -0
  391. package/dist/chunks/{NcAppSidebar-cEQy8s50.mjs → NcAppSidebar-DOJNq1iG.mjs} +17 -16
  392. package/dist/chunks/NcAppSidebar-DOJNq1iG.mjs.map +1 -0
  393. package/dist/chunks/{NcAvatar-CQtsmbBW.cjs → NcAvatar-Bp1wPu2I.cjs} +45 -23
  394. package/dist/chunks/NcAvatar-Bp1wPu2I.cjs.map +1 -0
  395. package/dist/chunks/{NcAvatar-BjwyJw34.mjs → NcAvatar-DOvpF1gr.mjs} +46 -24
  396. package/dist/chunks/NcAvatar-DOvpF1gr.mjs.map +1 -0
  397. package/dist/chunks/NcBlurHash-CJ8retHx.cjs +115 -0
  398. package/dist/chunks/NcBlurHash-CJ8retHx.cjs.map +1 -0
  399. package/dist/chunks/NcBlurHash-do2wxY-0.mjs +116 -0
  400. package/dist/chunks/NcBlurHash-do2wxY-0.mjs.map +1 -0
  401. package/dist/chunks/{NcBreadcrumb-GHiD-Sw7.mjs → NcBreadcrumb-1Gv4FRrG.mjs} +6 -5
  402. package/dist/chunks/NcBreadcrumb-1Gv4FRrG.mjs.map +1 -0
  403. package/dist/chunks/{NcBreadcrumb-DrlhnNbV.cjs → NcBreadcrumb-9pV_jqex.cjs} +6 -5
  404. package/dist/chunks/NcBreadcrumb-9pV_jqex.cjs.map +1 -0
  405. package/dist/chunks/{NcBreadcrumbs-D0Hhym9A.mjs → NcBreadcrumbs-CwuR-hUE.mjs} +5 -4
  406. package/dist/chunks/{NcBreadcrumbs-D0Hhym9A.mjs.map → NcBreadcrumbs-CwuR-hUE.mjs.map} +1 -1
  407. package/dist/chunks/{NcBreadcrumbs-Cde4tv8l.cjs → NcBreadcrumbs-D4RrS0HT.cjs} +4 -3
  408. package/dist/chunks/{NcBreadcrumbs-Cde4tv8l.cjs.map → NcBreadcrumbs-D4RrS0HT.cjs.map} +1 -1
  409. package/dist/chunks/{NcCheckboxRadioSwitch-RjEq0SqY.cjs → NcCheckboxRadioSwitch-DbK49DI7.cjs} +7 -13
  410. package/dist/chunks/NcCheckboxRadioSwitch-DbK49DI7.cjs.map +1 -0
  411. package/dist/chunks/{NcCheckboxRadioSwitch-CCuKA55c.mjs → NcCheckboxRadioSwitch-Di9rSADK.mjs} +7 -13
  412. package/dist/chunks/NcCheckboxRadioSwitch-Di9rSADK.mjs.map +1 -0
  413. package/dist/chunks/{NcCollectionList-fyDi2W_B.cjs → NcCollectionList-C3QKgLIe.cjs} +6 -5
  414. package/dist/chunks/{NcCollectionList-fyDi2W_B.cjs.map → NcCollectionList-C3QKgLIe.cjs.map} +1 -1
  415. package/dist/chunks/{NcCollectionList-BNxu1MWE.mjs → NcCollectionList-D51FpJCr.mjs} +6 -5
  416. package/dist/chunks/{NcCollectionList-BNxu1MWE.mjs.map → NcCollectionList-D51FpJCr.mjs.map} +1 -1
  417. package/dist/chunks/{NcColorPicker-CTQlyVCL.cjs → NcColorPicker-9BNg5lJ0.cjs} +9 -8
  418. package/dist/chunks/NcColorPicker-9BNg5lJ0.cjs.map +1 -0
  419. package/dist/chunks/{NcColorPicker-ph8Nubq7.mjs → NcColorPicker-sJKL33GV.mjs} +9 -8
  420. package/dist/chunks/NcColorPicker-sJKL33GV.mjs.map +1 -0
  421. package/dist/chunks/{NcContent-CJNhr5lF.cjs → NcContent-4X_oNYtW.cjs} +7 -6
  422. package/dist/chunks/{NcContent-CJNhr5lF.cjs.map → NcContent-4X_oNYtW.cjs.map} +1 -1
  423. package/dist/chunks/{NcContent-RlppaZCX.mjs → NcContent-BHl5YDYI.mjs} +7 -6
  424. package/dist/chunks/{NcContent-RlppaZCX.mjs.map → NcContent-BHl5YDYI.mjs.map} +1 -1
  425. package/dist/chunks/NcCounterBubble-BRrUO34D.cjs +1 -0
  426. package/dist/chunks/NcCounterBubble-CDfRYl8B.mjs +1 -0
  427. package/dist/chunks/{NcDashboardWidget-CirRHHmT.cjs → NcDashboardWidget-B1och7uR.cjs} +4 -3
  428. package/dist/chunks/{NcDashboardWidget-CirRHHmT.cjs.map → NcDashboardWidget-B1och7uR.cjs.map} +1 -1
  429. package/dist/chunks/{NcDashboardWidget-Dg12xu50.mjs → NcDashboardWidget-CioEwUfN.mjs} +4 -3
  430. package/dist/chunks/{NcDashboardWidget-Dg12xu50.mjs.map → NcDashboardWidget-CioEwUfN.mjs.map} +1 -1
  431. package/dist/chunks/{NcDashboardWidgetItem-COONyn0g.cjs → NcDashboardWidgetItem-BZPoOCWQ.cjs} +4 -3
  432. package/dist/chunks/{NcDashboardWidgetItem-COONyn0g.cjs.map → NcDashboardWidgetItem-BZPoOCWQ.cjs.map} +1 -1
  433. package/dist/chunks/{NcDashboardWidgetItem-DZGooEwA.mjs → NcDashboardWidgetItem-D4EefvnL.mjs} +4 -3
  434. package/dist/chunks/{NcDashboardWidgetItem-DZGooEwA.mjs.map → NcDashboardWidgetItem-D4EefvnL.mjs.map} +1 -1
  435. package/dist/chunks/{NcDateTime-DBZ-vBfi.mjs → NcDateTime-BR6BBvML.mjs} +2 -1
  436. package/dist/chunks/{NcDateTime-DBZ-vBfi.mjs.map → NcDateTime-BR6BBvML.mjs.map} +1 -1
  437. package/dist/chunks/{NcDateTime-AFZif5Dn.cjs → NcDateTime-C-kLQayi.cjs} +2 -1
  438. package/dist/chunks/{NcDateTime-AFZif5Dn.cjs.map → NcDateTime-C-kLQayi.cjs.map} +1 -1
  439. package/dist/chunks/{NcDialog-mcbLFc8o.cjs → NcDialog-BjLJB7fW.cjs} +28 -11
  440. package/dist/chunks/NcDialog-BjLJB7fW.cjs.map +1 -0
  441. package/dist/chunks/{NcDialog-I_9fyJVt.mjs → NcDialog-D2lwwZL-.mjs} +28 -11
  442. package/dist/chunks/NcDialog-D2lwwZL-.mjs.map +1 -0
  443. package/dist/chunks/{NcDialogButton-DuJ3lE7e.mjs → NcDialogButton-BB56HcBl.mjs} +29 -10
  444. package/dist/chunks/NcDialogButton-BB56HcBl.mjs.map +1 -0
  445. package/dist/chunks/{NcDialogButton-FLqQdVLb.cjs → NcDialogButton-ByvLH63s.cjs} +29 -10
  446. package/dist/chunks/NcDialogButton-ByvLH63s.cjs.map +1 -0
  447. package/dist/chunks/{NcEmojiPicker-DDCgW2zQ.mjs → NcEmojiPicker-B49sJeMw.mjs} +20 -12
  448. package/dist/chunks/NcEmojiPicker-B49sJeMw.mjs.map +1 -0
  449. package/dist/chunks/{NcEmojiPicker-B1ot5iNB.cjs → NcEmojiPicker-DcTSImTm.cjs} +18 -10
  450. package/dist/chunks/NcEmojiPicker-DcTSImTm.cjs.map +1 -0
  451. package/dist/chunks/{NcHeaderMenu-BaHhnhN0.cjs → NcHeaderMenu-B287C-Vk.cjs} +6 -5
  452. package/dist/chunks/NcHeaderMenu-B287C-Vk.cjs.map +1 -0
  453. package/dist/chunks/{NcHeaderMenu-CLcpStap.mjs → NcHeaderMenu-Bc1ucNsv.mjs} +6 -5
  454. package/dist/chunks/NcHeaderMenu-Bc1ucNsv.mjs.map +1 -0
  455. package/dist/chunks/{NcIconSvgWrapper-B_eOG2sZ.cjs → NcIconSvgWrapper-BlucK1g3.cjs} +27 -15
  456. package/dist/chunks/NcIconSvgWrapper-BlucK1g3.cjs.map +1 -0
  457. package/dist/chunks/{NcIconSvgWrapper-CHmdAuhg.mjs → NcIconSvgWrapper-RKuZn260.mjs} +28 -16
  458. package/dist/chunks/NcIconSvgWrapper-RKuZn260.mjs.map +1 -0
  459. package/dist/chunks/{NcInputConfirmCancel-C7a7Nha7.mjs → NcInputConfirmCancel-CacBXLGS.mjs} +7 -6
  460. package/dist/chunks/NcInputConfirmCancel-CacBXLGS.mjs.map +1 -0
  461. package/dist/chunks/{NcInputConfirmCancel-XzKuYi6L.cjs → NcInputConfirmCancel-lVLFwBA4.cjs} +7 -6
  462. package/dist/chunks/NcInputConfirmCancel-lVLFwBA4.cjs.map +1 -0
  463. package/dist/chunks/{NcInputField-DkhKrb8k.cjs → NcInputField-C61UUN46.cjs} +4 -3
  464. package/dist/chunks/NcInputField-C61UUN46.cjs.map +1 -0
  465. package/dist/chunks/{NcInputField-CU5a68Pc.mjs → NcInputField-DTtUueUZ.mjs} +4 -3
  466. package/dist/chunks/NcInputField-DTtUueUZ.mjs.map +1 -0
  467. package/dist/chunks/{NcListItem-3e1MminS.mjs → NcListItem-BBTd7BLc.mjs} +4 -3
  468. package/dist/chunks/NcListItem-BBTd7BLc.mjs.map +1 -0
  469. package/dist/chunks/{NcListItem-9w7m2lJ_.cjs → NcListItem-D_mvsnph.cjs} +4 -3
  470. package/dist/chunks/NcListItem-D_mvsnph.cjs.map +1 -0
  471. package/dist/chunks/{NcListItemIcon-7x7iDHYw.mjs → NcListItemIcon-B16M-aHV.mjs} +3 -2
  472. package/dist/chunks/{NcListItemIcon-7x7iDHYw.mjs.map → NcListItemIcon-B16M-aHV.mjs.map} +1 -1
  473. package/dist/chunks/{NcListItemIcon-pOj8Vr2H.cjs → NcListItemIcon-COUzDQI5.cjs} +3 -2
  474. package/dist/chunks/{NcListItemIcon-pOj8Vr2H.cjs.map → NcListItemIcon-COUzDQI5.cjs.map} +1 -1
  475. package/dist/chunks/{NcPasswordField-BS6bkHtv.cjs → NcPasswordField-BCzIotoB.cjs} +3 -2
  476. package/dist/chunks/{NcPasswordField-BS6bkHtv.cjs.map → NcPasswordField-BCzIotoB.cjs.map} +1 -1
  477. package/dist/chunks/{NcPasswordField-Dpu9nI6h.mjs → NcPasswordField-CTKHRVC4.mjs} +3 -2
  478. package/dist/chunks/{NcPasswordField-Dpu9nI6h.mjs.map → NcPasswordField-CTKHRVC4.mjs.map} +1 -1
  479. package/dist/chunks/{NcPopover-BKlH1mbx.cjs → NcPopover-BxLo6SFb.cjs} +12 -5
  480. package/dist/chunks/NcPopover-BxLo6SFb.cjs.map +1 -0
  481. package/dist/chunks/{NcPopover-DFCPlZpS.mjs → NcPopover-w98cBbbF.mjs} +12 -5
  482. package/dist/chunks/NcPopover-w98cBbbF.mjs.map +1 -0
  483. package/dist/chunks/NcProgressBar-DegJ2JjE.mjs +1 -0
  484. package/dist/chunks/NcProgressBar-Do5Y3u8S.cjs +1 -0
  485. package/dist/chunks/{NcRelatedResourcesPanel-BrkyIR3v.cjs → NcRelatedResourcesPanel-B-y_Wan4.cjs} +10 -9
  486. package/dist/chunks/NcRelatedResourcesPanel-B-y_Wan4.cjs.map +1 -0
  487. package/dist/chunks/{NcRelatedResourcesPanel-C6JIVMvN.mjs → NcRelatedResourcesPanel-CmiW_ds0.mjs} +10 -9
  488. package/dist/chunks/NcRelatedResourcesPanel-CmiW_ds0.mjs.map +1 -0
  489. package/dist/chunks/{NcRichContenteditable-DJy0zZXx.cjs → NcRichContenteditable-ClHXIiXL.cjs} +12 -20
  490. package/dist/chunks/NcRichContenteditable-ClHXIiXL.cjs.map +1 -0
  491. package/dist/chunks/{NcRichContenteditable-3kkU0Uxu.mjs → NcRichContenteditable-zZQChT9M.mjs} +14 -22
  492. package/dist/chunks/NcRichContenteditable-zZQChT9M.mjs.map +1 -0
  493. package/dist/chunks/NcRichText-C43cKGcR.mjs +3679 -0
  494. package/dist/chunks/NcRichText-C43cKGcR.mjs.map +1 -0
  495. package/dist/chunks/NcRichText-CMbtZkLP.cjs +3707 -0
  496. package/dist/chunks/NcRichText-CMbtZkLP.cjs.map +1 -0
  497. package/dist/chunks/NcSavingIndicatorIcon-Bu-zt4pR.cjs +1 -0
  498. package/dist/chunks/NcSavingIndicatorIcon-nv1147dk.mjs +1 -0
  499. package/dist/chunks/{NcSelect-YHwbPAJD.cjs → NcSelect-C9cGa-5v.cjs} +25 -7
  500. package/dist/chunks/NcSelect-C9cGa-5v.cjs.map +1 -0
  501. package/dist/chunks/{NcSelect-BQ-NFBXI.mjs → NcSelect-XLdUgokz.mjs} +25 -7
  502. package/dist/chunks/NcSelect-XLdUgokz.mjs.map +1 -0
  503. package/dist/chunks/{NcSelectTags-BAMsfdw9.cjs → NcSelectTags-B0rsXdxP.cjs} +3 -2
  504. package/dist/chunks/{NcSelectTags-BAMsfdw9.cjs.map → NcSelectTags-B0rsXdxP.cjs.map} +1 -1
  505. package/dist/chunks/{NcSelectTags-BKtOWgrz.mjs → NcSelectTags-DT2Y3Kms.mjs} +3 -2
  506. package/dist/chunks/{NcSelectTags-BKtOWgrz.mjs.map → NcSelectTags-DT2Y3Kms.mjs.map} +1 -1
  507. package/dist/chunks/NcSelectUsers-C-bbm2cW.cjs +187 -0
  508. package/dist/chunks/NcSelectUsers-C-bbm2cW.cjs.map +1 -0
  509. package/dist/chunks/NcSelectUsers-DFlj_h9t.mjs +188 -0
  510. package/dist/chunks/NcSelectUsers-DFlj_h9t.mjs.map +1 -0
  511. package/dist/chunks/{NcSettingsInputText-nb2XMaJW.cjs → NcSettingsInputText-BU1_SHOq.cjs} +3 -2
  512. package/dist/chunks/{NcSettingsInputText-nb2XMaJW.cjs.map → NcSettingsInputText-BU1_SHOq.cjs.map} +1 -1
  513. package/dist/chunks/{NcSettingsInputText-DC7H_6Uz.mjs → NcSettingsInputText-t1FMnLKA.mjs} +3 -2
  514. package/dist/chunks/{NcSettingsInputText-DC7H_6Uz.mjs.map → NcSettingsInputText-t1FMnLKA.mjs.map} +1 -1
  515. package/dist/chunks/{NcSettingsSection-6Sc6GBsM.cjs → NcSettingsSection-Dcdxs1IN.cjs} +2 -1
  516. package/dist/chunks/{NcSettingsSection-6Sc6GBsM.cjs.map → NcSettingsSection-Dcdxs1IN.cjs.map} +1 -1
  517. package/dist/chunks/{NcSettingsSection-BYKUjim0.mjs → NcSettingsSection-EC3SmiDX.mjs} +2 -1
  518. package/dist/chunks/{NcSettingsSection-BYKUjim0.mjs.map → NcSettingsSection-EC3SmiDX.mjs.map} +1 -1
  519. package/dist/chunks/{NcSettingsSelectGroup-CI2LoVeL.mjs → NcSettingsSelectGroup-B4isXyUU.mjs} +4 -3
  520. package/dist/chunks/{NcSettingsSelectGroup-CI2LoVeL.mjs.map → NcSettingsSelectGroup-B4isXyUU.mjs.map} +1 -1
  521. package/dist/chunks/{NcSettingsSelectGroup-DX4AaRte.cjs → NcSettingsSelectGroup-CE71MIQo.cjs} +4 -3
  522. package/dist/chunks/{NcSettingsSelectGroup-DX4AaRte.cjs.map → NcSettingsSelectGroup-CE71MIQo.cjs.map} +1 -1
  523. package/dist/chunks/NcTextArea-BHERsE_g.mjs +1 -0
  524. package/dist/chunks/NcTextArea-CYLGAGcO.cjs +1 -0
  525. package/dist/chunks/NcTextArea-CYLGAGcO.cjs.map +1 -1
  526. package/dist/chunks/{NcTextField-9gC8or6j.mjs → NcTextField-DRANdaIf.mjs} +4 -3
  527. package/dist/chunks/{NcTextField-9gC8or6j.mjs.map → NcTextField-DRANdaIf.mjs.map} +1 -1
  528. package/dist/chunks/{NcTextField-Pbox9mQE.cjs → NcTextField-Uk5iD8o2.cjs} +4 -3
  529. package/dist/chunks/{NcTextField-Pbox9mQE.cjs.map → NcTextField-Uk5iD8o2.cjs.map} +1 -1
  530. package/dist/chunks/{NcTimezonePicker-DIwsRdu2.cjs → NcTimezonePicker-BTyhPxMT.cjs} +4 -3
  531. package/dist/chunks/{NcTimezonePicker-DIwsRdu2.cjs.map → NcTimezonePicker-BTyhPxMT.cjs.map} +1 -1
  532. package/dist/chunks/{NcTimezonePicker-xSXSuNHX.mjs → NcTimezonePicker-sAG8kn1b.mjs} +4 -3
  533. package/dist/chunks/{NcTimezonePicker-xSXSuNHX.mjs.map → NcTimezonePicker-sAG8kn1b.mjs.map} +1 -1
  534. package/dist/chunks/{NcUserBubble-BFvEaXLr.mjs → NcUserBubble-DmZZOMRr.mjs} +3 -2
  535. package/dist/chunks/{NcUserBubble-BFvEaXLr.mjs.map → NcUserBubble-DmZZOMRr.mjs.map} +1 -1
  536. package/dist/chunks/{NcUserBubble-rphdAcHS.cjs → NcUserBubble-cX4wyq1_.cjs} +3 -2
  537. package/dist/chunks/{NcUserBubble-rphdAcHS.cjs.map → NcUserBubble-cX4wyq1_.cjs.map} +1 -1
  538. package/dist/chunks/{NcUserStatusIcon-S5bBgRl6.mjs → NcUserStatusIcon-WEKmuaoU.mjs} +4 -2
  539. package/dist/chunks/{NcUserStatusIcon-S5bBgRl6.mjs.map → NcUserStatusIcon-WEKmuaoU.mjs.map} +1 -1
  540. package/dist/chunks/{NcUserStatusIcon-CFLiHFkC.cjs → NcUserStatusIcon-cs42Lzdd.cjs} +4 -2
  541. package/dist/chunks/{NcUserStatusIcon-CFLiHFkC.cjs.map → NcUserStatusIcon-cs42Lzdd.cjs.map} +1 -1
  542. package/dist/chunks/{ScopeComponent-CEMLuQd5.mjs → ScopeComponent-BaHwjQGQ.mjs} +2 -1
  543. package/dist/chunks/{ScopeComponent-CEMLuQd5.mjs.map → ScopeComponent-BaHwjQGQ.mjs.map} +1 -1
  544. package/dist/chunks/{ScopeComponent-B5vclUCV.cjs → ScopeComponent-CqVh6vwk.cjs} +2 -1
  545. package/dist/chunks/{ScopeComponent-B5vclUCV.cjs.map → ScopeComponent-CqVh6vwk.cjs.map} +1 -1
  546. package/dist/chunks/_l10n-BiiXtYiP.cjs +143 -0
  547. package/dist/chunks/{_l10n-CjO_W5Dt.cjs.map → _l10n-BiiXtYiP.cjs.map} +1 -1
  548. package/dist/chunks/_l10n-Dt0m9Fxw.mjs +144 -0
  549. package/dist/chunks/_l10n-Dt0m9Fxw.mjs.map +1 -0
  550. package/dist/chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs +1 -0
  551. package/dist/chunks/_plugin-vue2_normalizer-V0q-tHlQ.cjs +1 -0
  552. package/dist/chunks/actionGlobal-DqVa7c7G.mjs +1 -0
  553. package/dist/chunks/actionGlobal-DqVa7c7G.mjs.map +1 -1
  554. package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs +1 -0
  555. package/dist/chunks/actionGlobal-L0Ls8tPJ.cjs.map +1 -1
  556. package/dist/chunks/actionText-BcrK4uH1.cjs +1 -0
  557. package/dist/chunks/actionText-BcrK4uH1.cjs.map +1 -1
  558. package/dist/chunks/actionText-fFcUPi2g.mjs +1 -0
  559. package/dist/chunks/actionText-fFcUPi2g.mjs.map +1 -1
  560. package/dist/chunks/autolink-BAgL31EZ.cjs +1 -0
  561. package/dist/chunks/autolink-BAgL31EZ.cjs.map +1 -1
  562. package/dist/chunks/autolink-cbuFALXr.mjs +1 -0
  563. package/dist/chunks/autolink-cbuFALXr.mjs.map +1 -1
  564. package/dist/chunks/emoji-BY_D0V5K.mjs +1 -0
  565. package/dist/chunks/emoji-BY_D0V5K.mjs.map +1 -1
  566. package/dist/chunks/emoji-VgSjNTd5.cjs +1 -0
  567. package/dist/chunks/emoji-VgSjNTd5.cjs.map +1 -1
  568. package/dist/chunks/focusTrap-DmkaYJTC.mjs +32 -0
  569. package/dist/chunks/focusTrap-DmkaYJTC.mjs.map +1 -0
  570. package/dist/chunks/focusTrap-Vbgxe8ZX.cjs +31 -0
  571. package/dist/chunks/focusTrap-Vbgxe8ZX.cjs.map +1 -0
  572. package/dist/chunks/getAvatarUrl-6z9qRNH-.cjs +1 -0
  573. package/dist/chunks/getAvatarUrl-DxvUjKMi.mjs +1 -0
  574. package/dist/chunks/{index-CtoB4eIp.mjs → index-56SXuvlv.mjs} +3 -2
  575. package/dist/chunks/{index-CtoB4eIp.mjs.map → index-56SXuvlv.mjs.map} +1 -1
  576. package/dist/chunks/index-BV85rPB7.cjs +1 -0
  577. package/dist/chunks/index-BV85rPB7.cjs.map +1 -1
  578. package/dist/chunks/index-BiECbTbJ.cjs +1 -0
  579. package/dist/chunks/index-BiECbTbJ.cjs.map +1 -1
  580. package/dist/chunks/index-Bz6q9mZw.mjs +1 -0
  581. package/dist/chunks/index-Bz6q9mZw.mjs.map +1 -1
  582. package/dist/chunks/index-DIJxEozm.cjs +1 -0
  583. package/dist/chunks/index-DIJxEozm.cjs.map +1 -1
  584. package/dist/chunks/index-G8WQDZ8G.mjs +1 -0
  585. package/dist/chunks/index-G8WQDZ8G.mjs.map +1 -1
  586. package/dist/chunks/logger-3HuiEIF6.cjs +1 -0
  587. package/dist/chunks/logger-D3RVzcfQ.mjs +1 -0
  588. package/dist/chunks/mdi-CZJxQPz6.mjs +9 -0
  589. package/dist/chunks/mdi-CZJxQPz6.mjs.map +1 -0
  590. package/dist/chunks/mdi-Da9VuUVq.cjs +8 -0
  591. package/dist/chunks/mdi-Da9VuUVq.cjs.map +1 -0
  592. package/dist/chunks/{referencePickerModal-BkBu4cnq.cjs → referencePickerModal-BdK-_zC6.cjs} +9 -8
  593. package/dist/chunks/{referencePickerModal-BkBu4cnq.cjs.map → referencePickerModal-BdK-_zC6.cjs.map} +1 -1
  594. package/dist/chunks/{referencePickerModal-CGG57Dy_.mjs → referencePickerModal-Bxp4FMcs.mjs} +10 -9
  595. package/dist/chunks/{referencePickerModal-CGG57Dy_.mjs.map → referencePickerModal-Bxp4FMcs.mjs.map} +1 -1
  596. package/dist/chunks/rtl-DLuwcTlm.cjs +5 -0
  597. package/dist/chunks/rtl-DLuwcTlm.cjs.map +1 -0
  598. package/dist/chunks/rtl-v0UOPAM7.mjs +6 -0
  599. package/dist/chunks/rtl-v0UOPAM7.mjs.map +1 -0
  600. package/dist/chunks/useModelMigration-D5zhrNXr.cjs +1 -0
  601. package/dist/chunks/useModelMigration-D5zhrNXr.cjs.map +1 -1
  602. package/dist/chunks/useModelMigration-EhAWvqDD.mjs +1 -0
  603. package/dist/chunks/useModelMigration-EhAWvqDD.mjs.map +1 -1
  604. package/dist/chunks/useTrapStackControl-BJmJdJak.cjs +22 -0
  605. package/dist/chunks/useTrapStackControl-BJmJdJak.cjs.map +1 -0
  606. package/dist/chunks/useTrapStackControl-b3A_383w.mjs +23 -0
  607. package/dist/chunks/useTrapStackControl-b3A_383w.mjs.map +1 -0
  608. package/dist/chunks/{usernameToColor-BCZuxlEH.mjs → usernameToColor-DJfepfog.mjs} +2 -1
  609. package/dist/chunks/{usernameToColor-BCZuxlEH.mjs.map → usernameToColor-DJfepfog.mjs.map} +1 -1
  610. package/dist/chunks/{usernameToColor-cVFS7tET.cjs → usernameToColor-mqInDrGv.cjs} +2 -1
  611. package/dist/chunks/{usernameToColor-cVFS7tET.cjs.map → usernameToColor-mqInDrGv.cjs.map} +1 -1
  612. package/dist/composables/useTrapStackControl.d.ts +12 -0
  613. package/dist/functions/index.d.ts +3 -2
  614. package/dist/functions/preloadImage/index.d.ts +9 -0
  615. package/dist/functions/reference/widgets.d.ts +1 -1
  616. package/dist/index.cjs +62 -53
  617. package/dist/index.cjs.map +1 -1
  618. package/dist/index.mjs +63 -54
  619. package/dist/index.mjs.map +1 -1
  620. package/dist/utils/focusTrap.d.ts +26 -0
  621. package/dist/utils/rtl.d.ts +5 -0
  622. package/dist/vendor.LICENSE.txt +128 -0
  623. package/package.json +23 -15
  624. package/dist/chunks/ChevronLeft-BK4j9oVH.mjs +0 -37
  625. package/dist/chunks/ChevronLeft-BK4j9oVH.mjs.map +0 -1
  626. package/dist/chunks/ChevronLeft-CAiEPWc5.cjs +0 -36
  627. package/dist/chunks/ChevronLeft-CAiEPWc5.cjs.map +0 -1
  628. package/dist/chunks/NcActionButton-CEysTg4c.mjs.map +0 -1
  629. package/dist/chunks/NcActionButton-DcpUnqA7.cjs.map +0 -1
  630. package/dist/chunks/NcActionTextEditable-C-ZP8_Tn.cjs.map +0 -1
  631. package/dist/chunks/NcActionTextEditable-JRD-G0CT.mjs.map +0 -1
  632. package/dist/chunks/NcActions-D3hGxwlc.mjs.map +0 -1
  633. package/dist/chunks/NcActions-DTICeoTz.cjs.map +0 -1
  634. package/dist/chunks/NcAppContent-BKQ-H04y.mjs.map +0 -1
  635. package/dist/chunks/NcAppContent-BOt6_YA7.cjs.map +0 -1
  636. package/dist/chunks/NcAppNavigation-B_92V8o3.mjs.map +0 -1
  637. package/dist/chunks/NcAppNavigation-D7W-4cVo.cjs.map +0 -1
  638. package/dist/chunks/NcAppNavigationItem-CpcFOmJR.mjs.map +0 -1
  639. package/dist/chunks/NcAppNavigationItem-DL9OwWo-.cjs.map +0 -1
  640. package/dist/chunks/NcAppNavigationSearch-Q0eMy5I2.cjs.map +0 -1
  641. package/dist/chunks/NcAppNavigationSearch-gytpBKme.mjs.map +0 -1
  642. package/dist/chunks/NcAppNavigationToggle-Br1hcFGt.cjs.map +0 -1
  643. package/dist/chunks/NcAppNavigationToggle-Pr8bEpDs.mjs.map +0 -1
  644. package/dist/chunks/NcAppSidebar-BY33yoNX.cjs.map +0 -1
  645. package/dist/chunks/NcAppSidebar-cEQy8s50.mjs.map +0 -1
  646. package/dist/chunks/NcAvatar-BjwyJw34.mjs.map +0 -1
  647. package/dist/chunks/NcAvatar-CQtsmbBW.cjs.map +0 -1
  648. package/dist/chunks/NcBreadcrumb-DrlhnNbV.cjs.map +0 -1
  649. package/dist/chunks/NcBreadcrumb-GHiD-Sw7.mjs.map +0 -1
  650. package/dist/chunks/NcCheckboxRadioSwitch-CCuKA55c.mjs.map +0 -1
  651. package/dist/chunks/NcCheckboxRadioSwitch-RjEq0SqY.cjs.map +0 -1
  652. package/dist/chunks/NcColorPicker-CTQlyVCL.cjs.map +0 -1
  653. package/dist/chunks/NcColorPicker-ph8Nubq7.mjs.map +0 -1
  654. package/dist/chunks/NcDialog-I_9fyJVt.mjs.map +0 -1
  655. package/dist/chunks/NcDialog-mcbLFc8o.cjs.map +0 -1
  656. package/dist/chunks/NcDialogButton-DuJ3lE7e.mjs.map +0 -1
  657. package/dist/chunks/NcDialogButton-FLqQdVLb.cjs.map +0 -1
  658. package/dist/chunks/NcEmojiPicker-B1ot5iNB.cjs.map +0 -1
  659. package/dist/chunks/NcEmojiPicker-DDCgW2zQ.mjs.map +0 -1
  660. package/dist/chunks/NcHeaderMenu-BaHhnhN0.cjs.map +0 -1
  661. package/dist/chunks/NcHeaderMenu-CLcpStap.mjs.map +0 -1
  662. package/dist/chunks/NcIconSvgWrapper-B_eOG2sZ.cjs.map +0 -1
  663. package/dist/chunks/NcIconSvgWrapper-CHmdAuhg.mjs.map +0 -1
  664. package/dist/chunks/NcInputConfirmCancel-C7a7Nha7.mjs.map +0 -1
  665. package/dist/chunks/NcInputConfirmCancel-XzKuYi6L.cjs.map +0 -1
  666. package/dist/chunks/NcInputField-CU5a68Pc.mjs.map +0 -1
  667. package/dist/chunks/NcInputField-DkhKrb8k.cjs.map +0 -1
  668. package/dist/chunks/NcListItem-3e1MminS.mjs.map +0 -1
  669. package/dist/chunks/NcListItem-9w7m2lJ_.cjs.map +0 -1
  670. package/dist/chunks/NcPopover-BKlH1mbx.cjs.map +0 -1
  671. package/dist/chunks/NcPopover-DFCPlZpS.mjs.map +0 -1
  672. package/dist/chunks/NcRelatedResourcesPanel-BrkyIR3v.cjs.map +0 -1
  673. package/dist/chunks/NcRelatedResourcesPanel-C6JIVMvN.mjs.map +0 -1
  674. package/dist/chunks/NcRichContenteditable-3kkU0Uxu.mjs.map +0 -1
  675. package/dist/chunks/NcRichContenteditable-DJy0zZXx.cjs.map +0 -1
  676. package/dist/chunks/NcRichText-C8SjsRK8.mjs +0 -420
  677. package/dist/chunks/NcRichText-C8SjsRK8.mjs.map +0 -1
  678. package/dist/chunks/NcRichText-Ci72ylJ9.cjs +0 -449
  679. package/dist/chunks/NcRichText-Ci72ylJ9.cjs.map +0 -1
  680. package/dist/chunks/NcSelect-BQ-NFBXI.mjs.map +0 -1
  681. package/dist/chunks/NcSelect-YHwbPAJD.cjs.map +0 -1
  682. package/dist/chunks/_l10n-CjO_W5Dt.cjs +0 -138
  683. package/dist/chunks/_l10n-DDKxBWQL.mjs +0 -139
  684. package/dist/chunks/_l10n-DDKxBWQL.mjs.map +0 -1
  685. package/dist/chunks/focusTrap-Cecv_gjR.mjs +0 -7
  686. package/dist/chunks/focusTrap-Cecv_gjR.mjs.map +0 -1
  687. package/dist/chunks/focusTrap-EeXFmjdI.cjs +0 -6
  688. package/dist/chunks/focusTrap-EeXFmjdI.cjs.map +0 -1
@@ -58,3 +58,4 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
58
58
  );
59
59
  const NcLoadingIcon = __component__.exports;
60
60
  module.exports = NcLoadingIcon;
61
+ //# sourceMappingURL=NcLoadingIcon.cjs.map
@@ -59,3 +59,4 @@ const NcLoadingIcon = __component__.exports;
59
59
  export {
60
60
  NcLoadingIcon as default
61
61
  };
62
+ //# sourceMappingURL=NcLoadingIcon.mjs.map
@@ -1,20 +1,18 @@
1
- require('../assets/NcModal-ZfCDJxwd.css');
1
+ require('../assets/NcModal-BS5vtogq.css');
2
2
  "use strict";
3
- const ScopeComponent = require("../chunks/ScopeComponent-B5vclUCV.cjs");
3
+ const ScopeComponent = require("../chunks/ScopeComponent-CqVh6vwk.cjs");
4
4
  const core = require("@vueuse/core");
5
+ const mdi = require("../chunks/mdi-Da9VuUVq.cjs");
5
6
  const focusTrap$1 = require("focus-trap");
6
7
  const Vue = require("vue");
7
- const focusTrap = require("../chunks/focusTrap-EeXFmjdI.cjs");
8
- const _l10n = require("../chunks/_l10n-CjO_W5Dt.cjs");
9
8
  const GenRandomId = require("../chunks/GenRandomId-BQDud3d4.cjs");
10
- const NcActions = require("../chunks/NcActions-DTICeoTz.cjs");
9
+ const focusTrap = require("../chunks/focusTrap-Vbgxe8ZX.cjs");
10
+ const _l10n = require("../chunks/_l10n-BiiXtYiP.cjs");
11
+ const NcActions = require("../chunks/NcActions-DFHXBqKC.cjs");
11
12
  const Components_NcButton = require("./NcButton.cjs");
12
- require("../Directives/Tooltip.cjs");
13
- const ChevronLeft = require("../chunks/ChevronLeft-CAiEPWc5.cjs");
14
- const ChevronRight = require("../chunks/ChevronRight-ZCKVg9OI.cjs");
13
+ const NcIconSvgWrapper = require("../chunks/NcIconSvgWrapper-BlucK1g3.cjs");
15
14
  const Close = require("../chunks/Close-CqmXxEKi.cjs");
16
15
  const _pluginVue2_normalizer = require("../chunks/_plugin-vue2_normalizer-V0q-tHlQ.cjs");
17
- const floatingVue = require("floating-vue");
18
16
  const _interopDefault = (e) => e && e.__esModule ? e : { default: e };
19
17
  const Vue__default = /* @__PURE__ */ _interopDefault(Vue);
20
18
  _l10n.register(_l10n.t17, _l10n.t33);
@@ -119,16 +117,12 @@ const Play = __component__$1.exports;
119
117
  const __default__ = {
120
118
  name: "NcModal",
121
119
  components: {
122
- NcActions: NcActions.NcActions,
123
- ChevronLeft: ChevronLeft.ChevronLeft,
124
- ChevronRight: ChevronRight.ChevronRight,
125
120
  Close: Close.Close,
126
121
  Pause,
127
122
  Play,
128
- NcButton: Components_NcButton
129
- },
130
- directives: {
131
- tooltip: floatingVue.VTooltip
123
+ NcActions: NcActions.NcActions,
124
+ NcButton: Components_NcButton,
125
+ NcIconSvgWrapper: NcIconSvgWrapper.NcIconSvgWrapper
132
126
  },
133
127
  props: {
134
128
  /**
@@ -213,7 +207,17 @@ const __default__ = {
213
207
  }
214
208
  },
215
209
  /**
216
- * Declare if the modal can be closed
210
+ * Do not show the close button for the dialog.
211
+ * @default false
212
+ */
213
+ noClose: {
214
+ type: Boolean,
215
+ default: false
216
+ },
217
+ /**
218
+ * Set to false to no show a close button on the dialog
219
+ * @deprecated - Use `noClose` instead. Will be removed in v9.
220
+ * @default true
217
221
  */
218
222
  canClose: {
219
223
  type: Boolean,
@@ -301,6 +305,12 @@ const __default__ = {
301
305
  "close",
302
306
  "update:show"
303
307
  ],
308
+ setup() {
309
+ return {
310
+ mdiChevronLeft: mdi.mdiChevronLeft,
311
+ mdiChevronRight: mdi.mdiChevronRight
312
+ };
313
+ },
304
314
  data() {
305
315
  return {
306
316
  mc: null,
@@ -323,7 +333,7 @@ const __default__ = {
323
333
  * True if there are any buttons shown on the backdrop or a name (for accessibility)
324
334
  */
325
335
  forceDarkBackdrop() {
326
- return this.canClose && !this.closeButtonContained || this.hasNext || this.hasPrevious || this.modalName !== "" || Boolean(this.$slots.actions);
336
+ return !this.noClose && this.canClose && !this.closeButtonContained || this.hasNext || this.hasPrevious || this.modalName !== "" || Boolean(this.$slots.actions);
327
337
  },
328
338
  /**
329
339
  * Trimmed modal name
@@ -426,7 +436,7 @@ const __default__ = {
426
436
  }
427
437
  },
428
438
  close(data) {
429
- if (this.canClose) {
439
+ if (!this.noClose && this.canClose) {
430
440
  this.internalShow = false;
431
441
  this.$emit("update:show", false);
432
442
  setTimeout(() => {
@@ -566,7 +576,7 @@ const __default__ = {
566
576
  };
567
577
  const __injectCSSVars__ = () => {
568
578
  Vue.useCssVars((_vm, _setup) => ({
569
- "8ad040f8": _vm.cssSlideshowDelay
579
+ "189d6f6a": _vm.cssSlideshowDelay
570
580
  }));
571
581
  };
572
582
  const __setup__ = __default__.setup;
@@ -580,7 +590,7 @@ var _sfc_render = function render3() {
580
590
  return _c("transition", { attrs: { "name": "fade", "appear": "" }, on: { "after-enter": _vm.useFocusTrap, "before-leave": _vm.clearFocusTrap } }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.showModal, expression: "showModal" }], ref: "mask", staticClass: "modal-mask", class: {
581
591
  "modal-mask--opaque": _vm.dark || _vm.forceDarkBackdrop,
582
592
  "modal-mask--light": _vm.lightBackdrop
583
- }, attrs: { "role": "dialog", "aria-modal": "true", "aria-labelledby": _vm.modalLabelId, "aria-describedby": "modal-description-" + _vm.randId, "tabindex": "-1" } }, [_c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("div", { staticClass: "modal-header", attrs: { "data-theme-light": _vm.lightBackdrop, "data-theme-dark": !_vm.lightBackdrop } }, [_vm.modalName ? _c("h2", { staticClass: "modal-header__name", attrs: { "id": "modal-name-" + _vm.randId } }, [_vm._v(" " + _vm._s(_vm.modalName) + " ")]) : _vm._e(), _c("div", { staticClass: "icons-menu" }, [_vm.hasNext && _vm.enableSlideshow ? _c("button", { directives: [{ name: "tooltip", rawName: "v-tooltip.auto", value: _vm.playPauseName, expression: "playPauseName", modifiers: { "auto": true } }], staticClass: "play-pause-icons", class: { "play-pause-icons--paused": _vm.slideshowPaused }, attrs: { "type": "button" }, on: { "click": _vm.togglePlayPause } }, [!_vm.playing ? _c("Play", { staticClass: "play-pause-icons__play", attrs: { "size": 20 } }) : _c("Pause", { staticClass: "play-pause-icons__pause", attrs: { "size": 20 } }), _c("span", { staticClass: "hidden-visually" }, [_vm._v(" " + _vm._s(_vm.playPauseName) + " ")]), _vm.playing ? _c("svg", { staticClass: "progress-ring", attrs: { "height": "50", "width": "50" } }, [_c("circle", { staticClass: "progress-ring__circle", attrs: { "stroke": "white", "stroke-width": "2", "fill": "transparent", "r": "15", "cx": "25", "cy": "25" } })]) : _vm._e()], 1) : _vm._e(), _c("NcActions", { staticClass: "header-actions", attrs: { "inline": _vm.inlineActions } }, [_vm._t("actions")], 2), _vm.canClose && !_vm.closeButtonContained ? _c("NcButton", { staticClass: "header-close", attrs: { "aria-label": _vm.closeButtonAriaLabel, "type": "tertiary" }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
593
+ }, attrs: { "role": "dialog", "aria-modal": "true", "aria-labelledby": _vm.modalLabelId, "aria-describedby": "modal-description-" + _vm.randId, "tabindex": "-1" } }, [_c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("div", { staticClass: "modal-header", attrs: { "data-theme-light": _vm.lightBackdrop, "data-theme-dark": !_vm.lightBackdrop } }, [_vm.modalName ? _c("h2", { staticClass: "modal-header__name", attrs: { "id": "modal-name-" + _vm.randId } }, [_vm._v(" " + _vm._s(_vm.modalName) + " ")]) : _vm._e(), _c("div", { staticClass: "icons-menu" }, [_vm.hasNext && _vm.enableSlideshow ? _c("button", { staticClass: "play-pause-icons", class: { "play-pause-icons--paused": _vm.slideshowPaused }, attrs: { "title": _vm.playPauseName, "type": "button" }, on: { "click": _vm.togglePlayPause } }, [!_vm.playing ? _c("Play", { staticClass: "play-pause-icons__play", attrs: { "size": 20 } }) : _c("Pause", { staticClass: "play-pause-icons__pause", attrs: { "size": 20 } }), _c("span", { staticClass: "hidden-visually" }, [_vm._v(" " + _vm._s(_vm.playPauseName) + " ")]), _vm.playing ? _c("svg", { staticClass: "progress-ring", attrs: { "height": "50", "width": "50" } }, [_c("circle", { staticClass: "progress-ring__circle", attrs: { "stroke": "white", "stroke-width": "2", "fill": "transparent", "r": "15", "cx": "25", "cy": "25" } })]) : _vm._e()], 1) : _vm._e(), _c("NcActions", { staticClass: "header-actions", attrs: { "inline": _vm.inlineActions } }, [_vm._t("actions")], 2), !_vm.noClose && _vm.canClose && !_vm.closeButtonContained ? _c("NcButton", { staticClass: "header-close", attrs: { "aria-label": _vm.closeButtonAriaLabel, "variant": "tertiary" }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
584
594
  return [_c("Close", { attrs: { "size": 20 } })];
585
595
  }, proxy: true }], null, false, 2121748766) }) : _vm._e()], 1)])]), _c("transition", { attrs: { "name": _vm.modalTransitionName, "appear": "" } }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.showModal, expression: "showModal" }], staticClass: "modal-wrapper", class: [
586
596
  `modal-wrapper--${_vm.size}`,
@@ -588,12 +598,12 @@ var _sfc_render = function render3() {
588
598
  ], on: { "mousedown": function($event) {
589
599
  if ($event.target !== $event.currentTarget) return null;
590
600
  return _vm.handleClickModalWrapper.apply(null, arguments);
591
- } } }, [_c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("NcButton", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasPrevious, expression: "hasPrevious" }], staticClass: "prev", attrs: { "type": "tertiary-no-background", "aria-label": _vm.prevButtonAriaLabel }, on: { "click": _vm.previous }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
592
- return [_c("ChevronLeft", { attrs: { "size": 40 } })];
593
- }, proxy: true }]) })], 1), _c("div", { staticClass: "modal-container", attrs: { "id": "modal-description-" + _vm.randId } }, [_c("div", { staticClass: "modal-container__content" }, [_vm._t("default")], 2), _vm.canClose && _vm.closeButtonContained ? _c("NcButton", { staticClass: "modal-container__close", attrs: { "type": "tertiary", "aria-label": _vm.closeButtonAriaLabel }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
601
+ } } }, [_c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("NcButton", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasPrevious, expression: "hasPrevious" }], staticClass: "prev", attrs: { "aria-label": _vm.prevButtonAriaLabel, "variant": "tertiary-no-background" }, on: { "click": _vm.previous }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
602
+ return [_c("NcIconSvgWrapper", { attrs: { "directional": "", "path": _vm.mdiChevronLeft, "size": 40 } })];
603
+ }, proxy: true }]) })], 1), _c("div", { staticClass: "modal-container", attrs: { "id": "modal-description-" + _vm.randId } }, [_c("div", { staticClass: "modal-container__content" }, [_vm._t("default")], 2), !_vm.noClose && _vm.canClose && _vm.closeButtonContained ? _c("NcButton", { staticClass: "modal-container__close", attrs: { "aria-label": _vm.closeButtonAriaLabel, "variant": "tertiary" }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
594
604
  return [_c("Close", { attrs: { "size": 20 } })];
595
- }, proxy: true }], null, false, 2121748766) }) : _vm._e()], 1), _c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("NcButton", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasNext, expression: "hasNext" }], staticClass: "next", attrs: { "type": "tertiary-no-background", "aria-label": _vm.nextButtonAriaLabel }, on: { "click": _vm.next }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
596
- return [_c("ChevronRight", { attrs: { "size": 40 } })];
605
+ }, proxy: true }], null, false, 2121748766) }) : _vm._e()], 1), _c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("NcButton", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasNext, expression: "hasNext" }], staticClass: "next", attrs: { "aria-label": _vm.nextButtonAriaLabel, "variant": "tertiary-no-background" }, on: { "click": _vm.next }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
606
+ return [_c("NcIconSvgWrapper", { attrs: { "directional": "", "path": _vm.mdiChevronRight, "size": 40 } })];
597
607
  }, proxy: true }]) })], 1)], 1)])], 1)]);
598
608
  };
599
609
  var _sfc_staticRenderFns = [];
@@ -603,8 +613,9 @@ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
603
613
  _sfc_staticRenderFns,
604
614
  false,
605
615
  null,
606
- "d5334a44"
616
+ "0fc6c354"
607
617
  );
608
618
  const NcModal = __component__.exports;
609
619
  ScopeComponent.ScopeComponent(NcModal);
610
620
  module.exports = NcModal;
621
+ //# sourceMappingURL=NcModal.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"NcModal.cjs","sources":["../../src/utils/Timer.js","../../node_modules/vue-material-design-icons/Pause.vue","../../node_modules/vue-material-design-icons/Play.vue","../../src/components/NcModal/NcModal.vue","../../src/components/NcModal/index.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * @param {Function} callback The function to call\n * @param {number} delay The time to wait\n */\nexport default function timer(callback, delay) {\n\tlet id\n\tlet started\n\tlet remaining = delay\n\tlet running\n\n\tthis.start = function() {\n\t\trunning = true\n\t\tstarted = new Date()\n\t\tid = setTimeout(callback, remaining)\n\t}\n\n\tthis.pause = function() {\n\t\trunning = false\n\t\tclearTimeout(id)\n\t\tremaining -= new Date() - started\n\t}\n\n\tthis.clear = function() {\n\t\trunning = false\n\t\tclearTimeout(id)\n\t\tremaining = 0\n\t}\n\n\tthis.getTimeLeft = function() {\n\t\tif (running) {\n\t\t\tthis.pause()\n\t\t\tthis.start()\n\t\t}\n\n\t\treturn remaining\n\t}\n\n\tthis.getStateRunning = function() {\n\t\treturn running\n\t}\n\n\tthis.start()\n}\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon pause-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,19H18V5H14M6,19H10V5H6V19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PauseIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon play-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M8,5.14V19.14L19,12.14L8,5.14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PlayIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nFor showing the modal you can use either `:show.sync=\"showModal\"` or `v-if` on the `NcModal`,\ndepending on whether you require the Modal to stay within the DOM or not. Do not mix both, as this will break the out transition animation.\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"showModal\">Show Modal</NcButton>\n\t\t<NcModal\n\t\t\t:show.sync=\"modal\"\n\t\t\t@close=\"closeModal\"\n\t\t\tsize=\"small\"\n\t\t\tname=\"Name\"\n\t\t\t:outTransition=\"true\"\n\t\t\t:hasNext=\"true\"\n\t\t\t:hasPrevious=\"true\">\n\t\t\t<template #actions>\n\t\t\t\t<NcActionCaption name=\"Some action\" />\n\t\t\t</template>\n\t\t\t<div class=\"modal__content\">Hello world</div>\n\t\t</NcModal>\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tmodal: false\n\t\t}\n\t},\n\tmethods: {\n\t\tshowModal() {\n\t\t\tthis.modal = true\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.modal = false\n\t\t}\n\t}\n}\n</script>\n<style scoped>\n.modal__content {\n\tmargin: 50px;\n\ttext-align: center;\n}\n</style>\n```\n\n### Modal with more properties\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"showModal\">Show Modal with fields</NcButton>\n\t\t<NcModal\n\t\t\tv-if=\"modal\"\n\t\t\tref=\"modalRef\"\n\t\t\t@close=\"closeModal\"\n\t\t\tname=\"Name inside modal\">\n\t\t\t<div class=\"modal__content\">\n\t\t\t\t<h2>Please enter your name</h2>\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<NcTextField label=\"First Name\" :value.sync=\"firstName\" />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<NcTextField label=\"Last Name\" :value.sync=\"lastName\" />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<label for=\"pizza\">What is the most important pizza item?</label>\n\t\t\t\t\t<NcSelect input-id=\"pizza\" :options=\"['Cheese', 'Tomatoes', 'Pineapples']\" v-model=\"pizza\" />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<label for=\"emoji-trigger\">Select your favorite emoji</label>\n\t\t\t\t\t<NcEmojiPicker v-if=\"modalRef\" :container=\"modalRef.$el\">\n\t\t\t\t\t\t<NcButton id=\"emoji-trigger\">Select</NcButton>\n\t\t\t\t\t</NcEmojiPicker>\n\t\t\t\t</div>\n\n\t\t\t\t<NcButton\n\t\t\t\t\t:disabled=\"!firstName || !lastName || !pizza\"\n\t\t\t\t\t@click=\"closeModal\"\n\t\t\t\t\ttype=\"primary\">\n\t\t\t\t\tSubmit\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</NcModal>\n\t</div>\n</template>\n<script>\nimport { ref } from 'vue'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmodalRef: ref(null),\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tmodal: false,\n\t\t\tfirstName: '',\n\t\t\tlastName: '',\n\t\t\tpizza: [],\n\t\t}\n\t},\n\tmethods: {\n\t\tshowModal() {\n\t\t\tthis.firstName = ''\n\t\t\tthis.lastName = ''\n\t\t\tthis.modal = true\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.modal = false\n\t\t}\n\t}\n}\n</script>\n<style scoped>\n.modal__content {\n\tmargin: 50px;\n}\n\n.modal__content h2 {\n\ttext-align: center;\n}\n\n.form-group {\n\tmargin: calc(var(--default-grid-baseline) * 4) 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n}\n</style>\n```\n\n### Usage of popover in modal\n\n* Set container property to .modal-mask to inject popover context of the modal:\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"showModal\">Show Modal</NcButton>\n\t\t<NcModal v-if=\"modal\" @close=\"closeModal\" size=\"small\" class=\"emoji-modal\">\n\t\t\t<div class=\"modal-content\">\n\t\t\t\t<NcEmojiPicker container=\".emoji-modal\" @select=\"select\">\n\t\t\t\t\t<NcButton>Select emoji {{ emoji }}</NcButton>\n\t\t\t\t</NcEmojiPicker>\n\t\t\t</div>\n\t\t</NcModal>\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\temoji: '😛',\n\t\t\tmodal: false\n\t\t}\n\t},\n\tmethods: {\n\t\tshowModal() {\n\t\t\tthis.modal = true\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.modal = false\n\t\t},\n\t\tselect(emoji) {\n\t\t\tthis.emoji = emoji\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n.modal-content {\n\twidth: 100%;\n\tmin-height: 100px;\n\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: center;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<transition name=\"fade\"\n\t\tappear\n\t\t@after-enter=\"useFocusTrap\"\n\t\t@before-leave=\"clearFocusTrap\">\n\t\t<div v-show=\"showModal\"\n\t\t\tref=\"mask\"\n\t\t\tclass=\"modal-mask\"\n\t\t\t:class=\"{\n\t\t\t\t'modal-mask--opaque': dark || forceDarkBackdrop,\n\t\t\t\t'modal-mask--light': lightBackdrop,\n\t\t\t}\"\n\t\t\trole=\"dialog\"\n\t\t\taria-modal=\"true\"\n\t\t\t:aria-labelledby=\"modalLabelId\"\n\t\t\t:aria-describedby=\"'modal-description-' + randId\"\n\t\t\ttabindex=\"-1\">\n\t\t\t<!-- Header -->\n\t\t\t<transition name=\"fade-visibility\" appear>\n\t\t\t\t<div class=\"modal-header\"\n\t\t\t\t\t:data-theme-light=\"lightBackdrop\"\n\t\t\t\t\t:data-theme-dark=\"!lightBackdrop\">\n\t\t\t\t\t<h2 v-if=\"modalName\"\n\t\t\t\t\t\t:id=\"'modal-name-' + randId\"\n\t\t\t\t\t\tclass=\"modal-header__name\">\n\t\t\t\t\t\t{{ modalName }}\n\t\t\t\t\t</h2>\n\t\t\t\t\t<div class=\"icons-menu\">\n\t\t\t\t\t\t<!-- Play-pause toggle -->\n\t\t\t\t\t\t<button v-if=\"hasNext && enableSlideshow\"\n\t\t\t\t\t\t\tv-tooltip.auto=\"playPauseName\"\n\t\t\t\t\t\t\t:class=\"{ 'play-pause-icons--paused': slideshowPaused }\"\n\t\t\t\t\t\t\tclass=\"play-pause-icons\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t@click=\"togglePlayPause\">\n\t\t\t\t\t\t\t<!-- Play/pause icons -->\n\t\t\t\t\t\t\t<Play v-if=\"!playing\"\n\t\t\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\t\t\tclass=\"play-pause-icons__play\" />\n\t\t\t\t\t\t\t<Pause v-else\n\t\t\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\t\t\tclass=\"play-pause-icons__pause\" />\n\t\t\t\t\t\t\t<span class=\"hidden-visually\">\n\t\t\t\t\t\t\t\t{{ playPauseName }}\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<!-- Progress circle, css animated -->\n\t\t\t\t\t\t\t<svg v-if=\"playing\"\n\t\t\t\t\t\t\t\tclass=\"progress-ring\"\n\t\t\t\t\t\t\t\theight=\"50\"\n\t\t\t\t\t\t\t\twidth=\"50\">\n\t\t\t\t\t\t\t\t<circle class=\"progress-ring__circle\"\n\t\t\t\t\t\t\t\t\tstroke=\"white\"\n\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\t\t\t\tr=\"15\"\n\t\t\t\t\t\t\t\t\tcx=\"25\"\n\t\t\t\t\t\t\t\t\tcy=\"25\" />\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t<!-- Actions menu -->\n\t\t\t\t\t\t<NcActions class=\"header-actions\" :inline=\"inlineActions\">\n\t\t\t\t\t\t\t<!-- @slot Actions to show (one or more NcAction* components) -->\n\t\t\t\t\t\t\t<slot name=\"actions\" />\n\t\t\t\t\t\t</NcActions>\n\n\t\t\t\t\t\t<!-- Close modal -->\n\t\t\t\t\t\t<NcButton v-if=\"canClose && !closeButtonContained\"\n\t\t\t\t\t\t\t:aria-label=\"closeButtonAriaLabel\"\n\t\t\t\t\t\t\tclass=\"header-close\"\n\t\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t\t@click=\"close\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<Close :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</transition>\n\n\t\t\t<!-- Content wrapper -->\n\t\t\t<transition :name=\"modalTransitionName\" appear>\n\t\t\t\t<div v-show=\"showModal\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t`modal-wrapper--${size}`,\n\t\t\t\t\t\t{ 'modal-wrapper--spread-navigation': spreadNavigation },\n\t\t\t\t\t]\"\n\t\t\t\t\tclass=\"modal-wrapper\"\n\t\t\t\t\t@mousedown.self=\"handleClickModalWrapper\">\n\t\t\t\t\t<!-- Navigation button -->\n\t\t\t\t\t<transition name=\"fade-visibility\" appear>\n\t\t\t\t\t\t<NcButton v-show=\"hasPrevious\"\n\t\t\t\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t\t\t\tclass=\"prev\"\n\t\t\t\t\t\t\t:aria-label=\"prevButtonAriaLabel\"\n\t\t\t\t\t\t\t@click=\"previous\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<ChevronLeft :size=\"40\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</transition>\n\n\t\t\t\t\t<!-- Content -->\n\t\t\t\t\t<div :id=\"'modal-description-' + randId\" class=\"modal-container\">\n\t\t\t\t\t\t<div class=\"modal-container__content\">\n\t\t\t\t\t\t\t<!-- @slot Modal content to render -->\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- Close modal -->\n\t\t\t\t\t\t<NcButton v-if=\"canClose && closeButtonContained\"\n\t\t\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\t\t\tclass=\"modal-container__close\"\n\t\t\t\t\t\t\t:aria-label=\"closeButtonAriaLabel\"\n\t\t\t\t\t\t\t@click=\"close\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<Close :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Navigation button -->\n\t\t\t\t\t<transition name=\"fade-visibility\" appear>\n\t\t\t\t\t\t<NcButton v-show=\"hasNext\"\n\t\t\t\t\t\t\ttype=\"tertiary-no-background\"\n\t\t\t\t\t\t\tclass=\"next\"\n\t\t\t\t\t\t\t:aria-label=\"nextButtonAriaLabel\"\n\t\t\t\t\t\t\t@click=\"next\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<ChevronRight :size=\"40\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</div>\n\t</transition>\n</template>\n\n<script>\nimport { useSwipe } from '@vueuse/core'\nimport { createFocusTrap } from 'focus-trap'\nimport Vue from 'vue'\n\nimport { getTrapStack } from '../../utils/focusTrap.js'\nimport { t } from '../../l10n.js'\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport NcActions from '../NcActions/index.js'\nimport NcButton from '../../components/NcButton/index.js'\nimport Timer from '../../utils/Timer.js'\nimport Tooltip from '../../directives/Tooltip/index.js'\n\nimport ChevronLeft from 'vue-material-design-icons/ChevronLeft.vue'\nimport ChevronRight from 'vue-material-design-icons/ChevronRight.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\nimport Pause from 'vue-material-design-icons/Pause.vue'\nimport Play from 'vue-material-design-icons/Play.vue'\n\nexport default {\n\tname: 'NcModal',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tChevronLeft,\n\t\tChevronRight,\n\t\tClose,\n\t\tPause,\n\t\tPlay,\n\t\tNcButton,\n\t},\n\n\tdirectives: {\n\t\ttooltip: Tooltip,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Name to be shown with the modal\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Declare if a previous slide is available\n\t\t */\n\t\thasPrevious: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declare if a next slide is available\n\t\t */\n\t\thasNext: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declare if hiding the modal should be animated\n\t\t */\n\t\toutTransition: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declare if the slideshow functionality should be enabled\n\t\t */\n\t\tenableSlideshow: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declare the slide interval\n\t\t */\n\t\tslideshowDelay: {\n\t\t\ttype: Number,\n\t\t\tdefault: 5000,\n\t\t},\n\t\t/**\n\t\t * Allow to pause an ongoing slideshow\n\t\t */\n\t\tslideshowPaused: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Enable swipe between slides\n\t\t * @deprecated Will be removed in next version - use `disableSwipe` instead\n\t\t */\n\t\tenableSwipe: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Disable swipe between slides\n\t\t */\n\t\tdisableSwipe: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tspreadNavigation: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Defines the modal size.\n\t\t * Default is 'normal'.\n\t\t * Available are 'small', 'normal', 'large' and 'full'.\n\t\t * All sizes except 'small' change automatically to full-screen on mobile.\n\t\t */\n\t\tsize: {\n\t\t\ttype: String,\n\t\t\tdefault: 'normal',\n\t\t\tvalidator: size => {\n\t\t\t\treturn ['small', 'normal', 'large', 'full'].includes(size)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Declare if the modal can be closed\n\t\t */\n\t\tcanClose: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Close the modal if the user clicked outside the modal\n\t\t * Only relevant if `canClose` is set to true.\n\t\t */\n\t\tcloseOnClickOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Makes the modal backdrop opaque if true.\n\t\t * Will be overwritten if some buttons are shown outside.\n\t\t */\n\t\tdark: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Set light backdrop. Makes the modal header appear light.\n\t\t */\n\t\tlightBackdrop: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Selector for the modal container, pass `null` to prevent automatic container mounting\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: [String, null],\n\t\t\tdefault: 'body',\n\t\t},\n\n\t\t/**\n\t\t * Pass in false if you want the modal 'close' button to be displayed\n\t\t * outside the modal boundaries, in the top right corner of the window\n\t\t */\n\t\tcloseButtonContained: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional elements to add to the focus trap\n\t\t */\n\t\tadditionalTrapElements: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\t/**\n\t\t * Display x items inline\n\t\t *\n\t\t * @see Actions component usage\n\t\t */\n\t\tinlineActions: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\n\t\tshow: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Id of the element that labels the dialog (the name)\n\t\t * Not needed if the `name` prop is set, but if no name is set you need to provide the ID of an element to label the dialog for accessibility.\n\t\t */\n\t\tlabelId: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\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'previous',\n\t\t'next',\n\t\t'close',\n\t\t'update:show',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tmc: null,\n\t\t\tplaying: false,\n\t\t\tslideshowTimeout: null,\n\t\t\tfocusTrap: null,\n\t\t\texternalFocusTrapStack: [],\n\t\t\trandId: GenRandomId(),\n\t\t\tinternalShow: true,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * slide show delay to set to CSS\n\t\t */\n\t\tcssSlideshowDelay() {\n\t\t\treturn `${this.slideshowDelay}ms`\n\t\t},\n\n\t\t/**\n\t\t * True if there are any buttons shown on the backdrop or a name (for accessibility)\n\t\t */\n\t\tforceDarkBackdrop() {\n\t\t\treturn (this.canClose && !this.closeButtonContained)\n\t\t\t\t|| this.hasNext\n\t\t\t\t|| this.hasPrevious\n\t\t\t\t|| this.modalName !== ''\n\t\t\t\t|| Boolean(this.$slots.actions)\n\t\t},\n\n\t\t/**\n\t\t * Trimmed modal name\n\t\t */\n\t\tmodalName() {\n\t\t\treturn this.name.trim()\n\t\t},\n\n\t\t/**\n\t\t * ID of the element to label the modal\n\t\t */\n\t\tmodalLabelId() {\n\t\t\treturn this.labelId || `modal-name-${this.randId}`\n\t\t},\n\n\t\tshowModal() {\n\t\t\treturn (this.show === undefined) ? this.internalShow : this.show\n\t\t},\n\t\tmodalTransitionName() {\n\t\t\treturn `modal-${this.outTransition ? 'out' : 'in'}`\n\t\t},\n\t\tplayPauseName() {\n\t\t\treturn this.playing ? t('Pause slideshow') : t('Start slideshow')\n\t\t},\n\n\t\tcloseButtonAriaLabel() {\n\t\t\treturn t('Close')\n\t\t},\n\t\tprevButtonAriaLabel() {\n\t\t\treturn t('Previous')\n\t\t},\n\t\tnextButtonAriaLabel() {\n\t\t\treturn t('Next')\n\t\t},\n\t},\n\n\twatch: {\n\t\t/**\n\t\t * Handle play/pause of an ongoing slideshow\n\t\t *\n\t\t * @param {boolean} paused is the player paused\n\t\t */\n\t\tslideshowPaused(paused) {\n\t\t\tif (this.slideshowTimeout) {\n\t\t\t\tif (paused) {\n\t\t\t\t\tthis.slideshowTimeout.pause()\n\t\t\t\t} else {\n\t\t\t\t\tthis.slideshowTimeout.start()\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tadditionalTrapElements(elements) {\n\t\t\tif (this.focusTrap) {\n\t\t\t\tconst contentContainer = this.$refs.mask\n\t\t\t\tthis.focusTrap.updateContainerElements([contentContainer, ...elements])\n\t\t\t}\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\twindow.addEventListener('keydown', this.handleKeydown)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('keydown', this.handleKeydown)\n\t\tthis.mc.stop()\n\t},\n\tmounted() {\n\t\tif (!this.name && !this.labelId) {\n\t\t\tVue.util.warn('[NcModal] You need either set the name or set a `labelId` for accessibility.')\n\t\t}\n\n\t\t// init clear view\n\t\tthis.useFocusTrap()\n\t\tthis.mc = useSwipe(this.$refs.mask, {\n\t\t\tonSwipeEnd: this.handleSwipe,\n\t\t})\n\n\t\tif (this.container) {\n\t\t\tif (this.container === 'body') {\n\t\t\t\t// force mount the component to body\n\t\t\t\tdocument.body.insertBefore(this.$el, document.body.lastChild)\n\t\t\t} else {\n\t\t\t\tconst container = document.querySelector(this.container)\n\t\t\t\tcontainer.appendChild(this.$el)\n\t\t\t}\n\t\t}\n\t},\n\tdestroyed() {\n\t\tthis.clearFocusTrap()\n\t\tthis.$el.remove()\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t// Events emitters\n\t\tprevious(event) {\n\t\t\t// do not send the event if nothing is available\n\t\t\tif (this.hasPrevious) {\n\t\t\t\t// if data is set, then it's a user mouse event\n\t\t\t\t// and not the slideshow handler, therefore\n\t\t\t\t// we reset the timer\n\t\t\t\tif (event) {\n\t\t\t\t\tthis.resetSlideshow()\n\t\t\t\t}\n\t\t\t\tthis.$emit('previous', event)\n\t\t\t}\n\t\t},\n\t\tnext(event) {\n\t\t\t// do not send the event if nothing is available\n\t\t\tif (this.hasNext) {\n\t\t\t\t// if data is set, then it's a mouse event\n\t\t\t\t// and not the slideshow handler, therefore\n\t\t\t\t// we reset the timer\n\t\t\t\tif (event) {\n\t\t\t\t\tthis.resetSlideshow()\n\t\t\t\t}\n\t\t\t\tthis.$emit('next', event)\n\t\t\t}\n\t\t},\n\t\tclose(data) {\n\t\t\t// do not fire event if forbidden\n\t\t\tif (this.canClose) {\n\t\t\t\t// We set internalShow here, so the out transitions properly run before the component is destroyed\n\t\t\t\tthis.internalShow = false\n\t\t\t\tthis.$emit('update:show', false)\n\n\t\t\t\t// delay closing for animation\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t/**\n\t\t\t\t\t * Emitted when the closing animation is finished\n\t\t\t\t\t */\n\t\t\t\t\tthis.$emit('close', data)\n\t\t\t\t}, 300)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handle click on modal wrapper\n\t\t * If `closeOnClickOutside` is set the modal will be closed\n\t\t *\n\t\t * @param {MouseEvent} event The click event\n\t\t */\n\t\thandleClickModalWrapper(event) {\n\t\t\tif (this.closeOnClickOutside) {\n\t\t\t\tthis.close(event)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {KeyboardEvent} event - keyboard event\n\t\t */\n\t\thandleKeydown(event) {\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tconst trapStack = getTrapStack()\n\t\t\t\t// Only close the most recent focus trap modal\n\t\t\t\tif (trapStack.length > 0 && trapStack[trapStack.length - 1] !== this.focusTrap) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\treturn this.close(event)\n\t\t\t}\n\n\t\t\tconst arrowHandlers = {\n\t\t\t\tArrowLeft: this.previous,\n\t\t\t\tArrowRight: this.next,\n\t\t\t}\n\t\t\tif (arrowHandlers[event.key]) {\n\t\t\t\t// Ignore arrow navigation, if there is a current focus outside the modal.\n\t\t\t\t// For example, when the focus is in Sidebar or NcActions' items,\n\t\t\t\t// arrow navigation should not be intercepted by modal slider\n\t\t\t\tif (document.activeElement && !this.$el.contains(document.activeElement)) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\treturn arrowHandlers[event.key](event)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * handle the swipe event\n\t\t *\n\t\t * @param {TouchEvent} e The touch event\n\t\t * @param {import('@vueuse/core').SwipeDirection} direction Swipe direction\n\t\t */\n\t\thandleSwipe(e, direction) {\n\t\t\tif (this.enableSwipe && !this.disableSwipe) {\n\t\t\t\tif (direction === 'left') {\n\t\t\t\t\t// swiping to left to go to the next item\n\t\t\t\t\tthis.next(e)\n\t\t\t\t} else if (direction === 'right') {\n\t\t\t\t\t// swiping to right to go back to the previous item\n\t\t\t\t\tthis.previous(e)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Toggle the slideshow state\n\t\t */\n\t\ttogglePlayPause() {\n\t\t\tthis.playing = !this.playing\n\t\t\tif (this.playing) {\n\t\t\t\tthis.handleSlideshow()\n\t\t\t} else {\n\t\t\t\tthis.clearSlideshowTimeout()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the slideshow timer and keep going if it was on\n\t\t */\n\t\tresetSlideshow() {\n\t\t\tthis.playing = !this.playing\n\t\t\tthis.clearSlideshowTimeout()\n\t\t\tthis.$nextTick(function() {\n\t\t\t\tthis.togglePlayPause()\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Handle the slideshow timer and next event\n\t\t */\n\t\thandleSlideshow() {\n\t\t\tthis.playing = true\n\t\t\tif (this.hasNext) {\n\t\t\t\tthis.slideshowTimeout = new Timer(() => {\n\t\t\t\t\tthis.next()\n\t\t\t\t\tthis.handleSlideshow()\n\t\t\t\t}, this.slideshowDelay)\n\t\t\t} else {\n\t\t\t\tthis.playing = false\n\t\t\t\tthis.clearSlideshowTimeout()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Clear slideshowTimeout if ongoing\n\t\t */\n\t\tclearSlideshowTimeout() {\n\t\t\tif (this.slideshowTimeout) {\n\t\t\t\tthis.slideshowTimeout.clear()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\t// Don't do anything if the modal is hidden,\n\t\t\t// or we have a focus trap already\n\t\t\tif (!this.showModal || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst contentContainer = this.$refs.mask\n\t\t\t// wait until all children are mounted and available in the DOM before focusTrap can be added\n\t\t\tawait this.$nextTick()\n\n\t\t\tconst options = {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\tfallbackFocus: contentContainer,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\t// Esc can be used without stop in content or additionalTrapElements where it should not deactivate modal's focus trap.\n\t\t\t\t// Focus trap is deactivated on modal close anyway.\n\t\t\t\tescapeDeactivates: false,\n\t\t\t\tsetReturnFocus: this.setReturnFocus,\n\t\t\t}\n\n\t\t\t// Deactivate other focus traps to unlock modal elements\n\t\t\tthis.externalFocusTrapStack = [...options.trapStack]\n\t\t\tfor (const trap of this.externalFocusTrapStack) {\n\t\t\t\ttrap.deactivate()\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tthis.focusTrap = createFocusTrap([contentContainer, ...this.additionalTrapElements], options)\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\t\tclearFocusTrap() {\n\t\t\tif (!this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.focusTrap?.deactivate()\n\t\t\tthis.focusTrap = null\n\t\t\tfor (const trap of this.externalFocusTrapStack) {\n\t\t\t\ttrap.activate()\n\t\t\t}\n\t\t\tthis.externalFocusTrapStack = []\n\t\t},\n\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.modal-mask {\n\t--backdrop-color: 0, 0, 0;\n\t--icon-size: 20px;\n\t--slideshow-duration: v-bind('cssSlideshowDelay');\n\tposition: fixed;\n\tz-index: 9998;\n\ttop: 0;\n\tleft: 0;\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(var(--backdrop-color), .5);\n\n\t&--opaque {\n\t\tbackground-color: rgba(var(--backdrop-color), .92);\n\t}\n\n\t&--light {\n\t\t--backdrop-color: 255, 255, 255;\n\t}\n}\n\n.modal-header {\n\tposition: absolute;\n\tz-index: 10001;\n\ttop: 0;\n\tright: 0;\n\tleft: 0;\n\t// prevent vue show to use display:none and resetting\n\t// the circle animation loop\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\theight: var(--header-height);\n\toverflow: hidden;\n\ttransition: opacity 250ms, visibility 250ms;\n\n\t&__name {\n\t\toverflow-x: hidden;\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\t\tpadding: 0 calc(var(--default-clickable-area) * 3) 0 12px; // maximum actions is 3\n\t\ttransition: padding ease 100ms;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tfont-size: $icon-size;\n\t\tmargin-block: 0;\n\t}\n\n\t// On wider screens the name can be centered\n\t@media only screen and (min-width: $breakpoint-mobile) {\n\t\t&__name {\n\t\t\tpadding-left: calc(var(--default-clickable-area) * 3); // maximum actions is 3\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\t.icons-menu {\n\t\tposition: absolute;\n\t\tright: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\n\t\t.header-close {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin: calc((var(--header-height) - var(--default-clickable-area)) / 2);\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t.play-pause-icons {\n\t\t\tposition: relative;\n\t\t\twidth: var(--header-height);\n\t\t\theight: var(--header-height);\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcursor: pointer;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\t.play-pause-icons__play,\n\t\t\t\t.play-pause-icons__pause {\n\t\t\t\t\topacity: $opacity_full;\n\t\t\t\t\tborder-radius: calc(var(--default-clickable-area) / 2);\n\t\t\t\t\tbackground-color: $icon-focus-bg;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&__play,\n\t\t\t&__pause {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: var(--default-clickable-area);\n\t\t\t\theight: var(--default-clickable-area);\n\t\t\t\tmargin: calc((var(--header-height) - var(--default-clickable-area)) / 2);\n\t\t\t\tcursor: pointer;\n\t\t\t\topacity: $opacity_normal;\n\t\t\t}\n\t\t}\n\n\t\t&:deep() .action-item {\n\t\t\tmargin: calc((var(--header-height) - var(--default-clickable-area)) / 2);\n\n\t\t\t&--single {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: var(--default-clickable-area);\n\t\t\t\theight: var(--default-clickable-area);\n\t\t\t\tcursor: pointer;\n\t\t\t\tbackground-position: center;\n\t\t\t\tbackground-size: 22px;\n\t\t\t}\n\t\t}\n\n\t\t// The modal ignores the color theme and adds a black backdrop\n\t\t// so we need to add custom color of the actions toggle\n\t\t.header-actions :deep(button:focus-visible) {\n\t\t\tbox-shadow: none !important;\n\t\t\toutline: 2px solid #fff !important;\n\t\t}\n\n\t\t// Force the Actions menu icon to be the same size as other icons\n\t\t&:deep(.action-item__menutoggle) {\n\t\t\tpadding: 0;\n\t\t\tspan, svg {\n\t\t\t\twidth: var(--icon-size);\n\t\t\t\theight: var(--icon-size);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.modal-wrapper {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\n\t/* Navigation buttons */\n\t.prev,\n\t.next {\n\t\tz-index: 10000;\n\t\theight: 35vh;\n\t\tmin-height: 300px;\n\t\tposition: absolute;\n\t\ttransition: opacity 250ms;\n\t\t// hover the mask\n\t\tcolor: white;\n\n\t\t&:focus-visible {\n\t\t\t// Override NcButton focus styles\n\t\t\tbox-shadow: 0 0 0 2px var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-box-shadow);\n\t\t}\n\t}\n\n\t.prev {\n\t\tleft: 2px;\n\t}\n\t.next {\n\t\tright: 2px;\n\t}\n\n\t/* Content */\n\t.modal-container {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tpadding: 0;\n\t\ttransition: transform 300ms ease;\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\n\n\t\t&__close {\n\t\t\t// Ensure the close button is always on top of the content\n\t\t\tz-index: 1;\n\t\t\tposition: absolute;\n\t\t\ttop: 4px;\n\t\t\tinset-inline-end: var(--default-grid-baseline);\n\t\t}\n\n\t\t&__content {\n\t\t\twidth: 100%;\n\t\t\tmin-height: 52px; // At least the close button shall fit in\n\t\t\toverflow: auto; // avoids unnecessary hacks if the content should be bigger than the modal\n\t\t}\n\t}\n\n\t// We allow 90% max-height, but we need to ensure the header does not overlap the modal\n\t// as the modal is centered, we need the space on top and bottom\n\t$max-modal-height: min(90%, calc(100% - 2 * var(--header-height)));\n\n\t// Sizing\n\t&--small {\n\t\t& > .modal-container {\n\t\t\twidth: 400px;\n\t\t\tmax-width: 90%;\n\t\t\tmax-height: $max-modal-height;\n\t\t}\n\t}\n\t&--normal {\n\t\t& > .modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 600px;\n\t\t\tmax-height: $max-modal-height;\n\t\t}\n\t}\n\t&--large {\n\t\t& > .modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 900px;\n\t\t\tmax-height: $max-modal-height;\n\t\t}\n\t}\n\t&--full {\n\t\t& > .modal-container {\n\t\t\twidth: 100%;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: var(--header-height);\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t// Make modal full screen on mobile\n\t@media only screen and ((max-width: $breakpoint-small-mobile) or (max-height: 400px)) {\n\t\t.modal-container {\n\t\t\tmax-width: initial;\n\t\t\twidth: 100%;\n\t\t\tmax-height: initial;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: var(--header-height);\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n}\n\n/* TRANSITIONS */\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-visibility-enter,\n.fade-visibility-leave-to {\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.modal-in-enter-active,\n.modal-in-leave-active,\n.modal-out-enter-active,\n.modal-out-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.modal-in-enter,\n.modal-in-leave-to,\n.modal-out-enter,\n.modal-out-leave-to {\n\topacity: 0;\n}\n\n.modal-in-enter .modal-container,\n.modal-in-leave-to .modal-container {\n\ttransform: scale(.9);\n}\n\n.modal-out-enter .modal-container,\n.modal-out-leave-to .modal-container {\n\ttransform: scale(1.1);\n}\n\n// animated circle\n$radius: 15;\n$pi: 3.14159265358979;\n\n.modal-mask .play-pause-icons {\n\t.progress-ring {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tleft: 0;\n\t\ttransform: rotate(-90deg);\n\t\t.progress-ring__circle {\n\t\t\ttransition: 100ms stroke-dashoffset;\n\t\t\ttransform-origin: 50% 50%; // axis compensation\n\t\t\tanimation: progressring linear var(--slideshow-duration) infinite;\n\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t\t\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\n\t\t}\n\t}\n\t&--paused {\n\t\t.icon-pause {\n\t\t\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\n\t\t}\n\t\t.progress-ring__circle {\n\t\t\tanimation-play-state: paused !important;\n\t\t}\n\t}\n}\n\n// keyframes get scoped too and break the animation name, we need them unscoped\n@keyframes progressring {\n\tfrom {\n\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t}\n\tto {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes breath {\n\t0% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n</style>\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport ScopeComponent from '../../utils/ScopeComponent.js'\nimport NcModal from './NcModal.vue'\n\nScopeComponent(NcModal)\n\nexport default NcModal\n"],"names":["_sfc_main","NcActions","ChevronLeft","ChevronRight","Close","NcButton","Tooltip","GenRandomId","t","Vue","useSwipe","getTrapStack","Timer","createFocusTrap","ScopeComponent"],"mappings":"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","x_google_ignoreList":[1,2]}
1
+ {"version":3,"file":"NcModal.cjs","sources":["../../src/utils/Timer.js","../../node_modules/vue-material-design-icons/Pause.vue","../../node_modules/vue-material-design-icons/Play.vue","../../src/components/NcModal/NcModal.vue","../../src/components/NcModal/index.js"],"sourcesContent":["/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\n/**\n * @param {Function} callback The function to call\n * @param {number} delay The time to wait\n */\nexport default function timer(callback, delay) {\n\tlet id\n\tlet started\n\tlet remaining = delay\n\tlet running\n\n\tthis.start = function() {\n\t\trunning = true\n\t\tstarted = new Date()\n\t\tid = setTimeout(callback, remaining)\n\t}\n\n\tthis.pause = function() {\n\t\trunning = false\n\t\tclearTimeout(id)\n\t\tremaining -= new Date() - started\n\t}\n\n\tthis.clear = function() {\n\t\trunning = false\n\t\tclearTimeout(id)\n\t\tremaining = 0\n\t}\n\n\tthis.getTimeLeft = function() {\n\t\tif (running) {\n\t\t\tthis.pause()\n\t\t\tthis.start()\n\t\t}\n\n\t\treturn remaining\n\t}\n\n\tthis.getStateRunning = function() {\n\t\treturn running\n\t}\n\n\tthis.start()\n}\n","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon pause-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M14,19H18V5H14M6,19H10V5H6V19Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PauseIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<template>\n <span v-bind=\"$attrs\"\n :aria-hidden=\"title ? null : 'true'\"\n :aria-label=\"title\"\n class=\"material-design-icon play-icon\"\n role=\"img\"\n @click=\"$emit('click', $event)\">\n <svg :fill=\"fillColor\"\n class=\"material-design-icon__svg\"\n :width=\"size\"\n :height=\"size\"\n viewBox=\"0 0 24 24\">\n <path d=\"M8,5.14V19.14L19,12.14L8,5.14Z\">\n <title v-if=\"title\">{{ title }}</title>\n </path>\n </svg>\n </span>\n</template>\n\n<script>\nexport default {\n name: \"PlayIcon\",\n emits: ['click'],\n props: {\n title: {\n type: String,\n },\n fillColor: {\n type: String,\n default: \"currentColor\"\n },\n size: {\n type: Number,\n default: 24\n }\n }\n}\n</script>","<!--\n - SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n - SPDX-License-Identifier: AGPL-3.0-or-later\n-->\n\n<docs>\nFor showing the modal you can use either `:show.sync=\"showModal\"` or `v-if` on the `NcModal`,\ndepending on whether you require the Modal to stay within the DOM or not. Do not mix both, as this will break the out transition animation.\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"showModal\">Show Modal</NcButton>\n\t\t<NcModal\n\t\t\t:show.sync=\"modal\"\n\t\t\t@close=\"closeModal\"\n\t\t\tsize=\"small\"\n\t\t\tname=\"Name\"\n\t\t\t:outTransition=\"true\"\n\t\t\t:hasNext=\"true\"\n\t\t\t:hasPrevious=\"true\">\n\t\t\t<template #actions>\n\t\t\t\t<NcActionCaption name=\"Some action\" />\n\t\t\t</template>\n\t\t\t<div class=\"modal__content\">Hello world</div>\n\t\t</NcModal>\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tmodal: false\n\t\t}\n\t},\n\tmethods: {\n\t\tshowModal() {\n\t\t\tthis.modal = true\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.modal = false\n\t\t}\n\t}\n}\n</script>\n<style scoped>\n.modal__content {\n\tmargin: 50px;\n\ttext-align: center;\n}\n</style>\n```\n\n### Modal with more properties\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"showModal\">Show Modal with fields</NcButton>\n\t\t<NcModal\n\t\t\tv-if=\"modal\"\n\t\t\tref=\"modalRef\"\n\t\t\t@close=\"closeModal\"\n\t\t\tname=\"Name inside modal\">\n\t\t\t<div class=\"modal__content\">\n\t\t\t\t<h2>Please enter your name</h2>\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<NcTextField label=\"First Name\" :value.sync=\"firstName\" />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<NcTextField label=\"Last Name\" :value.sync=\"lastName\" />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<label for=\"pizza\">What is the most important pizza item?</label>\n\t\t\t\t\t<NcSelect input-id=\"pizza\" :options=\"['Cheese', 'Tomatoes', 'Pineapples']\" v-model=\"pizza\" />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"form-group\">\n\t\t\t\t\t<label for=\"emoji-trigger\">Select your favorite emoji</label>\n\t\t\t\t\t<NcEmojiPicker v-if=\"modalRef\" :container=\"modalRef.$el\">\n\t\t\t\t\t\t<NcButton id=\"emoji-trigger\">Select</NcButton>\n\t\t\t\t\t</NcEmojiPicker>\n\t\t\t\t</div>\n\n\t\t\t\t<NcButton\n\t\t\t\t\t:disabled=\"!firstName || !lastName || !pizza\"\n\t\t\t\t\t@click=\"closeModal\"\n\t\t\t\t\tvariant=\"primary\">\n\t\t\t\t\tSubmit\n\t\t\t\t</NcButton>\n\t\t\t</div>\n\t\t</NcModal>\n\t</div>\n</template>\n<script>\nimport { ref } from 'vue'\n\nexport default {\n\tsetup() {\n\t\treturn {\n\t\t\tmodalRef: ref(null),\n\t\t}\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tmodal: false,\n\t\t\tfirstName: '',\n\t\t\tlastName: '',\n\t\t\tpizza: [],\n\t\t}\n\t},\n\tmethods: {\n\t\tshowModal() {\n\t\t\tthis.firstName = ''\n\t\t\tthis.lastName = ''\n\t\t\tthis.modal = true\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.modal = false\n\t\t}\n\t}\n}\n</script>\n<style scoped>\n.modal__content {\n\tmargin: 50px;\n}\n\n.modal__content h2 {\n\ttext-align: center;\n}\n\n.form-group {\n\tmargin: calc(var(--default-grid-baseline) * 4) 0;\n\tdisplay: flex;\n\tflex-direction: column;\n\talign-items: flex-start;\n}\n</style>\n```\n\n### Usage of popover in modal\n\n* Set container property to .modal-mask to inject popover context of the modal:\n\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"showModal\">Show Modal</NcButton>\n\t\t<NcModal v-if=\"modal\" @close=\"closeModal\" size=\"small\" class=\"emoji-modal\">\n\t\t\t<div class=\"modal-content\">\n\t\t\t\t<NcEmojiPicker container=\".emoji-modal\" @select=\"select\">\n\t\t\t\t\t<NcButton>Select emoji {{ emoji }}</NcButton>\n\t\t\t\t</NcEmojiPicker>\n\t\t\t</div>\n\t\t</NcModal>\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\temoji: '😛',\n\t\t\tmodal: false\n\t\t}\n\t},\n\tmethods: {\n\t\tshowModal() {\n\t\t\tthis.modal = true\n\t\t},\n\t\tcloseModal() {\n\t\t\tthis.modal = false\n\t\t},\n\t\tselect(emoji) {\n\t\t\tthis.emoji = emoji\n\t\t},\n\t},\n}\n</script>\n<style scoped>\n.modal-content {\n\twidth: 100%;\n\tmin-height: 100px;\n\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: center;\n}\n</style>\n```\n</docs>\n\n<template>\n\t<transition name=\"fade\"\n\t\tappear\n\t\t@after-enter=\"useFocusTrap\"\n\t\t@before-leave=\"clearFocusTrap\">\n\t\t<div v-show=\"showModal\"\n\t\t\tref=\"mask\"\n\t\t\tclass=\"modal-mask\"\n\t\t\t:class=\"{\n\t\t\t\t'modal-mask--opaque': dark || forceDarkBackdrop,\n\t\t\t\t'modal-mask--light': lightBackdrop,\n\t\t\t}\"\n\t\t\trole=\"dialog\"\n\t\t\taria-modal=\"true\"\n\t\t\t:aria-labelledby=\"modalLabelId\"\n\t\t\t:aria-describedby=\"'modal-description-' + randId\"\n\t\t\ttabindex=\"-1\">\n\t\t\t<!-- Header -->\n\t\t\t<transition name=\"fade-visibility\" appear>\n\t\t\t\t<div class=\"modal-header\"\n\t\t\t\t\t:data-theme-light=\"lightBackdrop\"\n\t\t\t\t\t:data-theme-dark=\"!lightBackdrop\">\n\t\t\t\t\t<h2 v-if=\"modalName\"\n\t\t\t\t\t\t:id=\"'modal-name-' + randId\"\n\t\t\t\t\t\tclass=\"modal-header__name\">\n\t\t\t\t\t\t{{ modalName }}\n\t\t\t\t\t</h2>\n\t\t\t\t\t<div class=\"icons-menu\">\n\t\t\t\t\t\t<!-- Play-pause toggle -->\n\t\t\t\t\t\t<button v-if=\"hasNext && enableSlideshow\"\n\t\t\t\t\t\t\t:class=\"{ 'play-pause-icons--paused': slideshowPaused }\"\n\t\t\t\t\t\t\tclass=\"play-pause-icons\"\n\t\t\t\t\t\t\t:title=\"playPauseName\"\n\t\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\t\t@click=\"togglePlayPause\">\n\t\t\t\t\t\t\t<!-- Play/pause icons -->\n\t\t\t\t\t\t\t<Play v-if=\"!playing\"\n\t\t\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\t\t\tclass=\"play-pause-icons__play\" />\n\t\t\t\t\t\t\t<Pause v-else\n\t\t\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\t\t\tclass=\"play-pause-icons__pause\" />\n\t\t\t\t\t\t\t<span class=\"hidden-visually\">\n\t\t\t\t\t\t\t\t{{ playPauseName }}\n\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t<!-- Progress circle, css animated -->\n\t\t\t\t\t\t\t<svg v-if=\"playing\"\n\t\t\t\t\t\t\t\tclass=\"progress-ring\"\n\t\t\t\t\t\t\t\theight=\"50\"\n\t\t\t\t\t\t\t\twidth=\"50\">\n\t\t\t\t\t\t\t\t<circle class=\"progress-ring__circle\"\n\t\t\t\t\t\t\t\t\tstroke=\"white\"\n\t\t\t\t\t\t\t\t\tstroke-width=\"2\"\n\t\t\t\t\t\t\t\t\tfill=\"transparent\"\n\t\t\t\t\t\t\t\t\tr=\"15\"\n\t\t\t\t\t\t\t\t\tcx=\"25\"\n\t\t\t\t\t\t\t\t\tcy=\"25\" />\n\t\t\t\t\t\t\t</svg>\n\t\t\t\t\t\t</button>\n\n\t\t\t\t\t\t<!-- Actions menu -->\n\t\t\t\t\t\t<NcActions class=\"header-actions\" :inline=\"inlineActions\">\n\t\t\t\t\t\t\t<!-- @slot Actions to show (one or more NcAction* components) -->\n\t\t\t\t\t\t\t<slot name=\"actions\" />\n\t\t\t\t\t\t</NcActions>\n\n\t\t\t\t\t\t<!-- Close modal -->\n\t\t\t\t\t\t<NcButton v-if=\"!noClose && canClose && !closeButtonContained\"\n\t\t\t\t\t\t\t:aria-label=\"closeButtonAriaLabel\"\n\t\t\t\t\t\t\tclass=\"header-close\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t@click=\"close\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<Close :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</transition>\n\n\t\t\t<!-- Content wrapper -->\n\t\t\t<transition :name=\"modalTransitionName\" appear>\n\t\t\t\t<div v-show=\"showModal\"\n\t\t\t\t\t:class=\"[\n\t\t\t\t\t\t`modal-wrapper--${size}`,\n\t\t\t\t\t\t{ 'modal-wrapper--spread-navigation': spreadNavigation },\n\t\t\t\t\t]\"\n\t\t\t\t\tclass=\"modal-wrapper\"\n\t\t\t\t\t@mousedown.self=\"handleClickModalWrapper\">\n\t\t\t\t\t<!-- Navigation button -->\n\t\t\t\t\t<transition name=\"fade-visibility\" appear>\n\t\t\t\t\t\t<NcButton v-show=\"hasPrevious\"\n\t\t\t\t\t\t\t:aria-label=\"prevButtonAriaLabel\"\n\t\t\t\t\t\t\tclass=\"prev\"\n\t\t\t\t\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t\t\t\t\t@click=\"previous\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper directional\n\t\t\t\t\t\t\t\t\t:path=\"mdiChevronLeft\"\n\t\t\t\t\t\t\t\t\t:size=\"40\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</transition>\n\n\t\t\t\t\t<!-- Content -->\n\t\t\t\t\t<div :id=\"'modal-description-' + randId\" class=\"modal-container\">\n\t\t\t\t\t\t<div class=\"modal-container__content\">\n\t\t\t\t\t\t\t<!-- @slot Modal content to render -->\n\t\t\t\t\t\t\t<slot />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<!-- Close modal -->\n\t\t\t\t\t\t<NcButton v-if=\"!noClose && canClose && closeButtonContained\"\n\t\t\t\t\t\t\t:aria-label=\"closeButtonAriaLabel\"\n\t\t\t\t\t\t\tclass=\"modal-container__close\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t@click=\"close\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<Close :size=\"20\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- Navigation button -->\n\t\t\t\t\t<transition name=\"fade-visibility\" appear>\n\t\t\t\t\t\t<NcButton v-show=\"hasNext\"\n\t\t\t\t\t\t\t:aria-label=\"nextButtonAriaLabel\"\n\t\t\t\t\t\t\tclass=\"next\"\n\t\t\t\t\t\t\tvariant=\"tertiary-no-background\"\n\t\t\t\t\t\t\t@click=\"next\">\n\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t<NcIconSvgWrapper directional\n\t\t\t\t\t\t\t\t\t:path=\"mdiChevronRight\"\n\t\t\t\t\t\t\t\t\t:size=\"40\" />\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t</transition>\n\t\t\t\t</div>\n\t\t\t</transition>\n\t\t</div>\n\t</transition>\n</template>\n\n<script>\nimport { useSwipe } from '@vueuse/core'\nimport { mdiChevronLeft, mdiChevronRight } from '@mdi/js'\nimport { createFocusTrap } from 'focus-trap'\nimport Vue from 'vue'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\nimport { getTrapStack } from '../../utils/focusTrap.ts'\nimport { t } from '../../l10n.js'\n\nimport NcActions from '../NcActions/index.js'\nimport NcButton from '../NcButton/index.js'\nimport NcIconSvgWrapper from '../NcIconSvgWrapper/index.js'\nimport Timer from '../../utils/Timer.js'\n\nimport Close from 'vue-material-design-icons/Close.vue'\nimport Pause from 'vue-material-design-icons/Pause.vue'\nimport Play from 'vue-material-design-icons/Play.vue'\n\nexport default {\n\tname: 'NcModal',\n\n\tcomponents: {\n\t\tClose,\n\t\tPause,\n\t\tPlay,\n\t\tNcActions,\n\t\tNcButton,\n\t\tNcIconSvgWrapper,\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Name to be shown with the modal\n\t\t */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Declare if a previous slide is available\n\t\t */\n\t\thasPrevious: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declare if a next slide is available\n\t\t */\n\t\thasNext: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declare if hiding the modal should be animated\n\t\t */\n\t\toutTransition: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declare if the slideshow functionality should be enabled\n\t\t */\n\t\tenableSlideshow: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Declare the slide interval\n\t\t */\n\t\tslideshowDelay: {\n\t\t\ttype: Number,\n\t\t\tdefault: 5000,\n\t\t},\n\t\t/**\n\t\t * Allow to pause an ongoing slideshow\n\t\t */\n\t\tslideshowPaused: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Enable swipe between slides\n\t\t * @deprecated Will be removed in next version - use `disableSwipe` instead\n\t\t */\n\t\tenableSwipe: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\t\t/**\n\t\t * Disable swipe between slides\n\t\t */\n\t\tdisableSwipe: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\tspreadNavigation: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Defines the modal size.\n\t\t * Default is 'normal'.\n\t\t * Available are 'small', 'normal', 'large' and 'full'.\n\t\t * All sizes except 'small' change automatically to full-screen on mobile.\n\t\t */\n\t\tsize: {\n\t\t\ttype: String,\n\t\t\tdefault: 'normal',\n\t\t\tvalidator: size => {\n\t\t\t\treturn ['small', 'normal', 'large', 'full'].includes(size)\n\t\t\t},\n\t\t},\n\n\t\t/**\n\t\t * Do not show the close button for the dialog.\n\t\t * @default false\n\t\t */\n\t\tnoClose: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Set to false to no show a close button on the dialog\n\t\t * @deprecated - Use `noClose` instead. Will be removed in v9.\n\t\t * @default true\n\t\t */\n\t\tcanClose: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Close the modal if the user clicked outside the modal\n\t\t * Only relevant if `canClose` is set to true.\n\t\t */\n\t\tcloseOnClickOutside: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Makes the modal backdrop opaque if true.\n\t\t * Will be overwritten if some buttons are shown outside.\n\t\t */\n\t\tdark: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Set light backdrop. Makes the modal header appear light.\n\t\t */\n\t\tlightBackdrop: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Selector for the modal container, pass `null` to prevent automatic container mounting\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: [String, null],\n\t\t\tdefault: 'body',\n\t\t},\n\n\t\t/**\n\t\t * Pass in false if you want the modal 'close' button to be displayed\n\t\t * outside the modal boundaries, in the top right corner of the window\n\t\t */\n\t\tcloseButtonContained: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Additional elements to add to the focus trap\n\t\t */\n\t\tadditionalTrapElements: {\n\t\t\ttype: Array,\n\t\t\tdefault: () => [],\n\t\t},\n\n\t\t/**\n\t\t * Display x items inline\n\t\t *\n\t\t * @see Actions component usage\n\t\t */\n\t\tinlineActions: {\n\t\t\ttype: Number,\n\t\t\tdefault: 0,\n\t\t},\n\n\t\tshow: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: undefined,\n\t\t},\n\n\t\t/**\n\t\t * Id of the element that labels the dialog (the name)\n\t\t * Not needed if the `name` prop is set, but if no name is set you need to provide the ID of an element to label the dialog for accessibility.\n\t\t */\n\t\tlabelId: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\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'previous',\n\t\t'next',\n\t\t'close',\n\t\t'update:show',\n\t],\n\n\tsetup() {\n\t\treturn {\n\t\t\tmdiChevronLeft,\n\t\t\tmdiChevronRight,\n\t\t}\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tmc: null,\n\t\t\tplaying: false,\n\t\t\tslideshowTimeout: null,\n\t\t\tfocusTrap: null,\n\t\t\texternalFocusTrapStack: [],\n\t\t\trandId: GenRandomId(),\n\t\t\tinternalShow: true,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * slide show delay to set to CSS\n\t\t */\n\t\tcssSlideshowDelay() {\n\t\t\treturn `${this.slideshowDelay}ms`\n\t\t},\n\n\t\t/**\n\t\t * True if there are any buttons shown on the backdrop or a name (for accessibility)\n\t\t */\n\t\tforceDarkBackdrop() {\n\t\t\treturn (!this.noClose && this.canClose && !this.closeButtonContained)\n\t\t\t\t|| this.hasNext\n\t\t\t\t|| this.hasPrevious\n\t\t\t\t|| this.modalName !== ''\n\t\t\t\t|| Boolean(this.$slots.actions)\n\t\t},\n\n\t\t/**\n\t\t * Trimmed modal name\n\t\t */\n\t\tmodalName() {\n\t\t\treturn this.name.trim()\n\t\t},\n\n\t\t/**\n\t\t * ID of the element to label the modal\n\t\t */\n\t\tmodalLabelId() {\n\t\t\treturn this.labelId || `modal-name-${this.randId}`\n\t\t},\n\n\t\tshowModal() {\n\t\t\treturn (this.show === undefined) ? this.internalShow : this.show\n\t\t},\n\t\tmodalTransitionName() {\n\t\t\treturn `modal-${this.outTransition ? 'out' : 'in'}`\n\t\t},\n\t\tplayPauseName() {\n\t\t\treturn this.playing ? t('Pause slideshow') : t('Start slideshow')\n\t\t},\n\n\t\tcloseButtonAriaLabel() {\n\t\t\treturn t('Close')\n\t\t},\n\t\tprevButtonAriaLabel() {\n\t\t\treturn t('Previous')\n\t\t},\n\t\tnextButtonAriaLabel() {\n\t\t\treturn t('Next')\n\t\t},\n\t},\n\n\twatch: {\n\t\t/**\n\t\t * Handle play/pause of an ongoing slideshow\n\t\t *\n\t\t * @param {boolean} paused is the player paused\n\t\t */\n\t\tslideshowPaused(paused) {\n\t\t\tif (this.slideshowTimeout) {\n\t\t\t\tif (paused) {\n\t\t\t\t\tthis.slideshowTimeout.pause()\n\t\t\t\t} else {\n\t\t\t\t\tthis.slideshowTimeout.start()\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\tadditionalTrapElements(elements) {\n\t\t\tif (this.focusTrap) {\n\t\t\t\tconst contentContainer = this.$refs.mask\n\t\t\t\tthis.focusTrap.updateContainerElements([contentContainer, ...elements])\n\t\t\t}\n\t\t},\n\t},\n\n\tbeforeMount() {\n\t\twindow.addEventListener('keydown', this.handleKeydown)\n\t},\n\tbeforeDestroy() {\n\t\twindow.removeEventListener('keydown', this.handleKeydown)\n\t\tthis.mc.stop()\n\t},\n\tmounted() {\n\t\tif (!this.name && !this.labelId) {\n\t\t\tVue.util.warn('[NcModal] You need either set the name or set a `labelId` for accessibility.')\n\t\t}\n\n\t\t// init clear view\n\t\tthis.useFocusTrap()\n\t\tthis.mc = useSwipe(this.$refs.mask, {\n\t\t\tonSwipeEnd: this.handleSwipe,\n\t\t})\n\n\t\tif (this.container) {\n\t\t\tif (this.container === 'body') {\n\t\t\t\t// force mount the component to body\n\t\t\t\tdocument.body.insertBefore(this.$el, document.body.lastChild)\n\t\t\t} else {\n\t\t\t\tconst container = document.querySelector(this.container)\n\t\t\t\tcontainer.appendChild(this.$el)\n\t\t\t}\n\t\t}\n\t},\n\tdestroyed() {\n\t\tthis.clearFocusTrap()\n\t\tthis.$el.remove()\n\t},\n\n\tmethods: {\n\t\tt,\n\n\t\t// Events emitters\n\t\tprevious(event) {\n\t\t\t// do not send the event if nothing is available\n\t\t\tif (this.hasPrevious) {\n\t\t\t\t// if data is set, then it's a user mouse event\n\t\t\t\t// and not the slideshow handler, therefore\n\t\t\t\t// we reset the timer\n\t\t\t\tif (event) {\n\t\t\t\t\tthis.resetSlideshow()\n\t\t\t\t}\n\t\t\t\tthis.$emit('previous', event)\n\t\t\t}\n\t\t},\n\t\tnext(event) {\n\t\t\t// do not send the event if nothing is available\n\t\t\tif (this.hasNext) {\n\t\t\t\t// if data is set, then it's a mouse event\n\t\t\t\t// and not the slideshow handler, therefore\n\t\t\t\t// we reset the timer\n\t\t\t\tif (event) {\n\t\t\t\t\tthis.resetSlideshow()\n\t\t\t\t}\n\t\t\t\tthis.$emit('next', event)\n\t\t\t}\n\t\t},\n\t\tclose(data) {\n\t\t\t// do not fire event if forbidden\n\t\t\tif (!this.noClose && this.canClose) {\n\t\t\t\t// We set internalShow here, so the out transitions properly run before the component is destroyed\n\t\t\t\tthis.internalShow = false\n\t\t\t\tthis.$emit('update:show', false)\n\n\t\t\t\t// delay closing for animation\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t/**\n\t\t\t\t\t * Emitted when the closing animation is finished\n\t\t\t\t\t */\n\t\t\t\t\tthis.$emit('close', data)\n\t\t\t\t}, 300)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Handle click on modal wrapper\n\t\t * If `closeOnClickOutside` is set the modal will be closed\n\t\t *\n\t\t * @param {MouseEvent} event The click event\n\t\t */\n\t\thandleClickModalWrapper(event) {\n\t\t\tif (this.closeOnClickOutside) {\n\t\t\t\tthis.close(event)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * @param {KeyboardEvent} event - keyboard event\n\t\t */\n\t\thandleKeydown(event) {\n\t\t\tif (event.key === 'Escape') {\n\t\t\t\tconst trapStack = getTrapStack()\n\t\t\t\t// Only close the most recent focus trap modal\n\t\t\t\tif (trapStack.length > 0 && trapStack[trapStack.length - 1] !== this.focusTrap) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\treturn this.close(event)\n\t\t\t}\n\n\t\t\tconst arrowHandlers = {\n\t\t\t\tArrowLeft: this.previous,\n\t\t\t\tArrowRight: this.next,\n\t\t\t}\n\t\t\tif (arrowHandlers[event.key]) {\n\t\t\t\t// Ignore arrow navigation, if there is a current focus outside the modal.\n\t\t\t\t// For example, when the focus is in Sidebar or NcActions' items,\n\t\t\t\t// arrow navigation should not be intercepted by modal slider\n\t\t\t\tif (document.activeElement && !this.$el.contains(document.activeElement)) {\n\t\t\t\t\treturn\n\t\t\t\t}\n\t\t\t\treturn arrowHandlers[event.key](event)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * handle the swipe event\n\t\t *\n\t\t * @param {TouchEvent} e The touch event\n\t\t * @param {import('@vueuse/core').SwipeDirection} direction Swipe direction\n\t\t */\n\t\thandleSwipe(e, direction) {\n\t\t\tif (this.enableSwipe && !this.disableSwipe) {\n\t\t\t\tif (direction === 'left') {\n\t\t\t\t\t// swiping to left to go to the next item\n\t\t\t\t\tthis.next(e)\n\t\t\t\t} else if (direction === 'right') {\n\t\t\t\t\t// swiping to right to go back to the previous item\n\t\t\t\t\tthis.previous(e)\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Toggle the slideshow state\n\t\t */\n\t\ttogglePlayPause() {\n\t\t\tthis.playing = !this.playing\n\t\t\tif (this.playing) {\n\t\t\t\tthis.handleSlideshow()\n\t\t\t} else {\n\t\t\t\tthis.clearSlideshowTimeout()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Reset the slideshow timer and keep going if it was on\n\t\t */\n\t\tresetSlideshow() {\n\t\t\tthis.playing = !this.playing\n\t\t\tthis.clearSlideshowTimeout()\n\t\t\tthis.$nextTick(function() {\n\t\t\t\tthis.togglePlayPause()\n\t\t\t})\n\t\t},\n\n\t\t/**\n\t\t * Handle the slideshow timer and next event\n\t\t */\n\t\thandleSlideshow() {\n\t\t\tthis.playing = true\n\t\t\tif (this.hasNext) {\n\t\t\t\tthis.slideshowTimeout = new Timer(() => {\n\t\t\t\t\tthis.next()\n\t\t\t\t\tthis.handleSlideshow()\n\t\t\t\t}, this.slideshowDelay)\n\t\t\t} else {\n\t\t\t\tthis.playing = false\n\t\t\t\tthis.clearSlideshowTimeout()\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Clear slideshowTimeout if ongoing\n\t\t */\n\t\tclearSlideshowTimeout() {\n\t\t\tif (this.slideshowTimeout) {\n\t\t\t\tthis.slideshowTimeout.clear()\n\t\t\t}\n\t\t},\n\t\t/**\n\t\t * Add focus trap for accessibility.\n\t\t */\n\t\tasync useFocusTrap() {\n\t\t\t// Don't do anything if the modal is hidden,\n\t\t\t// or we have a focus trap already\n\t\t\tif (!this.showModal || this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\n\t\t\tconst contentContainer = this.$refs.mask\n\t\t\t// wait until all children are mounted and available in the DOM before focusTrap can be added\n\t\t\tawait this.$nextTick()\n\n\t\t\tconst options = {\n\t\t\t\tallowOutsideClick: true,\n\t\t\t\tfallbackFocus: contentContainer,\n\t\t\t\ttrapStack: getTrapStack(),\n\t\t\t\t// Esc can be used without stop in content or additionalTrapElements where it should not deactivate modal's focus trap.\n\t\t\t\t// Focus trap is deactivated on modal close anyway.\n\t\t\t\tescapeDeactivates: false,\n\t\t\t\tsetReturnFocus: this.setReturnFocus,\n\t\t\t}\n\n\t\t\t// Deactivate other focus traps to unlock modal elements\n\t\t\tthis.externalFocusTrapStack = [...options.trapStack]\n\t\t\tfor (const trap of this.externalFocusTrapStack) {\n\t\t\t\ttrap.deactivate()\n\t\t\t}\n\t\t\t// Init focus trap\n\t\t\tthis.focusTrap = createFocusTrap([contentContainer, ...this.additionalTrapElements], options)\n\t\t\tthis.focusTrap.activate()\n\t\t},\n\t\tclearFocusTrap() {\n\t\t\tif (!this.focusTrap) {\n\t\t\t\treturn\n\t\t\t}\n\t\t\tthis.focusTrap?.deactivate()\n\t\t\tthis.focusTrap = null\n\t\t\tfor (const trap of this.externalFocusTrapStack) {\n\t\t\t\ttrap.activate()\n\t\t\t}\n\t\t\tthis.externalFocusTrapStack = []\n\t\t},\n\n\t},\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.modal-mask {\n\t--backdrop-color: 0, 0, 0;\n\t--icon-size: 20px;\n\t--slideshow-duration: v-bind('cssSlideshowDelay');\n\tposition: fixed;\n\tz-index: 9998;\n\ttop: 0;\n\tinset-inline-start: 0;\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: rgba(var(--backdrop-color), .5);\n\n\t&--opaque {\n\t\tbackground-color: rgba(var(--backdrop-color), .92);\n\t}\n\n\t&--light {\n\t\t--backdrop-color: 255, 255, 255;\n\t}\n}\n\n.modal-header {\n\tposition: absolute;\n\tz-index: 10001;\n\ttop: 0;\n\tinset-inline: 0 0;\n\t// prevent vue show to use display:none and resetting\n\t// the circle animation loop\n\tdisplay: flex !important;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\theight: var(--header-height);\n\toverflow: hidden;\n\ttransition: opacity 250ms, visibility 250ms;\n\n\t&__name {\n\t\toverflow-x: hidden;\n\t\tbox-sizing: border-box;\n\t\twidth: 100%;\n\t\tpadding: 0 calc(var(--default-clickable-area) * 3) 0 12px; // maximum actions is 3\n\t\ttransition: padding ease 100ms;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t\tfont-size: $icon-size;\n\t\tmargin-block: 0;\n\t}\n\n\t// On wider screens the name can be centered\n\t@media only screen and (min-width: $breakpoint-mobile) {\n\t\t&__name {\n\t\t\tpadding-inline-start: calc(var(--default-clickable-area) * 3); // maximum actions is 3\n\t\t\ttext-align: center;\n\t\t}\n\t}\n\n\t.icons-menu {\n\t\tposition: absolute;\n\t\tinset-inline-end: 0;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: flex-end;\n\n\t\t.header-close {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbox-sizing: border-box;\n\t\t\tmargin: calc((var(--header-height) - var(--default-clickable-area)) / 2);\n\t\t\tpadding: 0;\n\t\t}\n\n\t\t.play-pause-icons {\n\t\t\tposition: relative;\n\t\t\twidth: var(--header-height);\n\t\t\theight: var(--header-height);\n\t\t\tmargin: 0;\n\t\t\tpadding: 0;\n\t\t\tcursor: pointer;\n\t\t\tborder: none;\n\t\t\tbackground-color: transparent;\n\t\t\t&:hover,\n\t\t\t&:focus {\n\t\t\t\t.play-pause-icons__play,\n\t\t\t\t.play-pause-icons__pause {\n\t\t\t\t\topacity: $opacity_full;\n\t\t\t\t\tborder-radius: calc(var(--default-clickable-area) / 2);\n\t\t\t\t\tbackground-color: $icon-focus-bg;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&__play,\n\t\t\t&__pause {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: var(--default-clickable-area);\n\t\t\t\theight: var(--default-clickable-area);\n\t\t\t\tmargin: calc((var(--header-height) - var(--default-clickable-area)) / 2);\n\t\t\t\tcursor: pointer;\n\t\t\t\topacity: $opacity_normal;\n\t\t\t}\n\t\t}\n\n\t\t&:deep() .action-item {\n\t\t\tmargin: calc((var(--header-height) - var(--default-clickable-area)) / 2);\n\n\t\t\t&--single {\n\t\t\t\tbox-sizing: border-box;\n\t\t\t\twidth: var(--default-clickable-area);\n\t\t\t\theight: var(--default-clickable-area);\n\t\t\t\tcursor: pointer;\n\t\t\t\tbackground-position: center;\n\t\t\t\tbackground-size: 22px;\n\t\t\t}\n\t\t}\n\n\t\t// The modal ignores the color theme and adds a black backdrop\n\t\t// so we need to add custom color of the actions toggle\n\t\t.header-actions :deep(button:focus-visible) {\n\t\t\tbox-shadow: none !important;\n\t\t\toutline: 2px solid #fff !important;\n\t\t}\n\n\t\t// Force the Actions menu icon to be the same size as other icons\n\t\t&:deep(.action-item__menutoggle) {\n\t\t\tpadding: 0;\n\t\t\tspan, svg {\n\t\t\t\twidth: var(--icon-size);\n\t\t\t\theight: var(--icon-size);\n\t\t\t}\n\t\t}\n\t}\n}\n\n.modal-wrapper {\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tbox-sizing: border-box;\n\twidth: 100%;\n\theight: 100%;\n\n\t/* Navigation buttons */\n\t.prev,\n\t.next {\n\t\tz-index: 10000;\n\t\theight: 35vh;\n\t\tmin-height: 300px;\n\t\tposition: absolute;\n\t\ttransition: opacity 250ms;\n\t\t// hover the mask\n\t\tcolor: white;\n\n\t\t&:focus-visible {\n\t\t\t// Override NcButton focus styles\n\t\t\tbox-shadow: 0 0 0 2px var(--color-primary-element-text);\n\t\t\tbackground-color: var(--color-box-shadow);\n\t\t}\n\t}\n\n\t.prev {\n\t\tinset-inline-start: 2px;\n\t}\n\t.next {\n\t\tinset-inline-end: 2px;\n\t}\n\n\t/* Content */\n\t.modal-container {\n\t\tposition: relative;\n\t\tdisplay: flex;\n\t\tpadding: 0;\n\t\ttransition: transform 300ms ease;\n\t\tborder-radius: var(--border-radius-large);\n\t\tbackground-color: var(--color-main-background);\n\t\tcolor: var(--color-main-text);\n\t\tbox-shadow: 0 0 40px rgba(0, 0, 0, .2);\n\n\t\t&__close {\n\t\t\t// Ensure the close button is always on top of the content\n\t\t\tz-index: 1;\n\t\t\tposition: absolute;\n\t\t\ttop: 4px;\n\t\t\tinset-inline-end: var(--default-grid-baseline);\n\t\t}\n\n\t\t&__content {\n\t\t\twidth: 100%;\n\t\t\tmin-height: 52px; // At least the close button shall fit in\n\t\t\toverflow: auto; // avoids unnecessary hacks if the content should be bigger than the modal\n\t\t}\n\t}\n\n\t// We allow 90% max-height, but we need to ensure the header does not overlap the modal\n\t// as the modal is centered, we need the space on top and bottom\n\t$max-modal-height: min(90%, calc(100% - 2 * var(--header-height)));\n\n\t// Sizing\n\t&--small {\n\t\t& > .modal-container {\n\t\t\twidth: 400px;\n\t\t\tmax-width: 90%;\n\t\t\tmax-height: $max-modal-height;\n\t\t}\n\t}\n\t&--normal {\n\t\t& > .modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 600px;\n\t\t\tmax-height: $max-modal-height;\n\t\t}\n\t}\n\t&--large {\n\t\t& > .modal-container {\n\t\t\tmax-width: 90%;\n\t\t\twidth: 900px;\n\t\t\tmax-height: $max-modal-height;\n\t\t}\n\t}\n\t&--full {\n\t\t& > .modal-container {\n\t\t\twidth: 100%;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: var(--header-height);\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n\n\t// Make modal full screen on mobile\n\t@media only screen and ((max-width: $breakpoint-small-mobile) or (max-height: 400px)) {\n\t\t.modal-container {\n\t\t\tmax-width: initial;\n\t\t\twidth: 100%;\n\t\t\tmax-height: initial;\n\t\t\theight: calc(100% - var(--header-height));\n\t\t\tposition: absolute;\n\t\t\ttop: var(--header-height);\n\t\t\tborder-radius: 0;\n\t\t}\n\t}\n}\n\n/* TRANSITIONS */\n.fade-enter-active,\n.fade-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.fade-enter,\n.fade-leave-to {\n\topacity: 0;\n}\n\n.fade-visibility-enter,\n.fade-visibility-leave-to {\n\tvisibility: hidden;\n\topacity: 0;\n}\n\n.modal-in-enter-active,\n.modal-in-leave-active,\n.modal-out-enter-active,\n.modal-out-leave-active {\n\ttransition: opacity 250ms;\n}\n\n.modal-in-enter,\n.modal-in-leave-to,\n.modal-out-enter,\n.modal-out-leave-to {\n\topacity: 0;\n}\n\n.modal-in-enter .modal-container,\n.modal-in-leave-to .modal-container {\n\ttransform: scale(.9);\n}\n\n.modal-out-enter .modal-container,\n.modal-out-leave-to .modal-container {\n\ttransform: scale(1.1);\n}\n\n// animated circle\n$radius: 15;\n$pi: 3.14159265358979;\n\n.modal-mask .play-pause-icons {\n\t.progress-ring {\n\t\tposition: absolute;\n\t\ttop: 0;\n\t\tinset-inline-start: 0;\n\t\ttransform: rotate(-90deg);\n\t\t.progress-ring__circle {\n\t\t\ttransition: 100ms stroke-dashoffset;\n\t\t\ttransform-origin: 50% 50%; // axis compensation\n\t\t\tanimation: progressring linear var(--slideshow-duration) infinite;\n\n\t\t\tstroke-linecap: round;\n\t\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t\t\tstroke-dasharray: $radius * 2 * $pi; // radius * 2 * PI\n\t\t}\n\t}\n\t&--paused {\n\t\t.icon-pause {\n\t\t\tanimation: breath 2s cubic-bezier(.4, 0, .2, 1) infinite;\n\t\t}\n\t\t.progress-ring__circle {\n\t\t\tanimation-play-state: paused !important;\n\t\t}\n\t}\n}\n\n// keyframes get scoped too and break the animation name, we need them unscoped\n@keyframes progressring {\n\tfrom {\n\t\tstroke-dashoffset: $radius * 2 * $pi; // radius * 2 * PI\n\t}\n\tto {\n\t\tstroke-dashoffset: 0;\n\t}\n}\n\n@keyframes breath {\n\t0% {\n\t\topacity: 1;\n\t}\n\t50% {\n\t\topacity: 0;\n\t}\n\t100% {\n\t\topacity: 1;\n\t}\n}\n\n</style>\n","/**\n * SPDX-FileCopyrightText: 2019 Nextcloud GmbH and Nextcloud contributors\n * SPDX-License-Identifier: AGPL-3.0-or-later\n */\n\nimport ScopeComponent from '../../utils/ScopeComponent.js'\nimport NcModal from './NcModal.vue'\n\nScopeComponent(NcModal)\n\nexport default NcModal\n"],"names":["_sfc_main","Close","NcActions","NcButton","NcIconSvgWrapper","mdiChevronLeft","mdiChevronRight","GenRandomId","t","Vue","useSwipe","getTrapStack","Timer","createFocusTrap","ScopeComponent"],"mappings":";;;;;;;;;;;;;;;;;AASe,SAAS,MAAM,UAAU,OAAO;AAC9C,MAAI;AACJ,MAAI;AACJ,MAAI,YAAY;AAChB,MAAI;AAEJ,OAAK,QAAQ,WAAW;AACvB,cAAU;AACV,cAAU,oBAAI,KAAI;AAClB,SAAK,WAAW,UAAU,SAAS;AAAA,EACrC;AAEC,OAAK,QAAQ,WAAW;AACvB,cAAU;AACV,iBAAa,EAAE;AACf,iBAAa,oBAAI,SAAS;AAAA,EAC5B;AAEC,OAAK,QAAQ,WAAW;AACvB,cAAU;AACV,iBAAa,EAAE;AACf,gBAAY;AAAA,EACd;AAEC,OAAK,cAAc,WAAW;AAC7B,QAAI,SAAS;AACZ,WAAK,MAAK;AACV,WAAK,MAAK;AAAA,IACb;AAEE,WAAO;AAAA,EACT;AAEC,OAAK,kBAAkB,WAAW;AACjC,WAAO;AAAA,EACT;AAEC,OAAK,MAAK;AACX;AC3BA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;AChBA,MAAAA,cAAA;AAAA,EACA,MAAA;AAAA,EACA,OAAA,CAAA,OAAA;AAAA,EACA,OAAA;AAAA,IACA,OAAA;AAAA,MACA,MAAA;AAAA,IACA;AAAA,IACA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;;;AC8TA,MAAA,cAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,OAAAC,MAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAAC,UAAA;AAAA,IACA,UAAAC;AAAAA,IACA,kBAAAC,iBAAA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,gBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,iBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,aAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,cAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,kBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,UAAA;AACA,eAAA,CAAA,SAAA,UAAA,SAAA,MAAA,EAAA,SAAA,IAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,UAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,WAAA;AAAA,MACA,MAAA,CAAA,QAAA,IAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,sBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,wBAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,eAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,IAEA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,gBAAA;AAAA,MACA,SAAA;AAAA,MACA,MAAA,CAAA,aAAA,YAAA,QAAA,OAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,QAAA;AACA,WAAA;AAAA,MACA,gBAAAC,IAAA;AAAA,MACA,iBAAAC,IAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AACA,WAAA;AAAA,MACA,IAAA;AAAA,MACA,SAAA;AAAA,MACA,kBAAA;AAAA,MACA,WAAA;AAAA,MACA,wBAAA,CAAA;AAAA,MACA,QAAAC,YAAAA,YAAA;AAAA,MACA,cAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,UAAA;AAAA;AAAA;AAAA;AAAA,IAIA,oBAAA;AACA,aAAA,GAAA,KAAA,cAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,oBAAA;AACA,aAAA,CAAA,KAAA,WAAA,KAAA,YAAA,CAAA,KAAA,wBACA,KAAA,WACA,KAAA,eACA,KAAA,cAAA,MACA,QAAA,KAAA,OAAA,OAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,YAAA;AACA,aAAA,KAAA,KAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,eAAA;AACA,aAAA,KAAA,WAAA,cAAA,KAAA,MAAA;AAAA,IACA;AAAA,IAEA,YAAA;AACA,aAAA,KAAA,SAAA,SAAA,KAAA,eAAA,KAAA;AAAA,IACA;AAAA,IACA,sBAAA;AACA,aAAA,SAAA,KAAA,gBAAA,QAAA,IAAA;AAAA,IACA;AAAA,IACA,gBAAA;AACA,aAAA,KAAA,UAAAC,MAAAA,EAAA,iBAAA,IAAAA,MAAA,EAAA,iBAAA;AAAA,IACA;AAAA,IAEA,uBAAA;AACA,aAAAA,MAAA,EAAA,OAAA;AAAA,IACA;AAAA,IACA,sBAAA;AACA,aAAAA,MAAA,EAAA,UAAA;AAAA,IACA;AAAA,IACA,sBAAA;AACA,aAAAA,MAAA,EAAA,MAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA,QAAA;AACA,UAAA,KAAA,kBAAA;AACA,YAAA,QAAA;AACA,eAAA,iBAAA,MAAA;AAAA,QACA,OAAA;AACA,eAAA,iBAAA,MAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA,IACA,uBAAA,UAAA;AACA,UAAA,KAAA,WAAA;AACA,cAAA,mBAAA,KAAA,MAAA;AACA,aAAA,UAAA,wBAAA,CAAA,kBAAA,GAAA,QAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,cAAA;AACA,WAAA,iBAAA,WAAA,KAAA,aAAA;AAAA,EACA;AAAA,EACA,gBAAA;AACA,WAAA,oBAAA,WAAA,KAAA,aAAA;AACA,SAAA,GAAA,KAAA;AAAA,EACA;AAAA,EACA,UAAA;AACA,QAAA,CAAA,KAAA,QAAA,CAAA,KAAA,SAAA;AACAC,2BAAA,KAAA,KAAA,8EAAA;AAAA,IACA;AAGA,SAAA,aAAA;AACA,SAAA,KAAAC,KAAAA,SAAA,KAAA,MAAA,MAAA;AAAA,MACA,YAAA,KAAA;AAAA,IACA,CAAA;AAEA,QAAA,KAAA,WAAA;AACA,UAAA,KAAA,cAAA,QAAA;AAEA,iBAAA,KAAA,aAAA,KAAA,KAAA,SAAA,KAAA,SAAA;AAAA,MACA,OAAA;AACA,cAAA,YAAA,SAAA,cAAA,KAAA,SAAA;AACA,kBAAA,YAAA,KAAA,GAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EACA,YAAA;AACA,SAAA,eAAA;AACA,SAAA,IAAA,OAAA;AAAA,EACA;AAAA,EAEA,SAAA;AAAA,IACA,GAAAF,MAAA;AAAA;AAAA,IAGA,SAAA,OAAA;AAEA,UAAA,KAAA,aAAA;AAIA,YAAA,OAAA;AACA,eAAA,eAAA;AAAA,QACA;AACA,aAAA,MAAA,YAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,KAAA,OAAA;AAEA,UAAA,KAAA,SAAA;AAIA,YAAA,OAAA;AACA,eAAA,eAAA;AAAA,QACA;AACA,aAAA,MAAA,QAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA,IACA,MAAA,MAAA;AAEA,UAAA,CAAA,KAAA,WAAA,KAAA,UAAA;AAEA,aAAA,eAAA;AACA,aAAA,MAAA,eAAA,KAAA;AAGA,mBAAA,MAAA;AAIA,eAAA,MAAA,SAAA,IAAA;AAAA,QACA,GAAA,GAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,wBAAA,OAAA;AACA,UAAA,KAAA,qBAAA;AACA,aAAA,MAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,cAAA,OAAA;AACA,UAAA,MAAA,QAAA,UAAA;AACA,cAAA,YAAAG,UAAA,aAAA;AAEA,YAAA,UAAA,SAAA,KAAA,UAAA,UAAA,SAAA,CAAA,MAAA,KAAA,WAAA;AACA;AAAA,QACA;AACA,eAAA,KAAA,MAAA,KAAA;AAAA,MACA;AAEA,YAAA,gBAAA;AAAA,QACA,WAAA,KAAA;AAAA,QACA,YAAA,KAAA;AAAA,MACA;AACA,UAAA,cAAA,MAAA,GAAA,GAAA;AAIA,YAAA,SAAA,iBAAA,CAAA,KAAA,IAAA,SAAA,SAAA,aAAA,GAAA;AACA;AAAA,QACA;AACA,eAAA,cAAA,MAAA,GAAA,EAAA,KAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,YAAA,GAAA,WAAA;AACA,UAAA,KAAA,eAAA,CAAA,KAAA,cAAA;AACA,YAAA,cAAA,QAAA;AAEA,eAAA,KAAA,CAAA;AAAA,QACA,WAAA,cAAA,SAAA;AAEA,eAAA,SAAA,CAAA;AAAA,QACA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AACA,WAAA,UAAA,CAAA,KAAA;AACA,UAAA,KAAA,SAAA;AACA,aAAA,gBAAA;AAAA,MACA,OAAA;AACA,aAAA,sBAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,iBAAA;AACA,WAAA,UAAA,CAAA,KAAA;AACA,WAAA,sBAAA;AACA,WAAA,UAAA,WAAA;AACA,aAAA,gBAAA;AAAA,MACA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,kBAAA;AACA,WAAA,UAAA;AACA,UAAA,KAAA,SAAA;AACA,aAAA,mBAAA,IAAAC,MAAA,MAAA;AACA,eAAA,KAAA;AACA,eAAA,gBAAA;AAAA,QACA,GAAA,KAAA,cAAA;AAAA,MACA,OAAA;AACA,aAAA,UAAA;AACA,aAAA,sBAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAKA,wBAAA;AACA,UAAA,KAAA,kBAAA;AACA,aAAA,iBAAA,MAAA;AAAA,MACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,MAAA,eAAA;AAGA,UAAA,CAAA,KAAA,aAAA,KAAA,WAAA;AACA;AAAA,MACA;AAEA,YAAA,mBAAA,KAAA,MAAA;AAEA,YAAA,KAAA,UAAA;AAEA,YAAA,UAAA;AAAA,QACA,mBAAA;AAAA,QACA,eAAA;AAAA,QACA,WAAAD,UAAAA,aAAA;AAAA;AAAA;AAAA,QAGA,mBAAA;AAAA,QACA,gBAAA,KAAA;AAAA,MACA;AAGA,WAAA,yBAAA,CAAA,GAAA,QAAA,SAAA;AACA,iBAAA,QAAA,KAAA,wBAAA;AACA,aAAA,WAAA;AAAA,MACA;AAEA,WAAA,YAAAE,4BAAA,CAAA,kBAAA,GAAA,KAAA,sBAAA,GAAA,OAAA;AACA,WAAA,UAAA,SAAA;AAAA,IACA;AAAA,IACA,iBAAA;AACA,UAAA,CAAA,KAAA,WAAA;AACA;AAAA,MACA;AACA,WAAA,WAAA,WAAA;AACA,WAAA,YAAA;AACA,iBAAA,QAAA,KAAA,wBAAA;AACA,aAAA,SAAA;AAAA,MACA;AACA,WAAA,yBAAA,CAAA;AAAA,IACA;AAAA,EAEA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACh3BAC,eAAAA,eAAe,OAAO;;","x_google_ignoreList":[1,2]}
@@ -1,19 +1,17 @@
1
- import '../assets/NcModal-ZfCDJxwd.css';
2
- import { S as ScopeComponent } from "../chunks/ScopeComponent-CEMLuQd5.mjs";
1
+ import '../assets/NcModal-BS5vtogq.css';
2
+ import { S as ScopeComponent } from "../chunks/ScopeComponent-BaHwjQGQ.mjs";
3
3
  import { useSwipe } from "@vueuse/core";
4
+ import { a as mdiChevronRight, b as mdiChevronLeft } from "../chunks/mdi-CZJxQPz6.mjs";
4
5
  import { createFocusTrap } from "focus-trap";
5
6
  import Vue, { useCssVars } from "vue";
6
- import { g as getTrapStack } from "../chunks/focusTrap-Cecv_gjR.mjs";
7
- import { r as register, G as t33, u as t17, a as t } from "../chunks/_l10n-DDKxBWQL.mjs";
8
7
  import { G as GenRandomId } from "../chunks/GenRandomId-CMooMQt0.mjs";
9
- import { N as NcActions } from "../chunks/NcActions-D3hGxwlc.mjs";
8
+ import { g as getTrapStack } from "../chunks/focusTrap-DmkaYJTC.mjs";
9
+ import { r as register, J as t33, n as t17, a as t } from "../chunks/_l10n-Dt0m9Fxw.mjs";
10
+ import { N as NcActions } from "../chunks/NcActions-Bkh3UMs3.mjs";
10
11
  import NcButton from "./NcButton.mjs";
11
- import "../Directives/Tooltip.mjs";
12
- import { C as ChevronLeft } from "../chunks/ChevronLeft-BK4j9oVH.mjs";
13
- import { C as ChevronRight } from "../chunks/ChevronRight-BUv-PtHh.mjs";
12
+ import { N as NcIconSvgWrapper } from "../chunks/NcIconSvgWrapper-RKuZn260.mjs";
14
13
  import { C as Close } from "../chunks/Close-BtLPUSdO.mjs";
15
14
  import { n as normalizeComponent } from "../chunks/_plugin-vue2_normalizer-DU4iP6Vu.mjs";
16
- import { VTooltip } from "floating-vue";
17
15
  register(t17, t33);
18
16
  function timer(callback, delay) {
19
17
  let id;
@@ -116,16 +114,12 @@ const Play = __component__$1.exports;
116
114
  const __default__ = {
117
115
  name: "NcModal",
118
116
  components: {
119
- NcActions,
120
- ChevronLeft,
121
- ChevronRight,
122
117
  Close,
123
118
  Pause,
124
119
  Play,
125
- NcButton
126
- },
127
- directives: {
128
- tooltip: VTooltip
120
+ NcActions,
121
+ NcButton,
122
+ NcIconSvgWrapper
129
123
  },
130
124
  props: {
131
125
  /**
@@ -210,7 +204,17 @@ const __default__ = {
210
204
  }
211
205
  },
212
206
  /**
213
- * Declare if the modal can be closed
207
+ * Do not show the close button for the dialog.
208
+ * @default false
209
+ */
210
+ noClose: {
211
+ type: Boolean,
212
+ default: false
213
+ },
214
+ /**
215
+ * Set to false to no show a close button on the dialog
216
+ * @deprecated - Use `noClose` instead. Will be removed in v9.
217
+ * @default true
214
218
  */
215
219
  canClose: {
216
220
  type: Boolean,
@@ -298,6 +302,12 @@ const __default__ = {
298
302
  "close",
299
303
  "update:show"
300
304
  ],
305
+ setup() {
306
+ return {
307
+ mdiChevronLeft,
308
+ mdiChevronRight
309
+ };
310
+ },
301
311
  data() {
302
312
  return {
303
313
  mc: null,
@@ -320,7 +330,7 @@ const __default__ = {
320
330
  * True if there are any buttons shown on the backdrop or a name (for accessibility)
321
331
  */
322
332
  forceDarkBackdrop() {
323
- return this.canClose && !this.closeButtonContained || this.hasNext || this.hasPrevious || this.modalName !== "" || Boolean(this.$slots.actions);
333
+ return !this.noClose && this.canClose && !this.closeButtonContained || this.hasNext || this.hasPrevious || this.modalName !== "" || Boolean(this.$slots.actions);
324
334
  },
325
335
  /**
326
336
  * Trimmed modal name
@@ -423,7 +433,7 @@ const __default__ = {
423
433
  }
424
434
  },
425
435
  close(data) {
426
- if (this.canClose) {
436
+ if (!this.noClose && this.canClose) {
427
437
  this.internalShow = false;
428
438
  this.$emit("update:show", false);
429
439
  setTimeout(() => {
@@ -563,7 +573,7 @@ const __default__ = {
563
573
  };
564
574
  const __injectCSSVars__ = () => {
565
575
  useCssVars((_vm, _setup) => ({
566
- "8ad040f8": _vm.cssSlideshowDelay
576
+ "189d6f6a": _vm.cssSlideshowDelay
567
577
  }));
568
578
  };
569
579
  const __setup__ = __default__.setup;
@@ -577,7 +587,7 @@ var _sfc_render = function render3() {
577
587
  return _c("transition", { attrs: { "name": "fade", "appear": "" }, on: { "after-enter": _vm.useFocusTrap, "before-leave": _vm.clearFocusTrap } }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.showModal, expression: "showModal" }], ref: "mask", staticClass: "modal-mask", class: {
578
588
  "modal-mask--opaque": _vm.dark || _vm.forceDarkBackdrop,
579
589
  "modal-mask--light": _vm.lightBackdrop
580
- }, attrs: { "role": "dialog", "aria-modal": "true", "aria-labelledby": _vm.modalLabelId, "aria-describedby": "modal-description-" + _vm.randId, "tabindex": "-1" } }, [_c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("div", { staticClass: "modal-header", attrs: { "data-theme-light": _vm.lightBackdrop, "data-theme-dark": !_vm.lightBackdrop } }, [_vm.modalName ? _c("h2", { staticClass: "modal-header__name", attrs: { "id": "modal-name-" + _vm.randId } }, [_vm._v(" " + _vm._s(_vm.modalName) + " ")]) : _vm._e(), _c("div", { staticClass: "icons-menu" }, [_vm.hasNext && _vm.enableSlideshow ? _c("button", { directives: [{ name: "tooltip", rawName: "v-tooltip.auto", value: _vm.playPauseName, expression: "playPauseName", modifiers: { "auto": true } }], staticClass: "play-pause-icons", class: { "play-pause-icons--paused": _vm.slideshowPaused }, attrs: { "type": "button" }, on: { "click": _vm.togglePlayPause } }, [!_vm.playing ? _c("Play", { staticClass: "play-pause-icons__play", attrs: { "size": 20 } }) : _c("Pause", { staticClass: "play-pause-icons__pause", attrs: { "size": 20 } }), _c("span", { staticClass: "hidden-visually" }, [_vm._v(" " + _vm._s(_vm.playPauseName) + " ")]), _vm.playing ? _c("svg", { staticClass: "progress-ring", attrs: { "height": "50", "width": "50" } }, [_c("circle", { staticClass: "progress-ring__circle", attrs: { "stroke": "white", "stroke-width": "2", "fill": "transparent", "r": "15", "cx": "25", "cy": "25" } })]) : _vm._e()], 1) : _vm._e(), _c("NcActions", { staticClass: "header-actions", attrs: { "inline": _vm.inlineActions } }, [_vm._t("actions")], 2), _vm.canClose && !_vm.closeButtonContained ? _c("NcButton", { staticClass: "header-close", attrs: { "aria-label": _vm.closeButtonAriaLabel, "type": "tertiary" }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
590
+ }, attrs: { "role": "dialog", "aria-modal": "true", "aria-labelledby": _vm.modalLabelId, "aria-describedby": "modal-description-" + _vm.randId, "tabindex": "-1" } }, [_c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("div", { staticClass: "modal-header", attrs: { "data-theme-light": _vm.lightBackdrop, "data-theme-dark": !_vm.lightBackdrop } }, [_vm.modalName ? _c("h2", { staticClass: "modal-header__name", attrs: { "id": "modal-name-" + _vm.randId } }, [_vm._v(" " + _vm._s(_vm.modalName) + " ")]) : _vm._e(), _c("div", { staticClass: "icons-menu" }, [_vm.hasNext && _vm.enableSlideshow ? _c("button", { staticClass: "play-pause-icons", class: { "play-pause-icons--paused": _vm.slideshowPaused }, attrs: { "title": _vm.playPauseName, "type": "button" }, on: { "click": _vm.togglePlayPause } }, [!_vm.playing ? _c("Play", { staticClass: "play-pause-icons__play", attrs: { "size": 20 } }) : _c("Pause", { staticClass: "play-pause-icons__pause", attrs: { "size": 20 } }), _c("span", { staticClass: "hidden-visually" }, [_vm._v(" " + _vm._s(_vm.playPauseName) + " ")]), _vm.playing ? _c("svg", { staticClass: "progress-ring", attrs: { "height": "50", "width": "50" } }, [_c("circle", { staticClass: "progress-ring__circle", attrs: { "stroke": "white", "stroke-width": "2", "fill": "transparent", "r": "15", "cx": "25", "cy": "25" } })]) : _vm._e()], 1) : _vm._e(), _c("NcActions", { staticClass: "header-actions", attrs: { "inline": _vm.inlineActions } }, [_vm._t("actions")], 2), !_vm.noClose && _vm.canClose && !_vm.closeButtonContained ? _c("NcButton", { staticClass: "header-close", attrs: { "aria-label": _vm.closeButtonAriaLabel, "variant": "tertiary" }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
581
591
  return [_c("Close", { attrs: { "size": 20 } })];
582
592
  }, proxy: true }], null, false, 2121748766) }) : _vm._e()], 1)])]), _c("transition", { attrs: { "name": _vm.modalTransitionName, "appear": "" } }, [_c("div", { directives: [{ name: "show", rawName: "v-show", value: _vm.showModal, expression: "showModal" }], staticClass: "modal-wrapper", class: [
583
593
  `modal-wrapper--${_vm.size}`,
@@ -585,12 +595,12 @@ var _sfc_render = function render3() {
585
595
  ], on: { "mousedown": function($event) {
586
596
  if ($event.target !== $event.currentTarget) return null;
587
597
  return _vm.handleClickModalWrapper.apply(null, arguments);
588
- } } }, [_c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("NcButton", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasPrevious, expression: "hasPrevious" }], staticClass: "prev", attrs: { "type": "tertiary-no-background", "aria-label": _vm.prevButtonAriaLabel }, on: { "click": _vm.previous }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
589
- return [_c("ChevronLeft", { attrs: { "size": 40 } })];
590
- }, proxy: true }]) })], 1), _c("div", { staticClass: "modal-container", attrs: { "id": "modal-description-" + _vm.randId } }, [_c("div", { staticClass: "modal-container__content" }, [_vm._t("default")], 2), _vm.canClose && _vm.closeButtonContained ? _c("NcButton", { staticClass: "modal-container__close", attrs: { "type": "tertiary", "aria-label": _vm.closeButtonAriaLabel }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
598
+ } } }, [_c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("NcButton", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasPrevious, expression: "hasPrevious" }], staticClass: "prev", attrs: { "aria-label": _vm.prevButtonAriaLabel, "variant": "tertiary-no-background" }, on: { "click": _vm.previous }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
599
+ return [_c("NcIconSvgWrapper", { attrs: { "directional": "", "path": _vm.mdiChevronLeft, "size": 40 } })];
600
+ }, proxy: true }]) })], 1), _c("div", { staticClass: "modal-container", attrs: { "id": "modal-description-" + _vm.randId } }, [_c("div", { staticClass: "modal-container__content" }, [_vm._t("default")], 2), !_vm.noClose && _vm.canClose && _vm.closeButtonContained ? _c("NcButton", { staticClass: "modal-container__close", attrs: { "aria-label": _vm.closeButtonAriaLabel, "variant": "tertiary" }, on: { "click": _vm.close }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
591
601
  return [_c("Close", { attrs: { "size": 20 } })];
592
- }, proxy: true }], null, false, 2121748766) }) : _vm._e()], 1), _c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("NcButton", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasNext, expression: "hasNext" }], staticClass: "next", attrs: { "type": "tertiary-no-background", "aria-label": _vm.nextButtonAriaLabel }, on: { "click": _vm.next }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
593
- return [_c("ChevronRight", { attrs: { "size": 40 } })];
602
+ }, proxy: true }], null, false, 2121748766) }) : _vm._e()], 1), _c("transition", { attrs: { "name": "fade-visibility", "appear": "" } }, [_c("NcButton", { directives: [{ name: "show", rawName: "v-show", value: _vm.hasNext, expression: "hasNext" }], staticClass: "next", attrs: { "aria-label": _vm.nextButtonAriaLabel, "variant": "tertiary-no-background" }, on: { "click": _vm.next }, scopedSlots: _vm._u([{ key: "icon", fn: function() {
603
+ return [_c("NcIconSvgWrapper", { attrs: { "directional": "", "path": _vm.mdiChevronRight, "size": 40 } })];
594
604
  }, proxy: true }]) })], 1)], 1)])], 1)]);
595
605
  };
596
606
  var _sfc_staticRenderFns = [];
@@ -600,10 +610,11 @@ var __component__ = /* @__PURE__ */ normalizeComponent(
600
610
  _sfc_staticRenderFns,
601
611
  false,
602
612
  null,
603
- "d5334a44"
613
+ "0fc6c354"
604
614
  );
605
615
  const NcModal = __component__.exports;
606
616
  ScopeComponent(NcModal);
607
617
  export {
608
618
  NcModal as default
609
619
  };
620
+ //# sourceMappingURL=NcModal.mjs.map