devextreme-react 23.2.1-alpha-23255-1813 → 23.2.2-beta

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 (323) hide show
  1. package/cjs/accordion.d.ts +2 -2
  2. package/cjs/accordion.js +3 -2
  3. package/cjs/action-sheet.d.ts +2 -2
  4. package/cjs/action-sheet.js +3 -2
  5. package/cjs/autocomplete.d.ts +2 -2
  6. package/cjs/autocomplete.js +5 -3
  7. package/cjs/bar-gauge.d.ts +18 -18
  8. package/cjs/bar-gauge.js +3 -2
  9. package/cjs/box.d.ts +3 -3
  10. package/cjs/box.js +3 -2
  11. package/cjs/bullet.d.ts +4 -4
  12. package/cjs/bullet.js +3 -2
  13. package/cjs/button-group.d.ts +2 -2
  14. package/cjs/button-group.js +3 -2
  15. package/cjs/button.d.ts +2 -2
  16. package/cjs/button.js +3 -2
  17. package/cjs/calendar.d.ts +2 -2
  18. package/cjs/calendar.js +3 -2
  19. package/cjs/chart.d.ts +60 -61
  20. package/cjs/chart.js +3 -2
  21. package/cjs/check-box.d.ts +2 -2
  22. package/cjs/check-box.js +3 -2
  23. package/cjs/circular-gauge.d.ts +13 -14
  24. package/cjs/circular-gauge.js +3 -2
  25. package/cjs/color-box.d.ts +2 -2
  26. package/cjs/color-box.js +5 -3
  27. package/cjs/common/charts.d.ts +3 -3
  28. package/cjs/common/charts.js +2 -2
  29. package/cjs/common/data/custom-store.d.ts +2 -2
  30. package/cjs/common/data/custom-store.js +2 -2
  31. package/cjs/common/grids.d.ts +2 -2
  32. package/cjs/common/grids.js +2 -2
  33. package/cjs/common/index.d.ts +2 -2
  34. package/cjs/common/index.js +2 -2
  35. package/cjs/context-menu.d.ts +2 -2
  36. package/cjs/context-menu.js +3 -2
  37. package/cjs/core/component-base.d.ts +13 -6
  38. package/cjs/core/component-base.js +81 -32
  39. package/cjs/core/component.d.ts +2 -2
  40. package/cjs/core/component.js +2 -2
  41. package/cjs/core/config.d.ts +2 -2
  42. package/cjs/core/config.js +2 -2
  43. package/cjs/core/configuration/comparer.d.ts +2 -2
  44. package/cjs/core/configuration/comparer.js +2 -2
  45. package/cjs/core/configuration/config-node.d.ts +2 -2
  46. package/cjs/core/configuration/config-node.js +2 -2
  47. package/cjs/core/configuration/react/element.d.ts +2 -2
  48. package/cjs/core/configuration/react/element.js +2 -2
  49. package/cjs/core/configuration/react/templates.d.ts +2 -2
  50. package/cjs/core/configuration/react/templates.js +2 -2
  51. package/cjs/core/configuration/react/tree.d.ts +2 -2
  52. package/cjs/core/configuration/react/tree.js +2 -2
  53. package/cjs/core/configuration/tree.d.ts +2 -2
  54. package/cjs/core/configuration/tree.js +2 -2
  55. package/cjs/core/configuration/utils.d.ts +2 -2
  56. package/cjs/core/configuration/utils.js +2 -2
  57. package/cjs/core/extension-component.d.ts +2 -2
  58. package/cjs/core/extension-component.js +2 -2
  59. package/cjs/core/helpers.d.ts +14 -3
  60. package/cjs/core/helpers.js +155 -4
  61. package/cjs/core/nested-option.d.ts +2 -2
  62. package/cjs/core/nested-option.js +2 -2
  63. package/cjs/core/options-manager.d.ts +7 -6
  64. package/cjs/core/options-manager.js +37 -22
  65. package/cjs/core/template-manager.d.ts +16 -0
  66. package/cjs/core/template-manager.js +180 -0
  67. package/cjs/core/template-wrapper.d.ts +4 -29
  68. package/cjs/core/template-wrapper.js +93 -97
  69. package/cjs/core/template.d.ts +2 -2
  70. package/cjs/core/template.js +2 -2
  71. package/cjs/core/types.d.ts +59 -0
  72. package/cjs/core/types.js +15 -0
  73. package/cjs/core/widget-config.d.ts +2 -2
  74. package/cjs/core/widget-config.js +2 -2
  75. package/cjs/data-grid.d.ts +5 -12
  76. package/cjs/data-grid.js +3 -2
  77. package/cjs/date-box.d.ts +2 -2
  78. package/cjs/date-box.js +5 -3
  79. package/cjs/date-range-box.d.ts +2 -2
  80. package/cjs/date-range-box.js +5 -3
  81. package/cjs/defer-rendering.d.ts +2 -2
  82. package/cjs/defer-rendering.js +3 -2
  83. package/cjs/diagram.d.ts +2 -2
  84. package/cjs/diagram.js +3 -2
  85. package/cjs/draggable.d.ts +2 -2
  86. package/cjs/draggable.js +3 -2
  87. package/cjs/drawer.d.ts +2 -2
  88. package/cjs/drawer.js +3 -2
  89. package/cjs/drop-down-box.d.ts +2 -2
  90. package/cjs/drop-down-box.js +5 -3
  91. package/cjs/drop-down-button.d.ts +2 -2
  92. package/cjs/drop-down-button.js +12 -2
  93. package/cjs/file-manager.d.ts +2 -2
  94. package/cjs/file-manager.js +3 -2
  95. package/cjs/file-uploader.d.ts +2 -2
  96. package/cjs/file-uploader.js +3 -2
  97. package/cjs/filter-builder.d.ts +2 -2
  98. package/cjs/filter-builder.js +3 -2
  99. package/cjs/form.d.ts +2 -2
  100. package/cjs/form.js +3 -2
  101. package/cjs/funnel.d.ts +18 -18
  102. package/cjs/funnel.js +3 -2
  103. package/cjs/gallery.d.ts +2 -2
  104. package/cjs/gallery.js +3 -2
  105. package/cjs/gantt.d.ts +2 -2
  106. package/cjs/gantt.js +3 -2
  107. package/cjs/html-editor.d.ts +2 -2
  108. package/cjs/html-editor.js +3 -2
  109. package/cjs/index.d.ts +2 -2
  110. package/cjs/index.js +2 -2
  111. package/cjs/linear-gauge.d.ts +13 -14
  112. package/cjs/linear-gauge.js +3 -2
  113. package/cjs/list.d.ts +3 -3
  114. package/cjs/list.js +3 -2
  115. package/cjs/load-indicator.d.ts +2 -2
  116. package/cjs/load-indicator.js +3 -2
  117. package/cjs/load-panel.d.ts +2 -2
  118. package/cjs/load-panel.js +3 -2
  119. package/cjs/lookup.d.ts +2 -2
  120. package/cjs/lookup.js +5 -3
  121. package/cjs/map.d.ts +2 -2
  122. package/cjs/map.js +3 -2
  123. package/cjs/menu.d.ts +2 -2
  124. package/cjs/menu.js +3 -2
  125. package/cjs/multi-view.d.ts +2 -2
  126. package/cjs/multi-view.js +3 -2
  127. package/cjs/number-box.d.ts +2 -2
  128. package/cjs/number-box.js +5 -3
  129. package/cjs/pie-chart.d.ts +22 -23
  130. package/cjs/pie-chart.js +3 -2
  131. package/cjs/pivot-grid-field-chooser.d.ts +2 -2
  132. package/cjs/pivot-grid-field-chooser.js +3 -2
  133. package/cjs/pivot-grid.d.ts +2 -2
  134. package/cjs/pivot-grid.js +3 -2
  135. package/cjs/polar-chart.d.ts +46 -47
  136. package/cjs/polar-chart.js +3 -2
  137. package/cjs/popover.d.ts +2 -2
  138. package/cjs/popover.js +3 -2
  139. package/cjs/popup.d.ts +2 -2
  140. package/cjs/popup.js +3 -2
  141. package/cjs/progress-bar.d.ts +2 -2
  142. package/cjs/progress-bar.js +3 -2
  143. package/cjs/radio-group.d.ts +2 -2
  144. package/cjs/radio-group.js +3 -2
  145. package/cjs/range-selector.d.ts +14 -15
  146. package/cjs/range-selector.js +3 -2
  147. package/cjs/range-slider.d.ts +2 -2
  148. package/cjs/range-slider.js +3 -2
  149. package/cjs/recurrence-editor.d.ts +2 -2
  150. package/cjs/recurrence-editor.js +3 -2
  151. package/cjs/resizable.d.ts +2 -2
  152. package/cjs/resizable.js +3 -2
  153. package/cjs/responsive-box.d.ts +4 -4
  154. package/cjs/responsive-box.js +3 -2
  155. package/cjs/sankey.d.ts +9 -9
  156. package/cjs/sankey.js +3 -2
  157. package/cjs/scheduler.d.ts +3 -2
  158. package/cjs/scheduler.js +4 -2
  159. package/cjs/scroll-view.d.ts +2 -2
  160. package/cjs/scroll-view.js +3 -2
  161. package/cjs/select-box.d.ts +2 -2
  162. package/cjs/select-box.js +5 -3
  163. package/cjs/slider.d.ts +2 -2
  164. package/cjs/slider.js +3 -2
  165. package/cjs/sortable.d.ts +2 -2
  166. package/cjs/sortable.js +3 -2
  167. package/cjs/sparkline.d.ts +4 -4
  168. package/cjs/sparkline.js +3 -2
  169. package/cjs/speed-dial-action.d.ts +2 -2
  170. package/cjs/speed-dial-action.js +3 -2
  171. package/cjs/switch.d.ts +2 -2
  172. package/cjs/switch.js +3 -2
  173. package/cjs/tab-panel.d.ts +2 -2
  174. package/cjs/tab-panel.js +3 -2
  175. package/cjs/tabs.d.ts +2 -2
  176. package/cjs/tabs.js +3 -2
  177. package/cjs/tag-box.d.ts +2 -2
  178. package/cjs/tag-box.js +5 -3
  179. package/cjs/text-area.d.ts +2 -2
  180. package/cjs/text-area.js +5 -3
  181. package/cjs/text-box.d.ts +2 -2
  182. package/cjs/text-box.js +5 -3
  183. package/cjs/tile-view.d.ts +2 -2
  184. package/cjs/tile-view.js +3 -2
  185. package/cjs/toast.d.ts +2 -2
  186. package/cjs/toast.js +3 -2
  187. package/cjs/toolbar.d.ts +2 -2
  188. package/cjs/toolbar.js +3 -2
  189. package/cjs/tooltip.d.ts +2 -2
  190. package/cjs/tooltip.js +3 -2
  191. package/cjs/tree-list.d.ts +2 -2
  192. package/cjs/tree-list.js +3 -2
  193. package/cjs/tree-map.d.ts +13 -13
  194. package/cjs/tree-map.js +3 -2
  195. package/cjs/tree-view.d.ts +3 -3
  196. package/cjs/tree-view.js +3 -2
  197. package/cjs/validation-group.d.ts +2 -2
  198. package/cjs/validation-group.js +3 -2
  199. package/cjs/validation-summary.d.ts +2 -2
  200. package/cjs/validation-summary.js +3 -2
  201. package/cjs/validator.d.ts +2 -2
  202. package/cjs/validator.js +3 -2
  203. package/cjs/vector-map.d.ts +21 -21
  204. package/cjs/vector-map.js +3 -2
  205. package/core/component/package.json +6 -0
  206. package/core/config/package.json +6 -0
  207. package/core/extension-component/package.json +6 -0
  208. package/core/nested-option/package.json +6 -0
  209. package/esm/accordion.js +3 -2
  210. package/esm/action-sheet.js +3 -2
  211. package/esm/autocomplete.js +5 -3
  212. package/esm/bar-gauge.js +3 -2
  213. package/esm/box.js +3 -2
  214. package/esm/bullet.js +3 -2
  215. package/esm/button-group.js +3 -2
  216. package/esm/button.js +3 -2
  217. package/esm/calendar.js +3 -2
  218. package/esm/chart.js +3 -2
  219. package/esm/check-box.js +3 -2
  220. package/esm/circular-gauge.js +3 -2
  221. package/esm/color-box.js +5 -3
  222. package/esm/common/charts.js +2 -2
  223. package/esm/common/data/custom-store.js +2 -2
  224. package/esm/common/grids.js +2 -2
  225. package/esm/common/index.js +2 -2
  226. package/esm/context-menu.js +3 -2
  227. package/esm/core/component-base.js +82 -30
  228. package/esm/core/component.js +2 -2
  229. package/esm/core/config.js +2 -2
  230. package/esm/core/configuration/comparer.js +2 -2
  231. package/esm/core/configuration/config-node.js +2 -2
  232. package/esm/core/configuration/react/element.js +2 -2
  233. package/esm/core/configuration/react/templates.js +2 -2
  234. package/esm/core/configuration/react/tree.js +2 -2
  235. package/esm/core/configuration/tree.js +2 -2
  236. package/esm/core/configuration/utils.js +2 -2
  237. package/esm/core/extension-component.js +2 -2
  238. package/esm/core/helpers.js +154 -3
  239. package/esm/core/nested-option.js +2 -2
  240. package/esm/core/options-manager.js +37 -22
  241. package/esm/core/template-manager.js +157 -0
  242. package/esm/core/template-wrapper.js +93 -97
  243. package/esm/core/template.js +2 -2
  244. package/esm/core/types.js +14 -0
  245. package/esm/core/widget-config.js +2 -2
  246. package/esm/data-grid.js +3 -2
  247. package/esm/date-box.js +5 -3
  248. package/esm/date-range-box.js +5 -3
  249. package/esm/defer-rendering.js +3 -2
  250. package/esm/diagram.js +3 -2
  251. package/esm/draggable.js +3 -2
  252. package/esm/drawer.js +3 -2
  253. package/esm/drop-down-box.js +5 -3
  254. package/esm/drop-down-button.js +12 -2
  255. package/esm/file-manager.js +3 -2
  256. package/esm/file-uploader.js +3 -2
  257. package/esm/filter-builder.js +3 -2
  258. package/esm/form.js +3 -2
  259. package/esm/funnel.js +3 -2
  260. package/esm/gallery.js +3 -2
  261. package/esm/gantt.js +3 -2
  262. package/esm/html-editor.js +3 -2
  263. package/esm/index.js +2 -2
  264. package/esm/linear-gauge.js +3 -2
  265. package/esm/list.js +3 -2
  266. package/esm/load-indicator.js +3 -2
  267. package/esm/load-panel.js +3 -2
  268. package/esm/lookup.js +5 -3
  269. package/esm/map.js +3 -2
  270. package/esm/menu.js +3 -2
  271. package/esm/multi-view.js +3 -2
  272. package/esm/number-box.js +5 -3
  273. package/esm/pie-chart.js +3 -2
  274. package/esm/pivot-grid-field-chooser.js +3 -2
  275. package/esm/pivot-grid.js +3 -2
  276. package/esm/polar-chart.js +3 -2
  277. package/esm/popover.js +3 -2
  278. package/esm/popup.js +3 -2
  279. package/esm/progress-bar.js +3 -2
  280. package/esm/radio-group.js +3 -2
  281. package/esm/range-selector.js +3 -2
  282. package/esm/range-slider.js +3 -2
  283. package/esm/recurrence-editor.js +3 -2
  284. package/esm/resizable.js +3 -2
  285. package/esm/responsive-box.js +3 -2
  286. package/esm/sankey.js +3 -2
  287. package/esm/scheduler.js +4 -2
  288. package/esm/scroll-view.js +3 -2
  289. package/esm/select-box.js +5 -3
  290. package/esm/slider.js +3 -2
  291. package/esm/sortable.js +3 -2
  292. package/esm/sparkline.js +3 -2
  293. package/esm/speed-dial-action.js +3 -2
  294. package/esm/switch.js +3 -2
  295. package/esm/tab-panel.js +3 -2
  296. package/esm/tabs.js +3 -2
  297. package/esm/tag-box.js +5 -3
  298. package/esm/text-area.js +5 -3
  299. package/esm/text-box.js +5 -3
  300. package/esm/tile-view.js +3 -2
  301. package/esm/toast.js +3 -2
  302. package/esm/toolbar.js +3 -2
  303. package/esm/tooltip.js +3 -2
  304. package/esm/tree-list.js +3 -2
  305. package/esm/tree-map.js +3 -2
  306. package/esm/tree-view.js +3 -2
  307. package/esm/validation-group.js +3 -2
  308. package/esm/validation-summary.js +3 -2
  309. package/esm/validator.js +3 -2
  310. package/esm/vector-map.js +3 -2
  311. package/package.json +5 -6
  312. package/cjs/core/dx-template.d.ts +0 -26
  313. package/cjs/core/dx-template.js +0 -99
  314. package/cjs/core/templates-manager.d.ts +0 -25
  315. package/cjs/core/templates-manager.js +0 -88
  316. package/cjs/core/templates-renderer.d.ts +0 -28
  317. package/cjs/core/templates-renderer.js +0 -103
  318. package/cjs/core/templates-store.d.ts +0 -24
  319. package/cjs/core/templates-store.js +0 -50
  320. package/esm/core/dx-template.js +0 -77
  321. package/esm/core/templates-manager.js +0 -67
  322. package/esm/core/templates-renderer.js +0 -81
  323. package/esm/core/templates-store.js +0 -47
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -12,21 +12,6 @@
12
12
  */
