@nextcloud/vue 8.0.0-beta.6 → 8.0.0-beta.8

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 (568) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/Components/NcActionButton.cjs +49 -1
  3. package/dist/Components/NcActionButton.cjs.map +1 -1
  4. package/dist/Components/NcActionButton.mjs +48 -12
  5. package/dist/Components/NcActionButton.mjs.map +1 -1
  6. package/dist/Components/NcActionButtonGroup.cjs +30 -1
  7. package/dist/Components/NcActionButtonGroup.cjs.map +1 -1
  8. package/dist/Components/NcActionButtonGroup.mjs +30 -9
  9. package/dist/Components/NcActionButtonGroup.mjs.map +1 -1
  10. package/dist/Components/NcActionCaption.cjs +29 -1
  11. package/dist/Components/NcActionCaption.cjs.map +1 -1
  12. package/dist/Components/NcActionCaption.mjs +29 -9
  13. package/dist/Components/NcActionCaption.mjs.map +1 -1
  14. package/dist/Components/NcActionCheckbox.cjs +78 -1
  15. package/dist/Components/NcActionCheckbox.cjs.map +1 -1
  16. package/dist/Components/NcActionCheckbox.mjs +80 -19
  17. package/dist/Components/NcActionCheckbox.mjs.map +1 -1
  18. package/dist/Components/NcActionInput.cjs +226 -1
  19. package/dist/Components/NcActionInput.cjs.map +1 -1
  20. package/dist/Components/NcActionInput.mjs +227 -68
  21. package/dist/Components/NcActionInput.mjs.map +1 -1
  22. package/dist/Components/NcActionLink.cjs +69 -1
  23. package/dist/Components/NcActionLink.cjs.map +1 -1
  24. package/dist/Components/NcActionLink.mjs +65 -13
  25. package/dist/Components/NcActionLink.mjs.map +1 -1
  26. package/dist/Components/NcActionRadio.cjs +85 -1
  27. package/dist/Components/NcActionRadio.cjs.map +1 -1
  28. package/dist/Components/NcActionRadio.mjs +87 -19
  29. package/dist/Components/NcActionRadio.mjs.map +1 -1
  30. package/dist/Components/NcActionRouter.cjs +42 -1
  31. package/dist/Components/NcActionRouter.cjs.map +1 -1
  32. package/dist/Components/NcActionRouter.mjs +41 -12
  33. package/dist/Components/NcActionRouter.mjs.map +1 -1
  34. package/dist/Components/NcActionSeparator.cjs +20 -1
  35. package/dist/Components/NcActionSeparator.cjs.map +1 -1
  36. package/dist/Components/NcActionSeparator.mjs +20 -9
  37. package/dist/Components/NcActionSeparator.mjs.map +1 -1
  38. package/dist/Components/NcActionText.cjs +23 -1
  39. package/dist/Components/NcActionText.cjs.map +1 -1
  40. package/dist/Components/NcActionText.mjs +20 -8
  41. package/dist/Components/NcActionText.mjs.map +1 -1
  42. package/dist/Components/NcActionTextEditable.cjs +81 -1
  43. package/dist/Components/NcActionTextEditable.cjs.map +1 -1
  44. package/dist/Components/NcActionTextEditable.mjs +79 -22
  45. package/dist/Components/NcActionTextEditable.mjs.map +1 -1
  46. package/dist/Components/NcActions.cjs +455 -1
  47. package/dist/Components/NcActions.cjs.map +1 -1
  48. package/dist/Components/NcActions.mjs +459 -100
  49. package/dist/Components/NcActions.mjs.map +1 -1
  50. package/dist/Components/NcAppContent.cjs +218 -1
  51. package/dist/Components/NcAppContent.cjs.map +1 -1
  52. package/dist/Components/NcAppContent.mjs +220 -66
  53. package/dist/Components/NcAppContent.mjs.map +1 -1
  54. package/dist/Components/NcAppContentDetails.cjs +19 -1
  55. package/dist/Components/NcAppContentDetails.cjs.map +1 -1
  56. package/dist/Components/NcAppContentDetails.mjs +18 -7
  57. package/dist/Components/NcAppContentDetails.mjs.map +1 -1
  58. package/dist/Components/NcAppContentList.cjs +29 -1
  59. package/dist/Components/NcAppContentList.cjs.map +1 -1
  60. package/dist/Components/NcAppContentList.mjs +29 -8
  61. package/dist/Components/NcAppContentList.mjs.map +1 -1
  62. package/dist/Components/NcAppNavigation.cjs +66 -1
  63. package/dist/Components/NcAppNavigation.cjs.map +1 -1
  64. package/dist/Components/NcAppNavigation.mjs +67 -28
  65. package/dist/Components/NcAppNavigation.mjs.map +1 -1
  66. package/dist/Components/NcAppNavigationCaption.cjs +44 -1
  67. package/dist/Components/NcAppNavigationCaption.cjs.map +1 -1
  68. package/dist/Components/NcAppNavigationCaption.mjs +40 -9
  69. package/dist/Components/NcAppNavigationCaption.mjs.map +1 -1
  70. package/dist/Components/NcAppNavigationIconBullet.cjs +40 -1
  71. package/dist/Components/NcAppNavigationIconBullet.cjs.map +1 -1
  72. package/dist/Components/NcAppNavigationIconBullet.mjs +40 -15
  73. package/dist/Components/NcAppNavigationIconBullet.mjs.map +1 -1
  74. package/dist/Components/NcAppNavigationItem.cjs +386 -1
  75. package/dist/Components/NcAppNavigationItem.cjs.map +1 -1
  76. package/dist/Components/NcAppNavigationItem.mjs +382 -81
  77. package/dist/Components/NcAppNavigationItem.mjs.map +1 -1
  78. package/dist/Components/NcAppNavigationNew.cjs +50 -1
  79. package/dist/Components/NcAppNavigationNew.cjs.map +1 -1
  80. package/dist/Components/NcAppNavigationNew.mjs +51 -14
  81. package/dist/Components/NcAppNavigationNew.mjs.map +1 -1
  82. package/dist/Components/NcAppNavigationNewItem.cjs +87 -1
  83. package/dist/Components/NcAppNavigationNewItem.cjs.map +1 -1
  84. package/dist/Components/NcAppNavigationNewItem.mjs +83 -17
  85. package/dist/Components/NcAppNavigationNewItem.mjs.map +1 -1
  86. package/dist/Components/NcAppNavigationSettings.cjs +69 -1
  87. package/dist/Components/NcAppNavigationSettings.cjs.map +1 -1
  88. package/dist/Components/NcAppNavigationSettings.mjs +60 -21
  89. package/dist/Components/NcAppNavigationSettings.mjs.map +1 -1
  90. package/dist/Components/NcAppNavigationSpacer.cjs +20 -1
  91. package/dist/Components/NcAppNavigationSpacer.cjs.map +1 -1
  92. package/dist/Components/NcAppNavigationSpacer.mjs +20 -9
  93. package/dist/Components/NcAppNavigationSpacer.mjs.map +1 -1
  94. package/dist/Components/NcAppNavigationToggle.cjs +25 -1
  95. package/dist/Components/NcAppNavigationToggle.cjs.map +1 -1
  96. package/dist/Components/NcAppNavigationToggle.mjs +21 -1
  97. package/dist/Components/NcAppNavigationToggle.mjs.map +1 -1
  98. package/dist/Components/NcAppSettingsDialog.cjs +207 -1
  99. package/dist/Components/NcAppSettingsDialog.cjs.map +1 -1
  100. package/dist/Components/NcAppSettingsDialog.mjs +209 -48
  101. package/dist/Components/NcAppSettingsDialog.mjs.map +1 -1
  102. package/dist/Components/NcAppSettingsSection.cjs +39 -1
  103. package/dist/Components/NcAppSettingsSection.cjs.map +1 -1
  104. package/dist/Components/NcAppSettingsSection.mjs +39 -13
  105. package/dist/Components/NcAppSettingsSection.mjs.map +1 -1
  106. package/dist/Components/NcAppSidebar.cjs +443 -1
  107. package/dist/Components/NcAppSidebar.cjs.map +1 -1
  108. package/dist/Components/NcAppSidebar.mjs +409 -92
  109. package/dist/Components/NcAppSidebar.mjs.map +1 -1
  110. package/dist/Components/NcAppSidebarTab.cjs +83 -1
  111. package/dist/Components/NcAppSidebarTab.cjs.map +1 -1
  112. package/dist/Components/NcAppSidebarTab.mjs +83 -20
  113. package/dist/Components/NcAppSidebarTab.mjs.map +1 -1
  114. package/dist/Components/NcAvatar.cjs +3 -1
  115. package/dist/Components/NcAvatar.cjs.map +1 -1
  116. package/dist/Components/NcAvatar.mjs +1 -1
  117. package/dist/Components/NcBreadcrumb.cjs +175 -1
  118. package/dist/Components/NcBreadcrumb.cjs.map +1 -1
  119. package/dist/Components/NcBreadcrumb.mjs +175 -35
  120. package/dist/Components/NcBreadcrumb.mjs.map +1 -1
  121. package/dist/Components/NcBreadcrumbs.cjs +372 -1
  122. package/dist/Components/NcBreadcrumbs.cjs.map +1 -1
  123. package/dist/Components/NcBreadcrumbs.mjs +373 -142
  124. package/dist/Components/NcBreadcrumbs.mjs.map +1 -1
  125. package/dist/Components/NcButton.cjs +226 -1
  126. package/dist/Components/NcButton.cjs.map +1 -1
  127. package/dist/Components/NcButton.mjs +226 -24
  128. package/dist/Components/NcButton.mjs.map +1 -1
  129. package/dist/Components/NcCheckboxRadioSwitch.cjs +237 -1
  130. package/dist/Components/NcCheckboxRadioSwitch.cjs.map +1 -1
  131. package/dist/Components/NcCheckboxRadioSwitch.mjs +243 -57
  132. package/dist/Components/NcCheckboxRadioSwitch.mjs.map +1 -1
  133. package/dist/Components/NcColorPicker.cjs +118 -1
  134. package/dist/Components/NcColorPicker.cjs.map +1 -1
  135. package/dist/Components/NcColorPicker.mjs +124 -46
  136. package/dist/Components/NcColorPicker.mjs.map +1 -1
  137. package/dist/Components/NcContent.cjs +25 -1
  138. package/dist/Components/NcContent.cjs.map +1 -1
  139. package/dist/Components/NcContent.mjs +24 -8
  140. package/dist/Components/NcContent.mjs.map +1 -1
  141. package/dist/Components/NcCounterBubble.cjs +47 -1
  142. package/dist/Components/NcCounterBubble.cjs.map +1 -1
  143. package/dist/Components/NcCounterBubble.mjs +46 -12
  144. package/dist/Components/NcCounterBubble.mjs.map +1 -1
  145. package/dist/Components/NcDashboardWidget.cjs +133 -1
  146. package/dist/Components/NcDashboardWidget.cjs.map +1 -1
  147. package/dist/Components/NcDashboardWidget.mjs +128 -39
  148. package/dist/Components/NcDashboardWidget.mjs.map +1 -1
  149. package/dist/Components/NcDashboardWidgetItem.cjs +138 -1
  150. package/dist/Components/NcDashboardWidgetItem.cjs.map +1 -1
  151. package/dist/Components/NcDashboardWidgetItem.mjs +129 -22
  152. package/dist/Components/NcDashboardWidgetItem.mjs.map +1 -1
  153. package/dist/Components/NcDateTime.cjs +125 -0
  154. package/dist/Components/{NcDatetime.mjs.map → NcDateTime.cjs.map} +1 -1
  155. package/dist/Components/NcDateTime.mjs +129 -0
  156. package/dist/Components/{NcDatetime.cjs.map → NcDateTime.mjs.map} +1 -1
  157. package/dist/Components/NcDateTimePicker.cjs +217 -0
  158. package/dist/Components/NcDateTimePicker.cjs.map +1 -0
  159. package/dist/Components/NcDateTimePicker.mjs +228 -0
  160. package/dist/Components/NcDateTimePicker.mjs.map +1 -0
  161. package/dist/Components/NcDateTimePickerNative.cjs +199 -1
  162. package/dist/Components/NcDateTimePickerNative.cjs.map +1 -1
  163. package/dist/Components/NcDateTimePickerNative.mjs +195 -58
  164. package/dist/Components/NcDateTimePickerNative.mjs.map +1 -1
  165. package/dist/Components/NcEllipsisedOption.cjs +74 -1
  166. package/dist/Components/NcEllipsisedOption.cjs.map +1 -1
  167. package/dist/Components/NcEllipsisedOption.mjs +73 -20
  168. package/dist/Components/NcEllipsisedOption.mjs.map +1 -1
  169. package/dist/Components/NcEmojiPicker.cjs +175 -1
  170. package/dist/Components/NcEmojiPicker.cjs.map +1 -1
  171. package/dist/Components/NcEmojiPicker.mjs +173 -53
  172. package/dist/Components/NcEmojiPicker.mjs.map +1 -1
  173. package/dist/Components/NcEmptyContent.cjs +54 -1
  174. package/dist/Components/NcEmptyContent.cjs.map +1 -1
  175. package/dist/Components/NcEmptyContent.mjs +46 -10
  176. package/dist/Components/NcEmptyContent.mjs.map +1 -1
  177. package/dist/Components/NcGuestContent.cjs +26 -1
  178. package/dist/Components/NcGuestContent.cjs.map +1 -1
  179. package/dist/Components/NcGuestContent.mjs +24 -11
  180. package/dist/Components/NcGuestContent.mjs.map +1 -1
  181. package/dist/Components/NcHeaderMenu.cjs +167 -1
  182. package/dist/Components/NcHeaderMenu.cjs.map +1 -1
  183. package/dist/Components/NcHeaderMenu.mjs +161 -49
  184. package/dist/Components/NcHeaderMenu.mjs.map +1 -1
  185. package/dist/Components/NcHighlight.cjs +3 -1
  186. package/dist/Components/NcHighlight.cjs.map +1 -1
  187. package/dist/Components/NcHighlight.mjs +1 -1
  188. package/dist/Components/NcIconSvgWrapper.cjs +44 -1
  189. package/dist/Components/NcIconSvgWrapper.cjs.map +1 -1
  190. package/dist/Components/NcIconSvgWrapper.mjs +45 -15
  191. package/dist/Components/NcIconSvgWrapper.mjs.map +1 -1
  192. package/dist/Components/NcInputField.cjs +210 -1
  193. package/dist/Components/NcInputField.cjs.map +1 -1
  194. package/dist/Components/NcInputField.mjs +211 -38
  195. package/dist/Components/NcInputField.mjs.map +1 -1
  196. package/dist/Components/NcListItem.cjs +237 -1
  197. package/dist/Components/NcListItem.cjs.map +1 -1
  198. package/dist/Components/NcListItem.mjs +233 -57
  199. package/dist/Components/NcListItem.mjs.map +1 -1
  200. package/dist/Components/NcListItemIcon.cjs +150 -1
  201. package/dist/Components/NcListItemIcon.cjs.map +1 -1
  202. package/dist/Components/NcListItemIcon.mjs +142 -26
  203. package/dist/Components/NcListItemIcon.mjs.map +1 -1
  204. package/dist/Components/NcLoadingIcon.cjs +54 -1
  205. package/dist/Components/NcLoadingIcon.cjs.map +1 -1
  206. package/dist/Components/NcLoadingIcon.mjs +54 -14
  207. package/dist/Components/NcLoadingIcon.mjs.map +1 -1
  208. package/dist/Components/NcModal.cjs +405 -1
  209. package/dist/Components/NcModal.cjs.map +1 -1
  210. package/dist/Components/NcModal.mjs +401 -103
  211. package/dist/Components/NcModal.mjs.map +1 -1
  212. package/dist/Components/NcNoteCard.cjs +71 -1
  213. package/dist/Components/NcNoteCard.cjs.map +1 -1
  214. package/dist/Components/NcNoteCard.mjs +71 -37
  215. package/dist/Components/NcNoteCard.mjs.map +1 -1
  216. package/dist/Components/NcPasswordField.cjs +152 -1
  217. package/dist/Components/NcPasswordField.cjs.map +1 -1
  218. package/dist/Components/NcPasswordField.mjs +157 -53
  219. package/dist/Components/NcPasswordField.mjs.map +1 -1
  220. package/dist/Components/NcPopover.cjs +125 -1
  221. package/dist/Components/NcPopover.cjs.map +1 -1
  222. package/dist/Components/NcPopover.mjs +124 -41
  223. package/dist/Components/NcPopover.mjs.map +1 -1
  224. package/dist/Components/NcProgressBar.cjs +57 -1
  225. package/dist/Components/NcProgressBar.cjs.map +1 -1
  226. package/dist/Components/NcProgressBar.mjs +57 -15
  227. package/dist/Components/NcProgressBar.mjs.map +1 -1
  228. package/dist/Components/NcRelatedResourcesPanel.cjs +168 -1
  229. package/dist/Components/NcRelatedResourcesPanel.cjs.map +1 -1
  230. package/dist/Components/NcRelatedResourcesPanel.mjs +166 -60
  231. package/dist/Components/NcRelatedResourcesPanel.mjs.map +1 -1
  232. package/dist/Components/NcRichContenteditable.cjs +478 -1
  233. package/dist/Components/NcRichContenteditable.cjs.map +1 -1
  234. package/dist/Components/NcRichContenteditable.mjs +447 -127
  235. package/dist/Components/NcRichContenteditable.mjs.map +1 -1
  236. package/dist/Components/NcRichText.cjs +44 -1
  237. package/dist/Components/NcRichText.cjs.map +1 -1
  238. package/dist/Components/NcRichText.mjs +25 -4
  239. package/dist/Components/NcRichText.mjs.map +1 -1
  240. package/dist/Components/NcSavingIndicatorIcon.cjs +59 -1
  241. package/dist/Components/NcSavingIndicatorIcon.cjs.map +1 -1
  242. package/dist/Components/NcSavingIndicatorIcon.mjs +56 -9
  243. package/dist/Components/NcSavingIndicatorIcon.mjs.map +1 -1
  244. package/dist/Components/NcSelect.cjs +406 -1
  245. package/dist/Components/NcSelect.cjs.map +1 -1
  246. package/dist/Components/NcSelect.mjs +402 -49
  247. package/dist/Components/NcSelect.mjs.map +1 -1
  248. package/dist/Components/NcSelectTags.cjs +251 -2
  249. package/dist/Components/NcSelectTags.cjs.map +1 -1
  250. package/dist/Components/NcSelectTags.mjs +236 -73
  251. package/dist/Components/NcSelectTags.mjs.map +1 -1
  252. package/dist/Components/NcSettingsInputText.cjs +90 -1
  253. package/dist/Components/NcSettingsInputText.cjs.map +1 -1
  254. package/dist/Components/NcSettingsInputText.mjs +88 -19
  255. package/dist/Components/NcSettingsInputText.mjs.map +1 -1
  256. package/dist/Components/NcSettingsSection.cjs +62 -1
  257. package/dist/Components/NcSettingsSection.cjs.map +1 -1
  258. package/dist/Components/NcSettingsSection.mjs +62 -15
  259. package/dist/Components/NcSettingsSection.mjs.map +1 -1
  260. package/dist/Components/NcSettingsSelectGroup.cjs +26 -1
  261. package/dist/Components/NcSettingsSelectGroup.cjs.map +1 -1
  262. package/dist/Components/NcSettingsSelectGroup.mjs +24 -53
  263. package/dist/Components/NcSettingsSelectGroup.mjs.map +1 -1
  264. package/dist/Components/NcTextField.cjs +74 -1
  265. package/dist/Components/NcTextField.cjs.map +1 -1
  266. package/dist/Components/NcTextField.mjs +77 -21
  267. package/dist/Components/NcTextField.mjs.map +1 -1
  268. package/dist/Components/NcTimezonePicker.cjs +4387 -614
  269. package/dist/Components/NcTimezonePicker.cjs.map +1 -1
  270. package/dist/Components/NcTimezonePicker.mjs +4372 -663
  271. package/dist/Components/NcTimezonePicker.mjs.map +1 -1
  272. package/dist/Components/NcUserBubble.cjs +189 -1
  273. package/dist/Components/NcUserBubble.cjs.map +1 -1
  274. package/dist/Components/NcUserBubble.mjs +190 -47
  275. package/dist/Components/NcUserBubble.mjs.map +1 -1
  276. package/dist/Components/NcVNodes.cjs +35 -1
  277. package/dist/Components/NcVNodes.cjs.map +1 -1
  278. package/dist/Components/NcVNodes.mjs +35 -8
  279. package/dist/Components/NcVNodes.mjs.map +1 -1
  280. package/dist/Directives/Focus.cjs +30 -1
  281. package/dist/Directives/Focus.cjs.map +1 -1
  282. package/dist/Directives/Focus.mjs +28 -5
  283. package/dist/Directives/Focus.mjs.map +1 -1
  284. package/dist/Directives/Linkify.cjs +8 -1
  285. package/dist/Directives/Linkify.cjs.map +1 -1
  286. package/dist/Directives/Linkify.mjs +6 -6
  287. package/dist/Directives/Linkify.mjs.map +1 -1
  288. package/dist/Directives/Tooltip.cjs +37 -1
  289. package/dist/Directives/Tooltip.cjs.map +1 -1
  290. package/dist/Directives/Tooltip.mjs +29 -4
  291. package/dist/Directives/Tooltip.mjs.map +1 -1
  292. package/dist/Functions/emoji.cjs +36 -1
  293. package/dist/Functions/emoji.cjs.map +1 -1
  294. package/dist/Functions/emoji.mjs +32 -11
  295. package/dist/Functions/emoji.mjs.map +1 -1
  296. package/dist/Functions/usernameToColor.cjs +39 -1
  297. package/dist/Functions/usernameToColor.cjs.map +1 -1
  298. package/dist/Functions/usernameToColor.mjs +32 -11
  299. package/dist/Functions/usernameToColor.mjs.map +1 -1
  300. package/dist/Mixins/clickOutsideOptions.cjs +40 -1
  301. package/dist/Mixins/clickOutsideOptions.cjs.map +1 -1
  302. package/dist/Mixins/clickOutsideOptions.mjs +39 -4
  303. package/dist/Mixins/clickOutsideOptions.mjs.map +1 -1
  304. package/dist/Mixins/isFullscreen.cjs +44 -1
  305. package/dist/Mixins/isFullscreen.cjs.map +1 -1
  306. package/dist/Mixins/isFullscreen.mjs +42 -11
  307. package/dist/Mixins/isFullscreen.mjs.map +1 -1
  308. package/dist/Mixins/isMobile.cjs +87 -1
  309. package/dist/Mixins/isMobile.cjs.map +1 -1
  310. package/dist/Mixins/isMobile.mjs +86 -11
  311. package/dist/Mixins/isMobile.mjs.map +1 -1
  312. package/dist/Mixins/richEditor.cjs +10 -1
  313. package/dist/Mixins/richEditor.cjs.map +1 -1
  314. package/dist/Mixins/richEditor.mjs +2 -2
  315. package/dist/assets/{index28.css → NcAppNavigationToggle-2cc5b864.css} +16 -2
  316. package/dist/assets/NcInputConfirmCancel-2ba60a52.css +51 -0
  317. package/dist/assets/NcMentionBubble-6e887c5f.css +81 -0
  318. package/dist/assets/{index46.css → NcSettingsSelectGroup-0d38d76b.css} +15 -2
  319. package/dist/assets/index-01e5adf4.css +79 -0
  320. package/dist/assets/index-03ec5f40.css +60 -0
  321. package/dist/assets/{index.css → index-0557f12a.css} +26 -2
  322. package/dist/assets/index-0ab8e182.css +128 -0
  323. package/dist/assets/index-0adc989c.css +96 -0
  324. package/dist/assets/index-1151d229.css +41 -0
  325. package/dist/assets/index-165fce0e.css +82 -0
  326. package/dist/assets/index-194e9415.css +163 -0
  327. package/dist/assets/index-1beccc92.css +140 -0
  328. package/dist/assets/index-1cf8eeb4.css +97 -0
  329. package/dist/assets/index-23e64bbb.css +59 -0
  330. package/dist/assets/{index50.css → index-24f6c355.css} +67 -3
  331. package/dist/assets/index-294382c8.css +879 -0
  332. package/dist/assets/index-2a8e4ca1.css +540 -0
  333. package/dist/assets/index-2d4de2fc.css +38 -0
  334. package/dist/assets/{index2.css → index-30e099f7.css} +17 -2
  335. package/dist/assets/{NcInputConfirmCancel.css → index-33da80f0.css} +32 -2
  336. package/dist/assets/index-34dfc54e.css +88 -0
  337. package/dist/assets/index-3764a447.css +99 -0
  338. package/dist/assets/index-376d2dec.css +243 -0
  339. package/dist/assets/{index17.css → index-441b6552.css} +25 -2
  340. package/dist/assets/index-4a775ba1.css +204 -0
  341. package/dist/assets/index-4ebacc78.css +107 -0
  342. package/dist/assets/index-4ef32afd.css +128 -0
  343. package/dist/assets/{index47.css → index-5072b6ee.css} +77 -3
  344. package/dist/assets/index-50b0766d.css +202 -0
  345. package/dist/assets/index-5eff69c7.css +149 -0
  346. package/dist/assets/index-5fa0ac5a.css +46 -0
  347. package/dist/assets/index-61b63a8f.css +57 -0
  348. package/dist/assets/index-6405cd50.css +76 -0
  349. package/dist/assets/index-6416f636.css +83 -0
  350. package/dist/assets/index-6c47e88a.css +46 -0
  351. package/dist/assets/index-76a58945.css +68 -0
  352. package/dist/assets/index-76dd9f11.css +5 -0
  353. package/dist/assets/index-7768d5e5.css +148 -0
  354. package/dist/assets/index-7813bab3.css +66 -0
  355. package/dist/assets/index-793eae6b.css +234 -0
  356. package/dist/assets/index-8aa4712e.css +51 -0
  357. package/dist/assets/{index27.css → index-8f52a20f.css} +16 -2
  358. package/dist/assets/index-9354264c.css +80 -0
  359. package/dist/assets/index-93ad846c.css +259 -0
  360. package/dist/assets/index-a2b51bce.css +47 -0
  361. package/dist/assets/index-a2d55f92.css +204 -0
  362. package/dist/assets/{index13.css → index-a9e4fe04.css} +27 -2
  363. package/dist/assets/{NcAppNavigationToggle.css → index-b8f13a1f.css} +13 -2
  364. package/dist/assets/index-b991895f.css +87 -0
  365. package/dist/assets/{index48.css → index-baf8711a.css} +67 -3
  366. package/dist/assets/index-becfbea7.css +128 -0
  367. package/dist/assets/index-c6f0da2e.css +69 -0
  368. package/dist/assets/index-c7905a53.css +44 -0
  369. package/dist/assets/index-d211cae8.css +93 -0
  370. package/dist/assets/{index22.css → index-d646553d.css} +22 -2
  371. package/dist/assets/index-de0326c7.css +304 -0
  372. package/dist/assets/index-ed4adf1d.css +115 -0
  373. package/dist/assets/index-edee3304.css +52 -0
  374. package/dist/assets/index-fbdeb5ab.css +303 -0
  375. package/dist/assets/index-fc61f2d8.css +41 -0
  376. package/dist/assets/index-fec4bb7b.css +132 -0
  377. package/dist/assets/referencePickerModal-0acecb5e.css +482 -0
  378. package/dist/chunks/GenColors-38246c38.mjs +46 -0
  379. package/dist/chunks/{GenColors-8097de04.cjs.map → GenColors-38246c38.mjs.map} +1 -1
  380. package/dist/chunks/GenColors-eedcc70a.cjs +45 -0
  381. package/dist/chunks/{GenColors-85cb6194.mjs.map → GenColors-eedcc70a.cjs.map} +1 -1
  382. package/dist/{assets/index29.css → chunks/GenRandomId-c214d235.cjs} +8 -5
  383. package/dist/chunks/{GenRandomId-67df40eb.cjs.map → GenRandomId-c214d235.cjs.map} +1 -1
  384. package/dist/chunks/GenRandomId-cb9ccebe.mjs +25 -0
  385. package/dist/chunks/{GenRandomId-1e1b509a.mjs.map → GenRandomId-cb9ccebe.mjs.map} +1 -1
  386. package/dist/chunks/Linkify-39f20c9a.mjs +33 -0
  387. package/dist/chunks/{Linkify-a0faf443.mjs.map → Linkify-39f20c9a.mjs.map} +1 -1
  388. package/dist/chunks/Linkify-40cdd635.cjs +32 -0
  389. package/dist/chunks/{Linkify-a4db36a9.cjs.map → Linkify-40cdd635.cjs.map} +1 -1
  390. package/dist/chunks/NcAppNavigationToggle-960658a0.cjs +49 -0
  391. package/dist/chunks/NcAppNavigationToggle-960658a0.cjs.map +1 -0
  392. package/dist/chunks/NcAppNavigationToggle-d868f651.mjs +55 -0
  393. package/dist/chunks/NcAppNavigationToggle-d868f651.mjs.map +1 -0
  394. package/dist/chunks/NcInputConfirmCancel-0c4bee9a.cjs +83 -0
  395. package/dist/chunks/NcInputConfirmCancel-0c4bee9a.cjs.map +1 -0
  396. package/dist/chunks/NcInputConfirmCancel-f881168d.mjs +89 -0
  397. package/dist/chunks/NcInputConfirmCancel-f881168d.mjs.map +1 -0
  398. package/dist/chunks/NcRichText-1c3d2654.mjs +302 -0
  399. package/dist/chunks/{NcRichText-13b09624.mjs.map → NcRichText-1c3d2654.mjs.map} +1 -1
  400. package/dist/chunks/NcRichText-d385dc10.cjs +289 -0
  401. package/dist/chunks/{NcRichText-1e8854a1.cjs.map → NcRichText-d385dc10.cjs.map} +1 -1
  402. package/dist/chunks/NcSettingsSelectGroup-0f4a0f94.mjs +192 -0
  403. package/dist/chunks/NcSettingsSelectGroup-0f4a0f94.mjs.map +1 -0
  404. package/dist/chunks/NcSettingsSelectGroup-47d9c113.cjs +183 -0
  405. package/dist/chunks/NcSettingsSelectGroup-47d9c113.cjs.map +1 -0
  406. package/dist/chunks/ScopeComponent-1c75ec38.cjs +28 -0
  407. package/dist/chunks/{ScopeComponent-f6122f5a.cjs.map → ScopeComponent-1c75ec38.cjs.map} +1 -1
  408. package/dist/chunks/ScopeComponent-97a014a1.mjs +29 -0
  409. package/dist/chunks/{ScopeComponent-dbcd0e07.mjs.map → ScopeComponent-97a014a1.mjs.map} +1 -1
  410. package/dist/chunks/_plugin-vue2_normalizer-71e2aa87.mjs +32 -0
  411. package/dist/chunks/_plugin-vue2_normalizer-71e2aa87.mjs.map +1 -0
  412. package/dist/chunks/_plugin-vue2_normalizer-7f9efb60.cjs +31 -0
  413. package/dist/chunks/_plugin-vue2_normalizer-7f9efb60.cjs.map +1 -0
  414. package/dist/chunks/actionGlobal-8c1c28c9.mjs +50 -0
  415. package/dist/chunks/{actionGlobal-cda46023.mjs.map → actionGlobal-8c1c28c9.mjs.map} +1 -1
  416. package/dist/chunks/actionGlobal-9e29e11b.cjs +49 -0
  417. package/dist/chunks/{actionGlobal-ec7003e8.cjs.map → actionGlobal-9e29e11b.cjs.map} +1 -1
  418. package/dist/chunks/actionText-9f5c55bd.mjs +121 -0
  419. package/dist/chunks/{actionText-6c35d3fc.mjs.map → actionText-9f5c55bd.mjs.map} +1 -1
  420. package/dist/chunks/actionText-b0bd6eb7.cjs +120 -0
  421. package/dist/chunks/{actionText-bef01778.cjs.map → actionText-b0bd6eb7.cjs.map} +1 -1
  422. package/dist/chunks/focusTrap-14985831.cjs +26 -0
  423. package/dist/chunks/{focusTrap-173aba65.mjs.map → focusTrap-14985831.cjs.map} +1 -1
  424. package/dist/chunks/focusTrap-5d0f71d4.mjs +27 -0
  425. package/dist/chunks/{focusTrap-139520e2.cjs.map → focusTrap-5d0f71d4.mjs.map} +1 -1
  426. package/dist/chunks/index-20a9ace9.mjs +149 -0
  427. package/dist/chunks/{index-cd3f1f8f.mjs.map → index-20a9ace9.mjs.map} +1 -1
  428. package/dist/chunks/index-2a5b8ace.cjs +434 -0
  429. package/dist/chunks/index-2a5b8ace.cjs.map +1 -0
  430. package/dist/chunks/index-4398f925.cjs +149 -0
  431. package/dist/chunks/{index-c4cd0463.cjs.map → index-4398f925.cjs.map} +1 -1
  432. package/dist/chunks/index-5f2a5f57.mjs +155 -0
  433. package/dist/chunks/{index-9c621303.mjs.map → index-5f2a5f57.mjs.map} +1 -1
  434. package/dist/chunks/index-6c221fa0.mjs +447 -0
  435. package/dist/chunks/index-6c221fa0.mjs.map +1 -0
  436. package/dist/chunks/index-e894376a.cjs +148 -0
  437. package/dist/chunks/{index-df3f51c6.cjs.map → index-e894376a.cjs.map} +1 -1
  438. package/dist/chunks/l10n-27a75c40.mjs +31 -0
  439. package/dist/chunks/l10n-27a75c40.mjs.map +1 -0
  440. package/dist/chunks/l10n-4326316a.cjs +8 -0
  441. package/dist/chunks/l10n-4326316a.cjs.map +1 -0
  442. package/dist/chunks/l10n-903083c4.cjs +29 -0
  443. package/dist/chunks/l10n-903083c4.cjs.map +1 -0
  444. package/dist/chunks/l10n-c5f5f001.mjs +10 -0
  445. package/dist/chunks/l10n-c5f5f001.mjs.map +1 -0
  446. package/dist/chunks/logger-3612e664.mjs +25 -0
  447. package/dist/chunks/{logger-01af1a78.cjs.map → logger-3612e664.mjs.map} +1 -1
  448. package/dist/chunks/logger-4998b668.cjs +24 -0
  449. package/dist/chunks/{logger-ccc7ee65.mjs.map → logger-4998b668.cjs.map} +1 -1
  450. package/dist/chunks/referencePickerModal-0fde503d.mjs +877 -0
  451. package/dist/chunks/referencePickerModal-0fde503d.mjs.map +1 -0
  452. package/dist/chunks/referencePickerModal-9b4ff88d.cjs +858 -0
  453. package/dist/chunks/referencePickerModal-9b4ff88d.cjs.map +1 -0
  454. package/dist/index.cjs +251 -1
  455. package/dist/index.cjs.map +1 -1
  456. package/dist/index.mjs +286 -140
  457. package/dist/index.mjs.map +1 -1
  458. package/package.json +7 -7
  459. package/dist/Components/NcDatetime.cjs +0 -1
  460. package/dist/Components/NcDatetime.mjs +0 -44
  461. package/dist/Components/NcDatetimePicker.cjs +0 -1
  462. package/dist/Components/NcDatetimePicker.cjs.map +0 -1
  463. package/dist/Components/NcDatetimePicker.mjs +0 -69
  464. package/dist/Components/NcDatetimePicker.mjs.map +0 -1
  465. package/dist/assets/NcMentionBubble.css +0 -21
  466. package/dist/assets/index10.css +0 -21
  467. package/dist/assets/index11.css +0 -21
  468. package/dist/assets/index12.css +0 -21
  469. package/dist/assets/index14.css +0 -21
  470. package/dist/assets/index15.css +0 -21
  471. package/dist/assets/index16.css +0 -21
  472. package/dist/assets/index18.css +0 -21
  473. package/dist/assets/index19.css +0 -21
  474. package/dist/assets/index20.css +0 -21
  475. package/dist/assets/index21.css +0 -21
  476. package/dist/assets/index23.css +0 -21
  477. package/dist/assets/index24.css +0 -1
  478. package/dist/assets/index25.css +0 -21
  479. package/dist/assets/index26.css +0 -21
  480. package/dist/assets/index3.css +0 -21
  481. package/dist/assets/index30.css +0 -21
  482. package/dist/assets/index31.css +0 -21
  483. package/dist/assets/index32.css +0 -21
  484. package/dist/assets/index33.css +0 -21
  485. package/dist/assets/index34.css +0 -21
  486. package/dist/assets/index35.css +0 -21
  487. package/dist/assets/index36.css +0 -21
  488. package/dist/assets/index37.css +0 -21
  489. package/dist/assets/index38.css +0 -21
  490. package/dist/assets/index39.css +0 -21
  491. package/dist/assets/index4.css +0 -21
  492. package/dist/assets/index40.css +0 -21
  493. package/dist/assets/index41.css +0 -21
  494. package/dist/assets/index42.css +0 -21
  495. package/dist/assets/index43.css +0 -42
  496. package/dist/assets/index44.css +0 -21
  497. package/dist/assets/index45.css +0 -42
  498. package/dist/assets/index49.css +0 -42
  499. package/dist/assets/index5.css +0 -21
  500. package/dist/assets/index51.css +0 -21
  501. package/dist/assets/index52.css +0 -21
  502. package/dist/assets/index53.css +0 -42
  503. package/dist/assets/index54.css +0 -21
  504. package/dist/assets/index55.css +0 -21
  505. package/dist/assets/index56.css +0 -21
  506. package/dist/assets/index57.css +0 -21
  507. package/dist/assets/index58.css +0 -42
  508. package/dist/assets/index6.css +0 -21
  509. package/dist/assets/index7.css +0 -21
  510. package/dist/assets/index8.css +0 -21
  511. package/dist/assets/index9.css +0 -21
  512. package/dist/assets/referencePickerModal.css +0 -21
  513. package/dist/chunks/GenColors-8097de04.cjs +0 -1
  514. package/dist/chunks/GenColors-85cb6194.mjs +0 -25
  515. package/dist/chunks/GenRandomId-1e1b509a.mjs +0 -4
  516. package/dist/chunks/GenRandomId-67df40eb.cjs +0 -1
  517. package/dist/chunks/IsMobileState-151fc57d.cjs +0 -1
  518. package/dist/chunks/IsMobileState-151fc57d.cjs.map +0 -1
  519. package/dist/chunks/IsMobileState-e1fe5f58.mjs +0 -15
  520. package/dist/chunks/IsMobileState-e1fe5f58.mjs.map +0 -1
  521. package/dist/chunks/Linkify-a0faf443.mjs +0 -5
  522. package/dist/chunks/Linkify-a4db36a9.cjs +0 -1
  523. package/dist/chunks/NcAppNavigationToggle-5aa396d7.mjs +0 -23
  524. package/dist/chunks/NcAppNavigationToggle-5aa396d7.mjs.map +0 -1
  525. package/dist/chunks/NcAppNavigationToggle-c566f66e.cjs +0 -1
  526. package/dist/chunks/NcAppNavigationToggle-c566f66e.cjs.map +0 -1
  527. package/dist/chunks/NcInputConfirmCancel-77c2b04f.cjs +0 -1
  528. package/dist/chunks/NcInputConfirmCancel-77c2b04f.cjs.map +0 -1
  529. package/dist/chunks/NcInputConfirmCancel-c440e1b1.mjs +0 -43
  530. package/dist/chunks/NcInputConfirmCancel-c440e1b1.mjs.map +0 -1
  531. package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_357e6d0e_lang-b35c2f97.cjs.map +0 -1
  532. package/dist/chunks/NcMentionBubble.vue_vue_type_style_index_0_scoped_357e6d0e_lang-b99cdc21.mjs.map +0 -1
  533. package/dist/chunks/NcRichText-13b09624.mjs +0 -123
  534. package/dist/chunks/NcRichText-1e8854a1.cjs +0 -1
  535. package/dist/chunks/ScopeComponent-dbcd0e07.mjs +0 -8
  536. package/dist/chunks/ScopeComponent-f6122f5a.cjs +0 -1
  537. package/dist/chunks/_plugin-vue2_normalizer-5b4c43a4.mjs +0 -24
  538. package/dist/chunks/_plugin-vue2_normalizer-5b4c43a4.mjs.map +0 -1
  539. package/dist/chunks/_plugin-vue2_normalizer-764a4c12.cjs +0 -1
  540. package/dist/chunks/_plugin-vue2_normalizer-764a4c12.cjs.map +0 -1
  541. package/dist/chunks/actionGlobal-cda46023.mjs +0 -15
  542. package/dist/chunks/actionGlobal-ec7003e8.cjs +0 -1
  543. package/dist/chunks/actionText-6c35d3fc.mjs +0 -23
  544. package/dist/chunks/actionText-bef01778.cjs +0 -1
  545. package/dist/chunks/focusTrap-139520e2.cjs +0 -1
  546. package/dist/chunks/focusTrap-173aba65.mjs +0 -6
  547. package/dist/chunks/index-12fa9b26.cjs +0 -1
  548. package/dist/chunks/index-12fa9b26.cjs.map +0 -1
  549. package/dist/chunks/index-7aa3fc24.mjs +0 -171
  550. package/dist/chunks/index-7aa3fc24.mjs.map +0 -1
  551. package/dist/chunks/index-9c621303.mjs +0 -46
  552. package/dist/chunks/index-c4cd0463.cjs +0 -3
  553. package/dist/chunks/index-cd3f1f8f.mjs +0 -43
  554. package/dist/chunks/index-df3f51c6.cjs +0 -1
  555. package/dist/chunks/l10n-05baf7da.mjs +0 -5
  556. package/dist/chunks/l10n-05baf7da.mjs.map +0 -1
  557. package/dist/chunks/l10n-46d0c1c0.cjs +0 -1
  558. package/dist/chunks/l10n-46d0c1c0.cjs.map +0 -1
  559. package/dist/chunks/l10n-9a5a6afc.mjs +0 -18
  560. package/dist/chunks/l10n-9a5a6afc.mjs.map +0 -1
  561. package/dist/chunks/l10n-dacb6440.cjs +0 -1
  562. package/dist/chunks/l10n-dacb6440.cjs.map +0 -1
  563. package/dist/chunks/logger-01af1a78.cjs +0 -1
  564. package/dist/chunks/logger-ccc7ee65.mjs +0 -5
  565. package/dist/chunks/referencePickerModal-2b16b319.mjs +0 -428
  566. package/dist/chunks/referencePickerModal-2b16b319.mjs.map +0 -1
  567. package/dist/chunks/referencePickerModal-44160fb3.cjs +0 -1
  568. package/dist/chunks/referencePickerModal-44160fb3.cjs.map +0 -1
