@ngxviewbuilder/runtime 0.10.5 → 0.12.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 (63) hide show
  1. package/LICENSE.md +1 -1
  2. package/fesm2022/ngxviewbuilder-runtime-autocomplete-element-D627PmE6.mjs +1 -0
  3. package/fesm2022/ngxviewbuilder-runtime-avatar-element-Bq1dfv2w.mjs +1 -0
  4. package/fesm2022/ngxviewbuilder-runtime-badge-element-C2f14QNw.mjs +1 -0
  5. package/fesm2022/ngxviewbuilder-runtime-breadcrumbs-element-DUD-zxsq.mjs +1 -0
  6. package/fesm2022/ngxviewbuilder-runtime-button-element-DLKWXLDr.mjs +1 -0
  7. package/fesm2022/ngxviewbuilder-runtime-chart-element-B8SBRRoW.mjs +1 -0
  8. package/fesm2022/ngxviewbuilder-runtime-checkbox-element-BUc3LIZY.mjs +1 -0
  9. package/fesm2022/ngxviewbuilder-runtime-column-CQL6_3oR.mjs +43 -0
  10. package/fesm2022/ngxviewbuilder-runtime-custom-html-element-BBZi5m3e.mjs +3 -0
  11. package/fesm2022/ngxviewbuilder-runtime-date-range-element-Dh0iamQ0.mjs +1 -0
  12. package/fesm2022/ngxviewbuilder-runtime-datepicker-element-BzrNzV5m.mjs +1 -0
  13. package/fesm2022/ngxviewbuilder-runtime-divider-element-DaWflvFL.mjs +1 -0
  14. package/fesm2022/ngxviewbuilder-runtime-dropdown-coordinator.service-CDJcQkrB.mjs +1 -0
  15. package/fesm2022/ngxviewbuilder-runtime-dynamic-text.pipe-DJNHX-1z.mjs +1 -0
  16. package/fesm2022/ngxviewbuilder-runtime-element-identity-host-Dh5Xi4Nx.mjs +1 -0
  17. package/fesm2022/ngxviewbuilder-runtime-element-wrapper-FxbwPLem.mjs +4 -0
  18. package/fesm2022/ngxviewbuilder-runtime-file-upload-element-CVmIguAo.mjs +1 -0
  19. package/fesm2022/ngxviewbuilder-runtime-icon-element-D1RfF2C0.mjs +1 -0
  20. package/fesm2022/ngxviewbuilder-runtime-iframe-element-DeU-ENc8.mjs +1 -0
  21. package/fesm2022/ngxviewbuilder-runtime-image-element-9xxf0IfB.mjs +1 -0
  22. package/fesm2022/ngxviewbuilder-runtime-input-mask.service-WZEF2C2_.mjs +1 -0
  23. package/fesm2022/ngxviewbuilder-runtime-list-box-element-BDz4--85.mjs +1 -0
  24. package/fesm2022/ngxviewbuilder-runtime-list-grid-element-BIyp-dce.mjs +1 -0
  25. package/fesm2022/ngxviewbuilder-runtime-message-card-element-D0JmZyvI.mjs +1 -0
  26. package/fesm2022/ngxviewbuilder-runtime-multi-select-element-kVcNNhEt.mjs +1 -0
  27. package/fesm2022/ngxviewbuilder-runtime-number-element-DctiWuS1.mjs +1 -0
  28. package/fesm2022/ngxviewbuilder-runtime-number-stepper-element-iBpT-zsi.mjs +1 -0
  29. package/fesm2022/ngxviewbuilder-runtime-nvb-select-BEN_kxMD.mjs +1 -0
  30. package/fesm2022/ngxviewbuilder-runtime-nvb-style-outlet-CVovePT_.mjs +1 -0
  31. package/fesm2022/ngxviewbuilder-runtime-page-title-element-CYS9yCvk.mjs +1 -0
  32. package/fesm2022/ngxviewbuilder-runtime-phone-input-element-D4rPIZgc.mjs +1 -0
  33. package/fesm2022/ngxviewbuilder-runtime-progress-bar-element-D780Bz4H.mjs +1 -0
  34. package/fesm2022/ngxviewbuilder-runtime-radio-element-CMnPn8dr.mjs +1 -0
  35. package/fesm2022/ngxviewbuilder-runtime-rich-text-element-jeeNhKfo.mjs +2 -0
  36. package/fesm2022/ngxviewbuilder-runtime-rolldown-runtime-DpJrqANO.mjs +1 -0
  37. package/fesm2022/ngxviewbuilder-runtime-router-outlet-element-DSIY_9ES.mjs +1 -0
  38. package/fesm2022/ngxviewbuilder-runtime-select-button-element-D3ECf6NN.mjs +1 -0
  39. package/fesm2022/ngxviewbuilder-runtime-select-element-CL95ygLj.mjs +1 -0
  40. package/fesm2022/ngxviewbuilder-runtime-signature-pad-element-DNWzJf8n.mjs +1 -0
  41. package/fesm2022/ngxviewbuilder-runtime-single-checkbox-element-CwUV4QeU.mjs +1 -0
  42. package/fesm2022/ngxviewbuilder-runtime-slider-element-DG3yzEol.mjs +1 -0
  43. package/fesm2022/ngxviewbuilder-runtime-spacer-element-DmK0-mBg.mjs +1 -0
  44. package/fesm2022/ngxviewbuilder-runtime-stats-card-element-BwF1DgRq.mjs +1 -0
  45. package/fesm2022/ngxviewbuilder-runtime-table-element-DEQz2d-s.mjs +1 -0
  46. package/fesm2022/ngxviewbuilder-runtime-text-element-CMGjmapD.mjs +1 -0
  47. package/fesm2022/ngxviewbuilder-runtime-textarea-element-BXIAOW-5.mjs +1 -0
  48. package/fesm2022/ngxviewbuilder-runtime-time-picker-element-DcaL0iul.mjs +1 -0
  49. package/fesm2022/ngxviewbuilder-runtime-toast-element-Dz0k7DJQ.mjs +1 -0
  50. package/fesm2022/ngxviewbuilder-runtime-toggle-switch-element-D2X34AZt.mjs +1 -0
  51. package/fesm2022/ngxviewbuilder-runtime-video-element-Cn45kYTv.mjs +1 -0
  52. package/fesm2022/ngxviewbuilder-runtime-viewport-breakpoints-CnsMrbX1.mjs +1 -0
  53. package/fesm2022/ngxviewbuilder-runtime.mjs +1 -1
  54. package/package.json +1 -1
  55. package/styles/components.css +7 -4
  56. package/styles/element.css +8 -8
  57. package/styles/tokens.css +34 -6
  58. package/types/ngxviewbuilder-runtime.d.ts +10163 -9128
  59. package/fesm2022/ngxviewbuilder-runtime-avatar-element-C1xYVnbZ.mjs +0 -1
  60. package/fesm2022/ngxviewbuilder-runtime-breadcrumbs-element-me81wZ6G.mjs +0 -1
  61. package/fesm2022/ngxviewbuilder-runtime-icon-element-gI8RpskB.mjs +0 -1
  62. package/fesm2022/ngxviewbuilder-runtime-ngxviewbuilder-runtime-DDs_WA4L.mjs +0 -49
  63. package/fesm2022/ngxviewbuilder-runtime-toast-element-CuvET6fw.mjs +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ngxviewbuilder/runtime",