13
13
 
14
14
  "use strict";
15
- var __extends = (this && this.__extends) || (function () {
16
- var extendStatics = function (d, b) {
17
- extendStatics = Object.setPrototypeOf ||
18
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
19
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
20
- return extendStatics(d, b);
21
- };
22
- return function (d, b) {
23
- if (typeof b !== "function" && b !== null)
24
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
25
- extendStatics(d, b);
26
- function __() { this.constructor = d; }
27
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
28
- };
29
- })();
30
15
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
31
16
  if (k2 === undefined) k2 = k;
32
17
  Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -46,95 +31,106 @@ var __importStar = (this && this.__importStar) || function (mod) {
46
31
  __setModuleDefault(result, mod);
47
32
  return result;
48
33
  };
34
+ var __read = (this && this.__read) || function (o, n) {
35
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
36
+ if (!m) return o;
37
+ var i = m.call(o), r, ar = [], e;
38
+ try {
39
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
40
+ }
41
+ catch (error) { e = { error: error }; }
42
+ finally {
43
+ try {
44
+ if (r && !r.done && (m = i["return"])) m.call(i);
45
+ }
46
+ finally { if (e) throw e.error; }
47
+ }
48
+ return ar;
49
+ };
49
50
  Object.defineProperty(exports, "__esModule", { value: true });
