@conduction/nextcloud-vue 2.59.0 → 2.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (254) hide show
  1. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue2.js +14 -1
  2. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue2.js.map +1 -1
  3. package/dist/esm/components/CnActionsMenu/CnActionsMenu.vue3.js.map +1 -1
  4. package/dist/esm/components/CnAppNav/CnAppNav.vue2.js +80 -1
  5. package/dist/esm/components/CnAppNav/CnAppNav.vue2.js.map +1 -1
  6. package/dist/esm/components/CnAppNav/CnAppNav.vue3.js +46 -4
  7. package/dist/esm/components/CnAppNav/CnAppNav.vue3.js.map +1 -1
  8. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue2.js +232 -10
  9. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue2.js.map +1 -1
  10. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue3.js +79 -25
  11. package/dist/esm/components/CnBannerWidget/CnBannerWidget.vue3.js.map +1 -1
  12. package/dist/esm/components/CnBannerWidgetForm/CnBannerWidgetForm.vue2.js +42 -3
  13. package/dist/esm/components/CnBannerWidgetForm/CnBannerWidgetForm.vue2.js.map +1 -1
  14. package/dist/esm/components/CnBannerWidgetForm/CnBannerWidgetForm.vue3.js +39 -6
  15. package/dist/esm/components/CnBannerWidgetForm/CnBannerWidgetForm.vue3.js.map +1 -1
  16. package/dist/esm/components/CnBoardView/CnBoardView.vue2.js +46 -0
  17. package/dist/esm/components/CnBoardView/CnBoardView.vue2.js.map +1 -1
  18. package/dist/esm/components/CnBoardView/CnBoardView.vue3.js +11 -4
  19. package/dist/esm/components/CnBoardView/CnBoardView.vue3.js.map +1 -1
  20. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue.js +10 -0
  21. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue.js.map +1 -0
  22. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue2.js +39 -0
  23. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue2.js.map +1 -0
  24. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue3.js +16 -0
  25. package/dist/esm/components/CnBrandStripe/CnBrandStripe.vue3.js.map +1 -0
  26. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js +117 -1
  27. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue2.js.map +1 -1
  28. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js +147 -89
  29. package/dist/esm/components/CnCellRenderer/CnCellRenderer.vue3.js.map +1 -1
  30. package/dist/esm/components/CnConversationThread/CnConversationThread.vue.js +10 -0
  31. package/dist/esm/components/CnConversationThread/CnConversationThread.vue.js.map +1 -0
  32. package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js +259 -0
  33. package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js.map +1 -0
  34. package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js +131 -0
  35. package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js.map +1 -0
  36. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue.js +10 -0
  37. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue.js.map +1 -0
  38. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js +116 -0
  39. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js.map +1 -0
  40. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js +24 -0
  41. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js.map +1 -0
  42. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +10 -2
  43. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  44. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  45. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js +503 -28
  46. package/dist/esm/components/CnDetailPage/CnDetailPage.vue2.js.map +1 -1
  47. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js +303 -144
  48. package/dist/esm/components/CnDetailPage/CnDetailPage.vue3.js.map +1 -1
  49. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue.js +10 -0
  50. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue.js.map +1 -0
  51. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue2.js +237 -0
  52. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue2.js.map +1 -0
  53. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue3.js +120 -0
  54. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewList.vue3.js.map +1 -0
  55. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue.js +10 -0
  56. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue.js.map +1 -0
  57. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue2.js +77 -0
  58. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue2.js.map +1 -0
  59. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue3.js +27 -0
  60. package/dist/esm/components/CnDocumentReviewList/CnDocumentReviewWidget.vue3.js.map +1 -0
  61. package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue2.js +171 -12
  62. package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue2.js.map +1 -1
  63. package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue3.js +15 -7
  64. package/dist/esm/components/CnHeaderWidget/CnHeaderWidget.vue3.js.map +1 -1
  65. package/dist/esm/components/CnHeaderWidgetForm/CnHeaderWidgetForm.vue2.js +37 -3
  66. package/dist/esm/components/CnHeaderWidgetForm/CnHeaderWidgetForm.vue2.js.map +1 -1
  67. package/dist/esm/components/CnHeaderWidgetForm/CnHeaderWidgetForm.vue3.js +44 -16
  68. package/dist/esm/components/CnHeaderWidgetForm/CnHeaderWidgetForm.vue3.js.map +1 -1
  69. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +132 -3
  70. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  71. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +6 -3
  72. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  73. package/dist/esm/components/CnLinkCardsPage/CnLinkCardsPage.vue.js +10 -0
  74. package/dist/esm/components/CnLinkCardsPage/CnLinkCardsPage.vue.js.map +1 -0
  75. package/dist/esm/components/CnLinkCardsPage/CnLinkCardsPage.vue2.js +316 -0
  76. package/dist/esm/components/CnLinkCardsPage/CnLinkCardsPage.vue2.js.map +1 -0
  77. package/dist/esm/components/CnLinkCardsPage/CnLinkCardsPage.vue3.js +105 -0
  78. package/dist/esm/components/CnLinkCardsPage/CnLinkCardsPage.vue3.js.map +1 -0
  79. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue.js +10 -0
  80. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue.js.map +1 -0
  81. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue2.js +150 -0
  82. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue2.js.map +1 -0
  83. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue3.js +106 -0
  84. package/dist/esm/components/CnNextStepCard/CnNextStepCard.vue3.js.map +1 -0
  85. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue.js +9 -0
  86. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue.js.map +1 -0
  87. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue2.js +47 -0
  88. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue2.js.map +1 -0
  89. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue3.js +17 -0
  90. package/dist/esm/components/CnNextStepCard/CnNextStepWidget.vue3.js.map +1 -0
  91. package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue2.js +49 -0
  92. package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue2.js.map +1 -1
  93. package/dist/esm/components/CnObjectDataWidget/CnObjectDataWidget.vue3.js.map +1 -1
  94. package/dist/esm/components/CnObjectDataWidgetForm/CnObjectDataWidgetForm.vue2.js +6 -0
  95. package/dist/esm/components/CnObjectDataWidgetForm/CnObjectDataWidgetForm.vue2.js.map +1 -1
  96. package/dist/esm/components/CnObjectDataWidgetForm/CnObjectDataWidgetForm.vue3.js.map +1 -1
  97. package/dist/esm/components/CnObjectKanban/CnObjectKanban.vue2.js +46 -0
  98. package/dist/esm/components/CnObjectKanban/CnObjectKanban.vue2.js.map +1 -1
  99. package/dist/esm/components/CnObjectKanban/CnObjectKanban.vue3.js +15 -3
  100. package/dist/esm/components/CnObjectKanban/CnObjectKanban.vue3.js.map +1 -1
  101. package/dist/esm/components/CnPageRenderer/pageTypes.js +1 -0
  102. package/dist/esm/components/CnPageRenderer/pageTypes.js.map +1 -1
  103. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js +37 -1
  104. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js.map +1 -1
  105. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js +29 -13
  106. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js.map +1 -1
  107. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue2.js +50 -3
  108. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue2.js.map +1 -1
  109. package/dist/esm/components/CnSavedViewsControl/CnSavedViewsControl.vue3.js.map +1 -1
  110. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue.js +10 -0
  111. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue.js.map +1 -0
  112. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue2.js +186 -0
  113. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue2.js.map +1 -0
  114. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue3.js +46 -0
  115. package/dist/esm/components/CnSegmentedControl/CnSegmentedControl.vue3.js.map +1 -0
  116. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue.js +11 -0
  117. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue.js.map +1 -0
  118. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue2.js +298 -0
  119. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue2.js.map +1 -0
  120. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue3.js +77 -0
  121. package/dist/esm/components/CnStackedBarWidget/CnStackedBarWidget.vue3.js.map +1 -0
  122. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue.js +10 -0
  123. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue.js.map +1 -0
  124. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue2.js +169 -0
  125. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue2.js.map +1 -0
  126. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue3.js +48 -0
  127. package/dist/esm/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue3.js.map +1 -0
  128. package/dist/esm/components/CnTabs/CnTab.vue2.js +35 -0
  129. package/dist/esm/components/CnTabs/CnTab.vue2.js.map +1 -1
  130. package/dist/esm/components/CnTabs/CnTab.vue3.js.map +1 -1
  131. package/dist/esm/components/CnTabs/CnTabs.vue2.js +120 -7
  132. package/dist/esm/components/CnTabs/CnTabs.vue2.js.map +1 -1
  133. package/dist/esm/components/CnTabs/CnTabs.vue3.js +57 -5
  134. package/dist/esm/components/CnTabs/CnTabs.vue3.js.map +1 -1
  135. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +59 -4
  136. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  137. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js +6 -2
  138. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  139. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue.js +10 -0
  140. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue.js.map +1 -0
  141. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue2.js +484 -0
  142. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue2.js.map +1 -0
  143. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue3.js +115 -0
  144. package/dist/esm/components/CnWeekStripWidget/CnWeekStripWidget.vue3.js.map +1 -0
  145. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue.js +10 -0
  146. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue.js.map +1 -0
  147. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue2.js +189 -0
  148. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue2.js.map +1 -0
  149. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue3.js +74 -0
  150. package/dist/esm/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue3.js.map +1 -0
  151. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js +82 -8
  152. package/dist/esm/components/CnWidgetGrid/registerDashboardWidgets.js.map +1 -1
  153. package/dist/esm/index.js +16 -0
  154. package/dist/esm/index.js.map +1 -1
  155. package/dist/esm/l10n/en.json.js +55 -1
  156. package/dist/esm/l10n/en.json.js.map +1 -1
  157. package/dist/esm/l10n/nl.json.js +55 -1
  158. package/dist/esm/l10n/nl.json.js.map +1 -1
  159. package/dist/esm/nextcloud-vue.css +1036 -19
  160. package/dist/esm/utils/dateVariant.js +124 -0
  161. package/dist/esm/utils/dateVariant.js.map +1 -0
  162. package/dist/esm/utils/detailActionModel.js +260 -0
  163. package/dist/esm/utils/detailActionModel.js.map +1 -0
  164. package/dist/esm/utils/dueRule.js +84 -0
  165. package/dist/esm/utils/dueRule.js.map +1 -0
  166. package/dist/esm/utils/fetchAggregate.js +37 -1
  167. package/dist/esm/utils/fetchAggregate.js.map +1 -1
  168. package/dist/esm/utils/fetchFilterCounts.js +186 -0
  169. package/dist/esm/utils/fetchFilterCounts.js.map +1 -0
  170. package/dist/esm/utils/headers.js +28 -2
  171. package/dist/esm/utils/headers.js.map +1 -1
  172. package/dist/esm/utils/libraryWidgetKeys.js +5 -0
  173. package/dist/esm/utils/libraryWidgetKeys.js.map +1 -1
  174. package/dist/esm/utils/readPath.js +30 -0
  175. package/dist/esm/utils/readPath.js.map +1 -0
  176. package/dist/esm/utils/validateManifestV2.compiled.js +2 -2
  177. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  178. package/dist/nextcloud-vue.cjs.js +16019 -9528
  179. package/dist/nextcloud-vue.cjs.js.map +2 -2
  180. package/dist/nextcloud-vue.css +1036 -19
  181. package/l10n/en.json +55 -1
  182. package/l10n/nl.json +55 -1
  183. package/package.json +1 -1
  184. package/scripts/.jsdoc-baselines.json +4 -0
  185. package/src/components/CnActionsMenu/CnActionsMenu.vue +14 -1
  186. package/src/components/CnAppNav/CnAppNav.md +26 -0
  187. package/src/components/CnAppNav/CnAppNav.vue +145 -2
  188. package/src/components/CnBannerWidget/CnBannerWidget.vue +373 -11
  189. package/src/components/CnBannerWidgetForm/CnBannerWidgetForm.vue +65 -3
  190. package/src/components/CnBoardView/CnBoardView.vue +77 -0
  191. package/src/components/CnBrandStripe/CnBrandStripe.md +22 -0
  192. package/src/components/CnBrandStripe/CnBrandStripe.vue +100 -0
  193. package/src/components/CnBrandStripe/index.js +4 -0
  194. package/src/components/CnCellRenderer/CnCellRenderer.vue +207 -1
  195. package/src/components/CnConversationThread/CnConversationThread.md +51 -0
  196. package/src/components/CnConversationThread/CnConversationThread.vue +457 -0
  197. package/src/components/CnConversationThread/CnConversationWidget.vue +144 -0
  198. package/src/components/CnConversationThread/index.js +4 -0
  199. package/src/components/CnDashboardPage/CnDashboardPage.vue +10 -2
  200. package/src/components/CnDetailPage/CnDetailPage.md +16 -0
  201. package/src/components/CnDetailPage/CnDetailPage.vue +687 -49
  202. package/src/components/CnDocumentReviewList/CnDocumentReviewList.md +55 -0
  203. package/src/components/CnDocumentReviewList/CnDocumentReviewList.vue +384 -0
  204. package/src/components/CnDocumentReviewList/CnDocumentReviewWidget.vue +108 -0
  205. package/src/components/CnDocumentReviewList/index.js +4 -0
  206. package/src/components/CnHeaderWidget/CnHeaderWidget.vue +191 -14
  207. package/src/components/CnHeaderWidgetForm/CnHeaderWidgetForm.vue +53 -3
  208. package/src/components/CnIndexPage/CnIndexPage.vue +135 -3
  209. package/src/components/CnLinkCardsPage/CnLinkCardsPage.vue +484 -0
  210. package/src/components/CnLinkCardsPage/index.js +4 -0
  211. package/src/components/CnNextStepCard/CnNextStepCard.md +40 -0
  212. package/src/components/CnNextStepCard/CnNextStepCard.vue +319 -0
  213. package/src/components/CnNextStepCard/CnNextStepWidget.vue +59 -0
  214. package/src/components/CnNextStepCard/index.js +4 -0
  215. package/src/components/CnObjectDataWidget/CnObjectDataWidget.vue +49 -0
  216. package/src/components/CnObjectDataWidgetForm/CnObjectDataWidgetForm.vue +6 -0
  217. package/src/components/CnObjectKanban/CnObjectKanban.vue +86 -2
  218. package/src/components/CnPageRenderer/pageTypes.js +1 -0
  219. package/src/components/CnQuickFilterBar/CnQuickFilterBar.md +3 -0
  220. package/src/components/CnQuickFilterBar/CnQuickFilterBar.vue +60 -1
  221. package/src/components/CnSavedViewsControl/CnSavedViewsControl.vue +50 -3
  222. package/src/components/CnSegmentedControl/CnSegmentedControl.md +46 -0
  223. package/src/components/CnSegmentedControl/CnSegmentedControl.vue +291 -0
  224. package/src/components/CnSegmentedControl/index.js +4 -0
  225. package/src/components/CnStackedBarWidget/CnStackedBarWidget.md +15 -0
  226. package/src/components/CnStackedBarWidget/CnStackedBarWidget.vue +414 -0
  227. package/src/components/CnStackedBarWidget/index.js +14 -0
  228. package/src/components/CnStackedBarWidgetForm/CnStackedBarWidgetForm.vue +224 -0
  229. package/src/components/CnStackedBarWidgetForm/index.js +4 -0
  230. package/src/components/CnTabs/CnTab.vue +35 -0
  231. package/src/components/CnTabs/CnTabs.vue +244 -10
  232. package/src/components/CnTabsWidget/CnTabsWidget.vue +63 -4
  233. package/src/components/CnWeekStripWidget/CnWeekStripWidget.md +31 -0
  234. package/src/components/CnWeekStripWidget/CnWeekStripWidget.vue +668 -0
  235. package/src/components/CnWeekStripWidget/index.js +14 -0
  236. package/src/components/CnWeekStripWidgetForm/CnWeekStripWidgetForm.vue +265 -0
  237. package/src/components/CnWeekStripWidgetForm/index.js +4 -0
  238. package/src/components/CnWidgetGrid/registerDashboardWidgets.js +74 -0
  239. package/src/components/index.js +12 -0
  240. package/src/css/detail-page.css +57 -2
  241. package/src/index.js +16 -0
  242. package/src/schemas/app-manifest-v2.schema.json +433 -3
  243. package/src/schemas/app-manifest.schema.json +2 -1
  244. package/src/types/manifest.d.ts +1 -1
  245. package/src/utils/dateVariant.js +120 -0
  246. package/src/utils/detailActionModel.js +256 -0
  247. package/src/utils/dueRule.js +94 -0
  248. package/src/utils/fetchAggregate.js +36 -0
  249. package/src/utils/fetchFilterCounts.js +182 -0
  250. package/src/utils/headers.js +28 -2
  251. package/src/utils/index.js +1 -0
  252. package/src/utils/libraryWidgetKeys.js +5 -0
  253. package/src/utils/readPath.js +27 -0
  254. package/src/utils/validateManifestV2.compiled.js +2 -2
