@formio/js 5.1.0-dev.6094.c49181e → 5.1.0-dev.6102.8eddaab

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/dist/formio.form.js +84 -117
  2. package/dist/formio.form.min.js +1 -1
  3. package/dist/formio.full.js +90 -123
  4. package/dist/formio.full.min.js +1 -1
  5. package/dist/formio.js +33 -44
  6. package/dist/formio.min.js +1 -1
  7. package/dist/formio.utils.js +44 -66
  8. package/dist/formio.utils.min.js +1 -1
  9. package/lib/cjs/Element.js +13 -36
  10. package/lib/cjs/EventEmitter.js +2 -25
  11. package/lib/cjs/Form.js +2 -25
  12. package/lib/cjs/PDF.js +1 -1
  13. package/lib/cjs/PDFBuilder.js +4 -5
  14. package/lib/cjs/Webform.js +5 -6
  15. package/lib/cjs/WebformBuilder.d.ts +1 -0
  16. package/lib/cjs/WebformBuilder.js +22 -9
  17. package/lib/cjs/Wizard.js +1 -1
  18. package/lib/cjs/WizardBuilder.js +1 -1
  19. package/lib/cjs/components/_classes/component/Component.d.ts +0 -1
  20. package/lib/cjs/components/_classes/component/Component.js +29 -53
  21. package/lib/cjs/components/_classes/component/editForm/Component.edit.conditional.js +1 -1
  22. package/lib/cjs/components/_classes/component/editForm/Component.edit.logic.js +1 -1
  23. package/lib/cjs/components/_classes/componentModal/ComponentModal.js +1 -1
  24. package/lib/cjs/components/_classes/input/Input.js +1 -1
  25. package/lib/cjs/components/_classes/list/ListComponent.js +1 -1
  26. package/lib/cjs/components/_classes/nested/NestedComponent.js +6 -6
  27. package/lib/cjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
  28. package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +1 -1
  29. package/lib/cjs/components/address/Address.js +1 -1
  30. package/lib/cjs/components/alert/Alert.js +1 -1
  31. package/lib/cjs/components/button/Button.d.ts +1 -1
  32. package/lib/cjs/components/button/Button.js +4 -4
  33. package/lib/cjs/components/checkbox/Checkbox.js +1 -1
  34. package/lib/cjs/components/container/Container.js +1 -1
  35. package/lib/cjs/components/currency/Currency.js +1 -1
  36. package/lib/cjs/components/datagrid/DataGrid.js +1 -1
  37. package/lib/cjs/components/datamap/DataMap.d.ts +1 -1
  38. package/lib/cjs/components/datamap/DataMap.js +4 -4
  39. package/lib/cjs/components/datetime/DateTime.d.ts +1 -1
  40. package/lib/cjs/components/datetime/DateTime.js +13 -15
  41. package/lib/cjs/components/day/Day.js +1 -1
  42. package/lib/cjs/components/editgrid/EditGrid.js +1 -1
  43. package/lib/cjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -1
  44. package/lib/cjs/components/file/File.js +1 -1
  45. package/lib/cjs/components/form/Form.js +1 -1
  46. package/lib/cjs/components/number/Number.js +1 -1
  47. package/lib/cjs/components/panel/Panel.js +1 -1
  48. package/lib/cjs/components/radio/Radio.js +1 -1
  49. package/lib/cjs/components/recaptcha/editForm/ReCaptcha.edit.display.js +1 -1
  50. package/lib/cjs/components/select/Select.js +1 -1
  51. package/lib/cjs/components/select/editForm/Select.edit.data.js +1 -1
  52. package/lib/cjs/components/selectboxes/SelectBoxes.js +1 -1
  53. package/lib/cjs/components/signature/Signature.js +1 -1
  54. package/lib/cjs/components/survey/Survey.js +1 -1
  55. package/lib/cjs/components/tags/Tags.js +1 -1
  56. package/lib/cjs/components/textarea/TextArea.js +3 -3
  57. package/lib/cjs/components/textfield/TextField.js +7 -30
  58. package/lib/cjs/components/time/Time.js +1 -1
  59. package/lib/cjs/formio.form.js +3 -3
  60. package/lib/cjs/i18n.js +1 -1
  61. package/lib/cjs/providers/storage/uploadAdapter.js +1 -1
  62. package/lib/cjs/utils/Evaluator.d.ts +13 -6
  63. package/lib/cjs/utils/Evaluator.js +27 -15
  64. package/lib/cjs/utils/builder.js +5 -5
  65. package/lib/cjs/utils/conditionOperators/IsEqualTo.js +3 -3
  66. package/lib/cjs/utils/i18n.js +3 -3
  67. package/lib/cjs/utils/index.d.ts +160 -2
  68. package/lib/cjs/utils/index.js +12 -2
  69. package/lib/cjs/utils/utils.d.ts +28 -23
  70. package/lib/cjs/utils/utils.js +91 -89
  71. package/lib/cjs/widgets/CalendarWidget.d.ts +7 -0
  72. package/lib/cjs/widgets/CalendarWidget.js +37 -13
  73. package/lib/mjs/Element.js +6 -6
  74. package/lib/mjs/EventEmitter.js +2 -2
  75. package/lib/mjs/Form.js +1 -1
  76. package/lib/mjs/PDF.js +1 -1
  77. package/lib/mjs/PDFBuilder.js +1 -2
  78. package/lib/mjs/Webform.js +3 -4
  79. package/lib/mjs/WebformBuilder.d.ts +1 -0
  80. package/lib/mjs/WebformBuilder.js +14 -2
  81. package/lib/mjs/Wizard.js +1 -1
  82. package/lib/mjs/WizardBuilder.js +1 -1
  83. package/lib/mjs/components/_classes/component/Component.d.ts +0 -1
  84. package/lib/mjs/components/_classes/component/Component.js +2 -3
  85. package/lib/mjs/components/_classes/component/editForm/Component.edit.conditional.js +1 -1
  86. package/lib/mjs/components/_classes/component/editForm/Component.edit.logic.js +1 -1
  87. package/lib/mjs/components/_classes/componentModal/ComponentModal.js +1 -1
  88. package/lib/mjs/components/_classes/input/Input.js +1 -1
  89. package/lib/mjs/components/_classes/list/ListComponent.js +1 -1
  90. package/lib/mjs/components/_classes/nested/NestedComponent.js +6 -6
  91. package/lib/mjs/components/_classes/nestedarray/NestedArrayComponent.js +1 -1
  92. package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +1 -1
  93. package/lib/mjs/components/address/Address.js +1 -1
  94. package/lib/mjs/components/alert/Alert.js +1 -1
  95. package/lib/mjs/components/button/Button.d.ts +1 -1
  96. package/lib/mjs/components/button/Button.js +1 -1
  97. package/lib/mjs/components/checkbox/Checkbox.js +1 -1
  98. package/lib/mjs/components/container/Container.js +1 -1
  99. package/lib/mjs/components/currency/Currency.js +1 -1
  100. package/lib/mjs/components/datagrid/DataGrid.js +1 -1
  101. package/lib/mjs/components/datamap/DataMap.d.ts +1 -1
  102. package/lib/mjs/components/datamap/DataMap.js +1 -1
  103. package/lib/mjs/components/datetime/DateTime.d.ts +1 -1
  104. package/lib/mjs/components/datetime/DateTime.js +13 -15
  105. package/lib/mjs/components/day/Day.js +1 -1
  106. package/lib/mjs/components/editgrid/EditGrid.js +1 -1
  107. package/lib/mjs/components/editgrid/editForm/EditGrid.edit.display.js +1 -1
  108. package/lib/mjs/components/file/File.js +1 -1
  109. package/lib/mjs/components/form/Form.js +1 -1
  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 +13 -6
  127. package/lib/mjs/utils/Evaluator.js +21 -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 +160 -2
  132. package/lib/mjs/utils/index.js +11 -1
  133. package/lib/mjs/utils/utils.d.ts +28 -23
  134. package/lib/mjs/utils/utils.js +83 -67
  135. package/lib/mjs/widgets/CalendarWidget.d.ts +7 -0
  136. package/lib/mjs/widgets/CalendarWidget.js +37 -13
  137. package/package.json +2 -3
