@conduction/nextcloud-vue 2.143.0 → 2.145.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 (165) hide show
  1. package/dist/esm/components/CnActionDialog/CnActionDialog.vue.js +1 -1
  2. package/dist/esm/components/CnActionDialog/CnActionDialog.vue2.js +7 -2
  3. package/dist/esm/components/CnActionDialog/CnActionDialog.vue2.js.map +1 -1
  4. package/dist/esm/components/CnActionDialog/CnActionDialog.vue3.js +1 -0
  5. package/dist/esm/components/CnActionDialog/CnActionDialog.vue3.js.map +1 -1
  6. package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue.js +1 -1
  7. package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue2.js +55 -2
  8. package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue2.js.map +1 -1
  9. package/dist/esm/components/CnAuditTrailCard/CnAuditTrailCard.vue3.js.map +1 -1
  10. package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue.js +1 -1
  11. package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue2.js +16 -0
  12. package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue2.js.map +1 -1
  13. package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue3.js +3 -1
  14. package/dist/esm/components/CnAuditTrailWidget/CnAuditTrailWidget.vue3.js.map +1 -1
  15. package/dist/esm/components/CnConversationThread/CnConversationThread.vue.js +1 -1
  16. package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js.map +1 -1
  17. package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js +1 -1
  18. package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js.map +1 -1
  19. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue.js +1 -1
  20. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue2.js +1 -1
  21. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue2.js.map +1 -1
  22. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue3.js +3 -3
  23. package/dist/esm/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue3.js.map +1 -1
  24. package/dist/esm/components/CnEventsCard/CnEventsCard.vue.js +1 -1
  25. package/dist/esm/components/CnEventsCard/CnEventsCard.vue2.js +9 -0
  26. package/dist/esm/components/CnEventsCard/CnEventsCard.vue2.js.map +1 -1
  27. package/dist/esm/components/CnEventsCard/CnEventsCard.vue3.js +24 -13
  28. package/dist/esm/components/CnEventsCard/CnEventsCard.vue3.js.map +1 -1
  29. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue.js +1 -1
  30. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue2.js +2 -2
  31. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue2.js.map +1 -1
  32. package/dist/esm/components/CnFieldListWidget/CnFieldListWidget.vue3.js.map +1 -1
  33. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue.js +1 -1
  34. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js +2 -1
  35. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue2.js.map +1 -1
  36. package/dist/esm/components/CnFilesBrowser/CnFilesBrowser.vue3.js.map +1 -1
  37. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +9 -4
  38. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  39. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  40. package/dist/esm/components/CnMailTab/CnMailTab.vue.js +1 -1
  41. package/dist/esm/components/CnMailTab/CnMailTab.vue2.js.map +1 -1
  42. package/dist/esm/components/CnMailTab/CnMailTab.vue3.js +2 -2
  43. package/dist/esm/components/CnMailTab/CnMailTab.vue3.js.map +1 -1
  44. package/dist/esm/components/CnNotesCard/CnNotesCard.vue.js +1 -1
  45. package/dist/esm/components/CnNotesCard/CnNotesCard.vue2.js +3 -0
  46. package/dist/esm/components/CnNotesCard/CnNotesCard.vue2.js.map +1 -1
  47. package/dist/esm/components/CnNotesCard/CnNotesCard.vue3.js +19 -14
  48. package/dist/esm/components/CnNotesCard/CnNotesCard.vue3.js.map +1 -1
  49. package/dist/esm/components/CnNotificationMatrix/CnNotificationMatrix.vue.js +1 -1
  50. package/dist/esm/components/CnNotificationMatrix/CnNotificationMatrix.vue2.js.map +1 -1
  51. package/dist/esm/components/CnNotificationMatrix/CnNotificationMatrix.vue3.js.map +1 -1
  52. package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue.js +1 -1
  53. package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue2.js +30 -0
  54. package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue2.js.map +1 -1
  55. package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue3.js +158 -102
  56. package/dist/esm/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue3.js.map +1 -1
  57. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  58. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +73 -12
  59. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  60. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +165 -126
  61. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  62. package/dist/esm/components/CnRetentionWidget/CnRetentionWidget.vue.js +1 -1
  63. package/dist/esm/components/CnRetentionWidget/CnRetentionWidget.vue2.js.map +1 -1
  64. package/dist/esm/components/CnRetentionWidget/CnRetentionWidget.vue3.js +12 -0
  65. package/dist/esm/components/CnRetentionWidget/CnRetentionWidget.vue3.js.map +1 -1
  66. package/dist/esm/components/CnSettingsField/CnSettingsField.vue.js +1 -1
  67. package/dist/esm/components/CnSettingsField/CnSettingsField.vue2.js +14 -0
  68. package/dist/esm/components/CnSettingsField/CnSettingsField.vue2.js.map +1 -1
  69. package/dist/esm/components/CnSettingsField/CnSettingsField.vue3.js +2 -1
  70. package/dist/esm/components/CnSettingsField/CnSettingsField.vue3.js.map +1 -1
  71. package/dist/esm/components/CnTasksWidget/CnTasksWidget.vue.js +1 -1
  72. package/dist/esm/components/CnTasksWidget/CnTasksWidget.vue2.js +110 -2
  73. package/dist/esm/components/CnTasksWidget/CnTasksWidget.vue2.js.map +1 -1
  74. package/dist/esm/components/CnTasksWidget/CnTasksWidget.vue3.js +146 -80
  75. package/dist/esm/components/CnTasksWidget/CnTasksWidget.vue3.js.map +1 -1
  76. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue.js +1 -1
  77. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js +13 -8
  78. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js.map +1 -1
  79. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue3.js.map +1 -1
  80. package/dist/esm/components/CnWorkspaceFilterWidget/CnWorkspaceFilterWidget.vue.js +1 -1
  81. package/dist/esm/components/CnWorkspaceFilterWidget/CnWorkspaceFilterWidget.vue2.js +10 -2
  82. package/dist/esm/components/CnWorkspaceFilterWidget/CnWorkspaceFilterWidget.vue2.js.map +1 -1
  83. package/dist/esm/components/CnWorkspaceFilterWidget/CnWorkspaceFilterWidget.vue3.js.map +1 -1
  84. package/dist/esm/composables/indexSources.js +35 -9
  85. package/dist/esm/composables/indexSources.js.map +1 -1
  86. package/dist/esm/integrations/builtin/calendar/CnCalendarCard.vue.js +1 -1
  87. package/dist/esm/integrations/builtin/calendar/CnCalendarCard.vue2.js +45 -0
  88. package/dist/esm/integrations/builtin/calendar/CnCalendarCard.vue2.js.map +1 -1
  89. package/dist/esm/integrations/builtin/calendar/CnCalendarCard.vue3.js +67 -34
  90. package/dist/esm/integrations/builtin/calendar/CnCalendarCard.vue3.js.map +1 -1
  91. package/dist/esm/integrations/builtin/calendar/CnCalendarTab.vue.js +1 -1
  92. package/dist/esm/integrations/builtin/calendar/CnCalendarTab.vue2.js +3 -22
  93. package/dist/esm/integrations/builtin/calendar/CnCalendarTab.vue2.js.map +1 -1
  94. package/dist/esm/integrations/builtin/calendar/CnCalendarTab.vue3.js.map +1 -1
  95. package/dist/esm/integrations/builtin/calendar/eventStatus.js +67 -0
  96. package/dist/esm/integrations/builtin/calendar/eventStatus.js.map +1 -0
  97. package/dist/esm/integrations/builtin/deck/CnDeckCard.vue.js +1 -1
  98. package/dist/esm/integrations/builtin/deck/CnDeckCard.vue2.js +39 -0
  99. package/dist/esm/integrations/builtin/deck/CnDeckCard.vue2.js.map +1 -1
  100. package/dist/esm/integrations/builtin/deck/CnDeckCard.vue3.js +81 -32
  101. package/dist/esm/integrations/builtin/deck/CnDeckCard.vue3.js.map +1 -1
  102. package/dist/esm/integrations/builtin/deck/CnDeckTab.vue.js +1 -1
  103. package/dist/esm/integrations/builtin/deck/CnDeckTab.vue2.js +5 -6
  104. package/dist/esm/integrations/builtin/deck/CnDeckTab.vue2.js.map +1 -1
  105. package/dist/esm/integrations/builtin/deck/CnDeckTab.vue3.js.map +1 -1
  106. package/dist/esm/integrations/builtin/deck/deckCardParts.js +59 -0
  107. package/dist/esm/integrations/builtin/deck/deckCardParts.js.map +1 -0
  108. package/dist/esm/l10n/en.json.js +6 -0
  109. package/dist/esm/l10n/en.json.js.map +1 -1
  110. package/dist/esm/l10n/nl.json.js +8 -0
  111. package/dist/esm/l10n/nl.json.js.map +1 -1
  112. package/dist/esm/library-style.js +1 -1
  113. package/dist/esm/nextcloud-vue.css +1505 -637
  114. package/dist/esm/utils/builtInFormatters.js +18 -1
  115. package/dist/esm/utils/builtInFormatters.js.map +1 -1
  116. package/dist/esm/utils/fetchFilterCounts.js +5 -2
  117. package/dist/esm/utils/fetchFilterCounts.js.map +1 -1
  118. package/dist/esm/utils/localHeaderRows.js +95 -0
  119. package/dist/esm/utils/localHeaderRows.js.map +1 -0
  120. package/dist/esm/utils/nextcloudDirectory.js +19 -6
  121. package/dist/esm/utils/nextcloudDirectory.js.map +1 -1
  122. package/dist/nextcloud-vue.cjs.js +1848 -924
  123. package/dist/nextcloud-vue.cjs.js.map +2 -2
  124. package/dist/nextcloud-vue.css +1505 -637
  125. package/l10n/en.json +6 -0
  126. package/l10n/nl.json +8 -0
  127. package/package.json +1 -1
  128. package/src/components/CnActionDialog/CnActionDialog.vue +36 -4
  129. package/src/components/CnAuditTrailCard/CnAuditTrailCard.vue +55 -2
  130. package/src/components/CnAuditTrailWidget/CnAuditTrailWidget.vue +18 -0
  131. package/src/components/CnConversationThread/CnConversationThread.vue +5 -2
  132. package/src/components/CnDetailWidgetHost/CnDetailWidgetHeaderItems.vue +2 -1
  133. package/src/components/CnEventsCard/CnEventsCard.vue +27 -5
  134. package/src/components/CnFieldListWidget/CnFieldListWidget.vue +2 -2
  135. package/src/components/CnFilesBrowser/CnFilesBrowser.vue +15 -1
  136. package/src/components/CnIndexPage/CnIndexPage.vue +9 -4
  137. package/src/components/CnMailTab/CnMailTab.vue +6 -4
  138. package/src/components/CnNotesCard/CnNotesCard.vue +8 -0
  139. package/src/components/CnNotificationMatrix/CnNotificationMatrix.vue +4 -1
  140. package/src/components/CnObjectPartiesWidget/CnObjectPartiesWidget.vue +114 -46
  141. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +131 -20
  142. package/src/components/CnRetentionWidget/CnRetentionWidget.vue +26 -1
  143. package/src/components/CnSettingsField/CnSettingsField.vue +15 -0
  144. package/src/components/CnTasksWidget/CnTasksWidget.vue +170 -13
  145. package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +13 -8
  146. package/src/components/CnWorkspaceFilterWidget/CnWorkspaceFilterWidget.vue +10 -2
  147. package/src/composables/indexSources.js +35 -9
  148. package/src/css/dialog.css +25 -10
  149. package/src/css/kpi-card.css +3 -0
  150. package/src/css/look-board-detail.css +513 -0
  151. package/src/css/look-board-index.css +52 -4
  152. package/src/css/look-board.css +163 -8
  153. package/src/css/table.css +8 -1
  154. package/src/integrations/builtin/calendar/CnCalendarCard.vue +76 -11
  155. package/src/integrations/builtin/calendar/CnCalendarTab.vue +3 -22
  156. package/src/integrations/builtin/calendar/__tests__/CnCalendarCardBoardRows.spec.js +52 -0
  157. package/src/integrations/builtin/calendar/eventStatus.js +63 -0
  158. package/src/integrations/builtin/deck/CnDeckCard.vue +66 -0
  159. package/src/integrations/builtin/deck/CnDeckTab.vue +5 -6
  160. package/src/integrations/builtin/deck/__tests__/CnDeckCardBoardRows.spec.js +49 -0
  161. package/src/integrations/builtin/deck/deckCardParts.js +56 -0
  162. package/src/utils/builtInFormatters.js +17 -0
  163. package/src/utils/fetchFilterCounts.js +5 -2
  164. package/src/utils/localHeaderRows.js +91 -0
  165. package/src/utils/nextcloudDirectory.js +19 -6
