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
  *
@@ -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
  *
@@ -11,9 +11,12 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
+ /// <reference types="react" />
15
+ import { TemplateInstantiationModel, UpdateLocker } from './types';
16
+ export declare const RemovalLockerContext: import("react").Context<UpdateLocker>;
14
17
  export declare function generateID(): string;
15
18
  export declare class DoubleKeyMap<TKey1, TKey2, TValue> {
16
- private readonly _map;
19
+ private _map;
17
20
  set({ key1, key2 }: {
18
21
  key1: TKey1;
19
22
  key2: TKey2;
@@ -26,5 +29,13 @@ export declare class DoubleKeyMap<TKey1, TKey2, TValue> {
26
29
  key1: TKey1;
27
30
  key2: TKey2;
28
31
  }): void;
32
+ get empty(): boolean;
33
+ shallowCopy(): DoubleKeyMap<TKey1, TKey2, TValue>;
34
+ [Symbol.iterator](): Generator<[{
35
+ key1: TKey1;
36
+ key2: TKey2;
37
+ }, TValue]>;
38
+ }
39
+ export declare class TemplateInstantiationModels extends DoubleKeyMap<any, HTMLElement, TemplateInstantiationModel> {
29
40
  }
30
41
  export declare function capitalizeFirstLetter(text: string): string;
@@ -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,10 +12,85 @@
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
+ var __generator = (this && this.__generator) || function (thisArg, body) {
31
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
+ function verb(n) { return function (v) { return step([n, v]); }; }
34
+ function step(op) {
35
+ if (f) throw new TypeError("Generator is already executing.");
36
+ while (_) try {
37
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
38
+ if (y = 0, t) op = [op[0] & 2, t.value];
39
+ switch (op[0]) {
40
+ case 0: case 1: t = op; break;
41
+ case 4: _.label++; return { value: op[1], done: false };
42
+ case 5: _.label++; y = op[1]; op = [0]; continue;
43
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
+ default:
45
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
+ if (t[2]) _.ops.pop();
50
+ _.trys.pop(); continue;
51
+ }
52
+ op = body.call(thisArg, _);
53
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
+ }
56
+ };
57
+ var __values = (this && this.__values) || function(o) {
58
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
59
+ if (m) return m.call(o);
60
+ if (o && typeof o.length === "number") return {
61
+ next: function () {
62
+ if (o && i >= o.length) o = void 0;
63
+ return { value: o && o[i++], done: !o };
64
+ }
65
+ };
66
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
67
+ };
68
+ var __read = (this && this.__read) || function (o, n) {
69
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
70
+ if (!m) return o;
71
+ var i = m.call(o), r, ar = [], e;
72
+ try {
73
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
74
+ }
75
+ catch (error) { e = { error: error }; }
76
+ finally {
77
+ try {
78
+ if (r && !r.done && (m = i["return"])) m.call(i);
79
+ }
80
+ finally { if (e) throw e.error; }
81
+ }
82
+ return ar;
83
+ };
15
84
  Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.capitalizeFirstLetter = exports.DoubleKeyMap = exports.generateID = void 0;
85
+ exports.capitalizeFirstLetter = exports.TemplateInstantiationModels = exports.DoubleKeyMap = exports.generateID = exports.RemovalLockerContext = void 0;
86
+ /* eslint-disable max-classes-per-file, no-restricted-syntax */
87
+ var react_1 = require("react");
88
+ exports.RemovalLockerContext = react_1.createContext({
89
+ lock: function () { return undefined; },
90
+ unlock: function () { return undefined; },
91
+ });
17
92
  function generateID() {
18
- return Math.random().toString(36).substr(2);
93
+ return Math.random().toString(36).substring(2);
19
94
  }
20
95
  exports.generateID = generateID;
21
96
  var DoubleKeyMap = /** @class */ (function () {
@@ -47,9 +122,85 @@ var DoubleKeyMap = /** @class */ (function () {
47
122
  this._map.delete(key1);
48
123
  }
49
124
  };
125
+ Object.defineProperty(DoubleKeyMap.prototype, "empty", {
126
+ get: function () {
127
+ return this._map.size === 0;
128
+ },
129
+ enumerable: false,
130
+ configurable: true
131
+ });
132
+ DoubleKeyMap.prototype.shallowCopy = function () {
133
+ var copy = new DoubleKeyMap();
134
+ copy._map = this._map;
135
+ return copy;
136
+ };
137
+ DoubleKeyMap.prototype[Symbol.iterator] = function () {
138
+ var _a, _b, _c, key1, innerMap, innerMap_1, innerMap_1_1, _d, key2, value, e_1_1, e_2_1;
139
+ var e_2, _e, e_1, _f;
140
+ return __generator(this, function (_g) {
141
+ switch (_g.label) {
142
+ case 0:
143
+ _g.trys.push([0, 11, 12, 13]);
144
+ _a = __values(this._map), _b = _a.next();
145
+ _g.label = 1;
146
+ case 1:
147
+ if (!!_b.done) return [3 /*break*/, 10];
148
+ _c = __read(_b.value, 2), key1 = _c[0], innerMap = _c[1];
149
+ _g.label = 2;
150
+ case 2:
151
+ _g.trys.push([2, 7, 8, 9]);
152
+ innerMap_1 = (e_1 = void 0, __values(innerMap)), innerMap_1_1 = innerMap_1.next();
153
+ _g.label = 3;
154
+ case 3:
155
+ if (!!innerMap_1_1.done) return [3 /*break*/, 6];
156
+ _d = __read(innerMap_1_1.value, 2), key2 = _d[0], value = _d[1];
157
+ return [4 /*yield*/, [{ key1: key1, key2: key2 }, value]];
158
+ case 4:
159
+ _g.sent();
160
+ _g.label = 5;
161
+ case 5:
162
+ innerMap_1_1 = innerMap_1.next();
163
+ return [3 /*break*/, 3];
164
+ case 6: return [3 /*break*/, 9];
165
+ case 7:
166
+ e_1_1 = _g.sent();
167
+ e_1 = { error: e_1_1 };
168
+ return [3 /*break*/, 9];
169
+ case 8:
170
+ try {
171
+ if (innerMap_1_1 && !innerMap_1_1.done && (_f = innerMap_1.return)) _f.call(innerMap_1);
172
+ }
173
+ finally { if (e_1) throw e_1.error; }
174
+ return [7 /*endfinally*/];
175
+ case 9:
176
+ _b = _a.next();
177
+ return [3 /*break*/, 1];
178
+ case 10: return [3 /*break*/, 13];
179
+ case 11:
180
+ e_2_1 = _g.sent();
181
+ e_2 = { error: e_2_1 };
182
+ return [3 /*break*/, 13];
183
+ case 12:
184
+ try {
185
+ if (_b && !_b.done && (_e = _a.return)) _e.call(_a);
186
+ }
187
+ finally { if (e_2) throw e_2.error; }
188
+ return [7 /*endfinally*/];
189
+ case 13: return [2 /*return*/];
190
+ }
191
+ });
192
+ };
50
193
  return DoubleKeyMap;
51
194
  }());
52
195
  exports.DoubleKeyMap = DoubleKeyMap;
196
+ var TemplateInstantiationModels = /** @class */ (function (_super) {
197
+ __extends(TemplateInstantiationModels, _super);
198
+ function TemplateInstantiationModels() {
199
+ return _super !== null && _super.apply(this, arguments) || this;
200
+ }
201
+ return TemplateInstantiationModels;
202
+ }(DoubleKeyMap));
203
+ exports.TemplateInstantiationModels = TemplateInstantiationModels;
53
204
  function capitalizeFirstLetter(text) {
54
205
  if (text.length) {
55
206
  return "" + text[0].toUpperCase() + text.substr(1);
@@ -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
  *
@@ -11,22 +11,23 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
- import type TemplatesManager from './templates-manager';
15
- import type { IConfigNode } from './configuration/config-node';
14
+ import type { IConfigNode, ITemplate } from './configuration/config-node';
15
+ import { DXTemplateCollection } from './types';
16
16
  export declare function unscheduleGuards(): void;
17
17
  export declare function scheduleGuards(): void;
18
18
  declare class OptionsManager {
19
19
  private readonly guards;
20
- private readonly templatesManager;
21
20
  private instance;
22
21
  private isUpdating;
23
22
  private currentConfig;
24
23
  private subscribableOptions;
25
24
  private independentEvents;
26
- constructor(templatesManager: TemplatesManager);
25
+ constructor();
27
26
  setInstance(instance: unknown, config: IConfigNode, subscribableOptions: string[], independentEvents: string[]): void;
28
27
  getInitialOptions(rootNode: IConfigNode): Record<string, unknown>;
28
+ getTemplateOptions(rootNode: IConfigNode): Record<string, ITemplate>;
29
29
  update(config: IConfigNode): void;
30
+ updateTemplates(dxtemplates: DXTemplateCollection): void;
30
31
  onOptionChanged(e: {
31
32
  name: string;
32
33
  fullName: string;
@@ -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,6 +12,27 @@
12
12
  */
13
13
 
14
14
  "use strict";
15
+ var __read = (this && this.__read) || function (o, n) {
16
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
17
+ if (!m) return o;
18
+ var i = m.call(o), r, ar = [], e;
19
+ try {
20
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
21
+ }
22
+ catch (error) { e = { error: error }; }
23
+ finally {
24
+ try {
25
+ if (r && !r.done && (m = i["return"])) m.call(i);
26
+ }
27
+ finally { if (e) throw e.error; }
28
+ }
29
+ return ar;
30
+ };
31
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
32
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
33
+ to[j] = from[i];
34
+ return to;
35
+ };
15
36
  Object.defineProperty(exports, "__esModule", { value: true });
16
37
  exports.OptionsManager = exports.scheduleGuards = exports.unscheduleGuards = void 0;
17
38
  /* eslint-disable no-restricted-globals */
@@ -33,10 +54,9 @@ function scheduleGuards() {
33
54
  }
34
55
  exports.scheduleGuards = scheduleGuards;
35
56
  var OptionsManager = /** @class */ (function () {
36
- function OptionsManager(templatesManager) {
57
+ function OptionsManager() {
37
58
  this.guards = {};
38
59
  this.isUpdating = false;
39
- this.templatesManager = templatesManager;
40
60
  optionsManagers.add(this);
41
61
  this.onOptionChanged = this.onOptionChanged.bind(this);
42
62
  this.wrapOptionValue = this.wrapOptionValue.bind(this);
@@ -50,20 +70,16 @@ var OptionsManager = /** @class */ (function () {
50
70
  OptionsManager.prototype.getInitialOptions = function (rootNode) {
51
71
  var _this = this;
52
72
  var config = tree_1.buildConfig(rootNode, false);
53
- Object.keys(config.templates).forEach(function (key) {
54
- _this.templatesManager.add(key, config.templates[key]);
55
- });
56
73
  var options = {};
57
74
  Object.keys(config.options).forEach(function (key) {
58
75
  options[key] = _this.wrapOptionValue(key, config.options[key]);
59
76
  });
60
- if (this.templatesManager.templatesCount > 0) {
61
- options.integrationOptions = {
62
- templates: this.templatesManager.templates,
63
- };
64
- }
65
77
  return options;
66
78
  };
79
+ OptionsManager.prototype.getTemplateOptions = function (rootNode) {
80
+ var config = tree_1.buildConfig(rootNode, false);
81
+ return config.templates;
82
+ };
67
83
  OptionsManager.prototype.update = function (config) {
68
84
  var _this = this;
69
85
  var changedOptions = [];
@@ -81,14 +97,6 @@ var OptionsManager = /** @class */ (function () {
81
97
  changes.removedOptions.forEach(function (optionName) {
82
98
  _this.resetOption(optionName);
83
99
  });
84
- Object.keys(changes.templates).forEach(function (key) {
85
- _this.templatesManager.add(key, changes.templates[key]);
86
- });
87
- if (this.templatesManager.templatesCount > 0) {
88
- this.setValue('integrationOptions', {
89
- templates: this.templatesManager.templates,
90
- });
91
- }
92
100
  Object.keys(changes.options).forEach(function (key) {
93
101
  _this.setValue(key, changes.options[key]);
94
102
  });
@@ -96,7 +104,7 @@ var OptionsManager = /** @class */ (function () {
96
104
  this.instance.off('optionChanged', optionChangedHandler);
97
105
  this.currentConfig = config;
98
106
  changedOptions.forEach(function (_a) {
99
- var name = _a[0], value = _a[1];
107
+ var _b = __read(_a, 2), name = _b[0], value = _b[1];
100
108
  var currentPropValue = config.options[name];
101
109
  if (Object.prototype.hasOwnProperty.call(config.options, name)
102
110
  && currentPropValue !== value) {
@@ -105,6 +113,13 @@ var OptionsManager = /** @class */ (function () {
105
113
  });
106
114
  this.instance.endUpdate();
107
115
  };
116
+ OptionsManager.prototype.updateTemplates = function (dxtemplates) {
117
+ if (Object.keys(dxtemplates).length > 0) {
118
+ this.setValue('integrationOptions', {
119
+ templates: dxtemplates,
120
+ });
121
+ }
122
+ };
108
123
  OptionsManager.prototype.onOptionChanged = function (e) {
109
124
  var _this = this;
110
125
  var _a;
@@ -191,7 +206,7 @@ var OptionsManager = /** @class */ (function () {
191
206
  args[_i] = arguments[_i];
192
207
  }
193
208
  if (!_this.isUpdating || _this.isIndependentEvent(name)) {
194
- value.apply(void 0, args);
209
+ value.apply(void 0, __spreadArray([], __read(args)));
195
210
  }
196
211
  };
197
212
  }
@@ -0,0 +1,16 @@
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 { FC } from 'react';
15
+ import { TemplateManagerProps } from './types';
16
+ export declare const TemplateManager: FC<TemplateManagerProps>;
@@ -0,0 +1,180 @@
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
+ var __assign = (this && this.__assign) || function () {
16
+ __assign = Object.assign || function(t) {
17
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
18
+ s = arguments[i];
19
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
20
+ t[p] = s[p];
21
+ }
22
+ return t;
23
+ };
24
+ return __assign.apply(this, arguments);
25
+ };
26
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
27
+ if (k2 === undefined) k2 = k;
28
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
29
+ }) : (function(o, m, k, k2) {
30
+ if (k2 === undefined) k2 = k;
31
+ o[k2] = m[k];
32
+ }));
33
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
34
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
35
+ }) : function(o, v) {
36
+ o["default"] = v;
37
+ });
38
+ var __importStar = (this && this.__importStar) || function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ var __read = (this && this.__read) || function (o, n) {
46
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
47
+ if (!m) return o;
48
+ var i = m.call(o), r, ar = [], e;
49
+ try {
50
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
51
+ }
52
+ catch (error) { e = { error: error }; }
53
+ finally {
54
+ try {
55
+ if (r && !r.done && (m = i["return"])) m.call(i);
56
+ }
57
+ finally { if (e) throw e.error; }
58
+ }
59
+ return ar;
60
+ };
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.TemplateManager = void 0;
63
+ var React = __importStar(require("react"));
64
+ var events = __importStar(require("devextreme/events"));
65
+ var react_1 = require("react");
66
+ var template_wrapper_1 = require("./template-wrapper");
67
+ var helpers_1 = require("./helpers");
68
+ var component_base_1 = require("./component-base");
69
+ var config_1 = require("./config");
70
+ function normalizeProps(props) {
71
+ if (config_1.getOption('useLegacyTemplateEngine')) {
72
+ var model = props.data;
73
+ if (model && Object.prototype.hasOwnProperty.call(model, 'key')) {
74
+ model.dxkey = model.key;
75
+ }
76
+ return model;
77
+ }
78
+ return props;
79
+ }
80
+ var TemplateManager = function (_a) {
81
+ var init = _a.init;
82
+ var _b = __read(react_1.useState(new helpers_1.TemplateInstantiationModels()), 2), instantiationModels = _b[0], setInstantiationModels = _b[1];
83
+ var _c = __read(react_1.useState({}), 2), templateFactories = _c[0], setTemplateFactories = _c[1];
84
+ var _d = __read(react_1.useState(), 2), componentCallback = _d[0], setComponentCallback = _d[1];
85
+ var widgetId = react_1.useRef('');
86
+ var subscribeOnRemoval = react_1.useCallback(function (container, onRemoved) {
87
+ if (container.nodeType === Node.ELEMENT_NODE) {
88
+ events.on(container, component_base_1.DX_REMOVE_EVENT, onRemoved);
89
+ }
90
+ }, []);
91
+ var unsubscribeOnRemoval = react_1.useCallback(function (container, onRemoved) {
92
+ if (container.nodeType === Node.ELEMENT_NODE) {
93
+ events.off(container, component_base_1.DX_REMOVE_EVENT, onRemoved);
94
+ }
95
+ }, []);
96
+ var createMapKey = react_1.useCallback(function (key1, key2) { return ({ key1: key1, key2: key2 }); }, []);
97
+ var getRandomId = react_1.useCallback(function () { return "" + helpers_1.generateID() + helpers_1.generateID() + helpers_1.generateID(); }, []);
98
+ var getRenderFunc = react_1.useCallback(function (templateKey) { return function (_a) {
99
+ var data = _a.model, index = _a.index, container = _a.container, onRendered = _a.onRendered;
100
+ var key = createMapKey(data, container);
101
+ var onRemoved = function () {
102
+ setInstantiationModels(function (currentInstantiationModels) {
103
+ var template = currentInstantiationModels.get(key);
104
+ if (template) {
105
+ currentInstantiationModels.delete(key);
106
+ return currentInstantiationModels.shallowCopy();
107
+ }
108
+ return currentInstantiationModels;
109
+ });
110
+ };
111
+ var hostWidgetId = widgetId.current;
112
+ setInstantiationModels(function (currentInstantiationModels) {
113
+ currentInstantiationModels.set(key, {
114
+ templateKey: templateKey,
115
+ index: index,
116
+ componentKey: getRandomId(),
117
+ onRendered: function () {
118
+ unsubscribeOnRemoval(container, onRemoved);
119
+ if (hostWidgetId === widgetId.current) {
120
+ onRendered === null || onRendered === void 0 ? void 0 : onRendered();
121
+ }
122
+ },
123
+ onRemoved: onRemoved,
124
+ });
125
+ return currentInstantiationModels.shallowCopy();
126
+ });
127
+ return container;
128
+ }; }, [unsubscribeOnRemoval, createMapKey]);
129
+ react_1.useMemo(function () {
130
+ function getTemplateFunction(template) {
131
+ switch (template.type) {
132
+ case 'children': return function () { return template.content; };
133
+ case 'render': return function (props) {
134
+ normalizeProps(props);
135
+ return template.content(props.data, props.index);
136
+ };
137
+ case 'component': return function (props) {
138
+ props = normalizeProps(props);
139
+ return React.createElement.bind(null, template.content)(props);
140
+ };
141
+ default: return function () { return React.createElement(React.Fragment); };
142
+ }
143
+ }
144
+ function getDXTemplates(templateOptions, callback) {
145
+ var factories = Object.entries(templateOptions)
146
+ .reduce(function (res, _a) {
147
+ var _b;
148
+ var _c = __read(_a, 2), key = _c[0], template = _c[1];
149
+ return (__assign(__assign({}, res), (_b = {}, _b[key] = getTemplateFunction(template), _b)));
150
+ }, {});
151
+ setTemplateFactories(factories);
152
+ setComponentCallback(callback);
153
+ var dxTemplates = Object.keys(factories)
154
+ .reduce(function (templates, templateKey) {
155
+ templates[templateKey] = { render: getRenderFunc(templateKey) };
156
+ return templates;
157
+ }, {});
158
+ return dxTemplates;
159
+ }
160
+ function clearInstantiationModels() {
161
+ widgetId.current = getRandomId();
162
+ setInstantiationModels(new helpers_1.TemplateInstantiationModels());
163
+ }
164
+ init(getDXTemplates, clearInstantiationModels);
165
+ }, [init, getRenderFunc]);
166
+ react_1.useEffect(function () {
167
+ if (componentCallback) {
168
+ componentCallback();
169
+ }
170
+ }, []);
171
+ if (instantiationModels.empty) {
172
+ return null;
173
+ }
174
+ return (React.createElement(React.Fragment, null, Array.from(instantiationModels).map(function (_a) {
175
+ var _b = __read(_a, 2), _c = _b[0], data = _c.key1, container = _c.key2, _d = _b[1], index = _d.index, templateKey = _d.templateKey, componentKey = _d.componentKey, onRendered = _d.onRendered, onRemoved = _d.onRemoved;
176
+ subscribeOnRemoval(container, onRemoved);
177
+ return React.createElement(template_wrapper_1.TemplateWrapper, { key: componentKey, templateFactory: templateFactories[templateKey], data: data, index: index, container: container, onRemoved: onRemoved, onRendered: onRendered });
178
+ })));
179
+ };
180
+ exports.TemplateManager = TemplateManager;
@@ -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,30 +12,5 @@
12
12
  */
13
13
 
14
14
  import * as React from 'react';
15
- interface ITemplateWrapperProps {
16
- content: any;
17
- container: Element;
18
- onRemoved: () => void;
19
- onDidMount?: () => void;
20
- key: string;
21
- }
22
- interface ITemplateWrapperState {
23
- removalListenerRequired: boolean;
24
- }
25
- declare type TemplateWrapperRenderer = () => TemplateWrapper;
26
- declare class TemplateWrapper extends React.PureComponent<ITemplateWrapperProps, ITemplateWrapperState> {
27
- private readonly _removalListenerRef;
28
- private element;
29
- private hiddenElement;
30
- constructor(props: ITemplateWrapperProps);
31
- componentDidMount(): void;
32
- componentDidUpdate(): void;
33
- componentWillUnmount(): void;
34
- private get _listenerElement();
35
- private getPreviousSiblingNode;
36
- private _subscribeOnRemove;
37
- private _subscribeOnElementRemoval;
38
- private _onDxRemove;
39
- render(): React.ReactNode;
40
- }
41
- export { ITemplateWrapperProps, TemplateWrapper, TemplateWrapperRenderer, };
15
+ import { TemplateWrapperProps } from './types';
16
+ export declare const TemplateWrapper: React.NamedExoticComponent<TemplateWrapperProps>;