@genesislcap/foundation-forms 14.427.2-alpha-e0ffaad.0 → 14.428.1-alpha-035cbdd.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 (88) hide show
  1. package/dist/custom-elements.json +428 -346
  2. package/dist/dts/filters/filters.template.d.ts.map +1 -1
  3. package/dist/dts/form.d.ts +10 -4
  4. package/dist/dts/form.d.ts.map +1 -1
  5. package/dist/dts/form.styles.d.ts.map +1 -1
  6. package/dist/dts/form.template.d.ts.map +1 -1
  7. package/dist/dts/index.d.ts +0 -2
  8. package/dist/dts/index.d.ts.map +1 -1
  9. package/dist/dts/jsonforms/json-forms.d.ts.map +1 -1
  10. package/dist/dts/jsonforms/renderers/ArrayListWrapperRenderer.d.ts.map +1 -1
  11. package/dist/dts/jsonforms/renderers/BooleanControlRenderer.d.ts.map +1 -1
  12. package/dist/dts/jsonforms/renderers/CategorizationWrapperRenderer.d.ts.map +1 -1
  13. package/dist/dts/jsonforms/renderers/ConnectedMultiselectControlRenderer.d.ts.map +1 -1
  14. package/dist/dts/jsonforms/renderers/ConnectedSelectControlRenderer.d.ts.map +1 -1
  15. package/dist/dts/jsonforms/renderers/ControlWrapperRenderer.d.ts +11 -31
  16. package/dist/dts/jsonforms/renderers/ControlWrapperRenderer.d.ts.map +1 -1
  17. package/dist/dts/jsonforms/renderers/DateControlRenderer.d.ts +1 -2
  18. package/dist/dts/jsonforms/renderers/DateControlRenderer.d.ts.map +1 -1
  19. package/dist/dts/jsonforms/renderers/EnumControlRenderer.d.ts +1 -2
  20. package/dist/dts/jsonforms/renderers/EnumControlRenderer.d.ts.map +1 -1
  21. package/dist/dts/jsonforms/renderers/EnumRadioGroupControlRenderer.d.ts.map +1 -1
  22. package/dist/dts/jsonforms/renderers/FilterDateControlRenderer.d.ts +1 -2
  23. package/dist/dts/jsonforms/renderers/FilterDateControlRenderer.d.ts.map +1 -1
  24. package/dist/dts/jsonforms/renderers/FilterNumberControlRenderer.d.ts +1 -2
  25. package/dist/dts/jsonforms/renderers/FilterNumberControlRenderer.d.ts.map +1 -1
  26. package/dist/dts/jsonforms/renderers/FilterTimeControlRenderer.d.ts +1 -2
  27. package/dist/dts/jsonforms/renderers/FilterTimeControlRenderer.d.ts.map +1 -1
  28. package/dist/dts/jsonforms/renderers/LayoutArrayRenderer.d.ts +1 -2
  29. package/dist/dts/jsonforms/renderers/LayoutArrayRenderer.d.ts.map +1 -1
  30. package/dist/dts/jsonforms/renderers/LayoutFormGridRenderer.d.ts +1 -2
  31. package/dist/dts/jsonforms/renderers/LayoutFormGridRenderer.d.ts.map +1 -1
  32. package/dist/dts/jsonforms/renderers/LayoutGroupRenderer.d.ts +1 -2
  33. package/dist/dts/jsonforms/renderers/LayoutGroupRenderer.d.ts.map +1 -1
  34. package/dist/dts/jsonforms/renderers/LayoutHorizontalRenderer.d.ts +1 -2
  35. package/dist/dts/jsonforms/renderers/LayoutHorizontalRenderer.d.ts.map +1 -1
  36. package/dist/dts/jsonforms/renderers/LayoutRenderer.d.ts +5 -21
  37. package/dist/dts/jsonforms/renderers/LayoutRenderer.d.ts.map +1 -1
  38. package/dist/dts/jsonforms/renderers/LayoutVertical2ColumnsRenderer.d.ts +1 -2
  39. package/dist/dts/jsonforms/renderers/LayoutVertical2ColumnsRenderer.d.ts.map +1 -1
  40. package/dist/dts/jsonforms/renderers/MulticolumnDropdownControlRenderer.d.ts.map +1 -1
  41. package/dist/dts/jsonforms/renderers/NumberControlRenderer.d.ts +1 -2
  42. package/dist/dts/jsonforms/renderers/NumberControlRenderer.d.ts.map +1 -1
  43. package/dist/dts/jsonforms/renderers/SegmentedControlRenderer.d.ts.map +1 -1
  44. package/dist/dts/jsonforms/renderers/StepperWrapperRenderer.d.ts.map +1 -1
  45. package/dist/dts/jsonforms/renderers/StringArrayControlRenderer.d.ts.map +1 -1
  46. package/dist/dts/jsonforms/renderers/StringControlRenderer.d.ts.map +1 -1
  47. package/dist/dts/jsonforms/renderers/VerticalCategorizationWrapperRenderer.d.ts.map +1 -1
  48. package/dist/dts/jsonforms/renderers/dispatch-renderer.d.ts.map +1 -1
  49. package/dist/dts/react.d.ts +20 -0
  50. package/dist/dts/types.d.ts +0 -12
  51. package/dist/dts/types.d.ts.map +1 -1
  52. package/dist/esm/filters/filters.template.js +2 -1
  53. package/dist/esm/form.js +1 -2
  54. package/dist/esm/form.styles.js +40 -14
  55. package/dist/esm/form.template.js +2 -1
  56. package/dist/esm/index.js +0 -2
  57. package/dist/esm/jsonforms/json-forms.js +1 -27
  58. package/dist/esm/jsonforms/renderers/ArrayListWrapperRenderer.js +46 -48
  59. package/dist/esm/jsonforms/renderers/BooleanControlRenderer.js +20 -19
  60. package/dist/esm/jsonforms/renderers/CategorizationWrapperRenderer.js +4 -9
  61. package/dist/esm/jsonforms/renderers/ConnectedMultiselectControlRenderer.js +40 -38
  62. package/dist/esm/jsonforms/renderers/ConnectedSelectControlRenderer.js +39 -39
  63. package/dist/esm/jsonforms/renderers/ControlWrapperRenderer.js +131 -102
  64. package/dist/esm/jsonforms/renderers/DateControlRenderer.js +43 -41
  65. package/dist/esm/jsonforms/renderers/EnumControlRenderer.js +27 -27
  66. package/dist/esm/jsonforms/renderers/EnumRadioGroupControlRenderer.js +32 -30
  67. package/dist/esm/jsonforms/renderers/FilterDateControlRenderer.js +77 -81
  68. package/dist/esm/jsonforms/renderers/FilterNumberControlRenderer.js +51 -54
  69. package/dist/esm/jsonforms/renderers/FilterTimeControlRenderer.js +69 -69
  70. package/dist/esm/jsonforms/renderers/LayoutArrayRenderer.js +8 -7
  71. package/dist/esm/jsonforms/renderers/LayoutFormGridRenderer.js +26 -27
  72. package/dist/esm/jsonforms/renderers/LayoutGroupRenderer.js +32 -36
  73. package/dist/esm/jsonforms/renderers/LayoutHorizontalRenderer.js +26 -27
  74. package/dist/esm/jsonforms/renderers/LayoutRenderer.js +44 -36
  75. package/dist/esm/jsonforms/renderers/LayoutVertical2ColumnsRenderer.js +17 -18
  76. package/dist/esm/jsonforms/renderers/MulticolumnDropdownControlRenderer.js +41 -39
  77. package/dist/esm/jsonforms/renderers/NumberControlRenderer.js +30 -30
  78. package/dist/esm/jsonforms/renderers/SegmentedControlRenderer.js +27 -25
  79. package/dist/esm/jsonforms/renderers/StepperWrapperRenderer.js +1 -2
  80. package/dist/esm/jsonforms/renderers/StringArrayControlRenderer.js +20 -18
  81. package/dist/esm/jsonforms/renderers/StringControlRenderer.js +42 -41
  82. package/dist/esm/jsonforms/renderers/VerticalCategorizationWrapperRenderer.js +9 -13
  83. package/dist/esm/jsonforms/renderers/dispatch-renderer.js +0 -1
  84. package/dist/foundation-forms.api.json +2 -114
  85. package/dist/foundation-forms.d.ts +10 -69
  86. package/dist/react.cjs +14 -0
  87. package/dist/react.mjs +12 -0
  88. package/package.json +15 -15
