@gravity-ui/dynamic-forms 5.1.0 → 5.3.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 (177) hide show
  1. package/build/cjs/lib/core/components/Form/DynamicField.js +7 -2
  2. package/build/cjs/lib/core/components/Form/hooks/useIntegrationFF.js +3 -2
  3. package/build/cjs/lib/core/components/Form/types/value.js +0 -1
  4. package/build/cjs/lib/kit/components/Card/Card.js +3 -1
  5. package/build/cjs/lib/kit/components/ErrorWrapper/ErrorWrapper.css +1 -1
  6. package/build/cjs/lib/kit/components/HTMLContent/HTMLContent.js +9 -0
  7. package/build/cjs/lib/kit/components/HTMLContent/index.js +4 -0
  8. package/build/cjs/lib/kit/components/Inputs/CheckboxGroup/CheckboxGroup.js +1 -1
  9. package/build/cjs/lib/kit/components/Inputs/TableArrayInput/TableArrayInput.js +4 -2
  10. package/build/cjs/lib/kit/components/Inputs/TextContent/TextContent.js +1 -1
  11. package/build/cjs/lib/kit/components/Inputs/TimeRangeSelector/components/TimeRangeSelect/TimeRangeSelect.js +1 -1
  12. package/build/cjs/lib/kit/components/Layouts/Column/Column.js +4 -2
  13. package/build/cjs/lib/kit/components/Layouts/Row/Row.js +4 -2
  14. package/build/cjs/lib/kit/components/Layouts/Section/Section.js +4 -2
  15. package/build/cjs/lib/kit/components/LongValue/LongValue.js +2 -4
  16. package/build/cjs/lib/kit/components/SimpleVerticalAccordeon/SimpleVerticalAccordeon.js +3 -1
  17. package/build/cjs/lib/kit/components/TogglerCard/TogglerCard.js +4 -2
  18. package/build/cjs/lib/kit/components/ViewLayouts/ViewColumn/ViewColumn.js +4 -2
  19. package/build/cjs/lib/kit/components/ViewLayouts/ViewRow/ViewRow.js +4 -2
  20. package/build/cjs/lib/kit/components/Views/DateView/DateView.js +1 -1
  21. package/build/cjs/lib/kit/components/Views/MultiOneOfView/MultiOneOfView.js +1 -1
  22. package/build/cjs/lib/kit/components/Views/MultiSelectView/MultiSelectView.js +1 -1
  23. package/build/cjs/lib/kit/components/Views/ObjectBaseView/ObjectBaseView.js +1 -1
  24. package/build/cjs/lib/kit/components/Views/TableArrayView/TableArrayView.js +4 -2
  25. package/build/cjs/lib/kit/utils/common.js +1 -1
  26. package/build/esm/lib/core/components/Form/Controller/Controller.d.ts +2 -2
  27. package/build/esm/lib/core/components/Form/Controller/types.d.ts +2 -2
  28. package/build/esm/lib/core/components/Form/Controller/utils.d.ts +3 -3
  29. package/build/esm/lib/core/components/Form/DynamicField.d.ts +3 -2
  30. package/build/esm/lib/core/components/Form/DynamicField.js +7 -2
  31. package/build/esm/lib/core/components/Form/hooks/useControllerMirror.d.ts +1 -1
  32. package/build/esm/lib/core/components/Form/hooks/useCreateContext.d.ts +1 -1
  33. package/build/esm/lib/core/components/Form/hooks/useCreateSearchContext.d.ts +1 -1
  34. package/build/esm/lib/core/components/Form/hooks/useDynamicFieldMirror.d.ts +1 -1
  35. package/build/esm/lib/core/components/Form/hooks/useIntegrationFF.d.ts +9 -2
  36. package/build/esm/lib/core/components/Form/hooks/useIntegrationFF.js +3 -2
  37. package/build/esm/lib/core/components/Form/hooks/useMutators.d.ts +1 -1
  38. package/build/esm/lib/core/components/Form/hooks/useSearch/useSearch.d.ts +2 -2
  39. package/build/esm/lib/core/components/Form/hooks/useStore.d.ts +1 -1
  40. package/build/esm/lib/core/components/Form/types/array.d.ts +2 -2
  41. package/build/esm/lib/core/components/Form/types/boolean.d.ts +2 -2
  42. package/build/esm/lib/core/components/Form/types/config.d.ts +2 -2
  43. package/build/esm/lib/core/components/Form/types/context.d.ts +3 -3
  44. package/build/esm/lib/core/components/Form/types/field.d.ts +2 -2
  45. package/build/esm/lib/core/components/Form/types/input.d.ts +3 -3
  46. package/build/esm/lib/core/components/Form/types/layout.d.ts +3 -3
  47. package/build/esm/lib/core/components/Form/types/mirror.d.ts +2 -2
  48. package/build/esm/lib/core/components/Form/types/mutators.d.ts +2 -2
  49. package/build/esm/lib/core/components/Form/types/number.d.ts +2 -2
  50. package/build/esm/lib/core/components/Form/types/object.d.ts +2 -2
  51. package/build/esm/lib/core/components/Form/types/search.d.ts +2 -2
  52. package/build/esm/lib/core/components/Form/types/store.d.ts +1 -1
  53. package/build/esm/lib/core/components/Form/types/string.d.ts +2 -2
  54. package/build/esm/lib/core/components/Form/types/validators.d.ts +1 -1
  55. package/build/esm/lib/core/components/Form/types/value.d.ts +1 -1
  56. package/build/esm/lib/core/components/Form/types/value.js +1 -1
  57. package/build/esm/lib/core/components/Form/utils/common.d.ts +1 -1
  58. package/build/esm/lib/core/components/Form/utils/search.d.ts +1 -1
  59. package/build/esm/lib/core/components/View/DynamicView.d.ts +2 -2
  60. package/build/esm/lib/core/components/View/ViewController.d.ts +1 -1
  61. package/build/esm/lib/core/components/View/hooks/useComponents.d.ts +2 -2
  62. package/build/esm/lib/core/components/View/hooks/useCreateContext.d.ts +1 -1
  63. package/build/esm/lib/core/components/View/hooks/useRender.d.ts +2 -2
  64. package/build/esm/lib/core/components/View/types/array.d.ts +2 -2
  65. package/build/esm/lib/core/components/View/types/boolean.d.ts +2 -2
  66. package/build/esm/lib/core/components/View/types/config.d.ts +2 -2
  67. package/build/esm/lib/core/components/View/types/context.d.ts +3 -3
  68. package/build/esm/lib/core/components/View/types/layout.d.ts +3 -3
  69. package/build/esm/lib/core/components/View/types/number.d.ts +2 -2
  70. package/build/esm/lib/core/components/View/types/object.d.ts +2 -2
  71. package/build/esm/lib/core/components/View/types/string.d.ts +2 -2
  72. package/build/esm/lib/core/components/View/types/views.d.ts +3 -3
  73. package/build/esm/lib/core/helpers.d.ts +1 -1
  74. package/build/esm/lib/core/types/specs.d.ts +3 -3
  75. package/build/esm/lib/kit/components/Card/Card.js +3 -1
  76. package/build/esm/lib/kit/components/CopyButton/CopyButton.d.ts +1 -1
  77. package/build/esm/lib/kit/components/ErrorWrapper/ErrorWrapper.css +1 -1
  78. package/build/esm/lib/kit/components/ErrorWrapper/ErrorWrapper.d.ts +1 -1
  79. package/build/esm/lib/kit/components/GenerateRandomValueButton/GenerateRandomValueButton.d.ts +1 -1
  80. package/build/esm/lib/kit/components/HTMLContent/HTMLContent.d.ts +6 -0
  81. package/build/esm/lib/kit/components/HTMLContent/HTMLContent.js +4 -0
  82. package/build/esm/lib/kit/components/HTMLContent/index.d.ts +1 -0
  83. package/build/esm/lib/kit/components/HTMLContent/index.js +1 -0
  84. package/build/esm/lib/kit/components/Inputs/ArrayBase/ArrayBase.d.ts +1 -1
  85. package/build/esm/lib/kit/components/Inputs/CardOneOf/CardOneOf.d.ts +1 -1
  86. package/build/esm/lib/kit/components/Inputs/CardOneOf/CardOneOf.js +1 -1
  87. package/build/esm/lib/kit/components/Inputs/Checkbox/Checkbox.d.ts +2 -2
  88. package/build/esm/lib/kit/components/Inputs/CheckboxGroup/CheckboxGroup.d.ts +1 -1
  89. package/build/esm/lib/kit/components/Inputs/CheckboxGroup/CheckboxGroup.js +1 -1
  90. package/build/esm/lib/kit/components/Inputs/DateInput/DateInput.d.ts +2 -2
  91. package/build/esm/lib/kit/components/Inputs/FileInput/FileInput.d.ts +1 -1
  92. package/build/esm/lib/kit/components/Inputs/FileInput/utils.d.ts +1 -1
  93. package/build/esm/lib/kit/components/Inputs/MonacoInput/MonacoInputBase.d.ts +1 -1
  94. package/build/esm/lib/kit/components/Inputs/MultiOneOf/MultiOneOf.d.ts +1 -1
  95. package/build/esm/lib/kit/components/Inputs/MultiOneOf/MultiOneOf.js +1 -1
  96. package/build/esm/lib/kit/components/Inputs/MultiSelect/MultiSelect.d.ts +2 -2
  97. package/build/esm/lib/kit/components/Inputs/NumberWithScale/NumberWithScale.d.ts +1 -1
  98. package/build/esm/lib/kit/components/Inputs/NumberWithScale/useInitial.d.ts +1 -1
  99. package/build/esm/lib/kit/components/Inputs/ObjectBase/ObjectBase.d.ts +1 -1
  100. package/build/esm/lib/kit/components/Inputs/ObjectBase/ObjectBase.js +1 -1
  101. package/build/esm/lib/kit/components/Inputs/ObjectValueInput/ObjectValueInput.d.ts +1 -1
  102. package/build/esm/lib/kit/components/Inputs/OneOf/OneOf.d.ts +1 -1
  103. package/build/esm/lib/kit/components/Inputs/OneOf/OneOf.js +1 -1
  104. package/build/esm/lib/kit/components/Inputs/Secret/Secret.d.ts +1 -1
  105. package/build/esm/lib/kit/components/Inputs/Select/Select.d.ts +2 -2
  106. package/build/esm/lib/kit/components/Inputs/Switch/Switch.d.ts +1 -1
  107. package/build/esm/lib/kit/components/Inputs/TableArrayInput/TableArrayInput.d.ts +1 -1
  108. package/build/esm/lib/kit/components/Inputs/TableArrayInput/TableArrayInput.js +4 -2
  109. package/build/esm/lib/kit/components/Inputs/Text/Text.d.ts +2 -2
  110. package/build/esm/lib/kit/components/Inputs/TextArea/TextArea.d.ts +2 -2
  111. package/build/esm/lib/kit/components/Inputs/TextContent/TextContent.d.ts +1 -1
  112. package/build/esm/lib/kit/components/Inputs/TextContent/TextContent.js +1 -1
  113. package/build/esm/lib/kit/components/Inputs/TextLink/TextLink.d.ts +1 -1
  114. package/build/esm/lib/kit/components/Inputs/TextLink/TextLink.js +1 -1
  115. package/build/esm/lib/kit/components/Inputs/TimeRangeSelector/TimeRangeSelector.d.ts +1 -1
  116. package/build/esm/lib/kit/components/Inputs/TimeRangeSelector/TimeRangeSelector.js +1 -1
  117. package/build/esm/lib/kit/components/Inputs/TimeRangeSelector/components/TimeRangeSelect/TimeRangeSelect.d.ts +1 -1
  118. package/build/esm/lib/kit/components/Inputs/TimeRangeSelector/components/TimeRangeSelect/TimeRangeSelect.js +1 -1
  119. package/build/esm/lib/kit/components/Layouts/Accordeon/Accordeon.d.ts +2 -2
  120. package/build/esm/lib/kit/components/Layouts/AccordeonCard/AccordeonCardForm.d.ts +1 -1
  121. package/build/esm/lib/kit/components/Layouts/CardAccordeon.d.ts +1 -1
  122. package/build/esm/lib/kit/components/Layouts/CardSection.d.ts +1 -1
  123. package/build/esm/lib/kit/components/Layouts/Column/Column.d.ts +1 -1
  124. package/build/esm/lib/kit/components/Layouts/Column/Column.js +5 -3
  125. package/build/esm/lib/kit/components/Layouts/Row/Row.d.ts +1 -1
  126. package/build/esm/lib/kit/components/Layouts/Row/Row.js +5 -3
  127. package/build/esm/lib/kit/components/Layouts/Section/Section.d.ts +1 -1
  128. package/build/esm/lib/kit/components/Layouts/Section/Section.js +5 -3
  129. package/build/esm/lib/kit/components/Layouts/TableCell/TableCell.d.ts +1 -1
  130. package/build/esm/lib/kit/components/Layouts/Transparent/Transparent.d.ts +1 -1
  131. package/build/esm/lib/kit/components/Layouts/Transparent/Transparent.js +1 -1
  132. package/build/esm/lib/kit/components/LongValue/LongValue.js +2 -4
  133. package/build/esm/lib/kit/components/SimpleVerticalAccordeon/SimpleVerticalAccordeon.d.ts +1 -1
  134. package/build/esm/lib/kit/components/SimpleVerticalAccordeon/SimpleVerticalAccordeon.js +3 -1
  135. package/build/esm/lib/kit/components/TogglerCard/TogglerCard.js +4 -2
  136. package/build/esm/lib/kit/components/ViewLayouts/ViewAccordeon/ViewAccordeon.d.ts +2 -2
  137. package/build/esm/lib/kit/components/ViewLayouts/ViewAccordeonCard/ViewAccordeonCard.d.ts +1 -1
  138. package/build/esm/lib/kit/components/ViewLayouts/ViewCardAccordeon.d.ts +1 -1
  139. package/build/esm/lib/kit/components/ViewLayouts/ViewCardSection.d.ts +1 -1
  140. package/build/esm/lib/kit/components/ViewLayouts/ViewColumn/ViewColumn.d.ts +1 -1
  141. package/build/esm/lib/kit/components/ViewLayouts/ViewColumn/ViewColumn.js +4 -2
  142. package/build/esm/lib/kit/components/ViewLayouts/ViewRow/ViewRow.d.ts +1 -1
  143. package/build/esm/lib/kit/components/ViewLayouts/ViewRow/ViewRow.js +4 -2
  144. package/build/esm/lib/kit/components/ViewLayouts/ViewSection/ViewSection.d.ts +1 -1
  145. package/build/esm/lib/kit/components/ViewLayouts/ViewTableCell/ViewTableCell.d.ts +1 -1
  146. package/build/esm/lib/kit/components/ViewLayouts/ViewTransparent/ViewTransparent.d.ts +1 -1
  147. package/build/esm/lib/kit/components/Views/ArrayBaseView/ArrayBaseView.d.ts +1 -1
  148. package/build/esm/lib/kit/components/Views/BaseView/BaseView.d.ts +1 -1
  149. package/build/esm/lib/kit/components/Views/CardOneOfView.d.ts +1 -1
  150. package/build/esm/lib/kit/components/Views/CheckboxGroupView/CheckboxGroupView.d.ts +1 -1
  151. package/build/esm/lib/kit/components/Views/DateView/DateView.d.ts +1 -1
  152. package/build/esm/lib/kit/components/Views/DateView/DateView.js +1 -1
  153. package/build/esm/lib/kit/components/Views/FileInputView/FileInputView.d.ts +1 -1
  154. package/build/esm/lib/kit/components/Views/MonacoInputView/MonacoBaseView.d.ts +1 -1
  155. package/build/esm/lib/kit/components/Views/MultiOneOfView/MultiOneOfView.d.ts +1 -1
  156. package/build/esm/lib/kit/components/Views/MultiOneOfView/MultiOneOfView.js +1 -1
  157. package/build/esm/lib/kit/components/Views/MultiSelectView/MultiSelectView.d.ts +1 -1
  158. package/build/esm/lib/kit/components/Views/MultiSelectView/MultiSelectView.js +1 -1
  159. package/build/esm/lib/kit/components/Views/NumberWithScaleView/NumberWithScaleView.d.ts +1 -1
  160. package/build/esm/lib/kit/components/Views/ObjectBaseView/ObjectBaseView.d.ts +1 -1
  161. package/build/esm/lib/kit/components/Views/ObjectBaseView/ObjectBaseView.js +1 -1
  162. package/build/esm/lib/kit/components/Views/ObjectValueInputView/ObjectValueInputView.d.ts +1 -1
  163. package/build/esm/lib/kit/components/Views/OneOfView/OneOfView.d.ts +1 -1
  164. package/build/esm/lib/kit/components/Views/TableArrayView/TableArrayView.d.ts +1 -1
  165. package/build/esm/lib/kit/components/Views/TableArrayView/TableArrayView.js +4 -2
  166. package/build/esm/lib/kit/components/Views/TextAreaView/TextAreaView.d.ts +1 -1
  167. package/build/esm/lib/kit/components/Views/TextContentView.d.ts +1 -1
  168. package/build/esm/lib/kit/components/Views/TextLinkView/TextLinkView.d.ts +1 -1
  169. package/build/esm/lib/kit/components/Views/TimeRangeSelectorView/TimeRangeSelectorView.d.ts +1 -1
  170. package/build/esm/lib/kit/constants/config.d.ts +1 -1
  171. package/build/esm/lib/kit/hooks/useErrorChecker.d.ts +1 -1
  172. package/build/esm/lib/kit/hooks/useOneOf/useOneOf.d.ts +1 -1
  173. package/build/esm/lib/kit/utils/common.d.ts +1 -1
  174. package/build/esm/lib/kit/utils/common.js +2 -2
  175. package/build/esm/lib/kit/utils/objectInline.d.ts +1 -1
  176. package/build/esm/lib/kit/validators/validators.d.ts +2 -2
  177. package/package.json +11 -9
