@formio/js 5.1.0-rc.1 → 5.1.0-rc.11

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 (106) hide show
  1. package/dist/formio.builder.css +22 -24
  2. package/dist/formio.builder.min.css +1 -1
  3. package/dist/formio.embed.js +1 -1
  4. package/dist/formio.embed.min.js +1 -1
  5. package/dist/formio.embed.min.js.LICENSE.txt +1 -1
  6. package/dist/formio.form.css +22 -24
  7. package/dist/formio.form.js +36 -36
  8. package/dist/formio.form.min.css +1 -1
  9. package/dist/formio.form.min.js +1 -1
  10. package/dist/formio.form.min.js.LICENSE.txt +3 -3
  11. package/dist/formio.full.css +22 -24
  12. package/dist/formio.full.js +36 -36
  13. package/dist/formio.full.min.css +1 -1
  14. package/dist/formio.full.min.js +1 -1
  15. package/dist/formio.full.min.js.LICENSE.txt +3 -3
  16. package/dist/formio.js +21 -21
  17. package/dist/formio.min.js +1 -1
  18. package/dist/formio.min.js.LICENSE.txt +1 -1
  19. package/dist/formio.utils.js +18 -18
  20. package/dist/formio.utils.min.js +1 -1
  21. package/dist/formio.utils.min.js.LICENSE.txt +1 -1
  22. package/lib/cjs/Embed.js +1 -1
  23. package/lib/cjs/Formio.js +1 -1
  24. package/lib/cjs/Webform.d.ts +1 -1
  25. package/lib/cjs/Wizard.js +1 -1
  26. package/lib/cjs/components/_classes/component/Component.d.ts +15 -0
  27. package/lib/cjs/components/_classes/component/Component.js +51 -17
  28. package/lib/cjs/components/_classes/component/editForm/Component.edit.data.js +2 -2
  29. package/lib/cjs/components/_classes/field/Field.d.ts +2 -2
  30. package/lib/cjs/components/_classes/field/Field.js +1 -1
  31. package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +1 -1
  32. package/lib/cjs/components/_classes/nested/NestedComponent.js +16 -7
  33. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -0
  34. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +3 -0
  35. package/lib/cjs/components/address/Address.d.ts +1 -2
  36. package/lib/cjs/components/address/Address.js +1 -1
  37. package/lib/cjs/components/address/fixtures/comp5.d.ts +46 -0
  38. package/lib/cjs/components/address/fixtures/comp5.js +87 -0
  39. package/lib/cjs/components/address/fixtures/index.d.ts +2 -1
  40. package/lib/cjs/components/address/fixtures/index.js +3 -1
  41. package/lib/cjs/components/button/Button.d.ts +1 -1
  42. package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
  43. package/lib/cjs/components/columns/Columns.d.ts +1 -1
  44. package/lib/cjs/components/datagrid/DataGrid.d.ts +1 -1
  45. package/lib/cjs/components/datagrid/DataGrid.js +4 -1
  46. package/lib/cjs/components/datamap/DataMap.js +1 -1
  47. package/lib/cjs/components/day/Day.d.ts +1 -1
  48. package/lib/cjs/components/day/Day.js +2 -18
  49. package/lib/cjs/components/editgrid/EditGrid.js +2 -5
  50. package/lib/cjs/components/file/File.d.ts +1 -1
  51. package/lib/cjs/components/form/Form.d.ts +1 -0
  52. package/lib/cjs/components/form/Form.js +30 -14
  53. package/lib/cjs/components/html/HTML.js +15 -3
  54. package/lib/cjs/components/radio/Radio.d.ts +1 -1
  55. package/lib/cjs/components/select/Select.d.ts +1 -1
  56. package/lib/cjs/components/survey/Survey.d.ts +1 -1
  57. package/lib/cjs/components/table/Table.d.ts +1 -1
  58. package/lib/cjs/components/tabs/Tabs.d.ts +1 -1
  59. package/lib/cjs/formio.embed.d.ts +1 -1
  60. package/lib/cjs/formio.embed.js +3 -0
  61. package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +5 -0
  62. package/lib/cjs/providers/address/GoogleAddressProvider.js +23 -1
  63. package/lib/cjs/translations/en.js +2 -2
  64. package/lib/mjs/Embed.js +1 -1
  65. package/lib/mjs/Formio.js +1 -1
  66. package/lib/mjs/Webform.d.ts +1 -1
  67. package/lib/mjs/Wizard.js +1 -1
  68. package/lib/mjs/components/_classes/component/Component.d.ts +15 -0
  69. package/lib/mjs/components/_classes/component/Component.js +51 -17
  70. package/lib/mjs/components/_classes/component/editForm/Component.edit.data.js +2 -2
  71. package/lib/mjs/components/_classes/field/Field.d.ts +2 -2
  72. package/lib/mjs/components/_classes/field/Field.js +1 -1
  73. package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +1 -1
  74. package/lib/mjs/components/_classes/nested/NestedComponent.js +16 -7
  75. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -0
  76. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +3 -0
  77. package/lib/mjs/components/address/Address.d.ts +1 -2
  78. package/lib/mjs/components/address/Address.js +1 -1
  79. package/lib/mjs/components/address/fixtures/comp5.d.ts +46 -0
  80. package/lib/mjs/components/address/fixtures/comp5.js +85 -0
  81. package/lib/mjs/components/address/fixtures/index.d.ts +2 -1
  82. package/lib/mjs/components/address/fixtures/index.js +2 -1
  83. package/lib/mjs/components/button/Button.d.ts +1 -1
  84. package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
  85. package/lib/mjs/components/columns/Columns.d.ts +1 -1
  86. package/lib/mjs/components/datagrid/DataGrid.d.ts +1 -1
  87. package/lib/mjs/components/datagrid/DataGrid.js +4 -1
  88. package/lib/mjs/components/datamap/DataMap.js +1 -1
  89. package/lib/mjs/components/day/Day.d.ts +1 -1
  90. package/lib/mjs/components/day/Day.js +2 -18
  91. package/lib/mjs/components/editgrid/EditGrid.js +2 -5
  92. package/lib/mjs/components/file/File.d.ts +1 -1
  93. package/lib/mjs/components/form/Form.d.ts +1 -0
  94. package/lib/mjs/components/form/Form.js +29 -14
  95. package/lib/mjs/components/html/HTML.js +15 -3
  96. package/lib/mjs/components/radio/Radio.d.ts +1 -1
  97. package/lib/mjs/components/select/Select.d.ts +1 -1
  98. package/lib/mjs/components/survey/Survey.d.ts +1 -1
  99. package/lib/mjs/components/table/Table.d.ts +1 -1
  100. package/lib/mjs/components/tabs/Tabs.d.ts +1 -1
  101. package/lib/mjs/formio.embed.d.ts +1 -1
  102. package/lib/mjs/formio.embed.js +1 -0
  103. package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +5 -0
  104. package/lib/mjs/providers/address/GoogleAddressProvider.js +22 -1
  105. package/lib/mjs/translations/en.js +2 -2
  106. package/package.json +4 -4