@@ -2660,9 +2660,17 @@
2660
2660
  font-weight: 700;
2661
2661
  line-height: 1.3;
2662
2662
  color: var(--color-main-text);
2663
- white-space: nowrap;
2663
+ /* Two lines, then an ellipsis. One line cut a long case title short on a
2664
+ page with room to spare, and the title is the one thing that says which
2665
+ record this is. The element carries the full text as its `title`, so a
2666
+ title cut after two lines is still reachable. `overflow-wrap` breaks a
2667
+ word longer than the line, which nowrap used to hide. */
2668
+ display: -webkit-box;
2669
+ -webkit-box-orient: vertical;
2670
+ -webkit-line-clamp: 2;
2671
+ line-clamp: 2;
2664
2672
  overflow: hidden;
2665
- text-overflow: ellipsis;
2673
+ overflow-wrap: anywhere;
2666
2674
  }
2667
2675
 
2668
2676
  .cn-detail-page__subtitle {
@@ -2929,6 +2937,53 @@
2929
2937
  }
2930
2938
  }
2931
2939
 
2940
+ /* The action model and case surfaces (detail-action-model-and-case-surfaces) */
2941
+
2942
+ /* Type and status pills above the title. */
2943
+ .cn-detail-page__pills {
2944
+ align-items: center;
2945
+ display: flex;
2946
+ flex-wrap: wrap;
2947
+ gap: calc(2 * var(--default-grid-baseline));
2948
+ margin-bottom: calc(1.5 * var(--default-grid-baseline));
2949
+ }
2950
+
2951
+ .cn-detail-page__next-step {
2952
+ margin-bottom: calc(5 * var(--default-grid-baseline));
2953
+ }
2954
+
2955
+ /* Side column. The page becomes a wrapping flex row in which every child
2956
+ takes a full line, except the body and the side column: those two share a
2957
+ line while there is room for both (520px + 300px) and the column drops
2958
+ under the body when there is not. No breakpoint, so it also holds inside a
2959
+ split pane or beside an open sidebar, where the viewport says nothing about
2960
+ the room the page has. Pages without a side column never get this class. */
2961
+ .cn-detail-page--with-side {
2962
+ align-items: flex-start;
2963
+ column-gap: calc(5 * var(--default-grid-baseline));
2964
+ display: flex;
2965
+ flex-wrap: wrap;
2966
+ }
2967
+
2968
+ .cn-detail-page--with-side > * {
2969
+ flex: 1 1 100%;
2970
+ min-width: 0;
2971
+ }
2972
+
2973
+ .cn-detail-page--with-side > .cn-detail-page__body {
2974
+ flex: 999 1 520px;
2975
+ }
2976
+
2977
+ .cn-detail-page--with-side > .cn-detail-page__side {
2978
+ flex: 1 1 300px;
2979
+ }
2980
+
2981
+ .cn-detail-page__side {
2982
+ display: flex;
2983
+ flex-direction: column;
2984
+ gap: calc(5 * var(--default-grid-baseline));
2985
+ }
2986
+
2932
2987
  /* The record as a place (case-page-and-list-as-a-place) */
