@formio/js 5.1.0-dev.6096.8115e4f → 5.1.0-dev.6100.6a7b450

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 (137) hide show
  1. package/README.md +7 -0
  2. package/dist/formio.form.js +125 -125
  3. package/dist/formio.form.min.js +1 -1
  4. package/dist/formio.form.min.js.LICENSE.txt +2 -0
  5. package/dist/formio.full.js +132 -132
  6. package/dist/formio.full.min.js +1 -1
  7. package/dist/formio.full.min.js.LICENSE.txt +2 -0
  8. package/dist/formio.js +74 -63
  9. package/dist/formio.min.js +1 -1
  10. package/dist/formio.utils.js +86 -75
  11. package/dist/formio.utils.min.js +1 -1
  12. package/dist/formio.utils.min.js.LICENSE.txt +2 -0
  13. package/lib/cjs/Element.js +13 -36
  14. package/lib/cjs/EventEmitter.js +2 -25
  15. package/lib/cjs/Form.js +2 -25
  16. package/lib/cjs/PDF.js +1 -1
  17. package/lib/cjs/PDFBuilder.js +4 -5
  18. package/lib/cjs/Webform.js +5 -6
  19. package/lib/cjs/WebformBuilder.js +20 -15
  20. package/lib/cjs/Wizard.d.ts +1 -2
  21. package/lib/cjs/Wizard.js +18 -24
  22. package/lib/cjs/WizardBuilder.js +1 -1
  23. package/lib/cjs/components/_classes/component/Component.d.ts +0 -1
  24. package/lib/cjs/components/_classes/component/Component.js +36 -57
  25. package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +1 -1
  26. package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +1 -1
  27. package/lib/cjs/components/_classes/componentModal/ComponentModal.js +1 -1
  28. package/lib/cjs/components/_classes/input/Input.js +1 -1
  29. package/lib/cjs/components/_classes/list/ListComponent.js +1 -1
  30. package/lib/cjs/components/_classes/nested/NestedComponent.js +7 -7
  31. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
  32. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +1 -1
  33. package/lib/cjs/components/address/Address.js +1 -1
  34. package/lib/cjs/components/alert/Alert.js +1 -1
  35. package/lib/cjs/components/button/Button.js +1 -1
  36. package/lib/cjs/components/checkbox/Checkbox.js +1 -1
  37. package/lib/cjs/components/container/Container.js +1 -1
  38. package/lib/cjs/components/currency/Currency.js +1 -1
  39. package/lib/cjs/components/datagrid/DataGrid.js +5 -1
  40. package/lib/cjs/components/datetime/DateTime.d.ts +1 -1
  41. package/lib/cjs/components/datetime/DateTime.js +15 -13
  42. package/lib/cjs/components/day/Day.js +2 -2
  43. package/lib/cjs/components/editgrid/EditGrid.js +1 -1
  44. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -1
  45. package/lib/cjs/components/file/File.js +1 -1
  46. package/lib/cjs/components/form/Form.js +14 -2
  47. package/lib/cjs/components/form/editForm/Form.edit.form.js +4 -3
  48. package/lib/cjs/components/number/Number.js +1 -1
  49. package/lib/cjs/components/panel/Panel.js +1 -1
  50. package/lib/cjs/components/radio/Radio.js +1 -1
  51. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +1 -1
  52. package/lib/cjs/components/select/Select.js +1 -1
  53. package/lib/cjs/components/select/editForm/Select.edit.data.js +1 -1
  54. package/lib/cjs/components/selectboxes/SelectBoxes.js +1 -1
  55. package/lib/cjs/components/signature/Signature.js +1 -1
  56. package/lib/cjs/components/survey/Survey.js +1 -1
  57. package/lib/cjs/components/tags/Tags.js +1 -1
  58. package/lib/cjs/components/textarea/TextArea.js +3 -3
  59. package/lib/cjs/components/textfield/TextField.js +7 -30
  60. package/lib/cjs/components/time/Time.js +1 -1
  61. package/lib/cjs/formio.form.js +3 -3
  62. package/lib/cjs/i18n.js +1 -1
  63. package/lib/cjs/providers/storage/uploadAdapter.js +1 -1
  64. package/lib/cjs/utils/Evaluator.d.ts +20 -6
  65. package/lib/cjs/utils/Evaluator.js +38 -15
  66. package/lib/cjs/utils/builder.js +5 -5
  67. package/lib/cjs/utils/conditionOperators/IsEqualTo.js +3 -3
  68. package/lib/cjs/utils/i18n.js +3 -3
  69. package/lib/cjs/utils/index.d.ts +169 -2
  70. package/lib/cjs/utils/index.js +22 -2
  71. package/lib/cjs/utils/utils.d.ts +22 -37
  72. package/lib/cjs/utils/utils.js +64 -135
  73. package/lib/cjs/widgets/CalendarWidget.d.ts +1 -8
  74. package/lib/cjs/widgets/CalendarWidget.js +17 -43
  75. package/lib/mjs/Element.js +6 -6
  76. package/lib/mjs/EventEmitter.js +2 -2
  77. package/lib/mjs/Form.js +1 -1
  78. package/lib/mjs/PDF.js +1 -1
  79. package/lib/mjs/PDFBuilder.js +1 -2
  80. package/lib/mjs/Webform.js +3 -4
  81. package/lib/mjs/WebformBuilder.js +12 -7
  82. package/lib/mjs/Wizard.d.ts +1 -2
  83. package/lib/mjs/Wizard.js +17 -23
  84. package/lib/mjs/WizardBuilder.js +1 -1
  85. package/lib/mjs/components/_classes/component/Component.d.ts +0 -1
  86. package/lib/mjs/components/_classes/component/Component.js +9 -7
  87. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +1 -1
  88. package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +1 -1
  89. package/lib/mjs/components/_classes/componentModal/ComponentModal.js +1 -1
  90. package/lib/mjs/components/_classes/input/Input.js +1 -1
  91. package/lib/mjs/components/_classes/list/ListComponent.js +1 -1
  92. package/lib/mjs/components/_classes/nested/NestedComponent.js +7 -7
  93. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
  94. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +1 -1
  95. package/lib/mjs/components/address/Address.js +1 -1
  96. package/lib/mjs/components/alert/Alert.js +1 -1
  97. package/lib/mjs/components/button/Button.js +1 -1
  98. package/lib/mjs/components/checkbox/Checkbox.js +1 -1
  99. package/lib/mjs/components/container/Container.js +1 -1
  100. package/lib/mjs/components/currency/Currency.js +1 -1
  101. package/lib/mjs/components/datagrid/DataGrid.js +5 -1
  102. package/lib/mjs/components/datetime/DateTime.d.ts +1 -1
  103. package/lib/mjs/components/datetime/DateTime.js +15 -13
  104. package/lib/mjs/components/day/Day.js +2 -2
  105. package/lib/mjs/components/editgrid/EditGrid.js +1 -1
  106. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -1
  107. package/lib/mjs/components/file/File.js +1 -1
  108. package/lib/mjs/components/form/Form.js +13 -2
  109. package/lib/mjs/components/form/editForm/Form.edit.form.js +3 -2
  110. package/lib/mjs/components/number/Number.js +1 -1
  111. package/lib/mjs/components/panel/Panel.js +1 -1
  112. package/lib/mjs/components/radio/Radio.js +1 -1
  113. package/lib/mjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +1 -1
  114. package/lib/mjs/components/select/Select.js +1 -1
  115. package/lib/mjs/components/select/editForm/Select.edit.data.js +1 -1
  116. package/lib/mjs/components/selectboxes/SelectBoxes.js +1 -1
  117. package/lib/mjs/components/signature/Signature.js +1 -1
  118. package/lib/mjs/components/survey/Survey.js +1 -1
  119. package/lib/mjs/components/tags/Tags.js +1 -1
  120. package/lib/mjs/components/textarea/TextArea.js +3 -3
  121. package/lib/mjs/components/textfield/TextField.js +1 -1
  122. package/lib/mjs/components/time/Time.js +1 -1
  123. package/lib/mjs/formio.form.js +2 -2
  124. package/lib/mjs/i18n.js +1 -1
  125. package/lib/mjs/providers/storage/uploadAdapter.js +1 -1
  126. package/lib/mjs/utils/Evaluator.d.ts +20 -6
  127. package/lib/mjs/utils/Evaluator.js +31 -13
  128. package/lib/mjs/utils/builder.js +1 -1
  129. package/lib/mjs/utils/conditionOperators/IsEqualTo.js +1 -1
  130. package/lib/mjs/utils/i18n.js +1 -1
  131. package/lib/mjs/utils/index.d.ts +169 -2
  132. package/lib/mjs/utils/index.js +18 -1
  133. package/lib/mjs/utils/utils.d.ts +22 -37
  134. package/lib/mjs/utils/utils.js +57 -109
  135. package/lib/mjs/widgets/CalendarWidget.d.ts +1 -8
  136. package/lib/mjs/widgets/CalendarWidget.js +17 -43
  137. package/package.json +7 -5