@@ -2,6 +2,9 @@
2
2
  import { Formio } from '../../Formio';
3
3
  import _ from 'lodash';
4
4
  import { AddressProvider } from './AddressProvider';
5
+ const GOOGLE_MAPS_BASE_URL = 'https://maps.googleapis.com';
6
+ const GOOGLE_MAPS_JS_URL = `${GOOGLE_MAPS_BASE_URL}/maps/api/js`;
7
+ const GOOGLE_MAPS_JS_WITH_PARAMS_URL = `${GOOGLE_MAPS_JS_URL}?v=quarterly&libraries=places&loading=async&callback=googleMapsCallback`;
5
8
  /**
6
9
  * @typedef {object} AutocompleteOptions
7
10
  * @property {string[]} fields - The fields to include in the autocomplete response.
@@ -48,10 +51,11 @@ export class GoogleAddressProvider extends AddressProvider {
48
51
  constructor(options = {}) {
49
52
  super(options);
50
53
  this.setAutocompleteOptions();
51
- let src = 'https://maps.googleapis.com/maps/api/js?v=quarterly&libraries=places&loading=async&callback=googleMapsCallback';
54
+ let src = GOOGLE_MAPS_JS_WITH_PARAMS_URL;
52
55
  if (options.params?.key) {
53
56
  src += `&key=${options.params.key}`;
54
57
  }
58
+ this.tryRemoveLibrary(options);
55
59
  Formio.requireLibrary(this.getLibraryName(), 'google.maps.places', src);
56
60
  }
57
61
  /**
@@ -178,4 +182,21 @@ export class GoogleAddressProvider extends AddressProvider {
178
182
  : this.alternativeDisplayValueProperty;
179
183
  return _.get(address, displayedProperty, '');
180
184
  }
185
+ /**
186
+ * Tries to remove the library if api key for loaded script is different.
187
+ * @param {ProviderOptions} options - The options for the provider.
188
+ */
189
+ tryRemoveLibrary(options = {}) {
190
+ if (!Formio.libraries[this.getLibraryName()]) {
191
+ return;
192
+ }
193
+ const existingScript = document.querySelector(`script[src^="${GOOGLE_MAPS_JS_URL}"]`);
194
+ if (existingScript && options.params?.key && !existingScript.attributes.src.value.endsWith(options.params.key)) {
195
+ const googleMapsScripts = document.querySelectorAll(`script[src^="${GOOGLE_MAPS_BASE_URL}"]`) ?? [];
196
+ googleMapsScripts.forEach(script => script.parentNode.removeChild(script));
197
+ delete Formio.libraries[this.getLibraryName()];
198
+ delete global?.google?.maps;
199
+ delete global[`${this.getLibraryName()}Callback`];
200
+ }
201
+ }
181
202
  }