2933
2988
 
2934
2989
  /* A skip link that reaches the page's declared primary action. Off screen
@@ -4763,6 +4818,113 @@
4763
4818
  }
4764
4819
 
4765
4820
 
4821
+ .cn-conversation-thread[data-v-22b6724f] {
4822
+ display: flex;
4823
+ flex-direction: column;
4824
+ gap: calc(3.5 * var(--default-grid-baseline));
4825
+ }
4826
+ .cn-conversation-thread__title[data-v-22b6724f] {
4827
+ font-size: 1.1em;
4828
+ font-weight: 700;
4829
+ margin: 0;
4830
+ }
4831
+ .cn-conversation-thread__empty[data-v-22b6724f] {
4832
+ color: var(--color-text-maxcontrast);
4833
+ margin: 0;
4834
+ }
4835
+ .cn-conversation-thread__messages[data-v-22b6724f] {
4836
+ display: flex;
4837
+ flex-direction: column;
4838
+ gap: calc(3.5 * var(--default-grid-baseline));
4839
+ list-style: none;
4840
+ margin: 0;
4841
+ padding: 0;
4842
+ }
4843
+ .cn-conversation-thread__message[data-v-22b6724f] {
4844
+ display: flex;
4845
+ gap: calc(3 * var(--default-grid-baseline));
4846
+ }
4847
+ .cn-conversation-thread__message--us[data-v-22b6724f] {
4848
+ flex-direction: row-reverse;
4849
+ }
4850
+ .cn-conversation-thread__avatar[data-v-22b6724f] {
4851
+ align-items: center;
4852
+ background: var(--color-background-dark);
4853
+ border-radius: 50%;
4854
+ color: var(--color-main-text);
4855
+ display: flex;
4856
+ flex: none;
4857
+ font-size: 0.8em;
4858
+ font-weight: 700;
4859
+ height: 34px;
4860
+ justify-content: center;
4861
+ width: 34px;
4862
+ }
4863
+ .cn-conversation-thread__bubble[data-v-22b6724f] {
4864
+ background: var(--color-background-hover);
4865
+ border-radius: var(--border-radius-large);
4866
+ border-start-start-radius: var(--border-radius-small, 4px);
4867
+ color: var(--color-main-text);
4868
+ display: flex;
4869
+ flex: 1;
4870
+ flex-direction: column;
4871
+ gap: var(--default-grid-baseline);
4872
+ min-width: 0;
4873
+ padding: calc(3 * var(--default-grid-baseline)) calc(3.5 * var(--default-grid-baseline));
4874
+ }
4875
+ .cn-conversation-thread__message--us .cn-conversation-thread__bubble[data-v-22b6724f] {
4876
+ background: var(--color-primary-element-light);
4877
+ border-start-end-radius: var(--border-radius-small, 4px);
4878
+ border-start-start-radius: var(--border-radius-large);
4879
+ color: var(--color-primary-element-light-text);
4880
+ }
4881
+ .cn-conversation-thread__meta[data-v-22b6724f] {
4882
+ display: flex;
4883
+ flex-wrap: wrap;
4884
+ font-size: 0.9em;
4885
+ gap: calc(2 * var(--default-grid-baseline));
4886
+ }
4887
+ .cn-conversation-thread__author[data-v-22b6724f] {
4888
+ font-weight: 600;
4889
+ }
4890
+ .cn-conversation-thread__text[data-v-22b6724f] {
4891
+ overflow-wrap: anywhere;
4892
+ white-space: pre-wrap;
4893
+ }
4894
+ .cn-conversation-thread__reply[data-v-22b6724f] {
4895
+ display: flex;
4896
+ flex-direction: column;
4897
+ gap: calc(2 * var(--default-grid-baseline));
4898
+ }
4899
+ .cn-conversation-thread__reply-label[data-v-22b6724f] {
4900
+ font-weight: 600;
4901
+ }
4902
+ .cn-conversation-thread__input[data-v-22b6724f] {
4903
+ box-sizing: border-box;
4904
+ margin: 0;
4905
+ resize: vertical;
4906
+ width: 100%;
4907
+ }
4908
+ .cn-conversation-thread__error[data-v-22b6724f] {
4909
+ color: var(--color-error-text, var(--color-error));
4910
+ margin: 0;
4911
+ }
4912
+ .cn-conversation-thread__reply-actions[data-v-22b6724f] {
4913
+ display: flex;
4914
+ flex-wrap: wrap;
4915
+ gap: calc(2.5 * var(--default-grid-baseline));
4916
+ justify-content: flex-end;
4917
+ }
4918
+
4919
+
4920
+ .cn-case-widget-card[data-v-57081189] {
4921
+ background: var(--color-main-background);
4922
+ border: 1px solid var(--color-border);
4923
+ border-radius: var(--border-radius-large);
4924
+ padding: calc(5 * var(--default-grid-baseline));
4925
+ }
4926
+
4927
+
4766
4928
  /* Match vue-material-design-icons: inline path icons inherit text colour. */
4767
4929
  .cn-widget-icon__path[data-v-6082e422] {
4768
4930
  fill: currentColor;
@@ -4792,6 +4954,79 @@
4792
4954
  margin: 0;
4793
4955
  }
4794
4956
 
