@jsonforms/core 3.0.0-beta.5 → 3.0.0-rc.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 (71) hide show
  1. package/docs/assets/js/search.json +1 -1
  2. package/docs/globals.html +206 -101
  3. package/docs/index.html +21 -3
  4. package/docs/interfaces/arraycontrolprops.html +21 -21
  5. package/docs/interfaces/arraylayoutprops.html +21 -21
  6. package/docs/interfaces/categorization.html +1 -1
  7. package/docs/interfaces/category.html +1 -1
  8. package/docs/interfaces/cellprops.html +12 -12
  9. package/docs/interfaces/combinatorrendererprops.html +18 -18
  10. package/docs/interfaces/controlelement.html +2 -2
  11. package/docs/interfaces/controlprops.html +16 -16
  12. package/docs/interfaces/controlstate.html +2 -2
  13. package/docs/interfaces/controlwithdetailprops.html +17 -17
  14. package/docs/interfaces/dispatchcellprops.html +10 -10
  15. package/docs/interfaces/dispatchcellstateprops.html +10 -10
  16. package/docs/interfaces/dispatchpropsofarraycontrol.html +4 -4
  17. package/docs/interfaces/dispatchpropsofcontrol.html +1 -1
  18. package/docs/interfaces/dispatchpropsofmultienumcontrol.html +2 -2
  19. package/docs/interfaces/enumcellprops.html +13 -13
  20. package/docs/interfaces/enumoption.html +2 -2
  21. package/docs/interfaces/grouplayout.html +2 -2
  22. package/docs/interfaces/internationalizable.html +3 -0
  23. package/docs/interfaces/jsonformsprops.html +24 -9
  24. package/docs/interfaces/{lableable.html → labelable.html} +7 -7
  25. package/docs/interfaces/labeled.html +2 -2
  26. package/docs/interfaces/labelelement.html +18 -0
  27. package/docs/interfaces/labelprops.html +339 -0
  28. package/docs/interfaces/layoutprops.html +25 -10
  29. package/docs/interfaces/ownpropsofcell.html +9 -9
  30. package/docs/interfaces/ownpropsofcontrol.html +9 -9
  31. package/docs/interfaces/ownpropsofenum.html +1 -1
  32. package/docs/interfaces/ownpropsofenumcell.html +10 -10
  33. package/docs/interfaces/ownpropsofjsonformsrenderer.html +8 -8
  34. package/docs/interfaces/ownpropsoflabel.html +286 -0
  35. package/docs/interfaces/ownpropsoflayout.html +9 -9
  36. package/docs/interfaces/ownpropsofmasterlistitem.html +6 -6
  37. package/docs/interfaces/ownpropsofrenderer.html +11 -8
  38. package/docs/interfaces/rendererprops.html +9 -9
  39. package/docs/interfaces/statepropsofarraycontrol.html +17 -17
  40. package/docs/interfaces/statepropsofarraylayout.html +17 -17
  41. package/docs/interfaces/statepropsofcell.html +11 -11
  42. package/docs/interfaces/statepropsofcombinator.html +17 -17
  43. package/docs/interfaces/statepropsofcontrol.html +15 -15
  44. package/docs/interfaces/statepropsofcontrolwithdetail.html +16 -16
  45. package/docs/interfaces/statepropsofenumcell.html +12 -12
  46. package/docs/interfaces/statepropsofjsonformsrenderer.html +23 -9
  47. package/docs/interfaces/statepropsoflabel.html +343 -0
  48. package/docs/interfaces/statepropsoflayout.html +24 -10
  49. package/docs/interfaces/statepropsofmasteritem.html +7 -7
  50. package/docs/interfaces/statepropsofrenderer.html +12 -9
  51. package/docs/interfaces/statepropsofscopedrenderer.html +12 -12
  52. package/docs/interfaces/testercontext.html +184 -0
  53. package/docs/interfaces/withclassname.html +1 -1
  54. package/lib/i18n/i18nUtil.d.ts +9 -4
  55. package/lib/jsonforms-core.cjs.js +61 -32
  56. package/lib/jsonforms-core.cjs.js.map +1 -1
  57. package/lib/jsonforms-core.esm.js +59 -33
  58. package/lib/jsonforms-core.esm.js.map +1 -1
  59. package/lib/models/uischema.d.ts +7 -7
  60. package/lib/reducers/i18n.d.ts +1 -1
  61. package/lib/testers/testers.d.ts +15 -6
  62. package/lib/util/renderer.d.ts +18 -1
  63. package/package.json +2 -2
  64. package/src/i18n/i18nUtil.ts +24 -7
  65. package/src/models/uischema.ts +8 -8
  66. package/src/reducers/i18n.ts +1 -1
  67. package/src/testers/testers.ts +33 -23
  68. package/src/util/renderer.ts +52 -25
  69. package/stats.html +1 -1
  70. package/test/testers.test.ts +40 -23
  71. package/test/util/renderer.test.ts +105 -7