50
51
  exports.TemplateWrapper = void 0;
51
- var events = __importStar(require("devextreme/events"));
52
52
  var React = __importStar(require("react"));
53
- var ReactDOM = __importStar(require("react-dom"));
53
+ var events = __importStar(require("devextreme/events"));
54
+ var react_1 = require("react");
55
+ var react_dom_1 = require("react-dom");
54
56
  var component_base_1 = require("./component-base");
55
- var removalListenerStyle = { display: 'none' };
56
- var TableNodeNames;
57
- (function (TableNodeNames) {
58
- TableNodeNames["TABLE"] = "tbody";
59
- TableNodeNames["TBODY"] = "tr";
60
- })(TableNodeNames || (TableNodeNames = {}));
61
- var TemplateWrapper = /** @class */ (function (_super) {
62
- __extends(TemplateWrapper, _super);
63
- function TemplateWrapper(props) {
64
- var _this = _super.call(this, props) || this;
65
- _this._removalListenerRef = React.createRef();
66
- _this.state = { removalListenerRequired: false };
67
- _this._onDxRemove = _this._onDxRemove.bind(_this);
68
- _this.getPreviousSiblingNode = _this.getPreviousSiblingNode.bind(_this);
69
- return _this;
57
+ var helpers_1 = require("./helpers");
58
+ var createHiddenNode = function (containerNodeName, ref, defaultElement) {
59
+ var style = { display: 'none' };
60
+ switch (containerNodeName) {
61
+ case 'TABLE':
62
+ return React.createElement("tbody", { style: style, ref: ref });
63
+ case 'TBODY':
64
+ return React.createElement("tr", { style: style, ref: ref });
65
+ default:
66
+ return React.createElement(defaultElement, { style: style, ref: ref });
70
67
  }
71
- TemplateWrapper.prototype.componentDidMount = function () {
72
- var _a, _b;
73
- this._subscribeOnRemove();
74
- (_b = (_a = this.props).onDidMount) === null || _b === void 0 ? void 0 : _b.call(_a);
75
- };
76
- TemplateWrapper.prototype.componentDidUpdate = function () {
77
- this._subscribeOnRemove();
78
- };
79
- TemplateWrapper.prototype.componentWillUnmount = function () {
80
- // Let React remove it itself
81
- var node = this.element;
82
- var hiddenNode = this.hiddenElement;
83
- var container = this.props.container;
84
- if (node) {
85
- container.appendChild(node);
68
+ };
69
+ var TemplateWrapperComponent = function (_a) {
70
+ var templateFactory = _a.templateFactory, data = _a.data, index = _a.index, container = _a.container, onRemoved = _a.onRemoved, onRendered = _a.onRendered;
71
+ var _b = __read(react_1.useState(false), 2), removalListenerRequired = _b[0], setRemovalListenerRequired = _b[1];
72
+ var isRemovalLocked = react_1.useRef(false);
73
+ var removalLocker = react_1.useMemo(function () { return ({
74
+ lock: function () { isRemovalLocked.current = true; },
75
+ unlock: function () { isRemovalLocked.current = false; },
76
+ }); }, []);
77
+ var element = react_1.useRef();
78
+ var hiddenNodeElement = react_1.useRef();
79
+ var removalListenerElement = react_1.useRef();
80
+ var onTemplateRemoved = react_1.useCallback(function (_, args) {
81
+ if ((args === null || args === void 0 ? void 0 : args.isUnmounting) || isRemovalLocked) {
82
+ return;
86
83
  }
87
- if (hiddenNode) {
88
- container.appendChild(hiddenNode);
84
+ if (element.current) {
85
+ events.off(element.current, component_base_1.DX_REMOVE_EVENT, onTemplateRemoved);
89
86
  }
90
- if (this._listenerElement) {
91
- container.appendChild(this._listenerElement);
87
+ if (removalListenerElement.current) {
88
+ events.off(removalListenerElement.current, component_base_1.DX_REMOVE_EVENT, onTemplateRemoved);
92
89
  }
93
- };
94
- Object.defineProperty(TemplateWrapper.prototype, "_listenerElement", {
95
- get: function () {
96
- return this._removalListenerRef.current;
97
- },
98
- enumerable: false,
99
- configurable: true
100
- });
101
- TemplateWrapper.prototype.getPreviousSiblingNode = function (node) {
102
- this.hiddenElement = node;
103
- this.element = node === null || node === void 0 ? void 0 : node.previousSibling;
104
- };
105
- TemplateWrapper.prototype._subscribeOnRemove = function () {
106
- var node = this.element;
107
- var removalListenerRequired = this.state.removalListenerRequired;
108
- if (node && node.nodeType === Node.ELEMENT_NODE) {
109
- this._subscribeOnElementRemoval(node);
110
- return;
90
+ onRemoved();
91
+ }, [onRemoved]);
92
+ react_1.useLayoutEffect(function () {
93
+ var el = element.current;
94
+ if (el) {
95
+ events.off(el, component_base_1.DX_REMOVE_EVENT, onTemplateRemoved);
96
+ events.on(el, component_base_1.DX_REMOVE_EVENT, onTemplateRemoved);
111
97
  }
112
98
  if (!removalListenerRequired) {
113
- this.setState({ removalListenerRequired: true });
114
- return;
99
+ setRemovalListenerRequired(true);
115
100
  }
116
- if (this._listenerElement) {
117
- this._subscribeOnElementRemoval(this._listenerElement);
101
+ else if (removalListenerElement.current) {
102
+ events.off(removalListenerElement.current, component_base_1.DX_REMOVE_EVENT, onTemplateRemoved);
103
+ events.on(removalListenerElement.current, component_base_1.DX_REMOVE_EVENT, onTemplateRemoved);
118
104
  }
119
- };
120
- TemplateWrapper.prototype._subscribeOnElementRemoval = function (element) {
121
- events.off(element, component_base_1.DX_REMOVE_EVENT, this._onDxRemove);
122
- events.one(element, component_base_1.DX_REMOVE_EVENT, this._onDxRemove);
123
- };
124
- TemplateWrapper.prototype._onDxRemove = function () {
125
- var onRemoved = this.props.onRemoved;
126
- onRemoved();
127
- };
128
- TemplateWrapper.prototype.render = function () {
129
- var removalListenerRequired = this.state.removalListenerRequired;
130
- var _a = this.props, content = _a.content, container = _a.container;
131
- var removalListener = removalListenerRequired
132
- ? React.createElement('span', { style: removalListenerStyle, ref: this._removalListenerRef })
133
- : undefined;
134
- var nodeName = TableNodeNames[container.nodeName] || 'div';
135
- // @ts-expect-error TS2322
136
- return ReactDOM.createPortal(React.createElement(React.Fragment, null, content, content && React.createElement(nodeName, { style: { display: 'none' }, ref: this.getPreviousSiblingNode }), removalListener), container);
137
- };
138
- return TemplateWrapper;
139
- }(React.PureComponent));
140
- exports.TemplateWrapper = TemplateWrapper;
105
+ return function () {
106
+ if (element.current) {
107
+ container.appendChild(element.current);
108
+ }
109
+ if (hiddenNodeElement.current) {
110
+ container.appendChild(hiddenNodeElement.current);
111
+ }
112
+ if (removalListenerElement.current) {
113
+ container.appendChild(removalListenerElement.current);
114
+ }
115
+ if (el) {
116
+ events.off(el, component_base_1.DX_REMOVE_EVENT, onTemplateRemoved);
117
+ }
118
+ };
119
+ }, [onTemplateRemoved, removalListenerRequired, container]);
120
+ react_1.useEffect(function () {
121
+ onRendered();
122
+ }, [onRendered]);
123
+ var hiddenNode = createHiddenNode(container === null || container === void 0 ? void 0 : container.nodeName, function (node) {
124
+ hiddenNodeElement.current = node;
125
+ element.current = node === null || node === void 0 ? void 0 : node.previousSibling;
126
+ }, 'div');
127
+ var removalListener = removalListenerRequired
128
+ ? createHiddenNode(container === null || container === void 0 ? void 0 : container.nodeName, function (node) { removalListenerElement.current = node; }, 'span')
129
+ : undefined;
130
+ return react_dom_1.createPortal(React.createElement(React.Fragment, null,
131
+ React.createElement(helpers_1.RemovalLockerContext.Provider, { value: removalLocker },
132
+ templateFactory({ data: data, index: index, onRendered: onRendered }),
133
+ hiddenNode,
134
+ removalListener)), container);
135
+ };
136
+ exports.TemplateWrapper = react_1.memo(TemplateWrapperComponent);
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -0,0 +1,59 @@
1
+ /*!
2
+ * devextreme-react
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
+ *
6
+ * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
+ *
8
+ * This software may be modified and distributed under the terms
9
+ * of the MIT license. See the LICENSE file in the root of the project for details.
10
+ *
11
+ * https://github.com/DevExpress/devextreme-react
12
+ */
13
+
14
+ import { ITemplate } from './configuration/config-node';
15
+ interface DXTemplate {
16
+ render: RenderFunc;
17
+ }
18
+ declare type RenderFunc = (arg: RenderArgs) => HTMLElement;
19
+ interface TemplateArgs {
20
+ data: any;
21
+ index?: number;
22
+ onRendered: () => void;
23
+ }
24
+ export interface RenderArgs {
25
+ model?: any;
26
+ container: any;
27
+ index?: any;
28
+ onRendered?: () => void;
29
+ }
30
+ export interface UpdateLocker {
31
+ lock: () => void;
32
+ unlock: () => void;
33
+ }
34
+ export declare type DXTemplateCollection = Record<string, DXTemplate>;
35
+ export interface TemplateWrapperProps {
36
+ templateFactory: TemplateFunc;
37
+ data: any;
38
+ index: number;
39
+ container: HTMLElement;
40
+ onRendered: () => void;
41
+ onRemoved: () => void;
42
+ }
43
+ export declare type TemplateFunc = (arg: TemplateArgs) => JSX.Element;
44
+ export declare type DXTemplateCreator = (templateOptions: Record<string, ITemplate>, callback?: () => void) => DXTemplateCollection;
45
+ export interface TemplateManagerProps {
46
+ init: (getDXTemplates: DXTemplateCreator, clearInstantiationModels: () => void) => void;
47
+ }
48
+ export interface TemplateInstantiationModel {
49
+ templateKey: string;
50
+ componentKey: string;
51
+ index: any;
52
+ onRendered: () => void;
53
+ onRemoved: () => void;
54
+ }
55
+ export declare type GetRenderFuncFn = (templateKey: string) => RenderFunc;
56
+ export interface DXRemoveCustomArgs {
57
+ isUnmounting: boolean;
58
+ }
59
+ export {};
@@ -0,0 +1,15 @@
1
+ /*!
2
+ * devextreme-react
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
+ *
6
+ * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
+ *
8
+ * This software may be modified and distributed under the terms
9
+ * of the MIT license. See the LICENSE file in the root of the project for details.
10
+ *
11
+ * https://github.com/DevExpress/devextreme-react
12
+ */
13
+
14
+ "use strict";
15
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -16,17 +16,17 @@ export { ExplicitTypes } from "devextreme/ui/data_grid";
16
16
  import dxDataGrid, { Properties } from "devextreme/ui/data_grid";
17
17
  import { Component as BaseComponent, IHtmlOptions } from "./core/component";
18
18
  import NestedOption from "./core/nested-option";
19
- import type { dxDataGridColumn, AdaptiveDetailRowPreparingEvent, CellClickEvent, CellDblClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DataErrorOccurredEvent, DisposingEvent, EditCanceledEvent, EditCancelingEvent, EditingStartEvent, EditorPreparedEvent, EditorPreparingEvent, ExportingEvent, FocusedCellChangingEvent, FocusedRowChangingEvent, InitializedEvent, InitNewRowEvent, KeyDownEvent, RowClickEvent, RowCollapsedEvent, RowCollapsingEvent, RowDblClickEvent, RowExpandedEvent, RowExpandingEvent, RowInsertedEvent, RowInsertingEvent, RowPreparedEvent, RowRemovedEvent, RowRemovingEvent, RowUpdatedEvent, RowUpdatingEvent, RowValidatingEvent, SavedEvent, SavingEvent, ToolbarPreparingEvent, dxDataGridRowObject, dxDataGridColumnButton, dxDataGridToolbarItem } from "devextreme/ui/data_grid";
19
+ import type { dxDataGridColumn, AdaptiveDetailRowPreparingEvent, CellClickEvent, CellDblClickEvent, CellPreparedEvent, ContentReadyEvent, ContextMenuPreparingEvent, DataErrorOccurredEvent, DisposingEvent, EditCanceledEvent, EditCancelingEvent, EditingStartEvent, EditorPreparedEvent, EditorPreparingEvent, ExportingEvent, FocusedCellChangingEvent, FocusedRowChangingEvent, InitializedEvent, InitNewRowEvent, KeyDownEvent, RowClickEvent, RowCollapsedEvent, RowCollapsingEvent, RowDblClickEvent, RowExpandedEvent, RowExpandingEvent, RowInsertedEvent, RowInsertingEvent, RowPreparedEvent, RowRemovedEvent, RowRemovingEvent, RowUpdatedEvent, RowUpdatingEvent, RowValidatingEvent, SavedEvent, SavingEvent, ToolbarPreparingEvent, dxDataGridRowObject, ColumnButtonClickEvent, dxDataGridColumnButton, dxDataGridToolbarItem } from "devextreme/ui/data_grid";
20
20
  import type { DataChange, ColumnHeaderFilterSearchConfig, ColumnChooserSearchConfig, ColumnChooserSelectionConfig, HeaderFilterSearchConfig, GridBase } from "devextreme/common/grids";
21
21
  import type { ContentReadyEvent as FilterBuilderContentReadyEvent, DisposingEvent as FilterBuilderDisposingEvent, EditorPreparedEvent as FilterBuilderEditorPreparedEvent, EditorPreparingEvent as FilterBuilderEditorPreparingEvent, InitializedEvent as FilterBuilderInitializedEvent, dxFilterBuilderField, dxFilterBuilderCustomOperation, OptionChangedEvent, ValueChangedEvent } from "devextreme/ui/filter_builder";
22
22
  import type { ContentReadyEvent as FormContentReadyEvent, DisposingEvent as FormDisposingEvent, InitializedEvent as FormInitializedEvent, dxFormSimpleItem, dxFormOptions, OptionChangedEvent as FormOptionChangedEvent, dxFormGroupItem, dxFormTabbedItem, dxFormEmptyItem, dxFormButtonItem, EditorEnterKeyEvent, FieldDataChangedEvent } from "devextreme/ui/form";
23
23
  import type { AnimationConfig, AnimationState } from "devextreme/animation/fx";
24
- import type { event, EventInfo } from "devextreme/events/index";
25
24
  import type { template } from "devextreme/core/templates/template";
26
25
  import type { DataSourceOptions } from "devextreme/data/data_source";
27
26
  import type { Store } from "devextreme/data/abstract_store";
28
27
  import type { PositionConfig } from "devextreme/animation/position";
29
28
  import type { dxPopupOptions, dxPopupToolbarItem } from "devextreme/ui/popup";
29
+ import type { event, EventInfo } from "devextreme/events/index";
30
30
  import type { Component } from "devextreme/core/component";
31
31
  import type { CollectionWidgetItem } from "devextreme/ui/collection/ui.collection_widget.base";
32
32
  import type dxOverlay from "devextreme/ui/overlay";
@@ -318,14 +318,7 @@ declare type IButtonProps = React.PropsWithChildren<{
318
318
  hint?: string;
319
319
  icon?: string;
320
320
  name?: "cancel" | "delete" | "edit" | "save" | "undelete";
321
- onClick?: ((e: {
322
- column: dxDataGridColumn;
323
- component: dxDataGrid;
324
- element: any;
325
- event: event;
326
- model: Record<string, any>;
327
- row: dxDataGridRowObject;
328
- }) => void);
321
+ onClick?: ((e: ColumnButtonClickEvent) => void);
329
322
  template?: ((cellElement: any, cellInfo: {
330
323
  column: dxDataGridColumn;
331
324
  columnIndex: number;
package/cjs/data-grid.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -11,6 +11,7 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
+ "use client";
14
15
  "use strict";
15
16
  var __extends = (this && this.__extends) || (function () {
16
17
  var extendStatics = function (d, b) {
package/cjs/date-box.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
package/cjs/date-box.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -11,6 +11,7 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
+ "use client";
14
15
  "use strict";
15
16
  var __extends = (this && this.__extends) || (function () {
16
17
  var extendStatics = function (d, b) {
@@ -140,7 +141,8 @@ DateBox.propTypes = {
140
141
  PropTypes.oneOf([
141
142
  "static",
142
143
  "floating",
143
- "hidden"
144
+ "hidden",
145
+ "outside"
144
146
  ])
145
147
  ]),
146
148
  maxLength: PropTypes.oneOfType([
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -11,6 +11,7 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
+ "use client";
14
15
  "use strict";
15
16
  var __extends = (this && this.__extends) || (function () {
16
17
  var extendStatics = function (d, b) {
@@ -140,7 +141,8 @@ DateRangeBox.propTypes = {
140
141
  PropTypes.oneOf([
141
142
  "static",
142
143
  "floating",
143
- "hidden"
144
+ "hidden",
145
+ "outside"
144
146
  ])
145
147
  ]),
146
148
  multiView: PropTypes.bool,
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -11,6 +11,7 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
+ "use client";
14
15
  "use strict";
15
16
  var __extends = (this && this.__extends) || (function () {
16
17
  var extendStatics = function (d, b) {
package/cjs/diagram.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
package/cjs/diagram.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -11,6 +11,7 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
+ "use client";
14
15
  "use strict";
15
16
  var __extends = (this && this.__extends) || (function () {
16
17
  var extendStatics = function (d, b) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
package/cjs/draggable.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -11,6 +11,7 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
+ "use client";
14
15
  "use strict";
15
16
  var __extends = (this && this.__extends) || (function () {
16
17
  var extendStatics = function (d, b) {
package/cjs/drawer.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
package/cjs/drawer.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -11,6 +11,7 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
+ "use client";
14
15
  "use strict";
15
16
  var __extends = (this && this.__extends) || (function () {
16
17
  var extendStatics = function (d, b) {
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -11,6 +11,7 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
+ "use client";
14
15
  "use strict";
15
16
  var __extends = (this && this.__extends) || (function () {
16
17
  var extendStatics = function (d, b) {
@@ -128,7 +129,8 @@ DropDownBox.propTypes = {
128
129
  PropTypes.oneOf([
129
130
  "static",
130
131
  "floating",
131
- "hidden"
132
+ "hidden",
133
+ "outside"
132
134
  ])
133
135
  ]),
134
136
  maxLength: PropTypes.oneOfType([
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.1-alpha-23255-1813
4
- * Build date: Tue Sep 12 2023
3
+ * Version: 23.2.2-beta
4
+ * Build date: Fri Nov 10 2023
5
5
  *
6
6
  * Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *