ngwr 9.1.0 → 10.0.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 (106) hide show
  1. package/README.md +14 -0
  2. package/badge/styles/_index.scss +16 -6
  3. package/badge/styles/_tag.scss +10 -1
  4. package/button/styles/_index.scss +48 -1
  5. package/dialog/styles/_index.scss +65 -0
  6. package/drawer/styles/_index.scss +61 -1
  7. package/fesm2022/ngwr-action-sheet.mjs +1 -1
  8. package/fesm2022/ngwr-action-sheet.mjs.map +1 -1
  9. package/fesm2022/ngwr-breadcrumbs.mjs +2 -2
  10. package/fesm2022/ngwr-breadcrumbs.mjs.map +1 -1
  11. package/fesm2022/ngwr-card.mjs +2 -2
  12. package/fesm2022/ngwr-card.mjs.map +1 -1
  13. package/fesm2022/ngwr-cascader.mjs +6 -5
  14. package/fesm2022/ngwr-cascader.mjs.map +1 -1
  15. package/fesm2022/ngwr-color-picker.mjs +6 -5
  16. package/fesm2022/ngwr-color-picker.mjs.map +1 -1
  17. package/fesm2022/ngwr-context-menu.mjs +7 -7
  18. package/fesm2022/ngwr-context-menu.mjs.map +1 -1
  19. package/fesm2022/ngwr-date-picker.mjs +14 -9
  20. package/fesm2022/ngwr-date-picker.mjs.map +1 -1
  21. package/fesm2022/ngwr-density.mjs +10 -2
  22. package/fesm2022/ngwr-density.mjs.map +1 -1
  23. package/fesm2022/ngwr-dialog.mjs +10 -1
  24. package/fesm2022/ngwr-dialog.mjs.map +1 -1
  25. package/fesm2022/ngwr-drag-drop.mjs +2 -2
  26. package/fesm2022/ngwr-drag-drop.mjs.map +1 -1
  27. package/fesm2022/ngwr-drawer.mjs +37 -16
  28. package/fesm2022/ngwr-drawer.mjs.map +1 -1
  29. package/fesm2022/ngwr-dropdown.mjs +4 -3
  30. package/fesm2022/ngwr-dropdown.mjs.map +1 -1
  31. package/fesm2022/ngwr-i18n-en.mjs +16 -0
  32. package/fesm2022/ngwr-i18n-en.mjs.map +1 -1
  33. package/fesm2022/ngwr-i18n-ru.mjs +17 -0
  34. package/fesm2022/ngwr-i18n-ru.mjs.map +1 -1
  35. package/fesm2022/ngwr-i18n.mjs +74 -1
  36. package/fesm2022/ngwr-i18n.mjs.map +1 -1
  37. package/fesm2022/ngwr-icon.mjs +74 -35
  38. package/fesm2022/ngwr-icon.mjs.map +1 -1
  39. package/fesm2022/ngwr-lightbox.mjs +2 -2
  40. package/fesm2022/ngwr-lightbox.mjs.map +1 -1
  41. package/fesm2022/ngwr-list.mjs +2 -2
  42. package/fesm2022/ngwr-list.mjs.map +1 -1
  43. package/fesm2022/ngwr-mention.mjs +166 -10
  44. package/fesm2022/ngwr-mention.mjs.map +1 -1
  45. package/fesm2022/ngwr-overlay.mjs +173 -3
  46. package/fesm2022/ngwr-overlay.mjs.map +1 -1
  47. package/fesm2022/ngwr-pagination.mjs +17 -4
  48. package/fesm2022/ngwr-pagination.mjs.map +1 -1
  49. package/fesm2022/ngwr-popconfirm.mjs +4 -3
  50. package/fesm2022/ngwr-popconfirm.mjs.map +1 -1
  51. package/fesm2022/ngwr-popover.mjs +10 -3
  52. package/fesm2022/ngwr-popover.mjs.map +1 -1
  53. package/fesm2022/ngwr-select.mjs +12 -5
  54. package/fesm2022/ngwr-select.mjs.map +1 -1
  55. package/fesm2022/ngwr-table.mjs +1 -1
  56. package/fesm2022/ngwr-table.mjs.map +1 -1
  57. package/fesm2022/ngwr-theme.mjs +13 -3
  58. package/fesm2022/ngwr-theme.mjs.map +1 -1
  59. package/fesm2022/ngwr-tree.mjs +4 -3
  60. package/fesm2022/ngwr-tree.mjs.map +1 -1
  61. package/fesm2022/ngwr-version.mjs +1 -1
  62. package/fesm2022/ngwr-version.mjs.map +1 -1
  63. package/fesm2022/ngwr-waves.mjs +25 -3
  64. package/fesm2022/ngwr-waves.mjs.map +1 -1
  65. package/i18n/en.json +165 -0
  66. package/i18n/ru.json +165 -0
  67. package/icon/styles/_index.scss +10 -1
  68. package/input/styles/_index.scss +16 -0
  69. package/input-number/styles/_index.scss +8 -1
  70. package/keyboard/styles/_index.scss +10 -3
  71. package/llms-full.txt +3 -3
  72. package/mention/styles/_index.scss +23 -0
  73. package/package.json +3 -1
  74. package/pagination/styles/_index.scss +12 -0
  75. package/popover/styles/_index.scss +129 -45
  76. package/schematics/ng-add/index.js +18 -4
  77. package/schematics/package.json +3 -0
  78. package/schematics/use/symbol-map.json +2 -0
  79. package/select/styles/_index.scss +13 -0
  80. package/splitter/styles/_index.scss +7 -1
  81. package/table/styles/_index.scss +28 -10
  82. package/theme/styles/_box-model.scss +29 -0
  83. package/theme/styles/_colors.scss +74 -15
  84. package/theme/styles/_dark.scss +52 -6
  85. package/theme/styles/_index.scss +1 -0
  86. package/types/ngwr-cascader.d.ts +1 -0
  87. package/types/ngwr-color-picker.d.ts +1 -0
  88. package/types/ngwr-context-menu.d.ts +1 -0
  89. package/types/ngwr-date-picker.d.ts +5 -3
  90. package/types/ngwr-density.d.ts +8 -1
  91. package/types/ngwr-dialog.d.ts +9 -0
  92. package/types/ngwr-drawer.d.ts +20 -4
  93. package/types/ngwr-dropdown.d.ts +1 -0
  94. package/types/ngwr-i18n.d.ts +65 -2
  95. package/types/ngwr-icon.d.ts +11 -19
  96. package/types/ngwr-mention.d.ts +45 -1
  97. package/types/ngwr-overlay.d.ts +80 -2
  98. package/types/ngwr-pagination.d.ts +14 -1
  99. package/types/ngwr-popconfirm.d.ts +1 -0
  100. package/types/ngwr-popover.d.ts +1 -0
  101. package/types/ngwr-select.d.ts +6 -0
  102. package/types/ngwr-theme.d.ts +8 -1
  103. package/types/ngwr-tree.d.ts +1 -0
  104. package/types/ngwr-version.d.ts +1 -1
  105. package/types/ngwr-waves.d.ts +10 -0
  106. package/waves/styles/_index.scss +21 -0