@@ -627,6 +627,30 @@
627
627
  font-size: 14px;
628
628
  }
629
629
 
630
+ /* The reply box's buttons (Opslaan als concept, Versturen) are the board's
631
+ 40px control, as DqBerichtVersturen draws Versturen; NcButton draws 34
632
+ (DqZaakContact r29 controlHeight 34).
633
+ @spec openspec/changes/board-conversation-reply-buttons-40/specs/board-conversation-reply-buttons-40/spec.md#requirement-the-reply-boxs-buttons-are-the-boards-40px-control */
634
+ .cn-look-board .cn-conversation-thread__reply .button-vue:where(:not(.cn-look-nextcloud *)) {
635
+ --button-size: var(--cn-board-control-height);
636
+ }
637
+
638
+ /* A lead widget in a card (the review summary over the files) stands 16px
639
+ above the card's own body, the boards' gap between a card's parts
640
+ (DqZaakDocumenten r29: the files toolbar sat flush under the summary).
641
+ @spec openspec/changes/board-lead-widget-gap-16/specs/board-lead-widget-gap-16/spec.md#requirement-a-lead-widget-stands-16px-above-the-cards-body */
642
+ .cn-look-board .cn-detail-widget-host__lead:not(.cn-look-nextcloud *) {
643
+ margin-bottom: 16px;
644
+ }
645
+
646
+ /* The compact review summary runs on the normal line height, as the board
647
+ draws its heading and legend (DqZaakDocumenten r29: heading 22.5 vs 18,
648
+ the box 99.5 vs 91 high).
649
+ @spec openspec/changes/board-stacked-bar-compact-line-height/specs/board-stacked-bar-compact-line-height/spec.md#requirement-the-compact-summary-runs-on-the-normal-line-height */
650
+ .cn-look-board .cn-stacked-bar--compact:not(.cn-look-nextcloud *) {
651
+ line-height: normal;
652
+ }
653
+
630
654
  /* The case Status card as the board draws it: no grey box, the status's
631
655
  explanation as its bold line, the time in the status muted under it.
632
656
  @spec openspec/changes/status-explainer-board/specs/record-widgets/spec.md#requirement-the-status-card-says-where-the-record-stands-as-the-board-draws-it */