@@ -1,36 +1,35 @@
1
1
  import { mapStateToLayoutProps, rankWith } from '@jsonforms/core';
2
2
  import { html, repeat } from '@microsoft/fast-element';
3
- import { layoutWrapperTemplate } from './LayoutRenderer';
3
+ import { LayoutWrapper } from './LayoutRenderer';
4
4
  import { LAYOUT_HORIZONTAL_RANK } from './RenderersRanks';
5
+ LayoutWrapper;
5
6
  export const LayoutHorizontalRendererTemplate = html `
6
7
  <template>
7
- ${layoutWrapperTemplate({
8
- innerTemplate: html `
9
- <div
10
- style="
11
- display: flex;
12
- flex-direction: row;
13
- gap: 10px"
14
- >
15
- ${repeat((x) => x.control.uischema.elements, html `
16
- <dispatch-renderer
17
- style="flex: 1; min-width: 0"
18
- ?submitted=${(x, ctx) => ctx.parent.submitted}
19
- :dispatch=${(x, ctx) => ctx.parent.dispatch}
20
- :jsonforms=${(x, ctx) => ctx.parent.jsonforms}
21
- :prefix=${(x, ctx) => ctx.parent.prefix}
22
- :props=${(x, ctx) => ({
23
- uischema: x,
24
- schema: ctx.parent.control.schema,
25
- renderers: ctx.parent.control.renderers,
26
- path: ctx.parent.control.path,
27
- enabled: ctx.parent.control.enabled,
28
- })}
29
- ></dispatch-renderer>
30
- `)}
31
- </div>
32
- `,
8
+ <layout-wrapper :control=${(x) => x.control}>
9
+ <div
10
+ style="
11
+ display: flex;
12
+ flex-direction: row;
13
+ gap: 10px"
14
+ >
15
+ ${repeat((x) => x.control.uischema.elements, html `
16
+ <dispatch-renderer
17
+ style="flex: 1; min-width: 0"
18
+ ?submitted=${(x, ctx) => ctx.parent.submitted}
19
+ :dispatch=${(x, ctx) => ctx.parent.dispatch}
20
+ :jsonforms=${(x, ctx) => ctx.parent.jsonforms}
21
+ :prefix=${(x, ctx) => ctx.parent.prefix}
22
+ :props=${(x, ctx) => ({
23
+ uischema: x,
24
+ schema: ctx.parent.control.schema,
25
+ renderers: ctx.parent.control.renderers,
26
+ path: ctx.parent.control.path,
27
+ enabled: ctx.parent.control.enabled,
33
28
  })}
