@formio/js 5.4.4-api99.0 → 5.5.1-api99.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 (61) hide show
  1. package/README.md +1 -0
  2. package/dist/formio.embed.js +1 -1
  3. package/dist/formio.embed.min.js +1 -1
  4. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  5. package/dist/formio.form.js +916 -916
  6. package/dist/formio.form.min.js +1 -1
  7. package/dist/formio.form.min.js.LICENSE.txt +2 -2
  8. package/dist/formio.full.js +1209 -1209
  9. package/dist/formio.full.min.js +1 -1
  10. package/dist/formio.full.min.js.LICENSE.txt +2 -2
  11. package/dist/formio.js +824 -824
  12. package/dist/formio.min.js +1 -1
  13. package/dist/formio.min.js.LICENSE.txt +2 -2
  14. package/dist/formio.utils.js +767 -767
  15. package/dist/formio.utils.min.js +1 -1
  16. package/dist/formio.utils.min.js.LICENSE.txt +2 -2
  17. package/lib/cjs/Embed.js +1 -1
  18. package/lib/cjs/Formio.js +1 -1
  19. package/lib/cjs/PDF.js +2 -0
  20. package/lib/cjs/Wizard.js +5 -2
  21. package/lib/cjs/components/_classes/component/Component.d.ts +7 -0
  22. package/lib/cjs/components/_classes/component/Component.js +37 -5
  23. package/lib/cjs/components/_classes/input/Input.js +1 -0
  24. package/lib/cjs/components/address/Address.d.ts +2 -0
  25. package/lib/cjs/components/address/Address.js +21 -16
  26. package/lib/cjs/components/editgrid/EditGrid.js +13 -1
  27. package/lib/cjs/components/form/Form.js +10 -1
  28. package/lib/cjs/components/select/editForm/Select.edit.data.d.ts +67 -109
  29. package/lib/cjs/components/select/editForm/Select.edit.data.js +0 -42
  30. package/lib/cjs/components/textarea/TextArea.js +4 -0
  31. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.d.ts +75 -5
  32. package/lib/cjs/components/textarea/editForm/TextArea.edit.display.js +13 -0
  33. package/lib/cjs/package.json +1 -1
  34. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +1 -1
  35. package/lib/cjs/providers/address/GoogleAddressProvider.js +14 -2
  36. package/lib/cjs/utils/index.d.ts +1 -0
  37. package/lib/cjs/utils/utils.d.ts +7 -0
  38. package/lib/cjs/utils/utils.js +32 -5
  39. package/lib/mjs/Embed.js +1 -1
  40. package/lib/mjs/Formio.js +1 -1
  41. package/lib/mjs/PDF.js +2 -0
  42. package/lib/mjs/Wizard.js +5 -2
  43. package/lib/mjs/components/_classes/component/Component.d.ts +7 -0
  44. package/lib/mjs/components/_classes/component/Component.js +37 -5
  45. package/lib/mjs/components/_classes/input/Input.js +1 -0
  46. package/lib/mjs/components/address/Address.d.ts +2 -0
  47. package/lib/mjs/components/address/Address.js +19 -7
  48. package/lib/mjs/components/editgrid/EditGrid.js +13 -1
  49. package/lib/mjs/components/form/Form.js +10 -1
  50. package/lib/mjs/components/select/editForm/Select.edit.data.d.ts +67 -109
  51. package/lib/mjs/components/select/editForm/Select.edit.data.js +0 -42
  52. package/lib/mjs/components/textarea/TextArea.js +4 -0
  53. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.d.ts +75 -5
  54. package/lib/mjs/components/textarea/editForm/TextArea.edit.display.js +13 -0
  55. package/lib/mjs/package.json +1 -1
  56. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +1 -1
  57. package/lib/mjs/providers/address/GoogleAddressProvider.js +13 -2
  58. package/lib/mjs/utils/index.d.ts +1 -0
  59. package/lib/mjs/utils/utils.d.ts +7 -0
  60. package/lib/mjs/utils/utils.js +29 -3
  61. package/package.json +5 -4