@@ -707,6 +731,14 @@
707
731
  padding: calc(12px - var(--cn-board-first-line-leading)) var(--cn-board-card-inline-padding) 20px;
708
732
  }
709
733
 
734
+ /* A history card with stacked rows (DqTaak "Historie") opens on the first
735
+ row's hairline 6px under the title, the row's own 12px padding above its
736
+ text, as drawn: 19px from the title to the first action.
737
+ @spec openspec/changes/board-history-card-ruled-start/specs/board-history-card-ruled-start/spec.md#requirement-a-board-history-card-with-stacked-rows-opens-on-its-first-rule */
738
+ .cn-look-board .cn-detail-card .cn-detail-card__content:has(> .cn-audit-card__list > .cn-audit-card__row--stacked:first-child):not(.cn-look-nextcloud *) {
739
+ padding-top: 6px;
740
+ }
741
+
710
742
  /* A data card (labels over values) starts 14px below its title (DqZaak
711
743
  "Zaakgegevens", DqContact "Contact"). A side card keeps its 10px.
712
744
  @spec openspec/changes/board-data-card-gap/specs/board-data-card-gap/spec.md#requirement-a-board-data-cards-body-starts-14px-below-its-title */
@@ -787,6 +819,47 @@
787
819
  font-weight: 500;
788
820
  }
789
821
 
822
+ /* A data card's label and value sit 3px apart on the normal line height, as
823
+ the boards draw their facts (194 of 212 dt/dd pairs: gap 3px, no line
824
+ height); live ran them at 1.5 with a 2px gap (DqZaakContact
825
+ Ontvangstbevestiging r29: the first label 33.8 under the title, board 29).
826
+ @spec openspec/changes/board-data-cell-rhythm/specs/board-data-cell-rhythm/spec.md#requirement-a-data-cards-label-and-value-sit-3px-apart-on-the-normal-line-height */
827
+ .cn-look-board .cn-object-data-widget__grid .cn-object-data-widget__cell.cn-object-data-widget__cell {
828
+ gap: 3px;
829
+ }
830
+
831
+ .cn-look-board .cn-object-data-widget__grid .cn-object-data-widget__label.cn-object-data-widget__label,
832
+ .cn-look-board .cn-object-data-widget__grid .cn-object-data-widget__value {
833
+ line-height: normal;
834
+ }
835
+
836
+ /* A note in a page card starts at the card's inset: no list-item padding
837
+ around it, its icon 12px before the text (DqZaakEmail Notities r29: icon
838
+ at 31 and text at 71 where the board draws 23 and 67).
839
+ @spec openspec/changes/board-notes-card-rows-flush/specs/board-notes-card-rows-flush/spec.md#requirement-a-note-in-a-page-card-starts-at-the-cards-inset */
840
+ .cn-look-board .cn-detail-widget-host .cn-notes-tab__thread .list-item__wrapper:not(.cn-look-nextcloud *),
841
+ .cn-look-board .cn-detail-widget-host .cn-notes-tab__thread .list-item:not(.cn-look-nextcloud *) {
842
+ padding: 0;
843
+ }
844
+
845
+ .cn-look-board .cn-detail-widget-host .cn-notes-tab__thread .list-item-content:not(.cn-look-nextcloud *) {
846
+ padding-inline-start: 12px;
847
+ }
848
+
849
+ /* The note's two lines on the normal line height and its icon at the top of
850
+ the row, as the board draws the author tile beside the name (probed on
851
+ :8080: the name 44.8 under the title as drawn, the icon 6.5px lower while
852
+ centred in the 45px item).
853
+ @spec openspec/changes/board-notes-card-rows-flush/specs/board-notes-card-rows-flush/spec.md#requirement-a-note-in-a-page-card-starts-at-the-cards-inset */
854
+ .cn-look-board .cn-detail-widget-host .cn-notes-tab__thread .list-item-content__name:not(.cn-look-nextcloud *),
855
+ .cn-look-board .cn-detail-widget-host .cn-notes-tab__thread .list-item-content__subname:not(.cn-look-nextcloud *) {
856
+ line-height: normal;
857
+ }
858
+
859
+ .cn-look-board .cn-detail-widget-host .cn-notes-tab__thread .list-item__anchor > :first-child:not(.list-item-content):not(.cn-look-nextcloud *) {
860
+ align-self: flex-start;
861
+ }
862
+
790
863
  /* Side cards: the heading is a 15px muted label, not a title. The tone
791
864
  carries `!important` against a theme that colours every h3 that way
792
865
  (thematiq's heading colour). */
