@genesislcap/foundation-forms 14.162.5 → 14.163.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.
@@ -24,7 +24,7 @@
24
24
  "type": {
25
25
  "text": "array"
26
26
  },
27
- "default": "[\n fallbackEntry,\n stringEntry,\n BooleanControlEntry,\n LayoutArrayRendererEntry,\n LayoutCategorizationRendererEntry,\n LayoutGroupRendererEntry,\n LayoutHorizontalEntry,\n LayoutVertical2ColumnsEntry,\n LayoutRendererEntry,\n LayoutStepperRendererEntry,\n NumberControlRendererEntry,\n ConnectedMultiselectControlRendererEntry,\n EnumControlRendererEntry,\n ConnectedSelectControlRendererEntry,\n DateControlRendererEntry,\n InvisibleControlEntry,\n]",
27
+ "default": "[\n fallbackEntry,\n stringEntry,\n BooleanControlEntry,\n StringArrayEntry,\n LayoutArrayRendererEntry,\n LayoutCategorizationRendererEntry,\n LayoutGroupRendererEntry,\n LayoutHorizontalEntry,\n LayoutVertical2ColumnsEntry,\n LayoutRendererEntry,\n LayoutStepperRendererEntry,\n NumberControlRendererEntry,\n ConnectedMultiselectControlRendererEntry,\n EnumControlRendererEntry,\n ConnectedSelectControlRendererEntry,\n DateControlRendererEntry,\n InvisibleControlEntry,\n]",
28
28
  "privacy": "public"
29
29
  },
30
30
  {
@@ -76,7 +76,7 @@
76
76
  "type": {
77
77
  "text": "RendererEntry[]"
78
78
  },
79
- "default": "[\n fallbackEntry,\n stringEntry,\n BooleanControlEntry,\n LayoutArrayRendererEntry,\n LayoutCategorizationRendererEntry,\n LayoutGroupRendererEntry,\n LayoutHorizontalEntry,\n LayoutVertical2ColumnsEntry,\n LayoutRendererEntry,\n LayoutStepperRendererEntry,\n NumberControlRendererEntry,\n ConnectedMultiselectControlRendererEntry,\n EnumControlRendererEntry,\n ConnectedSelectControlRendererEntry,\n DateControlRendererEntry,\n InvisibleControlEntry,\n]",
79
+ "default": "[\n fallbackEntry,\n stringEntry,\n BooleanControlEntry,\n StringArrayEntry,\n LayoutArrayRendererEntry,\n LayoutCategorizationRendererEntry,\n LayoutGroupRendererEntry,\n LayoutHorizontalEntry,\n LayoutVertical2ColumnsEntry,\n LayoutRendererEntry,\n LayoutStepperRendererEntry,\n NumberControlRendererEntry,\n ConnectedMultiselectControlRendererEntry,\n EnumControlRendererEntry,\n ConnectedSelectControlRendererEntry,\n DateControlRendererEntry,\n InvisibleControlEntry,\n]",
80
80
  "description": "Allows to provide set of renderers used by the form. If not provided it will default to text-field inputs",
81
81
  "privacy": "public"
82
82
  },
@@ -1763,7 +1763,7 @@
1763
1763
  "type": {
1764
1764
  "text": "any"
1765
1765
  },
1766
- "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isLayoutArray),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
1766
+ "default": "{\n renderer: LayoutArrayRendererTemplate,\n tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),\n mapper: mapStateToArrayLayoutProps,\n dispatchMapper: mapDispatchToArrayControlProps,\n}"
1767
1767
  }
1768
1768
  ],
1769
1769
  "exports": [
@@ -2072,6 +2072,14 @@
2072
2072
  },
2073
2073
  "default": "3"
2074
2074
  },
2075
+ {
2076
+ "kind": "variable",
2077
+ "name": "ARRAY_CONTROL_RANK",
2078
+ "type": {
2079
+ "text": "number"
2080
+ },
2081
+ "default": "3"
2082
+ },
2075
2083
  {
2076
2084
  "kind": "variable",
2077
2085
  "name": "MULTISELECT_CONTROL_RANK",
@@ -2186,6 +2194,14 @@
2186
2194
  "module": "src/jsonforms/renderers/RenderersRanks.ts"
2187
2195
  }
2188
2196
  },