@@ -18,9 +18,9 @@
18
18
  * MIT licensed
19
19
  */
20
20
 
21
- /*! @license DOMPurify 3.4.11 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.11/LICENSE */
21
+ /*! @license DOMPurify 3.4.12 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.12/LICENSE */
22
22
 
23
- /*! formiojs v5.4.4-api99.0 | https://unpkg.com/formiojs@5.4.4-api99.0/LICENSE.txt */
23
+ /*! formiojs v5.5.1-api99.0 | https://unpkg.com/formiojs@5.5.1-api99.0/LICENSE.txt */
24
24
 
25
25
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
26
26
 
package/lib/cjs/Embed.js CHANGED
@@ -500,7 +500,7 @@ Formio.formioReady = new Promise((ready, reject) => {
500
500
  _a._formioReady = ready;
501
501
  _a._formioReadyReject = reject;
502
502
  });
503
- Formio.version = '5.4.4-api99.0';
503
+ Formio.version = '5.5.1-api99.0';
504
504
  // Create a report.
505
505
  Formio.Report = {
506
506
  create: (element, submission, options = {}) => __awaiter(void 0, void 0, void 0, function* () {
package/lib/cjs/Formio.js CHANGED
@@ -11,7 +11,7 @@ const CDN_1 = __importDefault(require("./CDN"));
11
11
  const providers_1 = __importDefault(require("./providers"));
12
12
  sdk_1.Formio.cdn = new CDN_1.default();
13
13
  sdk_1.Formio.Providers = providers_1.default;
14
- sdk_1.Formio.version = '5.4.4-api99.0';
14
+ sdk_1.Formio.version = '5.5.1-api99.0';
15
15
  CDN_1.default.defaultCDN = sdk_1.Formio.version.includes('rc')
16
16
  ? 'https://cdn.test-form.io'
17
17
  : 'https://cdn.form.io';
package/lib/cjs/PDF.js CHANGED
@@ -59,6 +59,8 @@ class PDF extends Webform_1.default {
59
59
  });
60
60
  // Trigger when this form is ready.
61
61
  this.on('iframe-ready', () => this.iframeReadyResolve(), true);
62
+ // Re-emit pageEnd without the iframe- prefix for consumers tracking PDF scroll position.
63
+ this.on('iframe-pageEnd', (data) => this.emit('pageEnd', data), true);
62
64
  }
63
65
  render() {
64
66
  this.submitButton = this.addComponent({
package/lib/cjs/Wizard.js CHANGED
@@ -129,7 +129,10 @@ class Wizard extends Webform_1.default {
129
129
  { name: 'cancel', method: 'cancel' },
130
130
  { name: 'previous', method: 'prevPage' },
131
131
  { name: 'next', method: 'nextPage' },
132
- { name: 'submit', method: 'submit' },
132
+ { name: 'submit', method: 'submit', args: [false, {
133
+ state: 'submitted',
134
+ }],
135
+ },
133
136
  ].forEach((button) => {
134
137
  if (this.hasButton(button.name)) {
135
138
  buttons[button.name] = button;
@@ -355,7 +358,7 @@ class Wizard extends Webform_1.default {
355
358
  buttonElement.setAttribute('disabled', 'disabled');
356
359
  this.setLoading(buttonElement, true);
357
360
  // Call the button method, then re-enable the button.
358
- this[button.method]()
361
+ this[button.method](...(button.args || []))
359
362
  .then(() => {
360
363
  buttonElement.removeAttribute('disabled');
361
364
  this.setLoading(buttonElement, false);
@@ -196,7 +196,14 @@ declare class Component extends Element {
196
196
  tooltipClass: string;
197
197
  for: any;
198
198
  };
199
+ getFieldsetLegendData(): {
200
+ legendIds: string[];
201
+ legendLabels: string[];
202
+ };
199
203
  getFieldsetLegendIds(): string;
204
+ getViewAccessibleLabel(): string;
205
+ getFormattedViewAccessibleLabel(): string;
206
+ applyViewAccessibleAriaLabel(attributes?: {}): void;
200
207
  init(): void;
201
208
  /**
202
209
  * Disable this component.
@@ -530,17 +530,43 @@ class Component extends Element_1.default {
530
530
  }
531
531
  return label;
532
532
  }
533
- getFieldsetLegendIds() {
533
+ getFieldsetLegendData() {
534
534
  var _a, _b;
535
535
  const legendIds = [];
536
+ const legendLabels = [];
536
537
  let currentParent = this.parent;
537
538
  while (currentParent) {
538
539
  if (((_a = currentParent.component) === null || _a === void 0 ? void 0 : _a.type) === 'fieldset' && ((_b = currentParent.component) === null || _b === void 0 ? void 0 : _b.legend)) {
539
540
  legendIds.push(`l-${currentParent.id}-legend`);
541
+ legendLabels.push(this.t(currentParent.component.legend, { _userInput: true }));
540
542
  }
541
543
  currentParent = currentParent.parent;
542
544
  }
543
- return legendIds.reverse().join(' ');
545
+ legendIds.reverse();
546
+ legendLabels.reverse();
547
+ return { legendIds, legendLabels };
548
+ }
549
+ getFieldsetLegendIds() {
550
+ return this.getFieldsetLegendData().legendIds.join(' ');
551
+ }
552
+ getViewAccessibleLabel() {
553
+ const { legendLabels } = this.getFieldsetLegendData();
554
+ if (legendLabels.length === 0) {
555
+ return '';
556
+ }
557
+ return legendLabels.join(', ');
558
+ }
559
+ getFormattedViewAccessibleLabel() {
560
+ const label = this.getViewAccessibleLabel();
561
+ return label ? this.getFormattedAttribute(label) : '';
562
+ }
563
+ applyViewAccessibleAriaLabel(attributes = {}) {
564
+ if ((this.options.readOnly || this.options.pdf) && !attributes['aria-label']) {
565
+ const viewAccessibleLabel = this.getFormattedViewAccessibleLabel();
566
+ if (viewAccessibleLabel) {
567
+ attributes['aria-label'] = viewAccessibleLabel;
568
+ }
569
+ }
544
570
  }
545
571
  init() {
546
572
  var _a;
@@ -2253,12 +2279,17 @@ class Component extends Element_1.default {
2253
2279
  break;
2254
2280
  }
2255
2281
  case 'mergeComponentSchema': {
2282
+ const safeData = utils_1.default.escapeInterpolationDataStrings(data);
2283
+ const safeRow = utils_1.default.escapeInterpolationDataStrings(row);
2284
+ const safeResult = typeof result === 'string'
2285
+ ? lodash_1.default.escape(result)
2286
+ : utils_1.default.escapeInterpolationDataStrings(result);
2256
2287
  const schema = this.evaluate(action.schemaDefinition, {
2257
2288
  value: lodash_1.default.clone(this.getValue()),
2258
- data,
2259
- row,
2289
+ data: safeData,
2290
+ row: safeRow,
2260
2291
  component: newComponent,
2261
- result,
2292
+ result: safeResult,
2262
2293
  }, 'schema');
2263
2294
  lodash_1.default.assign(newComponent, schema);
2264
2295
  if (!lodash_1.default.isEqual(this.component, newComponent)) {
@@ -3784,6 +3815,7 @@ class Component extends Element_1.default {
3784
3815
  if (this.disabled) {
3785
3816
  attributes.disabled = 'disabled';
3786
3817
  }
3818
+ this.applyViewAccessibleAriaLabel(attributes);
3787
3819
  lodash_1.default.defaults(attributes, this.component.attributes);
3788
3820
  return {
3789
3821
  type: 'input',
@@ -47,6 +47,7 @@ class Input extends Multivalue_1.default {
47
47
  if (this.component.autocomplete) {
48
48
  attr.autocomplete = this.component.autocomplete;
49
49
  }
50
+ this.applyViewAccessibleAriaLabel(attr);
50
51
  lodash_1.default.defaults(attr, this.component.attributes);
51
52
  return {
52
53
  id: this.key,
@@ -73,6 +73,8 @@ export default class AddressComponent extends ContainerComponent {
73
73
  onSelectAddress(address: any, element: any, index: any): void;
74
74
  addRow(): void;
75
75
  attach(element: any): Promise<void>;
76
+ googlePlacesCleanups: any[] | undefined;
77
+ autocompleterWidget: import("autocompleter").AutocompleteResult | undefined;
76
78
  addChildComponent(component: any): void;
77
79
  clearAddress(element: any, index: any): void;
78
80
  getDisplayValue(value?: any): any;
@@ -414,33 +414,28 @@ class AddressComponent extends Container_1.default {
414
414
  const target = shadowRoot.querySelector('.formio-form-wrapper');
415
415
  target.appendChild(container);
416
416
  }
417
- else {
418
- container = document.createElement('div');
419
- document.body.appendChild(container);
420
- }
421
417
  this.searchInput.forEach((element, index) => {
422
418
  if (!this.builderMode && element && this.provider) {
423
419
  if (this.component.provider === 'google') {
424
- this.provider.attachAutocomplete(element, index, this.onSelectAddress.bind(this));
420
+ this.googlePlacesCleanups = [];
421
+ this.provider.attachAutocomplete(element, index, this.onSelectAddress.bind(this))
422
+ .then((cleanup) => {
423
+ if (typeof cleanup === 'function') {
424
+ this.googlePlacesCleanups.push(cleanup);
425
+ }
426
+ });
425
427
  }
426
428
  else {
427
- (0, autocompleter_1.default)({
428
- input: element,
429
- container,
430
- debounceWaitMs: 300,
431
- fetch: (text, update) => {
429
+ this.autocompleterWidget = (0, autocompleter_1.default)(Object.assign(Object.assign({ input: element }, (container ? { container } : {})), { debounceWaitMs: 300, fetch: (text, update) => {
432
430
  const query = text;
433
431
  this.provider.search(query).then(update);
434
- },
435
- render: (address) => {
432
+ }, render: (address) => {
436
433
  const div = this.ce('div');
437
434
  div.textContent = this.getDisplayValue(address);
438
435
  return div;
439
- },
440
- onSelect: (address) => {
436
+ }, onSelect: (address) => {
441
437
  this.onSelectAddress(address, element, index);
442
- },
443
- });
438
+ } }));
444
439
  }
445
440
  this.addEventListener(element, 'blur', () => {
446
441
  if (!element) {
@@ -515,6 +510,16 @@ class AddressComponent extends Container_1.default {
515
510
  }
516
511
  return result;
517
512
  }
513
+ detach() {
514
+ if (this.autocompleterWidget && typeof this.autocompleterWidget.destroy === 'function') {
515
+ this.autocompleterWidget.destroy();
516
+ }
517
+ ;
518
+ (this.googlePlacesCleanups || []).forEach((cleanup) => {
519
+ cleanup();
520
+ });
521
+ super.detach();
522
+ }
518
523
  addChildComponent(component) {
519
524
  component.customConditional = ChildConditional;
520
525
  }
@@ -527,6 +527,18 @@ class EditGridComponent extends NestedArrayComponent_1.default {
527
527
  else {
528
528
  const flattenedComponents = this.flattenComponents(rowIndex);
529
529
  const rowTemplate = this.rowTemplate;
530
+ lodash_1.default.each(flattenedComponents, (instance) => {
531
+ const needsItemLoad = instance &&
532
+ instance.itemsFromUrl &&
533
+ !instance.editGridItemsRequested &&
534
+ !instance.isEmpty(instance.dataValue) &&
535
+ lodash_1.default.isEmpty(instance.selectData);
536
+ if (needsItemLoad) {
537
+ instance.editGridItemsRequested = true;
538
+ instance.triggerUpdate(null, true);
539
+ instance.itemsLoaded.then(() => this.redraw());
540
+ }
541
+ });
530
542
  return this.renderString(rowTemplate, {
531
543
  row: dataValue[rowIndex] || {},
532
544
  data: this.data,
@@ -977,7 +989,7 @@ class EditGridComponent extends NestedArrayComponent_1.default {
977
989
  if (this.inlineEditMode) {
978
990
  return;
979
991
  }
980
- const editRow = this.editRows[rowIndex];
992
+ const editRow = this.editRows[this.type === 'datatable' ? 0 : rowIndex];
981
993
  if (editRow) {
982
994
  this.processRow('checkData', null, Object.assign(Object.assign({}, flags), { changed }), editRow.data, editRow.components);
983
995
  this.validateRow(editRow, false, false);
@@ -288,7 +288,16 @@ class FormComponent extends Component_1.default {
288
288
  }, this.text(this.formObj.title)));
289
289
  return;
290
290
  }
291
- this.setContent(element, this.render());
291
+ // element is already this component's wrapper — inject the sub-form directly
292
+ // instead of re-rendering the component into itself (which duplicates the id).
293
+ let content;
294
+ if (this.component.modalEdit) {
295
+ content = this.render();
296
+ }
297
+ else {
298
+ content = this.subForm ? this.subForm.render() : this.renderTemplate('loading');
299
+ }
300
+ this.setContent(element, content);
292
301
  const postAttach = () => {
293
302
  if (!this.builderMode && this.component.modalEdit) {
294
303
  const modalShouldBeOpened = this.componentModal ? this.componentModal.isOpened : false;
@@ -9,99 +9,15 @@ declare const _default: ({
9
9
  custom?: undefined;
10
10
  };
11
11
  type?: undefined;
12
+ as?: undefined;
13
+ editor?: undefined;
12
14
  weight?: undefined;
13
15
  input?: undefined;
14
16
  label?: undefined;
15
17
  tooltip?: undefined;
16
- conditional?: undefined;
17
- as?: undefined;
18
- editor?: undefined;
19
- defaultValue?: undefined;
20
18
  description?: undefined;
21
- reorder?: undefined;
22
- components?: undefined;
23
- dataSrc?: undefined;
24
- authenticate?: undefined;
25
- template?: undefined;
26
- valueProperty?: undefined;
27
- clearOnHide?: undefined;
28
- lazyLoad?: undefined;
29
- skipMerge?: undefined;
30
- refreshOn?: undefined;
31
- onSetItems?: undefined;
32
- onChange?: undefined;
33
- placeholder?: undefined;
34
- validate?: undefined;
35
- delimiter?: undefined;
36
- requireDecimal?: undefined;
37
- encrypted?: undefined;
38
- rows?: undefined;
39
- mask?: undefined;
40
- tableView?: undefined;
41
- alwaysEnabled?: undefined;
42
- } | {
43
- type: string;
44
- weight: number;
45
- input: boolean;
46
- key: string;
47
- label: string;
48
- tooltip: string;
49
- conditional: {
50
- json: {
51
- '===': (string | {
52
- var: string;
53
- })[];
54
- and?: undefined;
55
- in?: undefined;
56
- };
57
- };
58
- data?: undefined;
59
- as?: undefined;
60
- editor?: undefined;
19
+ conditional?: undefined;
61
20
  defaultValue?: undefined;
62
- description?: undefined;
63
- reorder?: undefined;
64
- components?: undefined;
65
- dataSrc?: undefined;
66
- authenticate?: undefined;
67
- template?: undefined;
68
- valueProperty?: undefined;
69
- clearOnHide?: undefined;
70
- lazyLoad?: undefined;
71
- skipMerge?: undefined;
72
- refreshOn?: undefined;
73
- onSetItems?: undefined;
74
- onChange?: undefined;
75
- placeholder?: undefined;
76
- validate?: undefined;
77
- delimiter?: undefined;
78
- requireDecimal?: undefined;
79
- encrypted?: undefined;
80
- rows?: undefined;
81
- mask?: undefined;
82
- tableView?: undefined;
83
- alwaysEnabled?: undefined;
84
- } | {
85
- type: string;
86
- as: string;
87
- editor: string;
88
- weight: number;
89
- input: boolean;
90
- key: string;
91
- label: string;
92
- tooltip: string;
93
- defaultValue: {};
94
- conditional: {
95
- json: {
96
- '===': (string | {
97
- var: string;
98
- })[];
99
- and?: undefined;
100
- in?: undefined;
101
- };
102
- };
103
- data?: undefined;
104
- description?: undefined;
105
21
  reorder?: undefined;
106
22
  components?: undefined;
107
23
  dataSrc?: undefined;
@@ -303,8 +219,8 @@ declare const _default: ({
303
219
  };
304
220
  as?: undefined;
305
221
  editor?: undefined;
306
- defaultValue?: undefined;
307
222
  description?: undefined;
223
+ defaultValue?: undefined;
308
224
  reorder?: undefined;
309
225
  components?: undefined;
310
226
  skipMerge?: undefined;
@@ -412,8 +328,8 @@ declare const _default: ({
412
328
  };
413
329
  as?: undefined;
414
330
  editor?: undefined;
415
- defaultValue?: undefined;
416
331
  description?: undefined;
332
+ defaultValue?: undefined;
417
333
  reorder?: undefined;
418
334
  components?: undefined;
419
335
  placeholder?: undefined;
@@ -443,11 +359,11 @@ declare const _default: ({
443
359
  url?: undefined;
444
360
  custom?: undefined;
445
361
  };
446
- conditional?: undefined;
447
362
  as?: undefined;
448
363
  editor?: undefined;
449
- defaultValue?: undefined;
450
364
  description?: undefined;
365
+ conditional?: undefined;
366
+ defaultValue?: undefined;
451
367
  reorder?: undefined;
452
368
  components?: undefined;
453
369
  authenticate?: undefined;
@@ -475,11 +391,52 @@ declare const _default: ({
475
391
  placeholder: string;
476
392
  tooltip: string;
477
393
  data?: undefined;
478
- conditional?: undefined;
479
394
  as?: undefined;
480
395
  editor?: undefined;
396
+ description?: undefined;
397
+ conditional?: undefined;
481
398
  defaultValue?: undefined;
399
+ reorder?: undefined;
400
+ components?: undefined;
401
+ dataSrc?: undefined;
402
+ authenticate?: undefined;
403
+ template?: undefined;
404
+ valueProperty?: undefined;
405
+ clearOnHide?: undefined;
406
+ lazyLoad?: undefined;
407
+ skipMerge?: undefined;
408
+ refreshOn?: undefined;
409
+ onSetItems?: undefined;
410
+ onChange?: undefined;
411
+ validate?: undefined;
412
+ delimiter?: undefined;
413
+ requireDecimal?: undefined;
414
+ encrypted?: undefined;
415
+ rows?: undefined;
416
+ mask?: undefined;
417
+ tableView?: undefined;
418
+ alwaysEnabled?: undefined;
419
+ } | {
420
+ type: string;
421
+ input: boolean;
422
+ key: string;
423
+ label: string;
424
+ tooltip: string;
425
+ weight: number;
426
+ conditional: {
427
+ json: {
428
+ '===': (string | {
429
+ var: string;
430
+ })[];
431
+ and?: undefined;
432
+ in?: undefined;
433
+ };
434
+ };
435
+ data?: undefined;
436
+ as?: undefined;
437
+ editor?: undefined;
482
438
  description?: undefined;
439
+ defaultValue?: undefined;
483
440
  reorder?: undefined;
484
441
  components?: undefined;
485
442
  dataSrc?: undefined;
@@ -492,6 +449,7 @@ declare const _default: ({
492
449
  refreshOn?: undefined;
493
450
  onSetItems?: undefined;
494
451
  onChange?: undefined;
452
+ placeholder?: undefined;
495
453
  validate?: undefined;
496
454
  delimiter?: undefined;
497
455
  requireDecimal?: undefined;
@@ -710,8 +668,8 @@ declare const _default: ({
710
668
  };
711
669
  data?: undefined;
712
670
  as?: undefined;
713
- defaultValue?: undefined;
714
671
  description?: undefined;
672
+ defaultValue?: undefined;
715
673
  reorder?: undefined;
716
674
  components?: undefined;
717
675
  dataSrc?: undefined;
@@ -759,8 +717,8 @@ declare const _default: ({
759
717
  };
760
718
  as?: undefined;
761
719
  editor?: undefined;
762
- defaultValue?: undefined;
763
720
  description?: undefined;
721
+ defaultValue?: undefined;
764
722
  reorder?: undefined;
765
723
  components?: undefined;
766
724
  authenticate?: undefined;
@@ -831,10 +789,10 @@ declare const _default: ({
831
789
  defaultValue: boolean;
832
790
  tooltip: string;
833
791
  data?: undefined;
834
- conditional?: undefined;
835
792
  as?: undefined;
836
793
  editor?: undefined;
837
794
  description?: undefined;
795
+ conditional?: undefined;
838
796
  reorder?: undefined;
839
797
  components?: undefined;
840
798
  dataSrc?: undefined;
@@ -927,10 +885,10 @@ declare const _default: ({
927
885
  weight: number;
928
886
  tooltip: string;
929
887
  data?: undefined;
930
- conditional?: undefined;
931
888
  as?: undefined;
932
889
  editor?: undefined;
933
890
  description?: undefined;
891
+ conditional?: undefined;
934
892
  reorder?: undefined;
935
893
  components?: undefined;
936
894
  dataSrc?: undefined;
@@ -973,8 +931,8 @@ declare const _default: ({
973
931
  data?: undefined;
974
932
  as?: undefined;
975
933
  editor?: undefined;
976
- defaultValue?: undefined;
977
934
  description?: undefined;
935
+ defaultValue?: undefined;
978
936
  reorder?: undefined;
979
937
  components?: undefined;
980
938
  dataSrc?: undefined;
@@ -1003,11 +961,11 @@ declare const _default: ({
1003
961
  label: string;
1004
962
  tooltip: string;
1005
963
  data?: undefined;
1006
- conditional?: undefined;
1007
964
  as?: undefined;
1008
965
  editor?: undefined;
1009
- defaultValue?: undefined;
1010
966
  description?: undefined;
967
+ conditional?: undefined;
968
+ defaultValue?: undefined;
1011
969
  reorder?: undefined;
1012
970
  components?: undefined;
1013
971
  dataSrc?: undefined;
@@ -1040,8 +998,8 @@ declare const _default: ({
1040
998
  tooltip: string;
1041
999
  defaultValue: {};
1042
1000
  data?: undefined;
1043
- conditional?: undefined;
1044
1001
  description?: undefined;
1002
+ conditional?: undefined;
1045
1003
  reorder?: undefined;
1046
1004
  components?: undefined;
1047
1005
  dataSrc?: undefined;
@@ -1069,15 +1027,15 @@ declare const _default: ({
1069
1027
  onChange(context: any): void;
1070
1028
  data?: undefined;
1071
1029
  type?: undefined;
1030
+ as?: undefined;
1031
+ editor?: undefined;
1072
1032
  weight?: undefined;
1073
1033
  input?: undefined;
1074
1034
  label?: undefined;
1075
1035
  tooltip?: undefined;
1036
+ description?: undefined;
1076
1037
  conditional?: undefined;
1077
- as?: undefined;
1078
- editor?: undefined;
1079
1038
  defaultValue?: undefined;
1080
- description?: undefined;
1081
1039
  reorder?: undefined;
1082
1040
  components?: undefined;
1083
1041
  dataSrc?: undefined;
@@ -1150,14 +1108,14 @@ declare const _default: ({
1150
1108
  };
1151
1109
  data?: undefined;
1152
1110
  type?: undefined;
1111
+ as?: undefined;
1112
+ editor?: undefined;
1153
1113
  weight?: undefined;
1154
1114
  input?: undefined;
1155
1115
  label?: undefined;
1156
1116
  tooltip?: undefined;
1157
- as?: undefined;
1158
- editor?: undefined;
1159
- defaultValue?: undefined;
1160
1117
  description?: undefined;
1118
+ defaultValue?: undefined;
1161
1119
  reorder?: undefined;
1162
1120
  components?: undefined;
1163
1121
  dataSrc?: undefined;
@@ -1184,15 +1142,15 @@ declare const _default: ({
1184
1142
  onChange(context: any): void;
1185
1143
  data?: undefined;
1186
1144
  type?: undefined;
1145
+ as?: undefined;
1146
+ editor?: undefined;
1187
1147
  weight?: undefined;
1188
1148
  input?: undefined;
1189
1149
  label?: undefined;
1190
1150
  tooltip?: undefined;
1151
+ description?: undefined;
1191
1152
  conditional?: undefined;
1192
- as?: undefined;
1193
- editor?: undefined;
1194
1153
  defaultValue?: undefined;
1195
- description?: undefined;
1196
1154
  reorder?: undefined;
1197
1155
  components?: undefined;
1198
1156
  dataSrc?: undefined;
@@ -62,48 +62,6 @@ exports.default = [
62
62
  ],
63
63
  },
64
64
  },
65
- {
66
- type: 'textfield',
67
- weight: 10,
68
- input: true,
69
- key: 'indexeddb.database',
70
- label: 'Database name',
71
- tooltip: 'The name of the indexeddb database.',
72
- conditional: {
73
- json: {
74
- '===': [{ var: 'data.dataSrc' }, 'indexeddb'],
75
- },
76
- },
77
- },
78
- {
79
- type: 'textfield',
80
- input: true,
81
- key: 'indexeddb.table',
82
- label: 'Table name',
83
- weight: 16,
84
- tooltip: 'The name of table in the indexeddb database.',
85
- conditional: {
86
- json: {
87
- '===': [{ var: 'data.dataSrc' }, 'indexeddb'],
88
- },
89
- },
90
- },
91
- {
92
- type: 'textarea',
93
- as: 'json',
94
- editor: 'ace',
95
- weight: 18,
96
- input: true,
97
- key: 'indexeddb.filter',
98
- label: 'Row Filter',
99
- tooltip: 'Filter table items that match the object.',
100
- defaultValue: {},
101
- conditional: {
102
- json: {
103
- '===': [{ var: 'data.dataSrc' }, 'indexeddb'],
104
- },
105
- },
106
- },
107
65
  {
108
66
  type: 'textarea',
109
67
  as: 'json',
@@ -62,6 +62,9 @@ class TextAreaComponent extends TextField_1.default {
62
62
  info.content = value;
63
63
  if ((this.options.readOnly || this.disabled) && !this.isHtmlRenderMode()) {
64
64
  const elementStyle = this.info.attr.style || '';
65
+ const viewAccessibleLabel = (this.options.readOnly || this.options.pdf)
66
+ ? this.getFormattedViewAccessibleLabel()
67
+ : '';
65
68
  const children = `
66
69
  <div ${this._referenceAttributeName}="input"
67
70
  class="formio-editor-read-only-content"
@@ -69,6 +72,7 @@ class TextAreaComponent extends TextField_1.default {
69
72
  role="textbox"
70
73
  aria-multiline="true"
71
74
  aria-readonly="true"
75
+ ${viewAccessibleLabel ? `aria-label='${viewAccessibleLabel}'` : ''}
72
76
  >
73
77
  </div>`;
74
78
  return this.renderTemplate('well', {