@conduction/nextcloud-vue 2.101.0 → 2.102.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 (74) hide show
  1. package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js +22 -0
  2. package/dist/esm/components/CnActionsBar/CnActionsBar.vue2.js.map +1 -1
  3. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js +8 -6
  4. package/dist/esm/components/CnActionsBar/CnActionsBar.vue3.js.map +1 -1
  5. package/dist/esm/components/CnChartWidget/CnChartWidget.vue.js +1 -1
  6. package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js +29 -4
  7. package/dist/esm/components/CnChartWidget/CnChartWidget.vue2.js.map +1 -1
  8. package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js +9 -1
  9. package/dist/esm/components/CnChartWidget/CnChartWidget.vue3.js.map +1 -1
  10. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue.js +1 -1
  11. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js +20 -0
  12. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue2.js.map +1 -1
  13. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js +1 -1
  14. package/dist/esm/components/CnDashboardPage/CnDashboardPage.vue3.js.map +1 -1
  15. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js +70 -4
  16. package/dist/esm/components/CnIndexPage/CnIndexPage.vue2.js.map +1 -1
  17. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js +6 -4
  18. package/dist/esm/components/CnIndexPage/CnIndexPage.vue3.js.map +1 -1
  19. package/dist/esm/components/CnIndexPage/useNamedSource.js +26 -2
  20. package/dist/esm/components/CnIndexPage/useNamedSource.js.map +1 -1
  21. package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue.js +1 -1
  22. package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue2.js +25 -1
  23. package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue2.js.map +1 -1
  24. package/dist/esm/components/CnMenuWidget/CnMenuWidget.vue3.js.map +1 -1
  25. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue.js +1 -1
  26. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js +106 -4
  27. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue2.js.map +1 -1
  28. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js +70 -25
  29. package/dist/esm/components/CnQuickFilterBar/CnQuickFilterBar.vue3.js.map +1 -1
  30. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue.js +1 -1
  31. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js +2 -23
  32. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue2.js.map +1 -1
  33. package/dist/esm/components/CnWidgetObjectTable/CnWidgetObjectTable.vue3.js.map +1 -1
  34. package/dist/esm/composables/indexSources.js +9 -0
  35. package/dist/esm/composables/indexSources.js.map +1 -1
  36. package/dist/esm/l10n/en.json.js +5 -1
  37. package/dist/esm/l10n/en.json.js.map +1 -1
  38. package/dist/esm/l10n/nl.json.js +5 -1
  39. package/dist/esm/l10n/nl.json.js.map +1 -1
  40. package/dist/esm/library-style.js +1 -1
  41. package/dist/esm/nextcloud-vue.css +232 -187
  42. package/dist/esm/utils/builtInFormatters.js +24 -4
  43. package/dist/esm/utils/builtInFormatters.js.map +1 -1
  44. package/dist/esm/utils/rowClassRules.js +43 -0
  45. package/dist/esm/utils/rowClassRules.js.map +1 -0
  46. package/dist/esm/utils/validateManifestV2.compiled.js +3 -3
  47. package/dist/esm/utils/validateManifestV2.compiled.js.map +1 -1
  48. package/dist/esm/utils/visibleWhen.js +19 -2
  49. package/dist/esm/utils/visibleWhen.js.map +1 -1
  50. package/dist/nextcloud-vue.cjs.js +1464 -1053
  51. package/dist/nextcloud-vue.cjs.js.map +2 -2
  52. package/dist/nextcloud-vue.css +232 -187
  53. package/l10n/en.json +5 -1
  54. package/l10n/nl.json +5 -1
  55. package/package.json +1 -1
  56. package/src/components/CnActionsBar/CnActionsBar.md +1 -0
  57. package/src/components/CnActionsBar/CnActionsBar.vue +31 -4
  58. package/src/components/CnChartWidget/CnChartWidget.md +3 -2
  59. package/src/components/CnChartWidget/CnChartWidget.vue +42 -4
  60. package/src/components/CnDashboardPage/CnDashboardPage.vue +21 -1
  61. package/src/components/CnIndexPage/CnIndexPage.md +5 -1
  62. package/src/components/CnIndexPage/CnIndexPage.vue +74 -6
  63. package/src/components/CnIndexPage/useNamedSource.js +26 -2
  64. package/src/components/CnMenuWidget/CnMenuWidget.vue +25 -1
  65. package/src/components/CnQuickFilterBar/CnQuickFilterBar.md +1 -0
  66. package/src/components/CnQuickFilterBar/CnQuickFilterBar.vue +159 -5
  67. package/src/components/CnWidgetObjectTable/CnWidgetObjectTable.vue +2 -23
  68. package/src/composables/indexSources.js +9 -0
  69. package/src/css/look-board-index.css +10 -0
  70. package/src/schemas/app-manifest-v2.schema.json +55 -3
  71. package/src/utils/builtInFormatters.js +24 -4
  72. package/src/utils/rowClassRules.js +39 -0
  73. package/src/utils/validateManifestV2.compiled.js +3 -3
  74. package/src/utils/visibleWhen.js +19 -2
@@ -2399,6 +2399,16 @@
2399
2399
  gap: 8px;
2400
2400
  }
2401
2401
 
2402
+ /* `quickFilterPlacement: "toolbar"` (DqTeamwachtrij): the chips take the room
2403
+ the Filter button and the view switch leave on row 1, so the three stay on
2404
+ one row in the column beside a side panel; the chips that do not fit move
2405
+ into the overflow chip (CnQuickFilterBar `fit`) instead of pushing the
2406
+ buttons onto a row of their own. */
2407
+ .cn-look-board.cn-index-page--quick-filters-toolbar .cn-actions-bar--board > .cn-actions-bar__row--views > .cn-quick-filter-bar {
2408
+ flex: 1 1 0;
2409
+ min-width: 0;
2410
+ }
2411
+
2402
2412
  /* Row 2: the search field and the active filters on a line of their own. */