2197
+ {
2198
+ "kind": "js",
2199
+ "name": "ARRAY_CONTROL_RANK",
2200
+ "declaration": {
2201
+ "name": "ARRAY_CONTROL_RANK",
2202
+ "module": "src/jsonforms/renderers/RenderersRanks.ts"
2203
+ }
2204
+ },
2189
2205
  {
2190
2206
  "kind": "js",
2191
2207
  "name": "MULTISELECT_CONTROL_RANK",
@@ -2380,6 +2396,51 @@
2380
2396
  }
2381
2397
  ]
2382
2398
  },
2399
+ {
2400
+ "kind": "javascript-module",
2401
+ "path": "src/jsonforms/renderers/StringArrayControlRenderer.ts",
2402
+ "declarations": [
2403
+ {
2404
+ "kind": "function",
2405
+ "name": "getStringArrayControlRendererTemplate",
2406
+ "parameters": [
2407
+ {
2408
+ "name": "prefix",
2409
+ "default": "'zero'",
2410
+ "type": {
2411
+ "text": "string"
2412
+ }
2413
+ }
2414
+ ]
2415
+ },
2416
+ {
2417
+ "kind": "variable",
2418
+ "name": "StringArrayEntry",
2419
+ "type": {
2420
+ "text": "RendererEntry"
2421
+ },
2422
+ "default": "{\n renderer: html<DispatchRenderer>`\n ${(x) => getStringArrayControlRendererTemplate(x.prefix)}\n `,\n tester: rankWith(ARRAY_CONTROL_RANK, isArray('string')),\n mapper: mapStateToControlProps,\n}"
2423
+ }
2424
+ ],
2425
+ "exports": [
2426
+ {
2427
+ "kind": "js",
2428
+ "name": "getStringArrayControlRendererTemplate",
2429
+ "declaration": {
2430
+ "name": "getStringArrayControlRendererTemplate",
2431
+ "module": "src/jsonforms/renderers/StringArrayControlRenderer.ts"
2432
+ }
2433
+ },
2434
+ {
2435
+ "kind": "js",
2436
+ "name": "StringArrayEntry",
2437
+ "declaration": {
2438
+ "name": "StringArrayEntry",
2439
+ "module": "src/jsonforms/renderers/StringArrayControlRenderer.ts"
2440
+ }
2441
+ }
2442
+ ]
2443
+ },
2383
2444
  {
2384
2445
  "kind": "javascript-module",
2385
2446
  "path": "src/jsonforms/renderers/StringControlRenderer.ts",
@@ -2531,6 +2592,34 @@
2531
2592
  }
2532
2593
  ]
2533
2594
  },
2595
+ {
2596
+ "kind": "javascript-module",
2597
+ "path": "src/jsonforms/testers/isArray.ts",
2598
+ "declarations": [
2599
+ {
2600
+ "kind": "function",
2601
+ "name": "isArray",
2602
+ "parameters": [
2603
+ {
2604
+ "name": "itemsType",
2605
+ "type": {
2606
+ "text": "ArrayItemsType"
2607
+ }
2608
+ }
2609
+ ]
2610
+ }
2611
+ ],
2612
+ "exports": [
2613
+ {
2614
+ "kind": "js",
2615
+ "name": "isArray",
2616
+ "declaration": {
2617
+ "name": "isArray",
2618
+ "module": "src/jsonforms/testers/isArray.ts"
2619
+ }
2620
+ }
2621
+ ]
2622
+ },
2534
2623
  {
2535
2624
  "kind": "javascript-module",
2536
2625
  "path": "src/jsonforms/testers/isDate.ts",
@@ -2596,26 +2685,6 @@
2596
2685
  }
2597
2686
  ]
2598
2687
  },