3
- "version": "0.10.5",
3
+ "version": "0.12.0",
4
4
  "description": "Native Angular runtime for NGX View Builder: renders forms, dashboards, data tables and guided flows defined as JSON.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "homepage": "https://ngxviewbuilder.io",
@@ -1,4 +1,7 @@
1
- .nvb-root {
1
+ .nvb-root,
2
+ /* Tokens derived from the palette resolve where they are declared, so a dark page section
3
+ declares them again; otherwise it inherits the light values computed at the root. */
4
+ .nvb-section-theme-dark {
2
5
  --nvb-button-height-lg: 40px;
3
6
  --nvb-button-height-ms: 32px;
4
7
  --nvb-button-height-sm: 32px;
@@ -33,12 +36,12 @@
33
36
  --nvb-shadow-16:
34
37
  0 8px 16px color-mix(in oklab, var(--nvb-color-neutral-950) 12%, transparent),
35
38
  0 24px 48px color-mix(in oklab, var(--nvb-color-neutral-950) 14%, transparent);
36
- --nvb-dialog-radius: var(--nvb-radius-lg);
37
- --nvb-menu-radius: var(--nvb-input-radius, var(--nvb-radius-md));
39
+ --nvb-dialog-radius: var(--nvb-radius-xl);
40
+ --nvb-menu-radius: var(--nvb-radius-lg);
38
41
  --nvb-tablist-height: 40px;
39
42
  --nvb-card-bg: var(--nvb-color-neutral-000);
40
43
  --nvb-card-border-color: var(--nvb-color-neutral-200);
41
- --nvb-card-radius: var(--nvb-radius-md);
44
+ --nvb-card-radius: var(--nvb-radius-lg);
42
45
  --nvb-card-shadow: var(--nvb-shadow-2);
43
46
  --nvb-card-padding: 12px;
44
47
  }
@@ -475,12 +475,12 @@
475
475
  margin-top: -1px;
476
476
  }