@@ -2,7 +2,7 @@ import _ from 'lodash';
2
2
  import { Formio } from '../../Formio';
3
3
  import ListComponent from '../_classes/list/ListComponent';
4
4
  import Form from '../../Form';
5
- import { getRandomComponentId, boolValue, isPromise, componentValueTypes, getComponentSavedTypes, isSelectResourceWithObjectValue, removeHTML } from '../../utils/utils';
5
+ import { getRandomComponentId, boolValue, isPromise, componentValueTypes, getComponentSavedTypes, isSelectResourceWithObjectValue, removeHTML } from '../../utils';
6
6
  import Choices from '../../utils/ChoicesWrapper';
7
7
  export default class SelectComponent extends ListComponent {
8
8
  static schema(...extend) {
@@ -1,5 +1,5 @@
1
1
  import _ from 'lodash';
2
- import { eachComponent } from '../../../utils/utils';
2
+ import { eachComponent } from '../../../utils';
3
3
  const calculateSingleSelectData = (context, defaultValue) => {
4
4
  const { instance, data } = context;
5
5
  const rawDefaultValue = instance.downloadedResources.find(resource => _.get(resource, data.valueProperty) === defaultValue);
@@ -1,5 +1,5 @@
1
1
  import _ from 'lodash';
2
- import { componentValueTypes, getComponentSavedTypes, boolValue, getComponent } from '../../utils/utils';
2
+ import { componentValueTypes, getComponentSavedTypes, boolValue, getComponent } from '../../utils';
3
3
  import RadioComponent from '../radio/Radio';
4
4
  export default class SelectBoxesComponent extends RadioComponent {
5
5
  static schema(...extend) {
@@ -1,7 +1,7 @@
1
1
  import SignaturePad from 'signature_pad';
2
2
  import Input from '../_classes/input/Input';
3
3
  import _ from 'lodash';
4
- import { componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
4
+ import { componentValueTypes, getComponentSavedTypes } from '../../utils';
5
5
  export default class SignatureComponent extends Input {
6
6
  static schema(...extend) {
7
7
  return Input.schema({
@@ -1,6 +1,6 @@
1
1
  import _ from 'lodash';
2
2
  import Field from '../_classes/field/Field';
3
- import { boolValue, componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
3
+ import { boolValue, componentValueTypes, getComponentSavedTypes } from '../../utils';
4
4
  export default class SurveyComponent extends Field {
5
5
  static schema(...extend) {
6
6
  return Field.schema({
@@ -1,4 +1,4 @@
1
- import { componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
1
+ import { componentValueTypes, getComponentSavedTypes } from '../../utils';
2
2
  import Input from '../_classes/input/Input';
3
3
  import Choices from 'choices.js';
4
4
  export default class TagsComponent extends Input {
@@ -1,7 +1,7 @@
1
1
  /* global Quill */
2
2
  import TextFieldComponent from '../textfield/TextField';
3
3
  import _ from 'lodash';
4
- import { uniqueName, getBrowserInfo } from '../../utils/utils';
4
+ import { uniqueName, getBrowserInfo } from '../../utils';
5
5
  export default class TextAreaComponent extends TextFieldComponent {
6
6
  static schema(...extend) {
7
7
  return TextFieldComponent.schema({
@@ -58,8 +58,8 @@ export default class TextAreaComponent extends TextFieldComponent {
58
58
  if ((this.options.readOnly || this.disabled) && !this.isHtmlRenderMode()) {
59
59
  const elementStyle = this.info.attr.style || '';
60
60
  const children = `
61
- <div ${this._referenceAttributeName}="input"
62
- class="formio-editor-read-only-content"
61
+ <div ${this._referenceAttributeName}="input"
62
+ class="formio-editor-read-only-content"
63
63
  ${elementStyle ? `style='${elementStyle}'` : ''}
64
64
  role="textbox"
65
65
  aria-multiline="true"
@@ -1,7 +1,7 @@
1
1
  import Input from '../_classes/input/Input';
2
2
  import { conformToMask } from '@formio/vanilla-text-mask';
3
3
  import Inputmask from 'inputmask';
4
- import * as FormioUtils from '../../utils/utils';
4
+ import FormioUtils from '../../utils';
5
5
  import _ from 'lodash';
6
6
  export default class TextFieldComponent extends Input {
7
7
  static schema(...extend) {
@@ -1,6 +1,6 @@
1
1
  import moment from 'moment';
2
2
  import TextFieldComponent from '../textfield/TextField';
3
- import { getBrowserInfo } from '../../utils/utils';
3
+ import { getBrowserInfo } from '../../utils';
4
4
  const defaultDataFormat = 'HH:mm:ss';
5
5
  export default class TimeComponent extends TextFieldComponent {
6
6
  static schema(...extend) {
@@ -8,11 +8,11 @@ import Providers from './providers';
8
8
  import Widgets from './widgets';
9
9
  import Form from './Form';
10
10
  import Utils from './utils';
11
- import { Evaluator } from './utils/Evaluator';
12
11
  import Licenses from './licenses';
13
12
  import EventEmitter from './EventEmitter';
14
13
  import Webform from './Webform';
15
14
  import { I18n } from './utils/i18n';
15
+ import { Evaluator, registerEvaluator } from './utils';
16
16
  Formio.loadModules = (path = `${Formio.getApiUrl()}/externalModules.js`, name = 'externalModules') => {
17
17
  Formio.requireLibrary(name, name, path, true)
18
18
  .then((modules) => {
@@ -83,7 +83,7 @@ export function registerModule(mod, defaultFn = null, options = {}) {
83
83
  Formio.Displays.addDisplays(mod.displays);
84
84
  break;
85
85
  case 'evaluator':
86
- Formio.Evaluator.registerEvaluator(mod.evaluator);
86
+ registerEvaluator(mod.evaluator);
87
87
  break;
88
88
  case 'translations':
89
89
  I18n.setDefaultTranslations(mod.translations);
package/lib/mjs/i18n.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import enTranslation from './translations/en';
2
- import { fastCloneDeep } from './utils/utils';
2
+ import { fastCloneDeep } from './utils';
3
3
  export default {
4
4
  lng: 'en',
5
5
  nsSeparator: '::',
@@ -1,4 +1,4 @@
1
- import { uniqueName } from '../../utils/utils';
1
+ import { uniqueName } from '../../utils';
2
2
  /**
3
3
  * UploadAdapter for CKEditor https://ckeditor.com/docs/ckeditor5/latest/framework/guides/deep-dive/upload-adapter.html
4
4
  */
@@ -1,7 +1,21 @@
1
- export class Evaluator {
2
- static cache: {};
3
- static protectedEval: boolean;
4
- static noeval: boolean;
5
- static template(template: any, hash: any): any;
6
- static interpolate(rawTemplate: any, data: any, _options: any): any;
1
+ /**
2
+ * For backwards compatibility we a standalone interpolate function. This merely calls the
3
+ * global mutable Evaluator instance's interpolate function.
4
+ * @param {...any} args - interpolate arguments, typically "rawTemplate", "data", and "options"
5
+ * @returns {any} the interpolation result.
6
+ */
7
+ export function interpolate(...args: any[]): any;
8
+ /**
9
+ * Set the evaluator to use for evaluating expressions.
10
+ * @param {CoreEvaluator} override - The new evaluator instance to use.
11
+ * @returns {void}
12
+ */
13
+ export function registerEvaluator(override: CoreEvaluator): void;
14
+ export class DefaultEvaluator extends CoreEvaluator {
15
+ cache: {};
16
+ protectedEval: boolean;
17
+ template(template: any, hash: any): any;
18
+ interpolate(rawTemplate: any, data: any, _options: any): any;
7
19
  }
20
+ export let Evaluator: DefaultEvaluator;
21
+ import { DefaultEvaluator as CoreEvaluator } from '@formio/core';
@@ -1,25 +1,24 @@
1
1
  import _ from 'lodash';
2
2
  import stringHash from 'string-hash';
3
- import { JSONLogicEvaluator as CoreEvaluator } from '@formio/core/utils';
4
- export class Evaluator extends CoreEvaluator {
5
- static cache = {};
6
- static protectedEval = false;
7
- static noeval = false;
8
- static template(template, hash) {
3
+ import { DefaultEvaluator as CoreEvaluator } from '@formio/core';
4
+ export class DefaultEvaluator extends CoreEvaluator {
5
+ cache = {};
6
+ protectedEval = false;
7
+ template(template, hash) {
9
8
  hash = hash || stringHash(template);
10
- if (Evaluator.cache[hash]) {
11
- return Evaluator.cache[hash];
9
+ if (this.cache[hash]) {
10
+ return this.cache[hash];
12
11
  }
13
12
  try {
14
13
  // Ensure we handle copied templates from the ejs files.
15
14
  template = template.replace(/ctx\./g, '');
16
- return (Evaluator.cache[hash] = _.template(template, Evaluator.templateSettings));
15
+ return (this.cache[hash] = _.template(template, this.templateSettings));
17
16
  }
18
17
  catch (err) {
19
18
  console.warn('Error while processing template', err, template);
20
19
  }
21
20
  }
22
- static interpolate(rawTemplate, data, _options) {
21
+ interpolate(rawTemplate, data, _options) {
23
22
  // Ensure reverse compatability.
24
23
  const options = _.isObject(_options) ? _options : { noeval: _options };
25
24
  if (typeof rawTemplate === 'function') {
@@ -33,11 +32,11 @@ export class Evaluator extends CoreEvaluator {
33
32
  }
34
33
  rawTemplate = String(rawTemplate);
35
34
  let template;
36
- if (Evaluator.noeval || options.noeval) {
37
- return CoreEvaluator.interpolateString(rawTemplate, data, _options);
35
+ if (this.noeval || options.noeval) {
36
+ return this.interpolateString(rawTemplate, data, _options);
38
37
  }
39
38
  else {
40
- template = Evaluator.template(rawTemplate);
39
+ template = this.template(rawTemplate);
41
40
  }
42
41
  if (typeof template === 'function') {
43
42
  try {
@@ -51,3 +50,22 @@ export class Evaluator extends CoreEvaluator {
51
50
  return template;
52
51
  }
53
52
  }
53
+ export let Evaluator = new DefaultEvaluator();
54
+ // preserve the standalone interpolate function for backwards compatibility
55
+ /**
56
+ * For backwards compatibility we a standalone interpolate function. This merely calls the
57
+ * global mutable Evaluator instance's interpolate function.
58
+ * @param {...any} args - interpolate arguments, typically "rawTemplate", "data", and "options"
59
+ * @returns {any} the interpolation result.
60
+ */
61
+ export function interpolate(...args) {
62
+ return Evaluator.interpolate(...args);
63
+ }
64
+ /**
65
+ * Set the evaluator to use for evaluating expressions.
66
+ * @param {CoreEvaluator} override - The new evaluator instance to use.
67
+ * @returns {void}
68
+ */
69
+ export function registerEvaluator(override) {
70
+ Evaluator = override;
71
+ }
@@ -1,5 +1,5 @@
1
1
  import _ from 'lodash';
2
- import { eachComponent, uniqueKey } from './utils';
2
+ import { eachComponent, uniqueKey } from './index';
3
3
  export default {
4
4
  /**
5
5
  * Appends a number to a component.key to keep it unique
@@ -1,6 +1,6 @@
1
1
  import ConditionOperator from './ConditionOperator';
2
2
  import _ from 'lodash';
3
- import { compareSelectResourceWithObjectTypeValues, isSelectResourceWithObjectValue } from '../utils';
3
+ import { compareSelectResourceWithObjectTypeValues, isSelectResourceWithObjectValue } from '../';
4
4
  export default class IsEqualTo extends ConditionOperator {
5
5
  static get operatorKey() {
6
6
  return 'isEqual';
@@ -1,4 +1,4 @@
1
- import { Evaluator } from '@formio/core/utils';
1
+ import { Evaluator } from './Evaluator';
2
2
  import i18n from '../i18n';
3
3
  import { isEmpty } from 'lodash';
4
4
  import { fastCloneDeep } from '@formio/core';
@@ -1,3 +1,170 @@
1
- export { FormioUtils as Utils };
1
+ export * from "./utils";
2
+ export * from "./formUtils";
2
3
  export default FormioUtils;
3
- import * as FormioUtils from './utils';
4
+ declare const FormioUtils: {
5
+ Evaluator: import("./Evaluator").DefaultEvaluator;
6
+ interpolate: typeof interpolate;
7
+ ConditionOperators: {
8
+ [x: string]: typeof import("./conditionOperators/IsEqualTo").default | typeof import("./conditionOperators/DateGreaterThan").default;
9
+ };
10
+ _: any;
11
+ moment: typeof moment;
12
+ flattenComponents: typeof import("@formio/core/lib/utils/formUtil").flattenComponents;
13
+ guid: typeof import("@formio/core/lib/utils/formUtil").guid;
14
+ uniqueName: typeof import("@formio/core/lib/utils/formUtil").uniqueName;
15
+ MODEL_TYPES_OF_KNOWN_COMPONENTS: {
16
+ nestedArray: string[];
17
+ nestedDataArray: string[];
18
+ dataObject: string[];
19
+ object: string[];
20
+ map: string[];
21
+ content: string[];
22
+ string: string[];
23
+ number: string[];
24
+ boolean: string[];
25
+ none: string[];
26
+ any: string[];
27
+ };
28
+ getModelType: typeof import("@formio/core/lib/utils/formUtil").getModelType;
29
+ getComponentPath: any;
30
+ setComponentScope: typeof import("@formio/core/lib/utils/formUtil").setComponentScope;
31
+ resetComponentScope: typeof import("@formio/core/lib/utils/formUtil").resetComponentScope;
32
+ isComponentNestedDataType: typeof import("@formio/core/lib/utils/formUtil").isComponentNestedDataType;
33
+ componentPath: typeof import("@formio/core/lib/utils/formUtil").componentPath;
34
+ getComponentPaths: typeof import("@formio/core/lib/utils/formUtil").getComponentPaths;
35
+ componentMatches: typeof import("@formio/core/lib/utils/formUtil").componentMatches;
36
+ getBestMatch: typeof import("@formio/core/lib/utils/formUtil").getBestMatch;
37
+ getComponentFromPath: typeof import("@formio/core/lib/utils/formUtil").getComponentFromPath;
38
+ getComponentValue: typeof import("@formio/core/lib/utils/formUtil").getComponentValue;
39
+ findComponents: typeof import("@formio/core/lib/utils/formUtil").findComponents;
40
+ eachComponentDataAsync: (components: import("@formio/core").Component[], data: import("@formio/core").DataObject, fn: import("@formio/core").EachComponentDataAsyncCallback, includeAll?: boolean | undefined, local?: boolean | undefined, parent?: import("@formio/core").Component | undefined, parentPaths?: import("@formio/core").ComponentPaths | undefined) => Promise<void>;
41
+ eachComponentData: (components: import("@formio/core").Component[], data: import("@formio/core").DataObject, fn: import("@formio/core").EachComponentDataCallback, includeAll?: boolean | undefined, local?: boolean | undefined, parent?: import("@formio/core").Component | undefined, parentPaths?: import("@formio/core").ComponentPaths | undefined) => void;
42
+ getComponentKey: typeof import("@formio/core/lib/utils/formUtil").getComponentKey;
43
+ getContextualRowPath: typeof import("@formio/core/lib/utils/formUtil").getContextualRowPath;
44
+ getContextualRowData: typeof import("@formio/core/lib/utils/formUtil").getContextualRowData;
45
+ componentInfo: typeof import("@formio/core/lib/utils/formUtil").componentInfo;
46
+ eachComponent: typeof import("@formio/core/lib/utils/formUtil").eachComponent;
47
+ eachComponentAsync: typeof import("@formio/core/lib/utils/formUtil").eachComponentAsync;
48
+ getComponentData: typeof import("@formio/core/lib/utils/formUtil").getComponentData;
49
+ getComponentActualValue: any;
50
+ isLayoutComponent: typeof import("@formio/core/lib/utils/formUtil").isLayoutComponent;
51
+ matchComponent: typeof import("@formio/core/lib/utils/formUtil").matchComponent;
52
+ getComponent: typeof import("@formio/core/lib/utils/formUtil").getComponent;
53
+ searchComponents: typeof import("@formio/core/lib/utils/formUtil").searchComponents;
54
+ removeComponent: typeof import("@formio/core/lib/utils/formUtil").removeComponent;
55
+ hasCondition: typeof import("@formio/core/lib/utils/formUtil").hasCondition;
56
+ parseFloatExt: typeof import("@formio/core/lib/utils/formUtil").parseFloatExt;
57
+ formatAsCurrency: typeof import("@formio/core/lib/utils/formUtil").formatAsCurrency;
58
+ escapeRegExCharacters: typeof import("@formio/core/lib/utils/formUtil").escapeRegExCharacters;
59
+ getValue: typeof import("@formio/core/lib/utils/formUtil").getValue;
60
+ getStrings: typeof import("@formio/core/lib/utils/formUtil").getStrings;
61
+ generateFormChange: typeof import("@formio/core/lib/utils/formUtil").generateFormChange;
62
+ applyFormChanges: typeof import("@formio/core/lib/utils/formUtil").applyFormChanges;
63
+ findComponent: typeof import("@formio/core/lib/utils/formUtil").findComponent;
64
+ getEmptyValue: typeof import("@formio/core/lib/utils/formUtil").getEmptyValue;
65
+ isComponentDataEmpty: typeof import("@formio/core/lib/utils/formUtil").isComponentDataEmpty;
66
+ isSelectResourceWithObjectValue: typeof import("@formio/core/lib/utils/formUtil").isSelectResourceWithObjectValue;
67
+ compareSelectResourceWithObjectTypeValues: typeof import("@formio/core/lib/utils/formUtil").compareSelectResourceWithObjectTypeValues;
68
+ getItemTemplateKeys: typeof import("@formio/core/lib/utils/formUtil").getItemTemplateKeys;
69
+ evaluate(func: string | object | Function, args: any, ret: string, interpolate: boolean, options?: import("@formio/core").EvaluatorOptions): any;
70
+ getRandomComponentId(): string;
71
+ getPropertyValue(style: CSSStyleDeclaration, prop: string): number;
72
+ getElementRect(element: HTMLElement): {
73
+ x: number;
74
+ y: number;
75
+ width: number;
76
+ height: number;
77
+ };
78
+ getScriptPlugin(property: string): any;
79
+ boolValue(value: string | boolean): boolean;
80
+ isMongoId(text: string): boolean;
81
+ checkCalculated(component: import("@formio/core").Component, submission: import("@formio/core").Submission, rowData: any): void;
82
+ checkSimpleConditional(component: any, condition: any, row: any, data: any, instance: any): boolean;
83
+ checkCustomConditional(component: import("@formio/core").Component, custom: string, row: any, data: any, form: import("@formio/core").Form, variable: string, onError: any, instance: any): any;
84
+ checkJsonConditional(component: import("@formio/core").Component, json: import("@formio/core").JSONConditional, row: any, data: any, form: import("@formio/core").Form, onError: any): boolean;
85
+ checkCondition(component: import("@formio/core").Component, row: any, data: any, form: import("@formio/core").Form, instance: any): boolean;
86
+ checkTrigger(component: import("@formio/core").Component, trigger: any, row: import("@formio/core").DataObject, data: import("@formio/core").DataObject, form: import("@formio/core").Form, instance: any): boolean;
87
+ setActionProperty(component: import("@formio/core").Component, action: any, result: string, row: import("@formio/core").DataObject, data: import("@formio/core").DataObject, instance: any): import("@formio/core").Component;
88
+ removeHTML(str: string): string;
89
+ unescapeHTML(str: string): string;
90
+ convertStringToHTMLElement(str: string, selector: string): HTMLElement;
91
+ getDateSetting(date: string | Date): import("dayjs").Dayjs | null;
92
+ isValidDate(date: string | Date): boolean;
93
+ currentTimezone(): string;
94
+ offsetDate(date: Date, timezone: string): {
95
+ date: Date;
96
+ abbr: string;
97
+ };
98
+ shouldHandleTimezone(timezone: string): boolean;
99
+ dayjsDate(value: string | Date, format: string, timezone: string, options: object): import("dayjs").Dayjs;
100
+ formatDate(value: string | Date, format: string, timezone: string, flatPickrInputFormat: string): string;
101
+ formatOffset(formatFn: Function, date: string | Date, format: string, timezone: string): string;
102
+ getLocaleDateFormatInfo(locale: Intl.LocalesArgument): object;
103
+ convertFormatToFlatpickr(format: string): string;
104
+ convertFormatToDayjs(format: string): string;
105
+ convertFormatToMask(format: string): string;
106
+ getInputMask(mask: string, placeholderChar: string): any[];
107
+ unmaskValue(value: string, mask: string, placeholderChar: string): string;
108
+ matchInputMask(value: string, inputMask: string): boolean;
109
+ getNumberSeparators(lang?: string): {
110
+ delimiter: string;
111
+ decimalSeparator: string;
112
+ };
113
+ getNumberDecimalLimit(component: import("@formio/core").Component, defaultLimit: number): number;
114
+ getCurrencyAffixes({ currency, decimalLimit, decimalSeparator, lang, }: {
115
+ currency: string;
116
+ decimalLimit: number;
117
+ decimalSeparator: string;
118
+ lang: string;
119
+ }): {
120
+ prefix: string;
121
+ suffix: string;
122
+ };
123
+ fieldData(data: import("@formio/core").DataObject, component: import("@formio/core").Component): any;
124
+ delay(fn: Function, delay?: number, ...args: any[]): any;
125
+ iterateKey(key: string): string;
126
+ uniqueKey(map: Record<string, string>, base: string): string;
127
+ bootstrapVersion(options: {
128
+ bootstrap: string;
129
+ }): number;
130
+ unfold(e: any): any;
131
+ withSwitch(a: any, b: any): Functions[];
132
+ observeOverload(callback: Function, options?: {
133
+ limit: number;
134
+ delay: number;
135
+ }): Function;
136
+ getContextComponents(context: any, excludeNested: boolean, excludedTypes?: string[]): any[];
137
+ getContextButtons(context: any): any[];
138
+ translateHTMLTemplate(template: string, translate: Function): string;
139
+ sanitize(string: string, options: any): string;
140
+ fastCloneDeep(obj: any): any;
141
+ isInputComponent(componentJson: import("@formio/core").Component): boolean;
142
+ getArrayFromComponentPath(pathStr: string): string[];
143
+ isChildOf(child: any, parent: any): boolean;
144
+ getStringFromComponentPath(path: number[]): string;
145
+ round(number: number, precision: number): string;
146
+ getIEBrowserVersion(): number | null;
147
+ getBrowserInfo(): object;
148
+ getComponentPathWithoutIndicies(path?: string): string;
149
+ getDataParentComponent(componentInstance: Component): any;
150
+ isPromise(value: any): boolean;
151
+ getFocusableElements(element: HTMLElement): NodeList<HTMLElement>;
152
+ getComponentSavedTypes(fullSchema: import("@formio/core").Component): string[] | null;
153
+ hasEncodedTimezone(value: string): boolean;
154
+ firstNonNil: any;
155
+ componentValueTypes: {
156
+ number: string;
157
+ string: string;
158
+ boolean: string;
159
+ array: string;
160
+ object: string;
161
+ date: string;
162
+ any: string;
163
+ };
164
+ interpolateErrors: (component: Component, errors: FieldError[], interpolateFn: Function) => [];
165
+ };
166
+ import { Evaluator } from './Evaluator';
167
+ import { registerEvaluator } from './Evaluator';
168
+ import { interpolate } from './Evaluator';
169
+ import moment from 'moment';
170
+ export { FormioUtils as Utils, Evaluator, registerEvaluator };
@@ -1,6 +1,23 @@
1
- import * as FormioUtils from './utils';
1
+ import * as utils from './utils';
2
+ import * as formUtils from './formUtils';
3
+ import { Evaluator, registerEvaluator, interpolate } from './Evaluator';
4
+ import ConditionOperators from './conditionOperators';
5
+ import _ from 'lodash';
6
+ import moment from 'moment';
7
+ const FormioUtils = {
8
+ ...utils,
9
+ ...formUtils,
10
+ Evaluator,
11
+ interpolate,
12
+ ConditionOperators,
13
+ _,
14
+ moment
15
+ };
2
16
  if (typeof global === 'object') {
3
17
  global.FormioUtils = FormioUtils;
4
18
  }
5
19
  export { FormioUtils as Utils };
20
+ export { Evaluator, registerEvaluator };
21
+ export * from './utils';
22
+ export * from './formUtils';
6
23
  export default FormioUtils;
@@ -164,9 +164,9 @@ export function guid(): string;
164
164
  /**
165
165
  * Return a translated date setting.
166
166
  * @param {string|Date} date - The date to translate.
167
- * @returns {(null|Date)} - The translated date.
167
+ * @returns {(null|dayjs.Dayjs)} - The translated date.
168
168
  */
169
- export function getDateSetting(date: string | Date): (null | Date);
169
+ export function getDateSetting(date: string | Date): (null | dayjs.Dayjs);
170
170
  /**
171
171
  * Returns true if the date is a valid date. False otherwise.
172
172
  * @param {Date|string} date - The date to check for validity.
@@ -182,56 +182,45 @@ export function currentTimezone(): string;
182
182
  * Get an offset date provided a date object and timezone object.
183
183
  * @param {Date} date - The date to offset.
184
184
  * @param {string} timezone - The timezone to offset the date to.
185
- * @returns {Date} - The offset date.
185
+ * @returns {{date: Date, abbr: string}} - The offset date.
186
186
  */
187
- export function offsetDate(date: Date, timezone: string): Date;
188
- /**
189
- * Returns if the zones are loaded.
190
- * @returns {boolean} - TRUE if the zones are loaded; FALSE otherwise.
191
- */
192
- export function zonesLoaded(): boolean;
187
+ export function offsetDate(date: Date, timezone: string): {
188
+ date: Date;
189
+ abbr: string;
190
+ };
193
191
  /**
194
- * Returns if we should load the zones.
192
+ * Returns if we should handle a timezone difference.
195
193
  * @param {string} timezone - The timezone to check if we should load the zones.
196
- * @returns {boolean} - TRUE if we should load the zones; FALSE otherwise.
197
- */
198
- export function shouldLoadZones(timezone: string): boolean;
199
- /**
200
- * Externally load the timezone data.
201
- * @param {string} url - The URL to load the timezone data from.
202
- * @param {string} timezone - The timezone to load.
203
- * @returns {Promise<any> | *} - Resolves when the zones for this timezone are loaded.
194
+ * @returns {boolean} - TRUE if we should handle timezones; FALSE otherwise.
204
195
  */
205
- export function loadZones(url: string, timezone: string): Promise<any> | any;
196
+ export function shouldHandleTimezone(timezone: string): boolean;
206
197
  /**
207
- * Get the moment date object for translating dates with timezones.
208
- * @param {string|Date} value - The value to convert into a moment date.
198
+ * Get the Dayjs date object for translating dates with timezones.
199
+ * @param {string|Date} value - The value to convert into a dayjs date.
209
200
  * @param {string} format - The format to convert the date to.
210
201
  * @param {string} timezone - The timezone to convert the date to.
211
202
  * @param {object} options - The options object
212
- * @returns {Date} - The moment date object.
203
+ * @returns {dayjs.Dayjs} - The dayjs date object.
213
204
  */
214
- export function momentDate(value: string | Date, format: string, timezone: string, options: object): Date;
205
+ export function dayjsDate(value: string | Date, format: string, timezone: string, options: object): dayjs.Dayjs;
215
206
  /**
216
207
  * Format a date provided a value, format, and timezone object.
217
- * @param {string} timezonesUrl - The URL to load the timezone data from.
218
208
  * @param {string|Date} value - The value to format.
219
209
  * @param {string} format - The format to format the date to.
220
210
  * @param {string} timezone - The timezone to format the date to.
221
211
  * @param {string} flatPickrInputFormat - The format to use for flatpickr input.
222
212
  * @returns {string} - The formatted date.
223
213
  */
224
- export function formatDate(timezonesUrl: string, value: string | Date, format: string, timezone: string, flatPickrInputFormat: string): string;
214
+ export function formatDate(value: string | Date, format: string, timezone: string, flatPickrInputFormat: string): string;
225
215
  /**
226
216
  * Pass a format function to format within a timezone.
227
- * @param {string} timezonesUrl - The URL to load the timezone data from.
228
217
  * @param {Function} formatFn - The format function to use.
229
218
  * @param {Date|string} date - The date to format.
230
219
  * @param {string} format - The format to format the date to.
231
220
  * @param {string} timezone - The timezone to format the date to.
232
221
  * @returns {string} - The formatted date.
233
222
  */
234
- export function formatOffset(timezonesUrl: string, formatFn: Function, date: Date | string, format: string, timezone: string): string;
223
+ export function formatOffset(formatFn: Function, date: Date | string, format: string, timezone: string): string;
235
224
  /**
236
225
  * Returns the local date format information.
237
226
  * @param {Intl.LocalesArgument} locale - The locale to get the date format for.
@@ -249,7 +238,7 @@ export function convertFormatToFlatpickr(format: string): string;
249
238
  * @param {string} format - The format to convert.
250
239
  * @returns {string} - The converted format.
251
240
  */
252
- export function convertFormatToMoment(format: string): string;
241
+ export function convertFormatToDayjs(format: string): string;
253
242
  /**
254
243
  * Convert the format from the angular-datepicker module to mask format.
255
244
  * @param {string} format - The format to convert.
@@ -414,15 +403,15 @@ export function fastCloneDeep(obj: any): any;
414
403
  /**
415
404
  * Returns if the component is an input component.
416
405
  * @param {import('@formio/core').Component} componentJson - The JSON of a component.
417
- * @returns {bool} - TRUE if the component is an input component; FALSE otherwise.
406
+ * @returns {boolean} - TRUE if the component is an input component; FALSE otherwise.
418
407
  */
419
- export function isInputComponent(componentJson: import('@formio/core').Component): bool;
408
+ export function isInputComponent(componentJson: import('@formio/core').Component): boolean;
420
409
  /**
421
410
  * Takes a component path, and returns a component path array.
422
411
  * @param {string} pathStr - The path string to convert to an array.
423
- * @returns {Arryay<number>} - The array of paths.
412
+ * @returns {Array<string>} - The array of paths.
424
413
  */
425
- export function getArrayFromComponentPath(pathStr: string): Arryay<number>;
414
+ export function getArrayFromComponentPath(pathStr: string): Array<string>;
426
415
  /**
427
416
  * Returns true if the component is a child of the parent.
428
417
  * @param {any} child - The child component to check.
@@ -499,7 +488,6 @@ export function getComponentSavedTypes(fullSchema: import('@formio/core').Compon
499
488
  * @returns {boolean} if value has encoded timezone
500
489
  */
501
490
  export function hasEncodedTimezone(value: string): boolean;
502
- export * from "./formUtils";
503
491
  /**
504
492
  * Map values through unfold and return first non-nil value.
505
493
  * @param {Array<T>} collection - The collection to map through unfold.;
@@ -516,7 +504,4 @@ export namespace componentValueTypes {
516
504
  let any: string;
517
505
  }
518
506
  export function interpolateErrors(component: Component, errors: FieldError[], interpolateFn: Function): [];
519
- import ConditionOperators from './conditionOperators';
520
- import { Evaluator } from './Evaluator';
521
- export const interpolate: typeof Evaluator.interpolate;
522
- export { jsonLogic, ConditionOperators, moment, Evaluator, _ };
507
+ import dayjs from "dayjs";