2599
- {
2600
- "kind": "javascript-module",
2601
- "path": "src/jsonforms/testers/isLayoutArray.ts",
2602
- "declarations": [
2603
- {
2604
- "kind": "variable",
2605
- "name": "isLayoutArray"
2606
- }
2607
- ],
2608
- "exports": [
2609
- {
2610
- "kind": "js",
2611
- "name": "isLayoutArray",
2612
- "declaration": {
2613
- "name": "isLayoutArray",
2614
- "module": "src/jsonforms/testers/isLayoutArray.ts"
2615
- }
2616
- }
2617
- ]
2618
- },
2619
2688
  {
2620
2689
  "kind": "javascript-module",
2621
2690
  "path": "src/jsonforms/testers/isOneOfBoolean.ts",
@@ -23,7 +23,44 @@ declare const Form_base: (new (...args: any[]) => {
23
23
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
24
24
  accessKey: string;
25
25
  readonly accessKeyLabel: string;
26
- autocapitalize: string;
26
+ autocapitalize: string; /**
27
+ * UI schema used to define configuration of the layout and elements in the form
28
+ * Check {@link UiSchemaElement} for possible options
29
+ *
30
+ * @remarks
31
+ * If not provided will be autogenerated based on json schema or initial data
32
+ *
33
+ * @example
34
+ * Here's a simple example:
35
+ * ```
36
+ * const sampleUISchema = {
37
+ * type: 'VerticalLayout',
38
+ * elements: [
39
+ * {
40
+ * type: 'Control',
41
+ * scope: '#/properties/QUANTITY',
42
+ * label: 'Quantity',
43
+ * },
44
+ * {
45
+ * type: 'Control',
46
+ * scope: '#/properties/INSTRUMENT_ID',
47
+ * options: {
48
+ * allOptionsResourceName: 'INSTRUMENT',
49
+ * valueField: 'INSTRUMENT_ID',
50
+ * labelField: 'INSTRUMENT_ID',
51
+ * },
52
+ * label: 'Instrument',
53
+ * },
54
+ * {
55
+ * type: 'Control',
56
+ * scope: '#/properties/SIDE',
57
+ * label: 'Side',
58
+ * },
59
+ * ],
60
+ * };
61
+ * ```
62
+ * @public
63
+ */
27
64
  dir: string;
28
65
  draggable: boolean;
29
66
  hidden: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/form.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAmB1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAexC,cAAc;AACd,eAAO,MAAM,SAAS,OAiBrB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACF;;;;;GAKG;AAEH,qBAKa,IAAK,SAAQ,SAAiC;IACzD;;;OAGG;IAC0C,MAAM,EAAE,MAAM,CAAU;IACrE;;;;OAIG;IACG,YAAY,EAAE,MAAM,CAAC;YACb,mBAAmB;IAcjC,OAAO,CAAC,oBAAoB;IA0B5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACS,QAAQ,EAAE,eAAe,CAAC;IACtC;;;OAGG;IACS,SAAS,EAAE,aAAa,EAAE,CAAa;IACnD;;;;;;OAMG;IACS,UAAU,EAAE,WAAW,CAAC;IAEpC,OAAO,CAAC,MAAM,CAAqB;IAC1B,OAAO,CAAC,OAAO,CAAW;IACnC;;;OAGG;IACS,IAAI,EAAE,GAAG,CAAM;IAE3B;;OAEG;IACS,UAAU,EAAE,OAAO,CAAC;IAChC;;OAEG;IACS,SAAS,EAAE,OAAO,CAAC;IAEJ,QAAQ,EAAE,OAAO,CAAC;IACe,UAAU,EAAE,OAAO,CAAC;IAEhF;;OAEG;IACG,OAAO;IA2Bb,IAAc,cAAc,YAM3B;IAED;;OAEG;IACM,SAAS,IAAI,IAAI;IAW1B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW;IAI7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW;IAQ3B,oBAAoB;IAKpB;;;OAGG;IACH,KAAK,CAAC,SAAS,UAAO;CAMvB"}
1
+ {"version":3,"file":"form.d.ts","sourceRoot":"","sources":["../../src/form.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,eAAe,EAChB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAoB1C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAexC,cAAc;AACd,eAAO,MAAM,SAAS,OAkBrB,CAAC;;;;;;;;;;;;;;;;;;;;4BAiEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AArGL;;;;;GAKG;AAEH,qBAKa,IAAK,SAAQ,SAAiC;IACzD;;;OAGG;IAC0C,MAAM,EAAE,MAAM,CAAU;IACrE;;;;OAIG;IACG,YAAY,EAAE,MAAM,CAAC;YACb,mBAAmB;IAcjC,OAAO,CAAC,oBAAoB;IA0B5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAqCG;IACS,QAAQ,EAAE,eAAe,CAAC;IACtC;;;OAGG;IACS,SAAS,EAAE,aAAa,EAAE,CAAa;IACnD;;;;;;OAMG;IACS,UAAU,EAAE,WAAW,CAAC;IAEpC,OAAO,CAAC,MAAM,CAAqB;IAC1B,OAAO,CAAC,OAAO,CAAW;IACnC;;;OAGG;IACS,IAAI,EAAE,GAAG,CAAM;IAE3B;;OAEG;IACS,UAAU,EAAE,OAAO,CAAC;IAChC;;OAEG;IACS,SAAS,EAAE,OAAO,CAAC;IAEJ,QAAQ,EAAE,OAAO,CAAC;IACe,UAAU,EAAE,OAAO,CAAC;IAEhF;;OAEG;IACG,OAAO;IA2Bb,IAAc,cAAc,YAM3B;IAED;;OAEG;IACM,SAAS,IAAI,IAAI;IAW1B;;OAEG;IACH,UAAU,CAAC,KAAK,EAAE,WAAW;IAI7B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,WAAW;IAQ3B,oBAAoB;IAKpB;;;OAGG;IACH,KAAK,CAAC,SAAS,UAAO;CAMvB"}
@@ -1,5 +1,6 @@
1
1
  export declare const NUMBER_CONTROL_RANK = 3;
2
2
  export declare const BOOLEAN_CONTROL_RANK = 3;
3
+ export declare const ARRAY_CONTROL_RANK = 3;
3
4
  export declare const MULTISELECT_CONTROL_RANK = 4;
4
5
  export declare const ENUM_CONTROL_RANK = 3;
5
6
  export declare const SELECT_CONTROL_RANK = 4;
@@ -1 +1 @@
1
- {"version":3,"file":"RenderersRanks.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/RenderersRanks.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,sBAAsB,IAAI,CAAC"}
1
+ {"version":3,"file":"RenderersRanks.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/RenderersRanks.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,oBAAoB,IAAI,CAAC;AACtC,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,WAAW,IAAI,CAAC;AAC7B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,0BAA0B,IAAI,CAAC;AAC5C,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,sBAAsB,IAAI,CAAC;AACxC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AACrC,eAAO,MAAM,sBAAsB,IAAI,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { RendererEntry } from '../../types';
2
+ import { DispatchRenderer } from './dispatch-renderer';
3
+ export declare const getStringArrayControlRendererTemplate: (prefix?: string) => import("@microsoft/fast-element").ViewTemplate<DispatchRenderer, any>;
4
+ export declare const StringArrayEntry: RendererEntry;
5
+ //# sourceMappingURL=StringArrayControlRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringArrayControlRenderer.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/renderers/StringArrayControlRenderer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAWvD,eAAO,MAAM,qCAAqC,YACxC,MAAM,0EAqBf,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,aAM9B,CAAC"}
@@ -0,0 +1,4 @@
1
+ type ArrayItemsType = 'string' | 'object';
2
+ export declare const isArray: (itemsType: ArrayItemsType) => import("@jsonforms/core").Tester;
3
+ export {};
4
+ //# sourceMappingURL=isArray.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isArray.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/testers/isArray.ts"],"names":[],"mappings":"AAEA,KAAK,cAAc,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAI1C,eAAO,MAAM,OAAO,cAAe,cAAc,qCAM9C,CAAC"}
package/dist/esm/form.js CHANGED
@@ -21,6 +21,7 @@ import { LayoutRendererEntry } from './jsonforms/renderers/LayoutRenderer';
21
21
  import { LayoutStepperRendererEntry } from './jsonforms/renderers/LayoutStepperRenderer';
22
22
  import { LayoutVertical2ColumnsEntry } from './jsonforms/renderers/LayoutVertical2ColumnsRenderer';
23
23
  import { NumberControlRendererEntry } from './jsonforms/renderers/NumberControlRenderer';
24
+ import { StringArrayEntry } from './jsonforms/renderers/StringArrayControlRenderer';
24
25
  import { StringControlRendererTemplate } from './jsonforms/renderers/StringControlRenderer';
25
26
  import { logger } from './utils';
26
27
  const stringEntry = {
@@ -38,6 +39,7 @@ export const renderers = [
38
39
  fallbackEntry,
39
40
  stringEntry,
40
41
  BooleanControlEntry,
42
+ StringArrayEntry,
41
43
  LayoutArrayRendererEntry,
42
44
  LayoutCategorizationRendererEntry,
43
45
  LayoutGroupRendererEntry,
@@ -1,6 +1,6 @@
1
1
  import { mapDispatchToArrayControlProps, mapStateToArrayLayoutProps, rankWith, } from '@jsonforms/core';
2
2
  import { html } from '@microsoft/fast-element';
3
- import { isLayoutArray } from '../testers/isLayoutArray';
3
+ import { isArray } from '../testers/isArray';
4
4
  import { LAYOUT_ARRAY_RANK } from './RenderersRanks';
5
5
  export const LayoutArrayRendererTemplate = html `
6
6
  <template>
@@ -15,7 +15,7 @@ export const LayoutArrayRendererTemplate = html `
15
15
  `;
16
16
  export const LayoutArrayRendererEntry = {
17
17
  renderer: LayoutArrayRendererTemplate,
18
- tester: rankWith(LAYOUT_ARRAY_RANK, isLayoutArray),
18
+ tester: rankWith(LAYOUT_ARRAY_RANK, isArray('object')),
19
19
  mapper: mapStateToArrayLayoutProps,
20
20
  dispatchMapper: mapDispatchToArrayControlProps,
21
21
  };
@@ -1,5 +1,6 @@
1
1
  export const NUMBER_CONTROL_RANK = 3;
2
2
  export const BOOLEAN_CONTROL_RANK = 3;
3
+ export const ARRAY_CONTROL_RANK = 3;
3
4
  export const MULTISELECT_CONTROL_RANK = 4;
4
5
  export const ENUM_CONTROL_RANK = 3;
5
6
  export const SELECT_CONTROL_RANK = 4;
@@ -0,0 +1,36 @@
1
+ import { mapStateToControlProps, rankWith } from '@jsonforms/core';
2
+ import { html } from '@microsoft/fast-element';
3
+ import { isArray } from '../testers/isArray';
4
+ import { ARRAY_CONTROL_RANK } from './RenderersRanks';
5
+ function changeHandler(x, c) {
6
+ const inputValue = c.event.target.value;
7
+ x.control.handleChange(x.control.path, inputValue === '' ? null : inputValue.split(',').map((item) => item.trimStart()));
8
+ }
9
+ export const getStringArrayControlRendererTemplate = (prefix = 'zero') => html `
10
+ <template>
11
+ <control-wrapper
12
+ :control=${(x) => x.control}
13
+ :touched=${(x) => x.touched}
14
+ ?submitted=${(x) => x.submitted}
15
+ >
16
+ <${prefix}-text-field
17
+ :value=${(x) => { var _a; return ((_a = x.control.data) === null || _a === void 0 ? void 0 : _a.toString()) || ''; }}
18
+ @change=${changeHandler}
19
+ placeholder=${(x) => x.control.uischema.placeholder || x.control.label}
20
+ id=${(x) => x.control.path}
21
+ data-test-id=${(x) => x.control.path}
22
+ ?required=${(x) => x.control.required}
23
+ ?disabled=${(x) => !x.control.enabled}
24
+ style="width: 100%"
25
+ @blur=${(x) => x.onBlur()}
26
+ ></${prefix}-text-area>
27
+ </control-wrapper>
28
+ </template>
29
+ `;
30
+ export const StringArrayEntry = {
31
+ renderer: html `
32
+ ${(x) => getStringArrayControlRendererTemplate(x.prefix)}
33
+ `,
34
+ tester: rankWith(ARRAY_CONTROL_RANK, isArray('string')),
35
+ mapper: mapStateToControlProps,
36
+ };
@@ -0,0 +1,5 @@
1
+ import { hasType, schemaMatches } from '@jsonforms/core';
2
+ const isArrayWithItemsOfType = (type) => (s) => hasType(s, 'array') && s.hasOwnProperty('items') && s.items['type'] === type;
3
+ export const isArray = (itemsType) => schemaMatches((schema) => (schema.hasOwnProperty('oneOf') &&
4
+ schema.oneOf.some(isArrayWithItemsOfType(itemsType))) ||
5
+ isArrayWithItemsOfType(itemsType)(schema));
@@ -340,7 +340,44 @@ declare const Form_base: (new (...args: any[]) => {
340
340
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
341
341
  accessKey: string;
342
342
  readonly accessKeyLabel: string;
343
- autocapitalize: string;
343
+ autocapitalize: string; /**
344
+ * UI schema used to define configuration of the layout and elements in the form
345
+ * Check {@link UiSchemaElement} for possible options
346
+ *
347
+ * @remarks
348
+ * If not provided will be autogenerated based on json schema or initial data
349
+ *
350
+ * @example
351
+ * Here's a simple example:
352
+ * ```
353
+ * const sampleUISchema = {
354
+ * type: 'VerticalLayout',
355
+ * elements: [
356
+ * {
357
+ * type: 'Control',
358
+ * scope: '#/properties/QUANTITY',
359
+ * label: 'Quantity',
360
+ * },
361
+ * {
362
+ * type: 'Control',
363
+ * scope: '#/properties/INSTRUMENT_ID',
364
+ * options: {
365
+ * allOptionsResourceName: 'INSTRUMENT',
366
+ * valueField: 'INSTRUMENT_ID',
367
+ * labelField: 'INSTRUMENT_ID',
368
+ * },
369
+ * label: 'Instrument',
370
+ * },
371
+ * {
372
+ * type: 'Control',
373
+ * scope: '#/properties/SIDE',
374
+ * label: 'Side',
375
+ * },
376
+ * ],
377
+ * };
378
+ * ```
379
+ * @public
380
+ */
344
381
  dir: string;
345
382
  draggable: boolean;
346
383
  hidden: boolean;
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.162.5",
4
+ "version": "14.163.0",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -40,22 +40,22 @@
40
40
  "test:debug": "genx test --debug"
41
41
  },
42
42
  "devDependencies": {
43
- "@genesislcap/foundation-testing": "14.162.5",
44
- "@genesislcap/genx": "14.162.5",
45
- "@genesislcap/rollup-builder": "14.162.5",
46
- "@genesislcap/ts-builder": "14.162.5",
47
- "@genesislcap/uvu-playwright-builder": "14.162.5",
48
- "@genesislcap/vite-builder": "14.162.5",
49
- "@genesislcap/webpack-builder": "14.162.5",
43
+ "@genesislcap/foundation-testing": "14.163.0",
44
+ "@genesislcap/genx": "14.163.0",
45
+ "@genesislcap/rollup-builder": "14.163.0",
46
+ "@genesislcap/ts-builder": "14.163.0",
47
+ "@genesislcap/uvu-playwright-builder": "14.163.0",
48
+ "@genesislcap/vite-builder": "14.163.0",
49
+ "@genesislcap/webpack-builder": "14.163.0",
50
50
  "@types/json-schema": "^7.0.11",
51
51
  "rimraf": "^3.0.2"
52
52
  },
53
53
  "dependencies": {
54
- "@genesislcap/foundation-comms": "14.162.5",
55
- "@genesislcap/foundation-criteria": "14.162.5",
56
- "@genesislcap/foundation-logger": "14.162.5",
57
- "@genesislcap/foundation-ui": "14.162.5",
58
- "@genesislcap/foundation-utils": "14.162.5",
54
+ "@genesislcap/foundation-comms": "14.163.0",
55
+ "@genesislcap/foundation-criteria": "14.163.0",
56
+ "@genesislcap/foundation-logger": "14.163.0",
57
+ "@genesislcap/foundation-ui": "14.163.0",
58
+ "@genesislcap/foundation-utils": "14.163.0",
59
59
  "@json-schema-tools/dereferencer": "^1.6.1",
60
60
  "@jsonforms/core": "^3.2.1",
61
61
  "@microsoft/fast-components": "^2.30.6",
@@ -76,5 +76,5 @@
76
76
  "access": "public"
77
77
  },
78
78
  "customElements": "dist/custom-elements.json",
79
- "gitHead": "47733285b6e2d7988941967021ea4a48e9613aba"
79
+ "gitHead": "e141f8ae65838f2eb2f88f47da9d738566c2eda7"
80
80
  }
@@ -1,2 +0,0 @@
1
- export declare const isLayoutArray: import("@jsonforms/core").Tester;
2
- //# sourceMappingURL=isLayoutArray.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isLayoutArray.d.ts","sourceRoot":"","sources":["../../../../src/jsonforms/testers/isLayoutArray.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,aAAa,kCAIzB,CAAC"}
@@ -1,4 +0,0 @@
1
- import { hasType, schemaMatches } from '@jsonforms/core';
2
- const isArrayWithItems = (s) => hasType(s, 'array') && s.hasOwnProperty('items') && s.items['type'] == 'object';
3
- export const isLayoutArray = schemaMatches((schema) => (schema.hasOwnProperty('oneOf') && schema.oneOf.some(isArrayWithItems)) ||
4
- isArrayWithItems(schema));