4957
+
4958
+ .cn-document-review-list[data-v-9a0e5e62] {
4959
+ display: flex;
4960
+ flex-direction: column;
4961
+ gap: calc(1.5 * var(--default-grid-baseline));
4962
+ }
4963
+ .cn-document-review-list__header[data-v-9a0e5e62] {
4964
+ align-items: center;
4965
+ display: flex;
4966
+ flex-wrap: wrap;
4967
+ gap: calc(2 * var(--default-grid-baseline));
4968
+ justify-content: space-between;
4969
+ margin-bottom: calc(2 * var(--default-grid-baseline));
4970
+ }
4971
+ .cn-document-review-list__title[data-v-9a0e5e62] {
4972
+ font-size: 1.1em;
4973
+ font-weight: 700;
4974
+ margin: 0;
4975
+ }
4976
+ .cn-document-review-list__summary[data-v-9a0e5e62],
4977
+ .cn-document-review-list__meta[data-v-9a0e5e62],
4978
+ .cn-document-review-list__empty[data-v-9a0e5e62] {
4979
+ color: var(--color-text-maxcontrast);
4980
+ }
4981
+ .cn-document-review-list__empty[data-v-9a0e5e62] {
4982
+ margin: 0;
4983
+ }
4984
+ .cn-document-review-list__rows[data-v-9a0e5e62] {
4985
+ list-style: none;
4986
+ margin: 0;
4987
+ padding: 0;
4988
+ }
4989
+ .cn-document-review-list__row[data-v-9a0e5e62] {
4990
+ align-items: center;
4991
+ border-top: 1px solid var(--color-border);
4992
+ display: flex;
4993
+ flex-wrap: wrap;
4994
+ gap: calc(3 * var(--default-grid-baseline));
4995
+ padding: calc(2.5 * var(--default-grid-baseline)) 0;
4996
+ }
4997
+ .cn-document-review-list__icon[data-v-9a0e5e62] {
4998
+ color: var(--color-text-maxcontrast);
4999
+ flex: none;
5000
+ }
5001
+ .cn-document-review-list__text[data-v-9a0e5e62] {
5002
+ display: flex;
5003
+ flex: 1 1 220px;
5004
+ flex-direction: column;
5005
+ min-width: 0;
5006
+ }
5007
+ .cn-document-review-list__name[data-v-9a0e5e62] {
5008
+ font-weight: 500;
5009
+ overflow-wrap: anywhere;
5010
+ }
5011
+ a.cn-document-review-list__name[data-v-9a0e5e62] {
5012
+ color: var(--color-primary-element);
5013
+ text-decoration: underline;
5014
+ }
5015
+ .cn-document-review-list__meta[data-v-9a0e5e62] {
5016
+ font-size: 0.9em;
5017
+ }
5018
+ .cn-document-review-list__status[data-v-9a0e5e62] {
5019
+ flex: none;
5020
+ }
5021
+
5022
+
5023
+ .cn-case-widget-card[data-v-22291596] {
5024
+ background: var(--color-main-background);
5025
+ border: 1px solid var(--color-border);
5026
+ border-radius: var(--border-radius-large);
5027
+ padding: calc(5 * var(--default-grid-baseline));
5028
+ }
5029
+
4795
5030
  /* required styles */
4796
5031
 
4797
5032
  .leaflet-pane,
@@ -5628,6 +5863,103 @@ svg.leaflet-image-layer.leaflet-interactive path {
5628
5863
  }
5629
5864
 
5630
5865
 