@@ -33,7 +33,7 @@ export default [
33
33
  weight: 1002,
34
34
  input: false,
35
35
  customConditional() {
36
- return !Evaluator.noeval;
36
+ return !Evaluator.noeval || !Evaluator.protectedEval;
37
37
  },
38
38
  },
39
39
  {
@@ -1,5 +1,5 @@
1
1
  import Field from '../_classes/field/Field';
2
- import { componentValueTypes, getComponentSavedTypes, uniqueName } from '../../utils/utils';
2
+ import { componentValueTypes, getComponentSavedTypes, uniqueName } from '../../utils';
3
3
  import download from 'downloadjs';
4
4
  import _ from 'lodash';
5
5
  import fileProcessor from '../../providers/processor/fileProcessor';
@@ -3,7 +3,7 @@ import _ from 'lodash';
3
3
  import Component from '../_classes/component/Component';
4
4
  import ComponentModal from '../_classes/componentModal/ComponentModal';
5
5
  import EventEmitter from 'eventemitter3';
6
- import { isMongoId, eachComponent, componentValueTypes } from '../../utils/utils';
6
+ import { isMongoId, eachComponent, componentValueTypes } from '../../utils';
7
7
  import { Formio } from '../../Formio';
8
8
  import Form from '../../Form';
9
9
  export default class FormComponent extends Component {
@@ -2,7 +2,7 @@ import { createNumberMask } from '@formio/text-mask-addons';
2
2
  import { conformToMask, maskInput } from '@formio/vanilla-text-mask';
3
3
  import _ from 'lodash';
4
4
  import Input from '../_classes/input/Input';
5
- import { getNumberSeparators, getNumberDecimalLimit, componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
5
+ import { getNumberSeparators, getNumberDecimalLimit, componentValueTypes, getComponentSavedTypes } from '../../utils/';
6
6
  export default class NumberComponent extends Input {
7
7
  static schema(...extend) {
8
8
  return Input.schema({
@@ -1,5 +1,5 @@
1
1
  import NestedComponent from '../_classes/nested/NestedComponent';
2
- import { isChildOf } from '../../utils/utils';
2
+ import { isChildOf } from '../../utils';
3
3
  export default class PanelComponent extends NestedComponent {
4
4
  static schema(...extend) {
5
5
  return NestedComponent.schema({
@@ -1,7 +1,7 @@
1
1
  import _ from 'lodash';
2
2
  import ListComponent from '../_classes/list/ListComponent';
3
3
  import { Formio } from '../../Formio';
4
- import { boolValue, componentValueTypes, getComponentSavedTypes } from '../../utils/utils';
4
+ import { boolValue, componentValueTypes, getComponentSavedTypes } from '../../utils';
5
5
  export default class RadioComponent extends ListComponent {
6
6
  static schema(...extend) {
7
7
  return ListComponent.schema({
@@ -1,4 +1,4 @@
1
- import { getContextButtons } from '../../../utils/utils';
1
+ import { getContextButtons } from '../../../utils';
2
2
  export default [
3
3
  {
4
4
  key: 'recaptchaInfo',
@@ -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,14 @@
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
+ * Set the evaluator to use for evaluating expressions.
3
+ * @param {CoreEvaluator} override - The new evaluator instance to use.
4
+ * @returns {void}
5
+ */
6
+ export function registerEvaluator(override: CoreEvaluator): void;
7
+ export class DefaultEvaluator extends CoreEvaluator {
8
+ cache: {};
9
+ protectedEval: boolean;
10
+ template(template: any, hash: any): any;
11
+ interpolate(rawTemplate: any, data: any, _options: any): any;
7
12
  }
13
+ export let Evaluator: DefaultEvaluator;
14
+ 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,12 @@ export class Evaluator extends CoreEvaluator {
51
50
  return template;
52
51
  }
53
52
  }
53
+ export let Evaluator = new DefaultEvaluator();
54
+ /**
55
+ * Set the evaluator to use for evaluating expressions.
56
+ * @param {CoreEvaluator} override - The new evaluator instance to use.
57
+ * @returns {void}
58
+ */
59
+ export function registerEvaluator(override) {
60
+ Evaluator = override;
61
+ }
@@ -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,161 @@
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
+ flattenComponents: typeof import("@formio/core/lib/utils/formUtil").flattenComponents;
7
+ guid: typeof import("@formio/core/lib/utils/formUtil").guid;
8
+ uniqueName: typeof import("@formio/core/lib/utils/formUtil").uniqueName;
9
+ MODEL_TYPES_OF_KNOWN_COMPONENTS: {
10
+ nestedArray: string[];
11
+ nestedDataArray: string[];
12
+ dataObject: string[];
13
+ object: string[];
14
+ map: string[];
15
+ content: string[];
16
+ string: string[];
17
+ number: string[];
18
+ boolean: string[];
19
+ none: string[];
20
+ any: string[];
21
+ };
22
+ getModelType: typeof import("@formio/core/lib/utils/formUtil").getModelType;
23
+ getComponentPath: any;
24
+ setComponentScope: typeof import("@formio/core/lib/utils/formUtil").setComponentScope;
25
+ resetComponentScope: typeof import("@formio/core/lib/utils/formUtil").resetComponentScope;
26
+ isComponentNestedDataType: typeof import("@formio/core/lib/utils/formUtil").isComponentNestedDataType;
27
+ componentPath: typeof import("@formio/core/lib/utils/formUtil").componentPath;
28
+ getComponentPaths: typeof import("@formio/core/lib/utils/formUtil").getComponentPaths;
29
+ componentMatches: typeof import("@formio/core/lib/utils/formUtil").componentMatches;
30
+ getBestMatch: typeof import("@formio/core/lib/utils/formUtil").getBestMatch;
31
+ getComponentFromPath: typeof import("@formio/core/lib/utils/formUtil").getComponentFromPath;
32
+ getComponentValue: typeof import("@formio/core/lib/utils/formUtil").getComponentValue;
33
+ findComponents: typeof import("@formio/core/lib/utils/formUtil").findComponents;
34
+ 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>;
35
+ 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;
36
+ getComponentKey: typeof import("@formio/core/lib/utils/formUtil").getComponentKey;
37
+ getContextualRowPath: typeof import("@formio/core/lib/utils/formUtil").getContextualRowPath;
38
+ getContextualRowData: typeof import("@formio/core/lib/utils/formUtil").getContextualRowData;
39
+ componentInfo: typeof import("@formio/core/lib/utils/formUtil").componentInfo;
40
+ eachComponent: typeof import("@formio/core/lib/utils/formUtil").eachComponent;
41
+ eachComponentAsync: typeof import("@formio/core/lib/utils/formUtil").eachComponentAsync;
42
+ getComponentData: typeof import("@formio/core/lib/utils/formUtil").getComponentData;
43
+ getComponentActualValue: any;
44
+ isLayoutComponent: typeof import("@formio/core/lib/utils/formUtil").isLayoutComponent;
45
+ matchComponent: typeof import("@formio/core/lib/utils/formUtil").matchComponent;
46
+ getComponent: typeof import("@formio/core/lib/utils/formUtil").getComponent;
47
+ searchComponents: typeof import("@formio/core/lib/utils/formUtil").searchComponents;
48
+ removeComponent: typeof import("@formio/core/lib/utils/formUtil").removeComponent;
49
+ hasCondition: typeof import("@formio/core/lib/utils/formUtil").hasCondition;
50
+ parseFloatExt: typeof import("@formio/core/lib/utils/formUtil").parseFloatExt;
51
+ formatAsCurrency: typeof import("@formio/core/lib/utils/formUtil").formatAsCurrency;
52
+ escapeRegExCharacters: typeof import("@formio/core/lib/utils/formUtil").escapeRegExCharacters;
53
+ getValue: typeof import("@formio/core/lib/utils/formUtil").getValue;
54
+ getStrings: typeof import("@formio/core/lib/utils/formUtil").getStrings;
55
+ generateFormChange: typeof import("@formio/core/lib/utils/formUtil").generateFormChange;
56
+ applyFormChanges: typeof import("@formio/core/lib/utils/formUtil").applyFormChanges;
57
+ findComponent: typeof import("@formio/core/lib/utils/formUtil").findComponent;
58
+ getEmptyValue: typeof import("@formio/core/lib/utils/formUtil").getEmptyValue;
59
+ isComponentDataEmpty: typeof import("@formio/core/lib/utils/formUtil").isComponentDataEmpty;
60
+ isSelectResourceWithObjectValue: typeof import("@formio/core/lib/utils/formUtil").isSelectResourceWithObjectValue;
61
+ compareSelectResourceWithObjectTypeValues: typeof import("@formio/core/lib/utils/formUtil").compareSelectResourceWithObjectTypeValues;
62
+ getItemTemplateKeys: typeof import("@formio/core/lib/utils/formUtil").getItemTemplateKeys;
63
+ evaluate(func: string | object | Function, args: any, ret: string, interpolate: boolean, options?: import("@formio/core").EvaluatorOptions): any;
64
+ getRandomComponentId(): string;
65
+ getPropertyValue(style: CSSStyleDeclaration, prop: string): number;
66
+ getElementRect(element: HTMLElement): {
67
+ x: number;
68
+ y: number;
69
+ width: number;
70
+ height: number;
71
+ };
72
+ getScriptPlugin(property: string): any;
73
+ boolValue(value: string | boolean): boolean;
74
+ isMongoId(text: string): boolean;
75
+ checkCalculated(component: import("@formio/core").Component, submission: import("@formio/core").Submission, rowData: any): void;
76
+ checkSimpleConditional(component: any, condition: any, row: any, data: any, instance: any): boolean;
77
+ checkCustomConditional(component: import("@formio/core").Component, custom: string, row: any, data: any, form: import("@formio/core").Form, variable: string, onError: any, instance: any): any;
78
+ checkJsonConditional(component: import("@formio/core").Component, json: import("@formio/core").JSONConditional, row: any, data: any, form: import("@formio/core").Form, onError: any): boolean;
79
+ checkCondition(component: import("@formio/core").Component, row: any, data: any, form: import("@formio/core").Form, instance: any): boolean;
80
+ 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;
81
+ 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;
82
+ removeHTML(str: string): string;
83
+ unescapeHTML(str: string): string;
84
+ convertStringToHTMLElement(str: string, selector: string): HTMLElement;
85
+ getDateSetting(date: string | Date): Date | null;
86
+ isValidDate(date: string | Date): boolean;
87
+ currentTimezone(): string;
88
+ offsetDate(date: Date, timezone: string): Date;
89
+ zonesLoaded(): boolean;
90
+ shouldLoadZones(timezone: string): boolean;
91
+ loadZones(url: string, timezone: string): any;
92
+ momentDate(value: string | Date, format: string, timezone: string, options: object): Date;
93
+ formatDate(timezonesUrl: string, value: string | Date, format: string, timezone: string, flatPickrInputFormat: string): string;
94
+ formatOffset(timezonesUrl: string, formatFn: Function, date: string | Date, format: string, timezone: string): string;
95
+ getLocaleDateFormatInfo(locale: Intl.LocalesArgument): object;
96
+ convertFormatToFlatpickr(format: string): string;
97
+ convertFormatToMoment(format: string): string;
98
+ convertFormatToMask(format: string): string;
99
+ getInputMask(mask: string, placeholderChar: string): any[];
100
+ unmaskValue(value: string, mask: string, placeholderChar: string): string;
101
+ matchInputMask(value: string, inputMask: string): boolean;
102
+ getNumberSeparators(lang?: string): {
103
+ delimiter: string;
104
+ decimalSeparator: string;
105
+ };
106
+ getNumberDecimalLimit(component: import("@formio/core").Component, defaultLimit: number): number;
107
+ getCurrencyAffixes({ currency, decimalLimit, decimalSeparator, lang, }: {
108
+ currency: string;
109
+ decimalLimit: number;
110
+ decimalSeparator: string;
111
+ lang: string;
112
+ }): {
113
+ prefix: string;
114
+ suffix: string;
115
+ };
116
+ fieldData(data: import("@formio/core").DataObject, component: import("@formio/core").Component): any;
117
+ delay(fn: Function, delay?: number, ...args: any[]): any;
118
+ iterateKey(key: string): string;
119
+ uniqueKey(map: Record<string, string>, base: string): string;
120
+ bootstrapVersion(options: {
121
+ bootstrap: string;
122
+ }): number;
123
+ unfold(e: any): any;
124
+ withSwitch(a: any, b: any): Functions[];
125
+ observeOverload(callback: Function, options?: {
126
+ limit: number;
127
+ delay: number;
128
+ }): Function;
129
+ getContextComponents(context: any, excludeNested: boolean, excludedTypes?: string[]): any[];
130
+ getContextButtons(context: any): any[];
131
+ translateHTMLTemplate(template: string, translate: Function): string;
132
+ sanitize(string: string, options: any): string;
133
+ fastCloneDeep(obj: any): any;
134
+ isInputComponent(componentJson: import("@formio/core").Component): bool;
135
+ getArrayFromComponentPath(pathStr: string): Arryay<number>;
136
+ isChildOf(child: any, parent: any): boolean;
137
+ getStringFromComponentPath(path: number[]): string;
138
+ round(number: number, precision: number): string;
139
+ getIEBrowserVersion(): number | null;
140
+ getBrowserInfo(): object;
141
+ getComponentPathWithoutIndicies(path?: string): string;
142
+ getDataParentComponent(componentInstance: Component): any;
143
+ isPromise(value: any): boolean;
144
+ getFocusableElements(element: HTMLElement): NodeList<HTMLElement>;
145
+ getComponentSavedTypes(fullSchema: import("@formio/core").Component): string[] | null;
146
+ hasEncodedTimezone(value: string): boolean;
147
+ firstNonNil: any;
148
+ componentValueTypes: {
149
+ number: string;
150
+ string: string;
151
+ boolean: string;
152
+ array: string;
153
+ object: string;
154
+ date: string;
155
+ any: string;
156
+ };
157
+ interpolateErrors: (component: Component, errors: FieldError[], interpolateFn: Function) => [];
158
+ };
159
+ import { Evaluator } from './Evaluator';
160
+ import { registerEvaluator } from './Evaluator';
161
+ export { FormioUtils as Utils, Evaluator, registerEvaluator };
@@ -1,6 +1,16 @@
1
- import * as FormioUtils from './utils';
1
+ import * as utils from './utils';
2
+ import * as formUtils from './formUtils';
3
+ import { Evaluator, registerEvaluator } from './Evaluator';
4
+ const FormioUtils = {
5
+ ...utils,
6
+ ...formUtils,
7
+ Evaluator,
8
+ };
2
9
  if (typeof global === 'object') {
3
10
  global.FormioUtils = FormioUtils;
4
11
  }
5
12
  export { FormioUtils as Utils };
13
+ export { Evaluator, registerEvaluator };
14
+ export * from './utils';
15
+ export * from './formUtils';
6
16
  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|dayjs.Dayjs)} - The translated date.
167
+ * @returns {(null|Date)} - The translated date.
168
168
  */
169
- export function getDateSetting(date: string | Date): (null | dayjs.Dayjs);
169
+ export function getDateSetting(date: string | Date): (null | Date);
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,45 +182,56 @@ 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: Date, abbr: string}} - The offset date.
185
+ * @returns {Date} - The offset date.
186
186
  */
187
- export function offsetDate(date: Date, timezone: string): {
188
- date: Date;
189
- abbr: string;
190
- };
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;
191
193
  /**
192
- * Returns if we should handle a timezone difference.
194
+ * Returns if we should load the zones.
193
195
  * @param {string} timezone - The timezone to check if we should load the zones.
194
- * @returns {boolean} - TRUE if we should handle timezones; FALSE otherwise.
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.
195
204
  */
196
- export function shouldHandleTimezone(timezone: string): boolean;
205
+ export function loadZones(url: string, timezone: string): Promise<any> | any;
197
206
  /**
198
- * Get the Dayjs date object for translating dates with timezones.
199
- * @param {string|Date} value - The value to convert into a dayjs date.
207
+ * Get the moment date object for translating dates with timezones.
208
+ * @param {string|Date} value - The value to convert into a moment date.
200
209
  * @param {string} format - The format to convert the date to.
201
210
  * @param {string} timezone - The timezone to convert the date to.
202
211
  * @param {object} options - The options object
203
- * @returns {dayjs.Dayjs} - The dayjs date object.
212
+ * @returns {Date} - The moment date object.
204
213
  */
205
- export function dayjsDate(value: string | Date, format: string, timezone: string, options: object): dayjs.Dayjs;
214
+ export function momentDate(value: string | Date, format: string, timezone: string, options: object): Date;
206
215
  /**
207
216
  * Format a date provided a value, format, and timezone object.
217
+ * @param {string} timezonesUrl - The URL to load the timezone data from.
208
218
  * @param {string|Date} value - The value to format.
209
219
  * @param {string} format - The format to format the date to.
210
220
  * @param {string} timezone - The timezone to format the date to.
211
221
  * @param {string} flatPickrInputFormat - The format to use for flatpickr input.
212
222
  * @returns {string} - The formatted date.
213
223
  */
214
- export function formatDate(value: string | Date, format: string, timezone: string, flatPickrInputFormat: string): string;
224
+ export function formatDate(timezonesUrl: string, value: string | Date, format: string, timezone: string, flatPickrInputFormat: string): string;
215
225
  /**
216
226
  * Pass a format function to format within a timezone.
227
+ * @param {string} timezonesUrl - The URL to load the timezone data from.
217
228
  * @param {Function} formatFn - The format function to use.
218
229
  * @param {Date|string} date - The date to format.
219
230
  * @param {string} format - The format to format the date to.
220
231
  * @param {string} timezone - The timezone to format the date to.
221
232
  * @returns {string} - The formatted date.
222
233
  */
223
- export function formatOffset(formatFn: Function, date: Date | string, format: string, timezone: string): string;
234
+ export function formatOffset(timezonesUrl: string, formatFn: Function, date: Date | string, format: string, timezone: string): string;
224
235
  /**
225
236
  * Returns the local date format information.
226
237
  * @param {Intl.LocalesArgument} locale - The locale to get the date format for.
@@ -238,7 +249,7 @@ export function convertFormatToFlatpickr(format: string): string;
238
249
  * @param {string} format - The format to convert.
239
250
  * @returns {string} - The converted format.
240
251
  */
241
- export function convertFormatToDayjs(format: string): string;
252
+ export function convertFormatToMoment(format: string): string;
242
253
  /**
243
254
  * Convert the format from the angular-datepicker module to mask format.
244
255
  * @param {string} format - The format to convert.
@@ -488,7 +499,6 @@ export function getComponentSavedTypes(fullSchema: import('@formio/core').Compon
488
499
  * @returns {boolean} if value has encoded timezone
489
500
  */
490
501
  export function hasEncodedTimezone(value: string): boolean;
491
- export * from "./formUtils";
492
502
  /**
493
503
  * Map values through unfold and return first non-nil value.
494
504
  * @param {Array<T>} collection - The collection to map through unfold.;
@@ -505,8 +515,3 @@ export namespace componentValueTypes {
505
515
  let any: string;
506
516
  }
507
517
  export function interpolateErrors(component: Component, errors: FieldError[], interpolateFn: Function): [];
508
- import dayjs from "dayjs";
509
- import ConditionOperators from './conditionOperators';
510
- import { Evaluator } from './Evaluator';
511
- export const interpolate: typeof Evaluator.interpolate;
512
- export { jsonLogic, ConditionOperators, moment, Evaluator, _ };