@@ -806,6 +879,14 @@
806
879
  padding: calc(10px - var(--cn-board-first-line-leading)) 22px 20px;
807
880
  }
808
881
 
882
+ /* A side card that opens on a list draws its first row's hairline 10px below
883
+ the title box; the row has no leading for the glyph gap above to subtract
884
+ (DqZaaktypeRegels, DqZaaktypeStatussen "Versies").
885
+ @spec openspec/changes/board-side-list-gap/specs/board-side-list-gap/spec.md#requirement-a-board-side-cards-list-starts-10px-below-its-title */
886
+ .cn-look-board .cn-detail-page__side .cn-widget-wrapper__content:has(> .cn-record-list--rows) {
887
+ padding-top: 10px;
888
+ }
889
+
809
890
  /* A side card that opens on a lead (DqZaak "Aanvrager", DqOrganisatie "KvK en
810
891
  adres") draws the lead row 12px below the title, its two lines at their
811
892
  normal height so they centre on the 40px tile.
@@ -885,6 +966,13 @@
885
966
  line-height: 1;
886
967
  }
887
968
 
969
+ /* A list's Add in the title row is the card's 34px control, as the boards
970
+ draw a card's Add (DqZaaktype "Variant toevoegen"). */
971
+ .cn-look-board .cn-detail-page__catalog-action--add:not(.cn-detail-page__side *):not(.cn-look-nextcloud *) {
972
+ height: 34px;
973
+ min-height: 34px;
974
+ }
975
+
888
976
  .cn-look-board .cn-detail-page__catalog-action:not(.cn-detail-page__side *):not(.cn-look-nextcloud *):hover {
889
977
  background: var(--color-background-hover);
890
978
  }
@@ -1235,6 +1323,13 @@
1235
1323
 
1236
1324
  .cn-look-board .cn-retention .cn-retention__head-text .cn-retention__muted {
1237
1325
  font-size: 14px;
1326
+ line-height: 1.2;
1327
+ }
1328
+
1329
+ /* The board stacks the archiving card's parts 10px apart (r26a: the head
1330
+ row 45.9 vs 41 and the facts 55.9 vs 30 under the title). */
1331
+ .cn-look-board .cn-retention.cn-retention {
1332
+ gap: 10px;
1238
1333
  }
1239
1334
 
1240
1335
  .cn-look-board .cn-retention .cn-retention__fact {
@@ -1312,6 +1407,26 @@
1312
1407
  line-height: 1.2;
1313
1408
  }
1314
1409
 
1410
+ /* The task name takes the spare width, so it wraps only when long; the
1411
+ handler stays on one line. */
1412
+ .cn-look-board .cn-detail-page .cn-widget-wrapper__content > .cn-tasks-widget .cn-tasks-widget__table th:first-child,
1413
+ .cn-look-board .cn-detail-page .cn-widget-wrapper__content > .cn-tasks-widget .cn-tasks-widget__table .cn-tasks-widget__cell-task {
1414
+ width: 100%;
1415
+ }
1416
+
1417
+ .cn-look-board .cn-detail-page .cn-widget-wrapper__content > .cn-tasks-widget .cn-tasks-widget__table .cn-tasks-widget__cell-handler {
1418
+ white-space: nowrap;
1419
+ }
1420
+
1421
+ /* A head's filter is a 22px button, so a head is 42px high as drawn. */
1422
+ .cn-look-board .cn-detail-page .cn-widget-wrapper__content > .cn-tasks-widget .cn-tasks-widget__table .cn-tasks-widget__head-filter .button-vue {
1423
+ --button-size: 22px;
1424
+ min-width: 22px;
1425
+ min-height: 22px;
1426
+ width: 22px;
1427
+ height: 22px;
1428
+ }
1429
+
1315
1430
  /* A long task name wraps under itself, as the board draws it, rather than
1316
1431
  widening the table past the card. */
1317
1432
  .cn-look-board .cn-detail-page .cn-widget-wrapper__content > .cn-tasks-widget .cn-tasks-widget__table :is(.cn-tasks-widget__name, .cn-tasks-widget__meta) {
@@ -1345,6 +1460,13 @@
1345
1460
  padding-inline-end: var(--cn-board-card-inline-padding);
1346
1461
  }
1347
1462
 