@@ -1,15 +1,41 @@
1
- import "../assets/index52.css";
2
- import { n as e } from "../chunks/_plugin-vue2_normalizer-5b4c43a4.mjs";
3
- const n = { name: "NcAppSettingsSection", props: { name: { type: String, required: !0 }, id: { type: String, required: !0, validator(t) {
4
- return /^[a-z0-9\-_]+$/.test(t);
5
- } } }, computed: { htmlId() {
6
- return "settings-section_" + this.id;
7
- } } };
8
- var i = function() {
9
- var t = this, s = t._self._c;
10
- return s("div", { staticClass: "app-settings-section", attrs: { id: t.htmlId } }, [s("h3", { staticClass: "app-settings-section__name" }, [t._v(" " + t._s(t.name) + " ")]), t._t("default")], 2);
11
- }, r = [], a = e(n, i, r, !1, null, "a8066fd5", null, null);
12
- const l = a.exports;
1
+ import "../assets/index-1151d229.css";
2
+ import { n as s } from "../chunks/_plugin-vue2_normalizer-71e2aa87.mjs";
3
+ const i = {
4
+ name: "NcAppSettingsSection",
5
+ props: {
6
+ name: {
7
+ type: String,
8
+ required: !0
9
+ },
10
+ id: {
11
+ type: String,
12
+ required: !0,
13
+ validator(e) {
14
+ return /^[a-z0-9\-_]+$/.test(e);
15
+ }
16
+ }
17
+ },
18
+ computed: {
19
+ // generate an id for each settingssection based on the name without whitespaces
20
+ htmlId() {
21
+ return "settings-section_" + this.id;
22
+ }
23
+ }
24
+ };
25
+ var r = function() {
26
+ var t = this, n = t._self._c;
27
+ return n("div", { staticClass: "app-settings-section", attrs: { id: t.htmlId } }, [n("h3", { staticClass: "app-settings-section__name" }, [t._v(" " + t._s(t.name) + " ")]), t._t("default")], 2);
28
+ }, _ = [], a = /* @__PURE__ */ s(
29
+ i,
30
+ r,
31
+ _,
32
+ !1,
33
+ null,
34
+ "a8066fd5",
35
+ null,
36
+ null
37
+ );
38
+ const p = a.exports;
13
39
  export {
14
- l as default
40
+ p as default
15
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NcAppSettingsSection.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;"}
1
+ {"version":3,"file":"NcAppSettingsSection.mjs","sources":["../../src/components/NcAppSettingsSection/NcAppSettingsSection.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2020 Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @author Marco Ambrosini <marcoambrosini@icloud.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<template>\n\t<div :id=\"htmlId\" class=\"app-settings-section\">\n\t\t<h3 class=\"app-settings-section__name\">\n\t\t\t{{ name }}\n\t\t</h3>\n\t\t<slot />\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'NcAppSettingsSection',\n\n\tprops: {\n\t\tname: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t},\n\n\t\tid: {\n\t\t\ttype: String,\n\t\t\trequired: true,\n\t\t\tvalidator(id) {\n\t\t\t\t// Only alphanumeric, dash and underscore\n\t\t\t\treturn /^[a-z0-9\\-_]+$/.test(id)\n\t\t\t},\n\t\t},\n\t},\n\tcomputed: {\n\t\t// generate an id for each settingssection based on the name without whitespaces\n\t\thtmlId() {\n\t\t\treturn 'settings-section_' + this.id\n\t\t},\n\t},\n}\n\n</script>\n\n<style lang=\"scss\" scoped>\n.app-settings-section {\n\tmargin-bottom: 80px;\n\t&__name {\n\t\tfont-size: 20px;\n\t\tmargin: 0;\n\t\tpadding: 20px 0;\n\t\tfont-weight: bold;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n}\n</style>\n"],"names":["_sfc_main","id"],"mappings":";;AAgCA,MAAAA,IAAA;AAAA,EACA,MAAA;AAAA,EAEA,OAAA;AAAA,IACA,MAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,IACA;AAAA,IAEA,IAAA;AAAA,MACA,MAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAAC,GAAA;AAEA,eAAA,iBAAA,KAAAA,CAAA;AAAA,MACA;AAAA,IACA;AAAA,EACA;AAAA,EACA,UAAA;AAAA;AAAA,IAEA,SAAA;AACA,aAAA,sBAAA,KAAA;AAAA,IACA;AAAA,EACA;AACA;;;;;;;;;;;;;;;"}
@@ -1 +1,443 @@
1
- var w=require("../assets/index21.css");const r=require("./NcVNodes.cjs"),n=require("./NcCheckboxRadioSwitch.cjs"),s=require("../chunks/_plugin-vue2_normalizer-764a4c12.cjs"),o=require("./NcActions.cjs"),l=require("./NcLoadingIcon.cjs"),c=require("./NcButton.cjs"),d=require("./NcEmptyContent.cjs"),u=require("../Directives/Focus.cjs"),p=require("../Directives/Linkify.cjs");require("../Directives/Tooltip.cjs");const i=require("../chunks/l10n-46d0c1c0.cjs"),b=require("vue-material-design-icons/ArrowRight.vue"),h=require("vue-material-design-icons/Close.vue"),m=require("vue-material-design-icons/Star.vue"),f=require("vue-material-design-icons/StarOutline.vue"),y=require("@vueuse/components"),v=require("floating-vue");const g={name:"NcAppSidebarTabs",components:{NcCheckboxRadioSwitch:n,NcVNodes:r},provide(){return{registerTab:this.registerTab,unregisterTab:this.unregisterTab,getActiveTab:()=>this.activeTab}},props:{active:{type:String,default:""}},emits:["update:active"],data(){return{tabs:[],activeTab:""}},computed:{hasMultipleTabs(){return this.tabs.length>1},currentTabIndex(){return this.tabs.findIndex(e=>e.id===this.activeTab)}},watch:{active(e){e!==this.activeTab&&this.updateActive()}},methods:{setActive(e){this.activeTab=e,this.$emit("update:active",this.activeTab)},focusPreviousTab(){this.currentTabIndex>0&&this.setActive(this.tabs[this.currentTabIndex-1].id),this.focusActiveTab()},focusNextTab(){this.currentTabIndex<this.tabs.length-1&&this.setActive(this.tabs[this.currentTabIndex+1].id),this.focusActiveTab()},focusFirstTab(){this.setActive(this.tabs[0].id),this.focusActiveTab()},focusLastTab(){this.setActive(this.tabs[this.tabs.length-1].id),this.focusActiveTab()},focusActiveTab(){this.$el.querySelector(`[data-id="${this.activeTab}"]`).focus()},focusActiveTabContent(){this.$el.querySelector("#tab-"+this.activeTab).focus()},updateActive(){this.activeTab=this.active&&this.tabs.some(e=>e.id===this.active)?this.active:this.tabs.length>0?this.tabs[0].id:""},registerTab(e){this.tabs.push(e),this.tabs.sort((a,t)=>a.order===t.order?OC.Util.naturalSortCompare(a.name,t.name):a.order-t.order),this.updateActive()},unregisterTab(e){const a=this.tabs.findIndex(t=>t.id===e);a!==-1&&this.tabs.splice(a,1),this.activeTab===e&&this.updateActive()}}};var _=function(){var e=this,a=e._self._c;return a("div",{staticClass:"app-sidebar-tabs"},[e.hasMultipleTabs?a("div",{staticClass:"app-sidebar-tabs__nav",attrs:{role:"tablist"},on:{keydown:[function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"left",37,t.key,["Left","ArrowLeft"])||"button"in t&&t.button!==0||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),t.stopPropagation(),e.focusPreviousTab.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"right",39,t.key,["Right","ArrowRight"])||"button"in t&&t.button!==2||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),t.stopPropagation(),e.focusNextTab.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"tab",9,t.key,"Tab")||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),t.stopPropagation(),e.focusActiveTabContent.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"home",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),t.stopPropagation(),e.focusFirstTab.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"end",void 0,t.key,void 0)||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),t.stopPropagation(),e.focusLastTab.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&t.keyCode!==33||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),t.stopPropagation(),e.focusFirstTab.apply(null,arguments))},function(t){return!t.type.indexOf("key")&&t.keyCode!==34||t.ctrlKey||t.shiftKey||t.altKey||t.metaKey?null:(t.preventDefault(),t.stopPropagation(),e.focusLastTab.apply(null,arguments))}]}},e._l(e.tabs,function(t){return a("NcCheckboxRadioSwitch",{key:t.id,staticClass:"app-sidebar-tabs__tab",class:{active:t.id===e.activeTab},attrs:{"aria-controls":`tab-${t.id}`,"aria-selected":e.activeTab===t.id,"button-variant":!0,checked:e.activeTab===t.id,"data-id":t.id,tabindex:e.activeTab===t.id?0:-1,"button-variant-grouped":"horizontal",role:"tab",type:"button"},on:{"update:checked":function(K){return e.setActive(t.id)}},scopedSlots:e._u([{key:"icon",fn:function(){return[a("NcVNodes",{attrs:{vnodes:t.renderIcon()}},[a("span",{staticClass:"app-sidebar-tabs__tab-icon",class:t.icon})])]},proxy:!0}],null,!0)},[a("span",{staticClass:"app-sidebar-tabs__tab-caption"},[e._v(" "+e._s(t.name)+" ")])])}),1):e._e(),a("div",{staticClass:"app-sidebar-tabs__content",class:{"app-sidebar-tabs__content--multiple":e.hasMultipleTabs}},[e._t("default")],2)])},k=[],T=s.normalizeComponent(g,_,k,!1,null,"b4df3f5e",null,null);const C=T.exports;const S={name:"NcAppSidebar",components:{NcActions:o,NcAppSidebarTabs:C,ArrowRight:b,NcButton:c,NcLoadingIcon:l,NcEmptyContent:d,Close:h,Star:m,StarOutline:f},directives:{focus:u.directive,linkify:p.directive,ClickOutside:y.vOnClickOutside,Tooltip:v.VTooltip},props:{active:{type:String,default:""},name:{type:String,default:"",required:!0},nameEditable:{type:Boolean,default:!1},namePlaceholder:{type:String,default:""},subname:{type:String,default:""},subtitle:{type:String,default:""},background:{type:String,default:""},starred:{type:Boolean,default:null},starLoading:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},compact:{type:Boolean,default:!1},empty:{type:Boolean,default:!1},forceMenu:{type:Boolean,default:!1},linkifyName:{type:Boolean,default:!1},title:{type:String,default:""}},emits:["close","closing","closed","opening","opened","figure-click","update:starred","update:nameEditable","update:name","update:active","submit-name","dismiss-editing"],data(){return{changeNameTranslated:i.t("Change name"),closeTranslated:i.t("Close sidebar"),favoriteTranslated:i.t("Favorite"),isStarred:this.starred}},computed:{canStar(){return this.isStarred!==null},hasFigure(){return this.$slots.header||this.background},hasFigureClickListener(){return this.$listeners["figure-click"]}},watch:{starred(){this.isStarred=this.starred}},beforeDestroy(){this.$emit("closed")},methods:{onBeforeEnter(e){this.$emit("opening",e)},onAfterEnter(e){this.$emit("opened",e)},onBeforeLeave(e){this.$emit("closing",e)},onAfterLeave(e){this.$emit("closed",e)},closeSidebar(e){this.$emit("close",e)},onFigureClick(e){this.$emit("figure-click",e)},toggleStarred(){this.isStarred=!this.isStarred,this.$emit("update:starred",this.isStarred)},editName(){this.$emit("update:nameEditable",!0),this.nameEditable&&this.$nextTick(()=>this.$refs.nameInput.focus())},onNameInput(e){this.$emit("update:name",e.target.value)},onSubmitName(e){this.$emit("update:nameEditable",!1),this.$emit("submit-name",e)},onDismissEditing(){this.$emit("update:nameEditable",!1),this.$emit("dismiss-editing")},onUpdateActive(e){this.$emit("update:active",e)}}};var N=function(){var e=this,a=e._self._c;return a("transition",{attrs:{appear:"",name:"slide-right"},on:{"before-enter":e.onBeforeEnter,"after-enter":e.onAfterEnter,"before-leave":e.onBeforeLeave,"after-leave":e.onAfterLeave}},[a("aside",{staticClass:"app-sidebar",attrs:{id:"app-sidebar-vue"}},[a("header",{staticClass:"app-sidebar-header",class:{"app-sidebar-header--with-figure":e.hasFigure,"app-sidebar-header--compact":e.compact}},[a("div",{staticClass:"app-sidebar-header__info"},[e.hasFigure&&!e.empty?a("div",{staticClass:"app-sidebar-header__figure",class:{"app-sidebar-header__figure--with-action":e.hasFigureClickListener},style:{backgroundImage:`url(${e.background})`},attrs:{tabindex:"0"},on:{click:e.onFigureClick,keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.onFigureClick.apply(null,arguments)}}},[e._t("header")],2):e._e(),e.empty?e._e():a("div",{staticClass:"app-sidebar-header__desc",class:{"app-sidebar-header__desc--with-tertiary-action":e.canStar||e.$slots["tertiary-actions"],"app-sidebar-header__desc--editable":e.nameEditable&&!e.subname,"app-sidebar-header__desc--with-subname--editable":e.nameEditable&&e.subname,"app-sidebar-header__desc--without-actions":!e.$slots["secondary-actions"]}},[e.canStar||e.$slots["tertiary-actions"]?a("div",{staticClass:"app-sidebar-header__tertiary-actions"},[e._t("tertiary-actions",function(){return[e.canStar?a("NcButton",{staticClass:"app-sidebar-header__star",attrs:{"aria-label":e.favoriteTranslated,pressed:e.isStarred,type:"secondary"},on:{click:function(t){return t.preventDefault(),e.toggleStarred.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[e.starLoading?a("NcLoadingIcon"):e.isStarred?a("Star",{attrs:{size:20}}):a("StarOutline",{attrs:{size:20}})]},proxy:!0}],null,!1,2575459756)}):e._e()]})],2):e._e(),a("div",{staticClass:"app-sidebar-header__name-container"},[a("div",{staticClass:"app-sidebar-header__mainname-container"},[a("h2",{directives:[{name:"show",rawName:"v-show",value:!e.nameEditable,expression:"!nameEditable"},{name:"linkify",rawName:"v-linkify",value:{text:e.name,linkify:e.linkifyName},expression:"{text: name, linkify: linkifyName}"}],staticClass:"app-sidebar-header__mainname",attrs:{"aria-label":e.title,title:e.title,tabindex:e.nameEditable?0:void 0},on:{click:function(t){return t.target!==t.currentTarget?null:e.editName.apply(null,arguments)}}},[e._v(" "+e._s(e.name)+" ")]),e.nameEditable?[a("form",{directives:[{name:"click-outside",rawName:"v-click-outside",value:()=>e.onSubmitName(),expression:"() => onSubmitName()"}],staticClass:"app-sidebar-header__mainname-form",on:{submit:function(t){return t.preventDefault(),e.onSubmitName.apply(null,arguments)}}},[a("input",{directives:[{name:"focus",rawName:"v-focus"}],ref:"nameInput",staticClass:"app-sidebar-header__mainname-input",attrs:{type:"text",placeholder:e.namePlaceholder},domProps:{value:e.name},on:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"esc",27,t.key,["Esc","Escape"])?null:(t.stopPropagation(),e.onDismissEditing.apply(null,arguments))},input:e.onNameInput}}),a("NcButton",{attrs:{type:"tertiary-no-background","aria-label":e.changeNameTranslated,"native-type":"submit"},scopedSlots:e._u([{key:"icon",fn:function(){return[a("ArrowRight",{attrs:{size:20}})]},proxy:!0}],null,!1,1252225425)})],1)]:e._e(),e.$slots["secondary-actions"]?a("NcActions",{staticClass:"app-sidebar-header__menu",attrs:{"force-menu":e.forceMenu}},[e._t("secondary-actions")],2):e._e()],2),e.subname.trim()!==""?a("p",{staticClass:"app-sidebar-header__subname",attrs:{"aria-label":e.subtitle,title:e.subtitle}},[e._v(" "+e._s(e.subname)+" ")]):e._e()])])]),a("NcButton",{staticClass:"app-sidebar__close",attrs:{title:e.closeTranslated,"aria-label":e.closeTranslated,type:"tertiary"},on:{click:function(t){return t.preventDefault(),e.closeSidebar.apply(null,arguments)}},scopedSlots:e._u([{key:"icon",fn:function(){return[a("Close",{attrs:{size:20}})]},proxy:!0}])}),e.$slots.description&&!e.empty?a("div",{staticClass:"app-sidebar-header__description"},[e._t("description")],2):e._e()],1),a("NcAppSidebarTabs",{directives:[{name:"show",rawName:"v-show",value:!e.loading,expression:"!loading"}],ref:"tabs",attrs:{active:e.active},on:{"update:active":e.onUpdateActive}},[e._t("default")],2),e.loading?a("NcEmptyContent",{scopedSlots:e._u([{key:"icon",fn:function(){return[a("NcLoadingIcon",{attrs:{size:64}})]},proxy:!0}],null,!1,826850984)}):e._e()],1)])},x=[],A=s.normalizeComponent(S,N,x,!1,null,"90858b97",null,null);const $=A.exports;module.exports=$;
1
+ var D = require("../assets/index-fbdeb5ab.css");
2
+ const o = require("./NcVNodes.cjs"), l = require("./NcCheckboxRadioSwitch.cjs"), n = require("../chunks/_plugin-vue2_normalizer-7f9efb60.cjs"), u = require("./NcActions.cjs"), c = require("./NcLoadingIcon.cjs"), d = require("./NcButton.cjs"), p = require("./NcEmptyContent.cjs"), f = require("../Directives/Focus.cjs"), b = require("../Directives/Linkify.cjs");
3
+ require("../Directives/Tooltip.cjs");
4
+ const r = require("../chunks/l10n-903083c4.cjs"), m = require("vue-material-design-icons/ArrowRight.vue"), h = require("vue-material-design-icons/Close.vue"), _ = require("vue-material-design-icons/Star.vue"), y = require("vue-material-design-icons/StarOutline.vue"), g = require("@vueuse/components"), k = require("floating-vue"), s = (i) => i && i.__esModule ? i : { default: i }, v = /* @__PURE__ */ s(m), C = /* @__PURE__ */ s(h), T = /* @__PURE__ */ s(_), S = /* @__PURE__ */ s(y);
5
+ const N = {
6
+ name: "NcAppSidebarTabs",
7
+ components: {
8
+ NcCheckboxRadioSwitch: l,
9
+ NcVNodes: o
10
+ },
11
+ provide() {
12
+ return {
13
+ registerTab: this.registerTab,
14
+ unregisterTab: this.unregisterTab,
15
+ // Getter as an alternative to Vue 2.7 computed(() => this.activeTab)
16
+ getActiveTab: () => this.activeTab
17
+ };
18
+ },
19
+ props: {
20
+ /**
21
+ * Id of the tab to activate
22
+ */
23
+ active: {
24
+ type: String,
25
+ default: ""
26
+ }
27
+ },
28
+ emits: ["update:active"],
29
+ data() {
30
+ return {
31
+ /**
32
+ * Tab descriptions from the passed NcSidebarTab components' props to build the tab navbar from.
33
+ */
34
+ tabs: [],
35
+ /**
36
+ * Local active (open) tab's ID. It allows to use component without active.sync
37
+ */
38
+ activeTab: ""
39
+ };
40
+ },
41
+ computed: {
42
+ /**
43
+ * Has multiple tabs. If only one tab - its content is shown without navigation
44
+ *
45
+ * @return {boolean}
46
+ */
47
+ hasMultipleTabs() {
48
+ return this.tabs.length > 1;
49
+ },
50
+ currentTabIndex() {
51
+ return this.tabs.findIndex((i) => i.id === this.activeTab);
52
+ }
53
+ },
54
+ watch: {
55
+ active(i) {
56
+ i !== this.activeTab && this.updateActive();
57
+ }
58
+ },
59
+ methods: {
60
+ /**
61
+ * Set the current active tab
62
+ *
63
+ * @param {string} id the id of the tab
64
+ */
65
+ setActive(i) {
66
+ this.activeTab = i, this.$emit("update:active", this.activeTab);
67
+ },
68
+ /**
69
+ * Focus the previous tab
70
+ * and emit to the parent component
71
+ */
72
+ focusPreviousTab() {
73
+ this.currentTabIndex > 0 && this.setActive(this.tabs[this.currentTabIndex - 1].id), this.focusActiveTab();
74
+ },
75
+ /**
76
+ * Focus the next tab
77
+ * and emit to the parent component
78
+ */
79
+ focusNextTab() {
80
+ this.currentTabIndex < this.tabs.length - 1 && this.setActive(this.tabs[this.currentTabIndex + 1].id), this.focusActiveTab();
81
+ },
82
+ /**
83
+ * Focus the first tab
84
+ * and emit to the parent component
85
+ */
86
+ focusFirstTab() {
87
+ this.setActive(this.tabs[0].id), this.focusActiveTab();
88
+ },
89
+ /**
90
+ * Focus the last tab
91
+ * and emit to the parent component
92
+ */
93
+ focusLastTab() {
94
+ this.setActive(this.tabs[this.tabs.length - 1].id), this.focusActiveTab();
95
+ },
96
+ /**
97
+ * Focus the current active tab
98
+ */
99
+ focusActiveTab() {
100
+ this.$el.querySelector(`[data-id="${this.activeTab}"]`).focus();
101
+ },
102
+ /**
103
+ * Focus the content on tab
104
+ * see aria accessibility guidelines
105
+ */
106
+ focusActiveTabContent() {
107
+ this.$el.querySelector("#tab-" + this.activeTab).focus();
108
+ },
109
+ /**
110
+ * Update the current active tab
111
+ */
112
+ updateActive() {
113
+ this.activeTab = this.active && this.tabs.some((i) => i.id === this.active) ? this.active : this.tabs.length > 0 ? this.tabs[0].id : "";
114
+ },
115
+ /**
116
+ * Register child tab in the tabs
117
+ *
118
+ * @param {object} tab child tab passed to slot
119
+ */
120
+ registerTab(i) {
121
+ this.tabs.push(i), this.tabs.sort((e, a) => e.order === a.order ? OC.Util.naturalSortCompare(e.name, a.name) : e.order - a.order), this.updateActive();
122
+ },
123
+ /**
124
+ * Unregister child tab from the tabs
125
+ *
126
+ * @param {string} id tab's id
127
+ */
128
+ unregisterTab(i) {
129
+ const e = this.tabs.findIndex((a) => a.id === i);
130
+ e !== -1 && this.tabs.splice(e, 1), this.activeTab === i && this.updateActive();
131
+ }
132
+ }
133
+ };
134
+ var x = function() {
135
+ var e = this, a = e._self._c;
136
+ return a("div", { staticClass: "app-sidebar-tabs" }, [e.hasMultipleTabs ? a("div", { staticClass: "app-sidebar-tabs__nav", attrs: { role: "tablist" }, on: { keydown: [function(t) {
137
+ return !t.type.indexOf("key") && e._k(t.keyCode, "left", 37, t.key, ["Left", "ArrowLeft"]) || "button" in t && t.button !== 0 || t.ctrlKey || t.shiftKey || t.altKey || t.metaKey ? null : (t.preventDefault(), t.stopPropagation(), e.focusPreviousTab.apply(null, arguments));
138
+ }, function(t) {
139
+ return !t.type.indexOf("key") && e._k(t.keyCode, "right", 39, t.key, ["Right", "ArrowRight"]) || "button" in t && t.button !== 2 || t.ctrlKey || t.shiftKey || t.altKey || t.metaKey ? null : (t.preventDefault(), t.stopPropagation(), e.focusNextTab.apply(null, arguments));
140
+ }, function(t) {
141
+ return !t.type.indexOf("key") && e._k(t.keyCode, "tab", 9, t.key, "Tab") || t.ctrlKey || t.shiftKey || t.altKey || t.metaKey ? null : (t.preventDefault(), t.stopPropagation(), e.focusActiveTabContent.apply(null, arguments));
142
+ }, function(t) {
143
+ return !t.type.indexOf("key") && e._k(t.keyCode, "home", void 0, t.key, void 0) || t.ctrlKey || t.shiftKey || t.altKey || t.metaKey ? null : (t.preventDefault(), t.stopPropagation(), e.focusFirstTab.apply(null, arguments));
144
+ }, function(t) {
145
+ return !t.type.indexOf("key") && e._k(t.keyCode, "end", void 0, t.key, void 0) || t.ctrlKey || t.shiftKey || t.altKey || t.metaKey ? null : (t.preventDefault(), t.stopPropagation(), e.focusLastTab.apply(null, arguments));
146
+ }, function(t) {
147
+ return !t.type.indexOf("key") && t.keyCode !== 33 || t.ctrlKey || t.shiftKey || t.altKey || t.metaKey ? null : (t.preventDefault(), t.stopPropagation(), e.focusFirstTab.apply(null, arguments));
148
+ }, function(t) {
149
+ return !t.type.indexOf("key") && t.keyCode !== 34 || t.ctrlKey || t.shiftKey || t.altKey || t.metaKey ? null : (t.preventDefault(), t.stopPropagation(), e.focusLastTab.apply(null, arguments));
150
+ }] } }, e._l(e.tabs, function(t) {
151
+ return a("NcCheckboxRadioSwitch", { key: t.id, staticClass: "app-sidebar-tabs__tab", class: { active: t.id === e.activeTab }, attrs: { "aria-controls": `tab-${t.id}`, "aria-selected": e.activeTab === t.id, "button-variant": !0, checked: e.activeTab === t.id, "data-id": t.id, tabindex: e.activeTab === t.id ? 0 : -1, "button-variant-grouped": "horizontal", role: "tab", type: "button" }, on: { "update:checked": function(O) {
152
+ return e.setActive(t.id);
153
+ } }, scopedSlots: e._u([{ key: "icon", fn: function() {
154
+ return [a("NcVNodes", { attrs: { vnodes: t.renderIcon() } }, [a("span", { staticClass: "app-sidebar-tabs__tab-icon", class: t.icon })])];
155
+ }, proxy: !0 }], null, !0) }, [a("span", { staticClass: "app-sidebar-tabs__tab-caption" }, [e._v(" " + e._s(t.name) + " ")])]);
156
+ }), 1) : e._e(), a("div", { staticClass: "app-sidebar-tabs__content", class: { "app-sidebar-tabs__content--multiple": e.hasMultipleTabs } }, [e._t("default")], 2)]);
157
+ }, A = [], w = /* @__PURE__ */ n.normalizeComponent(
158
+ N,
159
+ x,
160
+ A,
161
+ !1,
162
+ null,
163
+ "b4df3f5e",
164
+ null,
165
+ null
166
+ );
167
+ const K = w.exports;
168
+ const E = {
169
+ name: "NcAppSidebar",
170
+ components: {
171
+ NcActions: u,
172
+ NcAppSidebarTabs: K,
173
+ ArrowRight: v.default,
174
+ NcButton: d,
175
+ NcLoadingIcon: c,
176
+ NcEmptyContent: p,
177
+ Close: C.default,
178
+ Star: T.default,
179
+ StarOutline: S.default
180
+ },
181
+ directives: {
182
+ focus: f.directive,
183
+ linkify: b.directive,
184
+ ClickOutside: g.vOnClickOutside,
185
+ Tooltip: k.VTooltip
186
+ },
187
+ props: {
188
+ active: {
189
+ type: String,
190
+ default: ""
191
+ },
192
+ name: {
193
+ type: String,
194
+ default: "",
195
+ required: !0
196
+ },
197
+ /**
198
+ * Allow to edit the sidebar name.
199
+ */
200
+ nameEditable: {
201
+ type: Boolean,
202
+ default: !1
203
+ },
204
+ namePlaceholder: {
205
+ type: String,
206
+ default: ""
207
+ },
208
+ subname: {
209
+ type: String,
210
+ default: ""
211
+ },
212
+ /**
213
+ * Title to display for the subname.
214
+ */
215
+ subtitle: {
216
+ type: String,
217
+ default: ""
218
+ },
219
+ /**
220
+ * Url to the top header background image
221
+ * Applied with css
222
+ */
223
+ background: {
224
+ type: String,
225
+ default: ""
226
+ },
227
+ /**
228
+ * Enable the favourite icon if not null
229
+ * See fired events
230
+ */
231
+ starred: {
232
+ type: Boolean,
233
+ default: null
234
+ },
235
+ /**
236
+ * Show loading spinner instead of the star icon
237
+ */
238
+ starLoading: {
239
+ type: Boolean,
240
+ default: !1
241
+ },
242
+ /**
243
+ * Show loading spinner instead of tabs
244
+ */
245
+ loading: {
246
+ type: Boolean,
247
+ default: !1
248
+ },
249
+ /**
250
+ * Display the sidebar in compact mode
251
+ */
252
+ compact: {
253
+ type: Boolean,
254
+ default: !1
255
+ },
256
+ /**
257
+ * Only display close button and default slot content.
258
+ * Don't display other header content and primary and secondary actions.
259
+ * Useful when showing the EmptyContent component as content.
260
+ */
261
+ empty: {
262
+ type: Boolean,
263
+ default: !1
264
+ },
265
+ /**
266
+ * Force the actions to display in a three dot menu
267
+ */
268
+ forceMenu: {
269
+ type: Boolean,
270
+ default: !1
271
+ },
272
+ /**
273
+ * Linkify the name
274
+ */
275
+ linkifyName: {
276
+ type: Boolean,
277
+ default: !1
278
+ },
279
+ /**
280
+ * Title to display for the name.
281
+ * Can be set to the same text in case it's too long.
282
+ */
283
+ title: {
284
+ type: String,
285
+ default: ""
286
+ }
287
+ },
288
+ emits: [
289
+ "close",
290
+ "closing",
291
+ "closed",
292
+ "opening",
293
+ "opened",
294
+ "figure-click",
295
+ "update:starred",
296
+ "update:nameEditable",
297
+ "update:name",
298
+ "update:active",
299
+ "submit-name",
300
+ "dismiss-editing"
301
+ ],
302
+ data() {
303
+ return {
304
+ changeNameTranslated: r.t("Change name"),
305
+ closeTranslated: r.t("Close sidebar"),
306
+ favoriteTranslated: r.t("Favorite"),
307
+ isStarred: this.starred
308
+ };
309
+ },
310
+ computed: {
311
+ canStar() {
312
+ return this.isStarred !== null;
313
+ },
314
+ hasFigure() {
315
+ return this.$slots.header || this.background;
316
+ },
317
+ hasFigureClickListener() {
318
+ return this.$listeners["figure-click"];
319
+ }
320
+ },
321
+ watch: {
322
+ starred() {
323
+ this.isStarred = this.starred;
324
+ }
325
+ },
326
+ beforeDestroy() {
327
+ this.$emit("closed");
328
+ },
329
+ methods: {
330
+ onBeforeEnter(i) {
331
+ this.$emit("opening", i);
332
+ },
333
+ onAfterEnter(i) {
334
+ this.$emit("opened", i);
335
+ },
336
+ onBeforeLeave(i) {
337
+ this.$emit("closing", i);
338
+ },
339
+ onAfterLeave(i) {
340
+ this.$emit("closed", i);
341
+ },
342
+ /**
343
+ * Used to tell parent component the user asked to close the sidebar
344
+ *
345
+ * @param {Event} e close icon click event
346
+ */
347
+ closeSidebar(i) {
348
+ this.$emit("close", i);
349
+ },
350
+ /**
351
+ * Emit figure click event to parent component
352
+ *
353
+ * @param {Event} e click event
354
+ */
355
+ onFigureClick(i) {
356
+ this.$emit("figure-click", i);
357
+ },
358
+ /**
359
+ * Toggle the favourite state
360
+ * and emit to the parent component
361
+ */
362
+ toggleStarred() {
363
+ this.isStarred = !this.isStarred, this.$emit("update:starred", this.isStarred);
364
+ },
365
+ editName() {
366
+ this.$emit("update:nameEditable", !0), this.nameEditable && this.$nextTick(
367
+ () => this.$refs.nameInput.focus()
368
+ );
369
+ },
370
+ /**
371
+ * Emit name change event to parent component
372
+ *
373
+ * @param {Event} event input event
374
+ */
375
+ onNameInput(i) {
376
+ this.$emit("update:name", i.target.value);
377
+ },
378
+ /**
379
+ * Emit when the name form edit confirm button is pressed in order
380
+ * to change the name.
381
+ *
382
+ * @param {Event} event submit event
383
+ */
384
+ onSubmitName(i) {
385
+ this.$emit("update:nameEditable", !1), this.$emit("submit-name", i);
386
+ },
387
+ onDismissEditing() {
388
+ this.$emit("update:nameEditable", !1), this.$emit("dismiss-editing");
389
+ },
390
+ onUpdateActive(i) {
391
+ this.$emit("update:active", i);
392
+ }
393
+ }
394
+ };
395
+ var q = function() {
396
+ var e = this, a = e._self._c;
397
+ return a("transition", { attrs: { appear: "", name: "slide-right" }, on: { "before-enter": e.onBeforeEnter, "after-enter": e.onAfterEnter, "before-leave": e.onBeforeLeave, "after-leave": e.onAfterLeave } }, [a("aside", { staticClass: "app-sidebar", attrs: { id: "app-sidebar-vue" } }, [a("header", { staticClass: "app-sidebar-header", class: {
398
+ "app-sidebar-header--with-figure": e.hasFigure,
399
+ "app-sidebar-header--compact": e.compact
400
+ } }, [a("div", { staticClass: "app-sidebar-header__info" }, [e.hasFigure && !e.empty ? a("div", { staticClass: "app-sidebar-header__figure", class: {
401
+ "app-sidebar-header__figure--with-action": e.hasFigureClickListener
402
+ }, style: {
403
+ backgroundImage: `url(${e.background})`
404
+ }, attrs: { tabindex: "0" }, on: { click: e.onFigureClick, keydown: function(t) {
405
+ return !t.type.indexOf("key") && e._k(t.keyCode, "enter", 13, t.key, "Enter") ? null : e.onFigureClick.apply(null, arguments);
406
+ } } }, [e._t("header")], 2) : e._e(), e.empty ? e._e() : a("div", { staticClass: "app-sidebar-header__desc", class: {
407
+ "app-sidebar-header__desc--with-tertiary-action": e.canStar || e.$slots["tertiary-actions"],
408
+ "app-sidebar-header__desc--editable": e.nameEditable && !e.subname,
409
+ "app-sidebar-header__desc--with-subname--editable": e.nameEditable && e.subname,
410
+ "app-sidebar-header__desc--without-actions": !e.$slots["secondary-actions"]
411
+ } }, [e.canStar || e.$slots["tertiary-actions"] ? a("div", { staticClass: "app-sidebar-header__tertiary-actions" }, [e._t("tertiary-actions", function() {
412
+ return [e.canStar ? a("NcButton", { staticClass: "app-sidebar-header__star", attrs: { "aria-label": e.favoriteTranslated, pressed: e.isStarred, type: "secondary" }, on: { click: function(t) {
413
+ return t.preventDefault(), e.toggleStarred.apply(null, arguments);
414
+ } }, scopedSlots: e._u([{ key: "icon", fn: function() {
415
+ return [e.starLoading ? a("NcLoadingIcon") : e.isStarred ? a("Star", { attrs: { size: 20 } }) : a("StarOutline", { attrs: { size: 20 } })];
416
+ }, proxy: !0 }], null, !1, 2575459756) }) : e._e()];
417
+ })], 2) : e._e(), a("div", { staticClass: "app-sidebar-header__name-container" }, [a("div", { staticClass: "app-sidebar-header__mainname-container" }, [a("h2", { directives: [{ name: "show", rawName: "v-show", value: !e.nameEditable, expression: "!nameEditable" }, { name: "linkify", rawName: "v-linkify", value: { text: e.name, linkify: e.linkifyName }, expression: "{text: name, linkify: linkifyName}" }], staticClass: "app-sidebar-header__mainname", attrs: { "aria-label": e.title, title: e.title, tabindex: e.nameEditable ? 0 : void 0 }, on: { click: function(t) {
418
+ return t.target !== t.currentTarget ? null : e.editName.apply(null, arguments);
419
+ } } }, [e._v(" " + e._s(e.name) + " ")]), e.nameEditable ? [a("form", { directives: [{ name: "click-outside", rawName: "v-click-outside", value: () => e.onSubmitName(), expression: "() => onSubmitName()" }], staticClass: "app-sidebar-header__mainname-form", on: { submit: function(t) {
420
+ return t.preventDefault(), e.onSubmitName.apply(null, arguments);
421
+ } } }, [a("input", { directives: [{ name: "focus", rawName: "v-focus" }], ref: "nameInput", staticClass: "app-sidebar-header__mainname-input", attrs: { type: "text", placeholder: e.namePlaceholder }, domProps: { value: e.name }, on: { keydown: function(t) {
422
+ return !t.type.indexOf("key") && e._k(t.keyCode, "esc", 27, t.key, ["Esc", "Escape"]) ? null : (t.stopPropagation(), e.onDismissEditing.apply(null, arguments));
423
+ }, input: e.onNameInput } }), a("NcButton", { attrs: { type: "tertiary-no-background", "aria-label": e.changeNameTranslated, "native-type": "submit" }, scopedSlots: e._u([{ key: "icon", fn: function() {
424
+ return [a("ArrowRight", { attrs: { size: 20 } })];
425
+ }, proxy: !0 }], null, !1, 1252225425) })], 1)] : e._e(), e.$slots["secondary-actions"] ? a("NcActions", { staticClass: "app-sidebar-header__menu", attrs: { "force-menu": e.forceMenu } }, [e._t("secondary-actions")], 2) : e._e()], 2), e.subname.trim() !== "" ? a("p", { staticClass: "app-sidebar-header__subname", attrs: { "aria-label": e.subtitle, title: e.subtitle } }, [e._v(" " + e._s(e.subname) + " ")]) : e._e()])])]), a("NcButton", { staticClass: "app-sidebar__close", attrs: { title: e.closeTranslated, "aria-label": e.closeTranslated, type: "tertiary" }, on: { click: function(t) {
426
+ return t.preventDefault(), e.closeSidebar.apply(null, arguments);
427
+ } }, scopedSlots: e._u([{ key: "icon", fn: function() {
428
+ return [a("Close", { attrs: { size: 20 } })];
429
+ }, proxy: !0 }]) }), e.$slots.description && !e.empty ? a("div", { staticClass: "app-sidebar-header__description" }, [e._t("description")], 2) : e._e()], 1), a("NcAppSidebarTabs", { directives: [{ name: "show", rawName: "v-show", value: !e.loading, expression: "!loading" }], ref: "tabs", attrs: { active: e.active }, on: { "update:active": e.onUpdateActive } }, [e._t("default")], 2), e.loading ? a("NcEmptyContent", { scopedSlots: e._u([{ key: "icon", fn: function() {
430
+ return [a("NcLoadingIcon", { attrs: { size: 64 } })];
431
+ }, proxy: !0 }], null, !1, 826850984) }) : e._e()], 1)]);
432
+ }, I = [], L = /* @__PURE__ */ n.normalizeComponent(
433
+ E,
434
+ q,
435
+ I,
436
+ !1,
437
+ null,
438
+ "90858b97",
439
+ null,
440
+ null
441
+ );
442
+ const B = L.exports;
443
+ module.exports = B;
@@ -1 +1 @@
1
- {"version":3,"file":"NcAppSidebar.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
1
+ {"version":3,"file":"NcAppSidebar.cjs","sources":["../../src/components/NcAppSidebar/NcAppSidebarTabs.vue","../../src/components/NcAppSidebar/NcAppSidebar.vue"],"sourcesContent":["<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n - @copyright Copyright (c) 2020 Simon Belbeoch <simon.belbeoch@gmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\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<!-- Follows the tab aria guidelines\n\thttps://www.w3.org/TR/wai-aria-practices/examples/tabs/tabs-1/tabs.html -->\n<template>\n\t<div class=\"app-sidebar-tabs\">\n\t\t<!-- tabs navigation -->\n\t\t<!-- 33 and 34 code is for page up and page down -->\n\t\t<div v-if=\"hasMultipleTabs\"\n\t\t\trole=\"tablist\"\n\t\t\tclass=\"app-sidebar-tabs__nav\"\n\t\t\t@keydown.left.exact.prevent.stop=\"focusPreviousTab\"\n\t\t\t@keydown.right.exact.prevent.stop=\"focusNextTab\"\n\t\t\t@keydown.tab.exact.prevent.stop=\"focusActiveTabContent\"\n\t\t\t@keydown.home.exact.prevent.stop=\"focusFirstTab\"\n\t\t\t@keydown.end.exact.prevent.stop=\"focusLastTab\"\n\t\t\t@keydown.33.exact.prevent.stop=\"focusFirstTab\"\n\t\t\t@keydown.34.exact.prevent.stop=\"focusLastTab\">\n\t\t\t<NcCheckboxRadioSwitch v-for=\"tab in tabs\"\n\t\t\t\t:key=\"tab.id\"\n\t\t\t\t:aria-controls=\"`tab-${tab.id}`\"\n\t\t\t\t:aria-selected=\"activeTab === tab.id\"\n\t\t\t\t:button-variant=\"true\"\n\t\t\t\t:checked=\"activeTab === tab.id\"\n\t\t\t\t:data-id=\"tab.id\"\n\t\t\t\t:tabindex=\"activeTab === tab.id ? 0 : -1\"\n\t\t\t\tbutton-variant-grouped=\"horizontal\"\n\t\t\t\tclass=\"app-sidebar-tabs__tab\"\n\t\t\t\t:class=\"{ active: tab.id === activeTab }\"\n\t\t\t\trole=\"tab\"\n\t\t\t\ttype=\"button\"\n\t\t\t\t@update:checked=\"setActive(tab.id)\">\n\t\t\t\t<span class=\"app-sidebar-tabs__tab-caption\">\n\t\t\t\t\t{{ tab.name }}\n\t\t\t\t</span>\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcVNodes :vnodes=\"tab.renderIcon()\">\n\t\t\t\t\t\t<span class=\"app-sidebar-tabs__tab-icon\" :class=\"tab.icon\" />\n\t\t\t\t\t</NcVNodes>\n\t\t\t\t</template>\n\t\t\t</NcCheckboxRadioSwitch>\n\t\t</div>\n\n\t\t<!-- tabs content -->\n\t\t<div :class=\"{'app-sidebar-tabs__content--multiple': hasMultipleTabs}\"\n\t\t\tclass=\"app-sidebar-tabs__content\">\n\t\t\t<!-- @slot Tabs content - NcAppSidebarTab components or any content if there is no tabs -->\n\t\t\t<slot />\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport NcVNodes from '../NcVNodes/index.js'\nimport NcCheckboxRadioSwitch from '../NcCheckboxRadioSwitch/index.js'\n\nexport default {\n\tname: 'NcAppSidebarTabs',\n\n\tcomponents: {\n\t\tNcCheckboxRadioSwitch,\n\t\tNcVNodes,\n\t},\n\n\tprovide() {\n\t\treturn {\n\t\t\tregisterTab: this.registerTab,\n\t\t\tunregisterTab: this.unregisterTab,\n\t\t\t// Getter as an alternative to Vue 2.7 computed(() => this.activeTab)\n\t\t\tgetActiveTab: () => this.activeTab,\n\t\t}\n\t},\n\n\tprops: {\n\t\t/**\n\t\t * Id of the tab to activate\n\t\t */\n\t\tactive: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: ['update:active'],\n\n\tdata() {\n\t\treturn {\n\t\t\t/**\n\t\t\t * Tab descriptions from the passed NcSidebarTab components' props to build the tab navbar from.\n\t\t\t */\n\t\t\ttabs: [],\n\t\t\t/**\n\t\t\t * Local active (open) tab's ID. It allows to use component without active.sync\n\t\t\t */\n\t\t\tactiveTab: '',\n\t\t}\n\t},\n\n\tcomputed: {\n\t\t/**\n\t\t * Has multiple tabs. If only one tab - its content is shown without navigation\n\t\t *\n\t\t * @return {boolean}\n\t\t */\n\t\thasMultipleTabs() {\n\t\t\treturn this.tabs.length > 1\n\t\t},\n\n\t\tcurrentTabIndex() {\n\t\t\treturn this.tabs.findIndex((tab) => tab.id === this.activeTab)\n\t\t},\n\t},\n\n\twatch: {\n\t\tactive(active) {\n\t\t\t// Prevent running it twice\n\t\t\tif (active !== this.activeTab) {\n\t\t\t\tthis.updateActive()\n\t\t\t}\n\t\t},\n\t},\n\n\tmethods: {\n\n\t\t/**\n\t\t * Set the current active tab\n\t\t *\n\t\t * @param {string} id the id of the tab\n\t\t */\n\t\tsetActive(id) {\n\t\t\tthis.activeTab = id\n\t\t\t/**\n\t\t\t * @property {string} active - active tab's id\n\t\t\t */\n\t\t\tthis.$emit('update:active', this.activeTab)\n\t\t},\n\n\t\t/**\n\t\t * Focus the previous tab\n\t\t * and emit to the parent component\n\t\t */\n\t\tfocusPreviousTab() {\n\t\t\tif (this.currentTabIndex > 0) {\n\t\t\t\tthis.setActive(this.tabs[this.currentTabIndex - 1].id)\n\t\t\t}\n\t\t\tthis.focusActiveTab()\n\t\t},\n\n\t\t/**\n\t\t * Focus the next tab\n\t\t * and emit to the parent component\n\t\t */\n\t\tfocusNextTab() {\n\t\t\tif (this.currentTabIndex < this.tabs.length - 1) {\n\t\t\t\tthis.setActive(this.tabs[this.currentTabIndex + 1].id)\n\t\t\t}\n\t\t\tthis.focusActiveTab()\n\t\t},\n\n\t\t/**\n\t\t * Focus the first tab\n\t\t * and emit to the parent component\n\t\t */\n\t\tfocusFirstTab() {\n\t\t\tthis.setActive(this.tabs[0].id)\n\t\t\tthis.focusActiveTab()\n\t\t},\n\n\t\t/**\n\t\t * Focus the last tab\n\t\t * and emit to the parent component\n\t\t */\n\t\tfocusLastTab() {\n\t\t\tthis.setActive(this.tabs[this.tabs.length - 1].id)\n\t\t\tthis.focusActiveTab()\n\t\t},\n\n\t\t/**\n\t\t * Focus the current active tab\n\t\t */\n\t\tfocusActiveTab() {\n\t\t\tthis.$el.querySelector(`[data-id=\"${this.activeTab}\"]`).focus()\n\t\t},\n\n\t\t/**\n\t\t * Focus the content on tab\n\t\t * see aria accessibility guidelines\n\t\t */\n\t\tfocusActiveTabContent() {\n\t\t\tthis.$el.querySelector('#tab-' + this.activeTab).focus()\n\t\t},\n\n\t\t/**\n\t\t * Update the current active tab\n\t\t */\n\t\tupdateActive() {\n\t\t\tthis.activeTab = this.active\n\t\t\t&& this.tabs.some(tab => tab.id === this.active)\n\t\t\t\t? this.active\n\t\t\t\t: this.tabs.length > 0\n\t\t\t\t\t? this.tabs[0].id\n\t\t\t\t\t: ''\n\t\t},\n\n\t\t/**\n\t\t * Register child tab in the tabs\n\t\t *\n\t\t * @param {object} tab child tab passed to slot\n\t\t */\n\t\tregisterTab(tab) {\n\t\t\tthis.tabs.push(tab)\n\t\t\tthis.tabs.sort((a, b) => {\n\t\t\t\tif (a.order === b.order) {\n\t\t\t\t\treturn OC.Util.naturalSortCompare(a.name, b.name)\n\t\t\t\t}\n\t\t\t\treturn a.order - b.order\n\t\t\t})\n\t\t\tthis.updateActive()\n\t\t},\n\n\t\t/**\n\t\t * Unregister child tab from the tabs\n\t\t *\n\t\t * @param {string} id tab's id\n\t\t */\n\t\tunregisterTab(id) {\n\t\t\tconst tabIndex = this.tabs.findIndex((tab) => tab.id === id)\n\t\t\tif (tabIndex !== -1) {\n\t\t\t\tthis.tabs.splice(tabIndex, 1)\n\t\t\t}\n\t\t\tif (this.activeTab === id) {\n\t\t\t\tthis.updateActive()\n\t\t\t}\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n.app-sidebar-tabs {\n\tdisplay: flex;\n\tflex-direction: column;\n\tmin-height: 0;\n\tflex: 1 1 100%;\n\n\t&__nav {\n\t\tdisplay: flex;\n\t\tjustify-content: stretch;\n\t\tmargin-top: 10px;\n\t\tpadding: 0 4px;\n\t}\n\n\t&__tab {\n\t\tflex: 1 1;\n\t\t&.active {\n\t\t\tcolor: var(--color-primary-element);\n\t\t}\n\n\t\t&-caption {\n\t\t\tflex: 0 1 100%;\n\t\t\twidth: 100%;\n\t\t\toverflow: hidden;\n\t\t\twhite-space: nowrap;\n\t\t\ttext-overflow: ellipsis;\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t&-icon {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\tbackground-size: 20px;\n\t\t}\n\n\t\t// Override max-width to use all available space\n\t\t:deep(.checkbox-radio-switch__label) {\n\t\t\tmax-width: unset;\n\t\t}\n\t}\n\n\t&__content {\n\t\tposition: relative;\n\t\t// take full available height\n\t\tmin-height: 0;\n\t\theight: 100%;\n\t\t// force the use of the tab component if more than one tab\n\t\t// you can just put raw content if you don't use tabs\n\t\t&--multiple > :not(section) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n}\n\n:deep(.checkbox-radio-switch--button-variant.checkbox-radio-switch) {\n\tborder: unset;\n}\n</style>\n","<!--\n - @copyright Copyright (c) 2019 John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @author John Molakvoæ <skjnldsv@protonmail.com>\n -\n - @license GNU AGPL version 3 or any later version\n -\n - This program is free software: you can redistribute it and/or modify\n - it under the terms of the GNU Affero General Public License as\n - published by the Free Software Foundation, either version 3 of the\n - License, or (at your option) any later version.\n -\n - This program is distributed in the hope that it will be useful,\n - but WITHOUT ANY WARRANTY; without even the implied warranty of\n - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n - GNU Affero General Public License for more details.\n -\n - You should have received a copy of the GNU Affero General Public License\n - along with this program. If not, see <http://www.gnu.org/licenses/>.\n -\n -->\n\n<docs>\n### General description\n\nThis component provides a way to include the standardised sidebar.\nThe standard properties like name, subname, starred, etc. allow to automatically\ninclude a standard-header like it's used by the files app.\n\n### Standard usage\n\n```vue\n<template>\n\t<NcAppSidebar\n\t\t:starred=\"starred\"\n\t\tname=\"cat-picture.jpg\"\n\t\tsubname=\"last edited 3 weeks ago\">\n\t\t<NcAppSidebarTab name=\"Search\" id=\"search-tab\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t</template>\n\t\t\tSearch tab content\n\t\t</NcAppSidebarTab>\n\t\t<NcAppSidebarTab name=\"Settings\" id=\"settings-tab\">\n\t\t\t<template #icon>\n\t\t\t\t<Cog :size=\"20\" />\n\t\t\t</template>\n\t\t\tSettings tab content\n\t\t</NcAppSidebarTab>\n\t\t<NcAppSidebarTab name=\"Sharing\" id=\"share-tab\">\n\t\t\t<template #icon>\n\t\t\t\t<ShareVariant :size=\"20\" />\n\t\t\t</template>\n\t\t\tSharing tab content\n\t\t</NcAppSidebarTab>\n\t</NcAppSidebar>\n</template>\n<script>\n\timport Magnify from 'vue-material-design-icons/Magnify'\n\timport Cog from 'vue-material-design-icons/Cog'\n\timport ShareVariant from 'vue-material-design-icons/ShareVariant'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tMagnify,\n\t\t\tCog,\n\t\t\tShareVariant,\n\t\t},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tstarred: false,\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n\n### One tab\n\nSingle tab is rendered without navigation.\n\n```vue\n<template>\n\t<div>\n\t\t<NcAppSidebar\n\t\t\tname=\"cat-picture.jpg\"\n\t\t\tsubname=\"last edited 3 weeks ago\">\n\t\t\t<NcAppSidebarTab name=\"Settings\" id=\"settings-tab\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Cog :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tSingle tab content\n\t\t\t</NcAppSidebarTab>\n\t\t</NcAppSidebar>\n\t</div>\n</template>\n<script>\nimport Cog from 'vue-material-design-icons/Cog'\n\nexport default {\n\tcomponents: {\n\t\tCog,\n\t},\n}\n</script>\n```\n\n### Dynamic tabs\n\n```vue\n<template>\n\t<div>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"showTabs[0]\">Show search tab</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"showTabs[1]\">Show settings tab</NcCheckboxRadioSwitch>\n\t\t<NcCheckboxRadioSwitch :checked.sync=\"showTabs[2]\">Show sharing tab</NcCheckboxRadioSwitch>\n\t\t<NcAppSidebar\n\t\t\tname=\"cat-picture.jpg\"\n\t\t\tsubname=\"last edited 3 weeks ago\">\n\t\t\t<NcAppSidebarTab v-if=\"showTabs[0]\" name=\"Search\" id=\"search-tab\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tSearch tab content\n\t\t\t</NcAppSidebarTab>\n\t\t\t<NcAppSidebarTab v-if=\"showTabs[1]\" name=\"Settings\" id=\"settings-tab\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Cog :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tSettings\n\t\t\t</NcAppSidebarTab>\n\t\t\t<NcAppSidebarTab v-if=\"showTabs[2]\" name=\"Sharing\" id=\"share-tab\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ShareVariant :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tSharing tab content\n\t\t\t</NcAppSidebarTab>\n\t\t</NcAppSidebar>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\nimport Cog from 'vue-material-design-icons/Cog'\nimport ShareVariant from 'vue-material-design-icons/ShareVariant'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t\tCog,\n\t\tShareVariant,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tshowTabs: [true, true, false],\n\t\t}\n\t},\n}\n</script>\n```\n\n### Custom order\n\n```vue\n<template>\n\t<NcAppSidebar\n\t\tname=\"cat-picture.jpg\"\n\t\tsubname=\"last edited 3 weeks ago\">\n\t\t<NcAppSidebarTab name=\"Search\" id=\"search-tab\" :order=\"3\">\n\t\t\t<template #icon>\n\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t</template>\n\t\t\tSearch tab content\n\t\t</NcAppSidebarTab>\n\t\t<NcAppSidebarTab name=\"Settings\" id=\"settings-tab\" :order=\"2\">\n\t\t\t<template #icon>\n\t\t\t\t<Cog :size=\"20\" />\n\t\t\t</template>\n\t\t\tSettings tab content\n\t\t</NcAppSidebarTab>\n\t\t<NcAppSidebarTab name=\"Sharing\" id=\"share-tab\" :order=\"1\">\n\t\t\t<template #icon>\n\t\t\t\t<ShareVariant :size=\"20\" />\n\t\t\t</template>\n\t\t\tSharing tab content\n\t\t</NcAppSidebarTab>\n\t</NcAppSidebar>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\nimport Cog from 'vue-material-design-icons/Cog'\nimport ShareVariant from 'vue-material-design-icons/ShareVariant'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t\tCog,\n\t\tShareVariant,\n\t},\n}\n</script>\n```\n\n### Activating tab programmatically\n\n```vue\n<template>\n\t<div>\n\t\t<NcSelect v-model=\"active\" :options=\"['search-tab', 'settings-tab', 'share-tab']\" />\n\t\t<NcAppSidebar\n\t\t\tname=\"cat-picture.jpg\"\n\t\t\tsubname=\"last edited 3 weeks ago\"\n\t\t\t:active.sync=\"active\">\n\t\t\t<NcAppSidebarTab name=\"Search\" id=\"search-tab\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tSearch tab content\n\t\t\t</NcAppSidebarTab>\n\t\t\t<NcAppSidebarTab name=\"Settings\" id=\"settings-tab\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Cog :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tSettings\n\t\t\t</NcAppSidebarTab>\n\t\t\t<NcAppSidebarTab name=\"Sharing\" id=\"share-tab\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<ShareVariant :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t\tSharing tab content\n\t\t\t</NcAppSidebarTab>\n\t\t</NcAppSidebar>\n\t</div>\n</template>\n<script>\nimport Magnify from 'vue-material-design-icons/Magnify'\nimport Cog from 'vue-material-design-icons/Cog'\nimport ShareVariant from 'vue-material-design-icons/ShareVariant'\n\nexport default {\n\tcomponents: {\n\t\tMagnify,\n\t\tCog,\n\t\tShareVariant,\n\t},\n\tdata() {\n\t\treturn {\n\t\t\tactive: 'search-tab',\n\t\t}\n\t},\n}\n</script>\n```\n\n### Editable name\n\n```vue\n<template>\n\t<NcAppSidebar\n\t\t:name.sync=\"name\"\n\t\t:name-editable=\"true\"\n\t\tname-placeholder=\"Filename\"\n\t\tsubname=\"last edited 3 weeks ago\">\n\t\t<!-- Insert your slots and tabs here -->\n\t</NcAppSidebar>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tname: 'cat-picture.jpg',\n\t\t\t}\n\t\t},\n\t}\n</script>\n```\n\n### Editable name after click with custom tertiary action\n\n```vue\n<template>\n\t<NcAppSidebar\n\t\t:name=\"name\"\n\t\t:name-editable.sync=\"nameEditable\"\n\t\t:name-placeholder=\"namePlaceholder\"\n\t\t:subname=\"subname\"\n\t\t@update:name=\"nameUpdate\">\n\t\t<template #tertiary-actions>\n\t\t\t<form>\n\t\t\t\t<input type=\"checkbox\" @click=\"toggledCheckbox\"/>\n\t\t\t</form>\n\t\t</template>\n\t</NcAppSidebar>\n</template>\n<script>\n\texport default {\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tname: 'cat-picture.jpg',\n\t\t\t\tnamePlaceholder: 'Filename',\n\t\t\t\tsubname: 'last edited 3 weeks ago',\n\t\t\t\tnameEditable: false\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tnameUpdate(e) {\n\t\t\t\tthis.name = e\n\t\t\t},\n\t\t\ttoggledCheckbox() {\n\t\t\t\talert('toggle')\n\t\t\t}\n\t\t}\n\t}\n</script>\n```\n\n### Empty sidebar for e.g. empty content component.\n\n```vue\n\t<template>\n\t\t<NcAppSidebar\n\t\t\tname=\"cat-picture.jpg\"\n\t\t\t:empty=\"true\">\n\t\t\t<NcEmptyContent name=\"Content not found.\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<Magnify :size=\"20\" />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</NcAppSidebar>\n\t</template>\n\t<script>\n\timport Magnify from 'vue-material-design-icons/Magnify'\n\n\texport default {\n\t\tcomponents: {\n\t\t\tMagnify,\n\t\t},\n\t}\n\t</script>\n```\n</docs>\n\n<template>\n\t<transition appear\n\t\tname=\"slide-right\"\n\t\t@before-enter=\"onBeforeEnter\"\n\t\t@after-enter=\"onAfterEnter\"\n\t\t@before-leave=\"onBeforeLeave\"\n\t\t@after-leave=\"onAfterLeave\">\n\t\t<aside id=\"app-sidebar-vue\" class=\"app-sidebar\">\n\t\t\t<header :class=\"{\n\t\t\t\t\t'app-sidebar-header--with-figure': hasFigure,\n\t\t\t\t\t'app-sidebar-header--compact': compact,\n\t\t\t\t}\"\n\t\t\t\tclass=\"app-sidebar-header\">\n\t\t\t\t<!-- container for figure and description, allows easy switching to compact mode -->\n\t\t\t\t<div class=\"app-sidebar-header__info\">\n\t\t\t\t\t<!-- sidebar header illustration/figure -->\n\t\t\t\t\t<div v-if=\"hasFigure && !empty\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'app-sidebar-header__figure--with-action': hasFigureClickListener\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tclass=\"app-sidebar-header__figure\"\n\t\t\t\t\t\t:style=\"{\n\t\t\t\t\t\t\tbackgroundImage: `url(${background})`\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\ttabindex=\"0\"\n\t\t\t\t\t\t@click=\"onFigureClick\"\n\t\t\t\t\t\t@keydown.enter=\"onFigureClick\">\n\t\t\t\t\t\t<slot class=\"app-sidebar-header__background\" name=\"header\" />\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<!-- sidebar details -->\n\t\t\t\t\t<div v-if=\"!empty\"\n\t\t\t\t\t\t:class=\"{\n\t\t\t\t\t\t\t'app-sidebar-header__desc--with-tertiary-action': canStar || $slots['tertiary-actions'],\n\t\t\t\t\t\t\t'app-sidebar-header__desc--editable': nameEditable && !subname,\n\t\t\t\t\t\t\t'app-sidebar-header__desc--with-subname--editable': nameEditable && subname,\n\t\t\t\t\t\t\t'app-sidebar-header__desc--without-actions': !$slots['secondary-actions'],\n\t\t\t\t\t\t}\"\n\t\t\t\t\t\tclass=\"app-sidebar-header__desc\">\n\t\t\t\t\t\t<!-- favourite icon -->\n\t\t\t\t\t\t<div v-if=\"canStar || $slots['tertiary-actions']\" class=\"app-sidebar-header__tertiary-actions\">\n\t\t\t\t\t\t\t<slot name=\"tertiary-actions\">\n\t\t\t\t\t\t\t\t<NcButton v-if=\"canStar\"\n\t\t\t\t\t\t\t\t\t:aria-label=\"favoriteTranslated\"\n\t\t\t\t\t\t\t\t\t:pressed=\"isStarred\"\n\t\t\t\t\t\t\t\t\tclass=\"app-sidebar-header__star\"\n\t\t\t\t\t\t\t\t\ttype=\"secondary\"\n\t\t\t\t\t\t\t\t\t@click.prevent=\"toggleStarred\">\n\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t<NcLoadingIcon v-if=\"starLoading\" />\n\t\t\t\t\t\t\t\t\t\t<Star v-else-if=\"isStarred\" :size=\"20\" />\n\t\t\t\t\t\t\t\t\t\t<StarOutline v-else :size=\"20\" />\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t\t</slot>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<!-- name -->\n\t\t\t\t\t\t<div class=\"app-sidebar-header__name-container\">\n\t\t\t\t\t\t\t<div class=\"app-sidebar-header__mainname-container\">\n\t\t\t\t\t\t\t\t<!-- main name -->\n\t\t\t\t\t\t\t\t<h2 v-show=\"!nameEditable\"\n\t\t\t\t\t\t\t\t\tv-linkify=\"{text: name, linkify: linkifyName}\"\n\t\t\t\t\t\t\t\t\t:aria-label=\"title\"\n\t\t\t\t\t\t\t\t\t:title=\"title\"\n\t\t\t\t\t\t\t\t\tclass=\"app-sidebar-header__mainname\"\n\t\t\t\t\t\t\t\t\t:tabindex=\"nameEditable ? 0 : undefined\"\n\t\t\t\t\t\t\t\t\t@click.self=\"editName\">\n\t\t\t\t\t\t\t\t\t{{ name }}\n\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t<template v-if=\"nameEditable\">\n\t\t\t\t\t\t\t\t\t<form v-click-outside=\"() => onSubmitName()\"\n\t\t\t\t\t\t\t\t\t\tclass=\"app-sidebar-header__mainname-form\"\n\t\t\t\t\t\t\t\t\t\t@submit.prevent=\"onSubmitName\">\n\t\t\t\t\t\t\t\t\t\t<input ref=\"nameInput\"\n\t\t\t\t\t\t\t\t\t\t\tv-focus\n\t\t\t\t\t\t\t\t\t\t\tclass=\"app-sidebar-header__mainname-input\"\n\t\t\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\t\t\t:placeholder=\"namePlaceholder\"\n\t\t\t\t\t\t\t\t\t\t\t:value=\"name\"\n\t\t\t\t\t\t\t\t\t\t\t@keydown.esc.stop=\"onDismissEditing\"\n\t\t\t\t\t\t\t\t\t\t\t@input=\"onNameInput\">\n\t\t\t\t\t\t\t\t\t\t<NcButton type=\"tertiary-no-background\"\n\t\t\t\t\t\t\t\t\t\t\t:aria-label=\"changeNameTranslated\"\n\t\t\t\t\t\t\t\t\t\t\tnative-type=\"submit\">\n\t\t\t\t\t\t\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t\t\t\t\t\t\t<ArrowRight :size=\"20\" />\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t</NcButton>\n\t\t\t\t\t\t\t\t\t</form>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<!-- header main menu -->\n\t\t\t\t\t\t\t\t<NcActions v-if=\"$slots['secondary-actions']\"\n\t\t\t\t\t\t\t\t\tclass=\"app-sidebar-header__menu\"\n\t\t\t\t\t\t\t\t\t:force-menu=\"forceMenu\">\n\t\t\t\t\t\t\t\t\t<slot name=\"secondary-actions\" />\n\t\t\t\t\t\t\t\t</NcActions>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- secondary name -->\n\t\t\t\t\t\t\t<p v-if=\"subname.trim() !== ''\"\n\t\t\t\t\t\t\t\t:aria-label=\"subtitle\"\n\t\t\t\t\t\t\t\t:title=\"subtitle\"\n\t\t\t\t\t\t\t\tclass=\"app-sidebar-header__subname\">\n\t\t\t\t\t\t\t\t{{ subname }}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<NcButton :title=\"closeTranslated\"\n\t\t\t\t\t:aria-label=\"closeTranslated\"\n\t\t\t\t\ttype=\"tertiary\"\n\t\t\t\t\tclass=\"app-sidebar__close\"\n\t\t\t\t\t@click.prevent=\"closeSidebar\">\n\t\t\t\t\t<template #icon>\n\t\t\t\t\t\t<Close :size=\"20\" />\n\t\t\t\t\t</template>\n\t\t\t\t</NcButton>\n\n\t\t\t\t<div v-if=\"$slots['description'] && !empty\" class=\"app-sidebar-header__description\">\n\t\t\t\t\t<slot name=\"description\" />\n\t\t\t\t</div>\n\t\t\t</header>\n\n\t\t\t<NcAppSidebarTabs v-show=\"!loading\"\n\t\t\t\tref=\"tabs\"\n\t\t\t\t:active=\"active\"\n\t\t\t\t@update:active=\"onUpdateActive\">\n\t\t\t\t<slot />\n\t\t\t</NcAppSidebarTabs>\n\n\t\t\t<NcEmptyContent v-if=\"loading\">\n\t\t\t\t<template #icon>\n\t\t\t\t\t<NcLoadingIcon :size=\"64\" />\n\t\t\t\t</template>\n\t\t\t</NcEmptyContent>\n\t\t</aside>\n\t</transition>\n</template>\n\n<script>\nimport NcAppSidebarTabs from './NcAppSidebarTabs.vue'\nimport NcActions from '../NcActions/index.js'\nimport NcLoadingIcon from '../NcLoadingIcon/index.js'\nimport NcButton from '../NcButton/index.js'\nimport NcEmptyContent from '../NcEmptyContent/index.js'\nimport Focus from '../../directives/Focus/index.js'\nimport Linkify from '../../directives/Linkify/index.js'\nimport Tooltip from '../../directives/Tooltip/index.js'\nimport { t } from '../../l10n.js'\n\nimport ArrowRight from 'vue-material-design-icons/ArrowRight.vue'\nimport Close from 'vue-material-design-icons/Close.vue'\nimport Star from 'vue-material-design-icons/Star.vue'\nimport StarOutline from 'vue-material-design-icons/StarOutline.vue'\n\nimport { vOnClickOutside as ClickOutside } from '@vueuse/components'\n\nexport default {\n\tname: 'NcAppSidebar',\n\n\tcomponents: {\n\t\tNcActions,\n\t\tNcAppSidebarTabs,\n\t\tArrowRight,\n\t\tNcButton,\n\t\tNcLoadingIcon,\n\t\tNcEmptyContent,\n\t\tClose,\n\t\tStar,\n\t\tStarOutline,\n\t},\n\n\tdirectives: {\n\t\tfocus: Focus,\n\t\tlinkify: Linkify,\n\t\tClickOutside,\n\t\tTooltip,\n\t},\n\n\tprops: {\n\t\tactive: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t\trequired: true,\n\t\t},\n\n\t\t/**\n\t\t * Allow to edit the sidebar name.\n\t\t */\n\t\tnameEditable: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\tnamePlaceholder: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\tsubname: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t\t/**\n\t\t * Title to display for the subname.\n\t\t */\n\t\tsubtitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Url to the top header background image\n\t\t * Applied with css\n\t\t */\n\t\tbackground: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\n\t\t/**\n\t\t * Enable the favourite icon if not null\n\t\t * See fired events\n\t\t */\n\t\tstarred: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: null,\n\t\t},\n\t\t/**\n\t\t * Show loading spinner instead of the star icon\n\t\t */\n\t\tstarLoading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Show loading spinner instead of tabs\n\t\t */\n\t\tloading: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Display the sidebar in compact mode\n\t\t */\n\t\tcompact: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Only display close button and default slot content.\n\t\t * Don't display other header content and primary and secondary actions.\n\t\t * Useful when showing the EmptyContent component as content.\n\t\t */\n\t\tempty: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\n\t\t/**\n\t\t * Force the actions to display in a three dot menu\n\t\t */\n\t\tforceMenu: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Linkify the name\n\t\t */\n\t\tlinkifyName: {\n\t\t\ttype: Boolean,\n\t\t\tdefault: false,\n\t\t},\n\t\t/**\n\t\t * Title to display for the name.\n\t\t * Can be set to the same text in case it's too long.\n\t\t */\n\t\ttitle: {\n\t\t\ttype: String,\n\t\t\tdefault: '',\n\t\t},\n\t},\n\n\temits: [\n\t\t'close',\n\t\t'closing',\n\t\t'closed',\n\t\t'opening',\n\t\t'opened',\n\t\t'figure-click',\n\t\t'update:starred',\n\t\t'update:nameEditable',\n\t\t'update:name',\n\t\t'update:active',\n\t\t'submit-name',\n\t\t'dismiss-editing',\n\t],\n\n\tdata() {\n\t\treturn {\n\t\t\tchangeNameTranslated: t('Change name'),\n\t\t\tcloseTranslated: t('Close sidebar'),\n\t\t\tfavoriteTranslated: t('Favorite'),\n\t\t\tisStarred: this.starred,\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tcanStar() {\n\t\t\treturn this.isStarred !== null\n\t\t},\n\t\thasFigure() {\n\t\t\treturn this.$slots.header || this.background\n\t\t},\n\t\thasFigureClickListener() {\n\t\t\treturn this.$listeners['figure-click']\n\t\t},\n\t},\n\n\twatch: {\n\t\tstarred() {\n\t\t\tthis.isStarred = this.starred\n\t\t},\n\t},\n\n\tbeforeDestroy() {\n\t\t// Make sure that the 'closed' event is dispatched even if this element is destroyed before the 'after-leave' event is received.\n\t\tthis.$emit('closed')\n\t},\n\n\tmethods: {\n\t\tonBeforeEnter(element) {\n\t\t\t/**\n\t\t\t * The sidebar is opening and the transition is in progress\n\t\t\t *\n\t\t\t * @type {HTMLElement}\n\t\t\t */\n\t\t\tthis.$emit('opening', element)\n\t\t},\n\t\tonAfterEnter(element) {\n\t\t\t/**\n\t\t\t * The sidebar is opened and the transition is complete\n\t\t\t *\n\t\t\t * @type {HTMLElement}\n\t\t\t */\n\t\t\tthis.$emit('opened', element)\n\t\t},\n\t\tonBeforeLeave(element) {\n\t\t\t/**\n\t\t\t * The sidebar is closing and the transition is in progress\n\t\t\t *\n\t\t\t * @type {HTMLElement}\n\t\t\t */\n\t\t\tthis.$emit('closing', element)\n\t\t},\n\t\tonAfterLeave(element) {\n\t\t\t/**\n\t\t\t * The sidebar is closed and the transition is complete\n\t\t\t *\n\t\t\t * @type {HTMLElement}\n\t\t\t */\n\t\t\tthis.$emit('closed', element)\n\t\t},\n\n\t\t/**\n\t\t * Used to tell parent component the user asked to close the sidebar\n\t\t *\n\t\t * @param {Event} e close icon click event\n\t\t */\n\t\tcloseSidebar(e) {\n\t\t\t/**\n\t\t\t * The user clicked to closed the sidebar\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('close', e)\n\t\t},\n\n\t\t/**\n\t\t * Emit figure click event to parent component\n\t\t *\n\t\t * @param {Event} e click event\n\t\t */\n\t\tonFigureClick(e) {\n\t\t\t/**\n\t\t\t * The figure/background header has been clicked\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('figure-click', e)\n\t\t},\n\n\t\t/**\n\t\t * Toggle the favourite state\n\t\t * and emit to the parent component\n\t\t */\n\t\ttoggleStarred() {\n\t\t\tthis.isStarred = !this.isStarred\n\t\t\t/**\n\t\t\t * Emitted when the starred value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('update:starred', this.isStarred)\n\t\t},\n\n\t\teditName() {\n\t\t\t/**\n\t\t\t * Emitted when the nameEditable value changes\n\t\t\t *\n\t\t\t * @type {boolean}\n\t\t\t */\n\t\t\tthis.$emit('update:nameEditable', true)\n\t\t\t// Focus the name input\n\t\t\tif (this.nameEditable) {\n\t\t\t\tthis.$nextTick(\n\t\t\t\t\t() => this.$refs.nameInput.focus(),\n\t\t\t\t)\n\t\t\t}\n\t\t},\n\n\t\t/**\n\t\t * Emit name change event to parent component\n\t\t *\n\t\t * @param {Event} event input event\n\t\t */\n\t\tonNameInput(event) {\n\t\t\t/**\n\t\t\t * Emitted when the name value changes\n\t\t\t *\n\t\t\t * @type {string|Date}\n\t\t\t */\n\t\t\tthis.$emit('update:name', event.target.value)\n\t\t},\n\n\t\t/**\n\t\t * Emit when the name form edit confirm button is pressed in order\n\t\t * to change the name.\n\t\t *\n\t\t * @param {Event} event submit event\n\t\t */\n\t\tonSubmitName(event) {\n\t\t\t// Disable editing\n\t\t\tthis.$emit('update:nameEditable', false)\n\t\t\t/**\n\t\t\t * Emitted when the name edit input has been submitted\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('submit-name', event)\n\t\t},\n\t\tonDismissEditing() {\n\t\t\t// Disable editing\n\t\t\tthis.$emit('update:nameEditable', false)\n\t\t\t/**\n\t\t\t * Emitted when the name edit has been cancelled\n\t\t\t *\n\t\t\t * @type {Event}\n\t\t\t */\n\t\t\tthis.$emit('dismiss-editing')\n\t\t},\n\t\tonUpdateActive(activeTab) {\n\t\t\t/**\n\t\t\t * The active tab changed\n\t\t\t *\n\t\t\t * @type {string}\n\t\t\t */\n\t\t\tthis.$emit('update:active', activeTab)\n\t\t},\n\t},\n}\n</script>\n<style lang=\"scss\" scoped>\n$sidebar-min-width: 300px;\n$sidebar-max-width: 500px;\n\n$desc-vertical-padding: 18px;\n$desc-vertical-padding-compact: 10px;\n$desc-input-padding: 7px;\n\n// name and subname\n$desc-name-height: 30px;\n$desc-subname-height: 22px;\n$desc-height: $desc-name-height + $desc-subname-height;\n\n$top-buttons-spacing: 6px;\n\n/*\n\tSidebar: to be used within #content\n\tapp-content will be shrinked properly\n*/\n.app-sidebar {\n\tz-index: 1500;\n\ttop: 0;\n\tright: 0;\n\tdisplay: flex;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tflex-direction: column;\n\tflex-shrink: 0;\n\twidth: 27vw;\n\tmin-width: $sidebar-min-width;\n\tmax-width: $sidebar-max-width;\n\theight: 100%;\n\tborder-left: 1px solid var(--color-border);\n\tbackground: var(--color-main-background);\n\n\t.app-sidebar-header {\n\t\t> .app-sidebar__close {\n\t\t\tposition: absolute;\n\t\t\tz-index: 100;\n\t\t\ttop: $top-buttons-spacing;\n\t\t\tright: $top-buttons-spacing;\n\t\t\twidth: $clickable-area;\n\t\t\theight: $clickable-area;\n\t\t\topacity: $opacity_normal;\n\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t\t&:hover,\n\t\t\t&:active,\n\t\t\t&:focus {\n\t\t\t\topacity: $opacity_full;\n\t\t\t\tbackground-color: $action-background-hover;\n\t\t\t}\n\t\t}\n\n\t\t// Compact mode only affects a sidebar with a figure\n\t\t&--compact.app-sidebar-header--with-figure {\n\t\t\t.app-sidebar-header__info {\n\t\t\t\tflex-direction: row;\n\n\t\t\t\t.app-sidebar-header__figure {\n\t\t\t\t\tz-index: 2;\n\t\t\t\t\twidth: $desc-height + $desc-vertical-padding;\n\t\t\t\t\theight: $desc-height + $desc-vertical-padding;\n\t\t\t\t\tmargin: math.div($desc-vertical-padding, 2);\n\t\t\t\t\tborder-radius: 3px;\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t}\n\t\t\t\t.app-sidebar-header__desc {\n\t\t\t\t\tpadding-left: 0;\n\t\t\t\t\tflex: 1 1 auto;\n\t\t\t\t\tmin-width: 0;\n\t\t\t\t\tpadding-right: 2 * $clickable-area + $top-buttons-spacing;\n\t\t\t\t\tpadding-top: $desc-vertical-padding-compact;\n\n\t\t\t\t\t&.app-sidebar-header__desc--without-actions {\n\t\t\t\t\t\tpadding-right: #{$clickable-area + $top-buttons-spacing};\n\t\t\t\t\t}\n\n\t\t\t\t\t.app-sidebar-header__tertiary-actions {\n\t\t\t\t\t\tz-index: 3; // above star\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\ttop: math.div($desc-vertical-padding, 2);\n\t\t\t\t\t\tleft: -1 * $clickable-area;\n\t\t\t\t\t\tgap: 0; // override gap\n\t\t\t\t\t}\n\t\t\t\t\t.app-sidebar-header__menu {\n\t\t\t\t\t\ttop: $top-buttons-spacing;\n\t\t\t\t\t\tright: $clickable-area + $top-buttons-spacing; // left of the close button\n\t\t\t\t\t\tbackground-color: transparent;\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// sidebar without figure\n\t\t&:not(.app-sidebar-header--with-figure) {\n\t\t\t// align the menu with the close button\n\t\t\t.app-sidebar-header__menu {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: $top-buttons-spacing;\n\t\t\t\tright: $top-buttons-spacing + $clickable-area;\n\t\t\t}\n\t\t\t// increase the padding to not overlap the menu\n\t\t\t.app-sidebar-header__desc {\n\t\t\t\tpadding-right: #{$clickable-area * 2 + $top-buttons-spacing};\n\n\t\t\t\t&.app-sidebar-header__desc--without-actions {\n\t\t\t\t\tpadding-right: #{$clickable-area + $top-buttons-spacing};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// the container with the figure and the description\n\t\t.app-sidebar-header__info {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t}\n\n\t\t// header background\n\t\t&__figure {\n\t\t\twidth: 100%;\n\t\t\theight: 250px;\n\t\t\tmax-height: 250px;\n\t\t\tbackground-repeat: no-repeat;\n\t\t\tbackground-position: center;\n\t\t\tbackground-size: contain;\n\t\t\t&--with-action {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\n\t\t// description\n\t\t&__desc {\n\t\t\tposition: relative;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\tpadding: #{$desc-vertical-padding} #{$top-buttons-spacing} #{$desc-vertical-padding} #{math.div($desc-vertical-padding, 2)};\n\t\t\tgap: 0 4px;\n\n\t\t\t// custom overrides\n\t\t\t&--with-tertiary-action {\n\t\t\t\tpadding-left: 6px;\n\t\t\t}\n\n\t\t\t&--editable .app-sidebar-header__mainname-form,\n\t\t\t&--with-subname--editable .app-sidebar-header__mainname-form {\n\t\t\t\tmargin-top: -2px;\n\t\t\t\tmargin-bottom: -2px;\n\t\t\t}\n\n\t\t\t&--with-subname--editable .app-sidebar-header__subname {\n\t\t\t\tmargin-top: -2px;\n\t\t\t}\n\n\t\t\t.app-sidebar-header__tertiary-actions {\n\t\t\t\tdisplay: flex;\n\t\t\t\theight: $clickable-area;\n\t\t\t\twidth: $clickable-area;\n\t\t\t\tjustify-content: center;\n\t\t\t\tflex: 0 0 auto;\n\n\t\t\t\t.app-sidebar-header__star {\n\t\t\t\t\t// Override default Button component styles\n\t\t\t\t\tbox-shadow: none;\n\t\t\t\t\t&:not([aria-pressed='true']):hover {\n\t\t\t\t\t\tbox-shadow: none;\n\t\t\t\t\t\tbackground-color: var(--color-background-hover);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t// names\n\t\t\t.app-sidebar-header__name-container {\n\t\t\t\tflex: 1 1 auto;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-direction: column;\n\t\t\t\tjustify-content: center;\n\t\t\t\tmin-width: 0;\n\n\t\t\t\t.app-sidebar-header__mainname-container {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tmin-height: $clickable-area;\n\n\t\t\t\t\t// main name\n\t\t\t\t\t.app-sidebar-header__mainname {\n\t\t\t\t\t\tpadding: 0;\n\t\t\t\t\t\tmin-height: 30px;\n\t\t\t\t\t\tfont-size: 20px;\n\t\t\t\t\t\tline-height: $desc-name-height;\n\n\t\t\t\t\t\t// Needs 'deep' as the link is generated by the linkify directive\n\t\t\t\t\t\t&:deep(.linkified) {\n\t\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\t\ttext-decoration: underline;\n\t\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.app-sidebar-header__mainname-form {\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tflex: 1 1 auto;\n\t\t\t\t\t\talign-items: center;\n\n\t\t\t\t\t\tinput.app-sidebar-header__mainname-input {\n\t\t\t\t\t\t\tflex: 1 1 auto;\n\t\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\t\tpadding: $desc-input-padding;\n\t\t\t\t\t\t\tfont-size: 20px;\n\t\t\t\t\t\t\tfont-weight: bold;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// main menu\n\t\t\t\t\t.app-sidebar-header__menu {\n\t\t\t\t\t\theight: $clickable-area;\n\t\t\t\t\t\twidth: $clickable-area;\n\t\t\t\t\t\tborder-radius: math.div($clickable-area, 2);\n\t\t\t\t\t\tbackground-color: $action-background-hover;\n\t\t\t\t\t\tmargin-left: 5px;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// shared between main and subname\n\t\t\t\t.app-sidebar-header__mainname,\n\t\t\t\t.app-sidebar-header__subname {\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\ttext-overflow: ellipsis;\n\t\t\t\t}\n\n\t\t\t\t// subname\n\t\t\t\t.app-sidebar-header__subname {\n\t\t\t\t\tpadding: 0;\n\t\t\t\t\topacity: $opacity_normal;\n\t\t\t\t\tfont-size: var(--default-font-size);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t// sidebar description slot\n\t\t&__description {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tmargin: 0 10px;\n\t\t}\n\t}\n}\n\n// Make the sidebar full-width on small screens\n@media only screen and (max-width: 768px) {\n\t.app-sidebar {\n\t\twidth: 100vw;\n\t\tmax-width: 100vw;\n\t}\n}\n\n.slide-right-leave-active,\n.slide-right-enter-active {\n\ttransition-duration: var(--animation-quick);\n\ttransition-property: max-width, min-width;\n}\n\n.slide-right-enter-to,\n.slide-right-leave {\n\tmin-width: $sidebar-min-width;\n\tmax-width: $sidebar-max-width;\n}\n\n.slide-right-enter,\n.slide-right-leave-to {\n\tmin-width: 0 !important;\n\tmax-width: 0 !important;\n}\n</style>\n\n<style lang=\"scss\">\n// ! slots specific designs, cannot be scoped\n// if any button inside the description slot, increase visual padding\n.app-sidebar-header__description {\n\tbutton, .button,\n\tinput[type='button'],\n\tinput[type='submit'],\n\tinput[type='reset'] {\n\t\tpadding: 6px 22px;\n\t}\n}\n\n</style>\n"],"names":["_sfc_main$1","Components_NcCheckboxRadioSwitch","Components_NcVNodes","tab","active","id","a","b","tabIndex","_sfc_main","Components_NcActions","NcAppSidebarTabs","ArrowRight__default","Components_NcButton","Components_NcLoadingIcon","Components_NcEmptyContent","Close__default","Star__default","StarOutline__default","Directives_Focus","Directives_Linkify","components","floatingVue","l10n","element","e","event","activeTab"],"mappings":"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"}