@conduction/nextcloud-vue 2.121.0 → 2.122.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.
@@ -295,9 +295,15 @@
295
295
  look sets 600 on each button, so every NcButton on a board page draws the
296
296
  board's weight without a rule per surface. Breadcrumb buttons keep the
297
297
  crumb weight.
298
- @spec openspec/changes/board-button-weight/specs/board-button-weight/spec.md#requirement-a-board-button-draws-at-600 */
298
+ The boards also draw a button's text at 14px, against Nextcloud's 15px.
299
+ NcButton reads its size from --default-font-size, so the look sets that
300
+ variable on the button: a surface that sets its own `font-size` (the next
301
+ step card's 15px) keeps it.
302
+ @spec openspec/changes/board-button-weight/specs/board-button-weight/spec.md#requirement-a-board-button-draws-at-600
303
+ @spec openspec/changes/board-control-text/specs/board-control-text/spec.md#requirement-a-board-button-draws-its-text-at-14px */
299
304
  .cn-look-board .button-vue:not(.cn-look-nextcloud *):not(.vue-crumb *) {
300
305
  --font-weight-element: 600;
306
+ --default-font-size: 14px;
301
307
  }
302
308
 
303
309
  /* ---- A button with an icon and a label --------------------------------- */
@@ -460,6 +466,26 @@
460
466
  background: var(--color-background-hover);
461
467
  }
462
468
 
469
+ /* ---- A secondary button --------------------------------------------------- */
470
+ /* The boards draw every secondary button neutral: the main background, a 1px
471
+ control border, the main text, the hover ground on hover (DqFlow "Testen
472
+ met een zaak", DqFunctionaliteiten "Documentatie", DqTaak "Afronden").
473
+ NcButton draws its secondary from the primary-light variables, on a 2px
474
+ bottom edge; the look points those variables at the neutral colours on the
475
+ button itself. The selector weighs (0,3,0): it outranks NcButton's border
476
+ (0,2,0), and a surface rule of the same weight later in the cascade (a
477
+ dialog's cancel) still decides for its surface.
478
+ @spec openspec/changes/board-secondary-neutral/specs/board-secondary-neutral/spec.md#requirement-a-board-secondary-button-is-neutral */
479
+ .cn-look-board .button-vue.button-vue--secondary:where(:not(.cn-look-nextcloud *):not(.vue-crumb *)),
480
+ .cn-look-board .button-vue.button-vue--vue-secondary:where(:not(.cn-look-nextcloud *):not(.vue-crumb *)) {
481
+ --color-primary-element-light: var(--color-main-background);
482
+ --color-primary-element-light-hover: var(--color-background-hover);
483
+ --color-primary-element-light-text: var(--color-main-text);
484
+ --nldesign-color-on-surface: var(--color-main-text);
485
+ border: 1px solid var(--cn-board-control-border);
486
+ color: var(--color-main-text);
487
+ }
488
+
463
489
  /* ---- Header action buttons (CnActionButtons) ----------------------------- */