@@ -125,7 +125,7 @@
125
125
  <aside class="tsd-sources">
126
126
  <p>Inherited from <a href="statepropsofrenderer.html">StatePropsOfRenderer</a>.<a href="statepropsofrenderer.html#cells">cells</a></p>
127
127
  <ul>
128
- <li>Defined in packages/core/src/util/renderer.ts:313</li>
128
+ <li>Defined in packages/core/src/util/renderer.ts:316</li>
129
129
  </ul>
130
130
  </aside>
131
131
  <div class="tsd-comment tsd-typography">
@@ -141,7 +141,7 @@
141
141
  <aside class="tsd-sources">
142
142
  <p>Inherited from <a href="statepropsofrenderer.html">StatePropsOfRenderer</a>.<a href="statepropsofrenderer.html#config">config</a></p>
143
143
  <ul>
144
- <li>Defined in packages/core/src/util/renderer.ts:273</li>
144
+ <li>Defined in packages/core/src/util/renderer.ts:276</li>
145
145
  </ul>
146
146
  </aside>
147
147
  <div class="tsd-comment tsd-typography">
@@ -157,7 +157,7 @@
157
157
  <aside class="tsd-sources">
158
158
  <p>Overrides <a href="statepropsofrenderer.html">StatePropsOfRenderer</a>.<a href="statepropsofrenderer.html#data">data</a></p>
159
159
  <ul>
160
- <li>Defined in packages/core/src/util/renderer.ts:331</li>
160
+ <li>Defined in packages/core/src/util/renderer.ts:334</li>
161
161
  </ul>
162
162
  </aside>
163
163
  <div class="tsd-comment tsd-typography">
@@ -173,7 +173,7 @@
173
173
  <aside class="tsd-sources">
174
174
  <p>Inherited from <a href="statepropsofrenderer.html">StatePropsOfRenderer</a>.<a href="statepropsofrenderer.html#enabled">enabled</a></p>
175
175
  <ul>
176
- <li>Defined in packages/core/src/util/renderer.ts:293</li>
176
+ <li>Defined in packages/core/src/util/renderer.ts:296</li>
177
177
  </ul>
178
178
  </aside>
179
179
  <div class="tsd-comment tsd-typography">
@@ -188,7 +188,7 @@
188
188
  <div class="tsd-signature tsd-kind-icon">errors<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
189
189
  <aside class="tsd-sources">
190
190
  <ul>
191
- <li>Defined in packages/core/src/util/renderer.ts:326</li>
191
+ <li>Defined in packages/core/src/util/renderer.ts:329</li>
192
192
  </ul>
193
193
  </aside>
194
194
  <div class="tsd-comment tsd-typography">
@@ -203,7 +203,7 @@
203
203
  <div class="tsd-signature tsd-kind-icon">id<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
204
204
  <aside class="tsd-sources">
205
205
  <ul>
206
- <li>Defined in packages/core/src/util/renderer.ts:341</li>
206
+ <li>Defined in packages/core/src/util/renderer.ts:344</li>
207
207
  </ul>
208
208
  </aside>
209
209
  <div class="tsd-comment tsd-typography">
@@ -219,7 +219,7 @@
219
219
  <aside class="tsd-sources">
220
220
  <p>Inherited from <a href="statepropsofrenderer.html">StatePropsOfRenderer</a>.<a href="statepropsofrenderer.html#path">path</a></p>
221
221
  <ul>
222
- <li>Defined in packages/core/src/util/renderer.ts:302</li>
222
+ <li>Defined in packages/core/src/util/renderer.ts:305</li>
223
223
  </ul>
224
224
  </aside>
225
225
  <div class="tsd-comment tsd-typography">
@@ -235,7 +235,7 @@
235
235
  <aside class="tsd-sources">
236
236
  <p>Inherited from <a href="statepropsofrenderer.html">StatePropsOfRenderer</a>.<a href="statepropsofrenderer.html#renderers">renderers</a></p>
