@genesislcap/foundation-forms 14.267.0 → 14.268.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.
@@ -556,6 +556,20 @@
556
556
  "description": "Foundation filters component for automatically generated filters based on json schema\nobtained from the api, supplied initial data or supplied JSON schema.\nAllowing customisable filters elements using UI schema and set of custom renderers",
557
557
  "name": "Filters",
558
558
  "members": [
559
+ {
560
+ "kind": "field",
561
+ "name": "kvStorage",
562
+ "type": {
563
+ "text": "KVStorage"
564
+ }
565
+ },
566
+ {
567
+ "kind": "field",
568
+ "name": "filterName",
569
+ "type": {
570
+ "text": "string"
571
+ }
572
+ },
559
573
  {
560
574
  "kind": "field",
561
575
  "name": "resourceName",
@@ -565,6 +579,23 @@
565
579
  "description": "Name of the backend resource which will provide metadata\nused to generate filters.",
566
580
  "privacy": "public"
567
581
  },
582
+ {
583
+ "kind": "field",
584
+ "name": "allSavedFilters",
585
+ "type": {
586
+ "text": "any[]"
587
+ },
588
+ "default": "[]"
589
+ },
590
+ {
591
+ "kind": "field",
592
+ "name": "showFilterPersistenceControls",
593
+ "type": {
594
+ "text": "boolean"
595
+ },
596
+ "description": "Controls the visibility of the filter persistence controls UI.",
597
+ "privacy": "public"
598
+ },
568
599
  {
569
600
  "kind": "method",
570
601
  "name": "resourceNameChanged",
@@ -635,6 +666,48 @@
635
666
  "description": "Created criteria based on the given data that can be used to filter the data.",
636
667
  "privacy": "public"
637
668
  },
669
+ {
670
+ "kind": "method",
671
+ "name": "saveFilter"
672
+ },
673
+ {
674
+ "kind": "method",
675
+ "name": "deleteFilter"
676
+ },
677
+ {
678
+ "kind": "method",
679
+ "name": "loadAllSavedFilters"
680
+ },
681
+ {
682
+ "kind": "method",
683
+ "name": "filterNameChanged",
684
+ "parameters": [
685
+ {
686
+ "name": "oldValue",
687
+ "type": {
688
+ "text": "string"
689
+ }
690
+ },
691
+ {
692
+ "name": "newValue",
693
+ "type": {
694
+ "text": "string"
695
+ }
696
+ }
697
+ ]
698
+ },
699
+ {
700
+ "kind": "method",
701
+ "name": "loadFilterData",
702
+ "parameters": [
703
+ {
704
+ "name": "filterKey",
705
+ "type": {
706
+ "text": "string"
707
+ }
708
+ }
709
+ ]
710
+ },
638
711
  {
639
712
  "kind": "field",
640
713
  "name": "_presentation",
@@ -764,6 +837,14 @@
764
837
  "description": "Name of the backend resource which will provide metadata\nused to generate filters.",
765
838
  "fieldName": "resourceName"
766
839
  },
840
+ {
841
+ "name": "show-filter-persistence-controls",
842
+ "type": {
843
+ "text": "boolean"
844
+ },
845
+ "description": "Controls the visibility of the filter persistence controls UI.",
846
+ "fieldName": "showFilterPersistenceControls"
847
+ },
767
848
  {
768
849
  "name": "design-system-prefix",
769
850
  "type": {
@@ -1,3 +1,4 @@
1
+ import { KVStorage } from '@genesislcap/foundation-comms';
1
2
  import { FoundationElement } from '@microsoft/fast-foundation';
2
3
  import { JSONSchema7 } from 'json-schema';
3
4
  import { RendererEntry, UiSchema } from '../types';
@@ -15,12 +16,20 @@ export declare const filtersRenderers: any[];
15
16
  * @public
16
17
  */
17
18
  export declare class Filters extends FoundationElement {
19
+ kvStorage: KVStorage;
20
+ filterName: string;
18
21
  /**
19
22
  * Name of the backend resource which will provide metadata
20
23
  * used to generate filters.
21
24
  * @public
22
25
  */
23
26
  resourceName: string;
27
+ allSavedFilters: any[];
28
+ /**
29
+ * Controls the visibility of the filter persistence controls UI.
30
+ * @public
31
+ */
32
+ showFilterPersistenceControls: boolean;
24
33
  private resourceNameChanged;
25
34
  /**
26
35
  * @internal
@@ -110,5 +119,11 @@ export declare class Filters extends FoundationElement {
110
119
  * @internal
111
120
  */
112
121
  disconnectedCallback(): void;
122
+ saveFilter(): Promise<void>;
123
+ deleteFilter(): Promise<void>;
124
+ connectedCallback(): Promise<void>;
125
+ loadAllSavedFilters(): Promise<void>;
126
+ filterNameChanged(oldValue: string, newValue: string): void;
127
+ loadFilterData(filterKey: string): Promise<void>;
113
128
  }
114
129
  //# sourceMappingURL=filters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAY1C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKnD,gBAAgB;AAChB,eAAO,MAAM,aAAa,iDAAqC,CAAC;AAchE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,OAY5B,CAAC;AACF;;;;;GAKG;AACH,qBAKa,OAAQ,SAAQ,iBAAiB;IAC5C;;;;OAIG;IACG,YAAY,EAAE,MAAM,CAAC;YACb,mBAAmB;IAWjC;;OAEG;IACI,gBAAgB;IAKvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACS,QAAQ,EAAE,QAAQ,CAAC;IAC/B;;;OAGG;IACS,SAAS,EAAE,aAAa,EAAE,CAAoB;IAC1D;;;;;;OAMG;IACS,UAAU,EAAE,WAAW,CAAC;IACpC;;;OAGG;IAC0C,MAAM,EAAE,MAAM,CAAW;IAE7D,OAAO,CAAC,OAAO,CAAW;IACnC;;;OAGG;IACS,IAAI,EAAE,GAAG,CAAM;IAC3B;;;OAGG;IACS,KAAK,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,YAAY;IAIZ;;OAEG;IACH,aAAa;IAyBb;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW;IAO3B;;OAEG;IACH,oBAAoB;CAKrB"}
1
+ {"version":3,"file":"filters.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAM1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAY1C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAKnD,gBAAgB;AAChB,eAAO,MAAM,aAAa,iDAAqC,CAAC;AAchE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,OAY5B,CAAC;AAKF;;;;;GAKG;AACH,qBAKa,OAAQ,SAAQ,iBAAiB;IACjC,SAAS,EAAE,SAAS,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IAE/B;;;;OAIG;IACG,YAAY,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,GAAG,EAAE,CAAM;IAExC;;;OAGG;IAEH,6BAA6B,EAAE,OAAO,CAAC;YAEzB,mBAAmB;IAWjC;;OAEG;IACI,gBAAgB;IAMvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACS,QAAQ,EAAE,QAAQ,CAAC;IAC/B;;;OAGG;IACS,SAAS,EAAE,aAAa,EAAE,CAAoB;IAC1D;;;;;;OAMG;IACS,UAAU,EAAE,WAAW,CAAC;IACpC;;;OAGG;IAC0C,MAAM,EAAE,MAAM,CAAW;IAE7D,OAAO,CAAC,OAAO,CAAW;IACnC;;;OAGG;IACS,IAAI,EAAE,GAAG,CAAM;IAC3B;;;OAGG;IACS,KAAK,EAAE,MAAM,CAAC;IAC1B;;OAEG;IACH,YAAY;IAIZ;;OAEG;IACH,aAAa;IAyBb;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW;IAO3B;;OAEG;IACH,oBAAoB;IAMd,UAAU;IA0CV,YAAY;IA4BZ,iBAAiB;IAOjB,mBAAmB;IAsBzB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAU9C,cAAc,CAAC,SAAS,EAAE,MAAM;CAiBvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"filters.styles.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB,iDA2DnC,CAAC"}
1
+ {"version":3,"file":"filters.styles.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,uBAAuB,iDA0FnC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"filters.template.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.template.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,WAAY,MAAM,iEAiChD,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,yBAAyB,8DAErC,CAAC"}
1
+ {"version":3,"file":"filters.template.d.ts","sourceRoot":"","sources":["../../../src/filters/filters.template.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,gBAAgB;AAChB,eAAO,MAAM,kBAAkB,WAAY,MAAM,iEAsFhD,CAAC;AAEF,gBAAgB;AAChB,eAAO,MAAM,yBAAyB,8DAErC,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { __awaiter, __decorate } from "tslib";
2
2
  import { Connect } from '@genesislcap/foundation-comms';
3
+ import { KVStorage } from '@genesislcap/foundation-comms';
3
4
  import { CriteriaBuilder, Join } from '@genesislcap/foundation-criteria';
4
5
  import { createLogger } from '@genesislcap/foundation-logger';
6
+ import { showNotificationToast } from '@genesislcap/foundation-notifications';
5
7
  import { isControl, isStringControl, mapStateToControlProps, rankWith } from '@jsonforms/core';
6
8
  import { attr, customElement, observable } from '@microsoft/fast-element';
7
9
  import { FoundationElement } from '@microsoft/fast-foundation';
@@ -47,6 +49,8 @@ export const filtersRenderers = [
47
49
  FilterDateControlRendererEntry,
48
50
  InvisibleControlEntry,
49
51
  ];
52
+ // Add this at the top of the file, outside the class
53
+ const FORM_FILTER_PREFIX = 'formFilter:';
50
54
  /**
51
55
  * Foundation filters component for automatically generated filters based on json schema
52
56
  * obtained from the api, supplied initial data or supplied JSON schema.
@@ -56,6 +60,7 @@ export const filtersRenderers = [
56
60
  let Filters = class Filters extends FoundationElement {
57
61
  constructor() {
58
62
  super(...arguments);
63
+ this.allSavedFilters = [];
59
64
  /**
60
65
  * Allows to provide the main set of renderers used by the form. If not provided, the built-in renderers will be used by default.
61
66
  * @public
@@ -89,6 +94,7 @@ let Filters = class Filters extends FoundationElement {
89
94
  clearFiltersData() {
90
95
  this.data = {};
91
96
  this.value = '';
97
+ this.filterName = '';
92
98
  }
93
99
  /**
94
100
  * @internal
@@ -133,10 +139,149 @@ let Filters = class Filters extends FoundationElement {
133
139
  super.disconnectedCallback();
134
140
  this.data = {};
135
141
  }
142
+ saveFilter() {
143
+ return __awaiter(this, void 0, void 0, function* () {
144
+ if (!this.value) {
145
+ filtersLogger.warn('Filter value is empty, not saving filter!');
146
+ return;
147
+ }
148
+ const key = `${FORM_FILTER_PREFIX}${this.filterName}`;
149
+ try {
150
+ yield this.kvStorage.put([{ key, value: JSON.stringify(this.data) }]);
151
+ filtersLogger.info(`Saved filter: ${key}`);
152
+ yield this.loadAllSavedFilters();
153
+ showNotificationToast({
154
+ title: 'Success',
155
+ body: 'Filter saved successfully!',
156
+ toast: {
157
+ autoClose: true,
158
+ closeTimeout: 3000,
159
+ type: 'success',
160
+ },
161
+ }, this.prefix || 'rapid');
162
+ }
163
+ catch (err) {
164
+ filtersLogger.error('Failed to save filter', err);
165
+ showNotificationToast({
166
+ title: 'Error',
167
+ body: 'Failed to save filter',
168
+ toast: {
169
+ autoClose: true,
170
+ closeTimeout: 3000,
171
+ type: 'error',
172
+ },
173
+ }, this.prefix || 'rapid');
174
+ }
175
+ });
176
+ }
177
+ deleteFilter() {
178
+ return __awaiter(this, void 0, void 0, function* () {
179
+ const key = `${FORM_FILTER_PREFIX}${this.filterName}`;
180
+ try {
181
+ yield this.kvStorage.delete([key]);
182
+ filtersLogger.info(`Deleted filter: ${key}`);
183
+ yield this.loadAllSavedFilters();
184
+ this.filterName = '';
185
+ this.data = {};
186
+ this.value = '';
187
+ }
188
+ catch (err) {
189
+ filtersLogger.error('Failed to delete filter', err);
190
+ showNotificationToast({
191
+ title: 'Error',
192
+ body: 'Failed to delete filter',
193
+ toast: {
194
+ autoClose: true,
195
+ closeTimeout: 3000,
196
+ type: 'error',
197
+ },
198
+ }, this.prefix || 'rapid');
199
+ }
200
+ });
201
+ }
202
+ connectedCallback() {
203
+ const _super = Object.create(null, {
204
+ connectedCallback: { get: () => super.connectedCallback }
205
+ });
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ _super.connectedCallback.call(this);
208
+ if (this.showFilterPersistenceControls) {
209
+ yield this.loadAllSavedFilters();
210
+ }
211
+ });
212
+ }
213
+ loadAllSavedFilters() {
214
+ return __awaiter(this, void 0, void 0, function* () {
215
+ this.kvStorage
216
+ .list()
217
+ .then((keys) => {
218
+ if (Array.isArray(keys)) {
219
+ this.allSavedFilters = keys
220
+ .filter((key) => key.startsWith(FORM_FILTER_PREFIX))
221
+ .map((key) => {
222
+ const cleanKey = key.replace(/^formFilter:/, '');
223
+ return { value: cleanKey, label: cleanKey };
224
+ });
225
+ }
226
+ else {
227
+ filtersLogger.warn('KVStorage.list() did not return an array', keys);
228
+ this.allSavedFilters = [];
229
+ }
230
+ })
231
+ .catch((err) => {
232
+ filtersLogger.error('Failed to load saved filters from KVStorage', err);
233
+ this.allSavedFilters = [];
234
+ });
235
+ });
236
+ }
237
+ filterNameChanged(oldValue, newValue) {
238
+ if (newValue) {
239
+ this.loadFilterData(newValue).then(() => {
240
+ this.searchFilters();
241
+ });
242
+ }
243
+ else {
244
+ this.data = {};
245
+ }
246
+ }
247
+ loadFilterData(filterKey) {
248
+ return __awaiter(this, void 0, void 0, function* () {
249
+ try {
250
+ const key = `${FORM_FILTER_PREFIX}${filterKey}`;
251
+ const result = yield this.kvStorage.get(key);
252
+ if (result && result.kv && typeof result.kv.value === 'string') {
253
+ this.data = JSON.parse(result.kv.value);
254
+ }
255
+ else if (result && result.kv && result.kv.value) {
256
+ filtersLogger.warn('Loaded filter value is not a string, cannot parse', result.kv.value);
257
+ this.data = {};
258
+ }
259
+ else {
260
+ this.data = {};
261
+ }
262
+ }
263
+ catch (err) {
264
+ filtersLogger.error('Failed to load filter data from KVStorage', err);
265
+ this.data = {};
266
+ }
267
+ });
268
+ }
136
269
  };
270
+ __decorate([
271
+ KVStorage
272
+ ], Filters.prototype, "kvStorage", void 0);
273
+ __decorate([
274
+ observable
275
+ ], Filters.prototype, "filterName", void 0);
137
276
  __decorate([
138
277
  attr
139
278
  ], Filters.prototype, "resourceName", void 0);
279
+ __decorate([
280
+ observable
281
+ ], Filters.prototype, "allSavedFilters", void 0);
282
+ __decorate([
283
+ attr({ mode: 'boolean', attribute: 'show-filter-persistence-controls' })
284
+ ], Filters.prototype, "showFilterPersistenceControls", void 0);
140
285
  __decorate([
141
286
  observable
142
287
  ], Filters.prototype, "uischema", void 0);
@@ -11,6 +11,8 @@ export const foundationFiltersStyles = css `
11
11
  margin: 0;
12
12
  border-radius: calc(${controlCornerRadius} * 1px);
13
13
  min-width: 64px;
14
+
15
+ --filter-persistence-controls-container-height: 145px;
14
16
  }
15
17
 
16
18
  .header {
@@ -54,6 +56,35 @@ export const foundationFiltersStyles = css `
54
56
  .action-button {
55
57
  width: 70px;
56
58
  }
59
+
60
+ .filter-persistence-controls-container {
61
+ display: flex;
62
+ flex-direction: column;
63
+ height: var(--filter-persistence-controls-container-height);
64
+ padding: 5px 15px;
65
+ }
66
+
67
+ .filter-persistence-controls {
68
+ display: flex;
69
+ flex-direction: column;
70
+ width: 100%;
71
+ padding-bottom: 10px;
72
+ }
73
+
74
+ .filter-persistence-controls > rapid-label {
75
+ margin-bottom: calc(var(--design-unit) * 1px);
76
+ color: var(--neutral-foreground-hint);
77
+ }
78
+
79
+ .filter-persistence-controls-components {
80
+ display: flex;
81
+ gap: 10px;
82
+ }
83
+
84
+ .filter-persistence-controls-components > rapid-button {
85
+ width: 100px;
86
+ justify-content: center;
87
+ }
57
88
  `.withBehaviors(forcedColorsStylesheetBehavior(css `
58
89
  :host {
59
90
  background: ${SystemColors.Canvas};
@@ -1,4 +1,5 @@
1
- import { html } from '@microsoft/fast-element';
1
+ import { sync } from '@genesislcap/foundation-utils';
2
+ import { html, repeat, when } from '@microsoft/fast-element';
2
3
  import { JSONForms } from '../jsonforms/json-forms';
3
4
  import { ControlWrapper } from '../jsonforms/renderers/ControlWrapperRenderer';
4
5
  import { DispatchRenderer } from '../jsonforms/renderers/dispatch-renderer';
@@ -9,6 +10,51 @@ DispatchRenderer;
9
10
  export const getPrefixedFilters = (prefix) => html `
10
11
  <template>
11
12
  <div class="container" part="container">
13
+ ${when((x) => x.showFilterPersistenceControls, html `
14
+ <div class="filter-persistence-controls-container">
15
+ <div class="filter-persistence-controls">
16
+ <rapid-label>Saved Filters</rapid-label>
17
+ <rapid-select :value=${sync((x) => x.filterName)}>
18
+ <rapid-option value="">--Select--</rapid-option>
19
+ ${repeat((x) => x.allSavedFilters, html `
20
+ <rapid-option
21
+ value=${(x) => x.value}
22
+ :selected=${sync((x, c) => x.value == c.parent.filterName)}
23
+ >
24
+ ${(x, c) => x.label}
25
+ </rapid-option>
26
+ `)}
27
+ </rapid-select>
28
+ </div>
29
+ <div class="filter-persistence-controls">
30
+ <rapid-label>Name</rapid-label>
31
+ <div class="filter-persistence-controls-components">
32
+ <rapid-text-field
33
+ :value=${sync((x) => x.filterName)}
34
+ style="margin-bottom: 16px; width: 100%;"
35
+ ></rapid-text-field>
36
+ <rapid-button
37
+ slot="actions-start"
38
+ appearance="primary"
39
+ @click=${(x) => x.saveFilter()}
40
+ :disabled=${(x) => !x.filterName || !x.value}
41
+ >
42
+ Save
43
+ </rapid-button>
44
+ <rapid-button
45
+ slot="actions-start"
46
+ appearance="primary"
47
+ @click=${(x) => x.deleteFilter()}
48
+ :disabled=${(x) => !x.filterName}
49
+ >
50
+ Delete
51
+ </rapid-button>
52
+ </div>
53
+ </div>
54
+ </div>
55
+ <rapid-divider></rapid-divider>
56
+ `)}
57
+
12
58
  <div class="container-forms" part="container-forms">
13
59
  <json-forms
14
60
  :renderers=${(x) => x.renderers}
@@ -20,6 +66,7 @@ export const getPrefixedFilters = (prefix) => html `
20
66
  ></json-forms>
21
67
  </div>
22
68
  <div class="actions" part="actions">
69
+ <slot name="actions-start"></slot>
23
70
  <${prefix}-button
24
71
  @click="${(x) => x.clearFiltersData()}"
25
72
  class="action-button"
@@ -36,6 +83,7 @@ export const getPrefixedFilters = (prefix) => html `
36
83
  >
37
84
  Search
38
85
  </${prefix}-button>
86
+ <slot name="actions-end"></slot>
39
87
  </div>
40
88
  </div>
41
89
  </template>
@@ -302,6 +302,72 @@
302
302
  "name": "Filters",
303
303
  "preserveMemberOrder": false,
304
304
  "members": [
305
+ {
306
+ "kind": "Property",
307
+ "canonicalReference": "@genesislcap/foundation-forms!Filters#allSavedFilters:member",
308
+ "docComment": "",
309
+ "excerptTokens": [
310
+ {
311
+ "kind": "Content",
312
+ "text": "allSavedFilters: "
313
+ },
314
+ {
315
+ "kind": "Content",
316
+ "text": "any[]"
317
+ },
318
+ {
319
+ "kind": "Content",
320
+ "text": ";"
321
+ }
322
+ ],
323
+ "isReadonly": false,
324
+ "isOptional": false,
325
+ "releaseTag": "Public",
326
+ "name": "allSavedFilters",
327
+ "propertyTypeTokenRange": {
328
+ "startIndex": 1,
329
+ "endIndex": 2
330
+ },
331
+ "isStatic": false,
332
+ "isProtected": false,
333
+ "isAbstract": false
334
+ },
335
+ {
336
+ "kind": "Method",
337
+ "canonicalReference": "@genesislcap/foundation-forms!Filters#connectedCallback:member(1)",
338
+ "docComment": "",
339
+ "excerptTokens": [
340
+ {
341
+ "kind": "Content",
342
+ "text": "connectedCallback(): "
343
+ },
344
+ {
345
+ "kind": "Reference",
346
+ "text": "Promise",
347
+ "canonicalReference": "!Promise:interface"
348
+ },
349
+ {
350
+ "kind": "Content",
351
+ "text": "<void>"
352
+ },
353
+ {
354
+ "kind": "Content",
355
+ "text": ";"
356
+ }
357
+ ],
358
+ "isStatic": false,
359
+ "returnTypeTokenRange": {
360
+ "startIndex": 1,
361
+ "endIndex": 3
362
+ },
363
+ "releaseTag": "Public",
364
+ "isProtected": false,
365
+ "overloadIndex": 1,
366
+ "parameters": [],
367
+ "isOptional": false,
368
+ "isAbstract": false,
369
+ "name": "connectedCallback"
370
+ },
305
371
  {
306
372
  "kind": "Property",
307
373
  "canonicalReference": "@genesislcap/foundation-forms!Filters#data:member",
@@ -332,6 +398,136 @@
332
398
  "isProtected": false,
333
399
  "isAbstract": false
334
400
  },
401
+ {
402
+ "kind": "Method",
403
+ "canonicalReference": "@genesislcap/foundation-forms!Filters#deleteFilter:member(1)",
404
+ "docComment": "",
405
+ "excerptTokens": [
406
+ {
407
+ "kind": "Content",
408
+ "text": "deleteFilter(): "
409
+ },
410
+ {
411
+ "kind": "Reference",
412
+ "text": "Promise",
413
+ "canonicalReference": "!Promise:interface"
414
+ },
415
+ {
416
+ "kind": "Content",
417
+ "text": "<void>"
418
+ },
419
+ {
420
+ "kind": "Content",
421
+ "text": ";"
422
+ }
423
+ ],
424
+ "isStatic": false,
425
+ "returnTypeTokenRange": {
426
+ "startIndex": 1,
427
+ "endIndex": 3
428
+ },
429
+ "releaseTag": "Public",
430
+ "isProtected": false,
431
+ "overloadIndex": 1,
432
+ "parameters": [],
433
+ "isOptional": false,
434
+ "isAbstract": false,
435
+ "name": "deleteFilter"
436
+ },
437
+ {
438
+ "kind": "Property",
439
+ "canonicalReference": "@genesislcap/foundation-forms!Filters#filterName:member",
440
+ "docComment": "",
441
+ "excerptTokens": [
442
+ {
443
+ "kind": "Content",
444
+ "text": "filterName: "
445
+ },
446
+ {
447
+ "kind": "Content",
448
+ "text": "string"
449
+ },
450
+ {
451
+ "kind": "Content",
452
+ "text": ";"
453
+ }
454
+ ],
455
+ "isReadonly": false,
456
+ "isOptional": false,
457
+ "releaseTag": "Public",
458
+ "name": "filterName",
459
+ "propertyTypeTokenRange": {
460
+ "startIndex": 1,
461
+ "endIndex": 2
462
+ },
463
+ "isStatic": false,
464
+ "isProtected": false,
465
+ "isAbstract": false
466
+ },
467
+ {
468
+ "kind": "Method",
469
+ "canonicalReference": "@genesislcap/foundation-forms!Filters#filterNameChanged:member(1)",
470
+ "docComment": "",
471
+ "excerptTokens": [
472
+ {
473
+ "kind": "Content",
474
+ "text": "filterNameChanged(oldValue: "
475
+ },
476
+ {
477
+ "kind": "Content",
478
+ "text": "string"
479
+ },
480
+ {
481
+ "kind": "Content",
482
+ "text": ", newValue: "
483
+ },
484
+ {
485
+ "kind": "Content",
486
+ "text": "string"
487
+ },
488
+ {
489
+ "kind": "Content",
490
+ "text": "): "
491
+ },
492
+ {
493
+ "kind": "Content",
494
+ "text": "void"
495
+ },
496
+ {
497
+ "kind": "Content",
498
+ "text": ";"
499
+ }
500
+ ],
501
+ "isStatic": false,
502
+ "returnTypeTokenRange": {
503
+ "startIndex": 5,
504
+ "endIndex": 6
505
+ },
506
+ "releaseTag": "Public",
507
+ "isProtected": false,
508
+ "overloadIndex": 1,
509
+ "parameters": [
510
+ {
511
+ "parameterName": "oldValue",
512
+ "parameterTypeTokenRange": {
513
+ "startIndex": 1,
514
+ "endIndex": 2
515
+ },
516
+ "isOptional": false
517
+ },
518
+ {
519
+ "parameterName": "newValue",
520
+ "parameterTypeTokenRange": {
521
+ "startIndex": 3,
522
+ "endIndex": 4
523
+ },
524
+ "isOptional": false
525
+ }
526
+ ],
527
+ "isOptional": false,
528
+ "isAbstract": false,
529
+ "name": "filterNameChanged"
530
+ },
335
531
  {
336
532
  "kind": "Property",
337
533
  "canonicalReference": "@genesislcap/foundation-forms!Filters#jsonSchema:member",
@@ -363,6 +559,126 @@
363
559
  "isProtected": false,
364
560
  "isAbstract": false
365
561
  },
562
+ {
563
+ "kind": "Property",
564
+ "canonicalReference": "@genesislcap/foundation-forms!Filters#kvStorage:member",
565
+ "docComment": "",
566
+ "excerptTokens": [
567
+ {
568
+ "kind": "Content",
569
+ "text": "kvStorage: "
570
+ },
571
+ {
572
+ "kind": "Reference",
573
+ "text": "KVStorage",
574
+ "canonicalReference": "@genesislcap/foundation-comms!KVStorage:interface"
575
+ },
576
+ {
577
+ "kind": "Content",
578
+ "text": ";"
579
+ }
580
+ ],
581
+ "isReadonly": false,
582
+ "isOptional": false,
583
+ "releaseTag": "Public",
584
+ "name": "kvStorage",
585
+ "propertyTypeTokenRange": {
586
+ "startIndex": 1,
587
+ "endIndex": 2
588
+ },
589
+ "isStatic": false,
590
+ "isProtected": false,
591
+ "isAbstract": false
592
+ },
593
+ {
594
+ "kind": "Method",
595
+ "canonicalReference": "@genesislcap/foundation-forms!Filters#loadAllSavedFilters:member(1)",
596
+ "docComment": "",
597
+ "excerptTokens": [
598
+ {
599
+ "kind": "Content",
600
+ "text": "loadAllSavedFilters(): "
601
+ },
602
+ {
603
+ "kind": "Reference",
604
+ "text": "Promise",
605
+ "canonicalReference": "!Promise:interface"
606
+ },
607
+ {
608
+ "kind": "Content",
609
+ "text": "<void>"
610
+ },
611
+ {
612
+ "kind": "Content",
613
+ "text": ";"
614
+ }
615
+ ],
616
+ "isStatic": false,
617
+ "returnTypeTokenRange": {
618
+ "startIndex": 1,
619
+ "endIndex": 3
620
+ },
621
+ "releaseTag": "Public",
622
+ "isProtected": false,
623
+ "overloadIndex": 1,
624
+ "parameters": [],
625
+ "isOptional": false,
626
+ "isAbstract": false,
627
+ "name": "loadAllSavedFilters"
628
+ },
629
+ {
630
+ "kind": "Method",
631
+ "canonicalReference": "@genesislcap/foundation-forms!Filters#loadFilterData:member(1)",
632
+ "docComment": "",
633
+ "excerptTokens": [
634
+ {
635
+ "kind": "Content",
636
+ "text": "loadFilterData(filterKey: "
637
+ },
638
+ {
639
+ "kind": "Content",
640
+ "text": "string"
641
+ },
642
+ {
643
+ "kind": "Content",
644
+ "text": "): "
645
+ },
646
+ {
647
+ "kind": "Reference",
648
+ "text": "Promise",
649
+ "canonicalReference": "!Promise:interface"
650
+ },
651
+ {
652
+ "kind": "Content",
653
+ "text": "<void>"
654
+ },
655
+ {
656
+ "kind": "Content",
657
+ "text": ";"
658
+ }
659
+ ],
660
+ "isStatic": false,
661
+ "returnTypeTokenRange": {
662
+ "startIndex": 3,
663
+ "endIndex": 5
664
+ },
665
+ "releaseTag": "Public",
666
+ "isProtected": false,
667
+ "overloadIndex": 1,
668
+ "parameters": [
669
+ {
670
+ "parameterName": "filterKey",
671
+ "parameterTypeTokenRange": {
672
+ "startIndex": 1,
673
+ "endIndex": 2
674
+ },
675
+ "isOptional": false
676
+ }
677
+ ],
678
+ "isOptional": false,
679
+ "isAbstract": false,
680
+ "name": "loadFilterData"
681
+ },
366
682
  {
367
683
  "kind": "Property",
368
684
  "canonicalReference": "@genesislcap/foundation-forms!Filters#prefix:member",
@@ -458,6 +774,72 @@
458
774
  "isProtected": false,
459
775
  "isAbstract": false
460
776
  },
777
+ {
778
+ "kind": "Method",
779
+ "canonicalReference": "@genesislcap/foundation-forms!Filters#saveFilter:member(1)",
780
+ "docComment": "",
781
+ "excerptTokens": [
782
+ {
783
+ "kind": "Content",
784
+ "text": "saveFilter(): "
785
+ },
786
+ {
787
+ "kind": "Reference",
788
+ "text": "Promise",
789
+ "canonicalReference": "!Promise:interface"
790
+ },
791
+ {
792
+ "kind": "Content",
793
+ "text": "<void>"
794
+ },
795
+ {
796
+ "kind": "Content",
797
+ "text": ";"
798
+ }
799
+ ],
800
+ "isStatic": false,
801
+ "returnTypeTokenRange": {
802
+ "startIndex": 1,
803
+ "endIndex": 3
804
+ },
805
+ "releaseTag": "Public",
806
+ "isProtected": false,
807
+ "overloadIndex": 1,
808
+ "parameters": [],
809
+ "isOptional": false,
810
+ "isAbstract": false,
811
+ "name": "saveFilter"
812
+ },
813
+ {
814
+ "kind": "Property",
815
+ "canonicalReference": "@genesislcap/foundation-forms!Filters#showFilterPersistenceControls:member",
816
+ "docComment": "/**\n * Controls the visibility of the filter persistence controls UI.\n *\n * @public\n */\n",
817
+ "excerptTokens": [
818
+ {
819
+ "kind": "Content",
820
+ "text": "showFilterPersistenceControls: "
821
+ },
822
+ {
823
+ "kind": "Content",
824
+ "text": "boolean"
825
+ },
826
+ {
827
+ "kind": "Content",
828
+ "text": ";"
829
+ }
830
+ ],
831
+ "isReadonly": false,
832
+ "isOptional": false,
833
+ "releaseTag": "Public",
834
+ "name": "showFilterPersistenceControls",
835
+ "propertyTypeTokenRange": {
836
+ "startIndex": 1,
837
+ "endIndex": 2
838
+ },
839
+ "isStatic": false,
840
+ "isProtected": false,
841
+ "isAbstract": false
842
+ },
461
843
  {
462
844
  "kind": "Property",
463
845
  "canonicalReference": "@genesislcap/foundation-forms!Filters#uischema:member",
@@ -10,6 +10,7 @@ import { FoundationElement } from '@microsoft/fast-foundation';
10
10
  import { FoundationLayoutContainer } from '@genesislcap/foundation-utils';
11
11
  import { JsonFormsState } from '@jsonforms/core';
12
12
  import { JSONSchema7 } from 'json-schema';
13
+ import { KVStorage } from '@genesislcap/foundation-comms';
13
14
  import { Layout } from '@jsonforms/core';
14
15
  import { LayoutCacheContainer } from '@genesislcap/foundation-utils';
15
16
  import { Logger } from '@genesislcap/foundation-logger';
@@ -182,12 +183,20 @@ declare type Expressions = {
182
183
  * @public
183
184
  */
184
185
  export declare class Filters extends FoundationElement {
186
+ kvStorage: KVStorage;
187
+ filterName: string;
185
188
  /**
186
189
  * Name of the backend resource which will provide metadata
187
190
  * used to generate filters.
188
191
  * @public
189
192
  */
190
193
  resourceName: string;
194
+ allSavedFilters: any[];
195
+ /**
196
+ * Controls the visibility of the filter persistence controls UI.
197
+ * @public
198
+ */
199
+ showFilterPersistenceControls: boolean;
191
200
  private resourceNameChanged;
192
201
  /**
193
202
  * @internal
@@ -277,6 +286,12 @@ export declare class Filters extends FoundationElement {
277
286
  * @internal
278
287
  */
279
288
  disconnectedCallback(): void;
289
+ saveFilter(): Promise<void>;
290
+ deleteFilter(): Promise<void>;
291
+ connectedCallback(): Promise<void>;
292
+ loadAllSavedFilters(): Promise<void>;
293
+ filterNameChanged(oldValue: string, newValue: string): void;
294
+ loadFilterData(filterKey: string): Promise<void>;
280
295
  }
281
296
 
282
297
  /** @internal */
@@ -0,0 +1,11 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-forms](./foundation-forms.md) &gt; [Filters](./foundation-forms.filters.md) &gt; [allSavedFilters](./foundation-forms.filters.allsavedfilters.md)
4
+
5
+ ## Filters.allSavedFilters property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ allSavedFilters: any[];
11
+ ```
@@ -0,0 +1,15 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-forms](./foundation-forms.md) &gt; [Filters](./foundation-forms.filters.md) &gt; [connectedCallback](./foundation-forms.filters.connectedcallback.md)
4
+
5
+ ## Filters.connectedCallback() method
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ connectedCallback(): Promise<void>;
11
+ ```
12
+ **Returns:**
13
+
14
+ Promise&lt;void&gt;
15
+
@@ -0,0 +1,15 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-forms](./foundation-forms.md) &gt; [Filters](./foundation-forms.filters.md) &gt; [deleteFilter](./foundation-forms.filters.deletefilter.md)
4
+
5
+ ## Filters.deleteFilter() method
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ deleteFilter(): Promise<void>;
11
+ ```
12
+ **Returns:**
13
+
14
+ Promise&lt;void&gt;
15
+
@@ -0,0 +1,11 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-forms](./foundation-forms.md) &gt; [Filters](./foundation-forms.filters.md) &gt; [filterName](./foundation-forms.filters.filtername.md)
4
+
5
+ ## Filters.filterName property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ filterName: string;
11
+ ```
@@ -0,0 +1,23 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-forms](./foundation-forms.md) &gt; [Filters](./foundation-forms.filters.md) &gt; [filterNameChanged](./foundation-forms.filters.filternamechanged.md)
4
+
5
+ ## Filters.filterNameChanged() method
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ filterNameChanged(oldValue: string, newValue: string): void;
11
+ ```
12
+
13
+ ## Parameters
14
+
15
+ | Parameter | Type | Description |
16
+ | --- | --- | --- |
17
+ | oldValue | string | |
18
+ | newValue | string | |
19
+
20
+ **Returns:**
21
+
22
+ void
23
+
@@ -0,0 +1,11 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-forms](./foundation-forms.md) &gt; [Filters](./foundation-forms.filters.md) &gt; [kvStorage](./foundation-forms.filters.kvstorage.md)
4
+
5
+ ## Filters.kvStorage property
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ kvStorage: KVStorage;
11
+ ```
@@ -0,0 +1,15 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-forms](./foundation-forms.md) &gt; [Filters](./foundation-forms.filters.md) &gt; [loadAllSavedFilters](./foundation-forms.filters.loadallsavedfilters.md)
4
+
5
+ ## Filters.loadAllSavedFilters() method
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ loadAllSavedFilters(): Promise<void>;
11
+ ```
12
+ **Returns:**
13
+
14
+ Promise&lt;void&gt;
15
+
@@ -0,0 +1,22 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-forms](./foundation-forms.md) &gt; [Filters](./foundation-forms.filters.md) &gt; [loadFilterData](./foundation-forms.filters.loadfilterdata.md)
4
+
5
+ ## Filters.loadFilterData() method
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ loadFilterData(filterKey: string): Promise<void>;
11
+ ```
12
+
13
+ ## Parameters
14
+
15
+ | Parameter | Type | Description |
16
+ | --- | --- | --- |
17
+ | filterKey | string | |
18
+
19
+ **Returns:**
20
+
21
+ Promise&lt;void&gt;
22
+
@@ -17,11 +17,26 @@ export declare class Filters extends FoundationElement
17
17
 
18
18
  | Property | Modifiers | Type | Description |
19
19
  | --- | --- | --- | --- |
20
+ | [allSavedFilters](./foundation-forms.filters.allsavedfilters.md) | | any\[\] | |
20
21
  | [data](./foundation-forms.filters.data.md) | | any | Initial data for the filters. |
22
+ | [filterName](./foundation-forms.filters.filtername.md) | | string | |
21
23
  | [jsonSchema](./foundation-forms.filters.jsonschema.md) | | JSONSchema7 | Alternatively to providing [Form.resourceName](./foundation-forms.form.resourcename.md) you can hardcode the JSON schema on the client. |
24
+ | [kvStorage](./foundation-forms.filters.kvstorage.md) | | KVStorage | |
22
25
  | [prefix](./foundation-forms.filters.prefix.md) | | string | Name of the design system prefix that will be used in renderers. |
23
26
  | [renderers](./foundation-forms.filters.renderers.md) | | [RendererEntry](./foundation-forms.rendererentry.md)<!-- -->\[\] | Allows to provide the main set of renderers used by the form. If not provided, the built-in renderers will be used by default. |
24
27
  | [resourceName](./foundation-forms.filters.resourcename.md) | | string | Name of the backend resource which will provide metadata used to generate filters. |
28
+ | [showFilterPersistenceControls](./foundation-forms.filters.showfilterpersistencecontrols.md) | | boolean | Controls the visibility of the filter persistence controls UI. |
25
29
  | [uischema](./foundation-forms.filters.uischema.md) | | [UiSchema](./foundation-forms.uischema.md) | UI schema used to define configuration of the layout and elements in the filters Check [UiSchema](./foundation-forms.uischema.md) for possible options. |
26
30
  | [value](./foundation-forms.filters.value.md) | | string | Created criteria based on the given data that can be used to filter the data. |
27
31
 
32
+ ## Methods
33
+
34
+ | Method | Modifiers | Description |
35
+ | --- | --- | --- |
36
+ | [connectedCallback()](./foundation-forms.filters.connectedcallback.md) | | |
37
+ | [deleteFilter()](./foundation-forms.filters.deletefilter.md) | | |
38
+ | [filterNameChanged(oldValue, newValue)](./foundation-forms.filters.filternamechanged.md) | | |
39
+ | [loadAllSavedFilters()](./foundation-forms.filters.loadallsavedfilters.md) | | |
40
+ | [loadFilterData(filterKey)](./foundation-forms.filters.loadfilterdata.md) | | |
41
+ | [saveFilter()](./foundation-forms.filters.savefilter.md) | | |
42
+
@@ -0,0 +1,15 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-forms](./foundation-forms.md) &gt; [Filters](./foundation-forms.filters.md) &gt; [saveFilter](./foundation-forms.filters.savefilter.md)
4
+
5
+ ## Filters.saveFilter() method
6
+
7
+ **Signature:**
8
+
9
+ ```typescript
10
+ saveFilter(): Promise<void>;
11
+ ```
12
+ **Returns:**
13
+
14
+ Promise&lt;void&gt;
15
+
@@ -0,0 +1,13 @@
1
+ <!-- Do not edit this file. It is automatically generated by API Documenter. -->
2
+
3
+ [Home](./index.md) &gt; [@genesislcap/foundation-forms](./foundation-forms.md) &gt; [Filters](./foundation-forms.filters.md) &gt; [showFilterPersistenceControls](./foundation-forms.filters.showfilterpersistencecontrols.md)
4
+
5
+ ## Filters.showFilterPersistenceControls property
6
+
7
+ Controls the visibility of the filter persistence controls UI.
8
+
9
+ **Signature:**
10
+
11
+ ```typescript
12
+ showFilterPersistenceControls: boolean;
13
+ ```
@@ -16,6 +16,7 @@ import { FoundationElement } from '@microsoft/fast-foundation';
16
16
  import { FoundationLayoutContainer } from '@genesislcap/foundation-utils';
17
17
  import { JsonFormsState } from '@jsonforms/core';
18
18
  import { JSONSchema7 } from 'json-schema';
19
+ import { KVStorage } from '@genesislcap/foundation-comms';
19
20
  import { Layout } from '@jsonforms/core';
20
21
  import { LayoutCacheContainer } from '@genesislcap/foundation-utils';
21
22
  import { Logger } from '@genesislcap/foundation-logger';
@@ -64,19 +65,38 @@ export const createExpressions: (payload: any) => Expressions;
64
65
 
65
66
  // @public
66
67
  export class Filters extends FoundationElement {
68
+ // (undocumented)
69
+ allSavedFilters: any[];
67
70
  // @internal (undocumented)
68
71
  clearFiltersData(): void;
72
+ // (undocumented)
73
+ connectedCallback(): Promise<void>;
69
74
  data: any;
75
+ // (undocumented)
76
+ deleteFilter(): Promise<void>;
70
77
  // @internal (undocumented)
71
78
  disconnectedCallback(): void;
79
+ // (undocumented)
80
+ filterName: string;
81
+ // (undocumented)
82
+ filterNameChanged(oldValue: string, newValue: string): void;
72
83
  jsonSchema: JSONSchema7;
84
+ // (undocumented)
85
+ kvStorage: KVStorage;
86
+ // (undocumented)
87
+ loadAllSavedFilters(): Promise<void>;
88
+ // (undocumented)
89
+ loadFilterData(filterKey: string): Promise<void>;
73
90
  // @internal (undocumented)
74
91
  onChange(event: CustomEvent): void;
75
92
  prefix: string;
76
93
  renderers: RendererEntry[];
77
94
  resourceName: string;
95
+ // (undocumented)
96
+ saveFilter(): Promise<void>;
78
97
  // @internal (undocumented)
79
98
  searchFilters(): void;
99
+ showFilterPersistenceControls: boolean;
80
100
  uischema: UiSchema;
81
101
  value: string;
82
102
  // @internal (undocumented)
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/foundation-forms",
3
3
  "description": "Genesis Foundation Forms",
4
- "version": "14.267.0",
4
+ "version": "14.268.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -48,22 +48,23 @@
48
48
  }
49
49
  },
50
50
  "devDependencies": {
51
- "@genesislcap/foundation-testing": "14.267.0",
52
- "@genesislcap/genx": "14.267.0",
53
- "@genesislcap/rollup-builder": "14.267.0",
54
- "@genesislcap/ts-builder": "14.267.0",
55
- "@genesislcap/uvu-playwright-builder": "14.267.0",
56
- "@genesislcap/vite-builder": "14.267.0",
57
- "@genesislcap/webpack-builder": "14.267.0",
51
+ "@genesislcap/foundation-testing": "14.268.0",
52
+ "@genesislcap/genx": "14.268.0",
53
+ "@genesislcap/rollup-builder": "14.268.0",
54
+ "@genesislcap/ts-builder": "14.268.0",
55
+ "@genesislcap/uvu-playwright-builder": "14.268.0",
56
+ "@genesislcap/vite-builder": "14.268.0",
57
+ "@genesislcap/webpack-builder": "14.268.0",
58
58
  "@types/json-schema": "^7.0.11",
59
59
  "rimraf": "^5.0.0"
60
60
  },
61
61
  "dependencies": {
62
- "@genesislcap/foundation-comms": "14.267.0",
63
- "@genesislcap/foundation-criteria": "14.267.0",
64
- "@genesislcap/foundation-logger": "14.267.0",
65
- "@genesislcap/foundation-ui": "14.267.0",
66
- "@genesislcap/foundation-utils": "14.267.0",
62
+ "@genesislcap/foundation-comms": "14.268.0",
63
+ "@genesislcap/foundation-criteria": "14.268.0",
64
+ "@genesislcap/foundation-logger": "14.268.0",
65
+ "@genesislcap/foundation-notifications": "14.268.0",
66
+ "@genesislcap/foundation-ui": "14.268.0",
67
+ "@genesislcap/foundation-utils": "14.268.0",
67
68
  "@json-schema-tools/dereferencer": "^1.6.1",
68
69
  "@jsonforms/core": "^3.2.1",
69
70
  "@microsoft/fast-components": "2.30.6",
@@ -85,5 +86,5 @@
85
86
  "access": "public"
86
87
  },
87
88
  "customElements": "dist/custom-elements.json",
88
- "gitHead": "71861fa4ba4a479834d486fd5e8e2528a42854e3"
89
+ "gitHead": "4164f4fe44a1227a63273130da7af630b40fd49a"
89
90
  }