2403
2413
  .cn-look-board .cn-actions-bar--board > .cn-actions-bar__row--search {
2404
2414
  display: flex;
@@ -9953,7 +9963,7 @@ a.cn-kpi-card--board * {
9953
9963
  }
9954
9964
 
9955
9965
 
9956
- .cn-chart-widget[data-v-0b737464] {
9966
+ .cn-chart-widget[data-v-7d7200f4] {
9957
9967
  width: 100%;
9958
9968
  /* A chart FITS its container — it is never a scroll region. apexcharts
9959
9969
  sizes its SVG from the element it is mounted in, but it also enforces
@@ -9975,13 +9985,13 @@ a.cn-kpi-card--board * {
9975
9985
  takes what is left, so the chart is sized by the box rather than sizing it.
9976
9986
  `min-height: 0` drops the 100px floor — on a fixed-height surface a floor is
9977
9987
  the thing that produces the overflow it was meant to prevent. */
9978
- .cn-chart-widget--fit[data-v-0b737464] {
9988
+ .cn-chart-widget--fit[data-v-7d7200f4] {
9979
9989
  height: 100%;
9980
9990
  min-height: 0;
9981
9991
  display: flex;
9982
9992
  flex-direction: column;
9983
9993
  }
9984
- .cn-chart-widget__canvas[data-v-0b737464] {
9994
+ .cn-chart-widget__canvas[data-v-7d7200f4] {
9985
9995
  min-width: 0;
9986
9996
  max-width: 100%;
9987
9997
  /* Never a scroll region (see the root). `overflow-x: hidden` alone made
@@ -9994,14 +10004,14 @@ a.cn-kpi-card--board * {
9994
10004
  /* apexcharts writes an inline `width` onto its own wrapper from its measured
9995
10005
  minimum, which beats the container when the container is narrower. Cap the
9996
10006
  painted box so the inline width cannot push past the widget's border. */
9997
- .cn-chart-widget[data-v-0b737464] .apexcharts-canvas,
9998
- .cn-chart-widget[data-v-0b737464] .apexcharts-canvas svg {
10007
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-canvas,
10008
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-canvas svg {
9999
10009
  max-width: 100%;
10000
10010
  }
10001
10011
 
10002
10012
  /* The SVG is a block: as an inline box it sits on a line and adds the line's
10003
10013
  descender space under the chart. */
10004
- .cn-chart-widget[data-v-0b737464] .apexcharts-canvas svg {
10014
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-canvas svg {
10005
10015
  display: block;
10006
10016
  }
10007
10017
 
@@ -10009,24 +10019,24 @@ a.cn-kpi-card--board * {
10009
10019
  would grow to its content, i.e. to the chart, and the percentage height would
10010
10020
  resolve against a box the chart itself defined. `overflow: hidden` keeps a
10011
10021
  sub-pixel rounding difference from reintroducing a scrollbar. */
10012
- .cn-chart-widget--fit .cn-chart-widget__canvas[data-v-0b737464] {
10022
+ .cn-chart-widget--fit .cn-chart-widget__canvas[data-v-7d7200f4] {
10013
10023
  flex: 1 1 0;
10014
10024
  min-height: 0;
10015
10025
  overflow: hidden;
10016
10026
  }
10017
- .cn-chart-widget__fallback[data-v-0b737464] {
10027
+ .cn-chart-widget__fallback[data-v-7d7200f4] {
10018
10028
  display: flex;
10019
10029
  align-items: center;
10020
10030
  justify-content: center;
10021
10031
  min-height: 150px;
10022
10032
  color: var(--color-text-maxcontrast);
10023
10033
  }
10024
- .cn-chart-widget__html[data-v-0b737464] {
10034
+ .cn-chart-widget__html[data-v-7d7200f4] {
10025
10035
  display: flex;
10026
10036
  flex-direction: column;
10027
10037
  gap: 12px;
10028
10038
  }
10029
- .cn-chart-widget__bar-list[data-v-0b737464] {
10039
+ .cn-chart-widget__bar-list[data-v-7d7200f4] {
10030
10040
  display: flex;
10031
10041
  flex-direction: column;
10032
10042
  gap: 10px;
@@ -10034,7 +10044,7 @@ a.cn-kpi-card--board * {
10034
10044
  margin: 0;
10035
10045
  padding: 0;
10036
10046
  }
10037
- .cn-chart-widget__bar-line[data-v-0b737464] {
10047
+ .cn-chart-widget__bar-line[data-v-7d7200f4] {
10038
10048
  align-items: center;
10039
10049
  background: none;
10040
10050
  border: 0;
@@ -10049,93 +10059,100 @@ a.cn-kpi-card--board * {
10049
10059
  text-align: start;
10050
10060
  width: 100%;
10051
10061
  }
10052
- .cn-chart-widget__bar-line--drill[data-v-0b737464] {
10062
+ .cn-chart-widget__bar-line--drill[data-v-7d7200f4] {
10053
10063
  border-radius: var(--border-radius-small, 4px);
10054
10064
  cursor: pointer;
10055
10065
  }
10056
- .cn-chart-widget__bar-line--drill:hover .cn-chart-widget__bar-label[data-v-0b737464],
10057
- .cn-chart-widget__bar-line--drill:focus-visible .cn-chart-widget__bar-label[data-v-0b737464] {
10066
+ .cn-chart-widget__bar-line--drill:hover .cn-chart-widget__bar-label[data-v-7d7200f4],
10067
+ .cn-chart-widget__bar-line--drill:focus-visible .cn-chart-widget__bar-label[data-v-7d7200f4] {
10058
10068
  text-decoration: underline;
10059
10069
  }
10060
- .cn-chart-widget__bar-label[data-v-0b737464] {
10070
+ .cn-chart-widget__bar-label[data-v-7d7200f4] {
10061
10071
  overflow: hidden;
10062
10072
  text-overflow: ellipsis;
10063
10073
  white-space: nowrap;
10064
10074
  }
10065
- .cn-chart-widget__bar-track[data-v-0b737464] {
10075
+ .cn-chart-widget__bar-track[data-v-7d7200f4] {
10066
10076
  background: var(--color-background-dark);
10067
10077
  border-radius: 4px;
10068
10078
  display: block;
10069
10079
  height: 14px;
10070
10080
  overflow: hidden;
10071
10081
  }
10072
- .cn-chart-widget__bar-fill[data-v-0b737464] {
10082
+ .cn-chart-widget__bar-fill[data-v-7d7200f4] {
10073
10083
  background: var(--color-primary-element);
10074
10084
  display: block;
10075
10085
  height: 100%;
10076
10086
  }
10077
- .cn-chart-widget__bar-value[data-v-0b737464] {
10087
+ .cn-chart-widget__bar-value[data-v-7d7200f4] {
10078
10088
  font-weight: 600;
10079
10089
  text-align: end;
10080
10090
  white-space: nowrap;
10081
10091
  }
10082
- .cn-chart-widget__footnote[data-v-0b737464] {
10092
+ .cn-chart-widget__footnote[data-v-7d7200f4] {
10083
10093
  color: var(--color-text-maxcontrast);
10084
10094
  margin: 0;
10085
10095
  }
10086
- .cn-chart-widget__matrix[data-v-0b737464] {
10096
+
10097
+ /* Under an ApexCharts plot the footnote is a sibling of the canvas, so it keeps
10098
+ its own line height while the canvas takes the rest of a fitted column. */
10099
+ .cn-chart-widget > .cn-chart-widget__footnote[data-v-7d7200f4] {
10100
+ flex: 0 0 auto;
10101
+ margin-top: 8px;
10102
+ }
10103
+ .cn-chart-widget__matrix[data-v-7d7200f4] {
10087
10104
  display: grid;
10088
10105
  gap: 4px;
10089
10106
  }
10090
- .cn-chart-widget__matrix-row[data-v-0b737464] {
10107
+ .cn-chart-widget__matrix-row[data-v-7d7200f4] {
10091
10108
  display: contents;
10092
10109
  }
10093
- .cn-chart-widget__matrix-head[data-v-0b737464] {
10110
+ .cn-chart-widget__matrix-head[data-v-7d7200f4] {
10094
10111
  color: var(--color-text-maxcontrast);
10095
10112
  padding: 6px;
10096
10113
  }
10097
- .cn-chart-widget__matrix-label[data-v-0b737464] {
10114
+ .cn-chart-widget__matrix-label[data-v-7d7200f4] {
10098
10115
  padding: 10px 6px;
10099
10116
  }
10100
- .cn-chart-widget__matrix-cell[data-v-0b737464] {
10117
+ .cn-chart-widget__matrix-cell[data-v-7d7200f4] {
10101
10118
  border-radius: 6px;
10102
10119
  padding: 10px;
10103
10120
  text-align: center;
10104
10121
  }
10105
- .cn-chart-widget__matrix-cell--success[data-v-0b737464] {
10122
+ .cn-chart-widget__matrix-cell--success[data-v-7d7200f4] {
10106
10123
  background: var(--color-success-light, color-mix(in srgb, var(--color-success) 15%, var(--color-main-background)));
10107
10124
  }
10108
- .cn-chart-widget__matrix-cell--warning[data-v-0b737464] {
10125
+ .cn-chart-widget__matrix-cell--warning[data-v-7d7200f4] {
10109
10126
  background: var(--color-warning-light, color-mix(in srgb, var(--color-warning) 15%, var(--color-main-background)));
10110
10127
  }
10111
- .cn-chart-widget__matrix-cell--error[data-v-0b737464] {
10128
+ .cn-chart-widget__matrix-cell--error[data-v-7d7200f4] {
10112
10129
  background: var(--color-error-light, color-mix(in srgb, var(--color-error) 12%, var(--color-main-background)));
10113
10130
  }
10114
- .cn-chart-widget__matrix-cell--danger[data-v-0b737464] {
10131
+ .cn-chart-widget__matrix-cell--danger[data-v-7d7200f4] {
10115
10132
  background: color-mix(in srgb, var(--color-error) 25%, var(--color-main-background));
10116
10133
  }
10117
- .cn-chart-widget__matrix-cell--current[data-v-0b737464] {
10134
+ .cn-chart-widget__matrix-cell--current[data-v-7d7200f4] {
10118
10135
  font-weight: 700;
10119
10136
  outline: 3px solid var(--color-primary-element);
10120
10137
  outline-offset: -3px;
10121
10138
  }
10122
- .cn-chart-widget__matrix-cell--1[data-v-0b737464] {
10139
+ .cn-chart-widget__matrix-cell--1[data-v-7d7200f4] {
10123
10140
  background: var(--color-primary-element-light);
10124
10141
  color: var(--color-primary-element-light-text);
10125
10142
  }
10126
- .cn-chart-widget__matrix-cell--2[data-v-0b737464] {
10143
+ .cn-chart-widget__matrix-cell--2[data-v-7d7200f4] {
10127
10144
  background: color-mix(in srgb, var(--color-primary-element) 30%, var(--color-main-background));
10128
10145
  color: var(--color-main-text);
10129
10146
  }
10130
- .cn-chart-widget__matrix-cell--3[data-v-0b737464] {
10147
+ .cn-chart-widget__matrix-cell--3[data-v-7d7200f4] {
10131
10148
  background: color-mix(in srgb, var(--color-primary-element) 65%, var(--color-main-background));
10132
10149
  color: var(--color-primary-element-text);
10133
10150
  }
10134
- .cn-chart-widget__matrix-cell--4[data-v-0b737464] {
10151
+ .cn-chart-widget__matrix-cell--4[data-v-7d7200f4] {
10135
10152
  background: var(--color-primary-element);
10136
10153
  color: var(--color-primary-element-text);
10137
10154
  }
10138
- .cn-chart-widget__empty[data-v-0b737464] {
10155
+ .cn-chart-widget__empty[data-v-7d7200f4] {
10139
10156
  display: flex;
10140
10157
  align-items: center;
10141
10158
  justify-content: center;
@@ -10150,25 +10167,25 @@ a.cn-kpi-card--board * {
10150
10167
  content-sized case; in fit mode they take the leftover space and centre in it
10151
10168
  instead, since the floor would overflow a short tile. Declared after the base
10152
10169
  rules so the cascade order matches specificity (no-descending-specificity). */
10153
- .cn-chart-widget--fit .cn-chart-widget__empty[data-v-0b737464],
10154
- .cn-chart-widget--fit .cn-chart-widget__fallback[data-v-0b737464] {
10170
+ .cn-chart-widget--fit .cn-chart-widget__empty[data-v-7d7200f4],
10171
+ .cn-chart-widget--fit .cn-chart-widget__fallback[data-v-7d7200f4] {
10155
10172
  flex: 1 1 0;
10156
10173
  min-height: 0;
10157
10174
  }
10158
- .cn-chart-widget__error[data-v-0b737464] {
10175
+ .cn-chart-widget__error[data-v-7d7200f4] {
10159
10176
  font-size: 14px;
10160
10177
  margin: 0;
10161
10178
  }
10162
10179
 
10163
10180
  /* In-widget view switcher pills (views[] prop) — compact segmented row,
10164
10181
  mirroring the dashboard date-range pill styling. */
10165
- .cn-chart-widget__views[data-v-0b737464] {
10182
+ .cn-chart-widget__views[data-v-7d7200f4] {
10166
10183
  display: flex;
10167
10184
  gap: 4px;
10168
10185
  margin-bottom: 6px;
10169
10186
  justify-content: flex-end;
10170
10187
  }
10171
- .cn-chart-widget__view-pill[data-v-0b737464] {
10188
+ .cn-chart-widget__view-pill[data-v-7d7200f4] {
10172
10189
  padding: 2px 10px;
10173
10190
  border: 1px solid var(--color-border);
10174
10191
  border-radius: 999px;
@@ -10177,7 +10194,7 @@ a.cn-kpi-card--board * {
10177
10194
  font-size: 12px;
10178
10195
  cursor: pointer;
10179
10196
  }
10180
- .cn-chart-widget__view-pill--active[data-v-0b737464] {
10197
+ .cn-chart-widget__view-pill--active[data-v-7d7200f4] {
10181
10198
  background: var(--color-primary-element-light, #aad2ed);
10182
10199
  color: var(--color-main-text);
10183
10200
  border-color: var(--color-primary-element, #0082c9);
@@ -10206,8 +10223,8 @@ a.cn-kpi-card--board * {
10206
10223
  each override below therefore carries one more class than the apexcharts rule
10207
10224
  it replaces, and holds even without the scope attribute this block compiles
10208
10225
  with. */
10209
- .cn-chart-widget[data-v-0b737464] .apexcharts-tooltip.apexcharts-theme-light,
10210
- .cn-chart-widget[data-v-0b737464] .apexcharts-tooltip.apexcharts-theme-dark {
10226
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-tooltip.apexcharts-theme-light,
10227
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-tooltip.apexcharts-theme-dark {
10211
10228
  background: var(--color-main-background);
10212
10229
  border: 1px solid var(--color-border);
10213
10230
  color: var(--color-main-text);
@@ -10216,8 +10233,8 @@ a.cn-kpi-card--board * {
10216
10233
 
10217
10234
  /* The title row is the date/category header ("Aug 26"). Its own background is
10218
10235
  what made it unreadable rather than merely off-theme. */
10219
- .cn-chart-widget[data-v-0b737464] .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title,
10220
- .cn-chart-widget[data-v-0b737464] .apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {
10236
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-tooltip.apexcharts-theme-light .apexcharts-tooltip-title,
10237
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-tooltip.apexcharts-theme-dark .apexcharts-tooltip-title {
10221
10238
  background: var(--color-background-hover);
10222
10239
  border-bottom: 1px solid var(--color-border);
10223
10240
  color: var(--color-main-text);
@@ -10226,8 +10243,8 @@ a.cn-kpi-card--board * {
10226
10243
  /* Crosshair axis tooltips. apexcharts puts light hex values on the BASE class
10227
10244
  here and only overrides them for its dark theme, so the base rule has to be
10228
10245
  replaced too — not just the theme variants. */
10229
- .cn-chart-widget[data-v-0b737464] .apexcharts-xaxistooltip,
10230
- .cn-chart-widget[data-v-0b737464] .apexcharts-yaxistooltip {
10246
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-xaxistooltip,
10247
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-yaxistooltip {
10231
10248
  background: var(--color-main-background);
10232
10249
  border: 1px solid var(--color-border);
10233
10250
  color: var(--color-main-text);
@@ -10236,55 +10253,55 @@ a.cn-kpi-card--board * {
10236
10253
  /* Their pointer arrows are two stacked triangles: `::before` paints the border
10237
10254
  edge, `::after` the fill. Both need the tokens the box above uses, or the
10238
10255
  arrow keeps the old palette and reads as a stray light wedge. */
10239
- .cn-chart-widget[data-v-0b737464] .apexcharts-xaxistooltip-bottom::after,
10240
- .cn-chart-widget[data-v-0b737464] .apexcharts-xaxistooltip-top::after {
10256
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-xaxistooltip-bottom::after,
10257
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-xaxistooltip-top::after {
10241
10258
  border-bottom-color: var(--color-main-background);
10242
10259
  border-top-color: var(--color-main-background);
10243
10260
  }
10244
- .cn-chart-widget[data-v-0b737464] .apexcharts-xaxistooltip-bottom::before,
10245
- .cn-chart-widget[data-v-0b737464] .apexcharts-xaxistooltip-top::before {
10261
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-xaxistooltip-bottom::before,
10262
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-xaxistooltip-top::before {
10246
10263
  border-bottom-color: var(--color-border);
10247
10264
  border-top-color: var(--color-border);
10248
10265
  }
10249
- .cn-chart-widget[data-v-0b737464] .apexcharts-yaxistooltip-left::after,
10250
- .cn-chart-widget[data-v-0b737464] .apexcharts-yaxistooltip-right::after {
10266
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-yaxistooltip-left::after,
10267
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-yaxistooltip-right::after {
10251
10268
  border-left-color: var(--color-main-background);
10252
10269
  border-right-color: var(--color-main-background);
10253
10270
  }
10254
- .cn-chart-widget[data-v-0b737464] .apexcharts-yaxistooltip-left::before,
10255
- .cn-chart-widget[data-v-0b737464] .apexcharts-yaxistooltip-right::before {
10271
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-yaxistooltip-left::before,
10272
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-yaxistooltip-right::before {
10256
10273
  border-left-color: var(--color-border);
10257
10274
  border-right-color: var(--color-border);
10258
10275
  }
10259
10276
 
10260
10277
  /* Toolbar menu — only reachable with `toolbar: true`, but the same defect: a
10261
10278
  hardcoded `#fff` panel under inherited near-white text. */
10262
- .cn-chart-widget[data-v-0b737464] .apexcharts-menu {
10279
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-menu {
10263
10280
  background: var(--color-main-background);
10264
10281
  border: 1px solid var(--color-border);
10265
10282
  color: var(--color-main-text);
10266
10283
  }
10267
- .cn-chart-widget[data-v-0b737464] .apexcharts-menu .apexcharts-menu-item:hover {
10284
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-menu .apexcharts-menu-item:hover {
10268
10285
  background: var(--color-background-hover);
10269
10286
  }
10270
10287
 
10271
10288
  /* Toolbar icons: `#6e8192` at rest and `#333` on hover, i.e. the hover state
10272
10289
  vanishes against a dark background. One selector per icon class, matching
10273
10290
  apexcharts' own list, to clear its (0,3,1) hover rules. */
10274
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-menu-icon svg,
10275
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-reset-icon svg,
10276
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-selection-icon svg,
10277
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoom-icon svg,
10278
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoomin-icon svg,
10279
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoomout-icon svg {
10291
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-menu-icon svg,
10292
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-reset-icon svg,
10293
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-selection-icon svg,
10294
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoom-icon svg,
10295
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoomin-icon svg,
10296
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoomout-icon svg {
10280
10297
  fill: var(--color-text-maxcontrast);
10281
10298
  }
10282
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-menu-icon:hover svg,
10283
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-reset-icon:hover svg,
10284
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-selection-icon:hover svg,
10285
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoom-icon:hover svg,
10286
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoomin-icon:hover svg,
10287
- .cn-chart-widget[data-v-0b737464] .apexcharts-toolbar .apexcharts-zoomout-icon:hover svg {
10299
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-menu-icon:hover svg,
10300
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-reset-icon:hover svg,
10301
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-selection-icon:hover svg,
10302
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoom-icon:hover svg,
10303
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoomin-icon:hover svg,
10304
+ .cn-chart-widget[data-v-7d7200f4] .apexcharts-toolbar .apexcharts-zoomout-icon:hover svg {
10288
10305
  fill: var(--color-main-text);
10289
10306
  }
10290
10307
 
@@ -26522,16 +26539,16 @@ button.cn-stepper__step[data-v-776581d4] {
26522
26539
  }
26523
26540
 
26524
26541
 
26525
- .cn-widget-object-table[data-v-d8f8d15a] {
26542
+ .cn-widget-object-table[data-v-dfdcad2a] {
26526
26543
  width: 100%;
26527
26544
  }
26528
- .cn-widget-object-table__footer[data-v-d8f8d15a] {
26545
+ .cn-widget-object-table__footer[data-v-dfdcad2a] {
26529
26546
  display: flex;
26530
26547
  gap: 4px;
26531
26548
  padding: 4px 8px;
26532
26549
  border-top: 1px solid var(--color-border);
26533
26550
  }
26534
- .cn-widget-object-table__error[data-v-d8f8d15a] {
26551
+ .cn-widget-object-table__error[data-v-dfdcad2a] {
26535
26552
  color: var(--color-text-error, var(--color-error-text));
26536
26553
  font-size: 0.85em;
26537
26554
  margin: 4px 8px 0;
@@ -28803,14 +28820,14 @@ button.cn-stepper__step[data-v-776581d4] {
28803
28820
  }
28804
28821
 
28805
28822
 
28806
- .cn-menu-widget[data-v-2a4e786e] {
28823
+ .cn-menu-widget[data-v-2edac2f0] {
28807
28824
  width: 100%;
28808
28825
  height: 100%;
28809
28826
  padding: 4px;
28810
28827
  color: var(--color-main-text);
28811
28828
  font-size: 14px;
28812
28829
  }
28813
- .cn-menu-widget__empty[data-v-2a4e786e] {
28830
+ .cn-menu-widget__empty[data-v-2edac2f0] {
28814
28831
  display: flex;
28815
28832
  align-items: center;
28816
28833
  gap: 8px;
@@ -28820,13 +28837,13 @@ button.cn-stepper__step[data-v-776581d4] {
28820
28837
  border: 1px dashed var(--color-border);
28821
28838
  border-radius: var(--border-radius);
28822
28839
  }
28823
- .cn-menu-widget__empty--clickable[data-v-2a4e786e] {
28840
+ .cn-menu-widget__empty--clickable[data-v-2edac2f0] {
28824
28841
  cursor: pointer;
28825
28842
  }
28826
- .cn-menu-widget__empty-icon[data-v-2a4e786e] {
28843
+ .cn-menu-widget__empty-icon[data-v-2edac2f0] {
28827
28844
  font-size: 18px;
28828
28845
  }
28829
- .cn-menu-widget__bar[data-v-2a4e786e] {
28846
+ .cn-menu-widget__bar[data-v-2edac2f0] {
28830
28847
  display: flex;
28831
28848
  flex-direction: row;
28832
28849
  gap: 4px;
@@ -28834,17 +28851,17 @@ button.cn-stepper__step[data-v-776581d4] {
28834
28851
  padding: 0;
28835
28852
  list-style: none;
28836
28853
  }
28837
- .cn-menu-widget__bar--vertical[data-v-2a4e786e] {
28854
+ .cn-menu-widget__bar--vertical[data-v-2edac2f0] {
28838
28855
  flex-direction: column;
28839
28856
  }
28840
- .cn-menu-widget__bar-item[data-v-2a4e786e] {
28857
+ .cn-menu-widget__bar-item[data-v-2edac2f0] {
28841
28858
  position: relative;
28842
28859
  list-style: none;
28843
28860
  }
28844
- .cn-menu-widget__bar-button[data-v-2a4e786e],
28845
- .cn-menu-widget__dropdown-item[data-v-2a4e786e],
28846
- .cn-menu-widget__mega-group-title[data-v-2a4e786e],
28847
- .cn-menu-widget__mega-leaf[data-v-2a4e786e] {
28861
+ .cn-menu-widget__bar-button[data-v-2edac2f0],
28862
+ .cn-menu-widget__dropdown-item[data-v-2edac2f0],
28863
+ .cn-menu-widget__mega-group-title[data-v-2edac2f0],
28864
+ .cn-menu-widget__mega-leaf[data-v-2edac2f0] {
28848
28865
  display: inline-flex;
28849
28866
  align-items: center;
28850
28867
  gap: 6px;
@@ -28860,35 +28877,35 @@ button.cn-stepper__step[data-v-776581d4] {
28860
28877
  box-sizing: border-box;
28861
28878
  width: 100%;
28862
28879
  }
28863
- .cn-menu-widget__mega-group-title[data-v-2a4e786e] {
28880
+ .cn-menu-widget__mega-group-title[data-v-2edac2f0] {
28864
28881
  font-weight: 600;
28865
28882
  }
28866
- .cn-menu-widget__bar-button[data-v-2a4e786e]:hover,
28867
- .cn-menu-widget__dropdown-item[data-v-2a4e786e]:hover,
28868
- .cn-menu-widget__mega-group-title[data-v-2a4e786e]:hover,
28869
- .cn-menu-widget__mega-leaf[data-v-2a4e786e]:hover {
28883
+ .cn-menu-widget__bar-button[data-v-2edac2f0]:hover,
28884
+ .cn-menu-widget__dropdown-item[data-v-2edac2f0]:hover,
28885
+ .cn-menu-widget__mega-group-title[data-v-2edac2f0]:hover,
28886
+ .cn-menu-widget__mega-leaf[data-v-2edac2f0]:hover {
28870
28887
  background: var(--color-background-hover);
28871
28888
  }
28872
- .cn-menu-widget__bar-button[data-v-2a4e786e]:focus-visible,
28873
- .cn-menu-widget__dropdown-item[data-v-2a4e786e]:focus-visible {
28889
+ .cn-menu-widget__bar-button[data-v-2edac2f0]:focus-visible,
28890
+ .cn-menu-widget__dropdown-item[data-v-2edac2f0]:focus-visible {
28874
28891
  outline: 2px solid var(--color-primary);
28875
28892
  outline-offset: 2px;
28876
28893
  }
28877
- .cn-menu-widget__icon[data-v-2a4e786e] {
28894
+ .cn-menu-widget__icon[data-v-2edac2f0] {
28878
28895
  display: inline-flex;
28879
28896
  align-items: center;
28880
28897
  justify-content: center;
28881
28898
  width: 20px;
28882
28899
  height: 20px;
28883
28900
  }
28884
- .cn-menu-widget__icon--hidden[data-v-2a4e786e] {
28901
+ .cn-menu-widget__icon--hidden[data-v-2edac2f0] {
28885
28902
  visibility: hidden;
28886
28903
  }
28887
- .cn-menu-widget__caret[data-v-2a4e786e] {
28904
+ .cn-menu-widget__caret[data-v-2edac2f0] {
28888
28905
  margin-left: auto;
28889
28906
  font-size: 10px;
28890
28907
  }
28891
- .cn-menu-widget__dropdown[data-v-2a4e786e] {
28908
+ .cn-menu-widget__dropdown[data-v-2edac2f0] {
28892
28909
  position: absolute;
28893
28910
  top: 100%;
28894
28911
  left: 0;
@@ -28902,10 +28919,10 @@ button.cn-stepper__step[data-v-776581d4] {
28902
28919
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
28903
28920
  list-style: none;
28904
28921
  }
28905
- .cn-menu-widget__dropdown-item-wrap[data-v-2a4e786e] {
28922
+ .cn-menu-widget__dropdown-item-wrap[data-v-2edac2f0] {
28906
28923
  position: relative;
28907
28924
  }
28908
- .cn-menu-widget__flyout[data-v-2a4e786e] {
28925
+ .cn-menu-widget__flyout[data-v-2edac2f0] {
28909
28926
  position: absolute;
28910
28927
  top: 0;
28911
28928
  left: 100%;
@@ -28918,7 +28935,7 @@ button.cn-stepper__step[data-v-776581d4] {
28918
28935
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
28919
28936
  list-style: none;
28920
28937
  }
28921
- .cn-menu-widget__mega-panel[data-v-2a4e786e] {
28938
+ .cn-menu-widget__mega-panel[data-v-2edac2f0] {
28922
28939
  margin-top: 4px;
28923
28940
  padding: 12px;
28924
28941
  display: grid;
@@ -28928,35 +28945,35 @@ button.cn-stepper__step[data-v-776581d4] {
28928
28945
  border: 1px solid var(--color-border);
28929
28946
  border-radius: var(--border-radius);
28930
28947
  }
28931
- .cn-menu-widget__mega-leaves[data-v-2a4e786e] {
28948
+ .cn-menu-widget__mega-leaves[data-v-2edac2f0] {
28932
28949
  margin: 4px 0 0;
28933
28950
  padding: 0;
28934
28951
  list-style: none;
28935
28952
  }
28936
- .cn-menu-widget__tree[data-v-2a4e786e] {
28953
+ .cn-menu-widget__tree[data-v-2edac2f0] {
28937
28954
  margin: 0;
28938
28955
  padding: 0;
28939
28956
  list-style: none;
28940
28957
  }
28941
28958
 
28942
28959
  /* Active-item highlight variants. */
28943
- .cn-menu-widget--highlight-underline .cn-menu-widget__item--active[data-v-2a4e786e] {
28960
+ .cn-menu-widget--highlight-underline .cn-menu-widget__item--active[data-v-2edac2f0] {
28944
28961
  border-bottom: 3px solid var(--color-primary);
28945
28962
  }
28946
- .cn-menu-widget--highlight-underline .cn-menu-widget__item--in-path[data-v-2a4e786e] {
28963
+ .cn-menu-widget--highlight-underline .cn-menu-widget__item--in-path[data-v-2edac2f0] {
28947
28964
  border-bottom: 2px solid var(--color-primary);
28948
28965
  opacity: 0.85;
28949
28966
  }
28950
- .cn-menu-widget--highlight-background .cn-menu-widget__item--active[data-v-2a4e786e],
28951
- .cn-menu-widget--highlight-background .cn-menu-widget__item--in-path[data-v-2a4e786e] {
28967
+ .cn-menu-widget--highlight-background .cn-menu-widget__item--active[data-v-2edac2f0],
28968
+ .cn-menu-widget--highlight-background .cn-menu-widget__item--in-path[data-v-2edac2f0] {
28952
28969
  background: var(--color-primary-element-light, rgba(0, 112, 192, 0.1));
28953
28970
  color: var(--color-primary);
28954
28971
  }
28955
- .cn-menu-widget--highlight-left-bar .cn-menu-widget__item--active[data-v-2a4e786e] {
28972
+ .cn-menu-widget--highlight-left-bar .cn-menu-widget__item--active[data-v-2edac2f0] {
28956
28973
  border-left: 5px solid var(--color-primary);
28957
28974
  padding-left: 6px;
28958
28975
  }
28959
- .cn-menu-widget--highlight-left-bar .cn-menu-widget__item--in-path[data-v-2a4e786e] {
28976
+ .cn-menu-widget--highlight-left-bar .cn-menu-widget__item--in-path[data-v-2edac2f0] {
28960
28977
  border-left: 4px solid var(--color-primary);
28961
28978
  padding-left: 7px;
28962
28979
  opacity: 0.85;
@@ -39351,7 +39368,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39351
39368
  }
39352
39369
 
39353
39370
 
39354
- .cn-quick-filter-bar[data-v-ed2d2a38] {
39371
+ .cn-quick-filter-bar[data-v-2d5e5fa6] {
39355
39372
  display: flex;
39356
39373
  flex-wrap: wrap;
39357
39374
  align-items: center;
@@ -39360,7 +39377,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39360
39377
  border-bottom: 1px solid var(--color-border);
39361
39378
  background: var(--color-main-background);
39362
39379
  }
39363
- .cn-quick-filter-bar__tabs[data-v-ed2d2a38] {
39380
+ .cn-quick-filter-bar__tabs[data-v-2d5e5fa6] {
39364
39381
  display: flex;
39365
39382
  flex-wrap: wrap;
39366
39383
  align-items: center;
@@ -39370,7 +39387,35 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39370
39387
  /* Inline variant — bare strip for embedding inside another bar (e.g. the
39371
39388
  CnActionsBar #filters slot), so it reads as a control beside the view toggle
39372
39389
  rather than a separate bordered row. */
39373
- .cn-quick-filter-bar--inline[data-v-ed2d2a38] {
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] {
39374
39419
  padding: 0;
39375
39420
  border-bottom: none;
39376
39421
  background: transparent;
@@ -39378,13 +39423,13 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39378
39423
 
39379
39424
  /* Dropdown variant — give the NcSelect a sensible minimum so multi-select
39380
39425
  chips have room without stretching the whole bar. */
39381
- .cn-quick-filter-bar--dropdown[data-v-ed2d2a38] {
39426
+ .cn-quick-filter-bar--dropdown[data-v-2d5e5fa6] {
39382
39427
  align-items: center;
39383
39428
  }
39384
- .cn-quick-filter-bar__select[data-v-ed2d2a38] {
39429
+ .cn-quick-filter-bar__select[data-v-2d5e5fa6] {
39385
39430
  min-width: 220px;
39386
39431
  }
39387
- .cn-quick-filter-bar__tab[data-v-ed2d2a38] {
39432
+ .cn-quick-filter-bar__tab[data-v-2d5e5fa6] {
39388
39433
  display: inline-flex;
39389
39434
  align-items: center;
39390
39435
  gap: 6px;
@@ -39398,20 +39443,20 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39398
39443
  cursor: pointer;
39399
39444
  transition: background-color 120ms, color 120ms, border-color 120ms;
39400
39445
  }
39401
- .cn-quick-filter-bar__tab[data-v-ed2d2a38]:hover,
39402
- .cn-quick-filter-bar__tab[data-v-ed2d2a38]:focus-visible {
39446
+ .cn-quick-filter-bar__tab[data-v-2d5e5fa6]:hover,
39447
+ .cn-quick-filter-bar__tab[data-v-2d5e5fa6]:focus-visible {
39403
39448
  background: var(--color-background-hover);
39404
39449
  outline: none;
39405
39450
  }
39406
- .cn-quick-filter-bar__tab--active[data-v-ed2d2a38] {
39451
+ .cn-quick-filter-bar__tab--active[data-v-2d5e5fa6] {
39407
39452
  background: var(--color-primary-element, var(--color-primary, #4376fc));
39408
39453
  color: var(--color-primary-element-text, #fff);
39409
39454
  border-color: var(--color-primary-element, var(--color-primary, #4376fc));
39410
39455
  }
39411
- .cn-quick-filter-bar__icon[data-v-ed2d2a38] {
39456
+ .cn-quick-filter-bar__icon[data-v-2d5e5fa6] {
39412
39457
  display: inline-flex;
39413
39458
  }
39414
- .cn-quick-filter-bar__label[data-v-ed2d2a38] {
39459
+ .cn-quick-filter-bar__label[data-v-2d5e5fa6] {
39415
39460
  line-height: 1;
39416
39461
  }
39417
39462
 
@@ -39419,7 +39464,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39419
39464
  (primary) fill as well as on the resting one. The count's text starts with
39420
39465
  a space: the chip is a flex row, so the space is not drawn, but it keeps a
39421
39466
  screen reader from reading label and count as one word. */
39422
- .cn-quick-filter-bar__count[data-v-ed2d2a38] {
39467
+ .cn-quick-filter-bar__count[data-v-2d5e5fa6] {
39423
39468
  min-width: 1.5em;
39424
39469
  padding: 2px 6px;
39425
39470
  border: 1px solid currentColor;
@@ -39432,26 +39477,26 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39432
39477
 
39433
39478
  /* NcPopover wraps its trigger in a plain `<div class="v-popper">`, which as a
39434
39479
  block would drop the chip onto its own line under the strip. */
39435
- .cn-quick-filter-bar[data-v-ed2d2a38] > .v-popper {
39480
+ .cn-quick-filter-bar[data-v-2d5e5fa6] > .v-popper {
39436
39481
  display: inline-flex;
39437
39482
  }
39438
39483
 
39439
39484
  /* The `⋯` glyph is the chip's whole content while no hidden lens is on, so the
39440
39485
  pill tightens to a circle rather than sitting as a wide empty capsule. */
39441
- .cn-quick-filter-bar__more[data-v-ed2d2a38] {
39486
+ .cn-quick-filter-bar__more[data-v-2d5e5fa6] {
39442
39487
  gap: 4px;
39443
39488
  }
39444
- .cn-quick-filter-bar__more--icon-only[data-v-ed2d2a38] {
39489
+ .cn-quick-filter-bar__more--icon-only[data-v-2d5e5fa6] {
39445
39490
  padding: 4px 8px;
39446
39491
  }
39447
- .cn-quick-filter-bar__more[aria-expanded='true'][data-v-ed2d2a38] {
39492
+ .cn-quick-filter-bar__more[aria-expanded='true'][data-v-2d5e5fa6] {
39448
39493
  border-color: var(--color-primary-element, var(--color-primary, #4376fc));
39449
39494
  }
39450
- .cn-quick-filter-bar__more-panel[data-v-ed2d2a38] {
39495
+ .cn-quick-filter-bar__more-panel[data-v-2d5e5fa6] {
39451
39496
  padding: 10px 12px 12px;
39452
39497
  max-width: 280px;
39453
39498
  }
39454
- .cn-quick-filter-bar__more-heading[data-v-ed2d2a38] {
39499
+ .cn-quick-filter-bar__more-heading[data-v-2d5e5fa6] {
39455
39500
  margin: 0 0 8px;
39456
39501
  font-size: 12px;
39457
39502
  font-weight: 600;
@@ -39460,17 +39505,17 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
39460
39505
 
39461
39506
  /* The hidden lenses stay chips — the panel is more of the strip, not a
39462
39507
  different control that happens to hold the same filters. */
39463
- .cn-quick-filter-bar__more-list[data-v-ed2d2a38] {
39508
+ .cn-quick-filter-bar__more-list[data-v-2d5e5fa6] {
39464
39509
  display: flex;
39465
39510
  flex-wrap: wrap;
39466
39511
  gap: 8px;
39467
39512
  max-height: 320px;
39468
39513
  overflow-y: auto;
39469
39514
  }
39470
- .cn-quick-filter-bar__more-item[data-v-ed2d2a38] {
39515
+ .cn-quick-filter-bar__more-item[data-v-2d5e5fa6] {
39471
39516
  max-width: 100%;
39472
39517
  }
39473
- .cn-quick-filter-bar__more-item .cn-quick-filter-bar__label[data-v-ed2d2a38] {
39518
+ .cn-quick-filter-bar__more-item .cn-quick-filter-bar__label[data-v-2d5e5fa6] {
39474
39519
  overflow: hidden;
39475
39520
  text-overflow: ellipsis;
39476
39521
  white-space: nowrap;
@@ -40940,7 +40985,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
40940
40985
  }
40941
40986
 
40942
40987
 
40943
- .cn-dashboard-page[data-v-54c2437f] {
40988
+ .cn-dashboard-page[data-v-35fed42f] {
40944
40989
  padding: 20px;
40945
40990
  max-width: 1800px;
40946
40991
  /* Centre the leftover space once the cap engages, so a wide screen shows
@@ -40954,7 +40999,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
40954
40999
  overflow-y: auto;
40955
41000
  box-sizing: border-box;
40956
41001
  }
40957
- .cn-dashboard-page__header[data-v-54c2437f] {
41002
+ .cn-dashboard-page__header[data-v-35fed42f] {
40958
41003
  display: flex;
40959
41004
  justify-content: space-between;
40960
41005
  align-items: flex-start;
@@ -40966,21 +41011,21 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
40966
41011
  room. Only the HEADER shifts right — body widgets keep full width. */
40967
41012
  padding-inline-start: 56px;
40968
41013
  }
40969
- .cn-dashboard-page__header-left[data-v-54c2437f] {
41014
+ .cn-dashboard-page__header-left[data-v-35fed42f] {
40970
41015
  min-width: 0;
40971
41016
  }
40972
- .cn-dashboard-page__title-row[data-v-54c2437f] {
41017
+ .cn-dashboard-page__title-row[data-v-35fed42f] {
40973
41018
  display: flex;
40974
41019
  align-items: center;
40975
41020
  flex-wrap: wrap;
40976
41021
  gap: 12px;
40977
41022
  }
40978
- .cn-dashboard-page__title[data-v-54c2437f] {
41023
+ .cn-dashboard-page__title[data-v-35fed42f] {
40979
41024
  margin: 0;
40980
41025
  font-size: 20px;
40981
41026
  font-weight: 700;
40982
41027
  }
40983
- .cn-dashboard-page__description[data-v-54c2437f] {
41028
+ .cn-dashboard-page__description[data-v-35fed42f] {
40984
41029
  margin: 4px 0 0;
40985
41030
  font-size: 14px;
40986
41031
  color: var(--color-text-maxcontrast);
@@ -40988,19 +41033,19 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
40988
41033
 
40989
41034
  /* Board look (screens-dashboard-parity): h1 28/700, a 15px grey subtitle 6px
40990
41035
  under it, and 40px buttons with a 10px gap. */
40991
- .cn-dashboard-page--board .cn-dashboard-page__title[data-v-54c2437f] {
41036
+ .cn-dashboard-page--board .cn-dashboard-page__title[data-v-35fed42f] {
40992
41037
  font-size: 28px;
40993
41038
  font-weight: 700;
40994
41039
  line-height: 1.2;
40995
41040
  }
40996
- .cn-dashboard-page--board .cn-dashboard-page__description[data-v-54c2437f] {
41041
+ .cn-dashboard-page--board .cn-dashboard-page__description[data-v-35fed42f] {
40997
41042
  margin: 6px 0 0;
40998
41043
  font-size: 15px;
40999
41044
  }
41000
- .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-54c2437f] {
41045
+ .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-35fed42f] {
41001
41046
  gap: 10px;
41002
41047
  }
41003
- .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-54c2437f] .button-vue {
41048
+ .cn-dashboard-page--board .cn-dashboard-page__header-actions[data-v-35fed42f] .button-vue {
41004
41049
  min-height: var(--cn-board-control-height, 40px);
41005
41050
  height: var(--cn-board-control-height, 40px);
41006
41051
  }
@@ -41008,17 +41053,17 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41008
41053
  /* The switch row under the header (screens-dashboard-greeting-header): the
41009
41054
  view switch left, the `viewLinks` pills right (DqMijnWerk: pills 34px high,
41010
41055
  radius 17, 13px/600, a 14px icon, primary light on primary deep). */
41011
- .cn-dashboard-page__switch-row[data-v-54c2437f] {
41056
+ .cn-dashboard-page__switch-row[data-v-35fed42f] {
41012
41057
  display: flex;
41013
41058
  flex-wrap: wrap;
41014
41059
  align-items: center;
41015
41060
  gap: 10px;
41016
41061
  margin-bottom: var(--cn-board-section-gap, 20px);
41017
41062
  }
41018
- .cn-dashboard-page__switch-row-spacer[data-v-54c2437f] {
41063
+ .cn-dashboard-page__switch-row-spacer[data-v-35fed42f] {
41019
41064
  flex: 1 1 auto;
41020
41065
  }
41021
- .cn-dashboard-page__view-link[data-v-54c2437f] {
41066
+ .cn-dashboard-page__view-link[data-v-35fed42f] {
41022
41067
  display: inline-flex;
41023
41068
  align-items: center;
41024
41069
  gap: 6px;
@@ -41032,37 +41077,37 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41032
41077
  white-space: nowrap;
41033
41078
  text-decoration: none !important;
41034
41079
  }
41035
- .cn-dashboard-page__view-link[data-v-54c2437f]:hover {
41080
+ .cn-dashboard-page__view-link[data-v-35fed42f]:hover {
41036
41081
  background: var(--color-primary-element-light-hover, var(--color-primary-element-light));
41037
41082
  }
41038
- .cn-dashboard-page__view-link[data-v-54c2437f]:focus-visible {
41083
+ .cn-dashboard-page__view-link[data-v-35fed42f]:focus-visible {
41039
41084
  outline: 2px solid var(--color-main-text);
41040
41085
  outline-offset: 2px;
41041
41086
  }
41042
- .cn-dashboard-page__view-link-icon[data-v-54c2437f] {
41087
+ .cn-dashboard-page__view-link-icon[data-v-35fed42f] {
41043
41088
  display: inline-flex;
41044
41089
  }
41045
41090
 
41046
41091
  /* The period group, in a row of its own between the header and the KPI row. */
41047
- .cn-dashboard-page__date-range--segmented[data-v-54c2437f] {
41092
+ .cn-dashboard-page__date-range--segmented[data-v-35fed42f] {
41048
41093
  margin-bottom: 16px;
41049
41094
  }
41050
41095
 
41051
41096
  /* The period group at the end of the description line. */
41052
- .cn-dashboard-page__description--with-period[data-v-54c2437f] {
41097
+ .cn-dashboard-page__description--with-period[data-v-35fed42f] {
41053
41098
  align-items: center;
41054
41099
  display: flex;
41055
41100
  flex-wrap: wrap;
41056
41101
  gap: 8px;
41057
41102
  }
41058
- .cn-dashboard-page__date-segmented[data-v-54c2437f] {
41103
+ .cn-dashboard-page__date-segmented[data-v-35fed42f] {
41059
41104
  display: flex;
41060
41105
  align-items: center;
41061
41106
  gap: 8px;
41062
41107
  }
41063
41108
 
41064
41109
  /* The KPI row above the grid: tiles are cells of the auto-fit grid. */
41065
- .cn-dashboard-page__kpi-row[data-v-54c2437f] {
41110
+ .cn-dashboard-page__kpi-row[data-v-35fed42f] {
41066
41111
  margin-bottom: var(--cn-board-section-gap, 16px);
41067
41112
  }
41068
41113
 
@@ -41070,15 +41115,15 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41070
41115
  the cards started a margin to the right of the KPI row and the header. The
41071
41116
  grid reaches out by that margin, so the card edges line up with the page's
41072
41117
  (dashboard-grid-flush). */
41073
- .cn-dashboard-page--board[data-v-54c2437f] .cn-dashboard-grid {
41118
+ .cn-dashboard-page--board[data-v-35fed42f] .cn-dashboard-grid {
41074
41119
  width: auto;
41075
41120
  margin-inline: calc(-1 * var(--cn-dashboard-grid-margin, 12px));
41076
41121
  }
41077
- .cn-dashboard-page__kpi-cell[data-v-54c2437f] {
41122
+ .cn-dashboard-page__kpi-cell[data-v-35fed42f] {
41078
41123
  display: flex;
41079
41124
  min-width: 0;
41080
41125
  }
41081
- .cn-dashboard-page__kpi-cell[data-v-54c2437f] > * {
41126
+ .cn-dashboard-page__kpi-cell[data-v-35fed42f] > * {
41082
41127
  flex: 1 1 auto;
41083
41128
  min-width: 0;
41084
41129
  }
@@ -41091,7 +41136,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41091
41136
  scoped chip rules then silently don't match and the chip collapses into
41092
41137
  NcActions' ~30px icon slot (text wraps to "Last / 30 / days"). The
41093
41138
  data-testid is stable across chunks, so those rules match regardless. */
41094
- .cn-dashboard-page__header-actions[data-v-54c2437f] {
41139
+ .cn-dashboard-page__header-actions[data-v-35fed42f] {
41095
41140
  display: flex;
41096
41141
  align-items: center;
41097
41142
  gap: 8px;
@@ -41107,19 +41152,19 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41107
41152
 
41108
41153
  /* Date-range header band. Kept compact so it doesn't open a tall gap
41109
41154
  above the grid; the pills variant is a single tidy toggle row. */
41110
- .cn-dashboard-page__date-range[data-v-54c2437f] {
41155
+ .cn-dashboard-page__date-range[data-v-35fed42f] {
41111
41156
  margin-bottom: 12px;
41112
41157
  }
41113
- .cn-dashboard-page__date-range--pills[data-v-54c2437f] {
41158
+ .cn-dashboard-page__date-range--pills[data-v-35fed42f] {
41114
41159
  margin-bottom: 8px;
41115
41160
  }
41116
- .cn-dashboard-page__date-pills[data-v-54c2437f] {
41161
+ .cn-dashboard-page__date-pills[data-v-35fed42f] {
41117
41162
  display: flex;
41118
41163
  align-items: center;
41119
41164
  flex-wrap: wrap;
41120
41165
  gap: 6px;
41121
41166
  }
41122
- .cn-dashboard-page__date-pill[data-v-54c2437f] {
41167
+ .cn-dashboard-page__date-pill[data-v-35fed42f] {
41123
41168
  display: inline-flex;
41124
41169
  align-items: center;
41125
41170
  padding: 5px 14px;
@@ -41134,77 +41179,77 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41134
41179
  cursor: pointer;
41135
41180
  transition: background-color 100ms ease, border-color 100ms ease, color 100ms ease;
41136
41181
  }
41137
- .cn-dashboard-page__date-pill[data-v-54c2437f]:hover {
41182
+ .cn-dashboard-page__date-pill[data-v-35fed42f]:hover {
41138
41183
  background: var(--color-background-hover);
41139
41184
  }
41140
- .cn-dashboard-page__date-pill[data-v-54c2437f]:focus-visible {
41185
+ .cn-dashboard-page__date-pill[data-v-35fed42f]:focus-visible {
41141
41186
  outline: 2px solid var(--color-primary-element);
41142
41187
  outline-offset: 2px;
41143
41188
  }
41144
- .cn-dashboard-page__date-pill--active[data-v-54c2437f] {
41189
+ .cn-dashboard-page__date-pill--active[data-v-35fed42f] {
41145
41190
  background: var(--color-primary-element);
41146
41191
  border-color: var(--color-primary-element);
41147
41192
  color: var(--color-primary-element-text);
41148
41193
  }
41149
- .cn-dashboard-page__date-pill--active[data-v-54c2437f]:hover {
41194
+ .cn-dashboard-page__date-pill--active[data-v-35fed42f]:hover {
41150
41195
  background: var(--color-primary-element-hover, var(--color-primary-element));
41151
41196
  }
41152
41197
 
41153
41198
  /* The custom-range pill is de-emphasised — dashed outline, muted text —
41154
41199
  so it reads as an escape hatch rather than a primary option. */
41155
- .cn-dashboard-page__date-pill--custom[data-v-54c2437f] {
41200
+ .cn-dashboard-page__date-pill--custom[data-v-35fed42f] {
41156
41201
  border-style: dashed;
41157
41202
  color: var(--color-text-maxcontrast);
41158
41203
  }
41159
- .cn-dashboard-page__date-pill-custom[data-v-54c2437f] .action-item__menutoggle {
41204
+ .cn-dashboard-page__date-pill-custom[data-v-35fed42f] .action-item__menutoggle {
41160
41205
  min-width: 0;
41161
41206
  min-height: 0;
41162
41207
  padding: 0;
41163
41208
  background: transparent;
41164
41209
  border: none;
41165
41210
  }
41166
- .cn-dashboard-page__date-pill-custom[data-v-54c2437f] .button-vue,
41167
- .cn-dashboard-page__date-pill-custom[data-v-54c2437f] .button-vue__wrapper,
41168
- .cn-dashboard-page__date-pill-custom[data-v-54c2437f] .button-vue__icon {
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 {
41169
41214
  width: auto !important;
41170
41215
  min-width: 0 !important;
41171
41216
  overflow: visible !important;
41172
41217
  }
41173
- .cn-dashboard-page__empty[data-v-54c2437f] {
41218
+ .cn-dashboard-page__empty[data-v-35fed42f] {
41174
41219
  padding: 60px 20px;
41175
41220
  }
41176
41221
 
41177
41222
  /* The page's view switch on a page without a header row: at the end of its
41178
41223
  own row, above the grids, where the header would have put it. */
41179
- .cn-dashboard-page__view-switch[data-v-54c2437f] {
41224
+ .cn-dashboard-page__view-switch[data-v-35fed42f] {
41180
41225
  display: flex;
41181
41226
  justify-content: flex-end;
41182
41227
  margin-bottom: 12px;
41183
41228
  }
41184
41229
 
41185
41230
  /* A view the switch shows with nothing to draw. */
41186
- .cn-page-view-region--empty[data-v-54c2437f] {
41231
+ .cn-page-view-region--empty[data-v-35fed42f] {
41187
41232
  padding: 40px 20px;
41188
41233
  }
41189
- .cn-dashboard-page__page-filters[data-v-54c2437f] {
41234
+ .cn-dashboard-page__page-filters[data-v-35fed42f] {
41190
41235
  display: flex;
41191
41236
  flex-wrap: wrap;
41192
41237
  gap: 16px;
41193
41238
  align-items: flex-end;
41194
41239
  margin-bottom: 12px;
41195
41240
  }
41196
- .cn-dashboard-page__page-filter[data-v-54c2437f] {
41241
+ .cn-dashboard-page__page-filter[data-v-35fed42f] {
41197
41242
  display: flex;
41198
41243
  flex-direction: column;
41199
41244
  gap: 4px;
41200
41245
  min-width: 200px;
41201
41246
  }
41202
- .cn-dashboard-page__page-filter-label[data-v-54c2437f] {
41247
+ .cn-dashboard-page__page-filter-label[data-v-35fed42f] {
41203
41248
  font-size: 0.85em;
41204
41249
  font-weight: 600;
41205
41250
  color: var(--color-text-maxcontrast);
41206
41251
  }
41207
- .cn-dashboard-page__widget-edit[data-v-54c2437f] {
41252
+ .cn-dashboard-page__widget-edit[data-v-35fed42f] {
41208
41253
  position: absolute;
41209
41254
  top: 4px;
41210
41255
  inset-inline-end: 4px;
@@ -41223,8 +41268,8 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41223
41268
  and centre the card. */
41224
41269
  /* `safe` centre so an overflowing tile does not spill out of the top, where
41225
41270
  flex overflow cannot be scrolled back to. Same as detail-page.css. */
41226
- .cn-dashboard-page__card-fit[data-v-54c2437f] .cn-widget-wrapper__content,
41227
- .cn-dashboard-page__card-fit.cn-widget-wrapper--flush[data-v-54c2437f] .cn-widget-wrapper__content {
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 {
41228
41273
  overflow: hidden;
41229
41274
  display: flex;
41230
41275
  flex-direction: column;
@@ -41240,7 +41285,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41240
41285
  shows up as a scrollbar the user has to drag to see the whole graph. Same
41241
41286
  shape as the card-fit rule above, minus the padding: chart tiles render
41242
41287
  `flush`, and apexcharts already draws its own margins. */
41243
- .cn-dashboard-page__chart-fit[data-v-54c2437f] .cn-widget-wrapper__content {
41288
+ .cn-dashboard-page__chart-fit[data-v-35fed42f] .cn-widget-wrapper__content {
41244
41289
  overflow: hidden;
41245
41290
  display: flex;
41246
41291
  flex-direction: column;
@@ -41250,13 +41295,13 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41250
41295
  /* Card content (stat / gauge / delta) must fit the tile width: let the
41251
41296
  widget shrink and its value/label truncate instead of pushing past the
41252
41297
  tile edge (the horizontal clip on long currency values). */
41253
- .cn-dashboard-page__card-fit[data-v-54c2437f] .cn-stat-widget,
41254
- .cn-dashboard-page__card-fit[data-v-54c2437f] .cn-gauge-widget,
41255
- .cn-dashboard-page__card-fit[data-v-54c2437f] .cn-delta-widget {
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 {
41256
41301
  min-width: 0;
41257
41302
  max-width: 100%;
41258
41303
  }
41259
- .cn-dashboard-page__unknown[data-v-54c2437f] {
41304
+ .cn-dashboard-page__unknown[data-v-35fed42f] {
41260
41305
  display: flex;
41261
41306
  align-items: center;
41262
41307
  justify-content: center;
@@ -41267,31 +41312,31 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41267
41312
  }
41268
41313
 
41269
41314
  /* widget-ref content items */
41270
- .cn-dashboard-page__content[data-v-54c2437f] {
41315
+ .cn-dashboard-page__content[data-v-35fed42f] {
41271
41316
  display: flex;
41272
41317
  flex-direction: column;
41273
41318
  gap: 16px;
41274
41319
  }
41275
- .cn-dashboard-page__content-item[data-v-54c2437f] {
41320
+ .cn-dashboard-page__content-item[data-v-35fed42f] {
41276
41321
  width: 100%;
41277
41322
  }
41278
41323
  /* On a phone (screens-dashboard-phone) the touch targets of a board dashboard
41279
41324
  are 44px: the widget Actions menu and the KPI tiles. */
41280
41325
  @media (max-width: 640px) {
41281
- .cn-dashboard-page--board[data-v-54c2437f] .cn-widget-wrapper__actions .action-item__menutoggle,
41282
- .cn-dashboard-page--board[data-v-54c2437f] .cn-widget-wrapper__actions .button-vue {
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 {
41283
41328
  min-height: 44px;
41284
41329
  }
41285
- .cn-dashboard-page--board .cn-dashboard-page__kpi-cell[data-v-54c2437f] {
41330
+ .cn-dashboard-page--board .cn-dashboard-page__kpi-cell[data-v-35fed42f] {
41286
41331
  min-height: 44px;
41287
41332
  }
41288
41333
 
41289
41334
  /* The widget Actions menu shows its icon only, so the card title keeps
41290
41335
  the room; the name stays for assistive tech. */
41291
- .cn-dashboard-page--board[data-v-54c2437f] .cn-widget-wrapper__actions .action-item__menutoggle {
41336
+ .cn-dashboard-page--board[data-v-35fed42f] .cn-widget-wrapper__actions .action-item__menutoggle {
41292
41337
  min-width: 44px;
41293
41338
  }
41294
- .cn-dashboard-page--board[data-v-54c2437f] .cn-widget-wrapper__actions .action-item__menutoggle .button-vue__text {
41339
+ .cn-dashboard-page--board[data-v-35fed42f] .cn-widget-wrapper__actions .action-item__menutoggle .button-vue__text {
41295
41340
  position: absolute;
41296
41341
  width: 1px;
41297
41342
  height: 1px;
@@ -41303,7 +41348,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41303
41348
 
41304
41349
  /* What a registry widget reports for its card header (`header` event): the
41305
41350
  note beside the link ("3 in total") and one action, as on a detail page. */
41306
- .cn-dashboard-page__widget-count[data-v-54c2437f] {
41351
+ .cn-dashboard-page__widget-count[data-v-35fed42f] {
41307
41352
  align-self: center;
41308
41353
  padding: 1px 8px;
41309
41354
  border-radius: 10px;
@@ -41312,13 +41357,13 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41312
41357
  font-size: 13px;
41313
41358
  font-weight: 600;
41314
41359
  }
41315
- .cn-dashboard-page__widget-note[data-v-54c2437f] {
41360
+ .cn-dashboard-page__widget-note[data-v-35fed42f] {
41316
41361
  align-self: center;
41317
41362
  color: var(--color-text-maxcontrast);
41318
41363
  font-size: 14px;
41319
41364
  white-space: nowrap;
41320
41365
  }
41321
- .cn-dashboard-page__widget-action[data-v-54c2437f] {
41366
+ .cn-dashboard-page__widget-action[data-v-35fed42f] {
41322
41367
  display: inline-flex;
41323
41368
  align-items: center;
41324
41369
  align-self: center;
@@ -41334,7 +41379,7 @@ button.cn-object-calendar__overflow[data-v-e1c69ee2] {
41334
41379
  white-space: nowrap;
41335
41380
  cursor: pointer;
41336
41381
  }
41337
- .cn-dashboard-page__widget-action[data-v-54c2437f]:focus-visible {
41382
+ .cn-dashboard-page__widget-action[data-v-35fed42f]:focus-visible {
41338
41383
  outline: 2px solid var(--color-primary-element);
41339
41384
  outline-offset: 2px;
41340
41385
  }