237
237
  <ul>
238
- <li>Defined in packages/core/src/util/renderer.ts:307</li>
238
+ <li>Defined in packages/core/src/util/renderer.ts:310</li>
239
239
  </ul>
240
240
  </aside>
241
241
  <div class="tsd-comment tsd-typography">
@@ -250,7 +250,7 @@
250
250
  <div class="tsd-signature tsd-kind-icon">root<wbr>Schema<span class="tsd-signature-symbol">:</span> <a href="../globals.html#jsonschema" class="tsd-signature-type">JsonSchema</a></div>
251
251
  <aside class="tsd-sources">
252
252
  <ul>
253
- <li>Defined in packages/core/src/util/renderer.ts:336</li>
253
+ <li>Defined in packages/core/src/util/renderer.ts:339</li>
254
254
  </ul>
255
255
  </aside>
256
256
  <div class="tsd-comment tsd-typography">
@@ -266,7 +266,7 @@
266
266
  <aside class="tsd-sources">
267
267
  <p>Inherited from <a href="statepropsofrenderer.html">StatePropsOfRenderer</a>.<a href="statepropsofrenderer.html#schema">schema</a></p>
268
268
  <ul>
269
- <li>Defined in packages/core/src/util/renderer.ts:283</li>
269
+ <li>Defined in packages/core/src/util/renderer.ts:286</li>
270
270
  </ul>
271
271
  </aside>
272
272
  <div class="tsd-comment tsd-typography">
@@ -282,7 +282,7 @@
282
282
  <aside class="tsd-sources">
283
283
  <p>Overrides <a href="statepropsofrenderer.html">StatePropsOfRenderer</a>.<a href="statepropsofrenderer.html#uischema">uischema</a></p>
284
284
  <ul>
285
- <li>Defined in packages/core/src/util/renderer.ts:321</li>
285
+ <li>Defined in packages/core/src/util/renderer.ts:324</li>
286
286
  </ul>
287
287
  </aside>
288
288
  </section>
@@ -293,7 +293,7 @@
293
293
  <aside class="tsd-sources">
294
294
  <p>Inherited from <a href="statepropsofrenderer.html">StatePropsOfRenderer</a>.<a href="statepropsofrenderer.html#visible">visible</a></p>
295
295
  <ul>
296
- <li>Defined in packages/core/src/util/renderer.ts:297</li>
296
+ <li>Defined in packages/core/src/util/renderer.ts:300</li>
297
297
  </ul>
298
298
  </aside>
299
299
  <div class="tsd-comment tsd-typography">