@@ -11,11 +11,16 @@ const helpers_1 = require("../../helpers");
11
11
  const Controller_1 = require("./Controller");
12
12
  const hooks_1 = require("./hooks");
13
13
  const utils_1 = require("./utils");
14
- const DynamicField = ({ name, spec, config, Monaco, generateRandomValue, search, withoutInsertFFDebounce, destroyOnUnregister = true, mutators: externalMutators, shared: externalShared, __mirror, }) => {
14
+ const DynamicField = ({ name, spec, config, Monaco, generateRandomValue, search, withoutInsertFFDebounce, destroyOnUnregister = true, mutators: externalMutators, shared: externalShared, storeSubscriber, __mirror, }) => {
15
15
  const DynamicFormsCtx = (0, hooks_1.useCreateContext)();
16
16
  const SearchContext = (0, hooks_1.useCreateSearchContext)();
17
17
  const { tools, store } = (0, hooks_1.useStore)(name);
18
- const watcher = (0, hooks_1.useIntegrationFF)(store, withoutInsertFFDebounce, destroyOnUnregister);
18
+ const watcher = (0, hooks_1.useIntegrationFF)({
19
+ store,
20
+ withoutDebounce: withoutInsertFFDebounce,
21
+ destroyOnUnregister,
22
+ storeSubscriber,
23
+ });
19
24
  const { mutatorsStore, mutateDFState } = (0, hooks_1.useMutators)(externalMutators);
20
25
  const { store: searchStore, setField, removeField, isHiddenField } = (0, hooks_1.useSearchStore)();
21
26
  const shared = (0, hooks_1.useFormSharedStore)(externalShared);
@@ -10,7 +10,7 @@ const isFunction_1 = tslib_1.__importDefault(require("lodash/isFunction"));
10
10
  const values_1 = tslib_1.__importDefault(require("lodash/values"));
11
11
  const react_final_form_1 = require("react-final-form");
12
12
  const utils_1 = require("../utils");
13
- const useIntegrationFF = (store, withoutDebounce, destroyOnUnregister) => {
13
+ const useIntegrationFF = ({ store, withoutDebounce, destroyOnUnregister, storeSubscriber, }) => {
14
14
  const form = (0, react_final_form_1.useForm)();
15
15
  const watcher = react_1.default.useMemo(() => {
16
16
  const props = {
@@ -43,13 +43,14 @@ const useIntegrationFF = (store, withoutDebounce, destroyOnUnregister) => {
43
43
  const cb = (value) => {
44
44
  if (store.name) {
45
45
  form.change(store.name, (0, get_1.default)((0, utils_1.transformArrOut)(value), store.name));
46
+ storeSubscriber === null || storeSubscriber === void 0 ? void 0 : storeSubscriber((0, get_1.default)(value, store.name));
46
47
  }
47
48
  };
48
49
  if (withoutDebounce) {
49
50
  return cb;
50
51
  }
51
52
  return (0, debounce_1.default)(cb, 100);
52
- }, [form.change, store.name, withoutDebounce]);
53
+ }, [form.change, store.name, withoutDebounce, storeSubscriber]);
53
54
  react_1.default.useEffect(() => {
54
55
  change(store.values);
55
56
  }, [store.values]);
@@ -1,3 +1,2 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const constants_1 = require("../constants");
@@ -8,6 +8,7 @@ const uikit_1 = require("@gravity-ui/uikit");
8
8
  const isString_1 = tslib_1.__importDefault(require("lodash/isString"));
9
9
  const common_1 = require("../../constants/common");
10
10
  const utils_1 = require("../../utils");
11
+ const HTMLContent_1 = require("../HTMLContent");
11
12
  const b = (0, utils_1.block)('card');
12
13
  const Card = ({ name, title: propsTitle, description, actions, open: propsOpen, onToggle, alwaysOpen, disableHeaderToggle, checkEmptyBody, children, }) => {
13
14
  var _a;
@@ -41,7 +42,8 @@ const Card = ({ name, title: propsTitle, description, actions, open: propsOpen,
41
42
  description ? (react_1.default.createElement("div", { className: b('note') },
42
43
  react_1.default.createElement(uikit_1.HelpMark, { popoverProps: {
43
44
  placement: common_1.COMMON_POPOVER_PLACEMENT,
44
- } }, description))) : null));
45
+ } },
46
+ react_1.default.createElement(HTMLContent_1.HTMLContent, { html: description })))) : null));
45
47
  }