1463
+ /* A row menu in the last column keeps its 34px button and 16px start
1464
+ padding beside the card's end padding, so it is not cut off. */
1465
+ .cn-look-board .cn-detail-page .cn-widget-wrapper__content > .cn-object-list-widget--bleed .cn-table-container .cn-data-table .cn-table-col--actions:last-child {
1466
+ width: calc(50px + var(--cn-board-card-inline-padding));
1467
+ min-width: calc(50px + var(--cn-board-card-inline-padding));
1468
+ }
1469
+
1348
1470
  /* ---- Grouped cards (CnGroupedCardsWidget, DqZaaktype "Fasen en taken") --- */
1349
1471
  /* Groups 14px apart, each padded 14px with a 10px radius and a bold title; a
1350
1472
  card in a group is padded 9px 12px with the 8px control radius, its title
@@ -1370,6 +1492,14 @@
1370
1492
 
1371
1493
  .cn-look-board .cn-grouped-cards__group-title.cn-grouped-cards__group-title {
1372
1494
  font-weight: 700;
1495
+ line-height: 1.2;
1496
+ }
1497
+
1498
+ /* The buttons above the groups are the card's 34px controls ("Bekijken als
1499
+ flow", "Taak toevoegen"), not the page's 40px ones. */
1500
+ .cn-look-board .cn-grouped-cards__actions:not(.cn-look-nextcloud *) .button-vue {
1501
+ min-height: 34px;
1502
+ height: 34px;
1373
1503
  }
1374
1504
 
1375
1505
  .cn-look-board .cn-grouped-cards__item.cn-grouped-cards__item {
@@ -1379,6 +1509,7 @@
1379
1509
 
1380
1510
  .cn-look-board .cn-grouped-cards__item-title.cn-grouped-cards__item-title {
1381
1511
  font-size: 15px;
1512
+ line-height: 1.2;
1382
1513
  }
1383
1514
 
1384
1515
  /* A card with actions holds them at its end, beside the title and meta (the
@@ -1400,6 +1531,15 @@
1400
1531
  margin: 0;
1401
1532
  }
1402
1533
 
1534
+ /* ---- A sidebar tab standing in a page card --------------------------------- */
1535
+ /* The Files, Notes, Tasks... tabs pad themselves 12px for the sidebar. On a
1536
+ detail page the card around them already pads, and the boards draw their
1537
+ toolbar, table and rows flush with the card title (DqZaakDocumenten, DqZaakEmail).
1538
+ @spec openspec/changes/board-sidebar-tab-flush-in-card/specs/board-sidebar-tab-flush-in-card/spec.md#requirement-a-sidebar-tab-in-a-page-card-adds-no-padding-of-its-own */
1539
+ .cn-look-board .cn-detail-widget-host .cn-sidebar-tab:not(.cn-look-nextcloud *) {
1540
+ padding: 0;
1541
+ }
1542
+
1403
1543
  /* ---- A file's side card (CnFilesBrowser) --------------------------------- */
1404
1544
  /* The board's side card: radius 12, 20px 22px of padding, the title a 15px
1405
1545
  muted heading at 600, the facts 8px 16px apart with the values at 500
@@ -1529,6 +1669,34 @@
1529
1669
  gap: 14px 16px;
1530
1670
  }
1531
1671
 
1672
+ /* In a page card the mail tab is the card's body: no padding of its own, 12px
1673
+ between its parts, the heading at the card title's 17px/700 and the
1674
+ description at 14px (DqZaakEmail "E-mail").
1675
+ @spec openspec/changes/board-mail-tab-in-card/specs/board-mail-tab-in-card/spec.md#requirement-a-mail-tab-in-a-page-card-reads-as-the-card */
1676
+ .cn-look-board .cn-detail-widget-host .cn-mail-tab:not(.cn-look-nextcloud *) {
1677
+ gap: 12px;
1678
+ padding: 0;
1679
+ }
1680
+
1681
+ .cn-look-board .cn-detail-widget-host .cn-mail-tab__title:not(.cn-look-nextcloud *) {
1682
+ font-size: 17px;
1683
+ font-weight: 700;
1684
+ line-height: 1.2;
1685
+ }
1686
+
1687
+ .cn-look-board .cn-detail-widget-host .cn-mail-tab__subtitle:not(.cn-look-nextcloud *) {
1688
+ font-size: 14px;
1689
+ }
1690
+
1691
+ /* The mail card's description runs on the normal line height: thematiq's
1692
+ board paragraph token (1.5) gave
1693
+ it 21px lines (probed on :8080 after REFRESH-4b: 14px/21 vs the board's
1694
+ normal; DqZaakEmail r29 E-mail gapBelowTitle 44.4 vs 49).
1695
+ @spec openspec/changes/board-mail-subtitle-line-height/specs/board-mail-subtitle-line-height/spec.md#requirement-the-mail-cards-description-runs-on-the-normal-line-height */
1696
+ .cn-look-board .cn-detail-widget-host .cn-mail-tab__subtitle.cn-mail-tab__subtitle:not(.cn-look-nextcloud *) {
1697
+ line-height: normal;
1698
+ }
1699
+
1532
1700
  /* ---- The attention flag's buttons --------------------------------------- */
1533
1701
  /* The case boards draw "Markeer voor aandacht" and the flag's other labelled
1534
1702
  buttons at the 40px control height (DqZaak and the case tab boards);
@@ -1549,6 +1717,31 @@
1549
1717
  line-height: normal;
1550
1718
  }
1551
1719
 
1720
+ /* In a page card the notes tab's "Add note" stands at the end of the card's
1721
+ title row, and each note thread opens with a hairline (DqZaakEmail
1722
+ "Notities": the button beside the title, rows 12px 0 under a rule). The
1723
+ card (CnWidgetWrapper) is the positioned box; the add form, when open,
1724
+ stays in the body.
1725
+ @spec openspec/changes/board-notes-card-add-in-title-row/specs/board-notes-card-add-in-title-row/spec.md#requirement-a-notes-card-carries-its-add-in-the-title-row */
1726
+ .cn-look-board .cn-detail-widget-host .cn-widget-wrapper .cn-sidebar-tab__composer-toggle:not(.cn-look-nextcloud *) {
1727
+ position: absolute;
1728
+ top: 20px;
1729
+ inset-inline-end: var(--cn-board-card-inline-padding);
1730
+ }
1731
+
1732
+ .cn-look-board .cn-detail-widget-host .cn-sidebar-tab__action:has(> .cn-sidebar-tab__composer-toggle):not(:has(.cn-sidebar-tab__composer)):not(.cn-look-nextcloud *) {
1733
+ margin-bottom: 0;
1734
+ }
1735
+
1736
+ .cn-look-board .cn-detail-widget-host .cn-sidebar-tab__list:not(.cn-look-nextcloud *) {
1737
+ gap: 0;
1738
+ }
1739
+
1740
+ .cn-look-board .cn-detail-widget-host .cn-notes-tab__thread:not(.cn-look-nextcloud *) {
1741
+ padding: 12px 0;
1742
+ border-top: 1px solid var(--cn-board-hairline);
1743
+ }
1744
+
1552
1745
  /* The notes tab's "Add note" button, when the add form waits behind it, is
1553
1746
  the board's 40px control (DqZaakEmail "Notitie toevoegen").
1554
1747
  @spec openspec/changes/notes-tab-composer-button/specs/notes-tab-composer-button/spec.md#requirement-the-notes-tab-can-keep-its-composer-behind-a-button */
@@ -1668,9 +1861,14 @@
1668
1861
  }
