@conduction/nextcloud-vue 2.102.0 → 2.103.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 (90) hide show
  1. package/dist/esm/components/CnConversationThread/CnConversationThread.vue.js +1 -1
  2. package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js +73 -0
  3. package/dist/esm/components/CnConversationThread/CnConversationThread.vue2.js.map +1 -1
  4. package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js +99 -64
  5. package/dist/esm/components/CnConversationThread/CnConversationThread.vue3.js.map +1 -1
  6. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue.js +1 -1
  7. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js +46 -0
  8. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue2.js.map +1 -1
  9. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js +37 -2
  10. package/dist/esm/components/CnConversationThread/CnConversationWidget.vue3.js.map +1 -1
  11. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
  12. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +29 -6
  13. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  14. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  15. package/dist/esm/components/CnFormDialog/CnFormDialog.vue.js +1 -1
  16. package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js +113 -20
  17. package/dist/esm/components/CnFormDialog/CnFormDialog.vue2.js.map +1 -1
  18. package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js +387 -359
  19. package/dist/esm/components/CnFormDialog/CnFormDialog.vue3.js.map +1 -1
  20. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +14 -0
  21. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  22. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +2 -2
  23. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  24. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue.js +1 -1
  25. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js +10 -1
  26. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue2.js.map +1 -1
  27. package/dist/esm/components/CnObjectListWidget/CnObjectListWidget.vue3.js.map +1 -1
  28. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue.js +1 -1
  29. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js +97 -3
  30. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue2.js.map +1 -1
  31. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js +46 -2
  32. package/dist/esm/components/CnRecordListWidget/CnRecordListWidget.vue3.js.map +1 -1
  33. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue.js +9 -0
  34. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue.js.map +1 -0
  35. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue2.js +165 -0
  36. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue2.js.map +1 -0
  37. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue3.js +85 -0
  38. package/dist/esm/components/CnSearchSelect/CnSearchSelect.vue3.js.map +1 -0
  39. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue.js +1 -1
  40. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js +54 -6
  41. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue2.js.map +1 -1
  42. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js +3 -1
  43. package/dist/esm/components/CnSetupWizard/CnSetupWizard.vue3.js.map +1 -1
  44. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue.js +1 -1
  45. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js +8 -1
  46. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue2.js.map +1 -1
  47. package/dist/esm/components/CnTabsWidget/CnTabsWidget.vue3.js.map +1 -1
  48. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue.js +1 -1
  49. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue2.js +19 -0
  50. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue2.js.map +1 -1
  51. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue3.js +1 -1
  52. package/dist/esm/components/CnWizardDialog/CnWizardDialog.vue3.js.map +1 -1
  53. package/dist/esm/index.js +1 -0
  54. package/dist/esm/index.js.map +1 -1
  55. package/dist/esm/library-style.js +1 -1
  56. package/dist/esm/mixins/pageViews.js +8 -1
  57. package/dist/esm/mixins/pageViews.js.map +1 -1
  58. package/dist/esm/nextcloud-vue.css +472 -383
  59. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  60. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  61. package/dist/esm/utils/visibleWhen.js +13 -2
  62. package/dist/esm/utils/visibleWhen.js.map +1 -1
  63. package/dist/nextcloud-vue.cjs.js +10707 -9883
  64. package/dist/nextcloud-vue.cjs.js.map +2 -2
  65. package/dist/nextcloud-vue.css +472 -383
  66. package/package.json +1 -1
  67. package/src/components/CnConversationThread/CnConversationThread.md +17 -0
  68. package/src/components/CnConversationThread/CnConversationThread.vue +113 -8
  69. package/src/components/CnConversationThread/CnConversationWidget.vue +60 -1
  70. package/src/components/CnDashboardPage/CnDashboardPage.md +4 -1
  71. package/src/components/CnDashboardPage/CnDashboardPage.vue +29 -6
  72. package/src/components/CnDetailPage/CnDetailPage.md +1 -1
  73. package/src/components/CnFormDialog/CnFormDialog.md +1 -1
  74. package/src/components/CnFormDialog/CnFormDialog.vue +127 -0
  75. package/src/components/CnIndexPage/CnIndexPage.md +10 -0
  76. package/src/components/CnIndexPage/CnIndexPage.vue +18 -3
  77. package/src/components/CnObjectListWidget/CnObjectListWidget.vue +10 -1
  78. package/src/components/CnRecordListWidget/CnRecordListWidget.vue +134 -2
  79. package/src/components/CnSearchSelect/CnSearchSelect.vue +283 -0
  80. package/src/components/CnSearchSelect/index.js +12 -0
  81. package/src/components/CnSetupWizard/CnSetupWizard.vue +56 -6
  82. package/src/components/CnTabsWidget/CnTabsWidget.vue +8 -1
  83. package/src/components/CnWizardDialog/CnWizardDialog.vue +20 -1
  84. package/src/components/index.js +1 -0
  85. package/src/css/dialog.css +5 -3
  86. package/src/index.js +1 -0
  87. package/src/mixins/pageViews.js +8 -1
  88. package/src/schemas/app-manifest-v2.schema.json +53 -6
  89. package/src/utils/validateManifestV2.compiled.js +3 -3
  90. package/src/utils/visibleWhen.js +13 -2
@@ -1397,14 +1397,16 @@
1397
1397
  * Theme hooks (all optional, defaults below):
1398
1398
  * --cn-dialog-danger fill of a destructive primary
1399
1399
  * --cn-dialog-eyebrow-color eyebrow colour
1400
- * --cn-dialog-eyebrow-transform uppercase (default) or none
1400
+ * --cn-dialog-eyebrow-transform none (default, sentence case) or uppercase
1401
+ * --cn-dialog-eyebrow-tracking letter spacing; 0 by default, 0.06em suits capitals
1401
1402
  */
1402
1403
 
1403
1404
  .cn-dialog-board {
1404
1405
  --cn-dialog-width: 640px;
1405
1406
  --cn-dialog-danger: var(--color-error);
1406
1407
  --cn-dialog-eyebrow-color: var(--color-primary-element-text, var(--color-main-text));
1407
- --cn-dialog-eyebrow-transform: uppercase;
1408
+ --cn-dialog-eyebrow-transform: none;
1409
+ --cn-dialog-eyebrow-tracking: 0;
1408
1410
  }
1409
1411
 
1410
1412
  /* Dimmed page behind the dialog: text colour at 45%. */
@@ -1461,7 +1463,7 @@
1461
1463
  margin-bottom: 4px;
1462
1464
  font-size: 13px;
1463
1465
  font-weight: 700;
1464
- letter-spacing: 0.06em;
1466
+ letter-spacing: var(--cn-dialog-eyebrow-tracking, 0.06em);
1465
1467
  text-transform: var(--cn-dialog-eyebrow-transform, uppercase);
1466
1468
  color: var(--cn-dialog-eyebrow-color, var(--color-main-text));
1467
1469
  }
@@ -10373,21 +10375,187 @@ a.cn-kpi-card--board * {
10373
10375
  }
10374
10376
 
10375
10377
 