46
48
  return propsTitle;
47
49
  }, [propsTitle, titlePopoverDisabled, description]);
@@ -39,7 +39,7 @@
39
39
  .df-error-wrapper_error .g-text-input_view_normal:not(.df-error-wrapper-ignore) .g-text-input__content,
40
40
  .df-error-wrapper_error .yc-checkbox__indicator:not(.df-error-wrapper-ignore)::before,
41
41
  .df-error-wrapper_error .g-checkbox__indicator:not(.df-error-wrapper-ignore)::before {
42
- border-color: var(--g-color-text-danger);
42
+ border-color: var(--g-color-line-danger);
43
43
  }
44
44
  .df-error-wrapper__error-text {
45
45
  color: var(--g-color-text-danger);
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HTMLContent = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const react_1 = tslib_1.__importDefault(require("react"));
6
+ const HTMLContent = ({ html }) => {
7
+ return react_1.default.createElement("div", { dangerouslySetInnerHTML: { __html: html } });
8
+ };
9
+ exports.HTMLContent = HTMLContent;
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./HTMLContent"), exports);
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.CheckboxGroup = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- const core_1 = require("../../../../core");
7
6
  const uikit_1 = require("@gravity-ui/uikit");
7
+ const core_1 = require("../../../../core");
8
8
  const utils_1 = require("../../../utils");
9
9
  const b = (0, utils_1.block)('checkbox-group');
10
10
  const CheckboxGroup = ({ name, input, spec, inputProps }) => {
@@ -9,8 +9,9 @@ const noop_1 = tslib_1.__importDefault(require("lodash/noop"));
9
9
  const set_1 = tslib_1.__importDefault(require("lodash/set"));
10
10
  const core_1 = require("../../../../core");
11
11
  const hooks_1 = require("../../../../core/components/Form/hooks");
12
- const utils_1 = require("../../../utils");
13
12
  const common_1 = require("../../../constants/common");
13
+ const utils_1 = require("../../../utils");
14
+ const HTMLContent_1 = require("../../HTMLContent");
14
15
  const b = (0, utils_1.block)('table-array');
15
16
  const TableArrayInput = ({ spec, name, arrayInput, input }) => {
16
17
  const { isHiddenField } = (0, hooks_1.useSearchContext)();
@@ -54,7 +55,8 @@ const TableArrayInput = ({ spec, name, arrayInput, input }) => {
54
55
  label,
55
56
  react_1.default.createElement(uikit_1.HelpMark, { popoverProps: {
56
57
  placement: common_1.COMMON_POPOVER_PLACEMENT,
57
- } }, description))),
58
+ } },
59
+ react_1.default.createElement(HTMLContent_1.HTMLContent, { html: description })))),
58
60
  template: ({ key, }, idx) => {
59
61
  var _a, _b, _c;
60
62
  const entitySpec = (_a = items === null || items === void 0 ? void 0 : items.properties) === null || _a === void 0 ? void 0 : _a[property];
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TextContent = exports.TextContentComponent = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- const lodash_1 = require("lodash");
7
6
  const uikit_1 = require("@gravity-ui/uikit");
7
+ const lodash_1 = require("lodash");
8
8
  const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
9
9
  const utils_1 = require("../../../utils");
10
10
  const LazyLoader_1 = require("../../LazyLoader");
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TimeRangeSelect = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- const isString_1 = tslib_1.__importDefault(require("lodash/isString"));
7
6
  const uikit_1 = require("@gravity-ui/uikit");
7
+ const isString_1 = tslib_1.__importDefault(require("lodash/isString"));
8
8
  const utils_1 = require("../../../../../utils");
9
9
  const Row_1 = require("../../../../Layouts/Row");
10
10
  const b = (0, utils_1.block)('time-range-select');
@@ -7,8 +7,9 @@ const icons_1 = require("@gravity-ui/icons");
7
7
  const uikit_1 = require("@gravity-ui/uikit");
8
8
  const core_1 = require("../../../../core");
9
9
  const components_1 = require("../../../components");
10
- const utils_1 = require("../../../utils");
11
10
  const common_1 = require("../../../constants/common");
11
+ const utils_1 = require("../../../utils");
12
+ const HTMLContent_1 = require("../../HTMLContent");
12
13
  const b = (0, utils_1.block)('column');
13
14
  const ColumnBase = ({ name, spec, input, meta, children, }) => {
14
15
  const arrayItem = react_1.default.useMemo(() => (0, core_1.isArrayItem)(name), [name]);
@@ -21,7 +22,8 @@ const ColumnBase = ({ name, spec, input, meta, children, }) => {
21
22
  react_1.default.createElement(uikit_1.Text, { className: b('note-inner') },
22
23
  react_1.default.createElement(uikit_1.HelpMark, { popoverProps: {
23
24
  placement: common_1.COMMON_POPOVER_PLACEMENT,
24
- } }, spec.viewSpec.layoutDescription)))) : null)),
25
+ } },
26
+ react_1.default.createElement(HTMLContent_1.HTMLContent, { html: spec.viewSpec.layoutDescription }))))) : null)),
25
27
  react_1.default.createElement("div", { className: b('second-row') },
26
28
  react_1.default.createElement("div", { className: b('second-row-inner') },
27
29
  react_1.default.createElement(components_1.ErrorWrapper, { name: name, meta: meta, withoutChildErrorStyles:
@@ -7,8 +7,9 @@ const icons_1 = require("@gravity-ui/icons");
7
7
  const uikit_1 = require("@gravity-ui/uikit");
8
8
  const core_1 = require("../../../../core");
9
9
  const components_1 = require("../../../components");
10
- const utils_1 = require("../../../utils");
11
10
  const common_1 = require("../../../constants/common");
11
+ const utils_1 = require("../../../utils");
12
+ const HTMLContent_1 = require("../../HTMLContent");
12
13
  const b = (0, utils_1.block)('row');
13
14
  const RowBase = ({ name, spec, input, meta, verboseDescription, children, }) => {
14
15
  const arrayItem = react_1.default.useMemo(() => (0, core_1.isArrayItem)(name), [name]);
@@ -21,7 +22,8 @@ const RowBase = ({ name, spec, input, meta, verboseDescription, children, }) =>
21
22
  react_1.default.createElement(uikit_1.Text, { className: b('note-inner') },
22
23
  react_1.default.createElement(uikit_1.HelpMark, { popoverProps: {
23
24
  placement: common_1.COMMON_POPOVER_PLACEMENT,
24
- } }, spec.viewSpec.layoutDescription)))) : null)),
25
+ } },
26
+ react_1.default.createElement(HTMLContent_1.HTMLContent, { html: spec.viewSpec.layoutDescription }))))) : null)),
25
27
  react_1.default.createElement("div", { className: b('right') },
26
28
  react_1.default.createElement("div", { className: b('right-inner') },
27
29
  react_1.default.createElement(components_1.ErrorWrapper, { name: name, meta: meta, withoutChildErrorStyles:
@@ -5,10 +5,11 @@ const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const uikit_1 = require("@gravity-ui/uikit");
7
7
  const __1 = require("../../");
8
- const RemoveButton_1 = require("../../RemoveButton");
9
8
  const __2 = require("../../../");
10
9
  const core_1 = require("../../../../core");
11
10
  const utils_1 = require("../../../utils");
11
+ const HTMLContent_1 = require("../../HTMLContent");
12
+ const RemoveButton_1 = require("../../RemoveButton");
12
13
  const b = (0, utils_1.block)('section');
13
14
  const SectionBase = (_a) => {
14
15
  var _b;
@@ -60,7 +61,8 @@ const SectionBase = (_a) => {
60
61
  description = (react_1.default.createElement(uikit_1.Text, { className: b('note') },
61
62
  react_1.default.createElement(uikit_1.HelpMark, { popoverProps: {
62
63
  placement: __2.COMMON_POPOVER_PLACEMENT,
63
- } }, spec.viewSpec.layoutDescription)));
64
+ } },
65
+ react_1.default.createElement(HTMLContent_1.HTMLContent, { html: spec.viewSpec.layoutDescription }))));
64
66
  }