@@ -43,6 +43,7 @@ declare class WrPopconfirm {
43
43
  readonly cancelled: _angular_core.OutputEmitterRef<void>;
44
44
  private readonly host;
45
45
  private readonly overlay;
46
+ private readonly outsideClick;
46
47
  private readonly vcr;
47
48
  private readonly scrollStrategies;
48
49
  private readonly destroyRef;
@@ -51,6 +51,7 @@ declare class WrPopover {
51
51
  readonly closed: _angular_core.OutputEmitterRef<void>;
52
52
  private readonly host;
53
53
  private readonly overlay;
54
+ private readonly outsideClick;
54
55
  private readonly responsiveConfig;
55
56
  private readonly vcr;
56
57
  private readonly scrollStrategies;
@@ -499,6 +499,7 @@ declare class WrSelect implements FormValueControl<unknown>, WrSelectContext {
499
499
  protected readonly searchDisplay: _angular_core.Signal<string>;
500
500
  private readonly host;
501
501
  private readonly overlay;
502
+ private readonly outsideClick;
502
503
  private readonly responsiveConfig;
503
504
  private readonly vcr;
504
505
  private readonly scrollStrategies;
@@ -591,6 +592,11 @@ declare class WrOption {
591
592
  declare class WrOptionGroup {
592
593
  /** Section heading shown above the options. */
593
594
  readonly label: _angular_core.InputSignal<string>;
595
+ /**
596
+ * `role="group"` alone announces an unnamed group — the visible heading has to
597
+ * be wired to it for the name to reach a screen reader.
598
+ */
599
+ protected readonly labelId: string;
594
600
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<WrOptionGroup, never>;
595
601
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<WrOptionGroup, "wr-option-group", never, { "label": { "alias": "label"; "required": true; "isSignal": true; }; }, {}, never, ["*"], true, never>;
596
602
  }
@@ -116,7 +116,14 @@ declare class WrTheme {
116
116
  */
117
117
 
118
118
  /**
119
- * Configure {@link WrTheme}. Partial — merged with defaults.
119
+ * Configure and activate {@link WrTheme}. Config is partial — merged with
120
+ * defaults.
121
+ *
122
+ * Calling this is all it takes: the initializer instantiates {@link WrTheme},
123
+ * whose constructor effect mirrors the resolved theme onto `<html>`. Without
124
+ * that, the service (a tree-shakable `@Service()`) would only be created once
125
+ * something injected it, so `[data-theme]` was never written and an app that
126
+ * followed the docs silently ignored `defaultMode: 'auto'`.
120
127
  *
121
128
  * @example
122
129
  * ```ts
@@ -138,6 +138,7 @@ declare class WrTree<TId = string> implements FormValueControl<unknown> {
138
138
  readonly touch: _angular_core.OutputEmitterRef<void>;
139
139
  private readonly host;
140
140
  private readonly overlay;
141
+ private readonly outsideClick;
141
142
  private readonly vcr;
142
143
  private readonly scrollStrategies;
143
144
  private readonly destroyRef;
@@ -16,7 +16,7 @@ import { InjectionToken } from '@angular/core';
16
16
  * Distinct from `Version` exported by `@angular/core`, which reports the
17
17
  * loaded Angular runtime version (e.g. `'21.2.13'`), not ngwr's.
18
18
  */
19
- declare const NGWR_VERSION = "9.1.0";
19
+ declare const NGWR_VERSION = "10.0.0";
20
20
 
21
21
  /**
22
22
  * @license
@@ -53,6 +53,16 @@ declare class WrWaves {
53
53
  private bounding;
54
54
  private readonly mouse;
55
55
  private rafId;
56
+ /**
57
+ * Flips once the canvas has drawn, which retires the CSS stand-in grid.
58
+ *
59
+ * A canvas cannot be prerendered, so on an SSR'd or prerendered page this
60
+ * element is simply blank until the bundle has loaded and hydration has run —
61
+ * measured at ~2.8s on ngwr.dev's own home page. The stylesheet paints a static
62
+ * grid of the same colour and pitch in the meantime, straight from the
63
+ * prerendered HTML, and this hands over to the real thing.
64
+ */
65
+ protected readonly painted: _angular_core.WritableSignal<boolean>;
56
66
  constructor();
57
67
  private boot;
58
68
  private setSize;
@@ -4,6 +4,9 @@
4
4
 
5
5
  .wr-waves {
6
6
  --wr-waves-line-color: rgba(var(--wr-color-on-surface-rgb), 0.12);
7
+ // Mirrors the `xGap` input; the component publishes it so the stand-in below
8
+ // lands on the same pitch as the real grid.
9
+ --wr-waves-x-gap: 10px;
7
10
 
8
11
  position: absolute;
9
12
  inset: 0;
@@ -12,6 +15,24 @@
12
15
  padding: 0;
13
16
  overflow: hidden;
14
17
 
18
+ // Stand-in grid, shown until the canvas has painted.
19
+ //
20
+ // A canvas cannot be prerendered, so on an SSR'd or prerendered page this
21
+ // element is blank until the JS bundle has loaded and hydrated — measured at
22
+ // ~2.8s on ngwr.dev's own home page, where it reads as the background hanging
23
+ // and then popping in. These are straight lines rather than the drifting
24
+ // curves, at the same colour and pitch, so the handover reads as the grid
25
+ // coming alive rather than as content appearing.
26
+ background-image: repeating-linear-gradient(
27
+ to right,
28
+ var(--wr-waves-line-color) 0 1px,
29
+ transparent 1px var(--wr-waves-x-gap)
30
+ );
31
+
32
+ &--painted {
33
+ background-image: none;
34
+ }
35
+
15
36
  &__canvas {
16
37
  display: block;
17
38
  width: 100%;