devextreme-react 23.2.6 → 24.1.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 (311) hide show
  1. package/cjs/accordion.d.ts +35 -48
  2. package/cjs/accordion.js +63 -118
  3. package/cjs/action-sheet.d.ts +27 -43
  4. package/cjs/action-sheet.js +54 -95
  5. package/cjs/autocomplete.d.ts +62 -192
  6. package/cjs/autocomplete.js +181 -352
  7. package/cjs/bar-gauge.d.ts +80 -292
  8. package/cjs/bar-gauge.js +210 -353
  9. package/cjs/box.d.ts +25 -42
  10. package/cjs/box.js +53 -113
  11. package/cjs/bullet.d.ts +35 -80
  12. package/cjs/bullet.js +82 -148
  13. package/cjs/button-group.d.ts +17 -43
  14. package/cjs/button-group.js +54 -112
  15. package/cjs/button.d.ts +14 -19
  16. package/cjs/button.js +36 -88
  17. package/cjs/calendar.d.ts +14 -24
  18. package/cjs/calendar.js +41 -180
  19. package/cjs/chart.d.ts +297 -1146
  20. package/cjs/chart.js +707 -1059
  21. package/cjs/check-box.d.ts +14 -16
  22. package/cjs/check-box.js +34 -101
  23. package/cjs/circular-gauge.d.ts +86 -287
  24. package/cjs/circular-gauge.js +226 -332
  25. package/cjs/color-box.d.ts +59 -175
  26. package/cjs/color-box.js +165 -312
  27. package/cjs/common/charts.d.ts +2 -2
  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 +71 -148
  36. package/cjs/context-menu.js +151 -279
  37. package/cjs/core/component-base.d.ts +18 -47
  38. package/cjs/core/component-base.js +261 -185
  39. package/cjs/core/component.d.ts +26 -13
  40. package/cjs/core/component.js +73 -58
  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 +10 -10
  45. package/cjs/core/configuration/config-node.d.ts +2 -3
  46. package/cjs/core/configuration/config-node.js +2 -2
  47. package/cjs/core/configuration/react/element.d.ts +12 -4
  48. package/cjs/core/configuration/react/element.js +4 -5
  49. package/cjs/core/configuration/react/templates.d.ts +2 -2
  50. package/cjs/core/configuration/react/templates.js +2 -8
  51. package/cjs/core/configuration/react/tree.d.ts +2 -2
  52. package/cjs/core/configuration/react/tree.js +13 -9
  53. package/cjs/core/configuration/tree.d.ts +2 -2
  54. package/cjs/core/configuration/tree.js +5 -6
  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 +14 -7
  58. package/cjs/core/extension-component.js +69 -29
  59. package/cjs/core/helpers.d.ts +4 -3
  60. package/cjs/core/helpers.js +8 -9
  61. package/cjs/core/nested-option.d.ts +3 -5
  62. package/cjs/core/nested-option.js +16 -34
  63. package/cjs/core/options-manager.d.ts +3 -2
  64. package/cjs/core/options-manager.js +30 -18
  65. package/cjs/core/template-manager.d.ts +2 -2
  66. package/cjs/core/template-manager.js +20 -16
  67. package/cjs/core/template-wrapper.d.ts +2 -2
  68. package/cjs/core/template-wrapper.js +18 -14
  69. package/cjs/core/template.d.ts +3 -7
  70. package/cjs/core/template.js +4 -61
  71. package/cjs/core/types.d.ts +8 -8
  72. package/cjs/core/types.js +2 -2
  73. package/cjs/core/widget-config.d.ts +2 -2
  74. package/cjs/core/widget-config.js +23 -6
  75. package/cjs/data-grid.d.ts +317 -1057
  76. package/cjs/data-grid.js +752 -1112
  77. package/cjs/date-box.d.ts +65 -202
  78. package/cjs/date-box.js +179 -386
  79. package/cjs/date-range-box.d.ts +65 -203
  80. package/cjs/date-range-box.js +181 -373
  81. package/cjs/defer-rendering.d.ts +41 -93
  82. package/cjs/defer-rendering.js +93 -151
  83. package/cjs/diagram.d.ts +92 -307
  84. package/cjs/diagram.js +263 -408
  85. package/cjs/draggable.d.ts +17 -30
  86. package/cjs/draggable.js +45 -89
  87. package/cjs/drawer.d.ts +14 -23
  88. package/cjs/drawer.js +40 -102
  89. package/cjs/drop-down-box.d.ts +59 -175
  90. package/cjs/drop-down-box.js +169 -319
  91. package/cjs/drop-down-button.d.ts +58 -160
  92. package/cjs/drop-down-button.js +157 -256
  93. package/cjs/file-manager.d.ts +50 -128
  94. package/cjs/file-manager.js +123 -220
  95. package/cjs/file-uploader.d.ts +14 -16
  96. package/cjs/file-uploader.js +34 -127
  97. package/cjs/filter-builder.d.ts +32 -86
  98. package/cjs/filter-builder.js +86 -147
  99. package/cjs/form.d.ts +94 -347
  100. package/cjs/form.js +273 -398
  101. package/cjs/funnel.d.ts +95 -358
  102. package/cjs/funnel.js +239 -412
  103. package/cjs/gallery.d.ts +29 -44
  104. package/cjs/gallery.js +55 -107
  105. package/cjs/gantt.d.ts +89 -294
  106. package/cjs/gantt.js +252 -420
  107. package/cjs/html-editor.d.ts +50 -164
  108. package/cjs/html-editor.js +143 -262
  109. package/cjs/index.d.ts +3 -2
  110. package/cjs/index.js +5 -3
  111. package/cjs/linear-gauge.d.ts +89 -288
  112. package/cjs/linear-gauge.js +226 -335
  113. package/cjs/list.d.ts +49 -118
  114. package/cjs/list.js +115 -277
  115. package/cjs/load-indicator.d.ts +14 -12
  116. package/cjs/load-indicator.js +30 -56
  117. package/cjs/load-panel.d.ts +47 -99
  118. package/cjs/load-panel.js +111 -221
  119. package/cjs/lookup.d.ts +62 -182
  120. package/cjs/lookup.js +174 -364
  121. package/cjs/map.d.ts +32 -80
  122. package/cjs/map.js +85 -164
  123. package/cjs/menu.d.ts +69 -171
  124. package/cjs/menu.js +153 -286
  125. package/cjs/multi-view.d.ts +29 -44
  126. package/cjs/multi-view.js +55 -101
  127. package/cjs/number-box.d.ts +23 -53
  128. package/cjs/number-box.js +62 -183
  129. package/cjs/pie-chart.d.ts +119 -481
  130. package/cjs/pie-chart.js +309 -520
  131. package/cjs/pivot-grid-field-chooser.d.ts +29 -61
  132. package/cjs/pivot-grid-field-chooser.js +67 -129
  133. package/cjs/pivot-grid.d.ts +53 -137
  134. package/cjs/pivot-grid.js +125 -225
  135. package/cjs/polar-chart.d.ts +228 -882
  136. package/cjs/polar-chart.js +544 -828
  137. package/cjs/popover.d.ts +56 -142
  138. package/cjs/popover.js +150 -270
  139. package/cjs/popup.d.ts +48 -124
  140. package/cjs/popup.js +136 -261
  141. package/cjs/progress-bar.d.ts +14 -16
  142. package/cjs/progress-bar.js +34 -98
  143. package/cjs/radio-group.d.ts +17 -42
  144. package/cjs/radio-group.js +53 -132
  145. package/cjs/range-selector.d.ts +194 -671
  146. package/cjs/range-selector.js +455 -646
  147. package/cjs/range-slider.d.ts +23 -51
  148. package/cjs/range-slider.js +60 -145
  149. package/cjs/recurrence-editor.d.ts +14 -16
  150. package/cjs/recurrence-editor.js +34 -95
  151. package/cjs/resizable.d.ts +14 -17
  152. package/cjs/resizable.js +35 -75
  153. package/cjs/responsive-box.d.ts +34 -71
  154. package/cjs/responsive-box.js +78 -122
  155. package/cjs/sankey.d.ts +71 -240
  156. package/cjs/sankey.js +180 -321
  157. package/cjs/scheduler.d.ts +29 -96
  158. package/cjs/scheduler.js +127 -290
  159. package/cjs/scroll-view.d.ts +14 -12
  160. package/cjs/scroll-view.js +30 -82
  161. package/cjs/select-box.d.ts +62 -193
  162. package/cjs/select-box.js +186 -366
  163. package/cjs/slider.d.ts +23 -51
  164. package/cjs/slider.js +60 -142
  165. package/cjs/sortable.d.ts +17 -30
  166. package/cjs/sortable.js +45 -110
  167. package/cjs/sparkline.d.ts +35 -80
  168. package/cjs/sparkline.js +82 -183
  169. package/cjs/speed-dial-action.d.ts +14 -12
  170. package/cjs/speed-dial-action.js +30 -54
  171. package/cjs/splitter.d.ts +79 -0
  172. package/cjs/splitter.js +99 -0
  173. package/cjs/switch.d.ts +14 -16
  174. package/cjs/switch.js +34 -98
  175. package/cjs/tab-panel.d.ts +31 -46
  176. package/cjs/tab-panel.js +61 -140
  177. package/cjs/tabs.d.ts +33 -46
  178. package/cjs/tabs.js +57 -138
  179. package/cjs/tag-box.d.ts +62 -194
  180. package/cjs/tag-box.js +191 -390
  181. package/cjs/text-area.d.ts +14 -16
  182. package/cjs/text-area.js +34 -141
  183. package/cjs/text-box.d.ts +20 -45
  184. package/cjs/text-box.js +55 -182
  185. package/cjs/tile-view.d.ts +25 -42
  186. package/cjs/tile-view.js +53 -112
  187. package/cjs/toast.d.ts +47 -106
  188. package/cjs/toast.js +117 -223
  189. package/cjs/toolbar.d.ts +27 -44
  190. package/cjs/toolbar.js +59 -92
  191. package/cjs/tooltip.d.ts +53 -124
  192. package/cjs/tooltip.js +133 -243
  193. package/cjs/tree-list.d.ts +274 -909
  194. package/cjs/tree-list.js +644 -996
  195. package/cjs/tree-map.d.ts +77 -257
  196. package/cjs/tree-map.js +191 -326
  197. package/cjs/tree-view.d.ts +34 -81
  198. package/cjs/tree-view.js +82 -229
  199. package/cjs/validation-group.d.ts +14 -12
  200. package/cjs/validation-group.js +30 -51
  201. package/cjs/validation-summary.d.ts +25 -42
  202. package/cjs/validation-summary.js +53 -71
  203. package/cjs/validator.d.ts +48 -142
  204. package/cjs/validator.js +142 -187
  205. package/cjs/vector-map.d.ts +92 -347
  206. package/cjs/vector-map.js +244 -384
  207. package/esm/accordion.js +58 -117
  208. package/esm/action-sheet.js +49 -94
  209. package/esm/autocomplete.js +176 -351
  210. package/esm/bar-gauge.js +205 -352
  211. package/esm/box.js +48 -112
  212. package/esm/bullet.js +77 -147
  213. package/esm/button-group.js +49 -111
  214. package/esm/button.js +31 -87
  215. package/esm/calendar.js +36 -179
  216. package/esm/chart.js +702 -1058
  217. package/esm/check-box.js +29 -100
  218. package/esm/circular-gauge.js +221 -331
  219. package/esm/color-box.js +160 -311
  220. package/esm/common/charts.js +2 -2
  221. package/esm/common/data/custom-store.js +2 -2
  222. package/esm/common/grids.js +2 -2
  223. package/esm/common/index.js +2 -2
  224. package/esm/context-menu.js +146 -278
  225. package/esm/core/component-base.js +256 -184
  226. package/esm/core/component.js +69 -58
  227. package/esm/core/config.js +2 -2
  228. package/esm/core/configuration/comparer.js +2 -2
  229. package/esm/core/configuration/config-node.js +2 -2
  230. package/esm/core/configuration/react/element.js +5 -5
  231. package/esm/core/configuration/react/templates.js +2 -8
  232. package/esm/core/configuration/react/tree.js +3 -3
  233. package/esm/core/configuration/tree.js +2 -2
  234. package/esm/core/configuration/utils.js +2 -2
  235. package/esm/core/extension-component.js +45 -29
  236. package/esm/core/helpers.js +7 -8
  237. package/esm/core/nested-option.js +11 -33
  238. package/esm/core/options-manager.js +22 -10
  239. package/esm/core/template-manager.js +3 -3
  240. package/esm/core/template-wrapper.js +2 -2
  241. package/esm/core/template.js +4 -42
  242. package/esm/core/types.js +2 -2
  243. package/esm/core/widget-config.js +23 -6
  244. package/esm/data-grid.js +748 -1112
  245. package/esm/date-box.js +174 -385
  246. package/esm/date-range-box.js +176 -372
  247. package/esm/defer-rendering.js +88 -150
  248. package/esm/diagram.js +258 -407
  249. package/esm/draggable.js +40 -88
  250. package/esm/drawer.js +35 -101
  251. package/esm/drop-down-box.js +164 -318
  252. package/esm/drop-down-button.js +152 -255
  253. package/esm/file-manager.js +118 -219
  254. package/esm/file-uploader.js +29 -126
  255. package/esm/filter-builder.js +81 -146
  256. package/esm/form.js +268 -397
  257. package/esm/funnel.js +234 -411
  258. package/esm/gallery.js +50 -106
  259. package/esm/gantt.js +247 -419
  260. package/esm/html-editor.js +138 -261
  261. package/esm/index.js +3 -2
  262. package/esm/linear-gauge.js +221 -334
  263. package/esm/list.js +110 -276
  264. package/esm/load-indicator.js +25 -55
  265. package/esm/load-panel.js +106 -220
  266. package/esm/lookup.js +169 -363
  267. package/esm/map.js +80 -163
  268. package/esm/menu.js +148 -285
  269. package/esm/multi-view.js +50 -100
  270. package/esm/number-box.js +57 -182
  271. package/esm/pie-chart.js +304 -519
  272. package/esm/pivot-grid-field-chooser.js +62 -128
  273. package/esm/pivot-grid.js +120 -224
  274. package/esm/polar-chart.js +539 -827
  275. package/esm/popover.js +145 -269
  276. package/esm/popup.js +131 -260
  277. package/esm/progress-bar.js +29 -97
  278. package/esm/radio-group.js +48 -131
  279. package/esm/range-selector.js +450 -645
  280. package/esm/range-slider.js +55 -144
  281. package/esm/recurrence-editor.js +29 -94
  282. package/esm/resizable.js +30 -74
  283. package/esm/responsive-box.js +73 -121
  284. package/esm/sankey.js +175 -320
  285. package/esm/scheduler.js +122 -289
  286. package/esm/scroll-view.js +25 -81
  287. package/esm/select-box.js +181 -365
  288. package/esm/slider.js +55 -141
  289. package/esm/sortable.js +40 -109
  290. package/esm/sparkline.js +77 -182
  291. package/esm/speed-dial-action.js +25 -53
  292. package/esm/splitter.js +69 -0
  293. package/esm/switch.js +29 -97
  294. package/esm/tab-panel.js +56 -139
  295. package/esm/tabs.js +52 -137
  296. package/esm/tag-box.js +186 -389
  297. package/esm/text-area.js +29 -140
  298. package/esm/text-box.js +50 -181
  299. package/esm/tile-view.js +48 -111
  300. package/esm/toast.js +112 -222
  301. package/esm/toolbar.js +54 -91
  302. package/esm/tooltip.js +128 -242
  303. package/esm/tree-list.js +639 -995
  304. package/esm/tree-map.js +186 -325
  305. package/esm/tree-view.js +77 -228
  306. package/esm/validation-group.js +25 -50
  307. package/esm/validation-summary.js +48 -70
  308. package/esm/validator.js +137 -186
  309. package/esm/vector-map.js +239 -383
  310. package/package.json +4 -4
  311. package/splitter/package.json +6 -0