29
+ ></dispatch-renderer>
30
+ `)}
31
+ </div>
32
+ </layout-wrapper>
34
33
  </template>
35
34
  `;
36
35
  export const LayoutHorizontalEntry = {
@@ -1,46 +1,54 @@
1
+ import { __decorate } from "tslib";
1
2
  import { isLayout, mapStateToLayoutProps, rankWith } from '@jsonforms/core';
2
- import { html, repeat, when } from '@microsoft/fast-element';
3
+ import { attr, customElement, FASTElement, html, observable, repeat, when, } from '@microsoft/fast-element';
3
4
  import { LAYOUT_RANK } from './RenderersRanks';
4
- /**
5
- * Light-DOM-friendly layout wrapper that replaces the former `<layout-wrapper>`
6
- * custom element. Renders the (optional) control label and, when the control is
7
- * visible, composes the provided inner template inline so that bindings stay on
8
- * the `DispatchRenderer` source.
9
- *
10
- * @public
11
- */
12
- export const layoutWrapperTemplate = (options) => {
13
- const { innerTemplate, hideLabel = false } = options;
14
- return html `
15
- ${when((x) => { var _a; return !!((_a = x.control) === null || _a === void 0 ? void 0 : _a.label) && !hideLabel; }, html `
5
+ let LayoutWrapper = class LayoutWrapper extends FASTElement {
6
+ constructor() {
7
+ super(...arguments);
8
+ this.hideLabel = false;
9
+ }
10
+ };
11
+ __decorate([
12
+ observable
13
+ ], LayoutWrapper.prototype, "control", void 0);
14
+ __decorate([
15
+ attr({ mode: 'boolean', attribute: 'hide-label' })
16
+ ], LayoutWrapper.prototype, "hideLabel", void 0);
17
+ LayoutWrapper = __decorate([
18
+ customElement({
19
+ name: 'layout-wrapper',
20
+ template: html `
21
+ ${when((x) => x.control.label && !x.hideLabel, html `
16
22
  <div style="color: var(--neutral-foreground-hint);">${(x) => x.control.label}</div>
17
23
  `)}
18
- ${when((x) => { var _a; return (_a = x.control) === null || _a === void 0 ? void 0 : _a.visible; }, innerTemplate)}
19
- `;
20
- };
24
+ ${when((x) => { var _a; return (_a = x.control) === null || _a === void 0 ? void 0 : _a.visible; }, html `
25
+ <slot></slot>
26
+ `)}
27
+ `,
28
+ })
29
+ ], LayoutWrapper);
30
+ export { LayoutWrapper };
21
31
  export const LayoutRendererTemplate = html `
22
32
  <template>
23
- ${layoutWrapperTemplate({
24
- innerTemplate: html `
25
- <div>
26
- ${repeat((x) => x.control.uischema.elements, html `
27
- <dispatch-renderer
28
- ?submitted=${(x, ctx) => ctx.parent.submitted}
29
- :dispatch=${(x, ctx) => ctx.parent.dispatch}
30
- :jsonforms=${(x, ctx) => ctx.parent.jsonforms}
31
- :prefix=${(x, ctx) => ctx.parent.prefix}
32
- :props=${(x, ctx) => ({
33
- uischema: x,
34
- schema: ctx.parent.control.schema,
35
- renderers: ctx.parent.control.renderers,
36
- path: ctx.parent.control.path,
37
- enabled: ctx.parent.control.enabled,
38
- })}
39
- ></dispatch-renderer>
40
- `)}
41
- </div>
42
- `,
33
+ <layout-wrapper :control=${(x) => x.control}>
34
+ <div>
35
+ ${repeat((x) => x.control.uischema.elements, html `
36
+ <dispatch-renderer
37
+ ?submitted=${(x, ctx) => ctx.parent.submitted}
38
+ :dispatch=${(x, ctx) => ctx.parent.dispatch}
39
+ :jsonforms=${(x, ctx) => ctx.parent.jsonforms}
40
+ :prefix=${(x, ctx) => ctx.parent.prefix}
41
+ :props=${(x, ctx) => ({
42
+ uischema: x,
43
+ schema: ctx.parent.control.schema,
44
+ renderers: ctx.parent.control.renderers,
45
+ path: ctx.parent.control.path,
46
+ enabled: ctx.parent.control.enabled,
43
47
  })}
48
+ ></dispatch-renderer>
49
+ `)}
50
+ </div>
51
+ </layout-wrapper>
44
52
  </template>
45
53
  `;
46
54
  export const LayoutRendererEntry = {
@@ -1,17 +1,17 @@
1
1
  import { mapStateToLayoutProps, rankWith } from '@jsonforms/core';
2
2
  import { html, repeat } from '@microsoft/fast-element';
3
- import { layoutWrapperTemplate } from './LayoutRenderer';
3
+ import { LayoutWrapper } from './LayoutRenderer';
4
4
  import { LAYOUT2COLUMNS_RANK } from './RenderersRanks';
5
+ LayoutWrapper;
5
6
  export const LayoutVertical2ColumnsRendererTemplate = html `
6
7
  <template>
7
- ${layoutWrapperTemplate({
8
- innerTemplate: html `
9
- <div
10
- style="
11
- display: flex;
12
- flex-direction: row;
13
- flex-wrap: wrap;
14
- justify-content: space-between;"
8
+ <layout-wrapper :control=${(x) => x.control}>
9
+ <div
10
+ style="
11
+ display: flex;
12
+ flex-direction: row;
13
+ flex-wrap: wrap;
14
+ justify-content: space-between;"
15
15
  >
16
16
  ${repeat((x) => x.control.uischema.elements, html `
17
17
  <div style="width: 49%">
@@ -21,18 +21,17 @@ export const LayoutVertical2ColumnsRendererTemplate = html `
21
21
  :jsonforms=${(x, ctx) => ctx.parent.jsonforms}
22
22
  :prefix=${(x, ctx) => ctx.parent.prefix}
23
23
  :props=${(x, ctx) => ({
24
- uischema: x,
25
- schema: ctx.parent.control.schema,
26
- renderers: ctx.parent.control.renderers,
27
- path: ctx.parent.control.path,
28
- enabled: ctx.parent.control.enabled,
29
- })}
24
+ uischema: x,
25
+ schema: ctx.parent.control.schema,
26
+ renderers: ctx.parent.control.renderers,
27
+ path: ctx.parent.control.path,
28
+ enabled: ctx.parent.control.enabled,
29
+ })}
30
30
  ></dispatch-renderer>
31
31
  </div>
32
- `)}
33
32
  </div>
34
- `,
35
- })}
33
+ `)}
34
+ </layout-wrapper>
36
35
  </template>
37
36
  `;
38
37
  export const LayoutVertical2ColumnsEntry = {
@@ -1,7 +1,6 @@
1
1
  import { mapStateToControlProps, rankWith } from '@jsonforms/core';
2
2
  import { html } from '@microsoft/fast-element';
3
3
  import { optionIs } from '../testers/optionIs';
4
- import { controlWrapperTemplate } from './ControlWrapperRenderer';
5
4
  import { MULTICOLUMN_DROPDOWN_CONTROL_RANK } from './RenderersRanks';
6
5
  const getOptions = (x) => x.control.uischema.options;
7
6
  /**
@@ -33,44 +32,47 @@ const getOptions = (x) => x.control.uischema.options;
33
32
  * ```
34
33
  */
35
34
  export const MulticolumnDropdownControlRendererTemplate = (prefix = 'zero') => html `
36
- <template>
37
- ${controlWrapperTemplate({
38
- prefix,
39
- innerTemplate: html `
40
- <${prefix}-multicolumn-dropdown
41
- style="width: 100%;"
42
- resource-name=${(x) => getOptions(x).allOptionsResourceName}
43
- value-key=${(x) => getOptions(x).valueField}
44
- label-key=${(x) => getOptions(x).labelField}
45
- ?disabled=${(x) => !x.control.enabled}
46
- ?dropdown-above=${(x) => { var _a, _b; return (_b = (_a = getOptions(x).dropdownPlacement) === null || _a === void 0 ? void 0 : _a.startsWith('top')) !== null && _b !== void 0 ? _b : false; }}
47
- ?dropdown-left=${(x) => { var _a, _b; return (_b = (_a = getOptions(x).dropdownPlacement) === null || _a === void 0 ? void 0 : _a.endsWith('left')) !== null && _b !== void 0 ? _b : false; }}
48
- ?advanced-search-req=${(x) => !!getOptions(x).advancedSearchReq}
49
- :searchKey=${(x) => getOptions(x).searchKey}
50
- :request=${(x) => getOptions(x).request}
51
- :columnDefinitions=${(x) => getOptions(x).columnDefinitions}
52
- :baseCriteria=${(x) => getOptions(x).baseCriteria}
53
- :dropdownWidth=${(x) => getOptions(x).dropdownWidth}
54
- :value=${(x) => x.control.data}
55
- id=${(x) => x.control.path}
56
- data-test-id=${(x) => x.control.path}
57
- @change=${(x, c) => {
58
- var _a, _b;
59
- const value = (_a = c.event.detail) !== null && _a !== void 0 ? _a : null;
60
- // Guard against the feedback loop caused by the :value binding.
61
- // MulticolumnDropdown's set value() always calls emitValue() (even when set
62
- // programmatically), which fires a 'change' event that would otherwise trigger
63
- // handleChange form re-render :value re-bind set value() loop.
64
- if (value !== ((_b = x.control.data) !== null && _b !== void 0 ? _b : null)) {
65
- x.control.handleChange(x.control.path, value);
66
- x.onBlur();
67
- }
68
- }}
69
- ></${prefix}-multicolumn-dropdown>
70
- `,
71
- })}
72
- </template>
73
- `;
35
+ <template>
36
+ <control-wrapper
37
+ :control=${(x) => x.control}
38
+ :jsonForms=${(x) => x.jsonforms}
39
+ :touched=${(x) => x.touched}
40
+ ?submitted=${(x) => x.submitted}
41
+ prefix="${prefix}"
42
+ >
43
+ <${prefix}-multicolumn-dropdown
44
+ style="width: 100%;"
45
+ resource-name=${(x) => getOptions(x).allOptionsResourceName}
46
+ value-key=${(x) => getOptions(x).valueField}
47
+ label-key=${(x) => getOptions(x).labelField}
48
+ ?disabled=${(x) => !x.control.enabled}
49
+ ?dropdown-above=${(x) => { var _a, _b; return (_b = (_a = getOptions(x).dropdownPlacement) === null || _a === void 0 ? void 0 : _a.startsWith('top')) !== null && _b !== void 0 ? _b : false; }}
50
+ ?dropdown-left=${(x) => { var _a, _b; return (_b = (_a = getOptions(x).dropdownPlacement) === null || _a === void 0 ? void 0 : _a.endsWith('left')) !== null && _b !== void 0 ? _b : false; }}
51
+ ?advanced-search-req=${(x) => !!getOptions(x).advancedSearchReq}
52
+ :searchKey=${(x) => getOptions(x).searchKey}
53
+ :request=${(x) => getOptions(x).request}
54
+ :columnDefinitions=${(x) => getOptions(x).columnDefinitions}
55
+ :baseCriteria=${(x) => getOptions(x).baseCriteria}
56
+ :dropdownWidth=${(x) => getOptions(x).dropdownWidth}
57
+ :value=${(x) => x.control.data}
58
+ id=${(x) => x.control.path}
59
+ data-test-id=${(x) => x.control.path}
60
+ @change=${(x, c) => {
61
+ var _a, _b;
62
+ const value = (_a = c.event.detail) !== null && _a !== void 0 ? _a : null;
63
+ // Guard against the feedback loop caused by the :value binding.
64
+ // MulticolumnDropdown's set value() always calls emitValue() (even when set
65
+ // programmatically), which fires a 'change' event that would otherwise trigger
66
+ // handleChange → form re-render → :value re-bind → set value() → loop.
67
+ if (value !== ((_b = x.control.data) !== null && _b !== void 0 ? _b : null)) {
68
+ x.control.handleChange(x.control.path, value);
69
+ x.onBlur();
70
+ }
71
+ }}
72
+ ></${prefix}-multicolumn-dropdown>
73
+ </control-wrapper>
74
+ </template>
75
+ `;
74
76
  /** @beta */
75
77
  export const MulticolumnDropdownControlRendererEntry = {
76
78
  renderer: html `
@@ -1,44 +1,44 @@
1
1
  import { mapStateToControlProps, rankWith } from '@jsonforms/core';
2
2
  import { html } from '@microsoft/fast-element';
3
3
  import { isOneOfNumber } from '../testers/isOneOfNumber';
4
- import { controlWrapperTemplate } from './ControlWrapperRenderer';
5
4
  import { NUMBER_CONTROL_RANK } from './RenderersRanks';
6
5
  const DEFAULT_MAXIMUM_FRACTION_DIGITS = 3;
7
6
  const defaultOptions = {
8
7
  maximumFractionDigits: DEFAULT_MAXIMUM_FRACTION_DIGITS,
9
8
  minimumFractionDigits: 0,
10
9
  };
11
- function handleNumberChange(x, c) {
12
- const value = parseFloat(c.event.target.value);
13
- return x.control.handleChange(x.control.path, !isNaN(value) ? value : undefined);
14
- }
15
10
  export const NumberControlRendererTemplate = (prefix = 'zero') => html `
16
11
  <template>
17
- ${controlWrapperTemplate({
18
- prefix,
19
- innerTemplate: html `
20
- <${prefix}-number-field
21
- withFormatting=${(x) => { var _a; return (((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.withoutFormatting) ? false : true); }}
22
- :options=${(x) => { var _a; return ((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.formatOptions) || defaultOptions; }}
23
- autocomplete=${(x) => { var _a; return ((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.autocomplete) || 'off'; }}
24
- prefix=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.prefix; }}
25
- suffix=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.suffix; }}
26
- ?hide-affix-from-screen-reader=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.hideAffixFromScreenReader; }}
27
- :value=${(x) => (x.control.data === undefined ? '' : String(x.control.data))}
28
- tabindex="${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.tabIndex; }}"
29
- @change=${handleNumberChange}
30
- @input=${(x, c) => { var _a; return (((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.changeOnInput) ? handleNumberChange(x, c) : () => { }); }}
31
- placeholder=${(x) => x.control.uischema.placeholder || x.control.label}
32
- id=${(x) => x.control.path}
33
- data-test-id=${(x) => x.control.path}
34
- ?required=${(x) => x.control.required}
35
- ?disabled=${(x) => !x.control.enabled}
36
- hideStep
37
- @blur=${(x) => x.onBlur()}
38
- style="width: 100%"
39
- ></${prefix}-number-field>
40
- `,
41
- })}
12
+ <control-wrapper
13
+ :control=${(x) => x.control}
14
+ :jsonForms=${(x) => x.jsonforms}
15
+ :touched=${(x) => x.touched}
16
+ ?submitted=${(x) => x.submitted}
17
+ prefix="${prefix}"
18
+ >
19
+ <${prefix}-number-field
20
+ withFormatting=${(x) => { var _a; return (((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.withoutFormatting) ? false : true); }}
21
+ :options=${(x) => { var _a; return ((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.formatOptions) || defaultOptions; }}
22
+ autocomplete=${(x) => { var _a; return ((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.autocomplete) || 'off'; }}
23
+ prefix=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.prefix; }}
24
+ suffix=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.suffix; }}
25
+ ?hide-affix-from-screen-reader=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.hideAffixFromScreenReader; }}
26
+ :value=${(x) => (x.control.data === undefined ? '' : String(x.control.data))}
27
+ tabindex="${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.tabIndex; }}"
28
+ @change=${(x, c) => {
29
+ const value = parseFloat(c.event.target.value);
30
+ return x.control.handleChange(x.control.path, !isNaN(value) ? value : undefined);
31
+ }}
32
+ placeholder=${(x) => x.control.uischema.placeholder || x.control.label}
33
+ id=${(x) => x.control.path}
34
+ data-test-id=${(x) => x.control.path}
35
+ ?required=${(x) => x.control.required}
36
+ ?disabled=${(x) => !x.control.enabled}
37
+ hideStep
38
+ @blur=${(x) => x.onBlur()}
39
+ style="width: 100%"
40
+ ></${prefix}-number-field>
41
+ </control-wrapper>
42
42
  </template>
43
43
  `;
44
44
  export const NumberControlRendererEntry = {
@@ -1,7 +1,6 @@
1
1
  import { mapStateToControlProps, rankWith } from '@jsonforms/core';
2
2
  import { html, repeat } from '@microsoft/fast-element';
3
3
  import { optionIs } from '../testers/optionIs';
4
- import { controlWrapperTemplate } from './ControlWrapperRenderer';
5
4
  import { SEGMENTED_CONTROL_RANK } from './RenderersRanks';
6
5
  export const SegmentedControlRendererTemplate = (prefix = 'zero') => html `
7
6
  <template>
@@ -20,30 +19,33 @@ export const SegmentedControlRendererTemplate = (prefix = 'zero') => html `
20
19
  background: var(--segmented-item-selected-bg);
21
20
  }
22
21
  </style>
23
- ${controlWrapperTemplate({
24
- prefix,
25
- innerTemplate: html `
26
- <${prefix}-segmented-control
27
- value=${(x) => { var _a; return (_a = x.control.data) !== null && _a !== void 0 ? _a : ''; }}
28
- ?disabled=${(x) => !x.control.enabled}
29
- id=${(x) => x.control.path}
30
- data-test-id=${(x) => x.control.path}
31
- @change=${(x, c) => {
32
- x.control.handleChange(x.control.path, c.event.target.value);
33
- x.onBlur();
34
- }}
35
- >
36
- ${repeat((x) => { var _a, _b, _c; return (_c = (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.data) !== null && _c !== void 0 ? _c : []; }, html `
37
- <${prefix}-segmented-item
38
- value=${(x) => x.value}
39
- style=${(x) => { var _a; return `--segmented-item-selected-bg: ${(_a = x.color) !== null && _a !== void 0 ? _a : 'var(--neutral-fill-rest)'}`; }}
40
- >
41
- ${(x) => x.label}
42
- </${prefix}-segmented-item>
43
- `)}
44
- </${prefix}-segmented-control>
45
- `,
46
- })}
22
+ <control-wrapper
23
+ :control=${(x) => x.control}
24
+ :jsonForms=${(x) => x.jsonforms}
25
+ :touched=${(x) => x.touched}
26
+ ?submitted=${(x) => x.submitted}
27
+ prefix="${prefix}"
28
+ >
29
+ <${prefix}-segmented-control
30
+ value=${(x) => { var _a; return (_a = x.control.data) !== null && _a !== void 0 ? _a : ''; }}
31
+ ?disabled=${(x) => !x.control.enabled}
32
+ id=${(x) => x.control.path}
33
+ data-test-id=${(x) => x.control.path}
34
+ @change=${(x, c) => {
35
+ x.control.handleChange(x.control.path, c.event.target.value);
36
+ x.onBlur();
37
+ }}
38
+ >
39
+ ${repeat((x) => { var _a, _b, _c; return (_c = (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.data) !== null && _c !== void 0 ? _c : []; }, html `
40
+ <${prefix}-segmented-item
41
+ value=${(x) => x.value}
42
+ style=${(x) => { var _a; return `--segmented-item-selected-bg: ${(_a = x.color) !== null && _a !== void 0 ? _a : 'var(--neutral-fill-rest)'}`; }}
43
+ >
44
+ ${(x) => x.label}
45
+ </${prefix}-segmented-item>
46
+ `)}
47
+ </${prefix}-segmented-control>
48
+ </control-wrapper>
47
49
  </template>
48
50
  `;
49
51
  export const SegmentedControlRendererEntry = {
@@ -42,7 +42,7 @@ export const StepperWrapperRendererTemplate = (prefix = 'zero') => html `
42
42
  </template>
43
43
  `;
44
44
  const styles = css `
45
- stepper-wrapper .tabs-container::part(stepper-panel-container) {
45
+ .tabs-container::part(stepper-panel-container) {
46
46
  display: flex;
47
47
  justify-content: flex-start;
48
48
  align-items: flex-start;
@@ -95,7 +95,6 @@ StepperWrapper = __decorate([
95
95
  customElement({
96
96
  name: 'stepper-wrapper',
97
97
  styles,
98
- shadowOptions: null,
99
98
  template: html `
100
99
  ${(x) => StepperWrapperRendererTemplate(x.form.prefix)}
101
100
  `,
@@ -2,7 +2,6 @@ import { mapStateToControlProps } from '@jsonforms/core';
2
2
  import { rankWith } from '@jsonforms/core';
3
3
  import { html } from '@microsoft/fast-element';
4
4
  import { isArray } from '../testers/isArray';
5
- import { controlWrapperTemplate } from './ControlWrapperRenderer';
6
5
  import { ARRAY_CONTROL_RANK } from './RenderersRanks';
7
6
  function changeHandler(x, c) {
8
7
  const inputValue = c.event.target.value;
@@ -20,23 +19,26 @@ const setValue = (dispatchRenderer) => {
20
19
  };
21
20
  export const getStringArrayControlRendererTemplate = (prefix = 'zero') => html `
22
21
  <template>
23
- ${controlWrapperTemplate({
24
- prefix,
25
- innerTemplate: html `
26
- <${prefix}-text-field
27
- :value=${(x) => setValue(x)}
28
- tabindex="${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.tabIndex; }}"
29
- @change=${changeHandler}
30
- placeholder=${(x) => x.control.uischema.placeholder || x.control.label}
31
- id=${(x) => x.control.path}
32
- data-test-id=${(x) => x.control.path}
33
- ?required=${(x) => x.control.required}
34
- ?disabled=${(x) => !x.control.enabled}
35
- style="width: 100%"
36
- @blur=${(x) => x.onBlur()}
37
- ></${prefix}-text-area>
38
- `,
39
- })}
22
+ <control-wrapper
23
+ :control=${(x) => x.control}
24
+ :jsonForms=${(x) => x.jsonforms}
25
+ :touched=${(x) => x.touched}
26
+ ?submitted=${(x) => x.submitted}
27
+ prefix="${prefix}"
28
+ >
29
+ <${prefix}-text-field
30
+ :value=${(x) => setValue(x)}
31
+ tabindex="${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.tabIndex; }}"
32
+ @change=${changeHandler}
33
+ placeholder=${(x) => x.control.uischema.placeholder || x.control.label}
34
+ id=${(x) => x.control.path}
35
+ data-test-id=${(x) => x.control.path}
36
+ ?required=${(x) => x.control.required}
37
+ ?disabled=${(x) => !x.control.enabled}
38
+ style="width: 100%"
39
+ @blur=${(x) => x.onBlur()}
40
+ ></${prefix}-text-area>
41
+ </control-wrapper>
40
42
  </template>
41
43
  `;
42
44
  export const StringArrayEntry = {
@@ -1,6 +1,6 @@
1
1
  import { whenElse } from '@genesislcap/foundation-utils';
2
2
  import { html } from '@microsoft/fast-element';
3
- import { controlWrapperTemplate } from './ControlWrapperRenderer';
3
+ // <pre>${(x) => JSON.stringify(x.control, null, 2)}</pre>
4
4
  function changeHandler(x, c) {
5
5
  var _a, _b, _c;
6
6
  const inputValue = c.event.target.value;
@@ -22,46 +22,47 @@ function changeHandler(x, c) {
22
22
  }
23
23
  export const getStringControlRendererTemplate = (prefix = 'zero') => html `
24
24
  <template>
25
- ${controlWrapperTemplate({
26
- prefix,
27
- innerTemplate: html `
28
- ${whenElse((x) => { var _a, _b; return !((_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.textarea); }, html `
29
- <${prefix}-text-field
30
- part="text-field"
31
- autocomplete=${(x) => { var _a; return ((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.autocomplete) || 'off'; }}
32
- prefix=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.prefix; }}
33
- suffix=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.suffix; }}
34
- ?hide-affix-from-screen-reader=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.hideAffixFromScreenReader; }}
35
- type=${(x) => { var _a, _b; return (((_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.isPassword) ? 'password' : 'text'); }}
36
- :value=${(x) => x.control.data || ''}
37
- @input=${(x, c) => { var _a; return (((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.changeOnInput) ? changeHandler(x, c) : () => { }); }}
38
- @change=${changeHandler}
39
- placeholder=${(x) => x.control.uischema.placeholder || x.control.label}
40
- id=${(x) => x.control.path}
41
- data-test-id=${(x) => x.control.path}
42
- tabindex="${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.tabIndex; }}"
43
- ?required=${(x) => x.control.required}
44
- ?disabled=${(x) => !x.control.enabled}
45
- style="width: 100%"
46
- @blur=${(x) => x.onBlur()}
47
- ></${prefix}-text-field>`, html `
48
- <${prefix}-text-area
49
- part="text-area"
50
- :value=${(x) => x.control.data || ''}
51
- @input=${(x, c) => { var _a; return (((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.changeOnInput) ? changeHandler(x, c) : () => { }); }}
52
- @change=${changeHandler}
53
- placeholder=${(x) => x.control.uischema.placeholder || x.control.label}
54
- id=${(x) => x.control.path}
55
- data-test-id=${(x) => x.control.path}
56
- ?required=${(x) => x.control.required}
57
- ?disabled=${(x) => !x.control.enabled}
58
- tabindex="${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.tabIndex; }}"
59
- style="width: 100%"
60
- @blur=${(x) => x.onBlur()}
61
- ></${prefix}-text-area>
62
- `)}
63
- `,
64
- })}
25
+ <control-wrapper
26
+ :control=${(x) => x.control}
27
+ :jsonForms=${(x) => x.jsonforms}
28
+ :touched=${(x) => x.touched}
29
+ ?submitted=${(x) => x.submitted}
30
+ prefix="${prefix}"
31
+ >
32
+ ${whenElse((x) => { var _a, _b; return !((_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.textarea); }, html `
33
+ <${prefix}-text-field
34
+ autocomplete=${(x) => { var _a; return ((_a = x.control.uischema.options) === null || _a === void 0 ? void 0 : _a.autocomplete) || 'off'; }}
35
+ prefix=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.prefix; }}
36
+ suffix=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.suffix; }}
37
+ ?hide-affix-from-screen-reader=${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.hideAffixFromScreenReader; }}
38
+ type=${(x) => { var _a, _b; return (((_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.isPassword) ? 'password' : 'text'); }}
39
+ :value=${(x) => x.control.data || ''}
40
+ @input=${changeHandler}
41
+ @change=${changeHandler}
42
+ placeholder=${(x) => x.control.uischema.placeholder || x.control.label}
43
+ id=${(x) => x.control.path}
44
+ data-test-id=${(x) => x.control.path}
45
+ tabindex="${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.tabIndex; }}"
46
+ ?required=${(x) => x.control.required}
47
+ ?disabled=${(x) => !x.control.enabled}
48
+ style="width: 100%"
49
+ @blur=${(x) => x.onBlur()}
50
+ ></${prefix}-text-field>`, html `
51
+ <${prefix}-text-area
52
+ :value=${(x) => x.control.data || ''}
53
+ @input=${changeHandler}
54
+ @change=${changeHandler}
55
+ placeholder=${(x) => x.control.uischema.placeholder || x.control.label}
56
+ id=${(x) => x.control.path}
57
+ data-test-id=${(x) => x.control.path}
58
+ ?required=${(x) => x.control.required}
59
+ ?disabled=${(x) => !x.control.enabled}
60
+ tabindex="${(x) => { var _a, _b; return (_b = (_a = x.control.uischema) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.tabIndex; }}"
61
+ style="width: 100%"
62
+ @blur=${(x) => x.onBlur()}
63
+ ></${prefix}-text-area>
64
+ `)}
65
+ </control-wrapper>
65
66
  </template>
66
67
  `;
67
68
  export const StringControlRendererTemplate = html `