@@ -24,8 +24,8 @@ export default {
24
24
  maxWords: '{{field}} must have no more than {{length}} words.',
25
25
  min: '{{field}} cannot be less than {{min}}.',
26
26
  max: '{{field}} cannot be greater than {{max}}.',
27
- maxDate: '{{field}} should not contain date after {{- maxDate}}',
28
- minDate: '{{field}} should not contain date before {{- minDate}}',
27
+ maxDate: '{{field}} should not contain date after {{maxDate}}',
28
+ minDate: '{{field}} should not contain date before {{minDate}}',
29
29
  maxYear: '{{field}} should not contain year greater than {{maxYear}}',
30
30
  minYear: '{{field}} should not contain year less than {{minYear}}',
31
31
  minSelectedCount: 'You must select at least {{minCount}} items',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@formio/js",
3
- "version": "5.1.0-rc.1",
3
+ "version": "5.1.0-rc.11",
4
4
  "description": "JavaScript powered Forms with JSON Form Builder",
5
5
  "main": "lib/cjs/index.js",
6
6
  "exports": {
@@ -41,7 +41,7 @@
41
41
  "build": "yarn doc && yarn lib && yarn dist",
42
42
  "doc": "typedoc",
43
43
  "dist": "gulp clean:dist && webpack --config webpack.config.js && webpack --config webpack.prod.js && gulp build",
44
- "lib": "gulp clean:lib && tsc --project tsconfig.cjs.json && tsc --project tsconfig.mjs.json && yarn lib:package",
44
+ "lib": "gulp clean:lib && tsc --project tsconfig.cjs.json && tsc --project tsconfig.mjs.json && yarn lib:package && gulp version",
45
45
  "lib:package": "node ./libpackage.js",
46
46
  "version": "node -e 'console.log(require(`./package.json`).version)'",
47
47
  "build-app": "yarn build-app:create-app && yarn build-app:jekyll && yarn build-app:remove-app",
@@ -80,8 +80,8 @@
80
80
  "homepage": "https://github.com/formio/formio.js#readme",
81
81
  "dependencies": {
82
82
  "@formio/bootstrap": "3.1.0-rc.1",
83
- "@formio/choices.js": "^10.2.1",
84
- "@formio/core": "2.4.0-rc.1",
83
+ "@formio/choices.js": "11.0.3-rc.1",
84
+ "@formio/core": "2.4.0-rc.7",
85
85
  "@formio/text-mask-addons": "^3.8.0-formio.4",
86
86
  "@formio/vanilla-text-mask": "^5.1.1-formio.1",
87
87
  "abortcontroller-polyfill": "^1.7.5",