65
67
  }
66
68
  const layoutTitle = spec.viewSpec.layoutTitle;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LongValue = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- const once_1 = tslib_1.__importDefault(require("lodash/once"));
7
6
  const uikit_1 = require("@gravity-ui/uikit");
7
+ const once_1 = tslib_1.__importDefault(require("lodash/once"));
8
8
  const utils_1 = require("../../utils");
9
9
  const b = (0, utils_1.block)('long-value');
10
10
  const LongValue = (_a) => {
@@ -56,8 +56,6 @@ const LongValue = (_a) => {
56
56
  }
57
57
  return;
58
58
  }, [value]);
59
- return (react_1.default.createElement(uikit_1.Text, Object.assign({ as: "div" }, restProps, { ref: ref, className: b({ open, long }, className),
60
- // @ts-ignore
61
- onClick: long ? handleClick : undefined }), value));
59
+ return (react_1.default.createElement(uikit_1.Text, Object.assign({ as: "div" }, restProps, { ref: ref, className: b({ open, long }, className), onClick: long ? handleClick : undefined }), value));
62
60
  };
63
61
  exports.LongValue = LongValue;
@@ -7,6 +7,7 @@ const icons_1 = require("@gravity-ui/icons");
7
7
  const uikit_1 = require("@gravity-ui/uikit");
