@nextcloud/vue 8.11.2 → 8.12.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 (789) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/Components/NcActionButton.cjs +68 -31
  3. package/dist/Components/NcActionButton.cjs.map +1 -1
  4. package/dist/Components/NcActionButton.mjs +68 -35
  5. package/dist/Components/NcActionButton.mjs.map +1 -1
  6. package/dist/Components/NcActionButtonGroup.cjs +2 -2
  7. package/dist/Components/NcActionButtonGroup.mjs +2 -2
  8. package/dist/Components/NcActionCaption.cjs +17 -14
  9. package/dist/Components/NcActionCaption.cjs.map +1 -1
  10. package/dist/Components/NcActionCaption.mjs +17 -15
  11. package/dist/Components/NcActionCaption.mjs.map +1 -1
  12. package/dist/Components/NcActionCheckbox.cjs +42 -24
  13. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  14. package/dist/Components/NcActionCheckbox.mjs +42 -27
  15. package/dist/Components/NcActionCheckbox.mjs.map +1 -1
  16. package/dist/Components/NcActionInput.cjs +2 -2
  17. package/dist/Components/NcActionInput.mjs +2 -2
  18. package/dist/Components/NcActionLink.cjs +29 -23
  19. package/dist/Components/NcActionLink.cjs.map +1 -1
  20. package/dist/Components/NcActionLink.mjs +29 -25
  21. package/dist/Components/NcActionLink.mjs.map +1 -1
  22. package/dist/Components/NcActionRadio.cjs +38 -25
  23. package/dist/Components/NcActionRadio.cjs.map +1 -1
  24. package/dist/Components/NcActionRadio.mjs +38 -28
  25. package/dist/Components/NcActionRadio.mjs.map +1 -1
  26. package/dist/Components/NcActionRouter.cjs +24 -20
  27. package/dist/Components/NcActionRouter.cjs.map +1 -1
  28. package/dist/Components/NcActionRouter.mjs +24 -22
  29. package/dist/Components/NcActionRouter.mjs.map +1 -1
  30. package/dist/Components/NcActionSeparator.cjs +15 -12
  31. package/dist/Components/NcActionSeparator.cjs.map +1 -1
  32. package/dist/Components/NcActionSeparator.mjs +15 -13
  33. package/dist/Components/NcActionSeparator.mjs.map +1 -1
  34. package/dist/Components/NcActionText.cjs +20 -16
  35. package/dist/Components/NcActionText.cjs.map +1 -1
  36. package/dist/Components/NcActionText.mjs +20 -18
  37. package/dist/Components/NcActionText.mjs.map +1 -1
  38. package/dist/Components/NcActionTextEditable.cjs +40 -29
  39. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  40. package/dist/Components/NcActionTextEditable.mjs +40 -33
  41. package/dist/Components/NcActionTextEditable.mjs.map +1 -1
  42. package/dist/Components/NcActions.cjs +2 -2
  43. package/dist/Components/NcActions.mjs +2 -2
  44. package/dist/Components/NcAppContent.cjs +2 -2
  45. package/dist/Components/NcAppContent.mjs +2 -2
  46. package/dist/Components/NcAppContentDetails.cjs +14 -11
  47. package/dist/Components/NcAppContentDetails.cjs.map +1 -1
  48. package/dist/Components/NcAppContentDetails.mjs +14 -12
  49. package/dist/Components/NcAppContentDetails.mjs.map +1 -1
  50. package/dist/Components/NcAppContentList.cjs +16 -13
  51. package/dist/Components/NcAppContentList.cjs.map +1 -1
  52. package/dist/Components/NcAppContentList.mjs +16 -14
  53. package/dist/Components/NcAppContentList.mjs.map +1 -1
  54. package/dist/Components/NcAppNavigation.cjs +2 -2
  55. package/dist/Components/NcAppNavigation.mjs +2 -2
  56. package/dist/Components/NcAppNavigationCaption.cjs +2 -2
  57. package/dist/Components/NcAppNavigationCaption.mjs +2 -2
  58. package/dist/Components/NcAppNavigationIconBullet.cjs +24 -18
  59. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  60. package/dist/Components/NcAppNavigationIconBullet.mjs +24 -19
  61. package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
  62. package/dist/Components/NcAppNavigationItem.cjs +2 -2
  63. package/dist/Components/NcAppNavigationItem.mjs +2 -2
  64. package/dist/Components/NcAppNavigationList.cjs +15 -12
  65. package/dist/Components/NcAppNavigationList.cjs.map +1 -1
  66. package/dist/Components/NcAppNavigationList.mjs +15 -13
  67. package/dist/Components/NcAppNavigationList.mjs.map +1 -1
  68. package/dist/Components/NcAppNavigationNew.cjs +27 -23
  69. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  70. package/dist/Components/NcAppNavigationNew.mjs +27 -25
  71. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  72. package/dist/Components/NcAppNavigationNewItem.cjs +2 -2
  73. package/dist/Components/NcAppNavigationNewItem.mjs +2 -2
  74. package/dist/Components/NcAppNavigationSettings.cjs +2 -2
  75. package/dist/Components/NcAppNavigationSettings.mjs +2 -2
  76. package/dist/Components/NcAppNavigationSpacer.cjs +15 -12
  77. package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
  78. package/dist/Components/NcAppNavigationSpacer.mjs +15 -13
  79. package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
  80. package/dist/Components/NcAppNavigationToggle.cjs +4 -4
  81. package/dist/Components/NcAppNavigationToggle.mjs +3 -3
  82. package/dist/Components/NcAppSettingsDialog.cjs +2 -2
  83. package/dist/Components/NcAppSettingsDialog.mjs +2 -2
  84. package/dist/Components/NcAppSettingsSection.cjs +29 -24
  85. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  86. package/dist/Components/NcAppSettingsSection.mjs +29 -25
  87. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  88. package/dist/Components/NcAppSidebar.cjs +2 -2
  89. package/dist/Components/NcAppSidebar.mjs +2 -2
  90. package/dist/Components/NcAppSidebarTab.cjs +24 -18
  91. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  92. package/dist/Components/NcAppSidebarTab.mjs +24 -19
  93. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  94. package/dist/Components/NcAvatar.cjs +2 -2
  95. package/dist/Components/NcAvatar.mjs +2 -2
  96. package/dist/Components/NcBreadcrumb.cjs +2 -2
  97. package/dist/Components/NcBreadcrumb.mjs +2 -2
  98. package/dist/Components/NcBreadcrumbs.cjs +2 -2
  99. package/dist/Components/NcBreadcrumbs.mjs +2 -2
  100. package/dist/Components/NcButton.cjs +80 -59
  101. package/dist/Components/NcButton.cjs.map +1 -1
  102. package/dist/Components/NcButton.mjs +80 -60
  103. package/dist/Components/NcButton.mjs.map +1 -1
  104. package/dist/Components/NcCheckboxRadioSwitch.cjs +2 -2
  105. package/dist/Components/NcCheckboxRadioSwitch.mjs +2 -2
  106. package/dist/Components/NcColorPicker.cjs +2 -2
  107. package/dist/Components/NcColorPicker.mjs +2 -2
  108. package/dist/Components/NcContent.cjs +2 -2
  109. package/dist/Components/NcContent.mjs +2 -2
  110. package/dist/Components/NcCounterBubble.cjs +18 -15
  111. package/dist/Components/NcCounterBubble.cjs.map +1 -1
  112. package/dist/Components/NcCounterBubble.mjs +18 -16
  113. package/dist/Components/NcCounterBubble.mjs.map +1 -1
  114. package/dist/Components/NcDashboardWidget.cjs +2 -2
  115. package/dist/Components/NcDashboardWidget.mjs +2 -2
  116. package/dist/Components/NcDashboardWidgetItem.cjs +2 -2
  117. package/dist/Components/NcDashboardWidgetItem.mjs +2 -2
  118. package/dist/Components/NcDateTime.cjs +2 -2
  119. package/dist/Components/NcDateTime.mjs +2 -2
  120. package/dist/Components/NcDateTimePicker.cjs +142 -101
  121. package/dist/Components/NcDateTimePicker.cjs.map +1 -1
  122. package/dist/Components/NcDateTimePicker.mjs +140 -108
  123. package/dist/Components/NcDateTimePicker.mjs.map +1 -1
  124. package/dist/Components/NcDateTimePickerNative.cjs +72 -52
  125. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  126. package/dist/Components/NcDateTimePickerNative.mjs +72 -54
  127. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  128. package/dist/Components/NcDialog.cjs +2 -2
  129. package/dist/Components/NcDialog.mjs +2 -2
  130. package/dist/Components/NcDialogButton.cjs +2 -2
  131. package/dist/Components/NcDialogButton.mjs +2 -2
  132. package/dist/Components/NcEllipsisedOption.cjs +35 -20
  133. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  134. package/dist/Components/NcEllipsisedOption.mjs +35 -22
  135. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  136. package/dist/Components/NcEmojiPicker.cjs +2 -2
  137. package/dist/Components/NcEmojiPicker.mjs +2 -2
  138. package/dist/Components/NcEmptyContent.cjs +22 -19
  139. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  140. package/dist/Components/NcEmptyContent.mjs +22 -20
  141. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  142. package/dist/Components/NcGuestContent.cjs +15 -12
  143. package/dist/Components/NcGuestContent.cjs.map +1 -1
  144. package/dist/Components/NcGuestContent.mjs +15 -13
  145. package/dist/Components/NcGuestContent.mjs.map +1 -1
  146. package/dist/Components/NcHeaderMenu.cjs +2 -2
  147. package/dist/Components/NcHeaderMenu.mjs +2 -2
  148. package/dist/Components/NcHighlight.cjs +2 -2
  149. package/dist/Components/NcHighlight.mjs +2 -2
  150. package/dist/Components/NcIconSvgWrapper.cjs +2 -2
  151. package/dist/Components/NcIconSvgWrapper.mjs +2 -2
  152. package/dist/Components/NcInputField.cjs +68 -52
  153. package/dist/Components/NcInputField.cjs.map +1 -1
  154. package/dist/Components/NcInputField.mjs +68 -57
  155. package/dist/Components/NcInputField.mjs.map +1 -1
  156. package/dist/Components/NcListItem.cjs +2 -2
  157. package/dist/Components/NcListItem.mjs +2 -2
  158. package/dist/Components/NcListItemIcon.cjs +2 -2
  159. package/dist/Components/NcListItemIcon.mjs +2 -2
  160. package/dist/Components/NcLoadingIcon.cjs +24 -16
  161. package/dist/Components/NcLoadingIcon.cjs.map +1 -1
  162. package/dist/Components/NcLoadingIcon.mjs +24 -17
  163. package/dist/Components/NcLoadingIcon.mjs.map +1 -1
  164. package/dist/Components/NcModal.cjs +257 -146
  165. package/dist/Components/NcModal.cjs.map +1 -1
  166. package/dist/Components/NcModal.mjs +257 -156
  167. package/dist/Components/NcModal.mjs.map +1 -1
  168. package/dist/Components/NcNoteCard.cjs +80 -65
  169. package/dist/Components/NcNoteCard.cjs.map +1 -1
  170. package/dist/Components/NcNoteCard.mjs +80 -66
  171. package/dist/Components/NcNoteCard.mjs.map +1 -1
  172. package/dist/Components/NcPasswordField.cjs +2 -2
  173. package/dist/Components/NcPasswordField.mjs +2 -2
  174. package/dist/Components/NcPopover.cjs +2 -2
  175. package/dist/Components/NcPopover.mjs +2 -2
  176. package/dist/Components/NcProgressBar.cjs +2 -2
  177. package/dist/Components/NcProgressBar.mjs +2 -2
  178. package/dist/Components/NcRelatedResourcesPanel.cjs +2 -2
  179. package/dist/Components/NcRelatedResourcesPanel.mjs +2 -2
  180. package/dist/Components/NcRichContenteditable.cjs +6 -5
  181. package/dist/Components/NcRichContenteditable.cjs.map +1 -1
  182. package/dist/Components/NcRichContenteditable.mjs +5 -5
  183. package/dist/Components/NcRichText.cjs +24 -22
  184. package/dist/Components/NcRichText.cjs.map +1 -1
  185. package/dist/Components/NcRichText.mjs +24 -24
  186. package/dist/Components/NcSavingIndicatorIcon.cjs +2 -2
  187. package/dist/Components/NcSavingIndicatorIcon.mjs +2 -2
  188. package/dist/Components/NcSelect.cjs +2 -2
  189. package/dist/Components/NcSelect.mjs +2 -2
  190. package/dist/Components/NcSelectTags.cjs +2 -2
  191. package/dist/Components/NcSelectTags.mjs +2 -2
  192. package/dist/Components/NcSettingsInputText.cjs +2 -2
  193. package/dist/Components/NcSettingsInputText.mjs +2 -2
  194. package/dist/Components/NcSettingsSection.cjs +2 -2
  195. package/dist/Components/NcSettingsSection.mjs +2 -2
  196. package/dist/Components/NcSettingsSelectGroup.cjs +4 -4
  197. package/dist/Components/NcSettingsSelectGroup.mjs +3 -3
  198. package/dist/Components/NcTextArea.cjs +51 -36
  199. package/dist/Components/NcTextArea.cjs.map +1 -1
  200. package/dist/Components/NcTextArea.mjs +51 -40
  201. package/dist/Components/NcTextArea.mjs.map +1 -1
  202. package/dist/Components/NcTextField.cjs +2 -2
  203. package/dist/Components/NcTextField.mjs +2 -2
  204. package/dist/Components/NcTimezonePicker.cjs +2 -2
  205. package/dist/Components/NcTimezonePicker.mjs +2 -2
  206. package/dist/Components/NcUserBubble.cjs +2 -2
  207. package/dist/Components/NcUserBubble.mjs +2 -2
  208. package/dist/Components/NcUserStatusIcon.cjs +2 -2
  209. package/dist/Components/NcUserStatusIcon.mjs +2 -2
  210. package/dist/Components/NcVNodes.cjs +15 -12
  211. package/dist/Components/NcVNodes.cjs.map +1 -1
  212. package/dist/Components/NcVNodes.mjs +15 -13
  213. package/dist/Components/NcVNodes.mjs.map +1 -1
  214. package/dist/Composables/useIsFullscreen.cjs +9 -8
  215. package/dist/Composables/useIsFullscreen.cjs.map +1 -1
  216. package/dist/Composables/useIsFullscreen.mjs +9 -8
  217. package/dist/Composables/useIsFullscreen.mjs.map +1 -1
  218. package/dist/Composables/useIsMobile.cjs +19 -14
  219. package/dist/Composables/useIsMobile.cjs.map +1 -1
  220. package/dist/Composables/useIsMobile.mjs +19 -14
  221. package/dist/Composables/useIsMobile.mjs.map +1 -1
  222. package/dist/Directives/Focus.cjs +6 -6
  223. package/dist/Directives/Focus.cjs.map +1 -1
  224. package/dist/Directives/Focus.mjs +5 -5
  225. package/dist/Directives/Focus.mjs.map +1 -1
  226. package/dist/Directives/Linkify.cjs +9 -6
  227. package/dist/Directives/Linkify.cjs.map +1 -1
  228. package/dist/Directives/Linkify.mjs +8 -6
  229. package/dist/Directives/Linkify.mjs.map +1 -1
  230. package/dist/Directives/Tooltip.cjs +11 -11
  231. package/dist/Directives/Tooltip.cjs.map +1 -1
  232. package/dist/Directives/Tooltip.mjs +9 -9
  233. package/dist/Directives/Tooltip.mjs.map +1 -1
  234. package/dist/Functions/a11y.cjs +33 -0
  235. package/dist/Functions/a11y.cjs.map +1 -0
  236. package/dist/Functions/a11y.mjs +33 -0
  237. package/dist/Functions/a11y.mjs.map +1 -0
  238. package/dist/Functions/emoji.cjs +8 -0
  239. package/dist/Functions/emoji.cjs.map +1 -0
  240. package/dist/Functions/emoji.mjs +8 -0
  241. package/dist/Functions/emoji.mjs.map +1 -0
  242. package/dist/Functions/reference.cjs +16 -15
  243. package/dist/Functions/reference.cjs.map +1 -1
  244. package/dist/Functions/reference.mjs +16 -16
  245. package/dist/Functions/registerReference.cjs +11 -11
  246. package/dist/Functions/registerReference.mjs +10 -10
  247. package/dist/Functions/usernameToColor.cjs +2 -2
  248. package/dist/Functions/usernameToColor.mjs +2 -2
  249. package/dist/Mixins/clickOutsideOptions.cjs +4 -3
  250. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  251. package/dist/Mixins/clickOutsideOptions.mjs +4 -3
  252. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  253. package/dist/Mixins/isFullscreen.cjs +4 -4
  254. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  255. package/dist/Mixins/isFullscreen.mjs +4 -4
  256. package/dist/Mixins/isFullscreen.mjs.map +1 -1
  257. package/dist/Mixins/isMobile.cjs +4 -4
  258. package/dist/Mixins/isMobile.cjs.map +1 -1
  259. package/dist/Mixins/isMobile.mjs +4 -4
  260. package/dist/Mixins/isMobile.mjs.map +1 -1
  261. package/dist/Mixins/richEditor.cjs +6 -6
  262. package/dist/Mixins/richEditor.mjs +5 -5
  263. package/dist/assets/{NcActionButton-Cs5kVVAD.css → NcActionButton-D08gPtwM.css} +27 -22
  264. package/dist/assets/{NcActionButtonGroup-ChehtUip.css → NcActionButtonGroup-CvloX35s.css} +5 -4
  265. package/dist/assets/{NcActionCaption-Bp8mrIk7.css → NcActionCaption-sfcjBZnu.css} +4 -2
  266. package/dist/assets/{NcActionCheckbox-Do--WvUT.css → NcActionCheckbox-DTlI7y7p.css} +13 -9
  267. package/dist/assets/{NcActionInput-8F2WF3yH.css → NcActionInput-B8l22cnm.css} +44 -16
  268. package/dist/assets/{NcActionLink-DN3NCDC0.css → NcActionLink-ufhOZDI9.css} +19 -16
  269. package/dist/assets/{NcActionRadio-B46v1Kn4.css → NcActionRadio-syUIsm9B.css} +13 -9
  270. package/dist/assets/{NcActionRouter-wVMPq1gi.css → NcActionRouter-BbTCI4sn.css} +12 -10
  271. package/dist/assets/{NcActionSeparator-CX3zFZuI.css → NcActionSeparator-CB59y4di.css} +4 -1
  272. package/dist/assets/{NcActionText-YljCzD9Q.css → NcActionText-Ceh88fy8.css} +12 -10
  273. package/dist/assets/{NcActionTextEditable-mti5YQN1.css → NcActionTextEditable-BoxziChR.css} +52 -24
  274. package/dist/assets/{NcActions-CiiQkX9v.css → NcActions-N_Y6Nzew.css} +40 -13
  275. package/dist/assets/{NcAppContent-aWiDWWeq.css → NcAppContent-C08OMmgh.css} +42 -17
  276. package/dist/assets/{NcAppNavigation-wkQJnaLW.css → NcAppNavigation-DlFgsfe2.css} +44 -11
  277. package/dist/assets/{NcAppNavigationCaption-jV1y8HQ1.css → NcAppNavigationCaption-DnApJ5OW.css} +13 -9
  278. package/dist/assets/{NcAppNavigationIconBullet-1_cBEwu8.css → NcAppNavigationIconBullet-B8q3pUL5.css} +5 -2
  279. package/dist/assets/{NcAppNavigationItem-hYyNqvah.css → NcAppNavigationItem-OJEHVyVk.css} +70 -48
  280. package/dist/assets/{NcAppNavigationList-CUnaMQQD.css → NcAppNavigationList-DnIxrbVX.css} +4 -1
  281. package/dist/assets/{NcAppNavigationNew-COjJ3vwU.css → NcAppNavigationNew-BPZ1O8Xm.css} +6 -1
  282. package/dist/assets/{NcAppNavigationNewItem-C574fgtB.css → NcAppNavigationNewItem-DF3nldsK.css} +26 -28
  283. package/dist/assets/{NcAppNavigationSettings-nH_pGlKc.css → NcAppNavigationSettings-BCkvRAy8.css} +11 -6
  284. package/dist/assets/{NcAppNavigationSpacer-C5p-33VT.css → NcAppNavigationSpacer-Cb4q1zb5.css} +4 -2
  285. package/dist/assets/{NcAppNavigationToggle-De8wq0JA.css → NcAppNavigationToggle-0yhQ9xse.css} +4 -1
  286. package/dist/assets/{NcAppSettingsDialog-DR46jcRG.css → NcAppSettingsDialog-CajWZJNV.css} +7 -5
  287. package/dist/assets/{NcAppSettingsSection-BqF92GLH.css → NcAppSettingsSection-BDvzWKkd.css} +5 -2
  288. package/dist/assets/{NcAppSidebar-DlVjDHcd.css → NcAppSidebar-DixS4RLm.css} +149 -53
  289. package/dist/assets/{NcAppSidebarTab-XLBsrGqg.css → NcAppSidebarTab-CBFET-hQ.css} +5 -2
  290. package/dist/assets/{NcAvatar-BozWHt1s.css → NcAvatar-C2EFGp-3.css} +30 -31
  291. package/dist/assets/{NcBreadcrumb-eyloXKCC.css → NcBreadcrumb-AES5eSWo.css} +8 -6
  292. package/dist/assets/{NcBreadcrumbs-E-TglkuV.css → NcBreadcrumbs-tYrp1DVs.css} +5 -3
  293. package/dist/assets/{NcButton-DhaPcomf.css → NcButton-DZS360ia.css} +56 -56
  294. package/dist/assets/{NcCheckboxRadioSwitch-CaAqi0Jt.css → NcCheckboxRadioSwitch-DArK1Q95.css} +76 -53
  295. package/dist/assets/{NcColorPicker-CNboc7FY.css → NcColorPicker-CzKZjMxY.css} +38 -33
  296. package/dist/assets/{NcContent-tZHbeX2L.css → NcContent-Cuv2HvFH.css} +29 -3
  297. package/dist/assets/{NcCounterBubble-CuCSao3j.css → NcCounterBubble-CWi_P1Tb.css} +6 -3
  298. package/dist/assets/{NcDashboardWidget-DTV15Fb1.css → NcDashboardWidget-CGOA8X60.css} +7 -3
  299. package/dist/assets/{NcDashboardWidgetItem-4v77FH89.css → NcDashboardWidgetItem-BevETFRF.css} +18 -3
  300. package/dist/assets/{NcDateTimePicker-q_BLnhHU.css → NcDateTimePicker-3FfsWOh0.css} +144 -163
  301. package/dist/assets/{NcDateTimePickerNative-DnLJu29_.css → NcDateTimePickerNative-CV_VuzvQ.css} +7 -4
  302. package/dist/assets/{NcDialog-DEKSpcnR.css → NcDialog-DFMxsFp5.css} +53 -20
  303. package/dist/assets/{NcEllipsisedOption-B6gjXSS9.css → NcEllipsisedOption-ClDzkIX6.css} +7 -6
  304. package/dist/assets/{NcEmojiPicker-B-4WNYcx.css → NcEmojiPicker-XL3oUsqE.css} +79 -50
  305. package/dist/assets/{NcEmptyContent-ClLPsXo5.css → NcEmptyContent-BY1-Gge4.css} +16 -12
  306. package/dist/assets/{NcGuestContent-CYYZPMjb.css → NcGuestContent-CeRLfUEi.css} +28 -1
  307. package/dist/assets/{NcHeaderMenu-BKufmJd0.css → NcHeaderMenu-N5y8yFGd.css} +7 -7
  308. package/dist/assets/{NcIconSvgWrapper-oui2KPBT.css → NcIconSvgWrapper-DF9sBD2g.css} +12 -9
  309. package/dist/assets/{NcInputConfirmCancel-CSzzPx0i.css → NcInputConfirmCancel-UcHrm0al.css} +7 -5
  310. package/dist/assets/{NcInputField-vYuV3-IY.css → NcInputField-CXoTqF9T.css} +16 -33
  311. package/dist/assets/{NcListItem-BIFTbr17.css → NcListItem-DMYcn1cc.css} +11 -21
  312. package/dist/assets/{NcListItemIcon-9Dazpmpd.css → NcListItemIcon-CuPMgXoB.css} +17 -19
  313. package/dist/assets/{NcLoadingIcon-CFmftMkz.css → NcLoadingIcon-gxK0ujO0.css} +5 -2
  314. package/dist/assets/{NcMentionBubble-7PQ8wEko.css → NcMentionBubble-DmzU72Mw.css} +5 -2
  315. package/dist/assets/{NcModal-CwgrmxSg.css → NcModal-Cof88czY.css} +42 -38
  316. package/dist/assets/{NcNoteCard-B_Q1mnCM.css → NcNoteCard-e7-Bxio8.css} +10 -6
  317. package/dist/assets/{NcPopover-wrgZy49g.css → NcPopover-BwI1hPzy.css} +4 -1
  318. package/dist/assets/{NcProgressBar-DDj4bmBB.css → NcProgressBar-D5VftcJm.css} +4 -1
  319. package/dist/assets/{NcRelatedResourcesPanel-D6K7OQFJ.css → NcRelatedResourcesPanel-BrXxbjgR.css} +60 -8
  320. package/dist/assets/{NcRichContenteditable-BQ2-fqnd.css → NcRichContenteditable-C-eZyVQM.css} +60 -22
  321. package/dist/assets/NcRichText-Cdp_2wEm.css +240 -0
  322. package/dist/assets/{NcSelect-4aBmXHhA.css → NcSelect-Fmyu7qyl.css} +34 -13
  323. package/dist/assets/{NcSettingsInputText-w-LprdjK.css → NcSettingsInputText-CU65Coab.css} +4 -1
  324. package/dist/assets/{NcSettingsSection-8RabR54v.css → NcSettingsSection-TX28tYCG.css} +16 -14
  325. package/dist/assets/{NcSettingsSelectGroup-D8mlvzIT.css → NcSettingsSelectGroup-CPauLI-o.css} +4 -1
  326. package/dist/assets/{NcTextArea-DitXCroY.css → NcTextArea-XCi8a16Y.css} +13 -28
  327. package/dist/assets/{NcUserBubble-COPMjmKa.css → NcUserBubble-D5ieZC-f.css} +7 -4
  328. package/dist/assets/{NcUserStatusIcon-Dra7jf_o.css → NcUserStatusIcon-BcLArDqV.css} +4 -1
  329. package/dist/assets/{Tooltip-DA4si7PR.css → Tooltip-jHgt4m-W.css} +19 -3
  330. package/dist/assets/referencePickerModal-BaGbKZky.css +539 -0
  331. package/dist/chunks/AlertCircleOutline-BzttElgq.mjs +39 -0
  332. package/dist/chunks/{AlertCircleOutline-DHFN4OkX.cjs.map → AlertCircleOutline-BzttElgq.mjs.map} +1 -1
  333. package/dist/chunks/AlertCircleOutline-Cb0gAiDw.cjs +38 -0
  334. package/dist/chunks/{AlertCircleOutline-U_bhL30C.mjs.map → AlertCircleOutline-Cb0gAiDw.cjs.map} +1 -1
  335. package/dist/chunks/ArrowLeft-B9iGweTd.mjs +39 -0
  336. package/dist/chunks/{ArrowLeft-CjNnGIlF.cjs.map → ArrowLeft-B9iGweTd.mjs.map} +1 -1
  337. package/dist/chunks/ArrowLeft-BhNmMdMz.cjs +38 -0
  338. package/dist/chunks/{ArrowLeft-kklNBL9z.mjs.map → ArrowLeft-BhNmMdMz.cjs.map} +1 -1
  339. package/dist/chunks/ArrowRight-Clf455e1.mjs +39 -0
  340. package/dist/chunks/{ArrowRight-CxzzJJQ6.cjs.map → ArrowRight-Clf455e1.mjs.map} +1 -1
  341. package/dist/chunks/ArrowRight-DaYrccVG.cjs +38 -0
  342. package/dist/chunks/{ArrowRight-C3BxTDjF.mjs.map → ArrowRight-DaYrccVG.cjs.map} +1 -1
  343. package/dist/chunks/Check-DZc7keoa.cjs +38 -0
  344. package/dist/chunks/{Check-CVn5nytg.cjs.map → Check-DZc7keoa.cjs.map} +1 -1
  345. package/dist/chunks/Check-PawIlCwa.mjs +39 -0
  346. package/dist/chunks/{Check-CRLmJNGG.mjs.map → Check-PawIlCwa.mjs.map} +1 -1
  347. package/dist/chunks/ChevronDown-CF9m1o8_.cjs +38 -0
  348. package/dist/chunks/{ChevronDown-DQPox_nl.cjs.map → ChevronDown-CF9m1o8_.cjs.map} +1 -1
  349. package/dist/chunks/ChevronDown-PedEroXo.mjs +39 -0
  350. package/dist/chunks/{ChevronDown-HHJdUMN4.mjs.map → ChevronDown-PedEroXo.mjs.map} +1 -1
  351. package/dist/chunks/ChevronRight-BNa7yMja.mjs +39 -0
  352. package/dist/chunks/{ChevronRight-BAJhNawb.cjs.map → ChevronRight-BNa7yMja.mjs.map} +1 -1
  353. package/dist/chunks/ChevronRight-DVw6mR11.cjs +38 -0
  354. package/dist/chunks/{ChevronRight-DL3e8bjj.mjs.map → ChevronRight-DVw6mR11.cjs.map} +1 -1
  355. package/dist/chunks/ChevronUp-CTOKWYlC.cjs +38 -0
  356. package/dist/chunks/{ChevronUp-kmHRpe7H.cjs.map → ChevronUp-CTOKWYlC.cjs.map} +1 -1
  357. package/dist/chunks/ChevronUp-DGLTg_nO.mjs +39 -0
  358. package/dist/chunks/{ChevronUp-B6TIgl1a.mjs.map → ChevronUp-DGLTg_nO.mjs.map} +1 -1
  359. package/dist/chunks/Close-1V1F2F-M.mjs +39 -0
  360. package/dist/chunks/{Close-DBfrdXMw.cjs.map → Close-1V1F2F-M.mjs.map} +1 -1
  361. package/dist/chunks/Close-C2VrgKj3.cjs +38 -0
  362. package/dist/chunks/{Close-BtO5TPBO.mjs.map → Close-C2VrgKj3.cjs.map} +1 -1
  363. package/dist/chunks/DotsHorizontal-C0STD_HU.mjs +39 -0
  364. package/dist/chunks/{DotsHorizontal-B8kTqpHe.cjs.map → DotsHorizontal-C0STD_HU.mjs.map} +1 -1
  365. package/dist/chunks/DotsHorizontal-Cjw3-45t.cjs +38 -0
  366. package/dist/chunks/{DotsHorizontal-DfVgEXgz.mjs.map → DotsHorizontal-Cjw3-45t.cjs.map} +1 -1
  367. package/dist/chunks/GenColors-CAUl-IDP.cjs +160 -0
  368. package/dist/chunks/{GenColors-Dceu3ds2.mjs.map → GenColors-CAUl-IDP.cjs.map} +1 -1
  369. package/dist/chunks/{GenColors-Dceu3ds2.mjs → GenColors-DcjtQMk3.mjs} +69 -50
  370. package/dist/chunks/{GenColors-hkqGpnOK.cjs.map → GenColors-DcjtQMk3.mjs.map} +1 -1
  371. package/dist/chunks/{GenRandomId-BW3iYFf9.mjs → GenRandomId-CXkjMlAT.mjs} +4 -2
  372. package/dist/chunks/{GenRandomId-BW3iYFf9.mjs.map → GenRandomId-CXkjMlAT.mjs.map} +1 -1
  373. package/dist/chunks/{GenRandomId-B2O1GMbH.cjs → GenRandomId-kBCcgMJd.cjs} +4 -2
  374. package/dist/chunks/{GenRandomId-B2O1GMbH.cjs.map → GenRandomId-kBCcgMJd.cjs.map} +1 -1
  375. package/dist/chunks/{Linkify-BaDLLFxP.mjs → Linkify-BBPJHBma.mjs} +12 -10
  376. package/dist/chunks/{Linkify-Dola0NBa.cjs.map → Linkify-BBPJHBma.mjs.map} +1 -1
  377. package/dist/chunks/{Linkify-Dola0NBa.cjs → Linkify-CIO279AG.cjs} +14 -10
  378. package/dist/chunks/{Linkify-BaDLLFxP.mjs.map → Linkify-CIO279AG.cjs.map} +1 -1
  379. package/dist/chunks/NcActionButtonGroup-D650-6zv.mjs +53 -0
  380. package/dist/chunks/{NcActionButtonGroup-DU1taycQ.mjs.map → NcActionButtonGroup-D650-6zv.mjs.map} +1 -1
  381. package/dist/chunks/NcActionButtonGroup-D7hycpXY.cjs +52 -0
  382. package/dist/chunks/{NcActionButtonGroup-B1XhnIBl.cjs.map → NcActionButtonGroup-D7hycpXY.cjs.map} +1 -1
  383. package/dist/chunks/NcActionInput-BqG7gSLn.mjs +254 -0
  384. package/dist/chunks/{NcActionInput-53RB9uQe.mjs.map → NcActionInput-BqG7gSLn.mjs.map} +1 -1
  385. package/dist/chunks/NcActionInput-CHucaM0V.cjs +253 -0
  386. package/dist/chunks/{NcActionInput-N2wrvq5K.cjs.map → NcActionInput-CHucaM0V.cjs.map} +1 -1
  387. package/dist/chunks/NcActions-CocYka0Y.mjs +845 -0
  388. package/dist/chunks/NcActions-CocYka0Y.mjs.map +1 -0
  389. package/dist/chunks/NcActions-JX6wbAVA.cjs +846 -0
  390. package/dist/chunks/NcActions-JX6wbAVA.cjs.map +1 -0
  391. package/dist/chunks/NcAppContent-CkO1Y93z.cjs +303 -0
  392. package/dist/chunks/{NcAppContent-BDhK1rUf.mjs.map → NcAppContent-CkO1Y93z.cjs.map} +1 -1
  393. package/dist/chunks/NcAppContent-wlhVbyg0.mjs +304 -0
  394. package/dist/chunks/{NcAppContent-Be1m1O_W.cjs.map → NcAppContent-wlhVbyg0.mjs.map} +1 -1
  395. package/dist/chunks/NcAppNavigation-BKiDVBw7.mjs +142 -0
  396. package/dist/chunks/{NcAppNavigation-DKUnWfen.cjs.map → NcAppNavigation-BKiDVBw7.mjs.map} +1 -1
  397. package/dist/chunks/NcAppNavigation-Du3J8BTm.cjs +143 -0
  398. package/dist/chunks/{NcAppNavigation-CElLRpH-.mjs.map → NcAppNavigation-Du3J8BTm.cjs.map} +1 -1
  399. package/dist/chunks/NcAppNavigationCaption-BoN0P7tD.cjs +78 -0
  400. package/dist/chunks/NcAppNavigationCaption-BoN0P7tD.cjs.map +1 -0
  401. package/dist/chunks/NcAppNavigationCaption-CKTQZ_u_.mjs +79 -0
  402. package/dist/chunks/NcAppNavigationCaption-CKTQZ_u_.mjs.map +1 -0
  403. package/dist/chunks/NcAppNavigationItem-D_lh17am.cjs +521 -0
  404. package/dist/chunks/NcAppNavigationItem-D_lh17am.cjs.map +1 -0
  405. package/dist/chunks/NcAppNavigationItem-qe8jnLow.mjs +522 -0
  406. package/dist/chunks/NcAppNavigationItem-qe8jnLow.mjs.map +1 -0
  407. package/dist/chunks/NcAppNavigationNewItem-B107Beoc.mjs +98 -0
  408. package/dist/chunks/{NcAppNavigationNewItem-CN3vYnc_.mjs.map → NcAppNavigationNewItem-B107Beoc.mjs.map} +1 -1
  409. package/dist/chunks/NcAppNavigationNewItem-DyxVXE5t.cjs +97 -0
  410. package/dist/chunks/{NcAppNavigationNewItem-5B4-U2NI.cjs.map → NcAppNavigationNewItem-DyxVXE5t.cjs.map} +1 -1
  411. package/dist/chunks/NcAppNavigationSettings-CmP_tXFm.cjs +110 -0
  412. package/dist/chunks/{NcAppNavigationSettings-LmpAoM-x.mjs.map → NcAppNavigationSettings-CmP_tXFm.cjs.map} +1 -1
  413. package/dist/chunks/NcAppNavigationSettings-DZ1-Sbdz.mjs +111 -0
  414. package/dist/chunks/{NcAppNavigationSettings-Cnr4jYzW.cjs.map → NcAppNavigationSettings-DZ1-Sbdz.mjs.map} +1 -1
  415. package/dist/chunks/NcAppNavigationToggle-hmEUqxbP.cjs +129 -0
  416. package/dist/chunks/{NcAppNavigationToggle-D0oeWL17.mjs.map → NcAppNavigationToggle-hmEUqxbP.cjs.map} +1 -1
  417. package/dist/chunks/NcAppNavigationToggle-zCGgvNDT.mjs +130 -0
  418. package/dist/chunks/{NcAppNavigationToggle-B5XmO21v.cjs.map → NcAppNavigationToggle-zCGgvNDT.mjs.map} +1 -1
  419. package/dist/chunks/NcAppSettingsDialog-D9cNYQ8b.mjs +230 -0
  420. package/dist/chunks/{NcAppSettingsDialog-BLOgrVCz.mjs.map → NcAppSettingsDialog-D9cNYQ8b.mjs.map} +1 -1
  421. package/dist/chunks/NcAppSettingsDialog-YqNhco1P.cjs +232 -0
  422. package/dist/chunks/{NcAppSettingsDialog-B6crPJ6a.cjs.map → NcAppSettingsDialog-YqNhco1P.cjs.map} +1 -1
  423. package/dist/chunks/NcAppSidebar-CQWODfsy.mjs +792 -0
  424. package/dist/chunks/NcAppSidebar-CQWODfsy.mjs.map +1 -0
  425. package/dist/chunks/NcAppSidebar-J15zHyfq.cjs +791 -0
  426. package/dist/chunks/NcAppSidebar-J15zHyfq.cjs.map +1 -0
  427. package/dist/chunks/NcAvatar-CX3OX2C4.mjs +594 -0
  428. package/dist/chunks/NcAvatar-CX3OX2C4.mjs.map +1 -0
  429. package/dist/chunks/NcAvatar-CYzikYku.cjs +595 -0
  430. package/dist/chunks/NcAvatar-CYzikYku.cjs.map +1 -0
  431. package/dist/chunks/NcBreadcrumb-DytGDsr8.mjs +206 -0
  432. package/dist/chunks/{NcBreadcrumb-BxCf2hEA.mjs.map → NcBreadcrumb-DytGDsr8.mjs.map} +1 -1
  433. package/dist/chunks/NcBreadcrumb-jMJw2OQJ.cjs +205 -0
  434. package/dist/chunks/{NcBreadcrumb-BRpLGeLr.cjs.map → NcBreadcrumb-jMJw2OQJ.cjs.map} +1 -1
  435. package/dist/chunks/NcBreadcrumbs-BqFPBZ-h.mjs +525 -0
  436. package/dist/chunks/{NcBreadcrumbs-BmK-6Q-n.mjs.map → NcBreadcrumbs-BqFPBZ-h.mjs.map} +1 -1
  437. package/dist/chunks/NcBreadcrumbs-CzObAKB-.cjs +527 -0
  438. package/dist/chunks/{NcBreadcrumbs-BKPXzHC1.cjs.map → NcBreadcrumbs-CzObAKB-.cjs.map} +1 -1
  439. package/dist/chunks/NcCheckboxRadioSwitch-CIHl8lnP.cjs +685 -0
  440. package/dist/chunks/NcCheckboxRadioSwitch-CIHl8lnP.cjs.map +1 -0
  441. package/dist/chunks/NcCheckboxRadioSwitch-CpupDtee.mjs +686 -0
  442. package/dist/chunks/NcCheckboxRadioSwitch-CpupDtee.mjs.map +1 -0
  443. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CAFQAKcK.mjs +3 -0
  444. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-CAFQAKcK.mjs.map +1 -0
  445. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-D2wGnjg7.cjs +4 -0
  446. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_6d6e6a47_lang-D2wGnjg7.cjs.map +1 -0
  447. package/dist/chunks/NcColorPicker-BEs2B-HB.mjs +191 -0
  448. package/dist/chunks/NcColorPicker-BEs2B-HB.mjs.map +1 -0
  449. package/dist/chunks/NcColorPicker-KrvDMhej.cjs +190 -0
  450. package/dist/chunks/NcColorPicker-KrvDMhej.cjs.map +1 -0
  451. package/dist/chunks/NcContent-CcrNrpVC.mjs +104 -0
  452. package/dist/chunks/{NcContent-BPA0KfuT.mjs.map → NcContent-CcrNrpVC.mjs.map} +1 -1
  453. package/dist/chunks/NcContent-DChC6Khv.cjs +103 -0
  454. package/dist/chunks/{NcContent-DbFAEdX_.cjs.map → NcContent-DChC6Khv.cjs.map} +1 -1
  455. package/dist/chunks/NcDashboardWidget-BvNtltPU.cjs +147 -0
  456. package/dist/chunks/{NcDashboardWidget-2-nW7dII.mjs.map → NcDashboardWidget-BvNtltPU.cjs.map} +1 -1
  457. package/dist/chunks/NcDashboardWidget-Da715DSB.mjs +148 -0
  458. package/dist/chunks/{NcDashboardWidget-auMQiAFt.cjs.map → NcDashboardWidget-Da715DSB.mjs.map} +1 -1
  459. package/dist/chunks/NcDashboardWidgetItem-BkJTg3kj.mjs +151 -0
  460. package/dist/chunks/{NcDashboardWidgetItem-D2yoF9Oo.mjs.map → NcDashboardWidgetItem-BkJTg3kj.mjs.map} +1 -1
  461. package/dist/chunks/NcDashboardWidgetItem-CKv_fb-1.cjs +150 -0
  462. package/dist/chunks/{NcDashboardWidgetItem-xqVAP32n.cjs.map → NcDashboardWidgetItem-CKv_fb-1.cjs.map} +1 -1
  463. package/dist/chunks/NcDateTime-CpJDGhl7.mjs +181 -0
  464. package/dist/chunks/NcDateTime-CpJDGhl7.mjs.map +1 -0
  465. package/dist/chunks/NcDateTime-Cy5Bp0d2.cjs +180 -0
  466. package/dist/chunks/NcDateTime-Cy5Bp0d2.cjs.map +1 -0
  467. package/dist/chunks/NcDialog-B3ZaXnpn.mjs +235 -0
  468. package/dist/chunks/{NcDialog-C_1rhUHk.mjs.map → NcDialog-B3ZaXnpn.mjs.map} +1 -1
  469. package/dist/chunks/NcDialog-C7KRNdTc.cjs +234 -0
  470. package/dist/chunks/{NcDialog-Ciz0hlFn.cjs.map → NcDialog-C7KRNdTc.cjs.map} +1 -1
  471. package/dist/chunks/NcDialogButton-BV3Kf9U7.mjs +79 -0
  472. package/dist/chunks/{NcDialogButton-DQFoaN7q.mjs.map → NcDialogButton-BV3Kf9U7.mjs.map} +1 -1
  473. package/dist/chunks/NcDialogButton-CLWLvwpm.cjs +78 -0
  474. package/dist/chunks/{NcDialogButton-D7ibBxsQ.cjs.map → NcDialogButton-CLWLvwpm.cjs.map} +1 -1
  475. package/dist/chunks/NcEmojiPicker-LFuZ15M5.cjs +285 -0
  476. package/dist/chunks/{NcEmojiPicker-S2pfwxlK.cjs.map → NcEmojiPicker-LFuZ15M5.cjs.map} +1 -1
  477. package/dist/chunks/NcEmojiPicker-SqbRSwu2.mjs +284 -0
  478. package/dist/chunks/{NcEmojiPicker-Cie30NYK.mjs.map → NcEmojiPicker-SqbRSwu2.mjs.map} +1 -1
  479. package/dist/chunks/NcHeaderMenu-2n5GDt37.mjs +226 -0
  480. package/dist/chunks/{NcHeaderMenu-DOGXti7v.mjs.map → NcHeaderMenu-2n5GDt37.mjs.map} +1 -1
  481. package/dist/chunks/NcHeaderMenu-830tFszI.cjs +225 -0
  482. package/dist/chunks/{NcHeaderMenu-58OTmM-5.cjs.map → NcHeaderMenu-830tFszI.cjs.map} +1 -1
  483. package/dist/chunks/NcIconSvgWrapper-KWEbPRC9.mjs +101 -0
  484. package/dist/chunks/{NcIconSvgWrapper-kIn1eQyv.cjs.map → NcIconSvgWrapper-KWEbPRC9.mjs.map} +1 -1
  485. package/dist/chunks/NcIconSvgWrapper-O61kZVNp.cjs +103 -0
  486. package/dist/chunks/{NcIconSvgWrapper-BTdzvQGV.mjs.map → NcIconSvgWrapper-O61kZVNp.cjs.map} +1 -1
  487. package/dist/chunks/NcInputConfirmCancel-CJ7nPGEd.cjs +112 -0
  488. package/dist/chunks/{NcInputConfirmCancel-DVmY85-V.cjs.map → NcInputConfirmCancel-CJ7nPGEd.cjs.map} +1 -1
  489. package/dist/chunks/NcInputConfirmCancel-XXXgXoSw.mjs +113 -0
  490. package/dist/chunks/{NcInputConfirmCancel-Nn_JgG9d.mjs.map → NcInputConfirmCancel-XXXgXoSw.mjs.map} +1 -1
  491. package/dist/chunks/NcListItem-CxpC4EKk.cjs +275 -0
  492. package/dist/chunks/{NcListItem-BopkGRDs.mjs.map → NcListItem-CxpC4EKk.cjs.map} +1 -1
  493. package/dist/chunks/NcListItem-DrTIia88.mjs +276 -0
  494. package/dist/chunks/{NcListItem-B_MPLJ_8.cjs.map → NcListItem-DrTIia88.mjs.map} +1 -1
  495. package/dist/chunks/NcListItemIcon-44A7fm62.cjs +175 -0
  496. package/dist/chunks/NcListItemIcon-44A7fm62.cjs.map +1 -0
  497. package/dist/chunks/NcListItemIcon-CTTJYWzN.mjs +176 -0
  498. package/dist/chunks/NcListItemIcon-CTTJYWzN.mjs.map +1 -0
  499. package/dist/chunks/NcPasswordField-DN-kdAfl.cjs +256 -0
  500. package/dist/chunks/{NcPasswordField-BgSp7dK4.mjs.map → NcPasswordField-DN-kdAfl.cjs.map} +1 -1
  501. package/dist/chunks/NcPasswordField-Z6BCKScy.mjs +254 -0
  502. package/dist/chunks/{NcPasswordField-BooDzf0Z.cjs.map → NcPasswordField-Z6BCKScy.mjs.map} +1 -1
  503. package/dist/chunks/NcPopover-BS1bBSkg.cjs +268 -0
  504. package/dist/chunks/{NcPopover--V3R3EKV.mjs.map → NcPopover-BS1bBSkg.cjs.map} +1 -1
  505. package/dist/chunks/NcPopover-foxJPAfG.mjs +267 -0
  506. package/dist/chunks/{NcPopover-h-t7Dnjk.cjs.map → NcPopover-foxJPAfG.mjs.map} +1 -1
  507. package/dist/chunks/NcProgressBar-BafFcKiu.mjs +117 -0
  508. package/dist/chunks/{NcProgressBar-BYk5hfPI.cjs.map → NcProgressBar-BafFcKiu.mjs.map} +1 -1
  509. package/dist/chunks/NcProgressBar-mFqoqB4L.cjs +116 -0
  510. package/dist/chunks/{NcProgressBar-DDAeXyp8.mjs.map → NcProgressBar-mFqoqB4L.cjs.map} +1 -1
  511. package/dist/chunks/NcRelatedResourcesPanel-D3QlWSNc.mjs +438 -0
  512. package/dist/chunks/{NcRelatedResourcesPanel-DaiuNCYU.cjs.map → NcRelatedResourcesPanel-D3QlWSNc.mjs.map} +1 -1
  513. package/dist/chunks/NcRelatedResourcesPanel-Dcm2wvfd.cjs +439 -0
  514. package/dist/chunks/{NcRelatedResourcesPanel-Ch1b_Gl3.mjs.map → NcRelatedResourcesPanel-Dcm2wvfd.cjs.map} +1 -1
  515. package/dist/chunks/NcRichContenteditable-BB-qsHEm.mjs +797 -0
  516. package/dist/chunks/{NcRichContenteditable-CEqdmoem.mjs.map → NcRichContenteditable-BB-qsHEm.mjs.map} +1 -1
  517. package/dist/chunks/NcRichContenteditable-DljQv8gw.cjs +800 -0
  518. package/dist/chunks/{NcRichContenteditable-BF3BkdqM.cjs.map → NcRichContenteditable-DljQv8gw.cjs.map} +1 -1
  519. package/dist/chunks/NcRichText-BDVKgmY5.cjs +419 -0
  520. package/dist/chunks/{NcRichText-DCkExl5g.cjs.map → NcRichText-BDVKgmY5.cjs.map} +1 -1
  521. package/dist/chunks/NcRichText-BT4VjvXi.mjs +412 -0
  522. package/dist/chunks/{NcRichText-CUKFkHQg.mjs.map → NcRichText-BT4VjvXi.mjs.map} +1 -1
  523. package/dist/chunks/NcSavingIndicatorIcon-Bhy7wcoT.mjs +65 -0
  524. package/dist/chunks/{NcSavingIndicatorIcon-Bf0SEmgS.mjs.map → NcSavingIndicatorIcon-Bhy7wcoT.mjs.map} +1 -1
  525. package/dist/chunks/NcSavingIndicatorIcon-BzKAIkhk.cjs +64 -0
  526. package/dist/chunks/{NcSavingIndicatorIcon-BTvUkUn-.cjs.map → NcSavingIndicatorIcon-BzKAIkhk.cjs.map} +1 -1
  527. package/dist/chunks/{NcSelect-Bo71Yd6L.mjs → NcSelect-CNm4fmR6.mjs} +159 -121
  528. package/dist/chunks/{NcSelect-Bn3oTHtq.cjs.map → NcSelect-CNm4fmR6.mjs.map} +1 -1
  529. package/dist/chunks/{NcSelect-Bn3oTHtq.cjs → NcSelect-DckQCxxX.cjs} +161 -111
  530. package/dist/chunks/{NcSelect-Bo71Yd6L.mjs.map → NcSelect-DckQCxxX.cjs.map} +1 -1
  531. package/dist/chunks/NcSelectTags-CnkBJ3vP.cjs +303 -0
  532. package/dist/chunks/{NcSelectTags-CgYWiDjX.cjs.map → NcSelectTags-CnkBJ3vP.cjs.map} +1 -1
  533. package/dist/chunks/NcSelectTags-nCqLANFH.mjs +302 -0
  534. package/dist/chunks/{NcSelectTags-9aCrLRT0.mjs.map → NcSelectTags-nCqLANFH.mjs.map} +1 -1
  535. package/dist/chunks/NcSettingsInputText-D-S5LBmN.mjs +102 -0
  536. package/dist/chunks/{NcSettingsInputText-JboV8u2l.mjs.map → NcSettingsInputText-D-S5LBmN.mjs.map} +1 -1
  537. package/dist/chunks/NcSettingsInputText-Dd3wEwGy.cjs +101 -0
  538. package/dist/chunks/{NcSettingsInputText-1i2TqdMB.cjs.map → NcSettingsInputText-Dd3wEwGy.cjs.map} +1 -1
  539. package/dist/chunks/NcSettingsSection-B0-LmypW.mjs +112 -0
  540. package/dist/chunks/NcSettingsSection-B0-LmypW.mjs.map +1 -0
  541. package/dist/chunks/NcSettingsSection-ayl3nvdL.cjs +111 -0
  542. package/dist/chunks/NcSettingsSection-ayl3nvdL.cjs.map +1 -0
  543. package/dist/chunks/NcSettingsSelectGroup-C51Km4wj.mjs +211 -0
  544. package/dist/chunks/{NcSettingsSelectGroup-DUzmbtZx.mjs.map → NcSettingsSelectGroup-C51Km4wj.mjs.map} +1 -1
  545. package/dist/chunks/NcSettingsSelectGroup-Dc7oy0Jg.cjs +213 -0
  546. package/dist/chunks/{NcSettingsSelectGroup-CgUJmyF7.cjs.map → NcSettingsSelectGroup-Dc7oy0Jg.cjs.map} +1 -1
  547. package/dist/chunks/NcTextField-BmOKGaQ4.cjs +150 -0
  548. package/dist/chunks/{NcTextField-B5cUYgRy.cjs.map → NcTextField-BmOKGaQ4.cjs.map} +1 -1
  549. package/dist/chunks/NcTextField-BmaDUUfq.mjs +151 -0
  550. package/dist/chunks/{NcTextField-D_eUEl2B.mjs.map → NcTextField-BmaDUUfq.mjs.map} +1 -1
  551. package/dist/chunks/{NcTimezonePicker-CH1lkCMF.mjs → NcTimezonePicker-BSgT2QA5.mjs} +814 -551
  552. package/dist/chunks/{NcTimezonePicker-CH1lkCMF.mjs.map → NcTimezonePicker-BSgT2QA5.mjs.map} +1 -1
  553. package/dist/chunks/{NcTimezonePicker-BF5TeadZ.cjs → NcTimezonePicker-iD8mrVb_.cjs} +814 -546
  554. package/dist/chunks/{NcTimezonePicker-BF5TeadZ.cjs.map → NcTimezonePicker-iD8mrVb_.cjs.map} +1 -1
  555. package/dist/chunks/NcUserBubble-BJp-ZBGW.mjs +211 -0
  556. package/dist/chunks/{NcUserBubble-BadEJRgs.cjs.map → NcUserBubble-BJp-ZBGW.mjs.map} +1 -1
  557. package/dist/chunks/NcUserBubble-BsQJPVXD.cjs +212 -0
  558. package/dist/chunks/{NcUserBubble-C0HbPO9p.mjs.map → NcUserBubble-BsQJPVXD.cjs.map} +1 -1
  559. package/dist/chunks/NcUserStatusIcon-Ba9ajMhK.cjs +170 -0
  560. package/dist/chunks/{NcUserStatusIcon-HOUdT_MR.mjs.map → NcUserStatusIcon-Ba9ajMhK.cjs.map} +1 -1
  561. package/dist/chunks/NcUserStatusIcon-BkO1ZAdq.mjs +168 -0
  562. package/dist/chunks/{NcUserStatusIcon-B69NZ9Hw.cjs.map → NcUserStatusIcon-BkO1ZAdq.mjs.map} +1 -1
  563. package/dist/chunks/{ScopeComponent-IO407Bzb.cjs → ScopeComponent-BpyBuaF3.cjs} +9 -4
  564. package/dist/chunks/{ScopeComponent-IO407Bzb.cjs.map → ScopeComponent-BpyBuaF3.cjs.map} +1 -1
  565. package/dist/chunks/{ScopeComponent-Dz4pyD77.mjs → ScopeComponent-Dy6ublmy.mjs} +9 -4
  566. package/dist/chunks/{ScopeComponent-Dz4pyD77.mjs.map → ScopeComponent-Dy6ublmy.mjs.map} +1 -1
  567. package/dist/chunks/_l10n-BYPqjHzt.cjs +121 -0
  568. package/dist/chunks/_l10n-BYPqjHzt.cjs.map +1 -0
  569. package/dist/chunks/_l10n-hRR5zBTZ.mjs +122 -0
  570. package/dist/chunks/_l10n-hRR5zBTZ.mjs.map +1 -0
  571. package/dist/chunks/_plugin-vue2_normalizer-D637Qkok.mjs +59 -0
  572. package/dist/chunks/_plugin-vue2_normalizer-D637Qkok.mjs.map +1 -0
  573. package/dist/chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs +58 -0
  574. package/dist/chunks/_plugin-vue2_normalizer-DbFIE4_M.cjs.map +1 -0
  575. package/dist/chunks/{actionGlobal-DL1VaQzF.cjs → actionGlobal-BfK-CImU.cjs} +2 -2
  576. package/dist/chunks/{actionGlobal-D49NL940.mjs.map → actionGlobal-BfK-CImU.cjs.map} +1 -1
  577. package/dist/chunks/{actionGlobal-D49NL940.mjs → actionGlobal-DV5ZiuS0.mjs} +2 -2
  578. package/dist/chunks/{actionGlobal-DL1VaQzF.cjs.map → actionGlobal-DV5ZiuS0.mjs.map} +1 -1
  579. package/dist/chunks/{actionText-jLsEBszD.mjs → actionText-BaGktsVf.mjs} +21 -17
  580. package/dist/chunks/{actionText-jLsEBszD.mjs.map → actionText-BaGktsVf.mjs.map} +1 -1
  581. package/dist/chunks/{actionText-iWNpvZuI.cjs → actionText-BnA6RS9I.cjs} +21 -17
  582. package/dist/chunks/{actionText-iWNpvZuI.cjs.map → actionText-BnA6RS9I.cjs.map} +1 -1
  583. package/dist/chunks/autolink-Bgjz08wN.cjs +125 -0
  584. package/dist/chunks/autolink-Bgjz08wN.cjs.map +1 -0
  585. package/dist/chunks/autolink-DA7VzS8Y.mjs +126 -0
  586. package/dist/chunks/autolink-DA7VzS8Y.mjs.map +1 -0
  587. package/dist/chunks/emoji-CWr00EYY.cjs +87 -0
  588. package/dist/chunks/emoji-CWr00EYY.cjs.map +1 -0
  589. package/dist/chunks/emoji-CbOkKZx5.mjs +86 -0
  590. package/dist/chunks/emoji-CbOkKZx5.mjs.map +1 -0
  591. package/dist/chunks/{focusTrap-xauhLvvr.cjs → focusTrap-Dsmd28wG.cjs} +4 -3
  592. package/dist/chunks/{focusTrap-Be9GEB5C.mjs.map → focusTrap-Dsmd28wG.cjs.map} +1 -1
  593. package/dist/chunks/{focusTrap-Be9GEB5C.mjs → focusTrap-hWDNhn4t.mjs} +4 -3
  594. package/dist/chunks/{focusTrap-xauhLvvr.cjs.map → focusTrap-hWDNhn4t.mjs.map} +1 -1
  595. package/dist/chunks/{getAvatarUrl-BHpn8LgJ.mjs → getAvatarUrl-BBvqBOJD.mjs} +7 -7
  596. package/dist/chunks/{getAvatarUrl-BHpn8LgJ.mjs.map → getAvatarUrl-BBvqBOJD.mjs.map} +1 -1
  597. package/dist/chunks/{getAvatarUrl-CjIpoO6I.cjs → getAvatarUrl-C40xfr4C.cjs} +7 -7
  598. package/dist/chunks/{getAvatarUrl-CjIpoO6I.cjs.map → getAvatarUrl-C40xfr4C.cjs.map} +1 -1
  599. package/dist/chunks/index-BRQQ9NaL.mjs +198 -0
  600. package/dist/chunks/{index-uiNhPYvS.mjs.map → index-BRQQ9NaL.mjs.map} +1 -1
  601. package/dist/chunks/index-BwyQ2N-M.mjs +119 -0
  602. package/dist/chunks/index-BwyQ2N-M.mjs.map +1 -0
  603. package/dist/chunks/index-D0euettC.cjs +201 -0
  604. package/dist/chunks/{index-CMnR5Pf6.cjs.map → index-D0euettC.cjs.map} +1 -1
  605. package/dist/chunks/index-DYccGIvD.mjs +197 -0
  606. package/dist/chunks/{index-CnpswYi6.mjs.map → index-DYccGIvD.mjs.map} +1 -1
  607. package/dist/chunks/index-Dl-SBuhJ.cjs +196 -0
  608. package/dist/chunks/{index-Cke9rKBg.cjs.map → index-Dl-SBuhJ.cjs.map} +1 -1
  609. package/dist/chunks/index-Dsgv-f-l.cjs +118 -0
  610. package/dist/chunks/index-Dsgv-f-l.cjs.map +1 -0
  611. package/dist/chunks/{logger-D9RRY4er.cjs → logger-BcZGm6Un.cjs} +3 -3
  612. package/dist/chunks/{logger-C7qcfVW8.mjs.map → logger-BcZGm6Un.cjs.map} +1 -1
  613. package/dist/chunks/{logger-C7qcfVW8.mjs → logger-C7ZZ6zFQ.mjs} +3 -3
  614. package/dist/chunks/{logger-D9RRY4er.cjs.map → logger-C7ZZ6zFQ.mjs.map} +1 -1
  615. package/dist/chunks/referencePickerModal-CFPdv-m1.mjs +3469 -0
  616. package/dist/chunks/referencePickerModal-CFPdv-m1.mjs.map +1 -0
  617. package/dist/chunks/referencePickerModal-m0FcnvxK.cjs +3471 -0
  618. package/dist/chunks/referencePickerModal-m0FcnvxK.cjs.map +1 -0
  619. package/dist/chunks/{usernameToColor-BHkzj1tb.mjs → usernameToColor-CLlyFMmy.mjs} +22 -16
  620. package/dist/chunks/{usernameToColor-BHkzj1tb.mjs.map → usernameToColor-CLlyFMmy.mjs.map} +1 -1
  621. package/dist/chunks/usernameToColor-cfXKb46d.cjs +48 -0
  622. package/dist/chunks/{usernameToColor-DA36rR48.cjs.map → usernameToColor-cfXKb46d.cjs.map} +1 -1
  623. package/dist/composables/useFormatDateTime.d.ts +57 -0
  624. package/dist/index.cjs +284 -224
  625. package/dist/index.cjs.map +1 -1
  626. package/dist/index.mjs +287 -306
  627. package/dist/index.mjs.map +1 -1
  628. package/dist/plugin.d.ts +2 -1
  629. package/package.json +8 -8
  630. package/dist/assets/NcRichText-DNXuHl34.css +0 -229
  631. package/dist/assets/referencePickerModal-DWB2ghBg.css +0 -336
  632. package/dist/chunks/AlertCircleOutline-DHFN4OkX.cjs +0 -35
  633. package/dist/chunks/AlertCircleOutline-U_bhL30C.mjs +0 -37
  634. package/dist/chunks/ArrowLeft-CjNnGIlF.cjs +0 -35
  635. package/dist/chunks/ArrowLeft-kklNBL9z.mjs +0 -37
  636. package/dist/chunks/ArrowRight-C3BxTDjF.mjs +0 -37
  637. package/dist/chunks/ArrowRight-CxzzJJQ6.cjs +0 -35
  638. package/dist/chunks/Check-CRLmJNGG.mjs +0 -37
  639. package/dist/chunks/Check-CVn5nytg.cjs +0 -35
  640. package/dist/chunks/ChevronDown-DQPox_nl.cjs +0 -35
  641. package/dist/chunks/ChevronDown-HHJdUMN4.mjs +0 -37
  642. package/dist/chunks/ChevronRight-BAJhNawb.cjs +0 -35
  643. package/dist/chunks/ChevronRight-DL3e8bjj.mjs +0 -37
  644. package/dist/chunks/ChevronUp-B6TIgl1a.mjs +0 -37
  645. package/dist/chunks/ChevronUp-kmHRpe7H.cjs +0 -35
  646. package/dist/chunks/Close-BtO5TPBO.mjs +0 -37
  647. package/dist/chunks/Close-DBfrdXMw.cjs +0 -35
  648. package/dist/chunks/DotsHorizontal-B8kTqpHe.cjs +0 -35
  649. package/dist/chunks/DotsHorizontal-DfVgEXgz.mjs +0 -37
  650. package/dist/chunks/GenColors-hkqGpnOK.cjs +0 -141
  651. package/dist/chunks/NcActionButtonGroup-B1XhnIBl.cjs +0 -46
  652. package/dist/chunks/NcActionButtonGroup-DU1taycQ.mjs +0 -50
  653. package/dist/chunks/NcActionInput-53RB9uQe.mjs +0 -244
  654. package/dist/chunks/NcActionInput-N2wrvq5K.cjs +0 -235
  655. package/dist/chunks/NcActions-BtvXtZF4.cjs +0 -688
  656. package/dist/chunks/NcActions-BtvXtZF4.cjs.map +0 -1
  657. package/dist/chunks/NcActions-DiFslXqv.mjs +0 -696
  658. package/dist/chunks/NcActions-DiFslXqv.mjs.map +0 -1
  659. package/dist/chunks/NcAppContent-BDhK1rUf.mjs +0 -265
  660. package/dist/chunks/NcAppContent-Be1m1O_W.cjs +0 -256
  661. package/dist/chunks/NcAppNavigation-CElLRpH-.mjs +0 -124
  662. package/dist/chunks/NcAppNavigation-DKUnWfen.cjs +0 -115
  663. package/dist/chunks/NcAppNavigationCaption-Cdcv-0jj.cjs +0 -58
  664. package/dist/chunks/NcAppNavigationCaption-Cdcv-0jj.cjs.map +0 -1
  665. package/dist/chunks/NcAppNavigationCaption-DI7SIPdI.mjs +0 -61
  666. package/dist/chunks/NcAppNavigationCaption-DI7SIPdI.mjs.map +0 -1
  667. package/dist/chunks/NcAppNavigationItem-7xN_CMHW.cjs +0 -463
  668. package/dist/chunks/NcAppNavigationItem-7xN_CMHW.cjs.map +0 -1
  669. package/dist/chunks/NcAppNavigationItem-Djfc0DPY.mjs +0 -475
  670. package/dist/chunks/NcAppNavigationItem-Djfc0DPY.mjs.map +0 -1
  671. package/dist/chunks/NcAppNavigationNewItem-5B4-U2NI.cjs +0 -87
  672. package/dist/chunks/NcAppNavigationNewItem-CN3vYnc_.mjs +0 -91
  673. package/dist/chunks/NcAppNavigationSettings-Cnr4jYzW.cjs +0 -104
  674. package/dist/chunks/NcAppNavigationSettings-LmpAoM-x.mjs +0 -106
  675. package/dist/chunks/NcAppNavigationToggle-B5XmO21v.cjs +0 -119
  676. package/dist/chunks/NcAppNavigationToggle-D0oeWL17.mjs +0 -122
  677. package/dist/chunks/NcAppSettingsDialog-B6crPJ6a.cjs +0 -184
  678. package/dist/chunks/NcAppSettingsDialog-BLOgrVCz.mjs +0 -191
  679. package/dist/chunks/NcAppSidebar-CqER6-dl.mjs +0 -606
  680. package/dist/chunks/NcAppSidebar-CqER6-dl.mjs.map +0 -1
  681. package/dist/chunks/NcAppSidebar-qC5-u1p0.cjs +0 -588
  682. package/dist/chunks/NcAppSidebar-qC5-u1p0.cjs.map +0 -1
  683. package/dist/chunks/NcAvatar-BBhoG-za.mjs +0 -486
  684. package/dist/chunks/NcAvatar-BBhoG-za.mjs.map +0 -1
  685. package/dist/chunks/NcAvatar-BuqOk4mX.cjs +0 -467
  686. package/dist/chunks/NcAvatar-BuqOk4mX.cjs.map +0 -1
  687. package/dist/chunks/NcBreadcrumb-BRpLGeLr.cjs +0 -180
  688. package/dist/chunks/NcBreadcrumb-BxCf2hEA.mjs +0 -186
  689. package/dist/chunks/NcBreadcrumbs-BKPXzHC1.cjs +0 -412
  690. package/dist/chunks/NcBreadcrumbs-BmK-6Q-n.mjs +0 -422
  691. package/dist/chunks/NcCheckboxRadioSwitch-B9w3Znu7.cjs +0 -603
  692. package/dist/chunks/NcCheckboxRadioSwitch-B9w3Znu7.cjs.map +0 -1
  693. package/dist/chunks/NcCheckboxRadioSwitch-BOl1O2zi.mjs +0 -607
  694. package/dist/chunks/NcCheckboxRadioSwitch-BOl1O2zi.mjs.map +0 -1
  695. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-CCwH-BzH.mjs +0 -3
  696. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-CCwH-BzH.mjs.map +0 -1
  697. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-DAxGPyzS.cjs +0 -4
  698. package/dist/chunks/NcCheckboxRadioSwitch.vue_vue_type_style_index_0_scoped_2603be83_lang-DAxGPyzS.cjs.map +0 -1
  699. package/dist/chunks/NcColorPicker-CeoImUTC.mjs +0 -178
  700. package/dist/chunks/NcColorPicker-CeoImUTC.mjs.map +0 -1
  701. package/dist/chunks/NcColorPicker-DOcxlY35.cjs +0 -168
  702. package/dist/chunks/NcColorPicker-DOcxlY35.cjs.map +0 -1
  703. package/dist/chunks/NcContent-BPA0KfuT.mjs +0 -87
  704. package/dist/chunks/NcContent-DbFAEdX_.cjs +0 -80
  705. package/dist/chunks/NcDashboardWidget-2-nW7dII.mjs +0 -141
  706. package/dist/chunks/NcDashboardWidget-auMQiAFt.cjs +0 -135
  707. package/dist/chunks/NcDashboardWidgetItem-D2yoF9Oo.mjs +0 -143
  708. package/dist/chunks/NcDashboardWidgetItem-xqVAP32n.cjs +0 -138
  709. package/dist/chunks/NcDateTime-CeOdKcvC.mjs +0 -146
  710. package/dist/chunks/NcDateTime-CeOdKcvC.mjs.map +0 -1
  711. package/dist/chunks/NcDateTime-DneyKibb.cjs +0 -142
  712. package/dist/chunks/NcDateTime-DneyKibb.cjs.map +0 -1
  713. package/dist/chunks/NcDialog-C_1rhUHk.mjs +0 -214
  714. package/dist/chunks/NcDialog-Ciz0hlFn.cjs +0 -207
  715. package/dist/chunks/NcDialogButton-D7ibBxsQ.cjs +0 -69
  716. package/dist/chunks/NcDialogButton-DQFoaN7q.mjs +0 -74
  717. package/dist/chunks/NcEmojiPicker-Cie30NYK.mjs +0 -251
  718. package/dist/chunks/NcEmojiPicker-S2pfwxlK.cjs +0 -241
  719. package/dist/chunks/NcHeaderMenu-58OTmM-5.cjs +0 -187
  720. package/dist/chunks/NcHeaderMenu-DOGXti7v.mjs +0 -193
  721. package/dist/chunks/NcIconSvgWrapper-BTdzvQGV.mjs +0 -93
  722. package/dist/chunks/NcIconSvgWrapper-kIn1eQyv.cjs +0 -89
  723. package/dist/chunks/NcInputConfirmCancel-DVmY85-V.cjs +0 -92
  724. package/dist/chunks/NcInputConfirmCancel-Nn_JgG9d.mjs +0 -97
  725. package/dist/chunks/NcListItem-B_MPLJ_8.cjs +0 -233
  726. package/dist/chunks/NcListItem-BopkGRDs.mjs +0 -238
  727. package/dist/chunks/NcListItemIcon-CI23iFQz.mjs +0 -166
  728. package/dist/chunks/NcListItemIcon-CI23iFQz.mjs.map +0 -1
  729. package/dist/chunks/NcListItemIcon-Dwgi2cPr.cjs +0 -163
  730. package/dist/chunks/NcListItemIcon-Dwgi2cPr.cjs.map +0 -1
  731. package/dist/chunks/NcPasswordField-BgSp7dK4.mjs +0 -238
  732. package/dist/chunks/NcPasswordField-BooDzf0Z.cjs +0 -229
  733. package/dist/chunks/NcPopover--V3R3EKV.mjs +0 -239
  734. package/dist/chunks/NcPopover-h-t7Dnjk.cjs +0 -233
  735. package/dist/chunks/NcProgressBar-BYk5hfPI.cjs +0 -96
  736. package/dist/chunks/NcProgressBar-DDAeXyp8.mjs +0 -99
  737. package/dist/chunks/NcRelatedResourcesPanel-Ch1b_Gl3.mjs +0 -381
  738. package/dist/chunks/NcRelatedResourcesPanel-DaiuNCYU.cjs +0 -371
  739. package/dist/chunks/NcRichContenteditable-BF3BkdqM.cjs +0 -640
  740. package/dist/chunks/NcRichContenteditable-CEqdmoem.mjs +0 -649
  741. package/dist/chunks/NcRichText-CUKFkHQg.mjs +0 -355
  742. package/dist/chunks/NcRichText-DCkExl5g.cjs +0 -339
  743. package/dist/chunks/NcSavingIndicatorIcon-BTvUkUn-.cjs +0 -59
  744. package/dist/chunks/NcSavingIndicatorIcon-Bf0SEmgS.mjs +0 -62
  745. package/dist/chunks/NcSelectTags-9aCrLRT0.mjs +0 -258
  746. package/dist/chunks/NcSelectTags-CgYWiDjX.cjs +0 -252
  747. package/dist/chunks/NcSettingsInputText-1i2TqdMB.cjs +0 -92
  748. package/dist/chunks/NcSettingsInputText-JboV8u2l.mjs +0 -95
  749. package/dist/chunks/NcSettingsSection-CNMpCD3o.cjs +0 -96
  750. package/dist/chunks/NcSettingsSection-CNMpCD3o.cjs.map +0 -1
  751. package/dist/chunks/NcSettingsSection-Lgwm3w2e.mjs +0 -98
  752. package/dist/chunks/NcSettingsSection-Lgwm3w2e.mjs.map +0 -1
  753. package/dist/chunks/NcSettingsSelectGroup-CgUJmyF7.cjs +0 -185
  754. package/dist/chunks/NcSettingsSelectGroup-DUzmbtZx.mjs +0 -192
  755. package/dist/chunks/NcTextField-B5cUYgRy.cjs +0 -140
  756. package/dist/chunks/NcTextField-D_eUEl2B.mjs +0 -146
  757. package/dist/chunks/NcUserBubble-BadEJRgs.cjs +0 -193
  758. package/dist/chunks/NcUserBubble-C0HbPO9p.mjs +0 -198
  759. package/dist/chunks/NcUserStatusIcon-B69NZ9Hw.cjs +0 -150
  760. package/dist/chunks/NcUserStatusIcon-HOUdT_MR.mjs +0 -157
  761. package/dist/chunks/_l10n-B8iumFKB.cjs +0 -66
  762. package/dist/chunks/_l10n-B8iumFKB.cjs.map +0 -1
  763. package/dist/chunks/_l10n-BaNxGGXy.mjs +0 -68
  764. package/dist/chunks/_l10n-BaNxGGXy.mjs.map +0 -1
  765. package/dist/chunks/_plugin-vue2_normalizer-Bj5bLKV4.mjs +0 -32
  766. package/dist/chunks/_plugin-vue2_normalizer-Bj5bLKV4.mjs.map +0 -1
  767. package/dist/chunks/_plugin-vue2_normalizer-GXKvuwrq.cjs +0 -31
  768. package/dist/chunks/_plugin-vue2_normalizer-GXKvuwrq.cjs.map +0 -1
  769. package/dist/chunks/autolink-DNGB8YSW.mjs +0 -86
  770. package/dist/chunks/autolink-DNGB8YSW.mjs.map +0 -1
  771. package/dist/chunks/autolink-MMzlO_Ai.cjs +0 -82
  772. package/dist/chunks/autolink-MMzlO_Ai.cjs.map +0 -1
  773. package/dist/chunks/emoji-DEH9dtOa.cjs +0 -59
  774. package/dist/chunks/emoji-DEH9dtOa.cjs.map +0 -1
  775. package/dist/chunks/emoji-k4gWHxrE.mjs +0 -62
  776. package/dist/chunks/emoji-k4gWHxrE.mjs.map +0 -1
  777. package/dist/chunks/index-Bh9FEWbr.cjs +0 -87
  778. package/dist/chunks/index-Bh9FEWbr.cjs.map +0 -1
  779. package/dist/chunks/index-CMnR5Pf6.cjs +0 -157
  780. package/dist/chunks/index-CU14QsCg.mjs +0 -88
  781. package/dist/chunks/index-CU14QsCg.mjs.map +0 -1
  782. package/dist/chunks/index-Cke9rKBg.cjs +0 -148
  783. package/dist/chunks/index-CnpswYi6.mjs +0 -149
  784. package/dist/chunks/index-uiNhPYvS.mjs +0 -163
  785. package/dist/chunks/referencePickerModal-AvSHyw1b.mjs +0 -2428
  786. package/dist/chunks/referencePickerModal-AvSHyw1b.mjs.map +0 -1
  787. package/dist/chunks/referencePickerModal-B_Su3XpN.cjs +0 -2408
  788. package/dist/chunks/referencePickerModal-B_Su3XpN.cjs.map +0 -1
  789. package/dist/chunks/usernameToColor-DA36rR48.cjs +0 -39
