@daffodil/design 0.91.0 → 0.92.3-rc.1

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 (142) hide show
  1. package/accordion/README.md +26 -38
  2. package/accordion/index.d.ts +2 -2
  3. package/article/README.md +66 -46
  4. package/article/index.d.ts +22 -1
  5. package/article/src/article-theme.scss +12 -0
  6. package/breadcrumb/README.md +6 -1
  7. package/breadcrumb/index.d.ts +65 -11
  8. package/breadcrumb/src/breadcrumb-theme.scss +1 -1
  9. package/button/README.md +36 -33
  10. package/button/index.d.ts +26 -5
  11. package/button/src/button/basic/button-theme.scss +4 -2
  12. package/button/src/button/button-base.scss +26 -3
  13. package/button/src/button/icon/icon-theme.scss +10 -6
  14. package/button/src/button/raised/raised-theme.scss +4 -2
  15. package/callout/README.md +15 -27
  16. package/card/README.md +36 -61
  17. package/container/README.md +18 -23
  18. package/fesm2022/daffodil-design-accordion.mjs +13 -13
  19. package/fesm2022/daffodil-design-accordion.mjs.map +1 -1
  20. package/fesm2022/daffodil-design-article.mjs +168 -26
  21. package/fesm2022/daffodil-design-article.mjs.map +1 -1
  22. package/fesm2022/daffodil-design-breadcrumb.mjs +180 -28
  23. package/fesm2022/daffodil-design-breadcrumb.mjs.map +1 -1
  24. package/fesm2022/daffodil-design-button.mjs +83 -42
  25. package/fesm2022/daffodil-design-button.mjs.map +1 -1
  26. package/fesm2022/daffodil-design-callout.mjs +23 -23
  27. package/fesm2022/daffodil-design-callout.mjs.map +1 -1
  28. package/fesm2022/daffodil-design-card.mjs +33 -33
  29. package/fesm2022/daffodil-design-card.mjs.map +1 -1
  30. package/fesm2022/daffodil-design-checkbox.mjs +13 -13
  31. package/fesm2022/daffodil-design-checkbox.mjs.map +1 -1
  32. package/fesm2022/daffodil-design-container.mjs +8 -8
  33. package/fesm2022/daffodil-design-container.mjs.map +1 -1
  34. package/fesm2022/daffodil-design-form-field.mjs +26 -26
  35. package/fesm2022/daffodil-design-form-field.mjs.map +1 -1
  36. package/fesm2022/daffodil-design-form.mjs +9 -9
  37. package/fesm2022/daffodil-design-form.mjs.map +1 -1
  38. package/fesm2022/daffodil-design-hero.mjs +23 -23
  39. package/fesm2022/daffodil-design-hero.mjs.map +1 -1
  40. package/fesm2022/daffodil-design-image.mjs +8 -8
  41. package/fesm2022/daffodil-design-image.mjs.map +1 -1
  42. package/fesm2022/daffodil-design-input.mjs +18 -14
  43. package/fesm2022/daffodil-design-input.mjs.map +1 -1
  44. package/fesm2022/daffodil-design-link-set.mjs +25 -17
  45. package/fesm2022/daffodil-design-link-set.mjs.map +1 -1
  46. package/fesm2022/daffodil-design-list.mjs +16 -16
  47. package/fesm2022/daffodil-design-list.mjs.map +1 -1
  48. package/fesm2022/daffodil-design-loading-icon.mjs +8 -8
  49. package/fesm2022/daffodil-design-loading-icon.mjs.map +1 -1
  50. package/fesm2022/daffodil-design-media-gallery.mjs +13 -13
  51. package/fesm2022/daffodil-design-media-gallery.mjs.map +1 -1
  52. package/fesm2022/daffodil-design-menu.mjs +223 -60
  53. package/fesm2022/daffodil-design-menu.mjs.map +1 -1
  54. package/fesm2022/daffodil-design-modal.mjs +33 -29
  55. package/fesm2022/daffodil-design-modal.mjs.map +1 -1
  56. package/fesm2022/daffodil-design-native-select.mjs +47 -41
  57. package/fesm2022/daffodil-design-native-select.mjs.map +1 -1
  58. package/fesm2022/daffodil-design-navbar.mjs +25 -21
  59. package/fesm2022/daffodil-design-navbar.mjs.map +1 -1
  60. package/fesm2022/daffodil-design-notification.mjs +16 -16
  61. package/fesm2022/daffodil-design-notification.mjs.map +1 -1
  62. package/fesm2022/daffodil-design-paginator.mjs +7 -7
  63. package/fesm2022/daffodil-design-paginator.mjs.map +1 -1
  64. package/fesm2022/daffodil-design-progress-bar.mjs +10 -10
  65. package/fesm2022/daffodil-design-progress-bar.mjs.map +1 -1
  66. package/fesm2022/daffodil-design-quantity-field.mjs +17 -14
  67. package/fesm2022/daffodil-design-quantity-field.mjs.map +1 -1
  68. package/fesm2022/daffodil-design-radio.mjs +16 -16
  69. package/fesm2022/daffodil-design-radio.mjs.map +1 -1
  70. package/fesm2022/daffodil-design-select.mjs +6 -6
  71. package/fesm2022/daffodil-design-select.mjs.map +1 -1
  72. package/fesm2022/daffodil-design-sidebar.mjs +25 -25
  73. package/fesm2022/daffodil-design-sidebar.mjs.map +1 -1
  74. package/fesm2022/daffodil-design-spinner.mjs +99 -0
  75. package/fesm2022/daffodil-design-spinner.mjs.map +1 -0
  76. package/fesm2022/daffodil-design-switch.mjs +3 -3
  77. package/fesm2022/daffodil-design-switch.mjs.map +1 -1
  78. package/fesm2022/daffodil-design-tabs.mjs +15 -15
  79. package/fesm2022/daffodil-design-tabs.mjs.map +1 -1
  80. package/fesm2022/daffodil-design-tag.mjs +7 -7
  81. package/fesm2022/daffodil-design-tag.mjs.map +1 -1
  82. package/fesm2022/daffodil-design-text-snippet.mjs +6 -8
  83. package/fesm2022/daffodil-design-text-snippet.mjs.map +1 -1
  84. package/fesm2022/daffodil-design-textarea.mjs +6 -3
  85. package/fesm2022/daffodil-design-textarea.mjs.map +1 -1
  86. package/fesm2022/daffodil-design-toast.mjs +23 -25
  87. package/fesm2022/daffodil-design-toast.mjs.map +1 -1
  88. package/fesm2022/daffodil-design-tree.mjs +152 -103
  89. package/fesm2022/daffodil-design-tree.mjs.map +1 -1
  90. package/fesm2022/daffodil-design-youtube-player.mjs +6 -6
  91. package/fesm2022/daffodil-design-youtube-player.mjs.map +1 -1
  92. package/fesm2022/daffodil-design.mjs +385 -326
  93. package/fesm2022/daffodil-design.mjs.map +1 -1
  94. package/form-field/README.md +50 -85
  95. package/form-field/index.d.ts +11 -9
  96. package/hero/README.md +5 -5
  97. package/image/README.md +2 -2
  98. package/index.d.ts +184 -270
  99. package/input/README.md +4 -4
  100. package/input/index.d.ts +4 -3
  101. package/link-set/index.d.ts +9 -1
  102. package/list/README.md +2 -2
  103. package/loading-icon/README.md +1 -1
  104. package/loading-icon/index.d.ts +1 -1
  105. package/media-gallery/README.md +3 -3
  106. package/menu/README.md +107 -10
  107. package/menu/index.d.ts +143 -11
  108. package/modal/README.md +1 -1
  109. package/modal/index.d.ts +23 -15
  110. package/native-select/README.md +4 -4
  111. package/native-select/index.d.ts +8 -7
  112. package/navbar/README.md +23 -17
  113. package/navbar/index.d.ts +12 -2
  114. package/navbar/src/navbar-theme.scss +4 -46
  115. package/notification/README.md +4 -4
  116. package/package.json +1 -1
  117. package/paginator/README.md +42 -6
  118. package/paginator/index.d.ts +4 -2
  119. package/progress-bar/README.md +3 -3
  120. package/quantity-field/README.md +4 -4
  121. package/quantity-field/index.d.ts +4 -1
  122. package/radio/README.md +1 -1
  123. package/scss/theme.scss +7 -1
  124. package/scss/theming/_color-palettes.scss +0 -6
  125. package/select/README.md +4 -4
  126. package/sidebar/README.md +6 -6
  127. package/spinner/README.md +57 -0
  128. package/spinner/index.d.ts +53 -0
  129. package/spinner/src/spinner-theme.scss +62 -0
  130. package/switch/README.md +4 -4
  131. package/switch/index.d.ts +2 -2
  132. package/tabs/README.md +1 -1
  133. package/tabs/index.d.ts +2 -2
  134. package/tag/README.md +24 -30
  135. package/tag/index.d.ts +1 -1
  136. package/text-snippet/README.md +1 -1
  137. package/text-snippet/src/text-snippet-theme.scss +12 -0
  138. package/textarea/README.md +4 -4
  139. package/textarea/index.d.ts +4 -4
  140. package/toast/README.md +4 -4
  141. package/tree/README.md +39 -22
  142. package/tree/index.d.ts +57 -90