10376
- .cn-conversation-thread[data-v-40a059c8] {
10378
+ .cn-quick-filter-bar[data-v-2d5e5fa6] {
10379
+ display: flex;
10380
+ flex-wrap: wrap;
10381
+ align-items: center;
10382
+ gap: 8px;
10383
+ padding: 8px 12px;
10384
+ border-bottom: 1px solid var(--color-border);
10385
+ background: var(--color-main-background);
10386
+ }
10387
+ .cn-quick-filter-bar__tabs[data-v-2d5e5fa6] {
10388
+ display: flex;
10389
+ flex-wrap: wrap;
10390
+ align-items: center;
10391
+ gap: 8px;
10392
+ }
10393
+
10394
+ /* Inline variant — bare strip for embedding inside another bar (e.g. the
10395
+ CnActionsBar #filters slot), so it reads as a control beside the view toggle
10396
+ rather than a separate bordered row. */
10397
+ /* With `fit`: one line, as wide as it is given; the chips it cannot hold
10398
+ are in the overflow chip. The measuring copy takes no room and is never
10399
+ seen or read. */
10400
+ .cn-quick-filter-bar--fit[data-v-2d5e5fa6] {
10401
+ position: relative;
10402
+ flex-wrap: nowrap;
10403
+ min-width: 0;
10404
+ }
10405
+ .cn-quick-filter-bar--fit .cn-quick-filter-bar__tabs[data-v-2d5e5fa6] {
10406
+ flex-wrap: nowrap;
10407
+ min-width: 0;
10408
+ }
10409
+ .cn-quick-filter-bar__measure[data-v-2d5e5fa6] {
10410
+ position: absolute;
10411
+ inset-block-start: 0;
10412
+ inset-inline-start: 0;
10413
+ display: flex;
10414
+ gap: 8px;
10415
+ width: 0;
10416
+ height: 0;
10417
+ overflow: hidden;
10418
+ visibility: hidden;
10419
+ pointer-events: none;
10420
+ white-space: nowrap;
10421
+ }
10422
+ .cn-quick-filter-bar__measure[data-v-2d5e5fa6] > * {
10423
+ flex: none;
10424
+ }
10425
+ .cn-quick-filter-bar--inline[data-v-2d5e5fa6] {
10426
+ padding: 0;
10427
+ border-bottom: none;
10428
+ background: transparent;
10429
+ }
10430
+
10431
+ /* Dropdown variant — give the NcSelect a sensible minimum so multi-select
10432
+ chips have room without stretching the whole bar. */
10433
+ .cn-quick-filter-bar--dropdown[data-v-2d5e5fa6] {
10434
+ align-items: center;
10435
+ }
10436
+ .cn-quick-filter-bar__select[data-v-2d5e5fa6] {
10437
+ min-width: 220px;
10438
+ }
10439
+ .cn-quick-filter-bar__tab[data-v-2d5e5fa6] {
10440
+ display: inline-flex;
10441
+ align-items: center;
10442
+ gap: 6px;
10443
+ padding: 4px 12px;
10444
+ border: 1px solid var(--color-border);
10445
+ border-radius: var(--border-radius-pill, 999px);
10446
+ background: transparent;
10447
+ color: var(--color-main-text);
10448
+ font-size: 13px;
10449
+ font-weight: 500;
10450
+ cursor: pointer;
10451
+ transition: background-color 120ms, color 120ms, border-color 120ms;
10452
+ }
10453
+ .cn-quick-filter-bar__tab[data-v-2d5e5fa6]:hover,
10454
+ .cn-quick-filter-bar__tab[data-v-2d5e5fa6]:focus-visible {
10455
+ background: var(--color-background-hover);
10456
+ outline: none;
10457
+ }
10458
+ .cn-quick-filter-bar__tab--active[data-v-2d5e5fa6] {
10459
+ background: var(--color-primary-element, var(--color-primary, #4376fc));
10460
+ color: var(--color-primary-element-text, #fff);
10461
+ border-color: var(--color-primary-element, var(--color-primary, #4376fc));
10462
+ }
10463
+ .cn-quick-filter-bar__icon[data-v-2d5e5fa6] {
10464
+ display: inline-flex;
10465
+ }
10466
+ .cn-quick-filter-bar__label[data-v-2d5e5fa6] {
10467
+ line-height: 1;
10468
+ }
10469
+
10470
+ /* Inherits the chip's own text colour, so it stays readable on the active
10471
+ (primary) fill as well as on the resting one. The count's text starts with
10472
+ a space: the chip is a flex row, so the space is not drawn, but it keeps a
10473
+ screen reader from reading label and count as one word. */
10474
+ .cn-quick-filter-bar__count[data-v-2d5e5fa6] {
10475
+ min-width: 1.5em;
10476
+ padding: 2px 6px;
10477
+ border: 1px solid currentColor;
10478
+ border-radius: var(--border-radius-pill, 10px);
10479
+ font-size: 0.85em;
10480
+ font-weight: 600;
10481
+ line-height: 1;
10482
+ text-align: center;
10483
+ }
10484
+
10485
+ /* NcPopover wraps its trigger in a plain `<div class="v-popper">`, which as a
10486
+ block would drop the chip onto its own line under the strip. */
10487
+ .cn-quick-filter-bar[data-v-2d5e5fa6] > .v-popper {
10488
+ display: inline-flex;
10489
+ }
10490
+
10491
+ /* The `⋯` glyph is the chip's whole content while no hidden lens is on, so the
10492
+ pill tightens to a circle rather than sitting as a wide empty capsule. */
10493
+ .cn-quick-filter-bar__more[data-v-2d5e5fa6] {
10494
+ gap: 4px;
10495
+ }
10496
+ .cn-quick-filter-bar__more--icon-only[data-v-2d5e5fa6] {
10497
+ padding: 4px 8px;
10498
+ }
10499
+ .cn-quick-filter-bar__more[aria-expanded='true'][data-v-2d5e5fa6] {
10500
+ border-color: var(--color-primary-element, var(--color-primary, #4376fc));
10501
+ }
10502
+ .cn-quick-filter-bar__more-panel[data-v-2d5e5fa6] {
10503
+ padding: 10px 12px 12px;
10504
+ max-width: 280px;
10505
+ }
10506
+ .cn-quick-filter-bar__more-heading[data-v-2d5e5fa6] {
10507
+ margin: 0 0 8px;
10508
+ font-size: 12px;
10509
+ font-weight: 600;
10510
+ color: var(--color-text-maxcontrast);
10511
+ }
10512
+
10513
+ /* The hidden lenses stay chips — the panel is more of the strip, not a
10514
+ different control that happens to hold the same filters. */
10515
+ .cn-quick-filter-bar__more-list[data-v-2d5e5fa6] {
10516
+ display: flex;
10517
+ flex-wrap: wrap;
10518
+ gap: 8px;
10519
+ max-height: 320px;
10520
+ overflow-y: auto;
10521
+ }
10522
+ .cn-quick-filter-bar__more-item[data-v-2d5e5fa6] {
10523
+ max-width: 100%;
10524
+ }
10525
+ .cn-quick-filter-bar__more-item .cn-quick-filter-bar__label[data-v-2d5e5fa6] {
10526
+ overflow: hidden;
10527
+ text-overflow: ellipsis;
10528
+ white-space: nowrap;
10529
+ }
10530
+
10531
+
10532
+ .cn-conversation-thread[data-v-ac0e8d2a] {
10377
10533
  display: flex;
10378
10534
  flex-direction: column;
10379
10535
  gap: calc(3.5 * var(--default-grid-baseline));
10380
10536
  }
10381
- .cn-conversation-thread__title[data-v-40a059c8] {
10537
+ .cn-conversation-thread__header[data-v-ac0e8d2a] {
10538
+ align-items: flex-start;
10539
+ display: flex;
10540
+ flex-wrap: wrap;
10541
+ gap: calc(3 * var(--default-grid-baseline));
10542
+ justify-content: space-between;
10543
+ }
10544
+ .cn-conversation-thread__header-actions[data-v-ac0e8d2a] {
10545
+ display: flex;
10546
+ flex-wrap: wrap;
10547
+ gap: calc(2 * var(--default-grid-baseline));
10548
+ }
10549
+ .cn-conversation-thread__title[data-v-ac0e8d2a] {
10382
10550
  font-size: 1.1em;
10383
10551
  font-weight: 700;
10384
10552
  margin: 0;
10385
10553
  }
10386
- .cn-conversation-thread__empty[data-v-40a059c8] {
10554
+ .cn-conversation-thread__empty[data-v-ac0e8d2a] {
10387
10555
  color: var(--color-text-maxcontrast);
10388
10556
  margin: 0;
10389
10557
  }
10390
- .cn-conversation-thread__messages[data-v-40a059c8] {
10558
+ .cn-conversation-thread__messages[data-v-ac0e8d2a] {
10391
10559
  display: flex;
10392
10560
  flex-direction: column;
10393
10561
  gap: calc(3.5 * var(--default-grid-baseline));
@@ -10395,14 +10563,14 @@ a.cn-kpi-card--board * {
10395
10563
  margin: 0;
10396
10564
  padding: 0;
10397
10565
  }
10398
- .cn-conversation-thread__message[data-v-40a059c8] {
10566
+ .cn-conversation-thread__message[data-v-ac0e8d2a] {
10399
10567
  display: flex;
10400
10568
  gap: calc(3 * var(--default-grid-baseline));
10401
10569
  }
10402
- .cn-conversation-thread__message--us[data-v-40a059c8] {
10570
+ .cn-conversation-thread__message--us[data-v-ac0e8d2a] {
10403
10571
  flex-direction: row-reverse;
10404
10572
  }
10405
- .cn-conversation-thread__avatar[data-v-40a059c8] {
10573
+ .cn-conversation-thread__avatar[data-v-ac0e8d2a] {
10406
10574
  align-items: center;
10407
10575
  background: var(--color-background-dark);
10408
10576
  border-radius: 50%;
@@ -10415,7 +10583,7 @@ a.cn-kpi-card--board * {
10415
10583
  justify-content: center;
10416
10584
  width: 34px;
10417
10585
  }
10418
- .cn-conversation-thread__bubble[data-v-40a059c8] {
10586
+ .cn-conversation-thread__bubble[data-v-ac0e8d2a] {
10419
10587
  background: var(--color-background-hover);
10420
10588
  border-radius: var(--border-radius-large);
10421
10589
  border-start-start-radius: var(--border-radius-small, 4px);
@@ -10427,55 +10595,55 @@ a.cn-kpi-card--board * {
10427
10595
  min-width: 0;
10428
10596
  padding: calc(3 * var(--default-grid-baseline)) calc(3.5 * var(--default-grid-baseline));
10429
10597
  }
10430
- .cn-conversation-thread__message--us .cn-conversation-thread__bubble[data-v-40a059c8] {
10598
+ .cn-conversation-thread__message--us .cn-conversation-thread__bubble[data-v-ac0e8d2a] {
10431
10599
  background: var(--color-primary-element-light);
10432
10600
  border-start-end-radius: var(--border-radius-small, 4px);
10433
10601
  border-start-start-radius: var(--border-radius-large);
10434
10602
  color: var(--color-primary-element-light-text);
10435
10603
  }
10436
- .cn-conversation-thread__meta[data-v-40a059c8] {
10604
+ .cn-conversation-thread__meta[data-v-ac0e8d2a] {
10437
10605
  display: flex;
10438
10606
  flex-wrap: wrap;
10439
10607
  font-size: 0.9em;
10440
10608
  gap: calc(2 * var(--default-grid-baseline));
10441
10609
  }
10442
- .cn-conversation-thread__author[data-v-40a059c8] {
10610
+ .cn-conversation-thread__author[data-v-ac0e8d2a] {
10443
10611
  font-weight: 600;
10444
10612
  }
10445
- .cn-conversation-thread__text[data-v-40a059c8] {
10613
+ .cn-conversation-thread__text[data-v-ac0e8d2a] {
10446
10614
  overflow-wrap: anywhere;
10447
10615
  white-space: pre-wrap;
10448
10616
  }
10449
- .cn-conversation-thread__reply[data-v-40a059c8] {
10617
+ .cn-conversation-thread__reply[data-v-ac0e8d2a] {
10450
10618
  display: flex;
10451
10619
  flex-direction: column;
10452
10620
  gap: calc(2 * var(--default-grid-baseline));
10453
10621
  }
10454
- .cn-conversation-thread__reply-label[data-v-40a059c8] {
10622
+ .cn-conversation-thread__reply-label[data-v-ac0e8d2a] {
10455
10623
  font-weight: 600;
10456
10624
  }
10457
- .cn-conversation-thread__input[data-v-40a059c8] {
10625
+ .cn-conversation-thread__input[data-v-ac0e8d2a] {
10458
10626
  box-sizing: border-box;
10459
10627
  margin: 0;
10460
10628
  resize: vertical;
10461
10629
  width: 100%;
10462
10630
  }
10463
- .cn-conversation-thread__error[data-v-40a059c8] {
10631
+ .cn-conversation-thread__error[data-v-ac0e8d2a] {
10464
10632
  color: var(--color-error-text, var(--color-error));
10465
10633
  margin: 0;
10466
10634
  }
10467
- .cn-conversation-thread__reply-actions[data-v-40a059c8] {
10635
+ .cn-conversation-thread__reply-actions[data-v-ac0e8d2a] {
10468
10636
  display: flex;
10469
10637
  flex-wrap: wrap;
10470
10638
  gap: calc(2.5 * var(--default-grid-baseline));
10471
10639
  justify-content: flex-end;
10472
10640
  }
10473
- .cn-conversation-thread__channel[data-v-40a059c8] {
10641
+ .cn-conversation-thread__channel[data-v-ac0e8d2a] {
10474
10642
  color: var(--color-text-maxcontrast);
10475
10643
  }
10476
10644
 
10477
10645
 
10478
- .cn-case-widget-card[data-v-257593ce] {
10646
+ .cn-case-widget-card[data-v-0533e246] {
10479
10647
  background: var(--color-main-background);
10480
10648
  border: 1px solid var(--color-border);
10481
10649
  border-radius: var(--border-radius-large);
@@ -13304,6 +13472,70 @@ svg.leaflet-image-layer.leaflet-interactive path {
13304
13472
  }
13305
13473
 
13306
13474
 
13475
+ .cn-search-select[data-v-6cd354af] {
13476
+ position: relative;
13477
+ }
13478
+
13479
+ /* The magnifier sits where the chevron was: in the field, at its end. */
13480
+ .cn-search-select__magnifier[data-v-6cd354af] {
13481
+ position: absolute;
13482
+ inset-inline-end: 12px;
13483
+ bottom: 0;
13484
+ height: var(--default-clickable-area, 34px);
13485
+ display: flex;
13486
+ align-items: center;
13487
+ color: var(--color-text-maxcontrast);
13488
+ pointer-events: none;
13489
+ }
13490
+ .cn-search-select[data-v-6cd354af] .vs__open-indicator,
13491
+ .cn-search-select[data-v-6cd354af] .vs__open-indicator-button {
13492
+ display: none;
13493
+ }
13494
+ .cn-search-select[data-v-6cd354af] .vs__actions {
13495
+ padding-inline-end: 36px;
13496
+ }
13497
+ .cn-search-select__row[data-v-6cd354af] {
13498
+ display: flex;
13499
+ align-items: center;
13500
+ gap: 10px;
13501
+ width: 100%;
13502
+ min-width: 0;
13503
+ padding: 4px 0;
13504
+ }
13505
+ .cn-search-select__lead[data-v-6cd354af] {
13506
+ flex: 0 0 32px;
13507
+ width: 32px;
13508
+ height: 32px;
13509
+ border-radius: 50%;
13510
+ display: inline-flex;
13511
+ align-items: center;
13512
+ justify-content: center;
13513
+ background: var(--color-primary-element-light);
13514
+ color: var(--color-primary-element-light-text);
13515
+ font-size: 13px;
13516
+ font-weight: 600;
13517
+ }
13518
+ .cn-search-select__text[data-v-6cd354af] {
13519
+ display: flex;
13520
+ flex-direction: column;
13521
+ flex: 1 1 auto;
13522
+ min-width: 0;
13523
+ }
13524
+ .cn-search-select__name[data-v-6cd354af] {
13525
+ font-weight: 600;
13526
+ overflow-wrap: anywhere;
13527
+ }
13528
+ .cn-search-select__secondary[data-v-6cd354af] {
13529
+ font-size: 13px;
13530
+ color: var(--color-text-maxcontrast);
13531
+ overflow-wrap: anywhere;
13532
+ }
13533
+ .cn-search-select__check[data-v-6cd354af] {
13534
+ flex: 0 0 auto;
13535
+ color: var(--color-primary-element);
13536
+ }
13537
+
13538
+
13307
13539
  .cn-sub-objects-field__head[data-v-4878c47e] {
13308
13540
  display: flex;
13309
13541
  align-items: center;
@@ -22015,7 +22247,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22015
22247
 
22016
22248
 
22017
22249
  /* A select option breaks between words only, never inside one. */
22018
- .cn-form-dialog__option[data-v-65a5754f] {
22250
+ .cn-form-dialog__option[data-v-6927cedc] {
22019
22251
  display: block;
22020
22252
  min-width: 0;
22021
22253
  white-space: normal;
@@ -22023,7 +22255,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22023
22255
  word-break: normal;
22024
22256
  hyphens: manual;
22025
22257
  }
22026
- .cn-form-dialog__draft-actions[data-v-65a5754f] {
22258
+ .cn-form-dialog__draft-actions[data-v-6927cedc] {
22027
22259
  display: flex;
22028
22260
  gap: 8px;
22029
22261
  margin-top: 8px;
@@ -22031,22 +22263,22 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22031
22263
 
22032
22264
  /* The state is announced in WORDS, and the colour only repeats them. A
22033
22265
  reader who cannot see it still hears "Draft saved" (WCAG 2.2 SC 1.4.1). */
22034
- .cn-form-dialog__draft-state[data-v-65a5754f] {
22266
+ .cn-form-dialog__draft-state[data-v-6927cedc] {
22035
22267
  align-self: center;
22036
22268
  color: var(--color-text-maxcontrast);
22037
22269
  font-size: 0.9em;
22038
22270
  margin-inline-end: auto;
22039
22271
  }
22040
- .cn-form-dialog__switch-wrapper[data-v-65a5754f] {
22272
+ .cn-form-dialog__switch-wrapper[data-v-6927cedc] {
22041
22273
  display: flex;
22042
22274
  flex-direction: column;
22043
22275
  }
22044
- .cn-form-dialog__form[data-v-65a5754f] {
22276
+ .cn-form-dialog__form[data-v-6927cedc] {
22045
22277
  display: flex;
22046
22278
  flex-direction: column;
22047
22279
  gap: 4px;
22048
22280
  }
22049
- .cn-form-dialog__field[data-v-65a5754f] {
22281
+ .cn-form-dialog__field[data-v-6927cedc] {
22050
22282
  margin-bottom: 8px;
22051
22283
  }
22052
22284
 
@@ -22058,7 +22290,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22058
22290
  from pushing its column past its share: a grid item's default `auto`
22059
22291
  minimum is its content, so without it one long option label widens the
22060
22292
  whole column and the two stop being equal. */
22061
- .cn-form-dialog__section[data-v-65a5754f] {
22293
+ .cn-form-dialog__section[data-v-6927cedc] {
22062
22294
  margin: 12px 0 0;
22063
22295
  padding-top: 12px;
22064
22296
  border-top: 1px solid var(--color-border);
@@ -22067,44 +22299,44 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22067
22299
  }
22068
22300
 
22069
22301
  /* The first heading opens the form: no rule above it. */
22070
- .cn-form-dialog__form .cn-form-dialog__section[data-v-65a5754f]:first-of-type {
22302
+ .cn-form-dialog__form .cn-form-dialog__section[data-v-6927cedc]:first-of-type {
22071
22303
  margin-top: 0;
22072
22304
  padding-top: 0;
22073
22305
  border-top: 0;
22074
22306
  }
22075
- .cn-form-dialog__form--two-column[data-v-65a5754f] {
22307
+ .cn-form-dialog__form--two-column[data-v-6927cedc] {
22076
22308
  display: grid;
22077
22309
  grid-template-columns: 1fr 1fr;
22078
22310
  column-gap: 16px;
22079
22311
  align-items: start;
22080
22312
  }
22081
- .cn-form-dialog__form--two-column[data-v-65a5754f] > * {
22313
+ .cn-form-dialog__form--two-column[data-v-6927cedc] > * {
22082
22314
  min-width: 0;
22083
22315
  }
22084
22316
 
22085
22317
  /* Anything that is not a field (the form-level error note, the slots above
22086
22318
  and below the fields) spans the full width, so a note card never sits in
22087
22319
  a half-width column beside an input. */
22088
- .cn-form-dialog__form--two-column[data-v-65a5754f] > :not(.cn-form-dialog__field),
22089
- .cn-form-dialog__form--two-column > .cn-form-dialog__field--wide[data-v-65a5754f] {
22320
+ .cn-form-dialog__form--two-column[data-v-6927cedc] > :not(.cn-form-dialog__field),
22321
+ .cn-form-dialog__form--two-column > .cn-form-dialog__field--wide[data-v-6927cedc] {
22090
22322
  grid-column: 1 / -1;
22091
22323
  }
22092
22324
 
22093
22325
  /* A narrow viewport gets the single column back. Two columns of roughly
22094
22326
  150px each are worse than one readable one. */
22095
22327
  @media (max-width: 700px) {
22096
- .cn-form-dialog__form--two-column[data-v-65a5754f] {
22328
+ .cn-form-dialog__form--two-column[data-v-6927cedc] {
22097
22329
  display: block;
22098
22330
  }
22099
22331
  }
22100
- .cn-form-dialog__textarea-wrapper[data-v-65a5754f],
22101
- .cn-form-dialog__select-wrapper[data-v-65a5754f],
22102
- .cn-form-dialog__json-wrapper[data-v-65a5754f] {
22332
+ .cn-form-dialog__textarea-wrapper[data-v-6927cedc],
22333
+ .cn-form-dialog__select-wrapper[data-v-6927cedc],
22334
+ .cn-form-dialog__json-wrapper[data-v-6927cedc] {
22103
22335
  display: flex;
22104
22336
  flex-direction: column;
22105
22337
  gap: 4px;
22106
22338
  }
22107
- .cn-form-dialog__label[data-v-65a5754f] {
22339
+ .cn-form-dialog__label[data-v-6927cedc] {
22108
22340
  font-weight: 600;
22109
22341
  font-size: 0.9em;
22110
22342
  color: var(--color-main-text);
@@ -22112,10 +22344,10 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22112
22344
 
22113
22345
  /* Cross-app semantic reference (ADR-048) whose provider isn't installed —
22114
22346
  rendered disabled; the wrapper carries the mouse-over tooltip. */
22115
- .cn-form-dialog__semantic-unresolved[data-v-65a5754f] {
22347
+ .cn-form-dialog__semantic-unresolved[data-v-6927cedc] {
22116
22348
  cursor: not-allowed;
22117
22349
  }
22118
- .cn-form-dialog__textarea[data-v-65a5754f] {
22350
+ .cn-form-dialog__textarea[data-v-6927cedc] {
22119
22351
  width: 100%;
22120
22352
  min-height: 80px;
22121
22353
  padding: 8px;
@@ -22127,22 +22359,22 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22127
22359
  font-size: inherit;
22128
22360
  resize: vertical;
22129
22361
  }
22130
- .cn-form-dialog__textarea[data-v-65a5754f]:focus {
22362
+ .cn-form-dialog__textarea[data-v-6927cedc]:focus {
22131
22363
  border-color: var(--color-primary-element);
22132
22364
  outline: none;
22133
22365
  }
22134
- .cn-form-dialog__textarea[data-v-65a5754f]:disabled {
22366
+ .cn-form-dialog__textarea[data-v-6927cedc]:disabled {
22135
22367
  opacity: 0.5;
22136
22368
  cursor: not-allowed;
22137
22369
  }
22138
- .cn-form-dialog__helper[data-v-65a5754f] {
22370
+ .cn-form-dialog__helper[data-v-6927cedc] {
22139
22371
  font-size: 0.85em;
22140
22372
  color: var(--color-text-maxcontrast);
22141
22373
  }
22142
- .cn-form-dialog__helper--error[data-v-65a5754f] {
22374
+ .cn-form-dialog__helper--error[data-v-6927cedc] {
22143
22375
  color: var(--color-error);
22144
22376
  }
22145
- .cn-form-dialog__dynamic-loading[data-v-65a5754f] {
22377
+ .cn-form-dialog__dynamic-loading[data-v-6927cedc] {
22146
22378
  display: flex;
22147
22379
  align-items: center;
22148
22380
  gap: 8px;
@@ -22164,7 +22396,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22164
22396
  Horizontal overflow is owned by `.cn-table-container` (overflow-x: auto); a
22165
22397
  second scroll container here would produce a nested scrollbar, so this host
22166
22398
  stays plain. */
22167
- .cn-object-list-widget[data-v-aeadc210] {
22399
+ .cn-object-list-widget[data-v-40b2b1a0] {
22168
22400
  width: 100%;
22169
22401
  height: 100%;
22170
22402
  display: flex;
@@ -22176,10 +22408,10 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22176
22408
  relative` is set only in the dropping state so a widget without a drop zone
22177
22409
  keeps the containing block it had — an unconditional rule here would
22178
22410
  re-parent any absolutely-positioned descendant a host has placed. */
22179
- .cn-object-list-widget--dropping[data-v-aeadc210] {
22411
+ .cn-object-list-widget--dropping[data-v-40b2b1a0] {
22180
22412
  position: relative;
22181
22413
  }
22182
- .cn-object-list-widget__drop-overlay[data-v-aeadc210] {
22414
+ .cn-object-list-widget__drop-overlay[data-v-40b2b1a0] {
22183
22415
  position: absolute;
22184
22416
  inset: 0;
22185
22417
  z-index: 2;
@@ -22197,7 +22429,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22197
22429
  and the drop would land on nothing. */
22198
22430
  pointer-events: none;
22199
22431
  }
22200
- .cn-object-list-widget__table[data-v-aeadc210] {
22432
+ .cn-object-list-widget__table[data-v-40b2b1a0] {
22201
22433
  flex: 1 1 auto;
22202
22434
  min-height: 0;
22203
22435
  overflow: hidden;
@@ -22206,16 +22438,16 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22206
22438
  /* The empty state is CnWidgetEmptyState now — it brings its own layout, so
22207
22439
  all this rule still owns is letting it claim the cell's leftover height
22208
22440
  (ADR-062: it fits the cell, it never forces one). */
22209
- .cn-object-list-widget__empty[data-v-aeadc210] {
22441
+ .cn-object-list-widget__empty[data-v-40b2b1a0] {
22210
22442
  flex: 1 1 auto;
22211
22443
  min-height: 0;
22212
22444
  }
22213
22445
 
22214
22446
  /* The pager sits flush at the bottom of the card, above "View all". */
22215
- .cn-object-list-widget__pager[data-v-aeadc210] {
22447
+ .cn-object-list-widget__pager[data-v-40b2b1a0] {
22216
22448
  flex-shrink: 0;
22217
22449
  }
22218
- .cn-object-list-widget__view-all[data-v-aeadc210] {
22450
+ .cn-object-list-widget__view-all[data-v-40b2b1a0] {
22219
22451
  align-self: flex-start;
22220
22452
  background: none;
22221
22453
  border: none;
@@ -22226,17 +22458,17 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22226
22458
  padding: 4px;
22227
22459
  text-decoration: none;
22228
22460
  }
22229
- .cn-object-list-widget__view-all[data-v-aeadc210]:hover,
22230
- .cn-object-list-widget__view-all[data-v-aeadc210]:focus-visible {
22461
+ .cn-object-list-widget__view-all[data-v-40b2b1a0]:hover,
22462
+ .cn-object-list-widget__view-all[data-v-40b2b1a0]:focus-visible {
22231
22463
  text-decoration: underline;
22232
22464
  }
22233
- .cn-object-list-widget__more[data-v-aeadc210] {
22465
+ .cn-object-list-widget__more[data-v-40b2b1a0] {
22234
22466
  color: var(--color-text-maxcontrast);
22235
22467
  font-size: 0.85em;
22236
22468
  margin: 4px 0 0;
22237
22469
  padding: 4px;
22238
22470
  }
22239
- .cn-object-list-widget__footnote[data-v-aeadc210] {
22471
+ .cn-object-list-widget__footnote[data-v-40b2b1a0] {
22240
22472
  color: var(--color-text-maxcontrast);
22241
22473
  font-size: 13px;
22242
22474
  margin: 8px 0 0;
@@ -22245,7 +22477,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22245
22477
  /* Footer Add — same pattern as the integration leaves' footer action
22246
22478
  ("Open in Calendar"): full-width, centered, divider-topped, pinned to
22247
22479
  the card bottom. */
22248
- .cn-object-list-widget__add[data-v-aeadc210] {
22480
+ .cn-object-list-widget__add[data-v-40b2b1a0] {
22249
22481
  align-self: stretch;
22250
22482
  border-top: 1px solid var(--color-border);
22251
22483
  /* Bleed through the host card's 16px content padding so the divider
@@ -22253,31 +22485,31 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22253
22485
  margin: auto -16px -16px;
22254
22486
  padding: 4px;
22255
22487
  }
22256
- .cn-object-list-widget__error[data-v-aeadc210] {
22488
+ .cn-object-list-widget__error[data-v-40b2b1a0] {
22257
22489
  color: var(--color-text-maxcontrast);
22258
22490
  font-size: 0.85em;
22259
22491
  margin: 4px 0 0;
22260
22492
  }
22261
- .cn-object-list-widget__prompt[data-v-aeadc210] {
22493
+ .cn-object-list-widget__prompt[data-v-40b2b1a0] {
22262
22494
  color: var(--color-text-maxcontrast);
22263
22495
  font-style: italic;
22264
22496
  padding: 16px 4px;
22265
22497
  margin: 0;
22266
22498
  text-align: center;
22267
22499
  }
22268
- .cn-object-list-widget__facet[data-v-aeadc210] {
22500
+ .cn-object-list-widget__facet[data-v-40b2b1a0] {
22269
22501
  display: flex;
22270
22502
  align-items: center;
22271
22503
  flex-wrap: wrap;
22272
22504
  gap: 6px;
22273
22505
  padding: 0 4px 8px;
22274
22506
  }
22275
- .cn-object-list-widget__facet-label[data-v-aeadc210] {
22507
+ .cn-object-list-widget__facet-label[data-v-40b2b1a0] {
22276
22508
  color: var(--color-text-maxcontrast);
22277
22509
  font-size: 0.85em;
22278
22510
  font-weight: 600;
22279
22511
  }
22280
- .cn-object-list-widget__facet-chip[data-v-aeadc210] {
22512
+ .cn-object-list-widget__facet-chip[data-v-40b2b1a0] {
22281
22513
  background-color: var(--color-background-hover);
22282
22514
  border: 1px solid var(--color-border);
22283
22515
  border-radius: var(--border-radius-pill, 16px);
@@ -22287,13 +22519,13 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22287
22519
  font-size: 0.85em;
22288
22520
  padding: 2px 10px;
22289
22521
  }
22290
- .cn-object-list-widget__facet-chip--active[data-v-aeadc210] {
22522
+ .cn-object-list-widget__facet-chip--active[data-v-40b2b1a0] {
22291
22523
  background-color: var(--color-primary-element-light);
22292
22524
  border-color: var(--color-primary-element);
22293
22525
  color: var(--color-primary-element-text, var(--color-main-text));
22294
22526
  }
22295
- .cn-object-list-widget__facet-clear[data-v-aeadc210],
22296
- .cn-object-list-widget__bulk-clear[data-v-aeadc210] {
22527
+ .cn-object-list-widget__facet-clear[data-v-40b2b1a0],
22528
+ .cn-object-list-widget__bulk-clear[data-v-40b2b1a0] {
22297
22529
  background: none;
22298
22530
  border: none;
22299
22531
  color: var(--color-primary-element);
@@ -22302,11 +22534,11 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22302
22534
  font-size: 0.85em;
22303
22535
  padding: 2px 4px;
22304
22536
  }
22305
- .cn-object-list-widget__facet-clear[data-v-aeadc210]:hover,
22306
- .cn-object-list-widget__bulk-clear[data-v-aeadc210]:hover {
22537
+ .cn-object-list-widget__facet-clear[data-v-40b2b1a0]:hover,
22538
+ .cn-object-list-widget__bulk-clear[data-v-40b2b1a0]:hover {
22307
22539
  text-decoration: underline;
22308
22540
  }
22309
- .cn-object-list-widget__bulk-bar[data-v-aeadc210] {
22541
+ .cn-object-list-widget__bulk-bar[data-v-40b2b1a0] {
22310
22542
  align-items: center;
22311
22543
  background-color: var(--color-primary-element-light);
22312
22544
  border-radius: var(--border-radius, 8px);
@@ -22316,10 +22548,10 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22316
22548
  margin: 0 0 8px;
22317
22549
  padding: 6px 10px;
22318
22550
  }
22319
- .cn-object-list-widget__bulk-count[data-v-aeadc210] {
22551
+ .cn-object-list-widget__bulk-count[data-v-40b2b1a0] {
22320
22552
  font-weight: 600;
22321
22553
  }
22322
- .cn-object-list-widget__bulk-action[data-v-aeadc210] {
22554
+ .cn-object-list-widget__bulk-action[data-v-40b2b1a0] {
22323
22555
  background-color: var(--color-main-background);
22324
22556
  border: 1px solid var(--color-border);
22325
22557
  border-radius: var(--border-radius, 8px);
@@ -22327,25 +22559,25 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22327
22559
  font: inherit;
22328
22560
  padding: 4px 10px;
22329
22561
  }
22330
- .cn-object-list-widget__bulk-action--destructive[data-v-aeadc210] {
22562
+ .cn-object-list-widget__bulk-action--destructive[data-v-40b2b1a0] {
22331
22563
  border-color: var(--color-error);
22332
22564
  color: var(--color-error);
22333
22565
  }
22334
- .cn-object-list-widget__groups[data-v-aeadc210] {
22566
+ .cn-object-list-widget__groups[data-v-40b2b1a0] {
22335
22567
  display: flex;
22336
22568
  flex-direction: column;
22337
22569
  gap: 16px;
22338
22570
  min-height: 0;
22339
22571
  overflow: auto;
22340
22572
  }
22341
- .cn-object-list-widget__group-heading[data-v-aeadc210] {
22573
+ .cn-object-list-widget__group-heading[data-v-40b2b1a0] {
22342
22574
  color: var(--color-text-maxcontrast);
22343
22575
  font-size: 0.85em;
22344
22576
  font-weight: 600;
22345
22577
  margin: 0 0 4px;
22346
22578
  text-transform: uppercase;
22347
22579
  }
22348
- .cn-object-list-widget__upload[data-v-aeadc210] {
22580
+ .cn-object-list-widget__upload[data-v-40b2b1a0] {
22349
22581
  background-color: var(--color-main-background);
22350
22582
  border: 1px solid var(--color-border);
22351
22583
  border-radius: var(--border-radius, 8px);
@@ -22354,7 +22586,7 @@ a.cn-xwiki-card__title[data-v-1a6b61fd]:hover {
22354
22586
  margin: 8px 0 0;
22355
22587
  padding: 6px 12px;
22356
22588
  }
22357
- .cn-object-list-widget__upload-input[data-v-aeadc210] {
22589
+ .cn-object-list-widget__upload-input[data-v-40b2b1a0] {
22358
22590
  display: none;
22359
22591
  }
22360
22592
 
@@ -26910,7 +27142,7 @@ button.cn-stepper__step[data-v-776581d4] {
26910
27142
 
26911
27143
 
26912
27144
  /* A stack (`widgetIds`): the panel's widget, then cards 20px apart. */
26913
- .cn-tabs-widget__stack[data-v-dbbc6ecc] {
27145
+ .cn-tabs-widget__stack[data-v-78877482] {
26914
27146
  display: flex;
26915
27147
  flex-direction: column;
26916
27148
  gap: 20px;
@@ -26919,19 +27151,19 @@ button.cn-stepper__step[data-v-776581d4] {
26919
27151
  /* A gridded stack (`columns` / `layout` on the tab): 12 columns, widgets wrap
26920
27152
  onto the next row, a row's cards as tall as the tallest. Narrow, it is the
26921
27153
  plain stack again. */
26922
- .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] {
27154
+ .cn-tabs-widget__stack--grid[data-v-78877482] {
26923
27155
  display: grid;
26924
27156
  grid-template-columns: repeat(12, minmax(0, 1fr));
26925
27157
  align-items: stretch;
26926
27158
  }
26927
- .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] > * {
27159
+ .cn-tabs-widget__stack--grid[data-v-78877482] > * {
26928
27160
  min-width: 0;
26929
27161
  }
26930
27162
  @media (max-width: 700px) {
26931
- .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] {
27163
+ .cn-tabs-widget__stack--grid[data-v-78877482] {
26932
27164
  grid-template-columns: minmax(0, 1fr);
26933
27165
  }
26934
- .cn-tabs-widget__stack--grid[data-v-dbbc6ecc] > * {
27166
+ .cn-tabs-widget__stack--grid[data-v-78877482] > * {
26935
27167
  grid-column: auto !important;
26936
27168
  }
26937
27169
  }
@@ -26965,7 +27197,7 @@ button.cn-stepper__step[data-v-776581d4] {
26965
27197
  `!important` or on load order this library does not control. The same
26966
27198
  technique, for the same reason, is used on `.cn-tabs__nav .cn-tabs__nav-item`
26967
27199
  in CnTabs to beat Nextcloud's own button margin. */
26968
- .cn-tabs-widget.cn-tabs-widget[data-v-dbbc6ecc] {
27200
+ .cn-tabs-widget.cn-tabs-widget[data-v-78877482] {
26969
27201
  background-color: transparent;
26970
27202
  border: 0;
26971
27203
  border-radius: 0;
@@ -26989,12 +27221,12 @@ button.cn-stepper__step[data-v-776581d4] {
26989
27221
  below it: the rule ran straight on to the widget's edge and read as a
26990
27222
  border sticking out past a rounded corner (Ruben, 2026-09-13). Ending it
26991
27223
  where the curve begins makes the rule and the curve one continuous edge. */
26992
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__bar {
27224
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tabs__bar {
26993
27225
  border-bottom: none;
26994
27226
  padding: 0;
26995
27227
  position: relative;
26996
27228
  }
26997
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__bar::after {
27229
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tabs__bar::after {
26998
27230
  border-bottom: 1px solid var(--color-border);
26999
27231
  content: '';
27000
27232
  inset-block-end: 0;
@@ -27007,11 +27239,11 @@ button.cn-stepper__step[data-v-776581d4] {
27007
27239
  own background-coloured bottom edge, which only works if it paints ABOVE the
27008
27240
  pseudo-element: a positioned pseudo-element otherwise paints over every
27009
27241
  in-flow sibling, rule included. */
27010
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__nav-item--active {
27242
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tabs__nav-item--active {
27011
27243
  position: relative;
27012
27244
  z-index: 1;
27013
27245
  }
27014
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] {
27246
+ .cn-tabs-widget__tabs[data-v-78877482] {
27015
27247
  display: flex;
27016
27248
  flex-direction: column;
27017
27249
  /* Grow to the widget's height, so the panel fills the grid cell the
@@ -27029,7 +27261,7 @@ button.cn-stepper__step[data-v-776581d4] {
27029
27261
  the open tab, but padding sits inside the painted box — only a margin would
27030
27262
  have opened that gap, and a zero top put every panel's content against the
27031
27263
  strip. */
27032
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__content {
27264
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tabs__content {
27033
27265
  background-color: var(--color-main-background);
27034
27266
  /* Three sides only: the bar's rule (redrawn above, stopping at the corner)
27035
27267
  is this sheet's top edge, and the open tab erases the slice of it
@@ -27049,7 +27281,7 @@ button.cn-stepper__step[data-v-776581d4] {
27049
27281
  overflow: auto;
27050
27282
  padding: 12px;
27051
27283
  }
27052
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tab {
27284
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tab {
27053
27285
  height: 100%;
27054
27286
  }
27055
27287
 
@@ -27057,13 +27289,13 @@ button.cn-stepper__step[data-v-776581d4] {
27057
27289
  (margin 0 -16px -16px). The panel of a tab pads 12px, so on a tab that
27058
27290
  holds the list directly the footer stuck out 4px on the right and at the
27059
27291
  bottom and made the panel scroll. It bleeds exactly the panel's padding. */
27060
- .cn-tabs-widget__tabs[data-v-dbbc6ecc] .cn-tabs__content > .cn-tab > .cn-detail-widget-host--bare .cn-object-list-widget__add {
27292
+ .cn-tabs-widget__tabs[data-v-78877482] .cn-tabs__content > .cn-tab > .cn-detail-widget-host--bare .cn-object-list-widget__add {
27061
27293
  margin: auto -12px -12px;
27062
27294
  }
27063
27295
 
27064
27296
  /* The open panel's header link, beside the strip. Same look and theme hooks
27065
27297
  as a card header link (CnWidgetWrapper). */
27066
- .cn-tabs-widget__header-link[data-v-dbbc6ecc] {
27298
+ .cn-tabs-widget__header-link[data-v-78877482] {
27067
27299
  align-self: center;
27068
27300
  padding: 0 calc(1 * var(--default-grid-baseline));
27069
27301
  color: var(--color-primary-element);
@@ -27072,21 +27304,21 @@ button.cn-stepper__step[data-v-776581d4] {
27072
27304
  text-decoration: none;
27073
27305
  white-space: nowrap;
27074
27306
  }
27075
- .cn-tabs-widget__header-link[data-v-dbbc6ecc]:hover,
27076
- .cn-tabs-widget__header-link[data-v-dbbc6ecc]:focus-visible {
27307
+ .cn-tabs-widget__header-link[data-v-78877482]:hover,
27308
+ .cn-tabs-widget__header-link[data-v-78877482]:focus-visible {
27077
27309
  text-decoration: underline;
27078
27310
  }
27079
- .cn-tabs-widget__header-link[data-v-dbbc6ecc]:focus-visible {
27311
+ .cn-tabs-widget__header-link[data-v-78877482]:focus-visible {
27080
27312
  outline: 2px solid var(--color-primary-element);
27081
27313
  outline-offset: 2px;
27082
27314
  border-radius: var(--border-radius-small, 4px);
27083
27315
  }
27084
- .cn-tabs-widget__title[data-v-dbbc6ecc] {
27316
+ .cn-tabs-widget__title[data-v-78877482] {
27085
27317
  align-items: center;
27086
27318
  display: inline-flex;
27087
27319
  gap: 6px;
27088
27320
  }
27089
- .cn-tabs-widget__title-icon[data-v-dbbc6ecc] {
27321
+ .cn-tabs-widget__title-icon[data-v-78877482] {
27090
27322
  flex: 0 0 auto;
27091
27323
  }
27092
27324
 
@@ -32882,17 +33114,28 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
32882
33114
  }
32883
33115
 
32884
33116
 
32885
- .cn-record-list__list[data-v-03e67618] {
33117
+ .cn-record-list__list[data-v-7d1cc1e6] {
32886
33118
  list-style: none;
32887
33119
  margin: 0;
32888
33120
  padding: 0;
32889
33121
  }
32890
- .cn-record-list__empty[data-v-03e67618],
32891
- .cn-record-list__error[data-v-03e67618] {
33122
+ .cn-record-list__footer[data-v-7d1cc1e6] {
33123
+ display: flex;
33124
+ flex-direction: column;
33125
+ align-items: flex-start;
33126
+ gap: 6px;
33127
+ margin-top: 10px;
33128
+ }
33129
+ .cn-record-list__footer-reason[data-v-7d1cc1e6] {
33130
+ font-size: 13px;
33131
+ color: var(--color-text-maxcontrast);
33132
+ }
33133
+ .cn-record-list__empty[data-v-7d1cc1e6],
33134
+ .cn-record-list__error[data-v-7d1cc1e6] {
32892
33135
  color: var(--color-text-maxcontrast);
32893
33136
  margin: 0;
32894
33137
  }
32895
- .cn-record-list__notice[data-v-03e67618] {
33138
+ .cn-record-list__notice[data-v-7d1cc1e6] {
32896
33139
  display: flex;
32897
33140
  gap: 10px;
32898
33141
  align-items: flex-start;
@@ -32901,33 +33144,33 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
32901
33144
  background: var(--color-primary-element-light, var(--color-background-dark));
32902
33145
  color: var(--color-main-text);
32903
33146
  }
32904
- .cn-record-list__notice--warning[data-v-03e67618] {
33147
+ .cn-record-list__notice--warning[data-v-7d1cc1e6] {
32905
33148
  background: var(--color-warning-light, rgba(255, 196, 0, 0.12));
32906
33149
  color: var(--color-warning-text, var(--color-main-text));
32907
33150
  }
32908
- .cn-record-list__notice--error[data-v-03e67618] {
33151
+ .cn-record-list__notice--error[data-v-7d1cc1e6] {
32909
33152
  background: var(--color-error-light, rgba(219, 0, 0, 0.08));
32910
33153
  color: var(--color-error-text, var(--color-main-text));
32911
33154
  }
32912
- .cn-record-list__notice-icon[data-v-03e67618] {
33155
+ .cn-record-list__notice-icon[data-v-7d1cc1e6] {
32913
33156
  flex: 0 0 auto;
32914
33157
  margin-top: 1px;
32915
33158
  }
32916
- .cn-record-list__notice-text[data-v-03e67618] {
33159
+ .cn-record-list__notice-text[data-v-7d1cc1e6] {
32917
33160
  margin: 0;
32918
33161
  line-height: 1.5;
32919
33162
  }
32920
- .cn-record-list__loading[data-v-03e67618] {
33163
+ .cn-record-list__loading[data-v-7d1cc1e6] {
32921
33164
  display: flex;
32922
33165
  justify-content: center;
32923
33166
  padding: 8px 0;
32924
33167
  }
32925
33168
 
32926
33169
  /* rows */
32927
- .cn-record-list--rows .cn-record-list__item + .cn-record-list__item[data-v-03e67618] {
33170
+ .cn-record-list--rows .cn-record-list__item + .cn-record-list__item[data-v-7d1cc1e6] {
32928
33171
  border-top: 1px solid var(--color-border);
32929
33172
  }
32930
- .cn-record-list__bar[data-v-03e67618] {
33173
+ .cn-record-list__bar[data-v-7d1cc1e6] {
32931
33174
  background: var(--color-border);
32932
33175
  border-radius: 3px;
32933
33176
  display: block;
@@ -32935,15 +33178,15 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
32935
33178
  margin: -6px 0 12px;
32936
33179
  overflow: hidden;
32937
33180
  }
32938
- .cn-record-list__bar-fill[data-v-03e67618] {
33181
+ .cn-record-list__bar-fill[data-v-7d1cc1e6] {
32939
33182
  background: var(--color-primary-element);
32940
33183
  display: block;
32941
33184
  height: 100%;
32942
33185
  }
32943
- .cn-record-list__bar--over .cn-record-list__bar-fill[data-v-03e67618] {
33186
+ .cn-record-list__bar--over .cn-record-list__bar-fill[data-v-7d1cc1e6] {
32944
33187
  background: var(--color-error);
32945
33188
  }
32946
- .cn-record-list__row[data-v-03e67618] {
33189
+ .cn-record-list__row[data-v-7d1cc1e6] {
32947
33190
  align-items: center;
32948
33191
  color: var(--color-main-text);
32949
33192
  display: flex;
@@ -32951,11 +33194,11 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
32951
33194
  padding: 12px 0;
32952
33195
  text-decoration: none;
32953
33196
  }
32954
- .cn-record-list__row--link:hover .cn-record-list__title[data-v-03e67618],
32955
- .cn-record-list__row--link:focus-visible .cn-record-list__title[data-v-03e67618] {
33197
+ .cn-record-list__row--link:hover .cn-record-list__title[data-v-7d1cc1e6],
33198
+ .cn-record-list__row--link:focus-visible .cn-record-list__title[data-v-7d1cc1e6] {
32956
33199
  text-decoration: underline;
32957
33200
  }
32958
- .cn-record-list__avatar[data-v-03e67618] {
33201
+ .cn-record-list__avatar[data-v-7d1cc1e6] {
32959
33202
  align-items: center;
32960
33203
  background: var(--color-background-hover);
32961
33204
  border-radius: 50%;
@@ -32968,67 +33211,67 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
32968
33211
  justify-content: center;
32969
33212
  width: 36px;
32970
33213
  }
32971
- .cn-record-list__main[data-v-03e67618] {
33214
+ .cn-record-list__main[data-v-7d1cc1e6] {
32972
33215
  display: flex;
32973
33216
  flex: 1 1 auto;
32974
33217
  flex-direction: column;
32975
33218
  gap: 2px;
32976
33219
  min-width: 0;
32977
33220
  }
32978
- .cn-record-list__title[data-v-03e67618] {
33221
+ .cn-record-list__title[data-v-7d1cc1e6] {
32979
33222
  font-size: 15px;
32980
33223
  font-weight: 700;
32981
33224
  }
32982
- .cn-record-list__meta[data-v-03e67618] {
33225
+ .cn-record-list__meta[data-v-7d1cc1e6] {
32983
33226
  color: var(--color-text-maxcontrast);
32984
33227
  font-size: 13px;
32985
33228
  }
32986
- .cn-record-list__aside[data-v-03e67618] {
33229
+ .cn-record-list__aside[data-v-7d1cc1e6] {
32987
33230
  align-items: center;
32988
33231
  display: flex;
32989
33232
  flex: none;
32990
33233
  gap: 16px;
32991
33234
  }
32992
- .cn-record-list__trailing[data-v-03e67618] {
33235
+ .cn-record-list__trailing[data-v-7d1cc1e6] {
32993
33236
  font-size: 14px;
32994
33237
  white-space: nowrap;
32995
33238
  }
32996
- .cn-record-list__due[data-v-03e67618] {
33239
+ .cn-record-list__due[data-v-7d1cc1e6] {
32997
33240
  font-size: 14px;
32998
33241
  white-space: nowrap;
32999
33242
  }
33000
- .cn-record-list__due--danger[data-v-03e67618] {
33243
+ .cn-record-list__due--danger[data-v-7d1cc1e6] {
33001
33244
  color: var(--color-text-error, var(--color-error-text));
33002
33245
  font-weight: 600;
33003
33246
  }
33004
- .cn-record-list__due--empty[data-v-03e67618] {
33247
+ .cn-record-list__due--empty[data-v-7d1cc1e6] {
33005
33248
  color: var(--color-text-maxcontrast);
33006
33249
  }
33007
- .cn-record-list__row--action[data-v-03e67618] {
33250
+ .cn-record-list__row--action[data-v-7d1cc1e6] {
33008
33251
  flex-wrap: wrap;
33009
33252
  gap: 8px 16px;
33010
33253
  padding: 14px 0;
33011
33254
  }
33012
- .cn-record-list__row--action .cn-record-list__main[data-v-03e67618] {
33255
+ .cn-record-list__row--action .cn-record-list__main[data-v-7d1cc1e6] {
33013
33256
  flex: 1 1 280px;
33014
33257
  gap: 3px;
33015
33258
  }
33016
- .cn-record-list__title--link[data-v-03e67618] {
33259
+ .cn-record-list__title--link[data-v-7d1cc1e6] {
33017
33260
  color: var(--color-main-text);
33018
33261
  text-decoration: underline;
33019
33262
  }
33020
- .cn-record-list__pills[data-v-03e67618] {
33263
+ .cn-record-list__pills[data-v-7d1cc1e6] {
33021
33264
  display: flex;
33022
33265
  flex: 0 0 120px;
33023
33266
  gap: 6px;
33024
33267
  justify-content: flex-end;
33025
33268
  }
33026
- .cn-record-list__due--column[data-v-03e67618] {
33269
+ .cn-record-list__due--column[data-v-7d1cc1e6] {
33027
33270
  flex: 0 0 96px;
33028
33271
  font-size: 13px;
33029
33272
  text-align: end;
33030
33273
  }
33031
- .cn-record-list__action[data-v-03e67618] {
33274
+ .cn-record-list__action[data-v-7d1cc1e6] {
33032
33275
  align-items: center;
33033
33276
  background: var(--color-primary-element-light);
33034
33277
  border: 0;
@@ -33045,23 +33288,23 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
33045
33288
  padding: 0 14px;
33046
33289
  text-decoration: none;
33047
33290
  }
33048
- .cn-record-list__action[data-v-03e67618]:hover,
33049
- .cn-record-list__action[data-v-03e67618]:focus-visible {
33291
+ .cn-record-list__action[data-v-7d1cc1e6]:hover,
33292
+ .cn-record-list__action[data-v-7d1cc1e6]:focus-visible {
33050
33293
  background: var(--color-primary-element-light-hover, var(--color-primary-element-light));
33051
33294
  }
33052
- .cn-record-list__chevron[data-v-03e67618] {
33295
+ .cn-record-list__chevron[data-v-7d1cc1e6] {
33053
33296
  color: var(--color-text-maxcontrast);
33054
33297
  flex: none;
33055
33298
  }
33056
33299
 
33057
33300
  /* cards (board ShBank): a grid of framed cards, 240px at the least. */
33058
- .cn-record-list--cards .cn-record-list__list[data-v-03e67618] {
33301
+ .cn-record-list--cards .cn-record-list__list[data-v-7d1cc1e6] {
33059
33302
  align-items: start;
33060
33303
  display: grid;
33061
33304
  gap: 16px;
33062
33305
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
33063
33306
  }
33064
- .cn-record-list__card[data-v-03e67618] {
33307
+ .cn-record-list__card[data-v-7d1cc1e6] {
33065
33308
  background: var(--color-main-background);
33066
33309
  border: 1px solid var(--color-border);
33067
33310
  border-radius: 12px;
@@ -33073,51 +33316,51 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
33073
33316
  padding: 16px 18px;
33074
33317
  text-decoration: none;
33075
33318
  }
33076
- .cn-record-list__card--link[data-v-03e67618]:hover,
33077
- .cn-record-list__card--link[data-v-03e67618]:focus-visible {
33319
+ .cn-record-list__card--link[data-v-7d1cc1e6]:hover,
33320
+ .cn-record-list__card--link[data-v-7d1cc1e6]:focus-visible {
33078
33321
  border-color: var(--color-border-dark, var(--color-border));
33079
33322
  }
33080
- .cn-record-list__card--link:hover .cn-record-list__title[data-v-03e67618],
33081
- .cn-record-list__card--link:focus-visible .cn-record-list__title[data-v-03e67618] {
33323
+ .cn-record-list__card--link:hover .cn-record-list__title[data-v-7d1cc1e6],
33324
+ .cn-record-list__card--link:focus-visible .cn-record-list__title[data-v-7d1cc1e6] {
33082
33325
  text-decoration: underline;
33083
33326
  }
33084
- .cn-record-list__card-head[data-v-03e67618] {
33327
+ .cn-record-list__card-head[data-v-7d1cc1e6] {
33085
33328
  align-items: center;
33086
33329
  display: flex;
33087
33330
  gap: 8px;
33088
33331
  justify-content: space-between;
33089
33332
  }
33090
- .cn-record-list__card-title[data-v-03e67618] {
33333
+ .cn-record-list__card-title[data-v-7d1cc1e6] {
33091
33334
  align-items: center;
33092
33335
  display: flex;
33093
33336
  gap: 8px;
33094
33337
  min-width: 0;
33095
33338
  }
33096
- .cn-record-list__card-icon[data-v-03e67618] {
33339
+ .cn-record-list__card-icon[data-v-7d1cc1e6] {
33097
33340
  color: var(--color-primary-element);
33098
33341
  flex: none;
33099
33342
  }
33100
- .cn-record-list__card-pills[data-v-03e67618] {
33343
+ .cn-record-list__card-pills[data-v-7d1cc1e6] {
33101
33344
  display: flex;
33102
33345
  flex: none;
33103
33346
  gap: 6px;
33104
33347
  }
33105
- .cn-record-list__card-value[data-v-03e67618] {
33348
+ .cn-record-list__card-value[data-v-7d1cc1e6] {
33106
33349
  font-size: 24px;
33107
33350
  font-weight: 700;
33108
33351
  }
33109
33352
 
33110
33353
  /* feed */
33111
- .cn-record-list--feed .cn-record-list__item + .cn-record-list__item[data-v-03e67618] {
33354
+ .cn-record-list--feed .cn-record-list__item + .cn-record-list__item[data-v-7d1cc1e6] {
33112
33355
  border-top: 1px solid var(--color-border);
33113
33356
  }
33114
- .cn-record-list__feed-row[data-v-03e67618] {
33357
+ .cn-record-list__feed-row[data-v-7d1cc1e6] {
33115
33358
  align-items: flex-start;
33116
33359
  display: flex;
33117
33360
  gap: 14px;
33118
33361
  padding: 12px 0;
33119
33362
  }
33120
- .cn-record-list__feed-icon[data-v-03e67618] {
33363
+ .cn-record-list__feed-icon[data-v-7d1cc1e6] {
33121
33364
  align-items: center;
33122
33365
  background: var(--color-primary-element-light);
33123
33366
  border-radius: 50%;
@@ -33128,25 +33371,25 @@ a.cn-flow-runs-widget__row-content:hover .cn-flow-runs-widget__name[data-v-33d38
33128
33371
  justify-content: center;
33129
33372
  width: 36px;
33130
33373
  }
33131
- .cn-record-list__text[data-v-03e67618] {
33374
+ .cn-record-list__text[data-v-7d1cc1e6] {
33132
33375
  font-size: 15px;
33133
33376
  }
33134
- .cn-record-list--feed .cn-record-list__main[data-v-03e67618] {
33377
+ .cn-record-list--feed .cn-record-list__main[data-v-7d1cc1e6] {
33135
33378
  color: var(--color-main-text);
33136
33379
  text-decoration: none;
33137
33380
  }
33138
33381
 
33139
33382
  /* inline */
33140
- .cn-record-list__inline-row[data-v-03e67618] {
33383
+ .cn-record-list__inline-row[data-v-7d1cc1e6] {
33141
33384
  padding: 4px 0;
33142
33385
  }
33143
- .cn-record-list__label[data-v-03e67618] {
33386
+ .cn-record-list__label[data-v-7d1cc1e6] {
33144
33387
  margin-inline-end: 4px;
33145
33388
  }
33146
- .cn-record-list__inline-title[data-v-03e67618] {
33389
+ .cn-record-list__inline-title[data-v-7d1cc1e6] {
33147
33390
  color: var(--color-main-text);
33148
33391
  }
33149
- a.cn-record-list__inline-title[data-v-03e67618] {
33392
+ a.cn-record-list__inline-title[data-v-7d1cc1e6] {
33150
33393
  color: var(--color-primary-element);
33151
33394
  text-decoration: underline;
33152
33395
  }
@@ -37562,38 +37805,38 @@ to {
37562
37805
  margin-block-start: 4px;
37563
37806
  }
37564
37807
 
37565
- .cn-wizard-dialog__step-body[data-v-547e7819] {
37808
+ .cn-wizard-dialog__step-body[data-v-1bd3640c] {
37566
37809
  min-height: 200px;
37567
37810
  }
37568
- .cn-wizard-dialog__result[data-v-547e7819] {
37811
+ .cn-wizard-dialog__result[data-v-1bd3640c] {
37569
37812
  display: flex;
37570
37813
  flex-direction: column;
37571
37814
  gap: 12px;
37572
37815
  }
37573
37816
 
37574
37817
 
37575
- .cn-setup-step[data-v-44988d3d] {
37818
+ .cn-setup-step[data-v-130330d9] {
37576
37819
  display: flex;
37577
37820
  flex-direction: column;
37578
37821
  gap: 12px;
37579
37822
  }
37580
- .cn-setup-step__intro[data-v-44988d3d] {
37823
+ .cn-setup-step__intro[data-v-130330d9] {
37581
37824
  margin: 0;
37582
37825
  font-size: 15px;
37583
37826
  line-height: 1.5;
37584
37827
  }
37585
- .cn-setup-step__note[data-v-44988d3d] {
37828
+ .cn-setup-step__note[data-v-130330d9] {
37586
37829
  margin: 0;
37587
37830
  font-size: 13px;
37588
37831
  color: var(--color-text-maxcontrast);
37589
37832
  }
37590
- .cn-setup-step__nav[data-v-44988d3d] {
37833
+ .cn-setup-step__nav[data-v-130330d9] {
37591
37834
  display: flex;
37592
37835
  justify-content: flex-end;
37593
37836
  gap: 8px;
37594
37837
  margin-top: 8px;
37595
37838
  }
37596
- .cn-setup-step__running[data-v-44988d3d] {
37839
+ .cn-setup-step__running[data-v-130330d9] {
37597
37840
  display: flex;
37598
37841
  align-items: center;
37599
37842
  justify-content: center;
@@ -37601,43 +37844,43 @@ to {
37601
37844
  padding: 24px 0;
37602
37845
  color: var(--color-text-maxcontrast);
37603
37846
  }
37604
- .cn-setup-load-result[data-v-44988d3d] {
37847
+ .cn-setup-load-result[data-v-130330d9] {
37605
37848
  margin: 0;
37606
37849
  font-size: var(--font-size-small, 13px);
37607
37850
  }
37608
- .cn-setup-load-result--success[data-v-44988d3d] {
37851
+ .cn-setup-load-result--success[data-v-130330d9] {
37609
37852
  color: var(--color-success-text, var(--color-success));
37610
37853
  }
37611
- .cn-setup-load-result--error[data-v-44988d3d] {
37854
+ .cn-setup-load-result--error[data-v-130330d9] {
37612
37855
  color: var(--color-error-text, var(--color-error));
37613
37856
  }
37614
- .cn-setup-field[data-v-44988d3d] {
37857
+ .cn-setup-field[data-v-130330d9] {
37615
37858
  display: flex;
37616
37859
  flex-direction: column;
37617
37860
  }
37618
- .cn-setup-summary[data-v-44988d3d] {
37861
+ .cn-setup-summary[data-v-130330d9] {
37619
37862
  list-style: none;
37620
37863
  padding: 0;
37621
37864
  margin: 0;
37622
37865
  }
37623
- .cn-setup-summary__item[data-v-44988d3d] {
37866
+ .cn-setup-summary__item[data-v-130330d9] {
37624
37867
  display: flex;
37625
37868
  align-items: center;
37626
37869
  gap: 8px;
37627
37870
  padding: 4px 0;
37628
37871
  color: var(--color-text-maxcontrast);
37629
37872
  }
37630
- .cn-setup-summary__item--done[data-v-44988d3d] {
37873
+ .cn-setup-summary__item--done[data-v-130330d9] {
37631
37874
  color: var(--color-main-text);
37632
37875
  }
37633
- .cn-setup-summary__mark[data-v-44988d3d] {
37876
+ .cn-setup-summary__mark[data-v-130330d9] {
37634
37877
  font-weight: bold;
37635
37878
  color: var(--color-success);
37636
37879
  }
37637
- .cn-setup-summary__label[data-v-44988d3d] {
37880
+ .cn-setup-summary__label[data-v-130330d9] {
37638
37881
  flex: 0 0 auto;
37639
37882
  }
37640
- .cn-setup-summary__value[data-v-44988d3d] {
37883
+ .cn-setup-summary__value[data-v-130330d9] {
37641
37884
  margin-inline-start: auto;
37642
37885
  font-weight: 600;
37643
37886
  color: var(--color-main-text);
@@ -37645,7 +37888,7 @@ to {
37645
37888
 
37646
37889
  /* An on-demand step that did not run says so quietly: it is a choice the
37647
37890
  user did not make, not a failure. */
37648
- .cn-setup-summary__item--not-run .cn-setup-summary__value[data-v-44988d3d] {
37891
+ .cn-setup-summary__item--not-run .cn-setup-summary__value[data-v-130330d9] {
37649
37892
  font-weight: normal;
37650
37893
  color: var(--color-text-maxcontrast);
37651
37894
  }
@@ -39368,160 +39611,6 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39368
39611
  }
39369
39612
 
39370
39613
 
39371
- .cn-quick-filter-bar[data-v-2d5e5fa6] {
39372
- display: flex;
39373
- flex-wrap: wrap;
39374
- align-items: center;
39375
- gap: 8px;
39376
- padding: 8px 12px;
39377
- border-bottom: 1px solid var(--color-border);
39378
- background: var(--color-main-background);
39379
- }
39380
- .cn-quick-filter-bar__tabs[data-v-2d5e5fa6] {
39381
- display: flex;
39382
- flex-wrap: wrap;
39383
- align-items: center;
39384
- gap: 8px;
39385
- }
39386
-
39387
- /* Inline variant — bare strip for embedding inside another bar (e.g. the
39388
- CnActionsBar #filters slot), so it reads as a control beside the view toggle
39389
- rather than a separate bordered row. */
39390
- /* With `fit`: one line, as wide as it is given; the chips it cannot hold
39391
- are in the overflow chip. The measuring copy takes no room and is never
39392
- seen or read. */
39393
- .cn-quick-filter-bar--fit[data-v-2d5e5fa6] {
39394
- position: relative;
39395
- flex-wrap: nowrap;
39396
- min-width: 0;
39397
- }
39398
- .cn-quick-filter-bar--fit .cn-quick-filter-bar__tabs[data-v-2d5e5fa6] {
39399
- flex-wrap: nowrap;
39400
- min-width: 0;
39401
- }
39402
- .cn-quick-filter-bar__measure[data-v-2d5e5fa6] {
39403
- position: absolute;
39404
- inset-block-start: 0;
39405
- inset-inline-start: 0;
39406
- display: flex;
39407
- gap: 8px;
39408
- width: 0;
39409
- height: 0;
39410
- overflow: hidden;
39411
- visibility: hidden;
39412
- pointer-events: none;
39413
- white-space: nowrap;
39414
- }
39415
- .cn-quick-filter-bar__measure[data-v-2d5e5fa6] > * {
39416
- flex: none;
39417
- }
39418
- .cn-quick-filter-bar--inline[data-v-2d5e5fa6] {
39419
- padding: 0;
39420
- border-bottom: none;
39421
- background: transparent;
39422
- }
39423
-
39424
- /* Dropdown variant — give the NcSelect a sensible minimum so multi-select
39425
- chips have room without stretching the whole bar. */
39426
- .cn-quick-filter-bar--dropdown[data-v-2d5e5fa6] {
39427
- align-items: center;
39428
- }
39429
- .cn-quick-filter-bar__select[data-v-2d5e5fa6] {
39430
- min-width: 220px;
39431
- }
39432
- .cn-quick-filter-bar__tab[data-v-2d5e5fa6] {
39433
- display: inline-flex;
39434
- align-items: center;
39435
- gap: 6px;
39436
- padding: 4px 12px;
39437
- border: 1px solid var(--color-border);
39438
- border-radius: var(--border-radius-pill, 999px);
39439
- background: transparent;
39440
- color: var(--color-main-text);
39441
- font-size: 13px;
39442
- font-weight: 500;
39443
- cursor: pointer;
39444
- transition: background-color 120ms, color 120ms, border-color 120ms;
39445
- }
39446
- .cn-quick-filter-bar__tab[data-v-2d5e5fa6]:hover,
39447
- .cn-quick-filter-bar__tab[data-v-2d5e5fa6]:focus-visible {
39448
- background: var(--color-background-hover);
39449
- outline: none;
39450
- }
39451
- .cn-quick-filter-bar__tab--active[data-v-2d5e5fa6] {
39452
- background: var(--color-primary-element, var(--color-primary, #4376fc));
39453
- color: var(--color-primary-element-text, #fff);
39454
- border-color: var(--color-primary-element, var(--color-primary, #4376fc));
39455
- }
39456
- .cn-quick-filter-bar__icon[data-v-2d5e5fa6] {
39457
- display: inline-flex;
39458
- }
39459
- .cn-quick-filter-bar__label[data-v-2d5e5fa6] {
39460
- line-height: 1;
39461
- }
39462
-
39463
- /* Inherits the chip's own text colour, so it stays readable on the active
39464
- (primary) fill as well as on the resting one. The count's text starts with
39465
- a space: the chip is a flex row, so the space is not drawn, but it keeps a
39466
- screen reader from reading label and count as one word. */
39467
- .cn-quick-filter-bar__count[data-v-2d5e5fa6] {
39468
- min-width: 1.5em;
39469
- padding: 2px 6px;
39470
- border: 1px solid currentColor;
39471
- border-radius: var(--border-radius-pill, 10px);
39472
- font-size: 0.85em;
39473
- font-weight: 600;
39474
- line-height: 1;
39475
- text-align: center;
39476
- }
39477
-
39478
- /* NcPopover wraps its trigger in a plain `<div class="v-popper">`, which as a
39479
- block would drop the chip onto its own line under the strip. */
39480
- .cn-quick-filter-bar[data-v-2d5e5fa6] > .v-popper {
39481
- display: inline-flex;
39482
- }
39483
-
39484
- /* The `⋯` glyph is the chip's whole content while no hidden lens is on, so the
39485
- pill tightens to a circle rather than sitting as a wide empty capsule. */
39486
- .cn-quick-filter-bar__more[data-v-2d5e5fa6] {
39487
- gap: 4px;
39488
- }
39489
- .cn-quick-filter-bar__more--icon-only[data-v-2d5e5fa6] {
39490
- padding: 4px 8px;
39491
- }
39492
- .cn-quick-filter-bar__more[aria-expanded='true'][data-v-2d5e5fa6] {
39493
- border-color: var(--color-primary-element, var(--color-primary, #4376fc));
39494
- }
39495
- .cn-quick-filter-bar__more-panel[data-v-2d5e5fa6] {
39496
- padding: 10px 12px 12px;
39497
- max-width: 280px;
39498
- }
39499
- .cn-quick-filter-bar__more-heading[data-v-2d5e5fa6] {
39500
- margin: 0 0 8px;
39501
- font-size: 12px;
39502
- font-weight: 600;
39503
- color: var(--color-text-maxcontrast);
39504
- }
39505
-
39506
- /* The hidden lenses stay chips — the panel is more of the strip, not a
39507
- different control that happens to hold the same filters. */
39508
- .cn-quick-filter-bar__more-list[data-v-2d5e5fa6] {
39509
- display: flex;
39510
- flex-wrap: wrap;
39511
- gap: 8px;
39512
- max-height: 320px;
39513
- overflow-y: auto;
39514
- }
39515
- .cn-quick-filter-bar__more-item[data-v-2d5e5fa6] {
39516
- max-width: 100%;
39517
- }
39518
- .cn-quick-filter-bar__more-item .cn-quick-filter-bar__label[data-v-2d5e5fa6] {
39519
- overflow: hidden;
39520
- text-overflow: ellipsis;
39521
- white-space: nowrap;
39522
- }
39523
-
39524
-
39525
39614
  .cn-view-presentation[data-v-36149399] {
39526
39615
  display: flex;
39527
39616
  flex-direction: column;
@@ -40985,7 +41074,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
40985
41074
  }
40986
41075
 
40987
41076
 
40988
- .cn-dashboard-page[data-v-35fed42f] {
41077
+ .cn-dashboard-page[data-v-5b9ebdc3] {
40989
41078
  padding: 20px;
40990
41079
  max-width: 1800px;
40991
41080
  /* Centre the leftover space once the cap engages, so a wide screen shows
@@ -40999,7 +41088,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
40999
41088
  overflow-y: auto;
41000
41089
  box-sizing: border-box;
41001
41090
  }
41002
- .cn-dashboard-page__header[data-v-35fed42f] {
41091
+ .cn-dashboard-page__header[data-v-5b9ebdc3] {
41003
41092
  display: flex;
41004
41093
  justify-content: space-between;
41005
41094
  align-items: flex-start;
@@ -41011,21 +41100,21 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41011
41100
  room. Only the HEADER shifts right — body widgets keep full width. */
41012
41101
  padding-inline-start: 56px;
41013
41102
  }
41014
- .cn-dashboard-page__header-left[data-v-35fed42f] {
41103
+ .cn-dashboard-page__header-left[data-v-5b9ebdc3] {
41015
41104
  min-width: 0;
41016
41105
  }
41017
- .cn-dashboard-page__title-row[data-v-35fed42f] {
41106
+ .cn-dashboard-page__title-row[data-v-5b9ebdc3] {
41018
41107
  display: flex;
41019
41108
  align-items: center;
41020
41109
  flex-wrap: wrap;
41021
41110
  gap: 12px;
41022
41111
  }
41023
- .cn-dashboard-page__title[data-v-35fed42f] {
41112
+ .cn-dashboard-page__title[data-v-5b9ebdc3] {
41024
41113
  margin: 0;
41025
41114
  font-size: 20px;
41026
41115
  font-weight: 700;
41027
41116
  }
41028
- .cn-dashboard-page__description[data-v-35fed42f] {
41117
+ .cn-dashboard-page__description[data-v-5b9ebdc3] {
41029
41118
  margin: 4px 0 0;
41030
41119
  font-size: 14px;
41031
41120
  color: var(--color-text-maxcontrast);
@@ -41033,19 +41122,19 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41033
41122
 
41034
41123
  /* Board look (screens-dashboard-parity): h1 28/700, a 15px grey subtitle 6px
41035
41124
  under it, and 40px buttons with a 10px gap. */
41036
- .cn-dashboard-page--board .cn-dashboard-page__title[data-v-35fed42f] {
41125
+ .cn-dashboard-page--board .cn-dashboard-page__title[data-v-5b9ebdc3] {
41037
41126
  font-size: 28px;
41038
41127
  font-weight: 700;
41039
41128
  line-height: 1.2;
41040
41129
  }
41041
- .cn-dashboard-page--board .cn-dashboard-page__description[data-v-35fed42f] {
41130
+ .cn-dashboard-page--board .cn-dashboard-page__description[data-v-5b9ebdc3] {
41042
41131
  margin: 6px 0 0;
41043
41132
  font-size: 15px;
41044
41133
  }
41045
- .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-35fed42f] {
41134
+ .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-5b9ebdc3] {
41046
41135
  gap: 10px;
41047
41136
  }
41048
- .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-35fed42f] .button-vue {
41137
+ .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-5b9ebdc3] .button-vue {
41049
41138
  min-height: var(--cn-board-control-height, 40px);
41050
41139
  height: var(--cn-board-control-height, 40px);
41051
41140
  }
@@ -41053,17 +41142,17 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41053
41142
  /* The switch row under the header (screens-dashboard-greeting-header): the
41054
41143
  view switch left, the `viewLinks` pills right (DqMijnWerk: pills 34px high,
41055
41144
  radius 17, 13px/600, a 14px icon, primary light on primary deep). */
41056
- .cn-dashboard-page__switch-row[data-v-35fed42f] {
41145
+ .cn-dashboard-page__switch-row[data-v-5b9ebdc3] {
41057
41146
  display: flex;
41058
41147
  flex-wrap: wrap;
41059
41148
  align-items: center;
41060
41149
  gap: 10px;
41061
41150
  margin-bottom: var(--cn-board-section-gap, 20px);
41062
41151
  }
41063
- .cn-dashboard-page__switch-row-spacer[data-v-35fed42f] {
41152
+ .cn-dashboard-page__switch-row-spacer[data-v-5b9ebdc3] {
41064
41153
  flex: 1 1 auto;
41065
41154
  }
41066
- .cn-dashboard-page__view-link[data-v-35fed42f] {
41155
+ .cn-dashboard-page__view-link[data-v-5b9ebdc3] {
41067
41156
  display: inline-flex;
41068
41157
  align-items: center;
41069
41158
  gap: 6px;
@@ -41077,37 +41166,37 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41077
41166
  white-space: nowrap;
41078
41167
  text-decoration: none !important;
41079
41168
  }
41080
- .cn-dashboard-page__view-link[data-v-35fed42f]:hover {
41169
+ .cn-dashboard-page__view-link[data-v-5b9ebdc3]:hover {
41081
41170
  background: var(--color-primary-element-light-hover, var(--color-primary-element-light));
41082
41171
  }
41083
- .cn-dashboard-page__view-link[data-v-35fed42f]:focus-visible {
41172
+ .cn-dashboard-page__view-link[data-v-5b9ebdc3]:focus-visible {
41084
41173
  outline: 2px solid var(--color-main-text);
41085
41174
  outline-offset: 2px;
41086
41175
  }
41087
- .cn-dashboard-page__view-link-icon[data-v-35fed42f] {
41176
+ .cn-dashboard-page__view-link-icon[data-v-5b9ebdc3] {
41088
41177
  display: inline-flex;
41089
41178
  }
41090
41179
 
41091
41180
  /* The period group, in a row of its own between the header and the KPI row. */
41092
- .cn-dashboard-page__date-range--segmented[data-v-35fed42f] {
41181
+ .cn-dashboard-page__date-range--segmented[data-v-5b9ebdc3] {
41093
41182
  margin-bottom: 16px;
41094
41183
  }
41095
41184
 
41096
41185
  /* The period group at the end of the description line. */
41097
- .cn-dashboard-page__description--with-period[data-v-35fed42f] {
41186
+ .cn-dashboard-page__description--with-period[data-v-5b9ebdc3] {
41098
41187
  align-items: center;
41099
41188
  display: flex;
41100
41189
  flex-wrap: wrap;
41101
41190
  gap: 8px;
41102
41191
  }
41103
- .cn-dashboard-page__date-segmented[data-v-35fed42f] {
41192
+ .cn-dashboard-page__date-segmented[data-v-5b9ebdc3] {
41104
41193
  display: flex;
41105
41194
  align-items: center;
41106
41195
  gap: 8px;
41107
41196
  }
41108
41197
 
41109
41198
  /* The KPI row above the grid: tiles are cells of the auto-fit grid. */
41110
- .cn-dashboard-page__kpi-row[data-v-35fed42f] {
41199
+ .cn-dashboard-page__kpi-row[data-v-5b9ebdc3] {
41111
41200
  margin-bottom: var(--cn-board-section-gap, 16px);
41112
41201
  }
41113
41202
 
@@ -41115,15 +41204,15 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41115
41204
  the cards started a margin to the right of the KPI row and the header. The
41116
41205
  grid reaches out by that margin, so the card edges line up with the page's
41117
41206
  (dashboard-grid-flush). */
41118
- .cn-dashboard-page--board[data-v-35fed42f] .cn-dashboard-grid {
41207
+ .cn-dashboard-page--board[data-v-5b9ebdc3] .cn-dashboard-grid {
41119
41208
  width: auto;
41120
41209
  margin-inline: calc(-1 * var(--cn-dashboard-grid-margin, 12px));
41121
41210
  }
41122
- .cn-dashboard-page__kpi-cell[data-v-35fed42f] {
41211
+ .cn-dashboard-page__kpi-cell[data-v-5b9ebdc3] {
41123
41212
  display: flex;
41124
41213
  min-width: 0;
41125
41214
  }
41126
- .cn-dashboard-page__kpi-cell[data-v-35fed42f] > * {
41215
+ .cn-dashboard-page__kpi-cell[data-v-5b9ebdc3] > * {
41127
41216
  flex: 1 1 auto;
41128
41217
  min-width: 0;
41129
41218
  }
@@ -41136,7 +41225,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41136
41225
  scoped chip rules then silently don't match and the chip collapses into
41137
41226
  NcActions' ~30px icon slot (text wraps to "Last / 30 / days"). The
41138
41227
  data-testid is stable across chunks, so those rules match regardless. */
41139
- .cn-dashboard-page__header-actions[data-v-35fed42f] {
41228
+ .cn-dashboard-page__header-actions[data-v-5b9ebdc3] {
41140
41229
  display: flex;
41141
41230
  align-items: center;
41142
41231
  gap: 8px;
@@ -41152,19 +41241,19 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41152
41241
 
41153
41242
  /* Date-range header band. Kept compact so it doesn't open a tall gap
41154
41243
  above the grid; the pills variant is a single tidy toggle row. */
41155
- .cn-dashboard-page__date-range[data-v-35fed42f] {
41244
+ .cn-dashboard-page__date-range[data-v-5b9ebdc3] {
41156
41245
  margin-bottom: 12px;
41157
41246
  }
41158
- .cn-dashboard-page__date-range--pills[data-v-35fed42f] {
41247
+ .cn-dashboard-page__date-range--pills[data-v-5b9ebdc3] {
41159
41248
  margin-bottom: 8px;
41160
41249
  }
41161
- .cn-dashboard-page__date-pills[data-v-35fed42f] {
41250
+ .cn-dashboard-page__date-pills[data-v-5b9ebdc3] {
41162
41251
  display: flex;
41163
41252
  align-items: center;
41164
41253
  flex-wrap: wrap;
41165
41254
  gap: 6px;
41166
41255
  }
41167
- .cn-dashboard-page__date-pill[data-v-35fed42f] {
41256
+ .cn-dashboard-page__date-pill[data-v-5b9ebdc3] {
41168
41257
  display: inline-flex;
41169
41258
  align-items: center;
41170
41259
  padding: 5px 14px;
@@ -41179,77 +41268,77 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41179
41268
  cursor: pointer;
41180
41269
  transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
41181
41270
  }
41182
- .cn-dashboard-page__date-pill[data-v-35fed42f]:hover {
41271
+ .cn-dashboard-page__date-pill[data-v-5b9ebdc3]:hover {
41183
41272
  background: var(--color-background-hover);
41184
41273
  }
41185
- .cn-dashboard-page__date-pill[data-v-35fed42f]:focus-visible {
41274
+ .cn-dashboard-page__date-pill[data-v-5b9ebdc3]:focus-visible {
41186
41275
  outline: 2px solid var(--color-primary-element);
41187
41276
  outline-offset: 2px;
41188
41277
  }
41189
- .cn-dashboard-page__date-pill--active[data-v-35fed42f] {
41278
+ .cn-dashboard-page__date-pill--active[data-v-5b9ebdc3] {
41190
41279
  background: var(--color-primary-element);
41191
41280
  border-color: var(--color-primary-element);
41192
41281
  color: var(--color-primary-element-text);
41193
41282
  }
41194
- .cn-dashboard-page__date-pill--active[data-v-35fed42f]:hover {
41283
+ .cn-dashboard-page__date-pill--active[data-v-5b9ebdc3]:hover {
41195
41284
  background: var(--color-primary-element-hover, var(--color-primary-element));
41196
41285
  }
41197
41286
 
41198
41287
  /* The custom-range pill is de-emphasised — dashed outline, muted text —
41199
41288
  so it reads as an escape hatch rather than a primary option. */
41200
- .cn-dashboard-page__date-pill--custom[data-v-35fed42f] {
41289
+ .cn-dashboard-page__date-pill--custom[data-v-5b9ebdc3] {
41201
41290
  border-style: dashed;
41202
41291
  color: var(--color-text-maxcontrast);
41203
41292
  }
41204
- .cn-dashboard-page__date-pill-custom[data-v-35fed42f] .action-item__menutoggle {
41293
+ .cn-dashboard-page__date-pill-custom[data-v-5b9ebdc3] .action-item__menutoggle {
41205
41294
  min-width: 0;
41206
41295
  min-height: 0;
41207
41296
  padding: 0;
41208
41297
  background: transparent;
41209
41298
  border: none;
41210
41299
  }
41211
- .cn-dashboard-page__date-pill-custom[data-v-35fed42f] .button-vue,
41212
- .cn-dashboard-page__date-pill-custom[data-v-35fed42f] .button-vue__wrapper,
41213
- .cn-dashboard-page__date-pill-custom[data-v-35fed42f] .button-vue__icon {
41300
+ .cn-dashboard-page__date-pill-custom[data-v-5b9ebdc3] .button-vue,
41301
+ .cn-dashboard-page__date-pill-custom[data-v-5b9ebdc3] .button-vue__wrapper,
41302
+ .cn-dashboard-page__date-pill-custom[data-v-5b9ebdc3] .button-vue__icon {
41214
41303
  width: auto !important;
41215
41304
  min-width: 0 !important;
41216
41305
  overflow: visible !important;
41217
41306
  }
41218
- .cn-dashboard-page__empty[data-v-35fed42f] {
41307
+ .cn-dashboard-page__empty[data-v-5b9ebdc3] {
41219
41308
  padding: 60px 20px;
41220
41309
  }
41221
41310
 
41222
41311
  /* The page's view switch on a page without a header row: at the end of its
41223
41312
  own row, above the grids, where the header would have put it. */
41224
- .cn-dashboard-page__view-switch[data-v-35fed42f] {
41313
+ .cn-dashboard-page__view-switch[data-v-5b9ebdc3] {
41225
41314
  display: flex;
41226
41315
  justify-content: flex-end;
41227
41316
  margin-bottom: 12px;
41228
41317
  }
41229
41318
 
41230
41319
  /* A view the switch shows with nothing to draw. */
41231
- .cn-page-view-region--empty[data-v-35fed42f] {
41320
+ .cn-page-view-region--empty[data-v-5b9ebdc3] {
41232
41321
  padding: 40px 20px;
41233
41322
  }
41234
- .cn-dashboard-page__page-filters[data-v-35fed42f] {
41323
+ .cn-dashboard-page__page-filters[data-v-5b9ebdc3] {
41235
41324
  display: flex;
41236
41325
  flex-wrap: wrap;
41237
41326
  gap: 16px;
41238
41327
  align-items: flex-end;
41239
41328
  margin-bottom: 12px;
41240
41329
  }
41241
- .cn-dashboard-page__page-filter[data-v-35fed42f] {
41330
+ .cn-dashboard-page__page-filter[data-v-5b9ebdc3] {
41242
41331
  display: flex;
41243
41332
  flex-direction: column;
41244
41333
  gap: 4px;
41245
41334
  min-width: 200px;
41246
41335
  }
41247
- .cn-dashboard-page__page-filter-label[data-v-35fed42f] {
41336
+ .cn-dashboard-page__page-filter-label[data-v-5b9ebdc3] {
41248
41337
  font-size: 0.85em;
41249
41338
  font-weight: 600;
41250
41339
  color: var(--color-text-maxcontrast);
41251
41340
  }
41252
- .cn-dashboard-page__widget-edit[data-v-35fed42f] {
41341
+ .cn-dashboard-page__widget-edit[data-v-5b9ebdc3] {
41253
41342
  position: absolute;
41254
41343
  top: 4px;
41255
41344
  inset-inline-end: 4px;
@@ -41268,8 +41357,8 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41268
41357
  and centre the card. */
41269
41358
  /* `safe` centre so an overflowing tile does not spill out of the top, where
41270
41359
  flex overflow cannot be scrolled back to. Same as detail-page.css. */
41271
- .cn-dashboard-page__card-fit[data-v-35fed42f] .cn-widget-wrapper__content,
41272
- .cn-dashboard-page__card-fit.cn-widget-wrapper--flush[data-v-35fed42f] .cn-widget-wrapper__content {
41360
+ .cn-dashboard-page__card-fit[data-v-5b9ebdc3] .cn-widget-wrapper__content,
41361
+ .cn-dashboard-page__card-fit.cn-widget-wrapper--flush[data-v-5b9ebdc3] .cn-widget-wrapper__content {
41273
41362
  overflow: hidden;
41274
41363
  display: flex;
41275
41364
  flex-direction: column;
@@ -41285,7 +41374,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41285
41374
  shows up as a scrollbar the user has to drag to see the whole graph. Same
41286
41375
  shape as the card-fit rule above, minus the padding: chart tiles render
41287
41376
  `flush`, and apexcharts already draws its own margins. */
41288
- .cn-dashboard-page__chart-fit[data-v-35fed42f] .cn-widget-wrapper__content {
41377
+ .cn-dashboard-page__chart-fit[data-v-5b9ebdc3] .cn-widget-wrapper__content {
41289
41378
  overflow: hidden;
41290
41379
  display: flex;
41291
41380
  flex-direction: column;
@@ -41295,13 +41384,13 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41295
41384
  /* Card content (stat / gauge / delta) must fit the tile width: let the
41296
41385
  widget shrink and its value/label truncate instead of pushing past the
41297
41386
  tile edge (the horizontal clip on long currency values). */
41298
- .cn-dashboard-page__card-fit[data-v-35fed42f] .cn-stat-widget,
41299
- .cn-dashboard-page__card-fit[data-v-35fed42f] .cn-gauge-widget,
41300
- .cn-dashboard-page__card-fit[data-v-35fed42f] .cn-delta-widget {
41387
+ .cn-dashboard-page__card-fit[data-v-5b9ebdc3] .cn-stat-widget,
41388
+ .cn-dashboard-page__card-fit[data-v-5b9ebdc3] .cn-gauge-widget,
41389
+ .cn-dashboard-page__card-fit[data-v-5b9ebdc3] .cn-delta-widget {
41301
41390
  min-width: 0;
41302
41391
  max-width: 100%;
41303
41392
  }
41304
- .cn-dashboard-page__unknown[data-v-35fed42f] {
41393
+ .cn-dashboard-page__unknown[data-v-5b9ebdc3] {
41305
41394
  display: flex;
41306
41395
  align-items: center;
41307
41396
  justify-content: center;
@@ -41312,31 +41401,31 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41312
41401
  }
41313
41402
 
41314
41403
  /* widget-ref content items */
41315
- .cn-dashboard-page__content[data-v-35fed42f] {
41404
+ .cn-dashboard-page__content[data-v-5b9ebdc3] {
41316
41405
  display: flex;
41317
41406
  flex-direction: column;
41318
41407
  gap: 16px;
41319
41408
  }
41320
- .cn-dashboard-page__content-item[data-v-35fed42f] {
41409
+ .cn-dashboard-page__content-item[data-v-5b9ebdc3] {
41321
41410
  width: 100%;
41322
41411
  }
41323
41412
  /* On a phone (screens-dashboard-phone) the touch targets of a board dashboard
41324
41413
  are 44px: the widget Actions menu and the KPI tiles. */
41325
41414
  @media (max-width: 640px) {
41326
- .cn-dashboard-page--board[data-v-35fed42f] .cn-widget-wrapper__actions .action-item__menutoggle,
41327
- .cn-dashboard-page--board[data-v-35fed42f] .cn-widget-wrapper__actions .button-vue {
41415
+ .cn-dashboard-page--board[data-v-5b9ebdc3] .cn-widget-wrapper__actions .action-item__menutoggle,
41416
+ .cn-dashboard-page--board[data-v-5b9ebdc3] .cn-widget-wrapper__actions .button-vue {
41328
41417
  min-height: 44px;
41329
41418
  }
41330
- .cn-dashboard-page--board .cn-dashboard-page__kpi-cell[data-v-35fed42f] {
41419
+ .cn-dashboard-page--board .cn-dashboard-page__kpi-cell[data-v-5b9ebdc3] {
41331
41420
  min-height: 44px;
41332
41421
  }
41333
41422
 
41334
41423
  /* The widget Actions menu shows its icon only, so the card title keeps
41335
41424
  the room; the name stays for assistive tech. */
41336
- .cn-dashboard-page--board[data-v-35fed42f] .cn-widget-wrapper__actions .action-item__menutoggle {
41425
+ .cn-dashboard-page--board[data-v-5b9ebdc3] .cn-widget-wrapper__actions .action-item__menutoggle {
41337
41426
  min-width: 44px;
41338
41427
  }
41339
- .cn-dashboard-page--board[data-v-35fed42f] .cn-widget-wrapper__actions .action-item__menutoggle .button-vue__text {
41428
+ .cn-dashboard-page--board[data-v-5b9ebdc3] .cn-widget-wrapper__actions .action-item__menutoggle .button-vue__text {
41340
41429
  position: absolute;
41341
41430
  width: 1px;
41342
41431
  height: 1px;
@@ -41348,7 +41437,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41348
41437
 
41349
41438
  /* What a registry widget reports for its card header (`header` event): the
41350
41439
  note beside the link ("3 in total") and one action, as on a detail page. */
41351
- .cn-dashboard-page__widget-count[data-v-35fed42f] {
41440
+ .cn-dashboard-page__widget-count[data-v-5b9ebdc3] {
41352
41441
  align-self: center;
41353
41442
  padding: 1px 8px;
41354
41443
  border-radius: 10px;
@@ -41357,13 +41446,13 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41357
41446
  font-size: 13px;
41358
41447
  font-weight: 600;
41359
41448
  }
41360
- .cn-dashboard-page__widget-note[data-v-35fed42f] {
41449
+ .cn-dashboard-page__widget-note[data-v-5b9ebdc3] {
41361
41450
  align-self: center;
41362
41451
  color: var(--color-text-maxcontrast);
41363
41452
  font-size: 14px;
41364
41453
  white-space: nowrap;
41365
41454
  }
41366
- .cn-dashboard-page__widget-action[data-v-35fed42f] {
41455
+ .cn-dashboard-page__widget-action[data-v-5b9ebdc3] {
41367
41456
  display: inline-flex;
41368
41457
  align-items: center;
41369
41458
  align-self: center;
@@ -41379,7 +41468,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41379
41468
  white-space: nowrap;
41380
41469
  cursor: pointer;
41381
41470
  }
41382
- .cn-dashboard-page__widget-action[data-v-35fed42f]:focus-visible {
41471
+ .cn-dashboard-page__widget-action[data-v-5b9ebdc3]:focus-visible {
41383
41472
  outline: 2px solid var(--color-primary-element);
41384
41473
  outline-offset: 2px;
41385
41474
  }