@@ -0,0 +1,235 @@
1
+ import '../assets/NcDialog-DFMxsFp5.css';
2
+ import { useElementSize } from "@vueuse/core";
3
+ import { defineComponent, ref, computed } from "vue";
4
+ import NcModal from "../Components/NcModal.mjs";
5
+ import { N as NcDialogButton } from "./NcDialogButton-BV3Kf9U7.mjs";
6
+ import { G as GenRandomId } from "./GenRandomId-CXkjMlAT.mjs";
7
+ import { n as normalizeComponent } from "./_plugin-vue2_normalizer-D637Qkok.mjs";
8
+ const _sfc_main = defineComponent({
9
+ name: "NcDialog",
10
+ components: {
11
+ NcDialogButton,
12
+ NcModal
13
+ },
14
+ props: {
15
+ /** Name of the dialog (the heading) */
16
+ name: {
17
+ type: String,
18
+ required: true
19
+ },
20
+ /** Text of the dialog */
21
+ message: {
22
+ type: String,
23
+ default: ""
24
+ },
25
+ /** Additional elements to add to the focus trap */
26
+ additionalTrapElements: {
27
+ type: Array,
28
+ validator: (arr) => {
29
+ return Array.isArray(arr) && arr.every(
30
+ (element) => typeof element === "string" || element instanceof HTMLElement
31
+ );
32
+ },
33
+ default: () => []
34
+ },
35
+ /**
36
+ * The element where to mount the dialog, if `null` is passed the dialog is mounted in place
37
+ * @default 'body'
38
+ */
39
+ container: {
40
+ type: String,
41
+ required: false,
42
+ default: "body"
43
+ },
44
+ /**
45
+ * Whether the dialog should be shown
46
+ * @default true
47
+ */
48
+ open: {
49
+ type: Boolean,
50
+ default: true
51
+ },
52
+ /**
53
+ * Size of the underlying NcModal
54
+ * @default 'small'
55
+ * @type {'small'|'normal'|'large'|'full'}
56
+ */
57
+ size: {
58
+ type: String,
59
+ required: false,
60
+ default: "small",
61
+ validator: (value) => typeof value === "string" && ["small", "normal", "large", "full"].includes(value)
62
+ },
63
+ /**
64
+ * Buttons to display
65
+ * @default []
66
+ */
67
+ buttons: {
68
+ type: Array,
69
+ required: false,
70
+ default: () => [],
71
+ validator: (value) => Array.isArray(value) && value.every((element) => typeof element === "object")
72
+ },
73
+ /**
74
+ * Set to false to no show a close button on the dialog
75
+ * @default true
76
+ */
77
+ canClose: {
78
+ type: Boolean,
79
+ default: true
80
+ },
81
+ /**
82
+ * Close the dialog if the user clicked outside of the dialog
83
+ * Only relevant if `canClose` is set to true.
84
+ */
85
+ closeOnClickOutside: {
86
+ type: Boolean,
87
+ default: false
88
+ },
89
+ /**
90
+ * Declare if hiding the modal should be animated
91
+ * @default false
92
+ */
93
+ outTransition: {
94
+ type: Boolean,
95
+ default: false
96
+ },
97
+ /**
98
+ * Optionally pass additionaly classes which will be set on the navigation for custom styling
99
+ * @default ''
100
+ * @example
101
+ * ```html
102
+ * <DialogBase :navigation-classes="['mydialog-navigation']"><!-- --></DialogBase>
103
+ * <!-- ... -->
104
+ * <style lang="scss">
105
+ * :deep(.mydialog-navigation) {
106
+ * flex-direction: row-reverse;
107
+ * }
108
+ * </style>
109
+ * ```
110
+ */
111
+ navigationClasses: {
112
+ type: [String, Array, Object],
113
+ required: false,
114
+ default: ""
115
+ },
116
+ /**
117
+ * aria-label for the dialog navigation.
118
+ * Use it when you want to provide a more meaningful label than the dialog name.
119
+ *
120
+ * By default, navigation is labeled by the dialog name.
121
+ */
122
+ navigationAriaLabel: {
123
+ type: String,
124
+ required: false,
125
+ default: ""
126
+ },
127
+ /**
128
+ * aria-labelledby for the dialog navigation.
129
+ * Use it when you have an implicit navigation label (e.g. a heading).
130
+ *
131
+ * By default, navigation is labeled by the dialog name.
132
+ */
133
+ navigationAriaLabelledby: {
134
+ type: String,
135
+ required: false,
136
+ default: ""
137
+ },
138
+ /**
139
+ * Optionally pass additionaly classes which will be set on the content wrapper for custom styling
140
+ * @default ''
141
+ */
142
+ contentClasses: {
143
+ type: [String, Array, Object],
144
+ required: false,
145
+ default: ""
146
+ },
147
+ /**
148
+ * Optionally pass additionaly classes which will be set on the dialog itself
149
+ * (the default `class` attribute will be set on the modal wrapper)
150
+ * @default ''
151
+ */
152
+ dialogClasses: {
153
+ type: [String, Array, Object],
154
+ required: false,
155
+ default: ""
156
+ }
157
+ },
158
+ emits: ["closing", "update:open"],
159
+ setup(props, { emit, slots }) {
160
+ const wrapper = ref();
161
+ const { width: dialogWidth } = useElementSize(wrapper, { width: 900 });
162
+ const isNavigationCollapsed = computed(() => dialogWidth.value < 876);
163
+ const hasNavigation = computed(() => (slots == null ? void 0 : slots.navigation) !== void 0);
164
+ const navigationId = ref(GenRandomId());
165
+ const navigationAriaLabelAttr = computed(() => props.navigationAriaLabel || void 0);
166
+ const navigationAriaLabelledbyAttr = computed(() => {
167
+ if (props.navigationAriaLabel) {
168
+ return void 0;
169
+ }
170
+ return props.navigationAriaLabelledby || navigationId.value;
171
+ });
172
+ const showModal = ref(true);
173
+ const handleButtonClose = () => {
174
+ handleClosing();
175
+ window.setTimeout(() => handleClosed(), 300);
176
+ };
177
+ const handleClosing = () => {
178
+ showModal.value = false;
179
+ emit("closing");
180
+ };
181
+ const handleClosed = () => {
182
+ showModal.value = true;
183
+ emit("update:open", false);
184
+ };
185
+ const modalProps = computed(() => ({
186
+ canClose: props.canClose,
187
+ container: props.container === void 0 ? "body" : props.container,
188
+ // we do not pass the name as we already have the name as the headline
189
+ // name: props.name,
190
+ size: props.size,
191
+ show: props.open && showModal.value,
192
+ outTransition: props.outTransition,
193
+ closeOnClickOutside: props.closeOnClickOutside,
194
+ additionalTrapElements: props.additionalTrapElements
195
+ }));
196
+ return {
197
+ handleButtonClose,
198
+ handleClosing,
199
+ handleClosed,
200
+ hasNavigation,
201
+ navigationId,
202
+ navigationAriaLabelAttr,
203
+ navigationAriaLabelledbyAttr,
204
+ isNavigationCollapsed,
205
+ modalProps,
206
+ wrapper
207
+ };
208
+ }
209
+ });
210
+ var _sfc_render = function render() {
211
+ var _vm = this, _c = _vm._self._c;
212
+ _vm._self._setupProxy;
213
+ return _vm.open ? _c("NcModal", _vm._b({ staticClass: "dialog__modal", attrs: { "enable-slideshow": false, "enable-swipe": false }, on: { "close": _vm.handleClosed, "update:show": _vm.handleClosing } }, "NcModal", _vm.modalProps, false), [_c("h2", { staticClass: "dialog__name", attrs: { "id": _vm.navigationId }, domProps: { "textContent": _vm._s(_vm.name) } }), _c("div", { staticClass: "dialog", class: _vm.dialogClasses }, [_c("div", { ref: "wrapper", class: ["dialog__wrapper", { "dialog__wrapper--collapsed": _vm.isNavigationCollapsed }] }, [_vm.hasNavigation ? _c("nav", { staticClass: "dialog__navigation", class: _vm.navigationClasses, attrs: { "aria-label": _vm.navigationAriaLabelAttr, "aria-labelledby": _vm.navigationAriaLabelledbyAttr } }, [_vm._t("navigation", null, { "isCollapsed": _vm.isNavigationCollapsed })], 2) : _vm._e(), _c("div", { staticClass: "dialog__content", class: _vm.contentClasses }, [_vm._t("default", function() {
214
+ return [_c("p", { staticClass: "dialog__text" }, [_vm._v(" " + _vm._s(_vm.message) + " ")])];
215
+ })], 2)]), _c("div", { staticClass: "dialog__actions" }, [_vm._t("actions", function() {
216
+ return _vm._l(_vm.buttons, function(button, idx) {
217
+ return _c("NcDialogButton", _vm._b({ key: idx, on: { "click": _vm.handleButtonClose } }, "NcDialogButton", button, false));
218
+ });
219
+ })], 2)])]) : _vm._e();
220
+ };
221
+ var _sfc_staticRenderFns = [];
222
+ var __component__ = /* @__PURE__ */ normalizeComponent(
223
+ _sfc_main,
224
+ _sfc_render,
225
+ _sfc_staticRenderFns,
226
+ false,
227
+ null,
228
+ "7a462eb0",
229
+ null,
230
+ null
231
+ );
232
+ const NcDialog = __component__.exports;
233
+ export {
234
+ NcDialog as N
235
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"NcDialog-C_1rhUHk.mjs","sources":["../../src/components/NcDialog/NcDialog.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2023 Ferdinand Thiessen\n -\n - @author Ferdinand Thiessen <opensource@fthiessen.de>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n### General description\n\nThis component uses the `NcModal` under the hood for allowing users to create generic dialogs.\n\n### Basic example\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"showDialog = true\">Show dialog</NcButton>\n\t\t<NcDialog :open.sync=\"showDialog\" name=\"Confirmation\" message=\"Are you sure to proceed?\" :buttons=\"buttons\" />\n\t\t<p>Last response: {{ lastResponse }}</p>\n\t</div>\n</template>\n<script>\nimport IconCancel from '@mdi/svg/svg/cancel.svg?raw'\nimport IconCheck from '@mdi/svg/svg/check.svg?raw'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tlastResponse: 'None',\n\t\t\tbuttons: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Cancel',\n\t\t\t\t\ticon: IconCancel,\n\t\t\t\t\tcallback: () => { this.lastResponse = 'Pressed \"Cancel\"' },\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Ok',\n\t\t\t\t\ttype: 'primary',\n\t\t\t\t\ticon: IconCheck,\n\t\t\t\t\tcallback: () => { this.lastResponse = 'Pressed \"Ok\"' },\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t},\n}\n</script>\n```\n\n### Use custom actions and content\nInstead of using the buttons property, you can also inject your custom actions using a named slot.\nYou can also use the default slot to inject custom content.\n\n```vue\n<template>\n\t<div style=\"display: flex; gap: 12px;\">\n\t\t<NcButton @click=\"showDialog = true\">Show dialog</NcButton>\n\t\t<NcButton @click=\"showLongDialog = true\">Show long dialog</NcButton>\n\t\t<NcDialog v-if=\"showDialog\" name=\"Warning\" :can-close=\"false\">\n\t\t\t<template #actions>\n\t\t\t\t<NcButton @click=\"showDialog = false\">Ok</NcButton>\n\t\t\t</template>\n\t\t\t<div style=\"color: red; font-weight: bold;\">This is serious</div>\n\t\t</NcDialog>\n\t\t<NcDialog :open.sync=\"showLongDialog\" name=\"Lorem Ipsum\">\n\t\t\t<p v-for=\"i in new Array(63)\" :key=\"i\">Lorem ipsum dolor sit amet.</p>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tshowLongDialog: false,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<NcModal v-if=\"open\"\n\t\tclass=\"dialog__modal\"\n\t\t:enable-slideshow=\"false\"\n\t\t:enable-swipe=\"false\"\n\t\tv-bind=\"modalProps\"\n\t\t@close=\"handleClosed\"\n\t\t@update:show=\"handleClosing\">\n\t\t<!-- The dialog name / header -->\n\t\t<h2 :id=\"navigationId\" class=\"dialog__name\" v-text=\"name\" />\n\t\t<div class=\"dialog\" :class=\"dialogClasses\">\n\t\t\t<div ref=\"wrapper\" :class=\"['dialog__wrapper', { 'dialog__wrapper--collapsed': isNavigationCollapsed }]\">\n\t\t\t\t<!-- When the navigation is collapsed (too small dialog) it is displayed above the main content, otherwise on the inline start -->\n\t\t\t\t<nav v-if=\"hasNavigation\"\n\t\t\t\t\tclass=\"dialog__navigation\"\n\t\t\t\t\t:class=\"navigationClasses\"\n\t\t\t\t\t:aria-label=\"navigationAriaLabelAttr\"\n\t\t\t\t\t:aria-labelledby=\"navigationAriaLabelledbyAttr\">\n\t\t\t\t\t<slot name=\"navigation\" :is-collapsed=\"isNavigationCollapsed\" />\n\t\t\t\t</nav>\n\t\t\t\t<!-- Main dialog content -->\n\t\t\t\t<div class=\"dialog__content\" :class=\"contentClasses\">\n\t\t\t\t\t<slot>\n\t\t\t\t\t\t<p class=\"dialog__text\">\n\t\t\t\t\t\t\t{{ message }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- The dialog actions aka the buttons -->\n\t\t\t<div class=\"dialog__actions\">\n\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t<NcDialogButton v-for=\"(button, idx) in buttons\"\n\t\t\t\t\t\t:key=\"idx\"\n\t\t\t\t\t\tv-bind=\"button\"\n\t\t\t\t\t\t@click=\"handleButtonClose\" />\n\t\t\t\t</slot>\n\t\t\t</div>\n\t\t</div>\n\t</NcModal>\n</template>\n\n<script>\nimport { useElementSize } from '@vueuse/core'\nimport { computed, defineComponent, ref } from 'vue'\n\nimport NcModal from '../NcModal/index.js'\nimport NcDialogButton from '../NcDialogButton/index.js'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nexport default defineComponent({\n\tname: 'NcDialog',\n\n\tcomponents: {\n\t\tNcDialogButton,\n\t\tNcModal,\n\t},\n\n\tprops: {\n\t\t/** Name of the dialog (the heading) */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/** Text of the dialog */\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/** Additional elements to add to the focus trap */\n\t\tadditionalTrapElements: {\n\t\t\ttype: Array,\n\t\t\tvalidator: (arr) => {\n\t\t\t\treturn (\n\t\t\t\t\tArray.isArray(arr) && arr.every(\n\t\t\t\t\t\t(element) =>\n\t\t\t\t\t\t\ttypeof element === 'string' || element instanceof HTMLElement,\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t},\n\t\t\tdefault: () => ([]),\n\t\t},\n\n\t\t/**\n\t\t * The element where to mount the dialog, if `null` is passed the dialog is mounted in place\n\t\t * @default 'body'\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'body',\n\t\t},\n\n\t\t/**\n\t\t * Whether the dialog should be shown\n\t\t * @default true\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Size of the underlying NcModal\n\t\t * @default 'small'\n\t\t * @type {'small'|'normal'|'large'|'full'}\n\t\t */\n\t\tsize: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'small',\n\t\t\tvalidator: (value) => typeof value === 'string' && ['small', 'normal', 'large', 'full'].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * Buttons to display\n\t\t * @default []\n\t\t */\n\t\tbuttons: {\n\t\t\ttype: Array,\n\t\t\trequired: false,\n\t\t\tdefault: () => ([]),\n\t\t\tvalidator: (value) => Array.isArray(value) && value.every((element) => typeof element === 'object'),\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 * @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 dialog if the user clicked outside of the dialog\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: false,\n\t\t},\n\n\t\t/**\n\t\t * Declare if hiding the modal should be animated\n\t\t * @default false\n\t\t */\n\t\toutTransition: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the navigation for custom styling\n\t\t * @default ''\n\t\t * @example\n\t\t * ```html\n\t\t * <DialogBase :navigation-classes=\"['mydialog-navigation']\"><!-- --></DialogBase>\n\t\t * <!-- ... -->\n\t\t * <style lang=\"scss\">\n\t\t * :deep(.mydialog-navigation) {\n\t\t * flex-direction: row-reverse;\n\t\t * }\n\t\t * </style>\n\t\t * ```\n\t\t */\n\t\tnavigationClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * aria-label for the dialog navigation.\n\t\t * Use it when you want to provide a more meaningful label than the dialog name.\n\t\t *\n\t\t * By default, navigation is labeled by the dialog name.\n\t\t */\n\t\tnavigationAriaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * aria-labelledby for the dialog navigation.\n\t\t * Use it when you have an implicit navigation label (e.g. a heading).\n\t\t *\n\t\t * By default, navigation is labeled by the dialog name.\n\t\t */\n\t\tnavigationAriaLabelledby: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the content wrapper for custom styling\n\t\t * @default ''\n\t\t */\n\t\tcontentClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the dialog itself\n\t\t * (the default `class` attribute will be set on the modal wrapper)\n\t\t * @default ''\n\t\t */\n\t\tdialogClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: ['closing', 'update:open'],\n\n\tsetup(props, { emit, slots }) {\n\t\t/**\n\t\t * The dialog wrapper element\n\t\t * @type {import('vue').Ref<HTMLDivElement>}\n\t\t */\n\t\tconst wrapper = ref()\n\n\t\t/**\n\t\t * We use the dialog width to decide if we collapse the navigation (flex direction row)\n\t\t */\n\t\tconst { width: dialogWidth } = useElementSize(wrapper, { width: 900 })\n\n\t\t/**\n\t\t * Whether the navigation is collapsed due to dialog and window size\n\t\t * (collapses when modal is below: 900px modal width - 2x 12px margin)\n\t\t */\n\t\tconst isNavigationCollapsed = computed(() => dialogWidth.value < 876)\n\n\t\t/**\n\t\t * Whether a navigation was passed and the element should be displayed\n\t\t */\n\t\tconst hasNavigation = computed(() => slots?.navigation !== undefined)\n\n\t\t/**\n\t\t * The unique id of the nav element\n\t\t */\n\t\tconst navigationId = ref(GenRandomId())\n\n\t\t/**\n\t\t * aria-label attribute for the nav element\n\t\t */\n\t\tconst navigationAriaLabelAttr = computed(() => props.navigationAriaLabel || undefined)\n\n\t\t/**\n\t\t * aria-labelledby attribute for the nav element\n\t\t */\n\t\tconst navigationAriaLabelledbyAttr = computed(() => {\n\t\t\tif (props.navigationAriaLabel) {\n\t\t\t\t// Not needed, already labelled by aria-label\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\t// Use dialog name as a fallback label for navigation\n\t\t\treturn props.navigationAriaLabelledby || navigationId.value\n\t\t})\n\n\t\t/**\n\t\t * If the underlaying modal is shown\n\t\t */\n\t\tconst showModal = ref(true)\n\n\t\t// Because NcModal does not emit `close` when show prop is changed\n\t\t/**\n\t\t * Handle clicking a dialog button -> should close\n\t\t */\n\t\tconst handleButtonClose = () => {\n\t\t\thandleClosing()\n\t\t\twindow.setTimeout(() => handleClosed(), 300)\n\t\t}\n\n\t\t/**\n\t\t * Handle closing the dialog, optional out transition did not run yet\n\t\t */\n\t\tconst handleClosing = () => {\n\t\t\tshowModal.value = false\n\t\t\t/**\n\t\t\t * Emitted when the dialog is closing, so the out transition did not finish yet\n\t\t\t */\n\t\t\temit('closing')\n\t\t}\n\n\t\t/**\n\t\t * Handle dialog closed (out transition finished)\n\t\t */\n\t\tconst handleClosed = () => {\n\t\t\tshowModal.value = true\n\t\t\t/**\n\t\t\t * Emitted then the dialog is fully closed and the out transition run\n\t\t\t */\n\t\t\temit('update:open', false)\n\t\t}\n\n\t\t/**\n\t\t * Properties to pass to the underlying NcModal\n\t\t */\n\t\tconst modalProps = computed(() => ({\n\t\t\tcanClose: props.canClose,\n\t\t\tcontainer: props.container === undefined ? 'body' : props.container,\n\t\t\t// we do not pass the name as we already have the name as the headline\n\t\t\t// name: props.name,\n\t\t\tsize: props.size,\n\t\t\tshow: props.open && showModal.value,\n\t\t\toutTransition: props.outTransition,\n\t\t\tcloseOnClickOutside: props.closeOnClickOutside,\n\t\t\tadditionalTrapElements: props.additionalTrapElements,\n\t\t}))\n\n\t\treturn {\n\t\t\thandleButtonClose,\n\t\t\thandleClosing,\n\t\t\thandleClosed,\n\t\t\thasNavigation,\n\t\t\tnavigationId,\n\t\t\tnavigationAriaLabelAttr,\n\t\t\tnavigationAriaLabelledbyAttr,\n\t\t\tisNavigationCollapsed,\n\t\t\tmodalProps,\n\t\t\twrapper,\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\">\n/** When having the small dialog style we override the modal styling so dialogs look more dialog like */\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.dialog__modal .modal-wrapper--small .modal-container {\n\t\twidth: fit-content;\n\t\theight: unset;\n\t\tmax-height: 90%;\n\t\tposition: relative;\n\t\ttop: unset;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n}\n</style>\n\n<style lang=\"scss\" scoped>\n.dialog {\n\theight: 100%;\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\toverflow: hidden;\n\n\t&__modal {\n\t\t:deep(.modal-wrapper .modal-container) {\n\t\t\tdisplay: flex !important;\n\t\t\tpadding-block: 4px 0; // 4px to align with close button, 0 block-end to make overflowing content on scroll look nice\n\t\t\tpadding-inline: 12px 0; // Same as with padding-block, we need the actions to have a margin of 4px for the button outline\n\t\t}\n\t\t:deep(.modal-wrapper .modal-container__content) {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\toverflow: hidden; // Only overflow on the .dialog__content\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\t// Auto scale to fit\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\toverflow: hidden;\n\n\t\t&--collapsed {\n\t\t\tflex-direction: column;\n\t\t}\n\t}\n\n\t&__navigation {\n\t\tdisplay: flex;\n\t\tflex-shrink: 0;\n\t}\n\n\t// Navigation styling when side-by-side with content\n\t&__wrapper:not(&__wrapper--collapsed) &__navigation {\n\t\tflex-direction: column;\n\n\t\toverflow: hidden auto;\n\t\theight: 100%;\n\t\tmin-width: 200px;\n\t\tmargin-inline-end: 20px;\n\t}\n\n\t// Navigation styling when on top of content\n\t&__wrapper#{&}__wrapper--collapsed &__navigation {\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\n\t\toverflow: auto hidden;\n\t\twidth: 100%;\n\t\tmin-width: 100%;\n\t}\n\n\t&__name {\n\t\tfont-size: 21px;\n\n\t\ttext-align: center;\n\t\theight: fit-content;\n\t\tmin-height: var(--default-clickable-area);\n\t\tline-height: var(--default-clickable-area);\n\t\toverflow-wrap: break-word;\n\t\tmargin-block: 0 12px;\n\t}\n\n\t&__content {\n\t\t// Auto fit\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\toverflow: auto;\n\t\t// see .dialog__modal, we can not set the padding there to prevent floating scroll bars\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t// In case only text content is show\n\t&__text {\n\t\t// Also add padding to the bottom to make it more readable\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__actions {\n\t\tdisplay: flex;\n\t\tgap: 6px;\n\t\talign-content: center;\n\t\twidth: fit-content;\n\t\tmargin-inline: auto 12px; // 12px to align with the overall modal padding\n\t\tmargin-block: 0;\n\n\t\t&:not(:empty) {\n\t\t\tmargin-block: 6px 12px; // only if there are actions, we add margin so if it is empty scroll content looks nice\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t// Ensure the dialog name does not interfere with the close button\n\t.dialog__name {\n\t\ttext-align: start;\n\t\tmargin-inline-end: var(--default-clickable-area);\n\t}\n}\n</style>\n"],"names":["_sfc_main","defineComponent","NcDialogButton","NcModal","arr","element","value","props","emit","slots","wrapper","ref","dialogWidth","useElementSize","isNavigationCollapsed","computed","hasNavigation","navigationId","GenRandomId","navigationAriaLabelAttr","navigationAriaLabelledbyAttr","showModal","handleButtonClose","handleClosing","handleClosed","modalProps"],"mappings":"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"}
1
+ {"version":3,"file":"NcDialog-B3ZaXnpn.mjs","sources":["../../src/components/NcDialog/NcDialog.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2023 Ferdinand Thiessen\n -\n - @author Ferdinand Thiessen <opensource@fthiessen.de>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n### General description\n\nThis component uses the `NcModal` under the hood for allowing users to create generic dialogs.\n\n### Basic example\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"showDialog = true\">Show dialog</NcButton>\n\t\t<NcDialog :open.sync=\"showDialog\" name=\"Confirmation\" message=\"Are you sure to proceed?\" :buttons=\"buttons\" />\n\t\t<p>Last response: {{ lastResponse }}</p>\n\t</div>\n</template>\n<script>\nimport IconCancel from '@mdi/svg/svg/cancel.svg?raw'\nimport IconCheck from '@mdi/svg/svg/check.svg?raw'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tlastResponse: 'None',\n\t\t\tbuttons: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Cancel',\n\t\t\t\t\ticon: IconCancel,\n\t\t\t\t\tcallback: () => { this.lastResponse = 'Pressed \"Cancel\"' },\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Ok',\n\t\t\t\t\ttype: 'primary',\n\t\t\t\t\ticon: IconCheck,\n\t\t\t\t\tcallback: () => { this.lastResponse = 'Pressed \"Ok\"' },\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t},\n}\n</script>\n```\n\n### Use custom actions and content\nInstead of using the buttons property, you can also inject your custom actions using a named slot.\nYou can also use the default slot to inject custom content.\n\n```vue\n<template>\n\t<div style=\"display: flex; gap: 12px;\">\n\t\t<NcButton @click=\"showDialog = true\">Show dialog</NcButton>\n\t\t<NcButton @click=\"showLongDialog = true\">Show long dialog</NcButton>\n\t\t<NcDialog v-if=\"showDialog\" name=\"Warning\" :can-close=\"false\">\n\t\t\t<template #actions>\n\t\t\t\t<NcButton @click=\"showDialog = false\">Ok</NcButton>\n\t\t\t</template>\n\t\t\t<div style=\"color: red; font-weight: bold;\">This is serious</div>\n\t\t</NcDialog>\n\t\t<NcDialog :open.sync=\"showLongDialog\" name=\"Lorem Ipsum\">\n\t\t\t<p v-for=\"i in new Array(63)\" :key=\"i\">Lorem ipsum dolor sit amet.</p>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tshowLongDialog: false,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<NcModal v-if=\"open\"\n\t\tclass=\"dialog__modal\"\n\t\t:enable-slideshow=\"false\"\n\t\t:enable-swipe=\"false\"\n\t\tv-bind=\"modalProps\"\n\t\t@close=\"handleClosed\"\n\t\t@update:show=\"handleClosing\">\n\t\t<!-- The dialog name / header -->\n\t\t<h2 :id=\"navigationId\" class=\"dialog__name\" v-text=\"name\" />\n\t\t<div class=\"dialog\" :class=\"dialogClasses\">\n\t\t\t<div ref=\"wrapper\" :class=\"['dialog__wrapper', { 'dialog__wrapper--collapsed': isNavigationCollapsed }]\">\n\t\t\t\t<!-- When the navigation is collapsed (too small dialog) it is displayed above the main content, otherwise on the inline start -->\n\t\t\t\t<nav v-if=\"hasNavigation\"\n\t\t\t\t\tclass=\"dialog__navigation\"\n\t\t\t\t\t:class=\"navigationClasses\"\n\t\t\t\t\t:aria-label=\"navigationAriaLabelAttr\"\n\t\t\t\t\t:aria-labelledby=\"navigationAriaLabelledbyAttr\">\n\t\t\t\t\t<slot name=\"navigation\" :is-collapsed=\"isNavigationCollapsed\" />\n\t\t\t\t</nav>\n\t\t\t\t<!-- Main dialog content -->\n\t\t\t\t<div class=\"dialog__content\" :class=\"contentClasses\">\n\t\t\t\t\t<slot>\n\t\t\t\t\t\t<p class=\"dialog__text\">\n\t\t\t\t\t\t\t{{ message }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- The dialog actions aka the buttons -->\n\t\t\t<div class=\"dialog__actions\">\n\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t<NcDialogButton v-for=\"(button, idx) in buttons\"\n\t\t\t\t\t\t:key=\"idx\"\n\t\t\t\t\t\tv-bind=\"button\"\n\t\t\t\t\t\t@click=\"handleButtonClose\" />\n\t\t\t\t</slot>\n\t\t\t</div>\n\t\t</div>\n\t</NcModal>\n</template>\n\n<script>\nimport { useElementSize } from '@vueuse/core'\nimport { computed, defineComponent, ref } from 'vue'\n\nimport NcModal from '../NcModal/index.js'\nimport NcDialogButton from '../NcDialogButton/index.js'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nexport default defineComponent({\n\tname: 'NcDialog',\n\n\tcomponents: {\n\t\tNcDialogButton,\n\t\tNcModal,\n\t},\n\n\tprops: {\n\t\t/** Name of the dialog (the heading) */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/** Text of the dialog */\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/** Additional elements to add to the focus trap */\n\t\tadditionalTrapElements: {\n\t\t\ttype: Array,\n\t\t\tvalidator: (arr) => {\n\t\t\t\treturn (\n\t\t\t\t\tArray.isArray(arr) && arr.every(\n\t\t\t\t\t\t(element) =>\n\t\t\t\t\t\t\ttypeof element === 'string' || element instanceof HTMLElement,\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t},\n\t\t\tdefault: () => ([]),\n\t\t},\n\n\t\t/**\n\t\t * The element where to mount the dialog, if `null` is passed the dialog is mounted in place\n\t\t * @default 'body'\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'body',\n\t\t},\n\n\t\t/**\n\t\t * Whether the dialog should be shown\n\t\t * @default true\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Size of the underlying NcModal\n\t\t * @default 'small'\n\t\t * @type {'small'|'normal'|'large'|'full'}\n\t\t */\n\t\tsize: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'small',\n\t\t\tvalidator: (value) => typeof value === 'string' && ['small', 'normal', 'large', 'full'].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * Buttons to display\n\t\t * @default []\n\t\t */\n\t\tbuttons: {\n\t\t\ttype: Array,\n\t\t\trequired: false,\n\t\t\tdefault: () => ([]),\n\t\t\tvalidator: (value) => Array.isArray(value) && value.every((element) => typeof element === 'object'),\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 * @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 dialog if the user clicked outside of the dialog\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: false,\n\t\t},\n\n\t\t/**\n\t\t * Declare if hiding the modal should be animated\n\t\t * @default false\n\t\t */\n\t\toutTransition: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the navigation for custom styling\n\t\t * @default ''\n\t\t * @example\n\t\t * ```html\n\t\t * <DialogBase :navigation-classes=\"['mydialog-navigation']\"><!-- --></DialogBase>\n\t\t * <!-- ... -->\n\t\t * <style lang=\"scss\">\n\t\t * :deep(.mydialog-navigation) {\n\t\t * flex-direction: row-reverse;\n\t\t * }\n\t\t * </style>\n\t\t * ```\n\t\t */\n\t\tnavigationClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * aria-label for the dialog navigation.\n\t\t * Use it when you want to provide a more meaningful label than the dialog name.\n\t\t *\n\t\t * By default, navigation is labeled by the dialog name.\n\t\t */\n\t\tnavigationAriaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * aria-labelledby for the dialog navigation.\n\t\t * Use it when you have an implicit navigation label (e.g. a heading).\n\t\t *\n\t\t * By default, navigation is labeled by the dialog name.\n\t\t */\n\t\tnavigationAriaLabelledby: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the content wrapper for custom styling\n\t\t * @default ''\n\t\t */\n\t\tcontentClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the dialog itself\n\t\t * (the default `class` attribute will be set on the modal wrapper)\n\t\t * @default ''\n\t\t */\n\t\tdialogClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: ['closing', 'update:open'],\n\n\tsetup(props, { emit, slots }) {\n\t\t/**\n\t\t * The dialog wrapper element\n\t\t * @type {import('vue').Ref<HTMLDivElement>}\n\t\t */\n\t\tconst wrapper = ref()\n\n\t\t/**\n\t\t * We use the dialog width to decide if we collapse the navigation (flex direction row)\n\t\t */\n\t\tconst { width: dialogWidth } = useElementSize(wrapper, { width: 900 })\n\n\t\t/**\n\t\t * Whether the navigation is collapsed due to dialog and window size\n\t\t * (collapses when modal is below: 900px modal width - 2x 12px margin)\n\t\t */\n\t\tconst isNavigationCollapsed = computed(() => dialogWidth.value < 876)\n\n\t\t/**\n\t\t * Whether a navigation was passed and the element should be displayed\n\t\t */\n\t\tconst hasNavigation = computed(() => slots?.navigation !== undefined)\n\n\t\t/**\n\t\t * The unique id of the nav element\n\t\t */\n\t\tconst navigationId = ref(GenRandomId())\n\n\t\t/**\n\t\t * aria-label attribute for the nav element\n\t\t */\n\t\tconst navigationAriaLabelAttr = computed(() => props.navigationAriaLabel || undefined)\n\n\t\t/**\n\t\t * aria-labelledby attribute for the nav element\n\t\t */\n\t\tconst navigationAriaLabelledbyAttr = computed(() => {\n\t\t\tif (props.navigationAriaLabel) {\n\t\t\t\t// Not needed, already labelled by aria-label\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\t// Use dialog name as a fallback label for navigation\n\t\t\treturn props.navigationAriaLabelledby || navigationId.value\n\t\t})\n\n\t\t/**\n\t\t * If the underlaying modal is shown\n\t\t */\n\t\tconst showModal = ref(true)\n\n\t\t// Because NcModal does not emit `close` when show prop is changed\n\t\t/**\n\t\t * Handle clicking a dialog button -> should close\n\t\t */\n\t\tconst handleButtonClose = () => {\n\t\t\thandleClosing()\n\t\t\twindow.setTimeout(() => handleClosed(), 300)\n\t\t}\n\n\t\t/**\n\t\t * Handle closing the dialog, optional out transition did not run yet\n\t\t */\n\t\tconst handleClosing = () => {\n\t\t\tshowModal.value = false\n\t\t\t/**\n\t\t\t * Emitted when the dialog is closing, so the out transition did not finish yet\n\t\t\t */\n\t\t\temit('closing')\n\t\t}\n\n\t\t/**\n\t\t * Handle dialog closed (out transition finished)\n\t\t */\n\t\tconst handleClosed = () => {\n\t\t\tshowModal.value = true\n\t\t\t/**\n\t\t\t * Emitted then the dialog is fully closed and the out transition run\n\t\t\t */\n\t\t\temit('update:open', false)\n\t\t}\n\n\t\t/**\n\t\t * Properties to pass to the underlying NcModal\n\t\t */\n\t\tconst modalProps = computed(() => ({\n\t\t\tcanClose: props.canClose,\n\t\t\tcontainer: props.container === undefined ? 'body' : props.container,\n\t\t\t// we do not pass the name as we already have the name as the headline\n\t\t\t// name: props.name,\n\t\t\tsize: props.size,\n\t\t\tshow: props.open && showModal.value,\n\t\t\toutTransition: props.outTransition,\n\t\t\tcloseOnClickOutside: props.closeOnClickOutside,\n\t\t\tadditionalTrapElements: props.additionalTrapElements,\n\t\t}))\n\n\t\treturn {\n\t\t\thandleButtonClose,\n\t\t\thandleClosing,\n\t\t\thandleClosed,\n\t\t\thasNavigation,\n\t\t\tnavigationId,\n\t\t\tnavigationAriaLabelAttr,\n\t\t\tnavigationAriaLabelledbyAttr,\n\t\t\tisNavigationCollapsed,\n\t\t\tmodalProps,\n\t\t\twrapper,\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\">\n/** When having the small dialog style we override the modal styling so dialogs look more dialog like */\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.dialog__modal .modal-wrapper--small .modal-container {\n\t\twidth: fit-content;\n\t\theight: unset;\n\t\tmax-height: 90%;\n\t\tposition: relative;\n\t\ttop: unset;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n}\n</style>\n\n<style lang=\"scss\" scoped>\n.dialog {\n\theight: 100%;\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\toverflow: hidden;\n\n\t&__modal {\n\t\t:deep(.modal-wrapper .modal-container) {\n\t\t\tdisplay: flex !important;\n\t\t\tpadding-block: 4px 0; // 4px to align with close button, 0 block-end to make overflowing content on scroll look nice\n\t\t\tpadding-inline: 12px 0; // Same as with padding-block, we need the actions to have a margin of 4px for the button outline\n\t\t}\n\t\t:deep(.modal-wrapper .modal-container__content) {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\toverflow: hidden; // Only overflow on the .dialog__content\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\t// Auto scale to fit\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\toverflow: hidden;\n\n\t\t&--collapsed {\n\t\t\tflex-direction: column;\n\t\t}\n\t}\n\n\t&__navigation {\n\t\tdisplay: flex;\n\t\tflex-shrink: 0;\n\t}\n\n\t// Navigation styling when side-by-side with content\n\t&__wrapper:not(&__wrapper--collapsed) &__navigation {\n\t\tflex-direction: column;\n\n\t\toverflow: hidden auto;\n\t\theight: 100%;\n\t\tmin-width: 200px;\n\t\tmargin-inline-end: 20px;\n\t}\n\n\t// Navigation styling when on top of content\n\t&__wrapper#{&}__wrapper--collapsed &__navigation {\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\n\t\toverflow: auto hidden;\n\t\twidth: 100%;\n\t\tmin-width: 100%;\n\t}\n\n\t&__name {\n\t\tfont-size: 21px;\n\n\t\ttext-align: center;\n\t\theight: fit-content;\n\t\tmin-height: var(--default-clickable-area);\n\t\tline-height: var(--default-clickable-area);\n\t\toverflow-wrap: break-word;\n\t\tmargin-block: 0 12px;\n\t}\n\n\t&__content {\n\t\t// Auto fit\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\toverflow: auto;\n\t\t// see .dialog__modal, we can not set the padding there to prevent floating scroll bars\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t// In case only text content is show\n\t&__text {\n\t\t// Also add padding to the bottom to make it more readable\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__actions {\n\t\tbox-sizing: border-box;\n\n\t\tdisplay: flex;\n\t\tgap: 6px;\n\t\talign-content: center;\n\t\tjustify-content: end;\n\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t\tpadding-inline: 0 12px; // 12px to align with the overall modal padding\n\t\tmargin-inline: 0;\n\t\tmargin-block: 0;\n\n\t\t&:not(:empty) {\n\t\t\tmargin-block: 6px 12px; // only if there are actions, we add margin so if it is empty scroll content looks nice\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t// Ensure the dialog name does not interfere with the close button\n\t.dialog__name {\n\t\ttext-align: start;\n\t\tmargin-inline-end: var(--default-clickable-area);\n\t}\n}\n</style>\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,234 @@
1
+ require('../assets/NcDialog-DFMxsFp5.css');
2
+ "use strict";
3
+ const core = require("@vueuse/core");
4
+ const Vue = require("vue");
5
+ const Components_NcModal = require("../Components/NcModal.cjs");
6
+ const NcDialogButton = require("./NcDialogButton-CLWLvwpm.cjs");
7
+ const GenRandomId = require("./GenRandomId-kBCcgMJd.cjs");
8
+ const _pluginVue2_normalizer = require("./_plugin-vue2_normalizer-DbFIE4_M.cjs");
9
+ const _sfc_main = Vue.defineComponent({
10
+ name: "NcDialog",
11
+ components: {
12
+ NcDialogButton: NcDialogButton.NcDialogButton,
13
+ NcModal: Components_NcModal
14
+ },
15
+ props: {
16
+ /** Name of the dialog (the heading) */
17
+ name: {
18
+ type: String,
19
+ required: true
20
+ },
21
+ /** Text of the dialog */
22
+ message: {
23
+ type: String,
24
+ default: ""
25
+ },
26
+ /** Additional elements to add to the focus trap */
27
+ additionalTrapElements: {
28
+ type: Array,
29
+ validator: (arr) => {
30
+ return Array.isArray(arr) && arr.every(
31
+ (element) => typeof element === "string" || element instanceof HTMLElement
32
+ );
33
+ },
34
+ default: () => []
35
+ },
36
+ /**
37
+ * The element where to mount the dialog, if `null` is passed the dialog is mounted in place
38
+ * @default 'body'
39
+ */
40
+ container: {
41
+ type: String,
42
+ required: false,
43
+ default: "body"
44
+ },
45
+ /**
46
+ * Whether the dialog should be shown
47
+ * @default true
48
+ */
49
+ open: {
50
+ type: Boolean,
51
+ default: true
52
+ },
53
+ /**
54
+ * Size of the underlying NcModal
55
+ * @default 'small'
56
+ * @type {'small'|'normal'|'large'|'full'}
57
+ */
58
+ size: {
59
+ type: String,
60
+ required: false,
61
+ default: "small",
62
+ validator: (value) => typeof value === "string" && ["small", "normal", "large", "full"].includes(value)
63
+ },
64
+ /**
65
+ * Buttons to display
66
+ * @default []
67
+ */
68
+ buttons: {
69
+ type: Array,
70
+ required: false,
71
+ default: () => [],
72
+ validator: (value) => Array.isArray(value) && value.every((element) => typeof element === "object")
73
+ },
74
+ /**
75
+ * Set to false to no show a close button on the dialog
76
+ * @default true
77
+ */
78
+ canClose: {
79
+ type: Boolean,
80
+ default: true
81
+ },
82
+ /**
83
+ * Close the dialog if the user clicked outside of the dialog
84
+ * Only relevant if `canClose` is set to true.
85
+ */
86
+ closeOnClickOutside: {
87
+ type: Boolean,
88
+ default: false
89
+ },
90
+ /**
91
+ * Declare if hiding the modal should be animated
92
+ * @default false
93
+ */
94
+ outTransition: {
95
+ type: Boolean,
96
+ default: false
97
+ },
98
+ /**
99
+ * Optionally pass additionaly classes which will be set on the navigation for custom styling
100
+ * @default ''
101
+ * @example
102
+ * ```html
103
+ * <DialogBase :navigation-classes="['mydialog-navigation']"><!-- --></DialogBase>
104
+ * <!-- ... -->
105
+ * <style lang="scss">
106
+ * :deep(.mydialog-navigation) {
107
+ * flex-direction: row-reverse;
108
+ * }
109
+ * </style>
110
+ * ```
111
+ */
112
+ navigationClasses: {
113
+ type: [String, Array, Object],
114
+ required: false,
115
+ default: ""
116
+ },
117
+ /**
118
+ * aria-label for the dialog navigation.
119
+ * Use it when you want to provide a more meaningful label than the dialog name.
120
+ *
121
+ * By default, navigation is labeled by the dialog name.
122
+ */
123
+ navigationAriaLabel: {
124
+ type: String,
125
+ required: false,
126
+ default: ""
127
+ },
128
+ /**
129
+ * aria-labelledby for the dialog navigation.
130
+ * Use it when you have an implicit navigation label (e.g. a heading).
131
+ *
132
+ * By default, navigation is labeled by the dialog name.
133
+ */
134
+ navigationAriaLabelledby: {
135
+ type: String,
136
+ required: false,
137
+ default: ""
138
+ },
139
+ /**
140
+ * Optionally pass additionaly classes which will be set on the content wrapper for custom styling
141
+ * @default ''
142
+ */
143
+ contentClasses: {
144
+ type: [String, Array, Object],
145
+ required: false,
146
+ default: ""
147
+ },
148
+ /**
149
+ * Optionally pass additionaly classes which will be set on the dialog itself
150
+ * (the default `class` attribute will be set on the modal wrapper)
151
+ * @default ''
152
+ */
153
+ dialogClasses: {
154
+ type: [String, Array, Object],
155
+ required: false,
156
+ default: ""
157
+ }
158
+ },
159
+ emits: ["closing", "update:open"],
160
+ setup(props, { emit, slots }) {
161
+ const wrapper = Vue.ref();
162
+ const { width: dialogWidth } = core.useElementSize(wrapper, { width: 900 });
163
+ const isNavigationCollapsed = Vue.computed(() => dialogWidth.value < 876);
164
+ const hasNavigation = Vue.computed(() => (slots == null ? void 0 : slots.navigation) !== void 0);
165
+ const navigationId = Vue.ref(GenRandomId.GenRandomId());
166
+ const navigationAriaLabelAttr = Vue.computed(() => props.navigationAriaLabel || void 0);
167
+ const navigationAriaLabelledbyAttr = Vue.computed(() => {
168
+ if (props.navigationAriaLabel) {
169
+ return void 0;
170
+ }
171
+ return props.navigationAriaLabelledby || navigationId.value;
172
+ });
173
+ const showModal = Vue.ref(true);
174
+ const handleButtonClose = () => {
175
+ handleClosing();
176
+ window.setTimeout(() => handleClosed(), 300);
177
+ };
178
+ const handleClosing = () => {
179
+ showModal.value = false;
180
+ emit("closing");
181
+ };
182
+ const handleClosed = () => {
183
+ showModal.value = true;
184
+ emit("update:open", false);
185
+ };
186
+ const modalProps = Vue.computed(() => ({
187
+ canClose: props.canClose,
188
+ container: props.container === void 0 ? "body" : props.container,
189
+ // we do not pass the name as we already have the name as the headline
190
+ // name: props.name,
191
+ size: props.size,
192
+ show: props.open && showModal.value,
193
+ outTransition: props.outTransition,
194
+ closeOnClickOutside: props.closeOnClickOutside,
195
+ additionalTrapElements: props.additionalTrapElements
196
+ }));
197
+ return {
198
+ handleButtonClose,
199
+ handleClosing,
200
+ handleClosed,
201
+ hasNavigation,
202
+ navigationId,
203
+ navigationAriaLabelAttr,
204
+ navigationAriaLabelledbyAttr,
205
+ isNavigationCollapsed,
206
+ modalProps,
207
+ wrapper
208
+ };
209
+ }
210
+ });
211
+ var _sfc_render = function render() {
212
+ var _vm = this, _c = _vm._self._c;
213
+ _vm._self._setupProxy;
214
+ return _vm.open ? _c("NcModal", _vm._b({ staticClass: "dialog__modal", attrs: { "enable-slideshow": false, "enable-swipe": false }, on: { "close": _vm.handleClosed, "update:show": _vm.handleClosing } }, "NcModal", _vm.modalProps, false), [_c("h2", { staticClass: "dialog__name", attrs: { "id": _vm.navigationId }, domProps: { "textContent": _vm._s(_vm.name) } }), _c("div", { staticClass: "dialog", class: _vm.dialogClasses }, [_c("div", { ref: "wrapper", class: ["dialog__wrapper", { "dialog__wrapper--collapsed": _vm.isNavigationCollapsed }] }, [_vm.hasNavigation ? _c("nav", { staticClass: "dialog__navigation", class: _vm.navigationClasses, attrs: { "aria-label": _vm.navigationAriaLabelAttr, "aria-labelledby": _vm.navigationAriaLabelledbyAttr } }, [_vm._t("navigation", null, { "isCollapsed": _vm.isNavigationCollapsed })], 2) : _vm._e(), _c("div", { staticClass: "dialog__content", class: _vm.contentClasses }, [_vm._t("default", function() {
215
+ return [_c("p", { staticClass: "dialog__text" }, [_vm._v(" " + _vm._s(_vm.message) + " ")])];
216
+ })], 2)]), _c("div", { staticClass: "dialog__actions" }, [_vm._t("actions", function() {
217
+ return _vm._l(_vm.buttons, function(button, idx) {
218
+ return _c("NcDialogButton", _vm._b({ key: idx, on: { "click": _vm.handleButtonClose } }, "NcDialogButton", button, false));
219
+ });
220
+ })], 2)])]) : _vm._e();
221
+ };
222
+ var _sfc_staticRenderFns = [];
223
+ var __component__ = /* @__PURE__ */ _pluginVue2_normalizer.normalizeComponent(
224
+ _sfc_main,
225
+ _sfc_render,
226
+ _sfc_staticRenderFns,
227
+ false,
228
+ null,
229
+ "7a462eb0",
230
+ null,
231
+ null
232
+ );
233
+ const NcDialog = __component__.exports;
234
+ exports.NcDialog = NcDialog;
@@ -1 +1 @@
1
- {"version":3,"file":"NcDialog-Ciz0hlFn.cjs","sources":["../../src/components/NcDialog/NcDialog.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2023 Ferdinand Thiessen\n -\n - @author Ferdinand Thiessen <opensource@fthiessen.de>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n### General description\n\nThis component uses the `NcModal` under the hood for allowing users to create generic dialogs.\n\n### Basic example\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"showDialog = true\">Show dialog</NcButton>\n\t\t<NcDialog :open.sync=\"showDialog\" name=\"Confirmation\" message=\"Are you sure to proceed?\" :buttons=\"buttons\" />\n\t\t<p>Last response: {{ lastResponse }}</p>\n\t</div>\n</template>\n<script>\nimport IconCancel from '@mdi/svg/svg/cancel.svg?raw'\nimport IconCheck from '@mdi/svg/svg/check.svg?raw'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tlastResponse: 'None',\n\t\t\tbuttons: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Cancel',\n\t\t\t\t\ticon: IconCancel,\n\t\t\t\t\tcallback: () => { this.lastResponse = 'Pressed \"Cancel\"' },\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Ok',\n\t\t\t\t\ttype: 'primary',\n\t\t\t\t\ticon: IconCheck,\n\t\t\t\t\tcallback: () => { this.lastResponse = 'Pressed \"Ok\"' },\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t},\n}\n</script>\n```\n\n### Use custom actions and content\nInstead of using the buttons property, you can also inject your custom actions using a named slot.\nYou can also use the default slot to inject custom content.\n\n```vue\n<template>\n\t<div style=\"display: flex; gap: 12px;\">\n\t\t<NcButton @click=\"showDialog = true\">Show dialog</NcButton>\n\t\t<NcButton @click=\"showLongDialog = true\">Show long dialog</NcButton>\n\t\t<NcDialog v-if=\"showDialog\" name=\"Warning\" :can-close=\"false\">\n\t\t\t<template #actions>\n\t\t\t\t<NcButton @click=\"showDialog = false\">Ok</NcButton>\n\t\t\t</template>\n\t\t\t<div style=\"color: red; font-weight: bold;\">This is serious</div>\n\t\t</NcDialog>\n\t\t<NcDialog :open.sync=\"showLongDialog\" name=\"Lorem Ipsum\">\n\t\t\t<p v-for=\"i in new Array(63)\" :key=\"i\">Lorem ipsum dolor sit amet.</p>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tshowLongDialog: false,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<NcModal v-if=\"open\"\n\t\tclass=\"dialog__modal\"\n\t\t:enable-slideshow=\"false\"\n\t\t:enable-swipe=\"false\"\n\t\tv-bind=\"modalProps\"\n\t\t@close=\"handleClosed\"\n\t\t@update:show=\"handleClosing\">\n\t\t<!-- The dialog name / header -->\n\t\t<h2 :id=\"navigationId\" class=\"dialog__name\" v-text=\"name\" />\n\t\t<div class=\"dialog\" :class=\"dialogClasses\">\n\t\t\t<div ref=\"wrapper\" :class=\"['dialog__wrapper', { 'dialog__wrapper--collapsed': isNavigationCollapsed }]\">\n\t\t\t\t<!-- When the navigation is collapsed (too small dialog) it is displayed above the main content, otherwise on the inline start -->\n\t\t\t\t<nav v-if=\"hasNavigation\"\n\t\t\t\t\tclass=\"dialog__navigation\"\n\t\t\t\t\t:class=\"navigationClasses\"\n\t\t\t\t\t:aria-label=\"navigationAriaLabelAttr\"\n\t\t\t\t\t:aria-labelledby=\"navigationAriaLabelledbyAttr\">\n\t\t\t\t\t<slot name=\"navigation\" :is-collapsed=\"isNavigationCollapsed\" />\n\t\t\t\t</nav>\n\t\t\t\t<!-- Main dialog content -->\n\t\t\t\t<div class=\"dialog__content\" :class=\"contentClasses\">\n\t\t\t\t\t<slot>\n\t\t\t\t\t\t<p class=\"dialog__text\">\n\t\t\t\t\t\t\t{{ message }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- The dialog actions aka the buttons -->\n\t\t\t<div class=\"dialog__actions\">\n\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t<NcDialogButton v-for=\"(button, idx) in buttons\"\n\t\t\t\t\t\t:key=\"idx\"\n\t\t\t\t\t\tv-bind=\"button\"\n\t\t\t\t\t\t@click=\"handleButtonClose\" />\n\t\t\t\t</slot>\n\t\t\t</div>\n\t\t</div>\n\t</NcModal>\n</template>\n\n<script>\nimport { useElementSize } from '@vueuse/core'\nimport { computed, defineComponent, ref } from 'vue'\n\nimport NcModal from '../NcModal/index.js'\nimport NcDialogButton from '../NcDialogButton/index.js'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nexport default defineComponent({\n\tname: 'NcDialog',\n\n\tcomponents: {\n\t\tNcDialogButton,\n\t\tNcModal,\n\t},\n\n\tprops: {\n\t\t/** Name of the dialog (the heading) */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/** Text of the dialog */\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/** Additional elements to add to the focus trap */\n\t\tadditionalTrapElements: {\n\t\t\ttype: Array,\n\t\t\tvalidator: (arr) => {\n\t\t\t\treturn (\n\t\t\t\t\tArray.isArray(arr) && arr.every(\n\t\t\t\t\t\t(element) =>\n\t\t\t\t\t\t\ttypeof element === 'string' || element instanceof HTMLElement,\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t},\n\t\t\tdefault: () => ([]),\n\t\t},\n\n\t\t/**\n\t\t * The element where to mount the dialog, if `null` is passed the dialog is mounted in place\n\t\t * @default 'body'\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'body',\n\t\t},\n\n\t\t/**\n\t\t * Whether the dialog should be shown\n\t\t * @default true\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Size of the underlying NcModal\n\t\t * @default 'small'\n\t\t * @type {'small'|'normal'|'large'|'full'}\n\t\t */\n\t\tsize: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'small',\n\t\t\tvalidator: (value) => typeof value === 'string' && ['small', 'normal', 'large', 'full'].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * Buttons to display\n\t\t * @default []\n\t\t */\n\t\tbuttons: {\n\t\t\ttype: Array,\n\t\t\trequired: false,\n\t\t\tdefault: () => ([]),\n\t\t\tvalidator: (value) => Array.isArray(value) && value.every((element) => typeof element === 'object'),\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 * @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 dialog if the user clicked outside of the dialog\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: false,\n\t\t},\n\n\t\t/**\n\t\t * Declare if hiding the modal should be animated\n\t\t * @default false\n\t\t */\n\t\toutTransition: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the navigation for custom styling\n\t\t * @default ''\n\t\t * @example\n\t\t * ```html\n\t\t * <DialogBase :navigation-classes=\"['mydialog-navigation']\"><!-- --></DialogBase>\n\t\t * <!-- ... -->\n\t\t * <style lang=\"scss\">\n\t\t * :deep(.mydialog-navigation) {\n\t\t * flex-direction: row-reverse;\n\t\t * }\n\t\t * </style>\n\t\t * ```\n\t\t */\n\t\tnavigationClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * aria-label for the dialog navigation.\n\t\t * Use it when you want to provide a more meaningful label than the dialog name.\n\t\t *\n\t\t * By default, navigation is labeled by the dialog name.\n\t\t */\n\t\tnavigationAriaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * aria-labelledby for the dialog navigation.\n\t\t * Use it when you have an implicit navigation label (e.g. a heading).\n\t\t *\n\t\t * By default, navigation is labeled by the dialog name.\n\t\t */\n\t\tnavigationAriaLabelledby: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the content wrapper for custom styling\n\t\t * @default ''\n\t\t */\n\t\tcontentClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the dialog itself\n\t\t * (the default `class` attribute will be set on the modal wrapper)\n\t\t * @default ''\n\t\t */\n\t\tdialogClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: ['closing', 'update:open'],\n\n\tsetup(props, { emit, slots }) {\n\t\t/**\n\t\t * The dialog wrapper element\n\t\t * @type {import('vue').Ref<HTMLDivElement>}\n\t\t */\n\t\tconst wrapper = ref()\n\n\t\t/**\n\t\t * We use the dialog width to decide if we collapse the navigation (flex direction row)\n\t\t */\n\t\tconst { width: dialogWidth } = useElementSize(wrapper, { width: 900 })\n\n\t\t/**\n\t\t * Whether the navigation is collapsed due to dialog and window size\n\t\t * (collapses when modal is below: 900px modal width - 2x 12px margin)\n\t\t */\n\t\tconst isNavigationCollapsed = computed(() => dialogWidth.value < 876)\n\n\t\t/**\n\t\t * Whether a navigation was passed and the element should be displayed\n\t\t */\n\t\tconst hasNavigation = computed(() => slots?.navigation !== undefined)\n\n\t\t/**\n\t\t * The unique id of the nav element\n\t\t */\n\t\tconst navigationId = ref(GenRandomId())\n\n\t\t/**\n\t\t * aria-label attribute for the nav element\n\t\t */\n\t\tconst navigationAriaLabelAttr = computed(() => props.navigationAriaLabel || undefined)\n\n\t\t/**\n\t\t * aria-labelledby attribute for the nav element\n\t\t */\n\t\tconst navigationAriaLabelledbyAttr = computed(() => {\n\t\t\tif (props.navigationAriaLabel) {\n\t\t\t\t// Not needed, already labelled by aria-label\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\t// Use dialog name as a fallback label for navigation\n\t\t\treturn props.navigationAriaLabelledby || navigationId.value\n\t\t})\n\n\t\t/**\n\t\t * If the underlaying modal is shown\n\t\t */\n\t\tconst showModal = ref(true)\n\n\t\t// Because NcModal does not emit `close` when show prop is changed\n\t\t/**\n\t\t * Handle clicking a dialog button -> should close\n\t\t */\n\t\tconst handleButtonClose = () => {\n\t\t\thandleClosing()\n\t\t\twindow.setTimeout(() => handleClosed(), 300)\n\t\t}\n\n\t\t/**\n\t\t * Handle closing the dialog, optional out transition did not run yet\n\t\t */\n\t\tconst handleClosing = () => {\n\t\t\tshowModal.value = false\n\t\t\t/**\n\t\t\t * Emitted when the dialog is closing, so the out transition did not finish yet\n\t\t\t */\n\t\t\temit('closing')\n\t\t}\n\n\t\t/**\n\t\t * Handle dialog closed (out transition finished)\n\t\t */\n\t\tconst handleClosed = () => {\n\t\t\tshowModal.value = true\n\t\t\t/**\n\t\t\t * Emitted then the dialog is fully closed and the out transition run\n\t\t\t */\n\t\t\temit('update:open', false)\n\t\t}\n\n\t\t/**\n\t\t * Properties to pass to the underlying NcModal\n\t\t */\n\t\tconst modalProps = computed(() => ({\n\t\t\tcanClose: props.canClose,\n\t\t\tcontainer: props.container === undefined ? 'body' : props.container,\n\t\t\t// we do not pass the name as we already have the name as the headline\n\t\t\t// name: props.name,\n\t\t\tsize: props.size,\n\t\t\tshow: props.open && showModal.value,\n\t\t\toutTransition: props.outTransition,\n\t\t\tcloseOnClickOutside: props.closeOnClickOutside,\n\t\t\tadditionalTrapElements: props.additionalTrapElements,\n\t\t}))\n\n\t\treturn {\n\t\t\thandleButtonClose,\n\t\t\thandleClosing,\n\t\t\thandleClosed,\n\t\t\thasNavigation,\n\t\t\tnavigationId,\n\t\t\tnavigationAriaLabelAttr,\n\t\t\tnavigationAriaLabelledbyAttr,\n\t\t\tisNavigationCollapsed,\n\t\t\tmodalProps,\n\t\t\twrapper,\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\">\n/** When having the small dialog style we override the modal styling so dialogs look more dialog like */\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.dialog__modal .modal-wrapper--small .modal-container {\n\t\twidth: fit-content;\n\t\theight: unset;\n\t\tmax-height: 90%;\n\t\tposition: relative;\n\t\ttop: unset;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n}\n</style>\n\n<style lang=\"scss\" scoped>\n.dialog {\n\theight: 100%;\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\toverflow: hidden;\n\n\t&__modal {\n\t\t:deep(.modal-wrapper .modal-container) {\n\t\t\tdisplay: flex !important;\n\t\t\tpadding-block: 4px 0; // 4px to align with close button, 0 block-end to make overflowing content on scroll look nice\n\t\t\tpadding-inline: 12px 0; // Same as with padding-block, we need the actions to have a margin of 4px for the button outline\n\t\t}\n\t\t:deep(.modal-wrapper .modal-container__content) {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\toverflow: hidden; // Only overflow on the .dialog__content\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\t// Auto scale to fit\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\toverflow: hidden;\n\n\t\t&--collapsed {\n\t\t\tflex-direction: column;\n\t\t}\n\t}\n\n\t&__navigation {\n\t\tdisplay: flex;\n\t\tflex-shrink: 0;\n\t}\n\n\t// Navigation styling when side-by-side with content\n\t&__wrapper:not(&__wrapper--collapsed) &__navigation {\n\t\tflex-direction: column;\n\n\t\toverflow: hidden auto;\n\t\theight: 100%;\n\t\tmin-width: 200px;\n\t\tmargin-inline-end: 20px;\n\t}\n\n\t// Navigation styling when on top of content\n\t&__wrapper#{&}__wrapper--collapsed &__navigation {\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\n\t\toverflow: auto hidden;\n\t\twidth: 100%;\n\t\tmin-width: 100%;\n\t}\n\n\t&__name {\n\t\tfont-size: 21px;\n\n\t\ttext-align: center;\n\t\theight: fit-content;\n\t\tmin-height: var(--default-clickable-area);\n\t\tline-height: var(--default-clickable-area);\n\t\toverflow-wrap: break-word;\n\t\tmargin-block: 0 12px;\n\t}\n\n\t&__content {\n\t\t// Auto fit\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\toverflow: auto;\n\t\t// see .dialog__modal, we can not set the padding there to prevent floating scroll bars\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t// In case only text content is show\n\t&__text {\n\t\t// Also add padding to the bottom to make it more readable\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__actions {\n\t\tdisplay: flex;\n\t\tgap: 6px;\n\t\talign-content: center;\n\t\twidth: fit-content;\n\t\tmargin-inline: auto 12px; // 12px to align with the overall modal padding\n\t\tmargin-block: 0;\n\n\t\t&:not(:empty) {\n\t\t\tmargin-block: 6px 12px; // only if there are actions, we add margin so if it is empty scroll content looks nice\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t// Ensure the dialog name does not interfere with the close button\n\t.dialog__name {\n\t\ttext-align: start;\n\t\tmargin-inline-end: var(--default-clickable-area);\n\t}\n}\n</style>\n"],"names":["_sfc_main","defineComponent","NcDialogButton","NcModal","arr","element","value","props","emit","slots","wrapper","ref","dialogWidth","useElementSize","isNavigationCollapsed","computed","hasNavigation","navigationId","GenRandomId","navigationAriaLabelAttr","navigationAriaLabelledbyAttr","showModal","handleButtonClose","handleClosing","handleClosed","modalProps"],"mappings":"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"}
1
+ {"version":3,"file":"NcDialog-C7KRNdTc.cjs","sources":["../../src/components/NcDialog/NcDialog.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2023 Ferdinand Thiessen\n -\n - @author Ferdinand Thiessen <opensource@fthiessen.de>\n -\n - @license AGPL-3.0-or-later\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n### General description\n\nThis component uses the `NcModal` under the hood for allowing users to create generic dialogs.\n\n### Basic example\n```vue\n<template>\n\t<div>\n\t\t<NcButton @click=\"showDialog = true\">Show dialog</NcButton>\n\t\t<NcDialog :open.sync=\"showDialog\" name=\"Confirmation\" message=\"Are you sure to proceed?\" :buttons=\"buttons\" />\n\t\t<p>Last response: {{ lastResponse }}</p>\n\t</div>\n</template>\n<script>\nimport IconCancel from '@mdi/svg/svg/cancel.svg?raw'\nimport IconCheck from '@mdi/svg/svg/check.svg?raw'\n\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tlastResponse: 'None',\n\t\t\tbuttons: [\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Cancel',\n\t\t\t\t\ticon: IconCancel,\n\t\t\t\t\tcallback: () => { this.lastResponse = 'Pressed \"Cancel\"' },\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tlabel: 'Ok',\n\t\t\t\t\ttype: 'primary',\n\t\t\t\t\ticon: IconCheck,\n\t\t\t\t\tcallback: () => { this.lastResponse = 'Pressed \"Ok\"' },\n\t\t\t\t}\n\t\t\t]\n\t\t}\n\t},\n}\n</script>\n```\n\n### Use custom actions and content\nInstead of using the buttons property, you can also inject your custom actions using a named slot.\nYou can also use the default slot to inject custom content.\n\n```vue\n<template>\n\t<div style=\"display: flex; gap: 12px;\">\n\t\t<NcButton @click=\"showDialog = true\">Show dialog</NcButton>\n\t\t<NcButton @click=\"showLongDialog = true\">Show long dialog</NcButton>\n\t\t<NcDialog v-if=\"showDialog\" name=\"Warning\" :can-close=\"false\">\n\t\t\t<template #actions>\n\t\t\t\t<NcButton @click=\"showDialog = false\">Ok</NcButton>\n\t\t\t</template>\n\t\t\t<div style=\"color: red; font-weight: bold;\">This is serious</div>\n\t\t</NcDialog>\n\t\t<NcDialog :open.sync=\"showLongDialog\" name=\"Lorem Ipsum\">\n\t\t\t<p v-for=\"i in new Array(63)\" :key=\"i\">Lorem ipsum dolor sit amet.</p>\n\t\t</NcDialog>\n\t</div>\n</template>\n<script>\nexport default {\n\tdata() {\n\t\treturn {\n\t\t\tshowDialog: false,\n\t\t\tshowLongDialog: false,\n\t\t}\n\t},\n}\n</script>\n```\n</docs>\n\n<template>\n\t<NcModal v-if=\"open\"\n\t\tclass=\"dialog__modal\"\n\t\t:enable-slideshow=\"false\"\n\t\t:enable-swipe=\"false\"\n\t\tv-bind=\"modalProps\"\n\t\t@close=\"handleClosed\"\n\t\t@update:show=\"handleClosing\">\n\t\t<!-- The dialog name / header -->\n\t\t<h2 :id=\"navigationId\" class=\"dialog__name\" v-text=\"name\" />\n\t\t<div class=\"dialog\" :class=\"dialogClasses\">\n\t\t\t<div ref=\"wrapper\" :class=\"['dialog__wrapper', { 'dialog__wrapper--collapsed': isNavigationCollapsed }]\">\n\t\t\t\t<!-- When the navigation is collapsed (too small dialog) it is displayed above the main content, otherwise on the inline start -->\n\t\t\t\t<nav v-if=\"hasNavigation\"\n\t\t\t\t\tclass=\"dialog__navigation\"\n\t\t\t\t\t:class=\"navigationClasses\"\n\t\t\t\t\t:aria-label=\"navigationAriaLabelAttr\"\n\t\t\t\t\t:aria-labelledby=\"navigationAriaLabelledbyAttr\">\n\t\t\t\t\t<slot name=\"navigation\" :is-collapsed=\"isNavigationCollapsed\" />\n\t\t\t\t</nav>\n\t\t\t\t<!-- Main dialog content -->\n\t\t\t\t<div class=\"dialog__content\" :class=\"contentClasses\">\n\t\t\t\t\t<slot>\n\t\t\t\t\t\t<p class=\"dialog__text\">\n\t\t\t\t\t\t\t{{ message }}\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</slot>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!-- The dialog actions aka the buttons -->\n\t\t\t<div class=\"dialog__actions\">\n\t\t\t\t<slot name=\"actions\">\n\t\t\t\t\t<NcDialogButton v-for=\"(button, idx) in buttons\"\n\t\t\t\t\t\t:key=\"idx\"\n\t\t\t\t\t\tv-bind=\"button\"\n\t\t\t\t\t\t@click=\"handleButtonClose\" />\n\t\t\t\t</slot>\n\t\t\t</div>\n\t\t</div>\n\t</NcModal>\n</template>\n\n<script>\nimport { useElementSize } from '@vueuse/core'\nimport { computed, defineComponent, ref } from 'vue'\n\nimport NcModal from '../NcModal/index.js'\nimport NcDialogButton from '../NcDialogButton/index.js'\n\nimport GenRandomId from '../../utils/GenRandomId.js'\n\nexport default defineComponent({\n\tname: 'NcDialog',\n\n\tcomponents: {\n\t\tNcDialogButton,\n\t\tNcModal,\n\t},\n\n\tprops: {\n\t\t/** Name of the dialog (the heading) */\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\t/** Text of the dialog */\n\t\tmessage: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/** Additional elements to add to the focus trap */\n\t\tadditionalTrapElements: {\n\t\t\ttype: Array,\n\t\t\tvalidator: (arr) => {\n\t\t\t\treturn (\n\t\t\t\t\tArray.isArray(arr) && arr.every(\n\t\t\t\t\t\t(element) =>\n\t\t\t\t\t\t\ttypeof element === 'string' || element instanceof HTMLElement,\n\t\t\t\t\t)\n\t\t\t\t)\n\t\t\t},\n\t\t\tdefault: () => ([]),\n\t\t},\n\n\t\t/**\n\t\t * The element where to mount the dialog, if `null` is passed the dialog is mounted in place\n\t\t * @default 'body'\n\t\t */\n\t\tcontainer: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'body',\n\t\t},\n\n\t\t/**\n\t\t * Whether the dialog should be shown\n\t\t * @default true\n\t\t */\n\t\topen: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: true,\n\t\t},\n\n\t\t/**\n\t\t * Size of the underlying NcModal\n\t\t * @default 'small'\n\t\t * @type {'small'|'normal'|'large'|'full'}\n\t\t */\n\t\tsize: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: 'small',\n\t\t\tvalidator: (value) => typeof value === 'string' && ['small', 'normal', 'large', 'full'].includes(value),\n\t\t},\n\n\t\t/**\n\t\t * Buttons to display\n\t\t * @default []\n\t\t */\n\t\tbuttons: {\n\t\t\ttype: Array,\n\t\t\trequired: false,\n\t\t\tdefault: () => ([]),\n\t\t\tvalidator: (value) => Array.isArray(value) && value.every((element) => typeof element === 'object'),\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 * @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 dialog if the user clicked outside of the dialog\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: false,\n\t\t},\n\n\t\t/**\n\t\t * Declare if hiding the modal should be animated\n\t\t * @default false\n\t\t */\n\t\toutTransition: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the navigation for custom styling\n\t\t * @default ''\n\t\t * @example\n\t\t * ```html\n\t\t * <DialogBase :navigation-classes=\"['mydialog-navigation']\"><!-- --></DialogBase>\n\t\t * <!-- ... -->\n\t\t * <style lang=\"scss\">\n\t\t * :deep(.mydialog-navigation) {\n\t\t * flex-direction: row-reverse;\n\t\t * }\n\t\t * </style>\n\t\t * ```\n\t\t */\n\t\tnavigationClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * aria-label for the dialog navigation.\n\t\t * Use it when you want to provide a more meaningful label than the dialog name.\n\t\t *\n\t\t * By default, navigation is labeled by the dialog name.\n\t\t */\n\t\tnavigationAriaLabel: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * aria-labelledby for the dialog navigation.\n\t\t * Use it when you have an implicit navigation label (e.g. a heading).\n\t\t *\n\t\t * By default, navigation is labeled by the dialog name.\n\t\t */\n\t\tnavigationAriaLabelledby: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the content wrapper for custom styling\n\t\t * @default ''\n\t\t */\n\t\tcontentClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Optionally pass additionaly classes which will be set on the dialog itself\n\t\t * (the default `class` attribute will be set on the modal wrapper)\n\t\t * @default ''\n\t\t */\n\t\tdialogClasses: {\n\t\t\ttype: [String, Array, Object],\n\t\t\trequired: false,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: ['closing', 'update:open'],\n\n\tsetup(props, { emit, slots }) {\n\t\t/**\n\t\t * The dialog wrapper element\n\t\t * @type {import('vue').Ref<HTMLDivElement>}\n\t\t */\n\t\tconst wrapper = ref()\n\n\t\t/**\n\t\t * We use the dialog width to decide if we collapse the navigation (flex direction row)\n\t\t */\n\t\tconst { width: dialogWidth } = useElementSize(wrapper, { width: 900 })\n\n\t\t/**\n\t\t * Whether the navigation is collapsed due to dialog and window size\n\t\t * (collapses when modal is below: 900px modal width - 2x 12px margin)\n\t\t */\n\t\tconst isNavigationCollapsed = computed(() => dialogWidth.value < 876)\n\n\t\t/**\n\t\t * Whether a navigation was passed and the element should be displayed\n\t\t */\n\t\tconst hasNavigation = computed(() => slots?.navigation !== undefined)\n\n\t\t/**\n\t\t * The unique id of the nav element\n\t\t */\n\t\tconst navigationId = ref(GenRandomId())\n\n\t\t/**\n\t\t * aria-label attribute for the nav element\n\t\t */\n\t\tconst navigationAriaLabelAttr = computed(() => props.navigationAriaLabel || undefined)\n\n\t\t/**\n\t\t * aria-labelledby attribute for the nav element\n\t\t */\n\t\tconst navigationAriaLabelledbyAttr = computed(() => {\n\t\t\tif (props.navigationAriaLabel) {\n\t\t\t\t// Not needed, already labelled by aria-label\n\t\t\t\treturn undefined\n\t\t\t}\n\t\t\t// Use dialog name as a fallback label for navigation\n\t\t\treturn props.navigationAriaLabelledby || navigationId.value\n\t\t})\n\n\t\t/**\n\t\t * If the underlaying modal is shown\n\t\t */\n\t\tconst showModal = ref(true)\n\n\t\t// Because NcModal does not emit `close` when show prop is changed\n\t\t/**\n\t\t * Handle clicking a dialog button -> should close\n\t\t */\n\t\tconst handleButtonClose = () => {\n\t\t\thandleClosing()\n\t\t\twindow.setTimeout(() => handleClosed(), 300)\n\t\t}\n\n\t\t/**\n\t\t * Handle closing the dialog, optional out transition did not run yet\n\t\t */\n\t\tconst handleClosing = () => {\n\t\t\tshowModal.value = false\n\t\t\t/**\n\t\t\t * Emitted when the dialog is closing, so the out transition did not finish yet\n\t\t\t */\n\t\t\temit('closing')\n\t\t}\n\n\t\t/**\n\t\t * Handle dialog closed (out transition finished)\n\t\t */\n\t\tconst handleClosed = () => {\n\t\t\tshowModal.value = true\n\t\t\t/**\n\t\t\t * Emitted then the dialog is fully closed and the out transition run\n\t\t\t */\n\t\t\temit('update:open', false)\n\t\t}\n\n\t\t/**\n\t\t * Properties to pass to the underlying NcModal\n\t\t */\n\t\tconst modalProps = computed(() => ({\n\t\t\tcanClose: props.canClose,\n\t\t\tcontainer: props.container === undefined ? 'body' : props.container,\n\t\t\t// we do not pass the name as we already have the name as the headline\n\t\t\t// name: props.name,\n\t\t\tsize: props.size,\n\t\t\tshow: props.open && showModal.value,\n\t\t\toutTransition: props.outTransition,\n\t\t\tcloseOnClickOutside: props.closeOnClickOutside,\n\t\t\tadditionalTrapElements: props.additionalTrapElements,\n\t\t}))\n\n\t\treturn {\n\t\t\thandleButtonClose,\n\t\t\thandleClosing,\n\t\t\thandleClosed,\n\t\t\thasNavigation,\n\t\t\tnavigationId,\n\t\t\tnavigationAriaLabelAttr,\n\t\t\tnavigationAriaLabelledbyAttr,\n\t\t\tisNavigationCollapsed,\n\t\t\tmodalProps,\n\t\t\twrapper,\n\t\t}\n\t},\n})\n</script>\n\n<style lang=\"scss\">\n/** When having the small dialog style we override the modal styling so dialogs look more dialog like */\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t.dialog__modal .modal-wrapper--small .modal-container {\n\t\twidth: fit-content;\n\t\theight: unset;\n\t\tmax-height: 90%;\n\t\tposition: relative;\n\t\ttop: unset;\n\t\tborder-radius: var(--border-radius-large);\n\t}\n}\n</style>\n\n<style lang=\"scss\" scoped>\n.dialog {\n\theight: 100%;\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\toverflow: hidden;\n\n\t&__modal {\n\t\t:deep(.modal-wrapper .modal-container) {\n\t\t\tdisplay: flex !important;\n\t\t\tpadding-block: 4px 0; // 4px to align with close button, 0 block-end to make overflowing content on scroll look nice\n\t\t\tpadding-inline: 12px 0; // Same as with padding-block, we need the actions to have a margin of 4px for the button outline\n\t\t}\n\t\t:deep(.modal-wrapper .modal-container__content) {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\toverflow: hidden; // Only overflow on the .dialog__content\n\t\t}\n\t}\n\n\t&__wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\t// Auto scale to fit\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\toverflow: hidden;\n\n\t\t&--collapsed {\n\t\t\tflex-direction: column;\n\t\t}\n\t}\n\n\t&__navigation {\n\t\tdisplay: flex;\n\t\tflex-shrink: 0;\n\t}\n\n\t// Navigation styling when side-by-side with content\n\t&__wrapper:not(&__wrapper--collapsed) &__navigation {\n\t\tflex-direction: column;\n\n\t\toverflow: hidden auto;\n\t\theight: 100%;\n\t\tmin-width: 200px;\n\t\tmargin-inline-end: 20px;\n\t}\n\n\t// Navigation styling when on top of content\n\t&__wrapper#{&}__wrapper--collapsed &__navigation {\n\t\tflex-direction: row;\n\t\tjustify-content: space-between;\n\n\t\toverflow: auto hidden;\n\t\twidth: 100%;\n\t\tmin-width: 100%;\n\t}\n\n\t&__name {\n\t\tfont-size: 21px;\n\n\t\ttext-align: center;\n\t\theight: fit-content;\n\t\tmin-height: var(--default-clickable-area);\n\t\tline-height: var(--default-clickable-area);\n\t\toverflow-wrap: break-word;\n\t\tmargin-block: 0 12px;\n\t}\n\n\t&__content {\n\t\t// Auto fit\n\t\tflex: 1;\n\t\tmin-height: 0;\n\t\toverflow: auto;\n\t\t// see .dialog__modal, we can not set the padding there to prevent floating scroll bars\n\t\tpadding-inline-end: 12px;\n\t}\n\n\t// In case only text content is show\n\t&__text {\n\t\t// Also add padding to the bottom to make it more readable\n\t\tpadding-block-end: 6px;\n\t}\n\n\t&__actions {\n\t\tbox-sizing: border-box;\n\n\t\tdisplay: flex;\n\t\tgap: 6px;\n\t\talign-content: center;\n\t\tjustify-content: end;\n\n\t\twidth: 100%;\n\t\tmax-width: 100%;\n\t\tpadding-inline: 0 12px; // 12px to align with the overall modal padding\n\t\tmargin-inline: 0;\n\t\tmargin-block: 0;\n\n\t\t&:not(:empty) {\n\t\t\tmargin-block: 6px 12px; // only if there are actions, we add margin so if it is empty scroll content looks nice\n\t\t}\n\t}\n}\n\n@media only screen and (max-width: $breakpoint-small-mobile) {\n\t// Ensure the dialog name does not interfere with the close button\n\t.dialog__name {\n\t\ttext-align: start;\n\t\tmargin-inline-end: var(--default-clickable-area);\n\t}\n}\n</style>\n"],"names":["defineComponent","NcDialogButton","NcModal","ref","useElementSize","computed","GenRandomId"],"mappings":";;;;;;;AAoJA,MAAA,YAAAA,IAAAA,gBAAA;AAAA,EACA,MAAA;AAAA,EAEA,YAAA;AAAA,IACA,gBAAAC,eAAA;AAAA,IACA,SAAAC;AAAAA,EACA;AAAA,EAEA,OAAA;AAAA;AAAA,IAEA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA;AAAA,IAGA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA,IAGA,wBAAA;AAAA,MACA,MAAA;AAAA,MACA,WAAA,CAAA,QAAA;AACA,eACA,MAAA,QAAA,GAAA,KAAA,IAAA;AAAA,UACA,CAAA,YACA,OAAA,YAAA,YAAA,mBAAA;AAAA,QACA;AAAA,MAEA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,WAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,WAAA,CAAA,UAAA,OAAA,UAAA,YAAA,CAAA,SAAA,UAAA,SAAA,MAAA,EAAA,SAAA,KAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,SAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,MAAA,CAAA;AAAA,MACA,WAAA,CAAA,UAAA,MAAA,QAAA,KAAA,KAAA,MAAA,MAAA,CAAA,YAAA,OAAA,YAAA,QAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,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,eAAA;AAAA,MACA,MAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAgBA,mBAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA,0BAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA,gBAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOA,eAAA;AAAA,MACA,MAAA,CAAA,QAAA,OAAA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,IACA;AAAA,EACA;AAAA,EAEA,OAAA,CAAA,WAAA,aAAA;AAAA,EAEA,MAAA,OAAA,EAAA,MAAA,MAAA,GAAA;AAKA,UAAA,UAAAC,IAAAA,IAAA;AAKA,UAAA,EAAA,OAAA,gBAAAC,KAAAA,eAAA,SAAA,EAAA,OAAA,KAAA;AAMA,UAAA,wBAAAC,IAAA,SAAA,MAAA,YAAA,QAAA,GAAA;AAKA,UAAA,gBAAAA,IAAA,SAAA,OAAA,+BAAA,gBAAA,MAAA;AAKA,UAAA,eAAAF,QAAAG,YAAAA,aAAA;AAKA,UAAA,0BAAAD,IAAA,SAAA,MAAA,MAAA,uBAAA,MAAA;AAKA,UAAA,+BAAAA,IAAAA,SAAA,MAAA;AACA,UAAA,MAAA,qBAAA;AAEA,eAAA;AAAA,MACA;AAEA,aAAA,MAAA,4BAAA,aAAA;AAAA,IACA,CAAA;AAKA,UAAA,YAAAF,IAAA,IAAA,IAAA;AAMA,UAAA,oBAAA,MAAA;AACA,oBAAA;AACA,aAAA,WAAA,MAAA,aAAA,GAAA,GAAA;AAAA,IACA;AAKA,UAAA,gBAAA,MAAA;AACA,gBAAA,QAAA;AAIA,WAAA,SAAA;AAAA,IACA;AAKA,UAAA,eAAA,MAAA;AACA,gBAAA,QAAA;AAIA,WAAA,eAAA,KAAA;AAAA,IACA;AAKA,UAAA,aAAAE,IAAAA,SAAA,OAAA;AAAA,MACA,UAAA,MAAA;AAAA,MACA,WAAA,MAAA,cAAA,SAAA,SAAA,MAAA;AAAA;AAAA;AAAA,MAGA,MAAA,MAAA;AAAA,MACA,MAAA,MAAA,QAAA,UAAA;AAAA,MACA,eAAA,MAAA;AAAA,MACA,qBAAA,MAAA;AAAA,MACA,wBAAA,MAAA;AAAA,IACA,EAAA;AAEA,WAAA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AACA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;"}