477
477
 
478
- .nvb-root .nvb-select-button--buttons.nvb-select-button--horizontal .nvb-select-button__option:first-child { border-radius: 6px 0 0 6px; }
479
- .nvb-root .nvb-select-button--buttons.nvb-select-button--horizontal .nvb-select-button__option:last-child { border-radius: 0 6px 6px 0; }
480
- .nvb-root .nvb-select-button--buttons.nvb-select-button--horizontal .nvb-select-button__option:first-child:last-child { border-radius: 6px; }
481
- .nvb-root .nvb-select-button--buttons.nvb-select-button--vertical .nvb-select-button__option:first-child { border-radius: 6px 6px 0 0; }
482
- .nvb-root .nvb-select-button--buttons.nvb-select-button--vertical .nvb-select-button__option:last-child { border-radius: 0 0 6px 6px; }
483
- .nvb-root .nvb-select-button--buttons.nvb-select-button--vertical .nvb-select-button__option:first-child:last-child { border-radius: 6px; }
478
+ .nvb-root .nvb-select-button--buttons.nvb-select-button--horizontal .nvb-select-button__option:first-child { border-radius: var(--nvb-radius-md) 0 0 var(--nvb-radius-md); }
479
+ .nvb-root .nvb-select-button--buttons.nvb-select-button--horizontal .nvb-select-button__option:last-child { border-radius: 0 var(--nvb-radius-md) var(--nvb-radius-md) 0; }
480
+ .nvb-root .nvb-select-button--buttons.nvb-select-button--horizontal .nvb-select-button__option:first-child:last-child { border-radius: var(--nvb-radius-md); }
481
+ .nvb-root .nvb-select-button--buttons.nvb-select-button--vertical .nvb-select-button__option:first-child { border-radius: var(--nvb-radius-md) var(--nvb-radius-md) 0 0; }
482
+ .nvb-root .nvb-select-button--buttons.nvb-select-button--vertical .nvb-select-button__option:last-child { border-radius: 0 0 var(--nvb-radius-md) var(--nvb-radius-md); }
483
+ .nvb-root .nvb-select-button--buttons.nvb-select-button--vertical .nvb-select-button__option:first-child:last-child { border-radius: var(--nvb-radius-md); }
484
484
 
485
485
  .nvb-root .nvb-select-button--buttons .nvb-select-button__option:hover:not(:disabled) {
486
486
  background: color-mix(in oklab, var(--nvb-color-neutral-100) 80%, var(--nvb-color-neutral-000));
@@ -554,7 +554,7 @@
554
554
  width: fit-content;
555
555
  max-width: 100%;
556
556
  padding: 3px;
557
- border-radius: 999px;
557
+ border-radius: var(--nvb-radius-full);
558
558
  background: color-mix(in oklab, var(--nvb-color-neutral-100) 85%, var(--nvb-color-neutral-000));
559
559
  border: 1px solid color-mix(in oklab, var(--nvb-color-neutral-300) 55%, transparent);
560
560
  }
@@ -573,7 +573,7 @@
573
573
  min-height: var(--nvb-control-height, 36px);
574
574
  padding: 0 16px;
575
575
  border: 0;
576
- border-radius: 999px;
576
+ border-radius: var(--nvb-radius-full);
577
577
  background: transparent;
578
578
  color: var(--nvb-color-neutral-600);
579
579
  font-size: 14px;
package/styles/tokens.css CHANGED
@@ -105,10 +105,11 @@
105
105
  --nvb-color-text-800: oklch(27.53% 0.0364 259.7);
106
106
  --nvb-color-text-900: oklch(20.64% 0.0388 265.55);
107
107
  --nvb-color-text-950: oklch(12.92% 0.0415 265.15);