package/tree/index.d.ts CHANGED
@@ -1,41 +1,8 @@
1
- import * as i0 from '@angular/core';
2
- import { OnDestroy, OnInit, OnChanges, TemplateRef, SimpleChanges } from '@angular/core';
1
+ import * as _angular_core from '@angular/core';
2
+ import { TemplateRef } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common';
4
- import * as rxjs from 'rxjs';
5
4
  import * as i1 from '@daffodil/design';
6
5
 
7
- /**
8
- * This service is used by tree items to notify their parent
9
- * that the tree has to be recomputed.
10
- *
11
- * This service is a multiton associated with each tree instance.
12
- * It follows the same lifecycle as the tree it is associated with.
13
- */
14
- declare class DaffTreeNotifierService implements OnDestroy {
15
- /**
16
- * @docs-private
17
- */
18
- private _notice;
19
- /**
20
- * An observable that emits when the tree needs to be re-computed.
21
- */
22
- notice$: rxjs.Observable<boolean>;
23
- /**
24
- * `notify` can be called to trigger a re-computation of the tree
25
- * if data has changed unexpectedly and a re-render did not occur.
26
- *
27
- * This should be used sparingly. Instead, prefer updating `data` on the tree
28
- * itself for performance reasons.
29
- */
30
- notify(): void;
31
- /**
32
- * Cleanup when the tree is destroyed.
33
- *
34
- * @docs-private
35
- */
36
- ngOnDestroy(): void;
37
- }
38
-
39
6
  /**
40
7
  * A basic tree type supporting supplemental data on a tree node.
41
8
  *
@@ -65,13 +32,6 @@ interface DaffTreeData<T> {
65
32
  data: T;
66
33
  }
67
34
 
68
- /**
69
- * Represents the mode of rendering for nodes in a tree UI.
70
- * - `in-dom`: Closed nodes are present in the Document Object Model (DOM).
71
- * - `not-in-dom`: Closed nodes are not present in the Document Object Model (DOM).
72
- */
73
- type DaffTreeRenderMode = 'in-dom' | 'not-in-dom';
74
-
75
35
  /**
76
36
  * A DaffTreeUi is the internal data structure used during tree rendering.
77
37
  *
@@ -98,6 +58,13 @@ interface DaffTreeFlatNode {
98
58
  _treeRef: DaffTreeUi<unknown>;
99
59
  }
100
60
 
61
+ /**
62
+ * Represents the mode of rendering for nodes in a tree UI.
63
+ * - `in-dom`: Closed nodes are present in the Document Object Model (DOM).
64
+ * - `not-in-dom`: Closed nodes are not present in the Document Object Model (DOM).
65
+ */
66
+ type DaffTreeRenderMode = 'in-dom' | 'not-in-dom';
67
+
101
68
  /**
102
69
  * The `DaffTreeComponent` allows you to render tree structures as interactable UI.
103
70
  *
@@ -117,7 +84,7 @@ interface DaffTreeFlatNode {
117
84
  * where `tree` is a {@link DaffTreeData}.
118
85
  *
119
86
  */