1669
1862
 
1670
1863
  .cn-look-board .cn-detail-page__leaf-card .cn-contacts-tab .cn-contacts-tab__header {
1864
+ display: inline-flex;
1671
1865
  justify-content: flex-start;
1672
1866
  }
1673
1867
 
1868
+ .cn-look-board .cn-detail-page__leaf-card .cn-contacts-tab .cn-contacts-tab__header .button-vue {
1869
+ --button-size: var(--cn-board-control-height);
1870
+ }
1871
+
1674
1872
  /* A body card's subtitle as the Dq boards draw it: 14px muted at line
1675
1873
  height 1.2, 3px under the title, and the content 12px under it.
1676
1874
  @spec openspec/changes/board-card-subtitle-gaps/specs/board-card/spec.md */
@@ -1722,3 +1920,318 @@
1722
1920
  .cn-look-board .cn-checklist-widget__item .checkbox-content__text {
1723
1921
  font-weight: 600;
1724
1922
  }
1923
+
1924
+ /* The parties widget's "Dit zaaktype accepteert" strip as DqZaakBetrokkenen
1925
+ draws it: a sunken strip rounded at 8px, the label 14px bold, the kinds
1926
+ as outlined 13px chips.
1927
+ @spec openspec/changes/board-parties-accepted-strip/specs/parties/spec.md */
1928
+ .cn-look-board .cn-object-parties .cn-object-parties__accepted {
1929
+ gap: 6px 8px;
1930
+ padding: 8px 12px;
1931
+ border-radius: 8px;
1932
+ background-color: var(--cn-board-sunken-ground);
1933
+ }
1934
+
1935
+ .cn-look-board .cn-object-parties .cn-object-parties__accepted-label {
1936
+ font-size: 14px;
1937
+ font-weight: 700;
1938
+ line-height: 1.2;
1939
+ }
1940
+
1941
+ .cn-look-board .cn-object-parties .cn-object-parties__accepted-kind {
1942
+ padding: 2px 8px;
1943
+ border: 1px solid var(--color-border-maxcontrast);
1944
+ border-radius: 12px;
1945
+ font-size: 13px;
1946
+ font-weight: 600;
1947
+ }
1948
+
1949
+ /* A short side list (`density: "stacked"`, DqOrganisatie "Lopende zaken")
1950
+ starts 10px under the title with no hairline and no row padding; a main
1951
+ contact (DqOrganisatie "Hoofdcontact") starts 12px under it, its two lines
1952
+ at their normal height so they centre on the 40px tile.
1953
+ @spec openspec/changes/board-side-lead-gaps/specs/board-side-lead-gaps/spec.md#requirement-a-board-side-card-starts-a-stacked-list-or-main-contact-as-drawn */
1954
+ .cn-look-board .cn-detail-page__side .cn-widget-wrapper__content:has(> .cn-record-list--stacked) {
1955
+ padding-top: 10px;
1956
+ }
1957
+
1958
+ .cn-look-board .cn-detail-page__side .cn-widget-wrapper__content:has(> .cn-object-parties > .cn-object-parties__main-card) {
1959
+ padding-top: 12px;
1960
+ }
1961
+
1962
+ .cn-look-board .cn-detail-page__side .cn-record-list--stacked.cn-record-list--rows:not(.cn-look-nextcloud *) .cn-record-list__item {
1963
+ border-top: 0;
1964
+ }
1965
+
1966
+ .cn-look-board .cn-detail-page__side .cn-record-list--stacked.cn-record-list--rows:not(.cn-look-nextcloud *) .cn-record-list__row {
1967
+ padding: 0;
1968
+ }
1969
+
1970
+ .cn-look-board .cn-detail-page__side .cn-object-parties__main-text {
1971
+ line-height: normal;
1972
+ }
1973
+
1974
+ /* Appointment and note rows (DqTaak Afspraken, Notities): a hairline above
1975
+ every row including the first, 12px 0 padding, a 32px round tile (the day
1976
+ an appointment starts, the author's initials) 12px before the text, the
1977
+ title 15/600 and one 13px muted meta line joined with " · ". Every
1978
+ selector carries :not(.cn-look-nextcloud *) to outrank the cards' scoped
1979
+ rules, which tie with a two-class selector and load later.
1980
+ @spec openspec/changes/board-task-cards-rows/specs/task-cards/spec.md#requirement-board-appointment-and-note-rows-carry-a-tile-and-a-meta-line */
1981
+ .cn-look-board .cn-events-card__list:not(.cn-look-nextcloud *) {
1982
+ gap: 0;
1983
+ }
1984
+
1985
+ .cn-look-board .cn-events-card__event:not(.cn-look-nextcloud *),
1986
+ .cn-look-board .cn-events-card__event:not(.cn-look-nextcloud *):last-child,
1987
+ .cn-look-board .cn-notes-card__note:not(.cn-look-nextcloud *),
1988
+ .cn-look-board .cn-notes-card__note:not(.cn-look-nextcloud *):last-child {
1989
+ padding: 12px 0;
1990
+ border-top: 1px solid var(--cn-board-hairline);
1991
+ border-bottom: none;
1992
+ }
1993
+
1994
+ .cn-look-board .cn-events-card__day:not(.cn-look-nextcloud *),
1995
+ .cn-look-board .cn-notes-card__initials:not(.cn-look-nextcloud *) {
1996
+ display: inline-flex;
1997
+ flex: 0 0 32px;
1998
+ align-items: center;
1999
+ justify-content: center;
2000
+ width: 32px;
2001
+ height: 32px;
2002
+ border-radius: 50%;
2003
+ background: var(--color-primary-element-light);
2004
+ color: var(--color-primary-element-light-text);
2005
+ font-size: 12px;
2006
+ font-weight: 700;
2007
+ }
2008
+
2009
+ .cn-look-board .cn-events-card__text:not(.cn-look-nextcloud *) {
2010
+ flex-flow: row wrap;
2011
+ row-gap: 2px;
2012
+ }
2013
+
2014
+ .cn-look-board .cn-events-card__summary:not(.cn-look-nextcloud *),
2015
+ .cn-look-board .cn-notes-card__body:not(.cn-look-nextcloud *) {
2016
+ font-size: 15px;
2017
+ font-weight: 600;
2018
+ line-height: 1.35;
2019
+ }
2020
+
2021
+ .cn-look-board .cn-events-card__summary:not(.cn-look-nextcloud *) {
2022
+ flex-basis: 100%;
2023
+ }
2024
+
2025
+ .cn-look-board .cn-events-card__when:not(.cn-look-nextcloud *),
2026
+ .cn-look-board .cn-events-card__where:not(.cn-look-nextcloud *),
2027
+ .cn-look-board .cn-notes-card__author:not(.cn-look-nextcloud *),
2028
+ .cn-look-board .cn-notes-card__time:not(.cn-look-nextcloud *) {
2029
+ color: var(--color-text-maxcontrast);
2030
+ font-size: 13px;
2031
+ font-weight: 400;
2032
+ }
2033
+
2034
+ .cn-look-board .cn-events-card__where:not(.cn-look-nextcloud *)::before,
2035
+ .cn-look-board .cn-notes-card__time:not(.cn-look-nextcloud *)::before {
2036
+ content: ' · ';
2037
+ white-space: pre;
2038
+ }
2039
+
2040
+ .cn-look-board .cn-notes-card__note:not(.cn-look-nextcloud *) {
2041
+ display: flex;
2042
+ flex-direction: column;
2043
+ gap: 2px;
2044
+ padding-inline-start: 44px;
2045
+ }
2046
+
2047
+ .cn-look-board .cn-notes-card__initials:not(.cn-look-nextcloud *) {
2048
+ position: absolute;
2049
+ top: 12px;
2050
+ inset-inline-start: 0;
2051
+ }
2052
+
2053
+ .cn-look-board .cn-notes-card__body:not(.cn-look-nextcloud *) {
2054
+ order: -1;
2055
+ }
2056
+
2057
+ .cn-look-board .cn-notes-card__note-header:not(.cn-look-nextcloud *) {
2058
+ justify-content: flex-start;
2059
+ margin-bottom: 0;
2060
+ }
2061
+
2062
+ .cn-look-board .cn-notes-card__time:not(.cn-look-nextcloud *) {
2063
+ margin-inline-start: 0;
2064
+ }
2065
+
2066
+ /* The parties widget's rows as DqZaakBetrokkenen "Rollen" draws them: one
2067
+ ruled row per party, a 32px initials tile, the name over a muted meta line
2068
+ that names the role, the pills at the end. The role headings stay for
2069
+ assistive tech only.
2070
+ @spec openspec/changes/board-parties-rows/specs/parties/spec.md */
2071
+ .cn-look-board .cn-object-parties--board {
2072
+ gap: 8px;
2073
+ }
2074
+
2075
+ .cn-look-board .cn-object-parties--board .cn-object-parties__role-label {
2076
+ position: absolute;
2077
+ width: 1px;
2078
+ height: 1px;
2079
+ overflow: hidden;
2080
+ clip-path: inset(50%);
2081
+ white-space: nowrap;
2082
+ }
2083
+
2084
+ .cn-look-board .cn-object-parties--board .cn-object-parties__list {
2085
+ gap: 0;
2086
+ }
2087
+
2088
+ .cn-look-board .cn-object-parties--board .cn-object-parties__party {
2089
+ flex-wrap: nowrap;
2090
+ gap: 12px;
2091
+ padding: 12px 0;
2092
+ border-top: 1px solid var(--cn-board-hairline);
2093
+ border-radius: 0;
2094
+ }
2095
+
2096
+ .cn-look-board .cn-object-parties--board .cn-object-parties__tile {
2097
+ display: inline-flex;
2098
+ flex: none;
2099
+ align-items: center;
2100
+ justify-content: center;
2101
+ width: 32px;
2102
+ height: 32px;
2103
+ border-radius: 16px;
2104
+ background: var(--color-background-hover);
2105
+ color: var(--color-main-text);
2106
+ font-size: 12px;
2107
+ font-weight: 700;
2108
+ }
2109
+
2110
+ .cn-look-board .cn-object-parties--board .cn-object-parties__text {
2111
+ display: flex;
2112
+ flex: 1 1 auto;
2113
+ flex-direction: column;
2114
+ gap: 2px;
2115
+ min-width: 0;
2116
+ }
2117
+
2118
+ .cn-look-board .cn-object-parties--board .cn-object-parties__name {
2119
+ font-size: 15px;
2120
+ font-weight: 600;
2121
+ }
2122
+
2123
+ .cn-look-board .cn-object-parties--board .cn-object-parties__meta {
2124
+ font-size: 13px;
2125
+ color: var(--color-text-maxcontrast);
2126
+ }
2127
+
2128
+ /* The calendar and Deck cards' rows as DqZaakTaken "Afspraken" and "Kaarten"
2129
+ draw them: ruled rows, the title over a muted meta line, the pill at the
2130
+ end, and the link to the app under the rows.
2131
+ @spec openspec/changes/board-deck-calendar-rows/specs/integrations/spec.md */
2132
+ .cn-look-board .cn-detail-page .cn-calendar-card__row,
2133
+ .cn-look-board .cn-detail-page .cn-deck-card__row {
2134
+ display: flex;
2135
+ gap: 16px;
2136
+ align-items: center;
2137
+ justify-content: space-between;
2138
+ padding: 12px 0;
2139
+ border-top: 1px solid var(--cn-board-hairline);
2140
+ }
2141
+
2142
+ .cn-look-board .cn-detail-page .cn-calendar-card__row-main,
2143
+ .cn-look-board .cn-detail-page .cn-deck-card__row-main {
2144
+ display: flex;
2145
+ flex-direction: column;
2146
+ gap: 2px;
2147
+ min-width: 0;
2148
+ }
2149
+
2150
+ .cn-look-board .cn-detail-page .cn-calendar-card__title,
2151
+ .cn-look-board .cn-detail-page .cn-deck-card__row-title {
2152
+ font-size: 15px;
2153
+ font-weight: 600;
2154
+ color: var(--color-main-text);
2155
+ text-decoration: none;
2156
+ }
2157
+
2158
+ .cn-look-board .cn-detail-page .cn-calendar-card__meta,
2159
+ .cn-look-board .cn-detail-page .cn-deck-card__row-meta {
2160
+ font-size: 13px;
2161
+ color: var(--color-text-maxcontrast);
2162
+ }
2163
+
2164
+ .cn-look-board .cn-object-parties--board .cn-object-parties__end {
2165
+ display: flex;
2166
+ flex: none;
2167
+ flex-wrap: wrap;
2168
+ gap: 8px;
2169
+ align-items: center;
2170
+ }
2171
+
2172
+ .cn-look-board .cn-detail-page .cn-deck-card__row-list {
2173
+ margin: 0;
2174
+ padding: 0;
2175
+ list-style: none;
2176
+ }
2177
+
2178
+ .cn-look-board .cn-detail-page .cn-calendar-card__open,
2179
+ .cn-look-board .cn-detail-page .cn-deck-card__open {
2180
+ display: inline-block;
2181
+ margin-top: 12px;
2182
+ font-size: 14px;
2183
+ font-weight: 600;
2184
+ text-decoration: underline;
2185
+ }
2186
+
2187
+ /* Two-column facts (`columns: 2`, DqContact "Contact", DqOrganisatie
2188
+ "Organisatie"): the boards draw the label 2px above a regular-weight
2189
+ value, with no hairline under the fact; the 14px row gap separates them.
2190
+ @spec openspec/changes/board-facts-columns-plain/specs/board-facts-columns-plain/spec.md#requirement-board-two-column-facts-are-plain-label-over-value-pairs */
2191
+ .cn-look-board .cn-facts-widget__rows--columns:not(.cn-look-nextcloud *) .cn-facts-widget__row {
2192
+ gap: 2px;
2193
+ padding-bottom: 0;
2194
+ border-bottom: none;
2195
+ }
2196
+
2197
+ .cn-look-board .cn-facts-widget__rows--columns:not(.cn-look-nextcloud *) .cn-facts-widget__value.cn-facts-widget__value {
2198
+ font-weight: 400;
2199
+ line-height: normal;
2200
+ }
2201
+
2202
+ .cn-look-board .cn-facts-widget__rows--columns:not(.cn-look-nextcloud *) .cn-facts-widget__label.cn-facts-widget__label {
2203
+ line-height: normal;
2204
+ }
2205
+
2206
+ /* A ruled list in a page card (`ruleAbove`, DqContact and DqOrganisatie
2207
+ "Zaken", "Tickets"): the rule sits 12px under the title and each row has
2208
+ 12px above and below its text, so the first row's text is 25px under the
2209
+ title.
2210
+ @spec openspec/changes/board-ruled-list-card-start/specs/board-ruled-list-card-start/spec.md#requirement-a-board-ruled-list-in-a-page-card-starts-12px-under-the-title */
2211
+ .cn-look-board .cn-detail-page .cn-widget-wrapper__content:has(> .cn-record-list--rows.cn-record-list--rule-above):not(.cn-detail-page__side *),
2212
+ .cn-look-board .cn-detail-card__content:has(> .cn-record-list--rows.cn-record-list--rule-above):not(.cn-detail-page__side *) {
2213
+ padding-top: 12px;
2214
+ }
2215
+
2216
+ .cn-look-board .cn-detail-page .cn-record-list--rows.cn-record-list--rule-above:not(.cn-detail-page__side *):not(.cn-look-nextcloud *) .cn-record-list__row {
2217
+ padding: 12px 0;
2218
+ }
2219
+
2220
+ /* A side list row with initials stays one line: a 28px circle 8px before
2221
+ the regular-weight text (DqSociaalDomein "Wie"). The library stacks side
2222
+ rows into a column, which put the initials above the name.
2223
+ @spec openspec/changes/board-side-person-rows/specs/board-side-person-rows/spec.md#requirement-a-board-side-row-with-initials-keeps-them-beside-the-text */
2224
+ .cn-look-board .cn-detail-page__side .cn-record-list__row:has(> .cn-record-list__avatar):not(.cn-look-nextcloud *) {
2225
+ flex-direction: row;
2226
+ align-items: center;
2227
+ gap: 8px;
2228
+ }
2229
+
2230
+ .cn-look-board .cn-detail-page__side .cn-record-list__row:not(.cn-look-nextcloud *) > .cn-record-list__avatar {
2231
+ width: 28px;
2232
+ height: 28px;
2233
+ }
2234
+
2235
+ .cn-look-board .cn-detail-page__side .cn-record-list__row:has(> .cn-record-list__avatar):not(.cn-look-nextcloud *) .cn-record-list__title {
2236
+ font-weight: 400;
2237
+ }