108
- --nvb-radius-sm: 2px;
109
- --nvb-radius-md: 4px;
108
+ --nvb-radius-sm: 4px;
109
+ --nvb-radius-md: 6px;
110
110
  --nvb-radius-lg: 8px;
111
111
  --nvb-radius-xl: 12px;
112
+ --nvb-radius-full: 999px;
112
113
  --nvb-space-0: 2px;
113
114
  --nvb-space-1: 4px;
114
115
  --nvb-space-2: 6px;
@@ -131,12 +132,27 @@
131
132
  --nvb-text-md: var(--nvb-text-body1);
132
133
  --nvb-text-lg: var(--nvb-text-subtitle2);
133
134
  --nvb-color-surface-mix-target: var(--nvb-color-neutral-000);
135
+ /* Categorical chart colours for parts of a whole (pie, donut). The order is what keeps
136
+ neighbouring slices apart for colour blind readers, so override the values, not the
137
+ order. A single series uses --nvb-chart-single, the brand colour. */
138
+ --nvb-chart-single: var(--nvb-color-primary-500);
139
+ --nvb-chart-1: #2a78d6;
140
+ --nvb-chart-2: #eb6834;
141
+ --nvb-chart-3: #1baf7a;
142
+ --nvb-chart-4: #eda100;
143
+ --nvb-chart-5: #e87ba4;
144
+ --nvb-chart-6: #008300;
145
+ --nvb-chart-7: #4a3aa7;
146
+ --nvb-chart-8: #e34948;
147
+ --nvb-chart-other: var(--nvb-color-neutral-400);
134
148
  }
135
149
 
136
150
  :host([data-theme='dark']),
137
151
  :host(.nvb-dark),
138
152
  .nvb-root.nvb-dark,
139
- .nvb-root[data-theme='dark'] {
153
+ .nvb-root[data-theme='dark'],
154
+ /* A panel used as a dark page section takes the dark palette for itself only. */
155
+ .nvb-section-theme-dark {
140
156
  --nvb-font-family-base:
141
157
  'Segoe UI Variable Text', 'Segoe UI', system-ui, -apple-system, BlinkMacSystemFont,
142
158
  'Helvetica Neue', sans-serif;
@@ -230,10 +246,11 @@
230
246
  --nvb-color-text-800: oklch(88.00% 0.0040 286.00);
231
247
  --nvb-color-text-900: oklch(93.00% 0.0030 286.00);
232
248
  --nvb-color-text-950: oklch(97.00% 0.0020 286.00);
233
- --nvb-radius-sm: 2px;
234
- --nvb-radius-md: 4px;
249
+ --nvb-radius-sm: 4px;
250
+ --nvb-radius-md: 6px;
235
251
  --nvb-radius-lg: 8px;
236
252
  --nvb-radius-xl: 12px;
253
+ --nvb-radius-full: 999px;
237
254
  --nvb-space-0: 2px;
238
255
  --nvb-space-1: 4px;
239
256
  --nvb-space-2: 6px;
@@ -256,6 +273,16 @@
256
273
  --nvb-text-md: var(--nvb-text-body1);
257
274
  --nvb-text-lg: var(--nvb-text-subtitle2);
258
275
  --nvb-color-surface-mix-target: var(--nvb-color-neutral-050);
276
+ --nvb-chart-single: var(--nvb-color-primary-500);
277
+ --nvb-chart-1: #3987e5;
278
+ --nvb-chart-2: #d95926;
279
+ --nvb-chart-3: #199e70;
280
+ --nvb-chart-4: #c98500;
281
+ --nvb-chart-5: #d55181;
282
+ --nvb-chart-6: #008300;
283
+ --nvb-chart-7: #9085e9;
284
+ --nvb-chart-8: #e66767;
285
+ --nvb-chart-other: var(--nvb-color-neutral-500);
259
286
  }
260
287
 
261
288
  /* The palette above is a light theme, and every text colour in it assumes a light
@@ -308,7 +335,8 @@
308
335
  :host([data-theme='dark']) .nvb-root,
309
336
  :host(.nvb-dark) .nvb-root,
310
337
  .nvb-root.nvb-dark,
311
- .nvb-root[data-theme='dark'] {
338
+ .nvb-root[data-theme='dark'],
339
+ .nvb-section-theme-dark {
312
340
  color-scheme: dark;
313
341
  }
314
342
  }