8
8
  const common_1 = require("../../constants/common");
9
9
  const utils_1 = require("../../utils");
10
+ const HTMLContent_1 = require("../HTMLContent");
10
11
  const b = (0, utils_1.block)('simple-vertical-accordeon');
11
12
  const TITLE_TEXT_MAX_WIDTH = 485; /** 533px (COMMON_TITLE_MAX_WIDTH) - 48px of padding */
12
13
  class SimpleVerticalAccordeon extends react_1.default.Component {
@@ -92,7 +93,8 @@ class SimpleVerticalAccordeon extends react_1.default.Component {
92
93
  return note ? (react_1.default.createElement(uikit_1.Text, { className: b('tooltip') },
93
94
  react_1.default.createElement(uikit_1.HelpMark, { popoverProps: {
94
95
  placement: common_1.COMMON_POPOVER_PLACEMENT,
95
- } }, note))) : null;
96
+ } },
97
+ react_1.default.createElement(HTMLContent_1.HTMLContent, { html: note })))) : null;
96
98
  }
97
99
  }
98
100
  exports.SimpleVerticalAccordeon = SimpleVerticalAccordeon;
@@ -4,8 +4,9 @@ exports.TogglerCard = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const uikit_1 = require("@gravity-ui/uikit");
7
- const utils_1 = require("../../utils");
8
7
  const common_1 = require("../../constants/common");
8
+ const utils_1 = require("../../utils");
9
+ const HTMLContent_1 = require("../HTMLContent");
9
10
  const b = (0, utils_1.block)('toggler-card');
10
11
  const TogglerCard = ({ description, title, text, onClick, disabled, selected, }) => {
11
12
  return (react_1.default.createElement(uikit_1.Card, { onClick: onClick, type: "selection", disabled: disabled ? !selected : disabled, selected: selected, size: "m", className: b() },
@@ -13,7 +14,8 @@ const TogglerCard = ({ description, title, text, onClick, disabled, selected, })
13
14
  react_1.default.createElement(uikit_1.Text, { variant: "subheader-2", ellipsis: true }, title),
14
15
  description ? (react_1.default.createElement(uikit_1.HelpMark, { popoverProps: {
15
16
  placement: common_1.COMMON_POPOVER_PLACEMENT,
16
- } }, description)) : null),
17
+ } },
18
+ react_1.default.createElement(HTMLContent_1.HTMLContent, { html: description }))) : null),
17
19
  react_1.default.createElement(uikit_1.Text, { variant: "body-1", color: "secondary", className: b('text') }, text)));
18
20
  };
19
21
  exports.TogglerCard = TogglerCard;
@@ -6,8 +6,9 @@ const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const uikit_1 = require("@gravity-ui/uikit");
7
7
  const core_1 = require("../../../../core");
8
8
  const kit_1 = require("../../../../kit");
9
- const utils_1 = require("../../../utils");
10
9
  const common_1 = require("../../../constants/common");
10
+ const utils_1 = require("../../../utils");
11
+ const HTMLContent_1 = require("../../HTMLContent");
11
12
  const b = (0, utils_1.block)('view-column');