package/cjs/bullet.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.6
4
- * Build date: Wed May 01 2024
3
+ * Version: 24.1.2-beta
4
+ * Build date: Mon May 13 2024
5
5
  *
6
6
  * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -13,24 +13,24 @@
13
13
 
14
14
  "use client";
15
15
  "use strict";
16
- var __extends = (this && this.__extends) || (function () {
17
- var extendStatics = function (d, b) {
18
- extendStatics = Object.setPrototypeOf ||
19
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
20
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
21
- return extendStatics(d, b);
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
22
24
  };
23
- return function (d, b) {
24
- if (typeof b !== "function" && b !== null)
25
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
26
- extendStatics(d, b);
27
- function __() { this.constructor = d; }
28
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
29
- };
30
- })();
25
+ return __assign.apply(this, arguments);
26
+ };
31
27
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
32
28
  if (k2 === undefined) k2 = k;
33
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
29
+ var desc = Object.getOwnPropertyDescriptor(m, k);
30
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
31
+ desc = { enumerable: true, get: function() { return m[k]; } };
32
+ }
33
+ Object.defineProperty(o, k2, desc);
34
34
  }) : (function(o, m, k, k2) {
35
35
  if (k2 === undefined) k2 = k;
36
36
  o[k2] = m[k];
@@ -52,152 +52,86 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
52
52
  };
53
53
  Object.defineProperty(exports, "__esModule", { value: true });
54
54
  exports.Tooltip = exports.Size = exports.Shadow = exports.Margin = exports.Format = exports.Font = exports.Border = exports.Bullet = void 0;
55
+ var React = __importStar(require("react"));
56
+ var react_1 = require("react");
55
57
  var bullet_1 = __importDefault(require("devextreme/viz/bullet"));
56
- var PropTypes = __importStar(require("prop-types"));
57
58
  var component_1 = require("./core/component");
58
59
  var nested_option_1 = __importDefault(require("./core/nested-option"));
59
- var Bullet = /** @class */ (function (_super) {
60
- __extends(Bullet, _super);
61
- function Bullet() {
62
- var _this = _super !== null && _super.apply(this, arguments) || this;
63
- _this._WidgetClass = bullet_1.default;
64
- _this.independentEvents = ["onDisposing", "onDrawn", "onExported", "onExporting", "onFileSaving", "onIncidentOccurred", "onInitialized", "onTooltipHidden", "onTooltipShown"];
65
- _this._expectedChildren = {
66
- margin: { optionName: "margin", isCollectionItem: false },
67
- size: { optionName: "size", isCollectionItem: false },
68
- tooltip: { optionName: "tooltip", isCollectionItem: false }
69
- };
70
- return _this;
71
- }
72
- Object.defineProperty(Bullet.prototype, "instance", {
73
- get: function () {
74
- return this._instance;
75
- },
76
- enumerable: false,
77
- configurable: true
78
- });
79
- return Bullet;
80
- }(component_1.Component));
60
+ var Bullet = (0, react_1.memo)((0, react_1.forwardRef)(function (props, ref) {
61
+ var baseRef = (0, react_1.useRef)(null);
62
+ (0, react_1.useImperativeHandle)(ref, function () { return ({
63
+ instance: function () {
64
+ var _a;
65
+ return (_a = baseRef.current) === null || _a === void 0 ? void 0 : _a.getInstance();
66
+ }
67
+ }); }, [baseRef.current]);
68
+ var independentEvents = (0, react_1.useMemo)(function () { return (["onDisposing", "onDrawn", "onExported", "onExporting", "onFileSaving", "onIncidentOccurred", "onInitialized", "onTooltipHidden", "onTooltipShown"]); }, []);
69
+ var expectedChildren = (0, react_1.useMemo)(function () { return ({
70
+ margin: { optionName: "margin", isCollectionItem: false },
71
+ size: { optionName: "size", isCollectionItem: false },
72
+ tooltip: { optionName: "tooltip", isCollectionItem: false }
73
+ }); }, []);
74
+ return (React.createElement((component_1.Component), __assign({ WidgetClass: bullet_1.default, ref: baseRef, independentEvents: independentEvents, expectedChildren: expectedChildren }, props)));
75
+ }));
81
76
  exports.Bullet = Bullet;
82
- Bullet.propTypes = {
83
- color: PropTypes.string,
84
- disabled: PropTypes.bool,
85
- elementAttr: PropTypes.object,
86
- endScaleValue: PropTypes.number,
87
- margin: PropTypes.object,
88
- onDisposing: PropTypes.func,
89
- onDrawn: PropTypes.func,
90
- onExported: PropTypes.func,
91
- onExporting: PropTypes.func,
92
- onFileSaving: PropTypes.func,
93
- onIncidentOccurred: PropTypes.func,
94
- onInitialized: PropTypes.func,
95
- onOptionChanged: PropTypes.func,
96
- onTooltipHidden: PropTypes.func,
97
- onTooltipShown: PropTypes.func,
98
- pathModified: PropTypes.bool,
99
- rtlEnabled: PropTypes.bool,
100
- showTarget: PropTypes.bool,
101
- showZeroLevel: PropTypes.bool,
102
- size: PropTypes.object,
103
- startScaleValue: PropTypes.number,
104
- target: PropTypes.number,
105
- targetColor: PropTypes.string,
106
- targetWidth: PropTypes.number,
107
- theme: PropTypes.oneOfType([
108
- PropTypes.string,
109
- PropTypes.oneOf([
110
- "generic.dark",
111
- "generic.light",
112
- "generic.contrast",
113
- "generic.carmine",
114
- "generic.darkmoon",
115
- "generic.darkviolet",
116
- "generic.greenmist",
117
- "generic.softblue",
118
- "material.blue.light",
119
- "material.lime.light",
120
- "material.orange.light",
121
- "material.purple.light",
122
- "material.teal.light"
123
- ])
124
- ]),
125
- tooltip: PropTypes.object,
126
- value: PropTypes.number
127
- };
128
- var Border = /** @class */ (function (_super) {
129
- __extends(Border, _super);
130
- function Border() {
131
- return _super !== null && _super.apply(this, arguments) || this;
132
- }
133
- Border.OptionName = "border";
134
- return Border;
135
- }(nested_option_1.default));
77
+ var _componentBorder = (0, react_1.memo)(function (props) {
78
+ return React.createElement((nested_option_1.default), __assign({}, props));
79
+ });
80
+ var Border = Object.assign(_componentBorder, {
81
+ OptionName: "border",
82
+ });
136
83
  exports.Border = Border;
137
- var Font = /** @class */ (function (_super) {
138
- __extends(Font, _super);
139
- function Font() {
140
- return _super !== null && _super.apply(this, arguments) || this;
141
- }
142
- Font.OptionName = "font";
143
- return Font;
144
- }(nested_option_1.default));
84
+ var _componentFont = (0, react_1.memo)(function (props) {
85
+ return React.createElement((nested_option_1.default), __assign({}, props));
86
+ });
87
+ var Font = Object.assign(_componentFont, {
88
+ OptionName: "font",
89
+ });
145
90
  exports.Font = Font;
146
- var Format = /** @class */ (function (_super) {
147
- __extends(Format, _super);
148
- function Format() {
149
- return _super !== null && _super.apply(this, arguments) || this;
150
- }
151
- Format.OptionName = "format";
152
- return Format;
153
- }(nested_option_1.default));
91
+ var _componentFormat = (0, react_1.memo)(function (props) {
92
+ return React.createElement((nested_option_1.default), __assign({}, props));
93
+ });
94
+ var Format = Object.assign(_componentFormat, {
95
+ OptionName: "format",
96
+ });
154
97
  exports.Format = Format;
155
- var Margin = /** @class */ (function (_super) {
156
- __extends(Margin, _super);
157
- function Margin() {
158
- return _super !== null && _super.apply(this, arguments) || this;
159
- }
160
- Margin.OptionName = "margin";
161
- return Margin;
162
- }(nested_option_1.default));
98
+ var _componentMargin = (0, react_1.memo)(function (props) {
99
+ return React.createElement((nested_option_1.default), __assign({}, props));
100
+ });
101
+ var Margin = Object.assign(_componentMargin, {
102
+ OptionName: "margin",
103
+ });
163
104
  exports.Margin = Margin;
164
- var Shadow = /** @class */ (function (_super) {
165
- __extends(Shadow, _super);
166
- function Shadow() {
167
- return _super !== null && _super.apply(this, arguments) || this;
168
- }
169
- Shadow.OptionName = "shadow";
170
- return Shadow;
171
- }(nested_option_1.default));
105
+ var _componentShadow = (0, react_1.memo)(function (props) {
106
+ return React.createElement((nested_option_1.default), __assign({}, props));
107
+ });
108
+ var Shadow = Object.assign(_componentShadow, {
109
+ OptionName: "shadow",
110
+ });
172
111
  exports.Shadow = Shadow;
173
- var Size = /** @class */ (function (_super) {
174
- __extends(Size, _super);
175
- function Size() {
176
- return _super !== null && _super.apply(this, arguments) || this;
177
- }
178
- Size.OptionName = "size";
179
- return Size;
180
- }(nested_option_1.default));
112
+ var _componentSize = (0, react_1.memo)(function (props) {
113
+ return React.createElement((nested_option_1.default), __assign({}, props));
114
+ });
115
+ var Size = Object.assign(_componentSize, {
116
+ OptionName: "size",
117
+ });
181
118
  exports.Size = Size;
182
- var Tooltip = /** @class */ (function (_super) {
183
- __extends(Tooltip, _super);
184
- function Tooltip() {
185
- return _super !== null && _super.apply(this, arguments) || this;
186
- }
187
- Tooltip.OptionName = "tooltip";
188
- Tooltip.ExpectedChildren = {
119
+ var _componentTooltip = (0, react_1.memo)(function (props) {
120
+ return React.createElement((nested_option_1.default), __assign({}, props));
121
+ });
122
+ var Tooltip = Object.assign(_componentTooltip, {
123
+ OptionName: "tooltip",
124
+ ExpectedChildren: {
189
125
  border: { optionName: "border", isCollectionItem: false },
190
126
  font: { optionName: "font", isCollectionItem: false },
191
127
  format: { optionName: "format", isCollectionItem: false },
192
128
  shadow: { optionName: "shadow", isCollectionItem: false }
193
- };
194
- Tooltip.TemplateProps = [{
129
+ },
130
+ TemplateProps: [{
195
131
  tmplOption: "contentTemplate",
196
132
  render: "contentRender",
197
- component: "contentComponent",
198
- keyFn: "contentKeyFn"
199
- }];
200
- return Tooltip;
201
- }(nested_option_1.default));
133
+ component: "contentComponent"
134
+ }],
135
+ });
202
136
  exports.Tooltip = Tooltip;
203
137
  exports.default = Bullet;
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.6
4
- * Build date: Wed May 01 2024
3
+ * Version: 24.1.2-beta
4
+ * Build date: Mon May 13 2024
5
5
  *
6
6
  * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -11,54 +11,37 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
- /// <reference types="react" />
14
+ import * as React from "react";
15
+ import { Ref, ReactElement } from "react";
15
16
  import dxButtonGroup, { Properties } from "devextreme/ui/button_group";
16
- import { Component as BaseComponent, IHtmlOptions } from "./core/component";
17
- import NestedOption from "./core/nested-option";
17
+ import { IHtmlOptions, IElementDescriptor } from "./core/component";
18
18
  import type { ContentReadyEvent, DisposingEvent, InitializedEvent, ItemClickEvent } from "devextreme/ui/button_group";
19
19
  import type { CollectionWidgetItem } from "devextreme/ui/collection/ui.collection_widget.base";
20
20
  import type { template } from "devextreme/core/templates/template";
21
- declare type ReplaceFieldTypes<TSource, TReplacement> = {
21
+ type ReplaceFieldTypes<TSource, TReplacement> = {
22
22
  [P in keyof TSource]: P extends keyof TReplacement ? TReplacement[P] : TSource[P];
23
23
  };
24
- declare type IButtonGroupOptionsNarrowedEvents = {
24
+ type IButtonGroupOptionsNarrowedEvents = {
25
25
  onContentReady?: ((e: ContentReadyEvent) => void);
26
26
  onDisposing?: ((e: DisposingEvent) => void);
27
27
  onInitialized?: ((e: InitializedEvent) => void);
28
28
  onItemClick?: ((e: ItemClickEvent) => void);
29
29
  };
30
- declare type IButtonGroupOptions = React.PropsWithChildren<ReplaceFieldTypes<Properties, IButtonGroupOptionsNarrowedEvents> & IHtmlOptions & {
30
+ type IButtonGroupOptions = React.PropsWithChildren<ReplaceFieldTypes<Properties, IButtonGroupOptionsNarrowedEvents> & IHtmlOptions & {
31
31
  buttonRender?: (...params: any) => React.ReactNode;
32
32
  buttonComponent?: React.ComponentType<any>;
33
- buttonKeyFn?: (data: any) => string;
34
33
  defaultSelectedItemKeys?: Array<any>;
35
34
  defaultSelectedItems?: Array<any>;
36
35
  onSelectedItemKeysChange?: (value: Array<any>) => void;
37
36
  onSelectedItemsChange?: (value: Array<any>) => void;
38
37
  }>;
39
- declare class ButtonGroup extends BaseComponent<React.PropsWithChildren<IButtonGroupOptions>> {
40
- get instance(): dxButtonGroup;
41
- protected _WidgetClass: typeof dxButtonGroup;
42
- protected subscribableOptions: string[];
43
- protected independentEvents: string[];
44
- protected _defaults: {
45
- defaultSelectedItemKeys: string;
46
- defaultSelectedItems: string;
47
- };
48
- protected _expectedChildren: {
49
- item: {
50
- optionName: string;
51
- isCollectionItem: boolean;
52
- };
53
- };
54
- protected _templateProps: {
55
- tmplOption: string;
56
- render: string;
57
- component: string;
58
- keyFn: string;
59
- }[];
38
+ interface ButtonGroupRef {
39
+ instance: () => dxButtonGroup;
60
40
  }
61
- declare type IItemProps = React.PropsWithChildren<{
41
+ declare const ButtonGroup: (props: React.PropsWithChildren<IButtonGroupOptions> & {
42
+ ref?: Ref<ButtonGroupRef>;
43
+ }) => ReactElement | null;
44
+ type IItemProps = React.PropsWithChildren<{
62
45
  disabled?: boolean;
63
46
  elementAttr?: Record<string, any>;
64
47
  hint?: string;
@@ -69,19 +52,10 @@ declare type IItemProps = React.PropsWithChildren<{
69
52
  visible?: boolean;
70
53
  render?: (...params: any) => React.ReactNode;
71
54
  component?: React.ComponentType<any>;
72
- keyFn?: (data: any) => string;
73
55
  }>;
74
- declare class Item extends NestedOption<IItemProps> {
75
- static OptionName: string;
76
- static IsCollectionItem: boolean;
77
- static TemplateProps: {
78
- tmplOption: string;
79
- render: string;
80
- component: string;
81
- keyFn: string;
82
- }[];
83
- }
56
+ declare const _componentItem: React.MemoExoticComponent<(props: IItemProps) => React.FunctionComponentElement<IItemProps>>;
57
+ declare const Item: typeof _componentItem & IElementDescriptor;
84
58
  export default ButtonGroup;
85
- export { ButtonGroup, IButtonGroupOptions, Item, IItemProps };
59
+ export { ButtonGroup, IButtonGroupOptions, ButtonGroupRef, Item, IItemProps };
86
60
  import type * as ButtonGroupTypes from 'devextreme/ui/button_group_types';
87
61
  export { ButtonGroupTypes };
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.6
4
- * Build date: Wed May 01 2024
3
+ * Version: 24.1.2-beta
4
+ * Build date: Mon May 13 2024
5
5
  *
6
6
  * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -13,24 +13,24 @@
13
13
 
14
14
  "use client";
15
15
  "use strict";
16
- var __extends = (this && this.__extends) || (function () {
17
- var extendStatics = function (d, b) {
18
- extendStatics = Object.setPrototypeOf ||
19
- ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
20
- function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
21
- return extendStatics(d, b);
16
+ var __assign = (this && this.__assign) || function () {
17
+ __assign = Object.assign || function(t) {
18
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
19
+ s = arguments[i];
20
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
21
+ t[p] = s[p];
22
+ }
23
+ return t;
22
24
  };
23
- return function (d, b) {
24
- if (typeof b !== "function" && b !== null)
25
- throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
26
- extendStatics(d, b);
27
- function __() { this.constructor = d; }
28
- d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
29
- };
30
- })();
25
+ return __assign.apply(this, arguments);
26
+ };
31
27
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
32
28
  if (k2 === undefined) k2 = k;
33
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
29
+ var desc = Object.getOwnPropertyDescriptor(m, k);
30
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
31
+ desc = { enumerable: true, get: function() { return m[k]; } };
32
+ }
33
+ Object.defineProperty(o, k2, desc);
34
34
  }) : (function(o, m, k, k2) {
35
35
  if (k2 === undefined) k2 = k;
36
36
  o[k2] = m[k];
@@ -52,107 +52,49 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
52
52
  };
53
53
  Object.defineProperty(exports, "__esModule", { value: true });
54
54
  exports.Item = exports.ButtonGroup = void 0;
55
+ var React = __importStar(require("react"));
56
+ var react_1 = require("react");
55
57
  var button_group_1 = __importDefault(require("devextreme/ui/button_group"));
56
- var PropTypes = __importStar(require("prop-types"));
57
58
  var component_1 = require("./core/component");
58
59
  var nested_option_1 = __importDefault(require("./core/nested-option"));
59
- var ButtonGroup = /** @class */ (function (_super) {
60
- __extends(ButtonGroup, _super);
61
- function ButtonGroup() {
62
- var _this = _super !== null && _super.apply(this, arguments) || this;
63
- _this._WidgetClass = button_group_1.default;
64
- _this.subscribableOptions = ["selectedItemKeys", "selectedItems"];
65
- _this.independentEvents = ["onContentReady", "onDisposing", "onInitialized", "onItemClick"];
66
- _this._defaults = {
67
- defaultSelectedItemKeys: "selectedItemKeys",
68
- defaultSelectedItems: "selectedItems"
69
- };
70
- _this._expectedChildren = {
71
- item: { optionName: "items", isCollectionItem: true }
72
- };
73
- _this._templateProps = [{
74
- tmplOption: "buttonTemplate",
75
- render: "buttonRender",
76
- component: "buttonComponent",
77
- keyFn: "buttonKeyFn"
78
- }];
79
- return _this;
80
- }
81
- Object.defineProperty(ButtonGroup.prototype, "instance", {
82
- get: function () {
83
- return this._instance;
60
+ var ButtonGroup = (0, react_1.memo)((0, react_1.forwardRef)(function (props, ref) {
61
+ var baseRef = (0, react_1.useRef)(null);
62
+ (0, react_1.useImperativeHandle)(ref, function () { return ({
63
+ instance: function () {
64
+ var _a;
65
+ return (_a = baseRef.current) === null || _a === void 0 ? void 0 : _a.getInstance();
66
+ }
67
+ }); }, [baseRef.current]);
68
+ var subscribableOptions = (0, react_1.useMemo)(function () { return (["selectedItemKeys", "selectedItems"]); }, []);
69
+ var independentEvents = (0, react_1.useMemo)(function () { return (["onContentReady", "onDisposing", "onInitialized", "onItemClick"]); }, []);
70
+ var defaults = (0, react_1.useMemo)(function () { return ({
71
+ defaultSelectedItemKeys: "selectedItemKeys",
72
+ defaultSelectedItems: "selectedItems",
73
+ }); }, []);
74
+ var expectedChildren = (0, react_1.useMemo)(function () { return ({
75
+ item: { optionName: "items", isCollectionItem: true }
76
+ }); }, []);
77
+ var templateProps = (0, react_1.useMemo)(function () { return ([
78
+ {
79
+ tmplOption: "buttonTemplate",
80
+ render: "buttonRender",
81
+ component: "buttonComponent"
84
82
  },
85
- enumerable: false,
86
- configurable: true
87
- });
88
- return ButtonGroup;
89
- }(component_1.Component));
83
+ ]); }, []);
84
+ return (React.createElement((component_1.Component), __assign({ WidgetClass: button_group_1.default, ref: baseRef, subscribableOptions: subscribableOptions, independentEvents: independentEvents, defaults: defaults, expectedChildren: expectedChildren, templateProps: templateProps }, props)));
85
+ }));
90
86
  exports.ButtonGroup = ButtonGroup;
91
- ButtonGroup.propTypes = {
92
- accessKey: PropTypes.string,
93
- activeStateEnabled: PropTypes.bool,
94
- disabled: PropTypes.bool,
95
- elementAttr: PropTypes.object,
96
- focusStateEnabled: PropTypes.bool,
97
- height: PropTypes.oneOfType([
98
- PropTypes.func,
99
- PropTypes.number,
100
- PropTypes.string
101
- ]),
102
- hint: PropTypes.string,
103
- hoverStateEnabled: PropTypes.bool,
104
- items: PropTypes.array,
105
- keyExpr: PropTypes.oneOfType([
106
- PropTypes.func,
107
- PropTypes.string
108
- ]),
109
- onContentReady: PropTypes.func,
110
- onDisposing: PropTypes.func,
111
- onInitialized: PropTypes.func,
112
- onItemClick: PropTypes.func,
113
- onOptionChanged: PropTypes.func,
114
- onSelectionChanged: PropTypes.func,
115
- rtlEnabled: PropTypes.bool,
116
- selectedItemKeys: PropTypes.array,
117
- selectedItems: PropTypes.array,
118
- selectionMode: PropTypes.oneOfType([
119
- PropTypes.string,
120
- PropTypes.oneOf([
121
- "single",
122
- "multiple",
123
- "none"
124
- ])
125
- ]),
126
- stylingMode: PropTypes.oneOfType([
127
- PropTypes.string,
128
- PropTypes.oneOf([
129
- "text",
130
- "outlined",
131
- "contained"
132
- ])
133
- ]),
134
- tabIndex: PropTypes.number,
135
- visible: PropTypes.bool,
136
- width: PropTypes.oneOfType([
137
- PropTypes.func,
138
- PropTypes.number,
139
- PropTypes.string
140
- ])
141
- };
142
- var Item = /** @class */ (function (_super) {
143
- __extends(Item, _super);
144
- function Item() {
145
- return _super !== null && _super.apply(this, arguments) || this;
146
- }
147
- Item.OptionName = "items";
148
- Item.IsCollectionItem = true;
149
- Item.TemplateProps = [{
87
+ var _componentItem = (0, react_1.memo)(function (props) {
88
+ return React.createElement((nested_option_1.default), __assign({}, props));
89
+ });
90
+ var Item = Object.assign(_componentItem, {
91
+ OptionName: "items",
92
+ IsCollectionItem: true,
93
+ TemplateProps: [{
150
94
  tmplOption: "template",
151
95
  render: "render",
152
- component: "component",
153
- keyFn: "keyFn"
154
- }];
155
- return Item;
156
- }(nested_option_1.default));
96
+ component: "component"
97
+ }],
98
+ });
157
99
  exports.Item = Item;
158
100
  exports.default = ButtonGroup;
package/cjs/button.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * devextreme-react
3
- * Version: 23.2.6
4
- * Build date: Wed May 01 2024
3
+ * Version: 24.1.2-beta
4
+ * Build date: Mon May 13 2024
5
5
  *
6
6
  * Copyright (c) 2012 - 2024 Developer Express Inc. ALL RIGHTS RESERVED
7
7
  *
@@ -11,36 +11,31 @@
11
11
  * https://github.com/DevExpress/devextreme-react
12
12
  */
13
13
 
14
- /// <reference types="react" />
14
+ import * as React from "react";
15
+ import { Ref, ReactElement } from "react";
15
16
  import dxButton, { Properties } from "devextreme/ui/button";
16
- import { Component as BaseComponent, IHtmlOptions } from "./core/component";
17
+ import { IHtmlOptions } from "./core/component";
17
18
  import type { ClickEvent, ContentReadyEvent, DisposingEvent, InitializedEvent } from "devextreme/ui/button";
18
- declare type ReplaceFieldTypes<TSource, TReplacement> = {
19
+ type ReplaceFieldTypes<TSource, TReplacement> = {
19
20
  [P in keyof TSource]: P extends keyof TReplacement ? TReplacement[P] : TSource[P];
20
21
  };
21
- declare type IButtonOptionsNarrowedEvents = {
22
+ type IButtonOptionsNarrowedEvents = {
22
23
  onClick?: ((e: ClickEvent) => void);
23
24
  onContentReady?: ((e: ContentReadyEvent) => void);
24
25
  onDisposing?: ((e: DisposingEvent) => void);
25
26
  onInitialized?: ((e: InitializedEvent) => void);
26
27
  };
27
- declare type IButtonOptions = React.PropsWithChildren<ReplaceFieldTypes<Properties, IButtonOptionsNarrowedEvents> & IHtmlOptions & {
28
+ type IButtonOptions = React.PropsWithChildren<ReplaceFieldTypes<Properties, IButtonOptionsNarrowedEvents> & IHtmlOptions & {
28
29
  render?: (...params: any) => React.ReactNode;
29
30
  component?: React.ComponentType<any>;
30
- keyFn?: (data: any) => string;
31
31
  }>;
32
- declare class Button extends BaseComponent<React.PropsWithChildren<IButtonOptions>> {
33
- get instance(): dxButton;
34
- protected _WidgetClass: typeof dxButton;
35
- protected independentEvents: string[];
36
- protected _templateProps: {
37
- tmplOption: string;
38
- render: string;
39
- component: string;
40
- keyFn: string;
41
- }[];
32
+ interface ButtonRef {
33
+ instance: () => dxButton;
42
34
  }
35
+ declare const Button: (props: React.PropsWithChildren<IButtonOptions> & {
36
+ ref?: Ref<ButtonRef>;
37
+ }) => ReactElement | null;
43
38
  export default Button;
44
- export { Button, IButtonOptions };
39
+ export { Button, IButtonOptions, ButtonRef };
45
40
  import type * as ButtonTypes from 'devextreme/ui/button_types';
46
41
  export { ButtonTypes };