464
490
  /* The board draws a page's secondary actions as neutral 40px buttons: the
465
491
  main background, a grey border, the main text at 600 (DqZaak "Bericht",
@@ -3456,16 +3482,36 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
3456
3482
  width: 18%;
3457
3483
  }
3458
3484
 
3459
- /* The board's data cells sit 12px apart (PqTickets), the first one 18px from
3460
- the selection column; the selection and menu columns keep 16px. */
3461
- .cn-look-board .cn-index-page__main--table .cn-table-container--board .cn-data-table th:not(.cn-table-col--checkbox):not(.cn-table-col--actions):not(.cn-table-col--icon),
3462
- .cn-look-board .cn-index-page__main--table .cn-table-container--board .cn-data-table td:not(.cn-table-col--checkbox):not(.cn-table-col--actions):not(.cn-table-col--icon) {
3485
+ /* An index table pads every cell 16px at the sides (DqZaken). The plain-title
3486
+ table (`rowTitle: "plain"`: PqTickets, OcPublicaties) sets its data cells
3487
+ 12px apart and its title column 18px from the selection column; the
3488
+ selection and menu columns keep 16px. The title column is left out of the
3489
+ 12px rule, which would otherwise outrank the 18px one.
3490
+ @spec openspec/changes/board-table-density/specs/board-table-density/spec.md#requirement-a-board-table-pads-its-cells-as-the-boards-draw-them */
3491
+ .cn-look-board .cn-index-page__main--table .cn-table-container--board.cn-table-container--title-plain .cn-data-table th:not(.cn-table-col--checkbox):not(.cn-table-col--actions):not(.cn-table-col--icon):not(.cn-table-head--title),
3492
+ .cn-look-board .cn-index-page__main--table .cn-table-container--board.cn-table-container--title-plain .cn-data-table td:not(.cn-table-col--checkbox):not(.cn-table-col--actions):not(.cn-table-col--icon):not(.cn-table-col--title) {
3463
3493
  padding-inline: 12px;
3464
3494
  }
3465
3495
 
3466
- .cn-look-board .cn-index-page__main--table .cn-table-container--board .cn-data-table th.cn-table-head--title,
3467
- .cn-look-board .cn-index-page__main--table .cn-table-container--board .cn-data-table td.cn-table-col--title {
3468
- padding-inline-start: 18px;
3496
+ .cn-look-board .cn-index-page__main--table .cn-table-container--board.cn-table-container--title-plain .cn-data-table th.cn-table-head--title,
3497
+ .cn-look-board .cn-index-page__main--table .cn-table-container--board.cn-table-container--title-plain .cn-data-table td.cn-table-col--title {
3498
+ padding-inline: 18px 12px;
3499
+ }
3500
+
3501
+ /* A table that is not an index page's main list sits in a card and is the
3502
+ compact one: 10px 12px in the header, 11px 12px in the cells
3503
+ (DqInstellingen, DqVthInstellingen, DqZaaktype, DqTermijnen). The selection
3504
+ column keeps its 16px, so it stays 60px wide. */
3505
+ .cn-look-board .cn-table-container--board:not(.cn-index-page__main--table > *) .cn-data-table th {
3506
+ padding: 10px 12px;
3507
+ }
3508
+
3509
+ .cn-look-board .cn-table-container--board:not(.cn-index-page__main--table > *) .cn-data-table td {
3510
+ padding: 11px 12px;
3511
+ }
3512
+
3513
+ .cn-look-board .cn-table-container--board:not(.cn-index-page__main--table > *) .cn-data-table .cn-table-col--checkbox {
3514
+ padding-inline: 16px;
3469
3515
  }
3470
3516
 
3471
3517
  .cn-look-board .cn-index-page__main--table .cn-table-container--board .cn-data-table td > .cn-cell-renderer {
@@ -3695,12 +3741,15 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
3695
3741
  }
3696
3742
 
3697
3743
  /* A page link is a <button>: Nextcloud's `button` rule sets it bold, the
3698
- boards set the links at the regular weight and only the current page at 600. */
3744
+ boards set the links at the regular weight and only the current page at 600.
3745
+ The boards size a link's content box at 34px, so a bordered link is 36px
3746
+ and the borderless current page 34px (DqZaken "2", "Volgende", "1").
3747
+ @spec openspec/changes/board-pagination-links/specs/board-pagination-links/spec.md#requirement-a-board-page-link-is-sized-as-the-boards-draw-it */
3699
3748
  .cn-look-board .cn-pagination--board .cn-pagination__board-link {
3700
3749
  box-sizing: border-box;
3701
- min-width: 34px;
3702
- height: 34px;
3703
- min-height: 34px;
3750
+ min-width: 36px;
3751
+ height: 36px;
3752
+ min-height: 36px;
3704
3753
  margin: 0;
3705
3754
  padding: 0 8px;
3706
3755
  border: 1px solid var(--color-border);
@@ -3725,7 +3774,10 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
3725
3774
  }
3726
3775
 
3727
3776
  .cn-look-board .cn-pagination--board .cn-pagination__board-link--current {
3728
- border-color: var(--color-primary-element);
3777
+ min-width: 34px;
3778
+ height: 34px;
3779
+ min-height: 34px;
3780
+ border: 0;
3729
3781
  background: var(--color-primary-element);
3730
3782
  color: var(--color-primary-element-text);
3731
3783
  font-weight: 600;
@@ -4228,6 +4280,76 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
4228
4280
  border-bottom: none;
4229
4281
  padding-block: 2px;
4230
4282
  }
4283
+
4284
+ /* ---- The index side panel (CnIndexSidebar, board IndexZijpaneel) -------- */
4285
+ /* The panel's title is 20px bold without the schema icon, and its tabs are
4286
+ one row of 40px labels, 14px weight 600 in the soft ink, the open one in
4287
+ the deep primary ink and underlined 2px in the primary colour on the
4288
+ strip's rule (DqFilterBeheren). NcAppSidebar stacks the icon over the
4289
+ label in a 54px tile with a highlight bar; the board does neither. The
4290
+ header rule repeats NcAppSidebar's own chain to outrank it.
4291
+ @spec openspec/changes/board-index-sidebar-tabs/specs/board-index-sidebar-tabs/spec.md#requirement-the-board-index-side-panel-draws-the-boards-header-and-tab-row */
4292
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container h2.app-sidebar-header__mainname {
4293
+ font-size: 20px;
4294
+ font-weight: 700;
4295
+ line-height: 1.2;
4296
+ min-height: 0;
4297
+ }
4298
+
4299
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-header__figure:has(> .cn-index-sidebar__header-icon) {
4300
+ display: none;
4301
+ }
4302
+
4303
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__nav[role="tablist"] {
4304
+ justify-content: flex-start;
4305
+ gap: 4px;
4306
+ margin: 0;
4307
+ padding: 14px 12px 0;
4308
+ border-bottom: 1px solid var(--color-border);
4309
+ }
4310
+
4311
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__highlight {
4312
+ display: none;
4313
+ }
4314
+
4315
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__tab[role="tab"] {
4316
+ flex: 0 0 auto;
4317
+ flex-direction: row;
4318
+ align-items: center;
4319
+ gap: 6px;
4320
+ box-sizing: border-box;
4321
+ height: 40px;
4322
+ min-height: 40px;
4323
+ margin: 0 0 -1px;
4324
+ padding: 0 10px;
4325
+ border: 0;
4326
+ border-bottom: 2px solid transparent;
4327
+ border-radius: 0;
4328
+ background: transparent;
4329
+ color: var(--cn-board-text-soft);
4330
+ font-size: 14px;
4331
+ font-weight: 600;
4332
+ }
4333
+
4334
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__tab[role="tab"] * {
4335
+ font-weight: inherit;
4336
+ }
4337
+
4338
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__tab[role="tab"]::after {
4339
+ content: none;
4340
+ }
4341
+
4342
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__tab[role="tab"]:hover {
4343
+ background: transparent;
4344
+ border-bottom-color: var(--color-border-dark);
4345
+ color: var(--color-main-text);
4346
+ }
4347
+
4348
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__tab[role="tab"][aria-selected="true"] {
4349
+ background: transparent;
4350
+ border-bottom-color: var(--color-primary-element);
4351
+ color: var(--color-primary-element-light-text);
4352
+ }
4231
4353
  /* ========================================
4232
4354
  @conduction/nextcloud-vue — Table Styles
4233
4355
  ======================================== */
@@ -9483,6 +9605,33 @@ li[data-cn-admin-tag] > .action-link::after {
9483
9605
  .cn-look-board .cn-tasks-widget .cn-tasks-widget__cell-actions .button-vue .button-vue__text.button-vue__text {
9484
9606
  padding-inline: 0;
9485
9607
  }
9608
+
9609
+ /* ---- Grouped cards (CnGroupedCardsWidget, DqZaaktype "Fasen en taken") --- */
9610
+ /* Groups 14px apart, each padded 14px with a 10px radius and a bold title; a
9611
+ card in a group is padded 9px 12px with the 8px control radius, its title
9612
+ 15px. The doubled class outranks the widget's scoped rules.
9613
+ @spec openspec/changes/board-grouped-cards/specs/board-grouped-cards/spec.md#requirement-board-grouped-cards-take-the-boards-group-and-card-shape */
9614
+ .cn-look-board .cn-grouped-cards__grid.cn-grouped-cards__grid {
9615
+ gap: 14px;
9616
+ }
9617
+
9618
+ .cn-look-board .cn-grouped-cards__group.cn-grouped-cards__group {
9619
+ padding: 14px;
9620
+ border-radius: 10px;
9621
+ }
9622
+
9623
+ .cn-look-board .cn-grouped-cards__group-title.cn-grouped-cards__group-title {
9624
+ font-weight: 700;
9625
+ }
9626
+
9627
+ .cn-look-board .cn-grouped-cards__item.cn-grouped-cards__item {
9628
+ padding: 9px 12px;
9629
+ border-radius: var(--cn-board-control-radius, 8px);
9630
+ }
9631
+
9632
+ .cn-look-board .cn-grouped-cards__item-title.cn-grouped-cards__item-title {
9633
+ font-size: 15px;
9634
+ }
9486
9635
  /*
9487
9636
  * The reports page under the board look (screens-reports-page-board-look,
9488
9637
  * board DcRapportages): a 28px title over a muted lead, one section per
@@ -325964,6 +325964,7 @@ function render$28(_ctx, _cache, $props, $setup, $data, $options) {
325964
325964
  return (vue$1.openBlock(), vue$1.createBlock(_component_NcAppSidebar, {
325965
325965
  open: $data.internalOpen,
325966
325966
  "onUpdate:open": _cache[15] || (_cache[15] = $event => (($data.internalOpen) = $event)),
325967
+ class: "cn-index-sidebar-panel",
325967
325968
  name: $options.resolvedName,
325968
325969
  title: $options.resolvedName,
325969
325970
  subname: $options.resolvedSubname,
@@ -1,4 +1,4 @@
1
1
  [diffend] Oversized file quarantined before diffing.
2
2
  name: package/dist/nextcloud-vue.cjs.js.map
3
- size: 47024571 bytes
4
- sha256: c36fab8af124cf6644868934dabda4dada23b502e7bb27dd1b562d5fa62506d6
3
+ size: 47024675 bytes
4
+ sha256: 4ccc3ad4920a651204c55c5c9d57454016160f1c0b2417ac1909f351319e6346
@@ -295,9 +295,15 @@
295
295
  look sets 600 on each button, so every NcButton on a board page draws the
296
296
  board's weight without a rule per surface. Breadcrumb buttons keep the
297
297
  crumb weight.
298
- @spec openspec/changes/board-button-weight/specs/board-button-weight/spec.md#requirement-a-board-button-draws-at-600 */
298
+ The boards also draw a button's text at 14px, against Nextcloud's 15px.
299
+ NcButton reads its size from --default-font-size, so the look sets that
300
+ variable on the button: a surface that sets its own `font-size` (the next
301
+ step card's 15px) keeps it.
302
+ @spec openspec/changes/board-button-weight/specs/board-button-weight/spec.md#requirement-a-board-button-draws-at-600
303
+ @spec openspec/changes/board-control-text/specs/board-control-text/spec.md#requirement-a-board-button-draws-its-text-at-14px */
299
304
  .cn-look-board .button-vue:not(.cn-look-nextcloud *):not(.vue-crumb *) {
300
305
  --font-weight-element: 600;
306
+ --default-font-size: 14px;
301
307
  }
302
308
 
303
309
  /* ---- A button with an icon and a label --------------------------------- */
@@ -460,6 +466,26 @@
460
466
  background: var(--color-background-hover);
461
467
  }
462
468
 
469
+ /* ---- A secondary button --------------------------------------------------- */
470
+ /* The boards draw every secondary button neutral: the main background, a 1px
471
+ control border, the main text, the hover ground on hover (DqFlow "Testen
472
+ met een zaak", DqFunctionaliteiten "Documentatie", DqTaak "Afronden").
473
+ NcButton draws its secondary from the primary-light variables, on a 2px
474
+ bottom edge; the look points those variables at the neutral colours on the
475
+ button itself. The selector weighs (0,3,0): it outranks NcButton's border
476
+ (0,2,0), and a surface rule of the same weight later in the cascade (a
477
+ dialog's cancel) still decides for its surface.
478
+ @spec openspec/changes/board-secondary-neutral/specs/board-secondary-neutral/spec.md#requirement-a-board-secondary-button-is-neutral */
479
+ .cn-look-board .button-vue.button-vue--secondary:where(:not(.cn-look-nextcloud *):not(.vue-crumb *)),
480
+ .cn-look-board .button-vue.button-vue--vue-secondary:where(:not(.cn-look-nextcloud *):not(.vue-crumb *)) {
481
+ --color-primary-element-light: var(--color-main-background);
482
+ --color-primary-element-light-hover: var(--color-background-hover);
483
+ --color-primary-element-light-text: var(--color-main-text);
484
+ --nldesign-color-on-surface: var(--color-main-text);
485
+ border: 1px solid var(--cn-board-control-border);
486
+ color: var(--color-main-text);
487
+ }
488
+
463
489
  /* ---- Header action buttons (CnActionButtons) ----------------------------- */
464
490
  /* The board draws a page's secondary actions as neutral 40px buttons: the
465
491
  main background, a grey border, the main text at 600 (DqZaak "Bericht",
@@ -3456,16 +3482,36 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
3456
3482
  width: 18%;
3457
3483
  }
3458
3484
 
3459
- /* The board's data cells sit 12px apart (PqTickets), the first one 18px from
3460
- the selection column; the selection and menu columns keep 16px. */
3461
- .cn-look-board .cn-index-page__main--table .cn-table-container--board .cn-data-table th:not(.cn-table-col--checkbox):not(.cn-table-col--actions):not(.cn-table-col--icon),
3462
- .cn-look-board .cn-index-page__main--table .cn-table-container--board .cn-data-table td:not(.cn-table-col--checkbox):not(.cn-table-col--actions):not(.cn-table-col--icon) {
3485
+ /* An index table pads every cell 16px at the sides (DqZaken). The plain-title
3486
+ table (`rowTitle: "plain"`: PqTickets, OcPublicaties) sets its data cells
3487
+ 12px apart and its title column 18px from the selection column; the
3488
+ selection and menu columns keep 16px. The title column is left out of the
3489
+ 12px rule, which would otherwise outrank the 18px one.
3490
+ @spec openspec/changes/board-table-density/specs/board-table-density/spec.md#requirement-a-board-table-pads-its-cells-as-the-boards-draw-them */
3491
+ .cn-look-board .cn-index-page__main--table .cn-table-container--board.cn-table-container--title-plain .cn-data-table th:not(.cn-table-col--checkbox):not(.cn-table-col--actions):not(.cn-table-col--icon):not(.cn-table-head--title),
3492
+ .cn-look-board .cn-index-page__main--table .cn-table-container--board.cn-table-container--title-plain .cn-data-table td:not(.cn-table-col--checkbox):not(.cn-table-col--actions):not(.cn-table-col--icon):not(.cn-table-col--title) {
3463
3493
  padding-inline: 12px;
3464
3494
  }
3465
3495
 
3466
- .cn-look-board .cn-index-page__main--table .cn-table-container--board .cn-data-table th.cn-table-head--title,
3467
- .cn-look-board .cn-index-page__main--table .cn-table-container--board .cn-data-table td.cn-table-col--title {
3468
- padding-inline-start: 18px;
3496
+ .cn-look-board .cn-index-page__main--table .cn-table-container--board.cn-table-container--title-plain .cn-data-table th.cn-table-head--title,
3497
+ .cn-look-board .cn-index-page__main--table .cn-table-container--board.cn-table-container--title-plain .cn-data-table td.cn-table-col--title {
3498
+ padding-inline: 18px 12px;
3499
+ }
3500
+
3501
+ /* A table that is not an index page's main list sits in a card and is the
3502
+ compact one: 10px 12px in the header, 11px 12px in the cells
3503
+ (DqInstellingen, DqVthInstellingen, DqZaaktype, DqTermijnen). The selection
3504
+ column keeps its 16px, so it stays 60px wide. */
3505
+ .cn-look-board .cn-table-container--board:not(.cn-index-page__main--table > *) .cn-data-table th {
3506
+ padding: 10px 12px;
3507
+ }
3508
+
3509
+ .cn-look-board .cn-table-container--board:not(.cn-index-page__main--table > *) .cn-data-table td {
3510
+ padding: 11px 12px;
3511
+ }
3512
+
3513
+ .cn-look-board .cn-table-container--board:not(.cn-index-page__main--table > *) .cn-data-table .cn-table-col--checkbox {
3514
+ padding-inline: 16px;
3469
3515
  }
3470
3516
 
3471
3517
  .cn-look-board .cn-index-page__main--table .cn-table-container--board .cn-data-table td > .cn-cell-renderer {
@@ -3695,12 +3741,15 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
3695
3741
  }
3696
3742
 
3697
3743
  /* A page link is a <button>: Nextcloud's `button` rule sets it bold, the
3698
- boards set the links at the regular weight and only the current page at 600. */
3744
+ boards set the links at the regular weight and only the current page at 600.
3745
+ The boards size a link's content box at 34px, so a bordered link is 36px
3746
+ and the borderless current page 34px (DqZaken "2", "Volgende", "1").
3747
+ @spec openspec/changes/board-pagination-links/specs/board-pagination-links/spec.md#requirement-a-board-page-link-is-sized-as-the-boards-draw-it */
3699
3748
  .cn-look-board .cn-pagination--board .cn-pagination__board-link {
3700
3749
  box-sizing: border-box;
3701
- min-width: 34px;
3702
- height: 34px;
3703
- min-height: 34px;
3750
+ min-width: 36px;
3751
+ height: 36px;
3752
+ min-height: 36px;
3704
3753
  margin: 0;
3705
3754
  padding: 0 8px;
3706
3755
  border: 1px solid var(--color-border);
@@ -3725,7 +3774,10 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
3725
3774
  }
3726
3775
 
3727
3776
  .cn-look-board .cn-pagination--board .cn-pagination__board-link--current {
3728
- border-color: var(--color-primary-element);
3777
+ min-width: 34px;
3778
+ height: 34px;
3779
+ min-height: 34px;
3780
+ border: 0;
3729
3781
  background: var(--color-primary-element);
3730
3782
  color: var(--color-primary-element-text);
3731
3783
  font-weight: 600;
@@ -4228,6 +4280,76 @@ body:has(.cn-look-board):not(:has(.cn-look-nextcloud)) .v-popper__popper.action-
4228
4280
  border-bottom: none;
4229
4281
  padding-block: 2px;
4230
4282
  }
4283
+
4284
+ /* ---- The index side panel (CnIndexSidebar, board IndexZijpaneel) -------- */
4285
+ /* The panel's title is 20px bold without the schema icon, and its tabs are
4286
+ one row of 40px labels, 14px weight 600 in the soft ink, the open one in
4287
+ the deep primary ink and underlined 2px in the primary colour on the
4288
+ strip's rule (DqFilterBeheren). NcAppSidebar stacks the icon over the
4289
+ label in a 54px tile with a highlight bar; the board does neither. The
4290
+ header rule repeats NcAppSidebar's own chain to outrank it.
4291
+ @spec openspec/changes/board-index-sidebar-tabs/specs/board-index-sidebar-tabs/spec.md#requirement-the-board-index-side-panel-draws-the-boards-header-and-tab-row */
4292
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-header__desc .app-sidebar-header__name-container .app-sidebar-header__mainname-container h2.app-sidebar-header__mainname {
4293
+ font-size: 20px;
4294
+ font-weight: 700;
4295
+ line-height: 1.2;
4296
+ min-height: 0;
4297
+ }
4298
+
4299
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-header__figure:has(> .cn-index-sidebar__header-icon) {
4300
+ display: none;
4301
+ }
4302
+
4303
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__nav[role="tablist"] {
4304
+ justify-content: flex-start;
4305
+ gap: 4px;
4306
+ margin: 0;
4307
+ padding: 14px 12px 0;
4308
+ border-bottom: 1px solid var(--color-border);
4309
+ }
4310
+
4311
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__highlight {
4312
+ display: none;
4313
+ }
4314
+
4315
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__tab[role="tab"] {
4316
+ flex: 0 0 auto;
4317
+ flex-direction: row;
4318
+ align-items: center;
4319
+ gap: 6px;
4320
+ box-sizing: border-box;
4321
+ height: 40px;
4322
+ min-height: 40px;
4323
+ margin: 0 0 -1px;
4324
+ padding: 0 10px;
4325
+ border: 0;
4326
+ border-bottom: 2px solid transparent;
4327
+ border-radius: 0;
4328
+ background: transparent;
4329
+ color: var(--cn-board-text-soft);
4330
+ font-size: 14px;
4331
+ font-weight: 600;
4332
+ }
4333
+
4334
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__tab[role="tab"] * {
4335
+ font-weight: inherit;
4336
+ }
4337
+
4338
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__tab[role="tab"]::after {
4339
+ content: none;
4340
+ }
4341
+
4342
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__tab[role="tab"]:hover {
4343
+ background: transparent;
4344
+ border-bottom-color: var(--color-border-dark);
4345
+ color: var(--color-main-text);
4346
+ }
4347
+
4348
+ .cn-look-board .cn-index-sidebar-panel .app-sidebar-tabs__tab[role="tab"][aria-selected="true"] {
4349
+ background: transparent;
4350
+ border-bottom-color: var(--color-primary-element);
4351
+ color: var(--color-primary-element-light-text);
4352
+ }
4231
4353
  /* ========================================
4232
4354
  @conduction/nextcloud-vue — Table Styles
4233
4355
  ======================================== */
@@ -9483,6 +9605,33 @@ li[data-cn-admin-tag] > .action-link::after {
9483
9605
  .cn-look-board .cn-tasks-widget .cn-tasks-widget__cell-actions .button-vue .button-vue__text.button-vue__text {
9484
9606
  padding-inline: 0;
9485
9607
  }
9608
+
9609
+ /* ---- Grouped cards (CnGroupedCardsWidget, DqZaaktype "Fasen en taken") --- */
9610
+ /* Groups 14px apart, each padded 14px with a 10px radius and a bold title; a
9611
+ card in a group is padded 9px 12px with the 8px control radius, its title
9612
+ 15px. The doubled class outranks the widget's scoped rules.
9613
+ @spec openspec/changes/board-grouped-cards/specs/board-grouped-cards/spec.md#requirement-board-grouped-cards-take-the-boards-group-and-card-shape */
9614
+ .cn-look-board .cn-grouped-cards__grid.cn-grouped-cards__grid {
9615
+ gap: 14px;
9616
+ }
9617
+
9618
+ .cn-look-board .cn-grouped-cards__group.cn-grouped-cards__group {
9619
+ padding: 14px;
9620
+ border-radius: 10px;
9621
+ }
9622
+
9623
+ .cn-look-board .cn-grouped-cards__group-title.cn-grouped-cards__group-title {
9624
+ font-weight: 700;
9625
+ }
9626
+
9627
+ .cn-look-board .cn-grouped-cards__item.cn-grouped-cards__item {
9628
+ padding: 9px 12px;
9629
+ border-radius: var(--cn-board-control-radius, 8px);
9630
+ }
9631
+
9632
+ .cn-look-board .cn-grouped-cards__item-title.cn-grouped-cards__item-title {
9633
+ font-size: 15px;
9634
+ }
9486
9635
  /*
9487
9636
  * The reports page under the board look (screens-reports-page-board-look,
9488
9637
  * board DcRapportages): a 28px title over a muted lead, one section per
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@conduction/nextcloud-vue",
3
- "version": "2.121.0",
3
+ "version": "2.122.0",
4
4
  "description": "Shared Vue component library for Conduction Nextcloud apps — complements @nextcloud/vue with higher-level components, OpenRegister integration, and NL Design System support",
5
5
  "homepage": "https://github.com/ConductionNL/nextcloud-vue#readme",
6
6
  "bugs": {
@@ -1,6 +1,7 @@
1
1
  <template>
2
2
  <NcAppSidebar
3
3
  v-model:open="internalOpen"
4
+ class="cn-index-sidebar-panel"
4
5
  :name="resolvedName"
5
6
  :title="resolvedName"
6
7
  :subname="resolvedSubname"
@@ -974,3 +974,30 @@
974
974
  .cn-look-board .cn-tasks-widget .cn-tasks-widget__cell-actions .button-vue .button-vue__text.button-vue__text {
975
975
  padding-inline: 0;
976
976
  }
977
+
978
+ /* ---- Grouped cards (CnGroupedCardsWidget, DqZaaktype "Fasen en taken") --- */
979
+ /* Groups 14px apart, each padded 14px with a 10px radius and a bold title; a
980
+ card in a group is padded 9px 12px with the 8px control radius, its title
981
+ 15px. The doubled class outranks the widget's scoped rules.
982
+ @spec openspec/changes/board-grouped-cards/specs/board-grouped-cards/spec.md#requirement-board-grouped-cards-take-the-boards-group-and-card-shape */
983
+ .cn-look-board .cn-grouped-cards__grid.cn-grouped-cards__grid {
984
+ gap: 14px;
985
+ }
986
+
987
+ .cn-look-board .cn-grouped-cards__group.cn-grouped-cards__group {
988
+ padding: 14px;
989
+ border-radius: 10px;
990
+ }
991
+
992
+ .cn-look-board .cn-grouped-cards__group-title.cn-grouped-cards__group-title {
993
+ font-weight: 700;
994
+ }
995
+
996
+ .cn-look-board .cn-grouped-cards__item.cn-grouped-cards__item {
997
+ padding: 9px 12px;
998
+ border-radius: var(--cn-board-control-radius, 8px);
999
+ }
1000
+
1001
+ .cn-look-board .cn-grouped-cards__item-title.cn-grouped-cards__item-title {
1002
+ font-size: 15px;
1003
+ }