120
- declare class DaffTreeComponent implements OnInit, OnChanges {
87
+ declare class DaffTreeComponent {
121
88
  private notifier;
122
89
  /**
123
90
  * The rendering mode for nodes in the tree.
@@ -128,48 +95,48 @@ declare class DaffTreeComponent implements OnInit, OnChanges {
128
95
  * but there may be use-cases (like SEO) where having the tree in the DOM
129
96
  * is relevant.
130
97
  */
131
- renderMode: DaffTreeRenderMode;
98
+ readonly renderMode: _angular_core.InputSignal<DaffTreeRenderMode>;
99
+ /**
100
+ * A unique identifier for the tree instance.
101
+ * Used as a prefix for all node IDs in the tree.
102
+ * If not provided, an auto-incrementing number is used.
103
+ */
104
+ readonly id: _angular_core.InputSignal<string>;
105
+ /**
106
+ * The tree data you would like to render.
107
+ */
108
+ readonly tree: _angular_core.InputSignal<DaffTreeData<unknown>>;
132
109
  /**
133
110
  * The internal tree element.
134
111
  */
135
112
  private _tree;
113
+ /**
114
+ * A revision counter incremented by notifications from tree items.
115
+ * Used to trigger re-flattening when tree item state changes.
116
+ */
117
+ readonly _revision: _angular_core.WritableSignal<number>;
136
118
  /**
137
119
  * @docs-private
138
120
  *
139
121
  * The flattened tree data. For debugging purposes, you can iterate through this if you want to inspect
140
122
  * the resulting array structure we computed to render the tree.
141
123
  */
142
- flatTree: DaffTreeFlatNode[];
143
- /**
144
- * The tree data you would like to render.
145
- */
146
- tree: DaffTreeData<unknown>;
124
+ readonly flatTree: _angular_core.Signal<DaffTreeFlatNode[]>;
147
125
  /**
148
126
  * The template used to render tree-nodes that themselves have children.
149
127
  *
150
128
  * @docs-private
151
129
  */
152
- withChildrenTemplate: TemplateRef<any>;
130
+ readonly withChildrenTemplate: _angular_core.Signal<TemplateRef<any>>;
153
131
  /**
154
132
  * The template used to render tree-nodes that have no children.
155
133
  *
156
134
  * @docs-private
157
135
  */
158
- treeItemTemplate: TemplateRef<any>;
159
- /**
160
- * @docs-private
161
- */
162
- constructor(notifier: DaffTreeNotifierService);
163
- /**
164
- * @docs-private
165
- */
166
- ngOnChanges(changes: SimpleChanges): void;
167
- /**
168
- * @docs-private
169
- */
170
- ngOnInit(): void;
171
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffTreeComponent, never>;
172
- static ɵcmp: i0.ɵɵComponentDeclaration<DaffTreeComponent, "ul[daff-tree]", never, { "renderMode": { "alias": "renderMode"; "required": false; }; "tree": { "alias": "tree"; "required": false; }; }, {}, ["withChildrenTemplate", "treeItemTemplate"], never, true, [{ directive: typeof i1.DaffArticleEncapsulatedDirective; inputs: {}; outputs: {}; }]>;
136
+ readonly treeItemTemplate: _angular_core.Signal<TemplateRef<any>>;
137
+ constructor();
138
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DaffTreeComponent, never>;
139
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DaffTreeComponent, "ul[daff-tree]", never, { "renderMode": { "alias": "renderMode"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "tree": { "alias": "tree"; "required": false; "isSignal": true; }; }, {}, ["withChildrenTemplate", "treeItemTemplate"], never, true, [{ directive: typeof i1.DaffArticleEncapsulatedDirective; inputs: {}; outputs: {}; }]>;
173
140
  }
174
141
 
175
142
  /**
@@ -195,40 +162,40 @@ declare class DaffTreeComponent implements OnInit, OnChanges {
195
162
  declare class DaffTreeItemDirective {
196
163
  private document;
197
164
  private treeNotifier;
198
- private isParent;
199
165
  /**
200
- * The html `id` of the tree item. This is derived from the {@link DaffTreeData}.
201
- *
166
+ * The {@link DaffTreeFlatNode} associated with this specific tree item.
202
167
  */
203
- private id;
168
+ readonly node: _angular_core.InputSignal<DaffTreeFlatNode>;
204
169
  /**
205
- * Accessibility property, notifying users about whether
206
- * or not the tree item is open.
170
+ * Whether or not the tree item is the currently active item.
171
+ * Note that there is no requirement that there only be one active item at a time.
172
+ *
173
+ * When a tree item becomes selected, all of its ancestor nodes
174
+ * will be automatically opened so that the selected item is visible.
207
175
  */
208
- private ariaExpanded;
176
+ readonly selected: _angular_core.InputSignal<boolean>;
209
177
  /**
210
- * A property indicating the depth of the tree.
178
+ * The html `id` of the tree item. This is derived from the {@link DaffTreeData}.
211
179
  */
212
- private depth;
180
+ protected readonly id: _angular_core.Signal<string>;
213
181
  /**
214
- * Indicates whether or not the tree is `open`.
182
+ * A property indicating the depth of the tree.
215
183
  */
216
- private open;
184
+ protected readonly depth: _angular_core.Signal<number>;
217
185
  /**
218
- * The {@link DaffTreeFlatNode} associated with this specific tree item.
186
+ * Whether or not this node has children.
219
187
  */
220
- private _node;
188
+ protected readonly isParent: _angular_core.Signal<boolean>;
221
189
  /**
222
- * The {@link DaffTreeFlatNode} associated with this specific tree item.
190
+ * Indicates whether or not the tree is `open`.
223
191
  */
224
- get node(): DaffTreeFlatNode;
225
- set node(val: DaffTreeFlatNode);
192
+ protected readonly open: _angular_core.Signal<boolean>;
226
193
  /**
227
- * Whether or not the tree item is the currently active item.
228
- * Note that there is no requirement there there only be one active item at a time.
194
+ * Accessibility property, notifying users about whether
195
+ * or not the tree item is open.
229
196
  */
230
- selected: boolean;
231
- constructor(document: any, treeNotifier: DaffTreeNotifierService);
197
+ protected readonly ariaExpanded: _angular_core.Signal<"true" | "false">;
198
+ constructor();
232
199
  /**
233
200
  * @docs-private
234
201
  */
@@ -245,17 +212,17 @@ declare class DaffTreeItemDirective {
245
212
  * Toggle the open state of this specific subtree tree.
246
213
  */
247
214
  toggleTree(node: DaffTreeFlatNode): void;
248
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffTreeItemDirective, never>;
249
- static ɵdir: i0.ɵɵDirectiveDeclaration<DaffTreeItemDirective, "[daffTreeItem]", never, { "node": { "alias": "node"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, {}, never, never, true, never>;
215
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DaffTreeItemDirective, never>;
216
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<DaffTreeItemDirective, "[daffTreeItem]", never, { "node": { "alias": "node"; "required": true; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
250
217
  }
251
218
 
252
219
  /**
253
220
  * @deprecated in favor of {@link DAFF_TREE_COMPONENTS}. Deprecated in version 0.78.0. Will be removed in version 1.0.0.
254
221
  */
255
222
  declare class DaffTreeModule {
256
- static ɵfac: i0.ɵɵFactoryDeclaration<DaffTreeModule, never>;
257
- static ɵmod: i0.ɵɵNgModuleDeclaration<DaffTreeModule, never, [typeof i1$1.CommonModule, typeof DaffTreeComponent, typeof DaffTreeItemDirective], [typeof DaffTreeComponent, typeof DaffTreeItemDirective]>;
258
- static ɵinj: i0.ɵɵInjectorDeclaration<DaffTreeModule>;
223
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DaffTreeModule, never>;
224
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<DaffTreeModule, never, [typeof i1$1.CommonModule, typeof DaffTreeComponent, typeof DaffTreeItemDirective], [typeof DaffTreeComponent, typeof DaffTreeItemDirective]>;
225
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<DaffTreeModule>;
259
226
  }
260
227
 
261
228
  type RecursiveTreeKeyOfType<T> = keyof {