12
13
  const ViewColumn = ({ value, spec, children, }) => {
13
14
  const { showLayoutDescription } = (0, core_1.useDynamicFormsCtx)();
@@ -19,7 +20,8 @@ const ViewColumn = ({ value, spec, children, }) => {
19
20
  react_1.default.createElement(uikit_1.Text, { color: "secondary", ellipsis: true }, spec.viewSpec.layoutTitle),
20
21
  showLayoutDescription && spec.viewSpec.layoutDescription ? (react_1.default.createElement(uikit_1.HelpMark, { className: b('note'), popoverProps: {
21
22
  placement: common_1.COMMON_POPOVER_PLACEMENT,
22
- } }, spec.viewSpec.layoutDescription)) : null),
23
+ } },
24
+ react_1.default.createElement(HTMLContent_1.HTMLContent, { html: spec.viewSpec.layoutDescription }))) : null),
23
25
  react_1.default.createElement("div", { className: b('second-row') }, children),
24
26
  react_1.default.createElement(kit_1.CopyButton, { spec: spec, value: value })));
25
27
  };
@@ -6,8 +6,9 @@ const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const uikit_1 = require("@gravity-ui/uikit");
7
7
  const core_1 = require("../../../../core");
8
8
  const kit_1 = require("../../../../kit");
9
- const utils_1 = require("../../../utils");
10
9
  const common_1 = require("../../../constants/common");
10
+ const utils_1 = require("../../../utils");
11
+ const HTMLContent_1 = require("../../HTMLContent");
11
12
  const b = (0, utils_1.block)('view-row');
12
13
  const ViewRow = ({ value, spec, children, }) => {
13
14
  const { showLayoutDescription } = (0, core_1.useDynamicFormsCtx)();
@@ -19,7 +20,8 @@ const ViewRow = ({ value, spec, children, }) => {
19
20
  react_1.default.createElement(uikit_1.Text, { whiteSpace: "nowrap", color: "secondary", ellipsis: true }, spec.viewSpec.layoutTitle),
20
21
  showLayoutDescription && spec.viewSpec.layoutDescription ? (react_1.default.createElement(uikit_1.HelpMark, { className: b('note'), popoverProps: {
21
22
  placement: common_1.COMMON_POPOVER_PLACEMENT,
22
- } }, spec.viewSpec.layoutDescription)) : null,
23
+ } },
24
+ react_1.default.createElement(HTMLContent_1.HTMLContent, { html: spec.viewSpec.layoutDescription }))) : null,
23
25
  react_1.default.createElement("div", { className: b('dots') })),
24
26
  react_1.default.createElement("div", { className: b('right') }, children),
25
27
  react_1.default.createElement(kit_1.CopyButton, { spec: spec, value: value })));
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DateView = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- const components_1 = require("../../../components");
7
6
  const date_utils_1 = require("@gravity-ui/date-utils");
8
7
  const isObject_1 = tslib_1.__importDefault(require("lodash/isObject"));
8
+ const components_1 = require("../../../components");
9
9
  const DateView = (_a) => {
10
10
  var { value, spec } = _a, restProps = tslib_1.__rest(_a, ["value", "spec"]);
11
11
  const { printFormat = components_1.DEFAULT_DATE_FORMAT, outputFormat, timeZone, } = spec.viewSpec.dateInput || {};
@@ -6,9 +6,9 @@ const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const uikit_1 = require("@gravity-ui/uikit");
7
7
  const isObjectLike_1 = tslib_1.__importDefault(require("lodash/isObjectLike"));
8
8
  const core_1 = require("../../../../core");
9
+ const common_1 = require("../../../constants/common");
9
10
  const utils_1 = require("../../../utils");
10
11
  const GroupIndent_1 = require("../../GroupIndent");
11
- const common_1 = require("../../../constants/common");
12
12
  const b = (0, utils_1.block)('multi-oneof-view');
13
13
  const MultiOneOfView = (props) => {
14
14
  const { name, value, Layout, spec, withoutIndent } = props;
@@ -4,8 +4,8 @@ exports.MultiSelectView = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const uikit_1 = require("@gravity-ui/uikit");
7
- const utils_1 = require("../../../utils");
8
7
  const common_1 = require("../../../constants/common");
8
+ const utils_1 = require("../../../utils");
9
9
  const b = (0, utils_1.block)('multiselect-view');
10
10
  const MultiSelectView = ({ spec, value = [] }) => {
11
11
  const _value = value;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ObjectInlineView = exports.ObjectBaseView = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
- const isObjectLike_1 = tslib_1.__importDefault(require("lodash/isObjectLike"));
7
6
  const uikit_1 = require("@gravity-ui/uikit");
7
+ const isObjectLike_1 = tslib_1.__importDefault(require("lodash/isObjectLike"));
8
8
  const core_1 = require("../../../../core");
9
9
  const utils_1 = require("../../../utils");
10
10
  const b = (0, utils_1.block)('object-base-view');
@@ -5,8 +5,9 @@ const tslib_1 = require("tslib");
5
5
  const react_1 = tslib_1.__importDefault(require("react"));
6
6
  const uikit_1 = require("@gravity-ui/uikit");
7
7
  const core_1 = require("../../../../core");
8
- const utils_1 = require("../../../utils");
9
8
  const common_1 = require("../../../constants/common");
9
+ const utils_1 = require("../../../utils");
10
+ const HTMLContent_1 = require("../../HTMLContent");
10
11
  const b = (0, utils_1.block)('table-array-view');
11
12
  const TableArrayView = ({ value = [], spec, name }) => {
12
13
  const { showLayoutDescription } = (0, core_1.useDynamicFormsCtx)();
@@ -28,7 +29,8 @@ const TableArrayView = ({ value = [], spec, name }) => {
28
29
  label,
29
30
  react_1.default.createElement(uikit_1.HelpMark, { popoverProps: {
30
31
  placement: common_1.COMMON_POPOVER_PLACEMENT,
31
- } }, description)))
32
+ } },
33
+ react_1.default.createElement(HTMLContent_1.HTMLContent, { html: description }))))
32
34
  : label,