5866
+ .cn-next-step-card[data-v-3a9ce962] {
5867
+ align-items: center;
5868
+ background: var(--color-main-background);
5869
+ border: 1px solid var(--color-border);
5870
+ border-radius: var(--border-radius-large);
5871
+ /* The edge says "this is the thing to act on". An inset shadow, so it
5872
+ follows the card's rounded corners instead of squaring them off. */
5873
+ box-shadow: inset 4px 0 0 var(--color-primary-element);
5874
+ display: flex;
5875
+ flex-wrap: wrap;
5876
+ gap: calc(4 * var(--default-grid-baseline)) calc(8 * var(--default-grid-baseline));
5877
+ padding: calc(5 * var(--default-grid-baseline)) calc(6 * var(--default-grid-baseline));
5878
+ padding-inline-start: calc(7 * var(--default-grid-baseline));
5879
+ }
5880
+ .cn-next-step-card__main[data-v-3a9ce962] {
5881
+ display: flex;
5882
+ flex: 1 1 420px;
5883
+ flex-direction: column;
5884
+ gap: calc(2.5 * var(--default-grid-baseline));
5885
+ min-width: 0;
5886
+ }
5887
+ .cn-next-step-card__title[data-v-3a9ce962] {
5888
+ color: var(--color-main-text);
5889
+ font-size: 0.85em;
5890
+ font-weight: 700;
5891
+ letter-spacing: 0.06em;
5892
+ margin: 0;
5893
+ text-transform: uppercase;
5894
+ }
5895
+ .cn-next-step-card__list[data-v-3a9ce962] {
5896
+ display: grid;
5897
+ gap: calc(2 * var(--default-grid-baseline));
5898
+ list-style: none;
5899
+ margin: 0;
5900
+ padding: 0;
5901
+ }
5902
+ .cn-next-step-card__item[data-v-3a9ce962] {
5903
+ align-items: center;
5904
+ color: var(--color-text-maxcontrast);
5905
+ display: flex;
5906
+ flex-wrap: wrap;
5907
+ gap: calc(2.5 * var(--default-grid-baseline));
5908
+ }
5909
+ .cn-next-step-card__item--current[data-v-3a9ce962] {
5910
+ color: var(--color-main-text);
5911
+ }
5912
+ .cn-next-step-card__item--current .cn-next-step-card__label[data-v-3a9ce962] {
5913
+ font-weight: 700;
5914
+ }
5915
+ .cn-next-step-card__marker[data-v-3a9ce962] {
5916
+ align-items: center;
5917
+ border: 2px solid var(--color-border-maxcontrast);
5918
+ border-radius: 50%;
5919
+ box-sizing: border-box;
5920
+ display: inline-flex;
5921
+ flex: none;
5922
+ height: 20px;
5923
+ justify-content: center;
5924
+ width: 20px;
5925
+ }
5926
+ .cn-next-step-card__item--current .cn-next-step-card__marker[data-v-3a9ce962] {
5927
+ border-color: var(--color-primary-element);
5928
+ }
5929
+ .cn-next-step-card__item--done .cn-next-step-card__marker[data-v-3a9ce962] {
5930
+ background: var(--color-primary-element);
5931
+ border-color: var(--color-primary-element);
5932
+ color: var(--color-primary-element-text);
5933
+ }
5934
+ .cn-next-step-card__hint[data-v-3a9ce962] {
5935
+ color: var(--color-text-maxcontrast);
5936
+ font-weight: 400;
5937
+ }
5938
+
5939
+ /* Read, not seen. */
5940
+ .cn-next-step-card__state[data-v-3a9ce962] {
5941
+ border: 0;
5942
+ clip-path: inset(50%);
5943
+ height: 1px;
5944
+ margin: -1px;
5945
+ overflow: hidden;
5946
+ padding: 0;
5947
+ position: absolute;
5948
+ white-space: nowrap;
5949
+ width: 1px;
5950
+ }
5951
+ .cn-next-step-card__side[data-v-3a9ce962] {
5952
+ align-items: flex-start;
5953
+ display: flex;
5954
+ flex-direction: column;
5955
+ gap: calc(2 * var(--default-grid-baseline));
5956
+ }
5957
+ .cn-next-step-card__after[data-v-3a9ce962] {
5958
+ color: var(--color-text-maxcontrast);
5959
+ font-size: 0.9em;
5960
+ }
5961
+
5962
+
5631
5963
  .cn-fk-resolve-cell[data-v-471db666] {
5632
5964
  white-space: nowrap;
5633
5965
  overflow: hidden;
@@ -5649,6 +5981,52 @@ svg.leaflet-image-layer.leaflet-interactive path {
5649
5981
  .cn-cell-renderer__dash[data-v-37d7b88f] {
5650
5982
  color: var(--color-text-maxcontrast);
5651
5983
  }
5984
+ .cn-cell-renderer__avatar[data-v-37d7b88f] {
5985
+ display: inline-flex;
5986
+ align-items: center;
5987
+ gap: 8px;
5988
+ max-width: 100%;
5989
+ vertical-align: middle;
5990
+ }
5991
+ .cn-cell-renderer__avatar-picture[data-v-37d7b88f] {
5992
+ display: inline-flex;
5993
+ flex: none;
5994
+ }
5995
+ .cn-cell-renderer__avatar-initials[data-v-37d7b88f] {
5996
+ display: inline-flex;
5997
+ flex: none;
5998
+ align-items: center;
5999
+ justify-content: center;
6000
+ border-radius: 50%;
6001
+ background-color: var(--color-primary-element-light);
6002
+ color: var(--color-primary-element-light-text);
6003
+ font-size: 0.75em;
6004
+ font-weight: 700;
6005
+ line-height: 1;
6006
+ }
6007
+ .cn-cell-renderer__avatar-name[data-v-37d7b88f] {
6008
+ min-width: 0;
6009
+ overflow: hidden;
6010
+ text-overflow: ellipsis;
6011
+ white-space: nowrap;
6012
+ }
6013
+
6014
+ /* A date that matched a rule is also set in a heavier weight, so the signal
6015
+ does not rest on colour alone. */
6016
+ .cn-cell-renderer__date--success[data-v-37d7b88f],
6017
+ .cn-cell-renderer__date--warning[data-v-37d7b88f],
6018
+ .cn-cell-renderer__date--error[data-v-37d7b88f] {
6019
+ font-weight: 600;
6020
+ }
6021
+ .cn-cell-renderer__date--success[data-v-37d7b88f] {
6022
+ color: var(--color-text-success, var(--color-success-text));
6023
+ }
6024
+ .cn-cell-renderer__date--warning[data-v-37d7b88f] {
6025
+ color: var(--color-text-warning, var(--color-warning-text));
6026
+ }
6027
+ .cn-cell-renderer__date--error[data-v-37d7b88f] {
6028
+ color: var(--color-text-error, var(--color-error-text));
6029
+ }
5652
6030
  .cn-cell-renderer__icon--success[data-v-37d7b88f] {
5653
6031
  color: var(--color-success);
5654
6032
  }
@@ -15588,6 +15966,81 @@ a.cn-xwiki-card__title[data-v-54e85fe3]:hover {
15588
15966
  }
15589
15967
 
15590
15968
 
15969
+ .cn-stacked-bar[data-v-c0bac1a2] {
15970
+ display: flex;
15971
+ flex-direction: column;
15972
+ gap: 16px;
15973
+ width: 100%;
15974
+ }
15975
+ .cn-stacked-bar__state[data-v-c0bac1a2] {
15976
+ display: flex;
15977
+ align-items: center;
15978
+ gap: 8px;
15979
+ margin: 0;
15980
+ color: var(--color-text-maxcontrast);
15981
+ }
15982
+ .cn-stacked-bar__bar[data-v-c0bac1a2] {
15983
+ display: flex;
15984
+ gap: 3px;
15985
+ height: 12px;
15986
+ }
15987
+ .cn-stacked-bar__segment[data-v-c0bac1a2] {
15988
+ flex-basis: 0;
15989
+ min-width: 4px;
15990
+ border-radius: 6px;
15991
+ }
15992
+ .cn-stacked-bar__legend[data-v-c0bac1a2] {
15993
+ display: grid;
15994
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
15995
+ gap: 12px;
15996
+ margin: 0;
15997
+ padding: 0;
15998
+ list-style: none;
15999
+ }
16000
+ .cn-stacked-bar__legend-item[data-v-c0bac1a2] {
16001
+ display: flex;
16002
+ flex-direction: column;
16003
+ gap: 2px;
16004
+ min-width: 0;
16005
+ }
16006
+ .cn-stacked-bar__label[data-v-c0bac1a2] {
16007
+ display: flex;
16008
+ align-items: center;
16009
+ gap: 8px;
16010
+ font-size: 0.95em;
16011
+ color: var(--color-text-maxcontrast);
16012
+ overflow-wrap: anywhere;
16013
+ }
16014
+ .cn-stacked-bar__dot[data-v-c0bac1a2] {
16015
+ flex: none;
16016
+ width: 10px;
16017
+ height: 10px;
16018
+ border-radius: 3px;
16019
+ }
16020
+ .cn-stacked-bar__count[data-v-c0bac1a2] {
16021
+ font-size: 1.5em;
16022
+ font-weight: 700;
16023
+ line-height: 1.2;
16024
+ color: var(--color-main-text);
16025
+ }
16026
+
16027
+
16028
+ .cn-stacked-bar-form[data-v-56e6c6a2] {
16029
+ display: flex;
16030
+ flex-direction: column;
16031
+ gap: 12px;
16032
+ }
16033
+ .cn-stacked-bar-form__row2[data-v-56e6c6a2] {
16034
+ display: flex;
16035
+ gap: 12px;
16036
+ align-items: flex-end;
16037
+ }
16038
+ .cn-stacked-bar-form__row2[data-v-56e6c6a2] > * {
16039
+ flex: 1;
16040
+ min-width: 0;
16041
+ }
16042
+
16043
+
15591
16044
  .cn-transition-input[data-v-1529f8b6] {
15592
16045
  display: flex;
15593
16046
  flex-direction: column;
@@ -17060,6 +17513,100 @@ to { background-position: -200% 0;
17060
17513
  color: inherit;
17061
17514
  }
17062
17515
 
17516
+ /* Attention card. The severity edge is an inset shadow, so it takes no width. */
17517
+ .cn-banner-widget--attention[data-v-3531692f] {
17518
+ --cn-banner-accent: var(--color-primary-element);
17519
+ --cn-banner-accent-text: var(--color-primary-element);
17520
+ display: flex;
17521
+ flex-wrap: wrap;
17522
+ align-items: center;
17523
+ gap: 16px 24px;
17524
+ box-sizing: border-box;
17525
+ padding: 20px 24px 20px 28px;
17526
+ border: 1px solid var(--color-border);
17527
+ border-radius: var(--border-radius-container, var(--border-radius-large, 12px));
17528
+ background: var(--color-main-background);
17529
+ box-shadow: inset 4px 0 0 0 var(--cn-banner-accent);
17530
+ }
17531
+ .cn-banner-widget--attention.cn-banner-widget--warning[data-v-3531692f] {
17532
+ --cn-banner-accent: var(--color-element-warning, var(--color-warning));
17533
+ --cn-banner-accent-text: var(--color-text-warning, var(--color-warning-text, var(--color-main-text)));
17534
+ }
17535
+ .cn-banner-widget--attention.cn-banner-widget--error[data-v-3531692f] {
17536
+ --cn-banner-accent: var(--color-element-error, var(--color-error));
17537
+ --cn-banner-accent-text: var(--color-text-error, var(--color-error-text));
17538
+ }
17539
+ .cn-banner-widget--attention.cn-banner-widget--success[data-v-3531692f] {
17540
+ --cn-banner-accent: var(--color-element-success, var(--color-success));
17541
+ --cn-banner-accent-text: var(--color-text-success, var(--color-success-text));
17542
+ }
17543
+ .cn-banner-widget__body[data-v-3531692f] {
17544
+ display: flex;
17545
+ flex: 1 1 320px;
17546
+ flex-direction: column;
17547
+ gap: 6px;
17548
+ min-width: 0;
17549
+ }
17550
+ .cn-banner-widget__kicker[data-v-3531692f] {
17551
+ margin: 0;
17552
+ font-size: 0.85em;
17553
+ font-weight: 700;
17554
+ letter-spacing: 0.06em;
17555
+ text-transform: uppercase;
17556
+ color: var(--cn-banner-accent-text);
17557
+ }
17558
+ .cn-banner-widget__title[data-v-3531692f] {
17559
+ margin: 0;
17560
+ font-size: 1.3em;
17561
+ font-weight: 700;
17562
+ line-height: 1.3;
17563
+ color: var(--color-main-text);
17564
+ }
17565
+ .cn-banner-widget__reason[data-v-3531692f] {
17566
+ margin: 0;
17567
+ color: var(--color-text-maxcontrast);
17568
+ }
17569
+ .cn-banner-widget__actions[data-v-3531692f] {
17570
+ display: flex;
17571
+ flex-wrap: wrap;
17572
+ gap: 10px;
17573
+ }
17574
+ .cn-banner-widget__action[data-v-3531692f] {
17575
+ display: inline-flex;
17576
+ align-items: center;
17577
+ justify-content: center;
17578
+ box-sizing: border-box;
17579
+ min-height: var(--default-clickable-area, 40px);
17580
+ margin: 0;
17581
+ padding: 0 16px;
17582
+ border: 1px solid var(--color-border-maxcontrast);
17583
+ border-radius: var(--border-radius-element, var(--border-radius-large, 8px));
17584
+ font: inherit;
17585
+ font-weight: 600;
17586
+ text-decoration: none;
17587
+ cursor: pointer;
17588
+ }
17589
+ .cn-banner-widget__action--secondary[data-v-3531692f] {
17590
+ background: var(--color-main-background);
17591
+ color: var(--color-main-text);
17592
+ }
17593
+ .cn-banner-widget__action--secondary[data-v-3531692f]:hover {
17594
+ background: var(--color-background-hover);
17595
+ }
17596
+ .cn-banner-widget__action--primary[data-v-3531692f] {
17597
+ border-color: var(--color-primary-element);
17598
+ background: var(--color-primary-element);
17599
+ color: var(--color-primary-element-text);
17600
+ }
17601
+ .cn-banner-widget__action--primary[data-v-3531692f]:hover {
17602
+ border-color: var(--color-primary-element-hover);
17603
+ background: var(--color-primary-element-hover);
17604
+ }
17605
+ .cn-banner-widget__action[data-v-3531692f]:focus-visible {
17606
+ outline: 2px solid var(--color-main-text);
17607
+ outline-offset: 2px;
17608
+ }
17609
+
17063
17610
 
17064
17611
  .cn-divider-widget[data-v-621c1f75] {
17065
17612
  width: 100%;
@@ -17112,6 +17659,15 @@ to { background-position: -200% 0;
17112
17659
  border-radius: var(--border-radius-large, 8px);
17113
17660
  overflow: hidden;
17114
17661
  }
17662
+ .cn-header-widget--plain[data-v-1b97430f] {
17663
+ min-height: 0;
17664
+ border-radius: 0;
17665
+ }
17666
+ .cn-header-widget__date[data-v-1b97430f] {
17667
+ font-size: 14px;
17668
+ line-height: 1.4;
17669
+ margin: 0;
17670
+ }
17115
17671
  .cn-header-widget__overlay[data-v-1b97430f] {
17116
17672
  position: absolute;
17117
17673
  inset: 0;
@@ -17798,6 +18354,33 @@ to { background-position: -200% 0;
17798
18354
  .cn-tabs__scroll--end[data-v-5c1a056f] {
17799
18355
  inset-inline-end: 0;
17800
18356
  }
18357
+
18358
+ /* The count behind a tab's title. Full-contrast text on the page background,
18359
+ so it reads on the idle tab's darker fill and on the open tab alike. */
18360
+ .cn-tabs__count[data-v-5c1a056f] {
18361
+ background-color: var(--color-main-background);
18362
+ border: 1px solid var(--color-border-dark);
18363
+ border-radius: var(--border-radius-pill, 100px);
18364
+ color: var(--color-main-text);
18365
+ display: inline-block;
18366
+ font-size: 0.85em;
18367
+ line-height: 1.4;
18368
+ margin-inline-start: 6px;
18369
+ min-width: 1.4em;
18370
+ padding: 0 6px;
18371
+ text-align: center;
18372
+ }
18373
+ .cn-tabs__more[data-v-5c1a056f] {
18374
+ align-items: center;
18375
+ display: flex;
18376
+ flex: 0 0 auto;
18377
+ }
18378
+
18379
+ /* Keeps a "More" entry's text on the menu's text column without drawing an icon. */
18380
+ .cn-tabs__more-spacer[data-v-5c1a056f] {
18381
+ display: inline-block;
18382
+ width: 20px;
18383
+ }
17801
18384
  .cn-tabs__nav-end[data-v-5c1a056f] {
17802
18385
  align-items: center;
17803
18386
  display: flex;
@@ -17904,6 +18487,42 @@ to { background-position: -200% 0;
17904
18487
  padding: 12px;
17905
18488
  }
17906
18489
 
18490
+ /* Segmented variant: the strip is a pill switch that stands on its own, so
18491
+ the bar's rule and the tab-joins-panel treatment are both dropped. */
18492
+ .cn-tabs--segmented .cn-tabs__bar[data-v-5c1a056f] {
18493
+ border-bottom: none;
18494
+ }
18495
+ .cn-tabs--segmented .cn-tabs__strip[data-v-5c1a056f] {
18496
+ flex: 0 1 auto;
18497
+ }
18498
+ .cn-tabs--segmented .cn-tabs__nav[data-v-5c1a056f] {
18499
+ gap: 4px;
18500
+ margin-bottom: 0;
18501
+ padding: 4px;
18502
+ border-radius: var(--border-radius-container, var(--border-radius-large, 10px));
18503
+ background-color: var(--color-background-dark);
18504
+ }
18505
+ .cn-tabs--segmented .cn-tabs__nav-item[data-v-5c1a056f] {
18506
+ border: 1px solid transparent;
18507
+ border-radius: var(--border-radius-element, var(--border-radius-large, 8px));
18508
+ background-color: transparent;
18509
+ font-weight: 600;
18510
+ padding: 6px 16px;
18511
+ }
18512
+ .cn-tabs--segmented .cn-tabs__nav-item[data-v-5c1a056f]:hover {
18513
+ background-color: var(--color-background-hover);
18514
+ }
18515
+
18516
+ /* The open segment is the raised one. Its border survives forced-colours
18517
+ mode, which drops the background and the shadow. */
18518
+ .cn-tabs--segmented .cn-tabs__nav-item--active[data-v-5c1a056f] {
18519
+ border: 1px solid var(--color-border-dark);
18520
+ background-color: var(--color-main-background);
18521
+ box-shadow: 0 1px 2px var(--color-box-shadow);
18522
+ font-weight: 600;
18523
+ padding-top: 6px;
18524
+ }
18525
+
17907
18526
 
17908
18527
  /* The panel is the card; the strip is not inside it. There is no title bar
17909
18528
  above the tabs either: the open tab names the panel, so a title row would
@@ -18018,35 +18637,164 @@ to { background-position: -200% 0;
18018
18637
  overflow: auto;
18019
18638
  padding: 12px;
18020
18639
  }
18021
- .cn-tabs-widget__tabs[data-v-1dbd6122] .cn-tab {
18022
- height: 100%;
18640
+ .cn-tabs-widget__tabs[data-v-1dbd6122] .cn-tab {
18641
+ height: 100%;
18642
+ }
18643
+ .cn-tabs-widget__title[data-v-1dbd6122] {
18644
+ align-items: center;
18645
+ display: inline-flex;
18646
+ gap: 6px;
18647
+ }
18648
+ .cn-tabs-widget__title-icon[data-v-1dbd6122] {
18649
+ flex: 0 0 auto;
18650
+ }
18651
+
18652
+
18653
+ .cn-tabs-form[data-v-15940aef] {
18654
+ display: flex;
18655
+ flex-direction: column;
18656
+ gap: 8px;
18657
+ }
18658
+ .cn-tabs-form__section[data-v-15940aef] {
18659
+ margin: 8px 0 0;
18660
+ }
18661
+ .cn-tabs-form__hint[data-v-15940aef] {
18662
+ color: var(--color-text-maxcontrast);
18663
+ font-size: 0.85em;
18664
+ margin: 0;
18665
+ }
18666
+ .cn-tabs-form__row[data-v-15940aef] {
18667
+ display: flex;
18668
+ gap: 8px;
18669
+ }
18670
+
18671
+
18672
+ .cn-week-strip[data-v-153dd4cb] {
18673
+ width: 100%;
18674
+ }
18675
+ .cn-week-strip__state[data-v-153dd4cb] {
18676
+ display: flex;
18677
+ align-items: center;
18678
+ gap: 8px;
18679
+ margin: 0;
18680
+ padding: 12px 4px;
18681
+ color: var(--color-text-maxcontrast);
18682
+ }
18683
+ .cn-week-strip__scroll[data-v-153dd4cb] {
18684
+ overflow-x: auto;
18685
+ border-radius: var(--border-radius-large, 8px);
18686
+ }
18687
+ .cn-week-strip__scroll[data-v-153dd4cb]:focus-visible {
18688
+ outline: 2px solid var(--color-primary-element);
18689
+ outline-offset: 2px;
18690
+ }
18691
+ .cn-week-strip__days[data-v-153dd4cb] {
18692
+ display: grid;
18693
+ grid-template-columns: repeat(var(--cn-week-strip-columns, 5), minmax(128px, 1fr));
18694
+ gap: 10px;
18695
+ /* 5 columns of 128px plus gaps: below this the region scrolls sideways. */
18696
+ min-width: calc(var(--cn-week-strip-columns, 5) * 136px);
18697
+ margin: 0;
18698
+ padding: 0;
18699
+ list-style: none;
18700
+ }
18701
+ .cn-week-strip__day[data-v-153dd4cb] {
18702
+ display: flex;
18703
+ flex-direction: column;
18704
+ gap: 8px;
18705
+ min-width: 0;
18706
+ padding: 10px;
18707
+ border: 1px solid var(--color-border);
18708
+ border-radius: var(--border-radius-large, 8px);
18709
+ background: var(--color-background-hover);
18710
+ }
18711
+ .cn-week-strip__day--today[data-v-153dd4cb] {
18712
+ border-color: var(--color-primary-element);
18713
+ background: var(--color-primary-element-light);
18023
18714
  }
18024
- .cn-tabs-widget__title[data-v-1dbd6122] {
18715
+ .cn-week-strip__head[data-v-153dd4cb] {
18716
+ display: flex;
18025
18717
  align-items: center;
18026
- display: inline-flex;
18718
+ justify-content: space-between;
18027
18719
  gap: 6px;
18720
+ font-size: 0.85em;
18721
+ font-weight: 600;
18722
+ color: var(--color-main-text);
18028
18723
  }
18029
- .cn-tabs-widget__title-icon[data-v-1dbd6122] {
18030
- flex: 0 0 auto;
18724
+ .cn-week-strip__today[data-v-153dd4cb] {
18725
+ padding: 1px 8px;
18726
+ border-radius: var(--border-radius-pill, 10px);
18727
+ background: var(--color-primary-element);
18728
+ color: var(--color-primary-element-text);
18729
+ font-size: 0.85em;
18730
+ font-weight: 700;
18031
18731
  }
18032
-
18033
-
18034
- .cn-tabs-form[data-v-15940aef] {
18732
+ .cn-week-strip__items[data-v-153dd4cb] {
18035
18733
  display: flex;
18036
18734
  flex-direction: column;
18037
- gap: 8px;
18735
+ gap: 6px;
18736
+ margin: 0;
18737
+ padding: 0;
18738
+ list-style: none;
18038
18739
  }
18039
- .cn-tabs-form__section[data-v-15940aef] {
18040
- margin: 8px 0 0;
18740
+ .cn-week-strip__item[data-v-153dd4cb] {
18741
+ display: flex;
18742
+ flex-direction: column;
18743
+ gap: 4px;
18744
+ padding: 10px 12px;
18745
+ border: 1px solid var(--color-border);
18746
+ border-radius: var(--border-radius-large, 8px);
18747
+ background: var(--color-main-background);
18748
+ color: var(--color-main-text);
18749
+ text-decoration: none;
18041
18750
  }
18042
- .cn-tabs-form__hint[data-v-15940aef] {
18043
- color: var(--color-text-maxcontrast);
18751
+ .cn-week-strip__item--link[data-v-153dd4cb]:hover {
18752
+ border-color: var(--color-primary-element);
18753
+ }
18754
+ .cn-week-strip__item--link[data-v-153dd4cb]:focus-visible {
18755
+ outline: 2px solid var(--color-primary-element);
18756
+ outline-offset: 2px;
18757
+ }
18758
+
18759
+ /* The edge is drawn inside the box, so a late item is as wide as the others. */
18760
+ .cn-week-strip__item--late[data-v-153dd4cb] {
18761
+ border-color: var(--color-element-error, var(--color-error));
18762
+ box-shadow: inset 3px 0 0 0 var(--color-element-error, var(--color-error));
18763
+ }
18764
+ .cn-week-strip__title[data-v-153dd4cb] {
18765
+ font-size: 0.95em;
18766
+ line-height: 1.3;
18767
+ overflow-wrap: anywhere;
18768
+ }
18769
+ .cn-week-strip__meta[data-v-153dd4cb] {
18044
18770
  font-size: 0.85em;
18045
- margin: 0;
18771
+ color: var(--color-text-maxcontrast);
18772
+ overflow-wrap: anywhere;
18046
18773
  }
18047
- .cn-tabs-form__row[data-v-15940aef] {
18774
+ .cn-week-strip__late[data-v-153dd4cb] {
18775
+ font-size: 0.8em;
18776
+ font-weight: 600;
18777
+ color: var(--color-text-error, var(--color-error-text));
18778
+ }
18779
+ .cn-week-strip__empty[data-v-153dd4cb] {
18780
+ font-size: 0.9em;
18781
+ color: var(--color-text-maxcontrast);
18782
+ }
18783
+
18784
+
18785
+ .cn-week-strip-form[data-v-4a9dc393] {
18048
18786
  display: flex;
18049
- gap: 8px;
18787
+ flex-direction: column;
18788
+ gap: 12px;
18789
+ }
18790
+ .cn-week-strip-form__row2[data-v-4a9dc393] {
18791
+ display: flex;
18792
+ gap: 12px;
18793
+ align-items: flex-end;
18794
+ }
18795
+ .cn-week-strip-form__row2[data-v-4a9dc393] > * {
18796
+ flex: 1;
18797
+ min-width: 0;
18050
18798
  }
18051
18799
 
18052
18800
 
@@ -23194,6 +23942,29 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-75628
23194
23942
  display: block;
23195
23943
  }
23196
23944
 
23945
+ /* A late card: an edge in the error colour, drawn as an inset shadow so the
23946
+ card keeps its size and its rounded corners. The label below carries the
23947
+ meaning; the edge only helps a sighted reader find it. */
23948
+ .cn-board-view__card--overdue[data-v-997a7a5e] {
23949
+ border-color: var(--color-error);
23950
+ box-shadow: inset 3px 0 0 var(--color-error);
23951
+ }
23952
+
23953
+ .cn-board-view__due[data-v-997a7a5e] {
23954
+ display: block;
23955
+ font-size: 0.85em;
23956
+ font-weight: 700;
23957
+ }
23958
+
23959
+ .cn-board-view__due--overdue[data-v-997a7a5e] {
23960
+ color: var(--color-error-text, var(--color-error));
23961
+ }
23962
+
23963
+ .cn-board-view__due--soon[data-v-997a7a5e] {
23964
+ color: var(--color-warning-text, var(--color-main-text));
23965
+ font-weight: 600;
23966
+ }
23967
+
23197
23968
  /*
23198
23969
  * The card's opening control. The cursor and the focus ring live here now,
23199
23970
  * on the thing that actually does something, rather than on the box.
@@ -23429,6 +24200,25 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-75628
23429
24200
  .cn-object-kanban__card--pending[data-v-3523a46f] {
23430
24201
  opacity: 0.6;
23431
24202
  }
24203
+
24204
+ /* A late card. The label carries the meaning; the edge helps a sighted
24205
+ reader find it. An inset shadow, so the card keeps its size. */
24206
+ .cn-object-kanban__card--overdue[data-v-3523a46f] {
24207
+ border-color: var(--color-error);
24208
+ box-shadow: inset 3px 0 0 var(--color-error);
24209
+ }
24210
+ .cn-object-kanban__due[data-v-3523a46f] {
24211
+ display: block;
24212
+ font-size: 0.85em;
24213
+ font-weight: 700;
24214
+ }
24215
+ .cn-object-kanban__due--overdue[data-v-3523a46f] {
24216
+ color: var(--color-error-text, var(--color-error));
24217
+ }
24218
+ .cn-object-kanban__due--soon[data-v-3523a46f] {
24219
+ color: var(--color-warning-text, var(--color-main-text));
24220
+ font-weight: 600;
24221
+ }
23432
24222
  .cn-object-kanban__card-title[data-v-3523a46f] {
23433
24223
  font-weight: 500;
23434
24224
  cursor: pointer;
@@ -27483,6 +28273,21 @@ to {
27483
28273
  line-height: 1;
27484
28274
  }
27485
28275
 
28276
+ /* Inherits the chip's own text colour, so it stays readable on the active
28277
+ (primary) fill as well as on the resting one. The count's text starts with
28278
+ a space: the chip is a flex row, so the space is not drawn, but it keeps a
28279
+ screen reader from reading label and count as one word. */
28280
+ .cn-quick-filter-bar__count[data-v-8e121822] {
28281
+ min-width: 1.5em;
28282
+ padding: 2px 6px;
28283
+ border: 1px solid currentColor;
28284
+ border-radius: var(--border-radius-pill, 10px);
28285
+ font-size: 0.85em;
28286
+ font-weight: 600;
28287
+ line-height: 1;
28288
+ text-align: center;
28289
+ }
28290
+
27486
28291
  /* NcPopover wraps its trigger in a plain `<div class="v-popper">`, which as a
27487
28292
  block would drop the chip onto its own line under the strip. */
27488
28293
  .cn-quick-filter-bar[data-v-8e121822] > .v-popper {
@@ -31208,6 +32013,88 @@ a.cn-integration-card__title[data-v-f7e9bbfa]:hover {
31208
32013
  }
31209
32014
 
31210
32015
 
32016
+ .cn-link-cards-page[data-v-2f9a546b] {
32017
+ display: flex;
32018
+ flex-direction: column;
32019
+ gap: calc(6 * var(--default-grid-baseline));
32020
+ padding: calc(5 * var(--default-grid-baseline));
32021
+ }
32022
+ .cn-link-cards-page__title[data-v-2f9a546b] {
32023
+ margin: 0 0 var(--default-grid-baseline);
32024
+ }
32025
+ .cn-link-cards-page__description[data-v-2f9a546b],
32026
+ .cn-link-cards-page__empty[data-v-2f9a546b] {
32027
+ color: var(--color-text-maxcontrast);
32028
+ margin: 0;
32029
+ max-width: 70ch;
32030
+ }
32031
+ .cn-link-cards-page__group[data-v-2f9a546b] {
32032
+ display: flex;
32033
+ flex-direction: column;
32034
+ gap: calc(3 * var(--default-grid-baseline));
32035
+ }
32036
+ .cn-link-cards-page__caption[data-v-2f9a546b] {
32037
+ color: var(--color-text-maxcontrast);
32038
+ font-size: 0.85em;
32039
+ font-weight: 600;
32040
+ letter-spacing: 0.06em;
32041
+ margin: 0;
32042
+ text-transform: uppercase;
32043
+ }
32044
+ .cn-link-cards-page__grid[data-v-2f9a546b] {
32045
+ display: grid;
32046
+ gap: calc(3 * var(--default-grid-baseline));
32047
+ grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
32048
+ list-style: none;
32049
+ margin: 0;
32050
+ padding: 0;
32051
+ }
32052
+ .cn-link-cards-page__cell[data-v-2f9a546b] {
32053
+ display: flex;
32054
+ }
32055
+ .cn-link-cards-page__card[data-v-2f9a546b] {
32056
+ align-items: flex-start;
32057
+ background: var(--color-main-background);
32058
+ border: 1px solid var(--color-border-dark);
32059
+ border-radius: var(--border-radius-large);
32060
+ color: var(--color-main-text);
32061
+ display: flex;
32062
+ flex: 1;
32063
+ gap: calc(3 * var(--default-grid-baseline));
32064
+ min-width: 0;
32065
+ padding: calc(4 * var(--default-grid-baseline));
32066
+ text-decoration: none;
32067
+ }
32068
+ .cn-link-cards-page__card[data-v-2f9a546b]:hover {
32069
+ background: var(--color-background-hover);
32070
+ border-color: var(--color-primary-element);
32071
+ }
32072
+ .cn-link-cards-page__card[data-v-2f9a546b]:focus-visible {
32073
+ border-color: var(--color-primary-element);
32074
+ outline: 2px solid var(--color-primary-element);
32075
+ outline-offset: 2px;
32076
+ }
32077
+ .cn-link-cards-page__icon[data-v-2f9a546b] {
32078
+ color: var(--color-primary-element);
32079
+ flex: none;
32080
+ }
32081
+ .cn-link-cards-page__body[data-v-2f9a546b] {
32082
+ display: flex;
32083
+ flex-direction: column;
32084
+ gap: var(--default-grid-baseline);
32085
+ min-width: 0;
32086
+ }
32087
+ .cn-link-cards-page__label[data-v-2f9a546b] {
32088
+ font-weight: 600;
32089
+ overflow-wrap: anywhere;
32090
+ }
32091
+ .cn-link-cards-page__card-description[data-v-2f9a546b] {
32092
+ color: var(--color-text-maxcontrast);
32093
+ font-size: 0.9em;
32094
+ line-height: 1.4;
32095
+ }
32096
+
32097
+
31211
32098
  /* NcDialog supplies the padding and the heading (via `name`); this div keeps only
31212
32099
  the body's own column layout. */
31213
32100
  .cn-page-config[data-v-9e9a9cf8] {
@@ -31475,6 +32362,39 @@ a.cn-integration-card__title[data-v-f7e9bbfa]:hover {
31475
32362
  }
31476
32363
 
31477
32364
 
32365
+ /* The brand block at the top of the navigation. */
32366
+ .cn-app-nav__brand {
32367
+ align-items: center;
32368
+ display: flex;
32369
+ gap: calc(2.5 * var(--default-grid-baseline));
32370
+ min-width: 0;
32371
+ padding: calc(2 * var(--default-grid-baseline)) calc(2 * var(--default-grid-baseline)) calc(3 * var(--default-grid-baseline));
32372
+ }
32373
+ .cn-app-nav__brand-logo {
32374
+ flex: none;
32375
+ height: 34px;
32376
+ max-width: 50%;
32377
+ object-fit: contain;
32378
+ width: auto;
32379
+ }
32380
+ .cn-app-nav__brand-text {
32381
+ display: flex;
32382
+ flex-direction: column;
32383
+ line-height: 1.15;
32384
+ min-width: 0;
32385
+ }
32386
+ .cn-app-nav__brand-name {
32387
+ color: var(--color-main-text);
32388
+ font-size: 1.2em;
32389
+ font-weight: 700;
32390
+ overflow-wrap: anywhere;
32391
+ }
32392
+ .cn-app-nav__brand-caption {
32393
+ color: var(--color-text-maxcontrast);
32394
+ font-size: 0.85em;
32395
+ overflow-wrap: anywhere;
32396
+ }
32397
+
31478
32398
  /*
31479
32399
  * The legacy `icon-*` classes in Nextcloud render a background-image
31480
32400
  * with a hardcoded dark fill, so they stay grey when an entry becomes
@@ -33325,6 +34245,103 @@ a.cn-integration-card__title[data-v-f7e9bbfa]:hover {
33325
34245
  }
33326
34246
 
33327
34247
 
34248
+ .cn-segmented-control[data-v-7b344b4f] {
34249
+ display: inline-flex;
34250
+ gap: 4px;
34251
+ max-width: 100%;
34252
+ padding: 4px;
34253
+ border-radius: var(--border-radius-container, var(--border-radius-large, 10px));
34254
+ background-color: var(--color-background-dark);
34255
+ overflow-x: auto;
34256
+ }
34257
+ .cn-segmented-control--stretch[data-v-7b344b4f] {
34258
+ display: flex;
34259
+ }
34260
+ .cn-segmented-control--stretch .cn-segmented-control__option[data-v-7b344b4f] {
34261
+ flex: 1 1 0;
34262
+ }
34263
+
34264
+ /* The parent class outscores Nextcloud's server rule that gives every plain
34265
+ `button` a margin and a border. */
34266
+ .cn-segmented-control .cn-segmented-control__option[data-v-7b344b4f] {
34267
+ display: inline-flex;
34268
+ align-items: center;
34269
+ justify-content: center;
34270
+ gap: 8px;
34271
+ box-sizing: border-box;
34272
+ min-height: 36px;
34273
+ margin: 0;
34274
+ padding: 0 16px;
34275
+ border: 1px solid transparent;
34276
+ border-radius: var(--border-radius-element, var(--border-radius-large, 8px));
34277
+ background-color: transparent;
34278
+ /* Full-contrast label on every option: the choice is carried by the
34279
+ raised surface, not by dimming the others. */
34280
+ color: var(--color-main-text);
34281
+ font: inherit;
34282
+ font-weight: 600;
34283
+ white-space: nowrap;
34284
+ cursor: pointer;
34285
+ }
34286
+ .cn-segmented-control .cn-segmented-control__option[data-v-7b344b4f]:hover {
34287
+ background-color: var(--color-background-hover);
34288
+ }
34289
+ .cn-segmented-control .cn-segmented-control__option[data-v-7b344b4f]:focus-visible {
34290
+ outline: 2px solid var(--color-primary-element);
34291
+ outline-offset: 2px;
34292
+ }
34293
+
34294
+ /* The border survives forced-colours mode, which drops background and shadow. */
34295
+ .cn-segmented-control .cn-segmented-control__option--checked[data-v-7b344b4f],
34296
+ .cn-segmented-control .cn-segmented-control__option--checked[data-v-7b344b4f]:hover {
34297
+ border-color: var(--color-border-dark);
34298
+ background-color: var(--color-main-background);
34299
+ box-shadow: 0 1px 2px var(--color-box-shadow);
34300
+ }
34301
+ .cn-segmented-control .cn-segmented-control__option[disabled][data-v-7b344b4f] {
34302
+ cursor: default;
34303
+ opacity: 0.5;
34304
+ }
34305
+ .cn-segmented-control__count[data-v-7b344b4f] {
34306
+ font-weight: 400;
34307
+ }
34308
+
34309
+
34310
+ .cn-brand-stripe[data-v-6fdfa763] {
34311
+ display: flex;
34312
+ flex: none;
34313
+ width: 100%;
34314
+ height: var(--cn-brand-stripe-height, 4px);
34315
+ }
34316
+ .cn-brand-stripe--vertical[data-v-6fdfa763] {
34317
+ flex-direction: column;
34318
+ width: var(--cn-brand-stripe-height, 4px);
34319
+ height: 100%;
34320
+ }
34321
+ .cn-brand-stripe__band[data-v-6fdfa763] {
34322
+ flex-basis: 0;
34323
+ flex-shrink: 1;
34324
+ }
34325
+ .cn-brand-stripe__band--1[data-v-6fdfa763] {
34326
+ flex-grow: var(--cn-brand-stripe-ratio-1, 1);
34327
+ background-color: var(--cn-brand-stripe-color-1, var(--color-primary-element));
34328
+ }
34329
+ .cn-brand-stripe__band--2[data-v-6fdfa763] {
34330
+ flex-grow: var(--cn-brand-stripe-ratio-2, 1);
34331
+ background-color: var(--cn-brand-stripe-color-2, var(--color-primary-element));
34332
+ }
34333
+ .cn-brand-stripe__band--3[data-v-6fdfa763] {
34334
+ flex-grow: var(--cn-brand-stripe-ratio-3, 1);
34335
+ background-color: var(--cn-brand-stripe-color-3, var(--color-primary-element));
34336
+ }
34337
+ @media print {
34338
+ .cn-brand-stripe[data-v-6fdfa763] {
34339
+ print-color-adjust: exact;
34340
+ -webkit-print-color-adjust: exact;
34341
+ }
34342
+ }
34343
+
34344
+
33328
34345
  .cn-ai-agent-picker {
33329
34346
  width: 100%;
33330
34347
  }