@@ -0,0 +1,184 @@
1
+ <!doctype html>
2
+ <html class="default no-js">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
6
+ <title>TesterContext | JSON Forms Core</title>
7
+ <meta name="description" content="Documentation for JSON Forms Core">
8
+ <meta name="viewport" content="width=device-width, initial-scale=1">
9
+ <link rel="stylesheet" href="../assets/css/main.css">
10
+ </head>
11
+ <body>
12
+ <header>
13
+ <div class="tsd-page-toolbar">
14
+ <div class="container">
15
+ <div class="table-wrap">
16
+ <div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
17
+ <div class="field">
18
+ <label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
19
+ <input id="tsd-search-field" type="text" />
20
+ </div>
21
+ <ul class="results">
22
+ <li class="state loading">Preparing search index...</li>
23
+ <li class="state failure">The search index is not available</li>
24
+ </ul>
25
+ <a href="../index.html" class="title">JSON Forms Core</a>
26
+ </div>
27
+ <div class="table-cell" id="tsd-widgets">
28
+ <div id="tsd-filter">
29
+ <a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
30
+ <div class="tsd-filter-group">
31
+ <div class="tsd-select" id="tsd-filter-visibility">
32
+ <span class="tsd-select-label">All</span>
33
+ <ul class="tsd-select-list">
34
+ <li data-value="public">Public</li>
35
+ <li data-value="protected">Public/Protected</li>
36
+ <li data-value="private" class="selected">All</li>
37
+ </ul>
38
+ </div>
39
+ <input type="checkbox" id="tsd-filter-inherited" checked />
40
+ <label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
41
+ <input type="checkbox" id="tsd-filter-only-exported" />
42
+ <label class="tsd-widget" for="tsd-filter-only-exported">Only exported</label>
43
+ </div>
44
+ </div>
45
+ <a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <div class="tsd-page-title">
51
+ <div class="container">
52
+ <ul class="tsd-breadcrumb">
53
+ <li>
54
+ <a href="../globals.html">Globals</a>
55
+ </li>
56
+ <li>
57
+ <a href="testercontext.html">TesterContext</a>
58
+ </li>
59
+ </ul>
60
+ <h1>Interface TesterContext</h1>
61
+ </div>
62
+ </div>
63
+ </header>
64
+ <div class="container container-main">
65
+ <div class="row">
66
+ <div class="col-8 col-content">
67
+ <section class="tsd-panel tsd-comment">
68
+ <div class="tsd-comment tsd-typography">
69
+ <div class="lead">
70
+ <p>Additional context given to a tester in addition to UISchema and JsonSchema.</p>
71
+ </div>
72
+ </div>
73
+ </section>
74
+ <section class="tsd-panel tsd-hierarchy">
75
+ <h3>Hierarchy</h3>
76
+ <ul class="tsd-hierarchy">
77
+ <li>
78
+ <span class="target">TesterContext</span>
79
+ </li>
80
+ </ul>
81
+ </section>
82
+ <section class="tsd-panel-group tsd-index-group">
83
+ <h2>Index</h2>
84
+ <section class="tsd-panel tsd-index-panel">
85
+ <div class="tsd-index-content">
86
+ <section class="tsd-index-section ">
87
+ <h3>Properties</h3>
88
+ <ul class="tsd-index-list">
89
+ <li class="tsd-kind-property tsd-parent-kind-interface"><a href="testercontext.html#config" class="tsd-kind-icon">config</a></li>
90
+ <li class="tsd-kind-property tsd-parent-kind-interface"><a href="testercontext.html#rootschema" class="tsd-kind-icon">root<wbr>Schema</a></li>
91
+ </ul>
92
+ </section>
93
+ </div>
94
+ </section>
95
+ </section>
96
+ <section class="tsd-panel-group tsd-member-group ">
97
+ <h2>Properties</h2>
98
+ <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
99
+ <a name="config" class="tsd-anchor"></a>
100
+ <h3>config</h3>
101
+ <div class="tsd-signature tsd-kind-icon">config<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">any</span></div>
102
+ <aside class="tsd-sources">
103
+ <ul>
104
+ <li>Defined in packages/core/src/testers/testers.ts:70</li>
105
+ </ul>
106
+ </aside>
107
+ <div class="tsd-comment tsd-typography">
108
+ <div class="lead">
109
+ <p>The form wide configuration object given to JsonForms.</p>
110
+ </div>
111
+ </div>
112
+ </section>
113
+ <section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-interface">
114
+ <a name="rootschema" class="tsd-anchor"></a>
115
+ <h3>root<wbr>Schema</h3>
116
+ <div class="tsd-signature tsd-kind-icon">root<wbr>Schema<span class="tsd-signature-symbol">:</span> <a href="../globals.html#jsonschema" class="tsd-signature-type">JsonSchema</a></div>
117
+ <aside class="tsd-sources">
118
+ <ul>
119
+ <li>Defined in packages/core/src/testers/testers.ts:68</li>
120
+ </ul>
121
+ </aside>
122
+ <div class="tsd-comment tsd-typography">
123
+ <div class="lead">
124
+ <p>The root JsonSchema of the form. Can be used to resolve references.</p>
125
+ </div>
126
+ </div>
127
+ </section>
128
+ </section>
129
+ </div>
130
+ <div class="col-4 col-menu menu-sticky-wrap menu-highlight">
131
+ <nav class="tsd-navigation primary">
132
+ <ul>
133
+ <li class="globals ">
134
+ <a href="../globals.html"><em>Globals</em></a>
135
+ </li>
136
+ </ul>
137
+ </nav>
138
+ <nav class="tsd-navigation secondary menu-sticky">
139
+ <ul class="before-current">
140
+ </ul>
141
+ <ul class="current">
142
+ <li class="current tsd-kind-interface">
143
+ <a href="testercontext.html" class="tsd-kind-icon">Tester<wbr>Context</a>
144
+ <ul>
145
+ <li class=" tsd-kind-property tsd-parent-kind-interface">
146
+ <a href="testercontext.html#config" class="tsd-kind-icon">config</a>
147
+ </li>
148
+ <li class=" tsd-kind-property tsd-parent-kind-interface">
149
+ <a href="testercontext.html#rootschema" class="tsd-kind-icon">root<wbr>Schema</a>
150
+ </li>
151
+ </ul>
152
+ </li>
153
+ </ul>
154
+ <ul class="after-current">
155
+ </ul>
156
+ </nav>
157
+ </div>
158
+ </div>
159
+ </div>
160
+ <footer class="with-border-bottom">
161
+ <div class="container">
162
+ <h2>Legend</h2>
163
+ <div class="tsd-legend-group">
164
+ <ul class="tsd-legend">
165
+ <li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
166
+ <li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
167
+ </ul>
168
+ <ul class="tsd-legend">
169
+ <li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
170
+ <li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
171
+ </ul>
172
+ <ul class="tsd-legend">
173
+ <li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
174
+ </ul>
175
+ </div>
176
+ </div>
177
+ </footer>
178
+ <div class="container tsd-generator">
179
+ <p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
180
+ </div>
181
+ <div class="overlay"></div>
182
+ <script src="../assets/js/main.js"></script>
183
+ </body>
184
+ </html>
@@ -93,7 +93,7 @@
93
93
  <div class="tsd-signature tsd-kind-icon">class<wbr>Name<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">string</span></div>
94
94
  <aside class="tsd-sources">
95
95
  <ul>
96
- <li>Defined in packages/core/src/util/renderer.ts:172</li>
96
+ <li>Defined in packages/core/src/util/renderer.ts:171</li>
97
97
  </ul>
98
98
  </aside>
99
99
  </section>
@@ -1,14 +1,14 @@
1
1
  import { ErrorObject } from 'ajv';
2
- import { UISchemaElement } from '../models';
2
+ import { Labelable, UISchemaElement } from '../models';
3
3
  import { i18nJsonSchema, ErrorTranslator, Translator } from './i18nTypes';
4
- export declare const getI18nKeyPrefixBySchema: (schema: i18nJsonSchema | undefined, uischema: UISchemaElement | undefined) => string | undefined;
4
+ export declare const getI18nKeyPrefixBySchema: (schema: i18nJsonSchema | undefined, uischema: unknown | undefined) => string | undefined;
5
5
  /**
6
6
  * Transforms a given path to a prefix which can be used for i18n keys.
7
7
  * Returns 'root' for empty paths and removes array indices
8
8
  */
9
9
  export declare const transformPathToI18nPrefix: (path: string) => string;
10
- export declare const getI18nKeyPrefix: (schema: i18nJsonSchema | undefined, uischema: UISchemaElement | undefined, path: string | undefined) => string | undefined;
11
- export declare const getI18nKey: (schema: i18nJsonSchema | undefined, uischema: UISchemaElement | undefined, path: string | undefined, key: string) => string | undefined;
10
+ export declare const getI18nKeyPrefix: (schema: i18nJsonSchema | undefined, uischema: unknown | undefined, path: string | undefined) => string;
11
+ export declare const getI18nKey: (schema: i18nJsonSchema | undefined, uischema: unknown | undefined, path: string | undefined, key: string) => string;
12
12
  export declare const defaultTranslator: Translator;
13
13
  export declare const defaultErrorTranslator: ErrorTranslator;
14
14
  /**
@@ -16,3 +16,8 @@ export declare const defaultErrorTranslator: ErrorTranslator;
16
16
  * All errors must correspond to the given schema, uischema or path.
17
17
  */
18
18
  export declare const getCombinedErrorMessage: (errors: ErrorObject[], et: ErrorTranslator, t: Translator, schema?: i18nJsonSchema, uischema?: UISchemaElement, path?: string) => string;
19
+ /**
20
+ * This can be used to internationalize the label of the given Labelable (e.g. UI Schema elements).
21
+ * This should not be used for controls as there we have additional context in the form of the JSON Schema available.
22
+ */
23
+ export declare const deriveLabelForUISchemaElement: (uischema: Labelable<boolean>, t: Translator) => string | undefined;
@@ -347,7 +347,7 @@ var isLabelable = function (obj) {
347
347
  return obj && typeof obj === 'object';
348
348
  };
349
349
  var isLabeled = function (obj) {
350
- return isLabelable(obj) && ['string', 'object'].includes(typeof obj.label);
350
+ return isLabelable(obj) && ['string', 'boolean'].includes(typeof obj.label);
351
351
  };
352
352
 
353
353
  var move = function (array, index, delta) {
@@ -744,6 +744,18 @@ var getCombinedErrorMessage = function (errors, et, t, schema, uischema, path) {
744
744
  }
745
745
  return formatErrorMessage(errors.map(function (error) { return et(error, t, uischema); }));
746
746
  };
747
+ var deriveLabelForUISchemaElement = function (uischema, t) {
748
+ if (uischema.label === false) {
749
+ return undefined;
750
+ }
751
+ if ((uischema.label === undefined || uischema.label === null || uischema.label === true) && !isInternationalized(uischema)) {
752
+ return undefined;
753
+ }
754
+ var stringifiedLabel = typeof uischema.label === 'string' ? uischema.label : JSON.stringify(uischema.label);
755
+ var i18nKeyPrefix = getI18nKeyPrefixBySchema(undefined, uischema);
756
+ var i18nKey = typeof i18nKeyPrefix === 'string' ? i18nKeyPrefix + ".label" : stringifiedLabel;
757
+ return t(i18nKey, stringifiedLabel, { uischema: uischema });
758
+ };
747
759
 
748
760
  var defaultJsonFormsI18nState = {
749
761
  locale: 'en',
@@ -812,7 +824,7 @@ var NOT_APPLICABLE = -1;
812
824
  var isControl = function (uischema) {
813
825
  return !isEmpty__default["default"](uischema) && uischema.scope !== undefined;
814
826
  };
815
- var schemaMatches = function (predicate) { return function (uischema, schema, rootSchema) {
827
+ var schemaMatches = function (predicate) { return function (uischema, schema, context) {
816
828
  if (isEmpty__default["default"](uischema) || !isControl(uischema)) {
817
829
  return false;
818
830
  }
@@ -825,27 +837,27 @@ var schemaMatches = function (predicate) { return function (uischema, schema, ro
825
837
  }
826
838
  var currentDataSchema = schema;
827
839
  if (hasType(schema, 'object')) {
828
- currentDataSchema = resolveSchema(schema, schemaPath, rootSchema);
840
+ currentDataSchema = resolveSchema(schema, schemaPath, context === null || context === void 0 ? void 0 : context.rootSchema);
829
841
  }
830
842
  if (currentDataSchema === undefined) {
831
843
  return false;
832
844
  }
833
- return predicate(currentDataSchema, rootSchema);
845
+ return predicate(currentDataSchema, context === null || context === void 0 ? void 0 : context.rootSchema);
834
846
  }; };
835
- var schemaSubPathMatches = function (subPath, predicate) { return function (uischema, schema, rootSchema) {
847
+ var schemaSubPathMatches = function (subPath, predicate) { return function (uischema, schema, context) {
836
848
  if (isEmpty__default["default"](uischema) || !isControl(uischema)) {
837
849
  return false;
838
850
  }
839
851
  var schemaPath = uischema.scope;
840
852
  var currentDataSchema = schema;
841
853
  if (hasType(schema, 'object')) {
842
- currentDataSchema = resolveSchema(schema, schemaPath, rootSchema);
854
+ currentDataSchema = resolveSchema(schema, schemaPath, context === null || context === void 0 ? void 0 : context.rootSchema);
843
855
  }
844
856
  currentDataSchema = get__default["default"](currentDataSchema, subPath);
845
857
  if (currentDataSchema === undefined) {
846
858
  return false;
847
859
  }
848
- return predicate(currentDataSchema, rootSchema);
860
+ return predicate(currentDataSchema, context === null || context === void 0 ? void 0 : context.rootSchema);
849
861
  }; };
850
862
  var schemaTypeIs = function (expectedType) {
851
863
  return schemaMatches(function (schema) { return !isEmpty__default["default"](schema) && hasType(schema, expectedType); });
@@ -883,23 +895,23 @@ var and = function () {
883
895
  for (var _i = 0; _i < arguments.length; _i++) {
884
896
  testers[_i] = arguments[_i];
885
897
  }
886
- return function (uischema, schema, rootSchema) { return testers.reduce(function (acc, tester) { return acc && tester(uischema, schema, rootSchema); }, true); };
898
+ return function (uischema, schema, context) { return testers.reduce(function (acc, tester) { return acc && tester(uischema, schema, context); }, true); };
887
899
  };
888
900
  var or = function () {
889
901
  var testers = [];
890
902
  for (var _i = 0; _i < arguments.length; _i++) {
891
903
  testers[_i] = arguments[_i];
892
904
  }
893
- return function (uischema, schema, rootSchema) { return testers.reduce(function (acc, tester) { return acc || tester(uischema, schema, rootSchema); }, false); };
905
+ return function (uischema, schema, context) { return testers.reduce(function (acc, tester) { return acc || tester(uischema, schema, context); }, false); };
894
906
  };
895
- var rankWith = function (rank, tester) { return function (uischema, schema, rootSchema) {
896
- if (tester(uischema, schema, rootSchema)) {
907
+ var rankWith = function (rank, tester) { return function (uischema, schema, context) {
908
+ if (tester(uischema, schema, context)) {
897
909
  return rank;
898
910
  }
899
911
  return NOT_APPLICABLE;
900
912
  }; };
901
- var withIncreasedRank = function (by, rankedTester) { return function (uischema, schema, rootSchema) {
902
- var rank = rankedTester(uischema, schema, rootSchema);
913
+ var withIncreasedRank = function (by, rankedTester) { return function (uischema, schema, context) {
914
+ var rank = rankedTester(uischema, schema, context);
903
915
  if (rank === NOT_APPLICABLE) {
904
916
  return NOT_APPLICABLE;
905
917
  }
@@ -952,12 +964,13 @@ var traverse = function (any, pred, rootSchema) {
952
964
  }
953
965
  return false;
954
966
  };
955
- var isObjectArrayWithNesting = function (uischema, schema, rootSchema) {
956
- if (!uiTypeIs('Control')(uischema, schema, rootSchema)) {
967
+ var isObjectArrayWithNesting = function (uischema, schema, context) {
968
+ var _a;
969
+ if (!uiTypeIs('Control')(uischema, schema, context)) {
957
970
  return false;
958
971
  }
959
972
  var schemaPath = uischema.scope;
960
- var resolvedSchema = resolveSchema(schema, schemaPath, rootSchema !== null && rootSchema !== void 0 ? rootSchema : schema);
973
+ var resolvedSchema = resolveSchema(schema, schemaPath, (_a = context === null || context === void 0 ? void 0 : context.rootSchema) !== null && _a !== void 0 ? _a : schema);
961
974
  var objectDepth = 0;
962
975
  if (resolvedSchema !== undefined && resolvedSchema.items !== undefined) {
963
976
  if (traverse(resolvedSchema.items, function (val) {
@@ -977,7 +990,7 @@ var isObjectArrayWithNesting = function (uischema, schema, rootSchema) {
977
990
  return true;
978
991
  }
979
992
  return false;
980
- }, rootSchema)) {
993
+ }, context === null || context === void 0 ? void 0 : context.rootSchema)) {
981
994
  return true;
982
995
  }
983
996
  if (uischema.options && uischema.options.detail) {
@@ -1026,7 +1039,7 @@ var hasCategory = function (categorization) {
1026
1039
  var categorizationHasCategory = function (uischema) {
1027
1040
  return hasCategory(uischema);
1028
1041
  };
1029
- var not = function (tester) { return function (uischema, schema, rootSchema) { return !tester(uischema, schema, rootSchema); }; };
1042
+ var not = function (tester) { return function (uischema, schema, context) { return !tester(uischema, schema, context); }; };
1030
1043
 
1031
1044
  var index$1 = /*#__PURE__*/Object.freeze({
1032
1045
  __proto__: null,
@@ -1766,26 +1779,22 @@ var mapStateToLayoutProps = function (state, ownProps) {
1766
1779
  var config = getConfig(state);
1767
1780
  var enabled = isInherentlyEnabled(state, ownProps, uischema, undefined,
1768
1781
  rootData, config);
1782
+ var t = getTranslator()(state);
1783
+ var label = isLabelable(uischema) ? deriveLabelForUISchemaElement(uischema, t) : undefined;
1769
1784
  return __assign(__assign({}, layoutDefaultProps), { renderers: ownProps.renderers || getRenderers(state), cells: ownProps.cells || getCells(state), visible: visible,
1770
- enabled: enabled, path: ownProps.path, data: data, uischema: ownProps.uischema, schema: ownProps.schema, direction: (_a = ownProps.direction) !== null && _a !== void 0 ? _a : getDirection(uischema), config: config });
1785
+ enabled: enabled, path: ownProps.path, data: data, uischema: ownProps.uischema, schema: ownProps.schema, direction: (_a = ownProps.direction) !== null && _a !== void 0 ? _a : getDirection(uischema), config: config,
1786
+ label: label });
1771
1787
  };
1772
1788
  var mapStateToJsonFormsRendererProps = function (state, ownProps) {
1773
- var uischema = ownProps.uischema;
1774
- if (uischema === undefined) {
1775
- if (ownProps.schema) {
1776
- uischema = findUISchema(state.jsonforms.uischemas, ownProps.schema, undefined, ownProps.path, undefined, undefined, state.jsonforms.core.schema);
1777
- }
1778
- else {
1779
- uischema = getUiSchema(state);
1780
- }
1781
- }
1782
1789
  return {
1783
- renderers: ownProps.renderers || get__default["default"](state.jsonforms, 'renderers') || [],
1784
- cells: ownProps.cells || get__default["default"](state.jsonforms, 'cells') || [],
1790
+ renderers: ownProps.renderers || get__default["default"](state.jsonforms, 'renderers'),
1791
+ cells: ownProps.cells || get__default["default"](state.jsonforms, 'cells'),
1785
1792
  schema: ownProps.schema || getSchema(state),
1786
1793
  rootSchema: getSchema(state),
1787
- uischema: uischema,
1788
- path: ownProps.path
1794
+ uischema: ownProps.uischema || getUiSchema(state),
1795
+ path: ownProps.path,
1796
+ enabled: ownProps.enabled,
1797
+ config: getConfig(state)
1789
1798
  };
1790
1799
  };
1791
1800
  var controlDefaultProps = __assign(__assign({}, layoutDefaultProps), { errors: [] });
@@ -1841,6 +1850,24 @@ var mapStateToArrayLayoutProps = function (state, ownProps) {
1841
1850
  return __assign(__assign({}, props), { path: path,
1842
1851
  uischema: uischema, schema: resolvedSchema, data: props.data ? props.data.length : 0, errors: allErrors, minItems: schema.minItems });
1843
1852
  };
1853
+ var mapStateToLabelProps = function (state, props) {
1854
+ var uischema = props.uischema;
1855
+ var visible = props.visible === undefined || hasShowRule(uischema)
1856
+ ? isVisible(props.uischema, getData(state), props.path, getAjv(state))
1857
+ : props.visible;
1858
+ var text = uischema.text;
1859
+ var t = getTranslator()(state);
1860
+ var i18nKeyPrefix = getI18nKeyPrefixBySchema(undefined, uischema);
1861
+ var i18nKey = i18nKeyPrefix ? i18nKeyPrefix + ".text" : text !== null && text !== void 0 ? text : '';
1862
+ var i18nText = t(i18nKey, text, { uischema: uischema });
1863
+ return {
1864
+ text: i18nText,
1865
+ visible: visible,
1866
+ config: getConfig(state),
1867
+ renderers: props.renderers || getRenderers(state),
1868
+ cells: props.cells || getCells(state),
1869
+ };
1870
+ };
1844
1871
 
1845
1872
  var mapStateToCellProps = function (state, ownProps) {
1846
1873
  var id = ownProps.id, schema = ownProps.schema, path = ownProps.path, uischema = ownProps.uischema, renderers = ownProps.renderers, cells = ownProps.cells;
@@ -2328,6 +2355,7 @@ exports.defaultJsonFormsI18nState = defaultJsonFormsI18nState;
2328
2355
  exports.defaultMapDispatchToControlProps = defaultMapDispatchToControlProps;
2329
2356
  exports.defaultMapStateToEnumCellProps = defaultMapStateToEnumCellProps;
2330
2357
  exports.defaultTranslator = defaultTranslator;
2358
+ exports.deriveLabelForUISchemaElement = deriveLabelForUISchemaElement;
2331
2359
  exports.deriveTypes = deriveTypes;
2332
2360
  exports.encode = encode;
2333
2361
  exports.enumToEnumOptionMapper = enumToEnumOptionMapper;
@@ -2429,6 +2457,7 @@ exports.mapStateToControlWithDetailProps = mapStateToControlWithDetailProps;
2429
2457
  exports.mapStateToDispatchCellProps = mapStateToDispatchCellProps;
2430
2458
  exports.mapStateToEnumControlProps = mapStateToEnumControlProps;
2431
2459
  exports.mapStateToJsonFormsRendererProps = mapStateToJsonFormsRendererProps;
2460
+ exports.mapStateToLabelProps = mapStateToLabelProps;
2432
2461
  exports.mapStateToLayoutProps = mapStateToLayoutProps;
2433
2462
  exports.mapStateToMasterListItemProps = mapStateToMasterListItemProps;
2434
2463
  exports.mapStateToMultiEnumControlProps = mapStateToMultiEnumControlProps;