33
35
  template: (_, idx) => {
34
36
  var _a;
@@ -4,11 +4,11 @@ exports.isCorrectSizeParams = exports.prepareSpec = exports.isNotEmptyValue = vo
4
4
  const tslib_1 = require("tslib");
5
5
  const cloneDeep_1 = tslib_1.__importDefault(require("lodash/cloneDeep"));
6
6
  const isArray_1 = tslib_1.__importDefault(require("lodash/isArray"));
7
+ const isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty"));
7
8
  const isNil_1 = tslib_1.__importDefault(require("lodash/isNil"));
8
9
  const isObject_1 = tslib_1.__importDefault(require("lodash/isObject"));
9
10
  const isObjectLike_1 = tslib_1.__importDefault(require("lodash/isObjectLike"));
10
11
  const isString_1 = tslib_1.__importDefault(require("lodash/isString"));
11
- const isEmpty_1 = tslib_1.__importDefault(require("lodash/isEmpty"));
12
12
  const core_1 = require("../../core");
13
13
  const helpers_1 = require("../validators/helpers");
14
14
  const bigIntMath_1 = require("./bigIntMath");
@@ -1,5 +1,5 @@
1
- import { FormValue, Spec } from '../../../types';
2
- import { FieldValue, ValidateError } from '../types';
1
+ import type { FormValue, Spec } from '../../../types';
2
+ import type { FieldValue, ValidateError } from '../types';
3
3
  export interface ControllerProps<DirtyValue extends FieldValue, SpecType extends Spec> {
4
4
  spec: SpecType;
5
5
  name: string;
@@ -1,6 +1,6 @@
1
1
  /// <reference types="react" />
2
- import { FormValue, Spec } from '../../../types';
3
- import { DynamicFormConfig, DynamicFormMutatorsStore, DynamicFormsContext, FieldRenderProps, FieldValue, IndependentInputEntity, InputEntity, LayoutType, ValidateError } from '../types';
2
+ import type { FormValue, Spec } from '../../../types';
3
+ import type { DynamicFormConfig, DynamicFormMutatorsStore, DynamicFormsContext, FieldRenderProps, FieldValue, IndependentInputEntity, InputEntity, LayoutType, ValidateError } from '../types';
4
4
  export interface GetSpecParams<SpecType extends Spec> {
5
5
  name: string;
6
6
  spec: SpecType;
@@ -1,6 +1,6 @@
1
- import { FormValue, Spec } from '../../../types';
2
- import { BaseValidateError, FieldRenderProps, FieldValue, ValidateError } from '../types';
3
- import { ControllerStore, GetComponentsParams, GetComponentsReturn, GetFieldInitialsParams, GetFieldMethodsReturn, GetRenderParams, GetSpecParams, GetValidateParams, InitializeStoreParams, UpdateStoreParams } from './types';
1
+ import type { FormValue, Spec } from '../../../types';
2
+ import type { BaseValidateError, FieldRenderProps, FieldValue, ValidateError } from '../types';
3
+ import type { ControllerStore, GetComponentsParams, GetComponentsReturn, GetFieldInitialsParams, GetFieldMethodsReturn, GetRenderParams, GetSpecParams, GetValidateParams, InitializeStoreParams, UpdateStoreParams } from './types';
4
4
  export declare const updateParentStore: <DirtyValue extends FieldValue, Value extends FormValue, SpecType extends Spec<any, undefined, undefined>>(store: ControllerStore<DirtyValue, Value, SpecType>) => void;
5
5
  export declare const callUnmout: <DirtyValue extends FieldValue, Value extends FormValue, SpecType extends Spec<any, undefined, undefined>>(store: ControllerStore<DirtyValue, Value, SpecType>) => void;
6
6
  export declare const getSpec: <SpecType extends Spec<any, undefined, undefined>>({ name, spec, mutatorsStore, }: GetSpecParams<SpecType>) => SpecType;
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { MonacoEditorProps } from 'react-monaco-editor/lib/types';
3
- import { Spec, StringSpec } from '../../types';
4
- import { DynamicFormConfig, DynamicFormMutators, FieldValue, WonderMirror } from './types';
3
+ import type { Spec, StringSpec } from '../../types';
4
+ import type { DynamicFormConfig, DynamicFormMutators, FieldValue, WonderMirror } from './types';
5
5
  export interface DynamicFieldProps {
6
6
  name: string;
7
7
  spec: Spec;
@@ -13,6 +13,7 @@ export interface DynamicFieldProps {
13
13
  destroyOnUnregister?: boolean;
14
14
  mutators?: DynamicFormMutators;
15
15
  shared?: Record<string, any>;
16
+ storeSubscriber?: (store: FieldValue) => void;
16
17
  __mirror?: WonderMirror;
17
18
  }
18
19
  export declare const DynamicField: React.FC<DynamicFieldProps>;
@@ -7,11 +7,16 @@ import { isCorrectSpec } from '../../helpers';
7
7
  import { Controller } from './Controller';
8
8
  import { useCreateContext, useCreateSearchContext, useDynamicFieldMirror, useFormSharedStore, useIntegrationFF, useMutators, useSearchStore, useStore, } from './hooks';
9
9
  import { getDefaultSearchFunction, isCorrectConfig } from './utils';
10
- export const DynamicField = ({ name, spec, config, Monaco, generateRandomValue, search, withoutInsertFFDebounce, destroyOnUnregister = true, mutators: externalMutators, shared: externalShared, __mirror, }) => {
10
+ export const DynamicField = ({ name, spec, config, Monaco, generateRandomValue, search, withoutInsertFFDebounce, destroyOnUnregister = true, mutators: externalMutators, shared: externalShared, storeSubscriber, __mirror, }) => {
11
11
  const DynamicFormsCtx = useCreateContext();
12
12
  const SearchContext = useCreateSearchContext();
13
13
  const { tools, store } = useStore(name);
14
- const watcher = useIntegrationFF(store, withoutInsertFFDebounce, destroyOnUnregister);
14
+ const watcher = useIntegrationFF({
15
+ store,
16
+ withoutDebounce: withoutInsertFFDebounce,
17
+ destroyOnUnregister,
18
+ storeSubscriber,
19
+ });
15
20
  const { mutatorsStore, mutateDFState } = useMutators(externalMutators);
16
21
  const { store: searchStore, setField, removeField, isHiddenField } = useSearchStore();
17
22
  const shared = useFormSharedStore(externalShared);
@@ -1,2 +1,2 @@
1
- import { ControllerMirror, WonderMirror } from '../types';
1
+ import type { ControllerMirror, WonderMirror } from '../types';
2
2
  export declare const useControllerMirror: (name: string, params: ControllerMirror, __mirror?: WonderMirror) => void;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- import { DynamicFormsContext } from '../types';
2
+ import type { DynamicFormsContext } from '../types';
3
3
  export declare const useCreateContext: () => React.Context<DynamicFormsContext>;
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- import { SearchContext } from '../types';
2
+ import type { SearchContext } from '../types';
3
3
  export declare const useCreateSearchContext: () => React.Context<SearchContext>;
@@ -1,2 +1,2 @@
1
- import { DynamicFieldMirror, WonderMirror } from '../types';
1
+ import type { DynamicFieldMirror, WonderMirror } from '../types';
2
2
  export declare const useDynamicFieldMirror: (params: DynamicFieldMirror, __mirror?: WonderMirror) => void;
@@ -1,2 +1,9 @@
1
- import { DynamicFieldStore } from '../types';
2
- export declare const useIntegrationFF: (store: DynamicFieldStore, withoutDebounce?: boolean, destroyOnUnregister?: boolean) => JSX.Element;
1
+ import type { DynamicFieldStore, FieldValue } from '../types';
2
+ interface UseIntegrationFFParams {
3
+ store: DynamicFieldStore;
4
+ withoutDebounce?: boolean;
5
+ destroyOnUnregister?: boolean;
6
+ storeSubscriber?: (store: FieldValue) => void;
7
+ }
8
+ export declare const useIntegrationFF: ({ store, withoutDebounce, destroyOnUnregister, storeSubscriber, }: UseIntegrationFFParams) => JSX.Element;
9
+ export {};
@@ -6,7 +6,7 @@ import isFunction from 'lodash/isFunction';
6
6
  import values from 'lodash/values';
7
7
  import { Field as FinalFormField, useForm } from 'react-final-form';
8
8
  import { transformArrOut } from '../utils';
9
- export const useIntegrationFF = (store, withoutDebounce, destroyOnUnregister) => {
9
+ export const useIntegrationFF = ({ store, withoutDebounce, destroyOnUnregister, storeSubscriber, }) => {
10
10
  const form = useForm();
11
11
  const watcher = React.useMemo(() => {
12
12
  const props = {
@@ -39,13 +39,14 @@ export const useIntegrationFF = (store, withoutDebounce, destroyOnUnregister) =>
39
39
  const cb = (value) => {
40
40
  if (store.name) {
41
41
  form.change(store.name, get(transformArrOut(value), store.name));
42
+ storeSubscriber === null || storeSubscriber === void 0 ? void 0 : storeSubscriber(get(value, store.name));
42
43
  }
43
44
  };
44
45
  if (withoutDebounce) {
45
46
  return cb;
46
47
  }
47
48
  return debounce(cb, 100);
48
- }, [form.change, store.name, withoutDebounce]);
49
+ }, [form.change, store.name, withoutDebounce, storeSubscriber]);
49
50
  React.useEffect(() => {
50
51
  change(store.values);
51
52
  }, [store.values]);
@@ -1,4 +1,4 @@
1
- import { DynamicFormMutators, DynamicFormMutatorsStore } from '../types';
1
+ import type { DynamicFormMutators, DynamicFormMutatorsStore } from '../types';
2
2
  export declare const useMutators: (externalMutators?: DynamicFormMutators) => {
3
3
  mutatorsStore: DynamicFormMutatorsStore;
4
4
  mutateDFState: (mutators: DynamicFormMutators) => void;
@@ -1,4 +1,4 @@
1
- import { Spec } from '../../../../types';
2
- import { FieldValue } from '../../types';
1
+ import type { Spec } from '../../../../types';
2
+ import type { FieldValue } from '../../types';
3
3
  import './useSearch.css';
4
4
  export declare const useSearch: (spec: Spec, value: FieldValue, name: string) => (children: JSX.Element | null) => JSX.Element | null;
@@ -1,4 +1,4 @@
1
- import { DynamicFieldStore, FieldObjectValue, FieldValue, ValidateError } from '../types';
1
+ import type { DynamicFieldStore, FieldObjectValue, FieldValue, ValidateError } from '../types';
2
2
  export declare const useStore: (name: string) => {
3
3
  tools: {
4
4
  initialValue: FieldObjectValue;
@@ -1,5 +1,5 @@
1
- import { ArraySpec, ArrayValue } from '../../../types';
2
- import { FieldArrayValue, IndependentInputEntity, IndependentInputProps, IndependentInputType, InputEntity, InputProps, InputType, InputsMap, LayoutProps, LayoutType, LayoutsMap, TypeConfig, ValidatorsMap } from './';
1
+ import type { ArraySpec, ArrayValue } from '../../../types';
2
+ import type { FieldArrayValue, IndependentInputEntity, IndependentInputProps, IndependentInputType, InputEntity, InputProps, InputType, InputsMap, LayoutProps, LayoutType, LayoutsMap, TypeConfig, ValidatorsMap } from './';
3
3
  export type ArrayInputProps<InputComponentProps extends Record<string, any> | undefined = undefined> = InputProps<FieldArrayValue, InputComponentProps, undefined, ArraySpec<undefined, InputComponentProps, undefined>>;
4
4
  export type ArrayIndependentInputProps<InputComponentProps extends Record<string, any> | undefined = undefined, LayoutComponentProps extends Record<string, any> | undefined = undefined> = IndependentInputProps<FieldArrayValue, InputComponentProps, LayoutComponentProps, ArraySpec<undefined, InputComponentProps, LayoutComponentProps>>;
5
5
  export type ArrayLayoutProps<InputComponentProps extends Record<string, any> | undefined = undefined, LayoutComponentProps extends Record<string, any> | undefined = undefined> = LayoutProps<FieldArrayValue, InputComponentProps, LayoutComponentProps, ArraySpec<undefined, InputComponentProps, LayoutComponentProps>>;
@@ -1,5 +1,5 @@
1
- import { BooleanSpec } from '../../../types';
2
- import { IndependentInputEntity, IndependentInputProps, IndependentInputType, InputEntity, InputProps, InputType, InputsMap, LayoutProps, LayoutType, LayoutsMap, TypeConfig, ValidatorsMap } from './';
1
+ import type { BooleanSpec } from '../../../types';
2
+ import type { IndependentInputEntity, IndependentInputProps, IndependentInputType, InputEntity, InputProps, InputType, InputsMap, LayoutProps, LayoutType, LayoutsMap, TypeConfig, ValidatorsMap } from './';
3
3
  export type BooleanInputProps<InputComponentProps extends Record<string, any> | undefined = undefined> = InputProps<boolean, InputComponentProps, undefined, BooleanSpec<undefined, InputComponentProps, undefined>>;
4
4
  export type BooleanIndependentInputProps<InputComponentProps extends Record<string, any> | undefined = undefined, LayoutComponentProps extends Record<string, any> | undefined = undefined> = IndependentInputProps<boolean, InputComponentProps, LayoutComponentProps, BooleanSpec<undefined, InputComponentProps, LayoutComponentProps>>;
5
5
  export type BooleanLayoutProps<InputComponentProps extends Record<string, any> | undefined = undefined, LayoutComponentProps extends Record<string, any> | undefined = undefined> = LayoutProps<boolean, InputComponentProps, LayoutComponentProps, BooleanSpec<undefined, InputComponentProps, LayoutComponentProps>>;
@@ -1,5 +1,5 @@
1
- import { FormValue, Spec } from '../../../types';
2
- import { ArrayConfig, BooleanConfig, FieldValue, InputsMap, LayoutsMap, NumberConfig, ObjectConfig, StringConfig, ValidatorsMap } from './';
1
+ import type { FormValue, Spec } from '../../../types';
2
+ import type { ArrayConfig, BooleanConfig, FieldValue, InputsMap, LayoutsMap, NumberConfig, ObjectConfig, StringConfig, ValidatorsMap } from './';
3
3
  export interface TypeConfig<DirtyValue extends FieldValue, Value extends FormValue, SpecType extends Spec<undefined, any, any>> {
4
4
  inputs: InputsMap<DirtyValue, SpecType>;
5
5
  layouts: LayoutsMap<DirtyValue, SpecType>;
@@ -1,7 +1,7 @@
1
- import React from 'react';
1
+ import type React from 'react';
2
2
  import type { MonacoEditorProps } from 'react-monaco-editor/lib/types';
3
- import { StringSpec } from '../../../types';
4
- import { DynamicFieldStore, DynamicFormConfig, DynamicFormMutators, DynamicFormMutatorsStore, FieldValue, ValidateError, WonderMirror } from './';
3
+ import type { StringSpec } from '../../../types';
4
+ import type { DynamicFieldStore, DynamicFormConfig, DynamicFormMutators, DynamicFormMutatorsStore, FieldValue, ValidateError, WonderMirror } from './';
5
5
  export interface DynamicFormsContext {
6
6
  config: DynamicFormConfig;
7
7
  Monaco?: React.ComponentType<MonacoEditorProps>;