devextreme-react 25.2.2-beta → 25.2.3
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.
- package/cjs/accordion.d.ts +2 -2
- package/cjs/accordion.js +2 -2
- package/cjs/action-sheet.d.ts +2 -2
- package/cjs/action-sheet.js +2 -2
- package/cjs/autocomplete.d.ts +2 -2
- package/cjs/autocomplete.js +2 -2
- package/cjs/bar-gauge.d.ts +2 -2
- package/cjs/bar-gauge.js +2 -2
- package/cjs/box.d.ts +2 -2
- package/cjs/box.js +2 -2
- package/cjs/bullet.d.ts +2 -2
- package/cjs/bullet.js +2 -2
- package/cjs/button-group.d.ts +2 -2
- package/cjs/button-group.js +2 -2
- package/cjs/button.d.ts +2 -2
- package/cjs/button.js +2 -2
- package/cjs/calendar.d.ts +2 -2
- package/cjs/calendar.js +2 -2
- package/cjs/card-view.d.ts +5 -5
- package/cjs/card-view.js +3 -3
- package/cjs/chart.d.ts +2 -2
- package/cjs/chart.js +2 -2
- package/cjs/chat.d.ts +2 -2
- package/cjs/chat.js +2 -2
- package/cjs/check-box.d.ts +2 -2
- package/cjs/check-box.js +2 -2
- package/cjs/circular-gauge.d.ts +2 -2
- package/cjs/circular-gauge.js +2 -2
- package/cjs/color-box.d.ts +2 -2
- package/cjs/color-box.js +2 -2
- package/cjs/common/ai-integration.d.ts +2 -2
- package/cjs/common/ai-integration.js +2 -2
- package/cjs/common/charts.d.ts +2 -2
- package/cjs/common/charts.js +2 -2
- package/cjs/common/core/animation.d.ts +2 -2
- package/cjs/common/core/animation.js +2 -2
- package/cjs/common/core/environment.d.ts +2 -2
- package/cjs/common/core/environment.js +2 -2
- package/cjs/common/core/events.d.ts +2 -2
- package/cjs/common/core/events.js +2 -2
- package/cjs/common/core/index.d.ts +2 -2
- package/cjs/common/core/index.js +2 -2
- package/cjs/common/core/localization.d.ts +2 -2
- package/cjs/common/core/localization.js +2 -2
- package/cjs/common/data/custom-store.d.ts +2 -2
- package/cjs/common/data/custom-store.js +2 -2
- package/cjs/common/data.d.ts +2 -2
- package/cjs/common/data.js +2 -2
- package/cjs/common/export/excel.d.ts +2 -2
- package/cjs/common/export/excel.js +2 -2
- package/cjs/common/export/index.d.ts +2 -2
- package/cjs/common/export/index.js +2 -2
- package/cjs/common/export/pdf.d.ts +2 -2
- package/cjs/common/export/pdf.js +2 -2
- package/cjs/common/grids.d.ts +2 -2
- package/cjs/common/grids.js +2 -2
- package/cjs/common/index.d.ts +2 -2
- package/cjs/common/index.js +2 -2
- package/cjs/context-menu.d.ts +2 -2
- package/cjs/context-menu.js +2 -2
- package/cjs/core/component-base.d.ts +2 -2
- package/cjs/core/component-base.js +23 -49
- package/cjs/core/component.d.ts +2 -2
- package/cjs/core/component.js +19 -16
- package/cjs/core/config.d.ts +2 -2
- package/cjs/core/config.js +2 -2
- package/cjs/core/configuration/comparer.d.ts +2 -2
- package/cjs/core/configuration/comparer.js +2 -2
- package/cjs/core/configuration/config-node.d.ts +2 -2
- package/cjs/core/configuration/config-node.js +2 -2
- package/cjs/core/configuration/react/element.d.ts +2 -2
- package/cjs/core/configuration/react/element.js +2 -2
- package/cjs/core/configuration/react/templates.d.ts +2 -2
- package/cjs/core/configuration/react/templates.js +2 -2
- package/cjs/core/configuration/tree.d.ts +2 -2
- package/cjs/core/configuration/tree.js +2 -2
- package/cjs/core/configuration/utils.d.ts +2 -2
- package/cjs/core/configuration/utils.js +2 -2
- package/cjs/core/const.d.ts +2 -2
- package/cjs/core/const.js +2 -2
- package/cjs/core/contexts.d.ts +2 -2
- package/cjs/core/contexts.js +2 -2
- package/cjs/core/extension-component.d.ts +2 -2
- package/cjs/core/extension-component.js +9 -5
- package/cjs/core/helpers.d.ts +2 -2
- package/cjs/core/helpers.js +2 -2
- package/cjs/core/nested-option.d.ts +2 -2
- package/cjs/core/nested-option.js +2 -2
- package/cjs/core/options-manager.d.ts +2 -2
- package/cjs/core/options-manager.js +2 -2
- package/cjs/core/template-manager.d.ts +2 -2
- package/cjs/core/template-manager.js +2 -2
- package/cjs/core/template-wrapper.d.ts +2 -2
- package/cjs/core/template-wrapper.js +2 -2
- package/cjs/core/template.d.ts +2 -2
- package/cjs/core/template.js +2 -2
- package/cjs/core/types.d.ts +2 -2
- package/cjs/core/types.js +2 -2
- package/cjs/core/use-option-scanning.d.ts +2 -2
- package/cjs/core/use-option-scanning.js +2 -2
- package/cjs/core/widget-config.d.ts +2 -2
- package/cjs/core/widget-config.js +2 -2
- package/cjs/data-grid.d.ts +2 -2
- package/cjs/data-grid.js +2 -2
- package/cjs/date-box.d.ts +2 -2
- package/cjs/date-box.js +2 -2
- package/cjs/date-range-box.d.ts +2 -2
- package/cjs/date-range-box.js +2 -2
- package/cjs/diagram.d.ts +2 -2
- package/cjs/diagram.js +2 -2
- package/cjs/draggable.d.ts +2 -2
- package/cjs/draggable.js +2 -2
- package/cjs/drawer.d.ts +2 -2
- package/cjs/drawer.js +2 -2
- package/cjs/drop-down-box.d.ts +2 -2
- package/cjs/drop-down-box.js +2 -2
- package/cjs/drop-down-button.d.ts +2 -2
- package/cjs/drop-down-button.js +2 -2
- package/cjs/file-manager.d.ts +2 -2
- package/cjs/file-manager.js +2 -2
- package/cjs/file-uploader.d.ts +2 -2
- package/cjs/file-uploader.js +2 -2
- package/cjs/filter-builder.d.ts +2 -2
- package/cjs/filter-builder.js +2 -2
- package/cjs/form.d.ts +2 -2
- package/cjs/form.js +2 -2
- package/cjs/funnel.d.ts +2 -2
- package/cjs/funnel.js +2 -2
- package/cjs/gallery.d.ts +2 -2
- package/cjs/gallery.js +2 -2
- package/cjs/gantt.d.ts +2 -2
- package/cjs/gantt.js +2 -2
- package/cjs/html-editor.d.ts +2 -2
- package/cjs/html-editor.js +2 -2
- package/cjs/index.d.ts +2 -2
- package/cjs/index.js +2 -2
- package/cjs/linear-gauge.d.ts +2 -2
- package/cjs/linear-gauge.js +2 -2
- package/cjs/list.d.ts +2 -2
- package/cjs/list.js +2 -2
- package/cjs/load-indicator.d.ts +2 -2
- package/cjs/load-indicator.js +2 -2
- package/cjs/load-panel.d.ts +2 -2
- package/cjs/load-panel.js +2 -2
- package/cjs/lookup.d.ts +2 -2
- package/cjs/lookup.js +2 -2
- package/cjs/map.d.ts +2 -2
- package/cjs/map.js +2 -2
- package/cjs/menu.d.ts +2 -2
- package/cjs/menu.js +2 -2
- package/cjs/multi-view.d.ts +2 -2
- package/cjs/multi-view.js +2 -2
- package/cjs/number-box.d.ts +2 -2
- package/cjs/number-box.js +2 -2
- package/cjs/pagination.d.ts +2 -2
- package/cjs/pagination.js +2 -2
- package/cjs/pie-chart.d.ts +2 -2
- package/cjs/pie-chart.js +2 -2
- package/cjs/pivot-grid-field-chooser.d.ts +2 -2
- package/cjs/pivot-grid-field-chooser.js +2 -2
- package/cjs/pivot-grid.d.ts +2 -2
- package/cjs/pivot-grid.js +2 -2
- package/cjs/polar-chart.d.ts +2 -2
- package/cjs/polar-chart.js +2 -2
- package/cjs/popover.d.ts +2 -2
- package/cjs/popover.js +2 -2
- package/cjs/popup.d.ts +2 -2
- package/cjs/popup.js +2 -2
- package/cjs/progress-bar.d.ts +2 -2
- package/cjs/progress-bar.js +2 -2
- package/cjs/radio-group.d.ts +2 -2
- package/cjs/radio-group.js +2 -2
- package/cjs/range-selector.d.ts +2 -2
- package/cjs/range-selector.js +2 -2
- package/cjs/range-slider.d.ts +2 -2
- package/cjs/range-slider.js +2 -2
- package/cjs/recurrence-editor.d.ts +2 -2
- package/cjs/recurrence-editor.js +2 -2
- package/cjs/resizable.d.ts +2 -2
- package/cjs/resizable.js +2 -2
- package/cjs/responsive-box.d.ts +2 -2
- package/cjs/responsive-box.js +2 -2
- package/cjs/sankey.d.ts +2 -2
- package/cjs/sankey.js +2 -2
- package/cjs/scheduler.d.ts +2 -6
- package/cjs/scheduler.js +2 -2
- package/cjs/scroll-view.d.ts +2 -2
- package/cjs/scroll-view.js +2 -2
- package/cjs/select-box.d.ts +2 -2
- package/cjs/select-box.js +2 -2
- package/cjs/slider.d.ts +2 -2
- package/cjs/slider.js +2 -2
- package/cjs/sortable.d.ts +2 -2
- package/cjs/sortable.js +2 -2
- package/cjs/sparkline.d.ts +2 -2
- package/cjs/sparkline.js +2 -2
- package/cjs/speech-to-text.d.ts +2 -2
- package/cjs/speech-to-text.js +2 -2
- package/cjs/speed-dial-action.d.ts +2 -2
- package/cjs/speed-dial-action.js +2 -2
- package/cjs/splitter.d.ts +2 -2
- package/cjs/splitter.js +2 -2
- package/cjs/stepper.d.ts +2 -2
- package/cjs/stepper.js +2 -2
- package/cjs/switch.d.ts +2 -2
- package/cjs/switch.js +2 -2
- package/cjs/tab-panel.d.ts +2 -2
- package/cjs/tab-panel.js +2 -2
- package/cjs/tabs.d.ts +2 -2
- package/cjs/tabs.js +2 -2
- package/cjs/tag-box.d.ts +2 -2
- package/cjs/tag-box.js +2 -2
- package/cjs/text-area.d.ts +2 -2
- package/cjs/text-area.js +2 -2
- package/cjs/text-box.d.ts +2 -2
- package/cjs/text-box.js +2 -2
- package/cjs/tile-view.d.ts +2 -2
- package/cjs/tile-view.js +2 -2
- package/cjs/toast.d.ts +2 -2
- package/cjs/toast.js +2 -2
- package/cjs/toolbar.d.ts +2 -2
- package/cjs/toolbar.js +2 -2
- package/cjs/tooltip.d.ts +2 -2
- package/cjs/tooltip.js +2 -2
- package/cjs/tree-list.d.ts +2 -2
- package/cjs/tree-list.js +2 -2
- package/cjs/tree-map.d.ts +2 -2
- package/cjs/tree-map.js +2 -2
- package/cjs/tree-view.d.ts +2 -2
- package/cjs/tree-view.js +2 -2
- package/cjs/validation-group.d.ts +2 -2
- package/cjs/validation-group.js +2 -2
- package/cjs/validation-summary.d.ts +2 -2
- package/cjs/validation-summary.js +2 -2
- package/cjs/validator.d.ts +2 -2
- package/cjs/validator.js +2 -2
- package/cjs/vector-map.d.ts +2 -2
- package/cjs/vector-map.js +2 -2
- package/esm/accordion.js +2 -2
- package/esm/action-sheet.js +2 -2
- package/esm/autocomplete.js +2 -2
- package/esm/bar-gauge.js +2 -2
- package/esm/box.js +2 -2
- package/esm/bullet.js +2 -2
- package/esm/button-group.js +2 -2
- package/esm/button.js +2 -2
- package/esm/calendar.js +2 -2
- package/esm/card-view.js +3 -3
- package/esm/chart.js +2 -2
- package/esm/chat.js +2 -2
- package/esm/check-box.js +2 -2
- package/esm/circular-gauge.js +2 -2
- package/esm/color-box.js +2 -2
- package/esm/common/ai-integration.js +2 -2
- package/esm/common/charts.js +2 -2
- package/esm/common/core/animation.js +2 -2
- package/esm/common/core/environment.js +2 -2
- package/esm/common/core/events.js +2 -2
- package/esm/common/core/index.js +2 -2
- package/esm/common/core/localization.js +2 -2
- package/esm/common/data/custom-store.js +2 -2
- package/esm/common/data.js +2 -2
- package/esm/common/export/excel.js +2 -2
- package/esm/common/export/index.js +2 -2
- package/esm/common/export/pdf.js +2 -2
- package/esm/common/grids.js +2 -2
- package/esm/common/index.js +2 -2
- package/esm/context-menu.js +2 -2
- package/esm/core/component-base.js +23 -49
- package/esm/core/component.js +19 -16
- package/esm/core/config.js +2 -2
- package/esm/core/configuration/comparer.js +2 -2
- package/esm/core/configuration/config-node.js +2 -2
- package/esm/core/configuration/react/element.js +2 -2
- package/esm/core/configuration/react/templates.js +2 -2
- package/esm/core/configuration/tree.js +2 -2
- package/esm/core/configuration/utils.js +2 -2
- package/esm/core/const.js +2 -2
- package/esm/core/contexts.js +2 -2
- package/esm/core/extension-component.js +9 -5
- package/esm/core/helpers.js +2 -2
- package/esm/core/nested-option.js +2 -2
- package/esm/core/options-manager.js +2 -2
- package/esm/core/template-manager.js +2 -2
- package/esm/core/template-wrapper.js +2 -2
- package/esm/core/template.js +2 -2
- package/esm/core/types.js +2 -2
- package/esm/core/use-option-scanning.js +2 -2
- package/esm/core/widget-config.js +2 -2
- package/esm/data-grid.js +2 -2
- package/esm/date-box.js +2 -2
- package/esm/date-range-box.js +2 -2
- package/esm/diagram.js +2 -2
- package/esm/draggable.js +2 -2
- package/esm/drawer.js +2 -2
- package/esm/drop-down-box.js +2 -2
- package/esm/drop-down-button.js +2 -2
- package/esm/file-manager.js +2 -2
- package/esm/file-uploader.js +2 -2
- package/esm/filter-builder.js +2 -2
- package/esm/form.js +2 -2
- package/esm/funnel.js +2 -2
- package/esm/gallery.js +2 -2
- package/esm/gantt.js +2 -2
- package/esm/html-editor.js +2 -2
- package/esm/index.js +2 -2
- package/esm/linear-gauge.js +2 -2
- package/esm/list.js +2 -2
- package/esm/load-indicator.js +2 -2
- package/esm/load-panel.js +2 -2
- package/esm/lookup.js +2 -2
- package/esm/map.js +2 -2
- package/esm/menu.js +2 -2
- package/esm/multi-view.js +2 -2
- package/esm/number-box.js +2 -2
- package/esm/pagination.js +2 -2
- package/esm/pie-chart.js +2 -2
- package/esm/pivot-grid-field-chooser.js +2 -2
- package/esm/pivot-grid.js +2 -2
- package/esm/polar-chart.js +2 -2
- package/esm/popover.js +2 -2
- package/esm/popup.js +2 -2
- package/esm/progress-bar.js +2 -2
- package/esm/radio-group.js +2 -2
- package/esm/range-selector.js +2 -2
- package/esm/range-slider.js +2 -2
- package/esm/recurrence-editor.js +2 -2
- package/esm/resizable.js +2 -2
- package/esm/responsive-box.js +2 -2
- package/esm/sankey.js +2 -2
- package/esm/scheduler.js +2 -2
- package/esm/scroll-view.js +2 -2
- package/esm/select-box.js +2 -2
- package/esm/slider.js +2 -2
- package/esm/sortable.js +2 -2
- package/esm/sparkline.js +2 -2
- package/esm/speech-to-text.js +2 -2
- package/esm/speed-dial-action.js +2 -2
- package/esm/splitter.js +2 -2
- package/esm/stepper.js +2 -2
- package/esm/switch.js +2 -2
- package/esm/tab-panel.js +2 -2
- package/esm/tabs.js +2 -2
- package/esm/tag-box.js +2 -2
- package/esm/text-area.js +2 -2
- package/esm/text-box.js +2 -2
- package/esm/tile-view.js +2 -2
- package/esm/toast.js +2 -2
- package/esm/toolbar.js +2 -2
- package/esm/tooltip.js +2 -2
- package/esm/tree-list.js +2 -2
- package/esm/tree-map.js +2 -2
- package/esm/tree-view.js +2 -2
- package/esm/validation-group.js +2 -2
- package/esm/validation-summary.js +2 -2
- package/esm/validator.js +2 -2
- package/esm/vector-map.js +2 -2
- package/package.json +4 -4
package/cjs/common/grids.d.ts
CHANGED
package/cjs/common/grids.js
CHANGED
package/cjs/common/index.d.ts
CHANGED
package/cjs/common/index.js
CHANGED
package/cjs/context-menu.d.ts
CHANGED
package/cjs/context-menu.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 25.2.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 25.2.3
|
|
4
|
+
* Build date: Fri Dec 12 2025
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -65,6 +65,7 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
65
65
|
const [, setForceUpdateToken] = (0, react_1.useState)(Symbol('initial force update token'));
|
|
66
66
|
const removalLocker = (0, react_1.useContext)(contexts_1.RemovalLockerContext);
|
|
67
67
|
const restoreParentLink = (0, react_1.useContext)(contexts_1.RestoreTreeContext);
|
|
68
|
+
const restoreParentLinkRef = (0, react_1.useRef)(restoreParentLink);
|
|
68
69
|
const instance = (0, react_1.useRef)();
|
|
69
70
|
const element = (0, react_1.useRef)();
|
|
70
71
|
const portalContainer = (0, react_1.useRef)();
|
|
@@ -100,15 +101,10 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
100
101
|
element.current.append(...childNodes.current);
|
|
101
102
|
childElementsDetached.current = false;
|
|
102
103
|
}
|
|
103
|
-
if (
|
|
104
|
-
|
|
104
|
+
if (restoreParentLinkRef.current && element.current && !element.current.isConnected) {
|
|
105
|
+
restoreParentLinkRef.current();
|
|
105
106
|
}
|
|
106
|
-
}, [
|
|
107
|
-
childNodes.current,
|
|
108
|
-
element.current,
|
|
109
|
-
childElementsDetached.current,
|
|
110
|
-
restoreParentLink,
|
|
111
|
-
]);
|
|
107
|
+
}, []);
|
|
112
108
|
// eslint-disable-next-line @stylistic/max-len
|
|
113
109
|
const updateCssClasses = (0, react_1.useCallback)((prevProps, newProps) => {
|
|
114
110
|
const prevClassName = prevProps ? (0, widget_config_1.getClassName)(prevProps) : undefined;
|
|
@@ -128,7 +124,7 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
128
124
|
element.current?.classList.add(...classNames);
|
|
129
125
|
}
|
|
130
126
|
}
|
|
131
|
-
}, [
|
|
127
|
+
}, []);
|
|
132
128
|
const setInlineStyles = (0, react_1.useCallback)((styles) => {
|
|
133
129
|
if (element.current) {
|
|
134
130
|
const el = element.current;
|
|
@@ -141,16 +137,12 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
141
137
|
}
|
|
142
138
|
});
|
|
143
139
|
}
|
|
144
|
-
}, [
|
|
140
|
+
}, []);
|
|
145
141
|
const setTemplateManagerHooks = (0, react_1.useCallback)(({ createDXTemplates: createDXTemplatesFn, clearInstantiationModels: clearInstantiationModelsFn, updateTemplates: updateTemplatesFn, }) => {
|
|
146
142
|
createDXTemplates.current = createDXTemplatesFn;
|
|
147
143
|
clearInstantiationModels.current = clearInstantiationModelsFn;
|
|
148
144
|
updateTemplates.current = updateTemplatesFn;
|
|
149
|
-
}, [
|
|
150
|
-
createDXTemplates.current,
|
|
151
|
-
clearInstantiationModels.current,
|
|
152
|
-
updateTemplates.current,
|
|
153
|
-
]);
|
|
145
|
+
}, []);
|
|
154
146
|
const getElementProps = (0, react_1.useCallback)(() => {
|
|
155
147
|
const elementProps = {
|
|
156
148
|
ref: (el) => {
|
|
@@ -165,7 +157,7 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
165
157
|
}
|
|
166
158
|
});
|
|
167
159
|
return elementProps;
|
|
168
|
-
}, [
|
|
160
|
+
}, [props]);
|
|
169
161
|
const scheduleTemplatesUpdate = (0, react_1.useCallback)(() => {
|
|
170
162
|
if (guardsUpdateScheduled.current) {
|
|
171
163
|
return;
|
|
@@ -178,11 +170,7 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
178
170
|
updateTemplates.current?.(() => (0, options_manager_1.scheduleGuards)());
|
|
179
171
|
});
|
|
180
172
|
(0, options_manager_1.unscheduleGuards)();
|
|
181
|
-
}, [
|
|
182
|
-
guardsUpdateScheduled.current,
|
|
183
|
-
useDeferUpdateForTemplates.current,
|
|
184
|
-
updateTemplates.current,
|
|
185
|
-
]);
|
|
173
|
+
}, []);
|
|
186
174
|
const createWidget = (0, react_1.useCallback)((el) => {
|
|
187
175
|
beforeCreateWidget();
|
|
188
176
|
// eslint-disable-next-line no-param-reassign
|
|
@@ -213,14 +201,8 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
213
201
|
}, [
|
|
214
202
|
beforeCreateWidget,
|
|
215
203
|
afterCreateWidget,
|
|
216
|
-
element.current,
|
|
217
|
-
optionsManager.current,
|
|
218
|
-
createDXTemplates.current,
|
|
219
|
-
clearInstantiationModels.current,
|
|
220
204
|
WidgetClass,
|
|
221
205
|
useRequestAnimationFrameFlag,
|
|
222
|
-
useDeferUpdateForTemplates.current,
|
|
223
|
-
instance.current,
|
|
224
206
|
subscribableOptions,
|
|
225
207
|
independentEvents,
|
|
226
208
|
widgetConfig,
|
|
@@ -230,7 +212,7 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
230
212
|
instance.current.focus();
|
|
231
213
|
shouldRestoreFocus.current = false;
|
|
232
214
|
}
|
|
233
|
-
}, [
|
|
215
|
+
}, []);
|
|
234
216
|
const onComponentUpdated = (0, react_1.useCallback)(() => {
|
|
235
217
|
if (!optionsManager.current?.isInstanceSet) {
|
|
236
218
|
return;
|
|
@@ -242,9 +224,6 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
242
224
|
scheduleTemplatesUpdate();
|
|
243
225
|
prevPropsRef.current = props;
|
|
244
226
|
}, [
|
|
245
|
-
optionsManager.current,
|
|
246
|
-
prevPropsRef.current,
|
|
247
|
-
createDXTemplates.current,
|
|
248
227
|
scheduleTemplatesUpdate,
|
|
249
228
|
updateCssClasses,
|
|
250
229
|
props,
|
|
@@ -264,9 +243,6 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
264
243
|
}
|
|
265
244
|
prevPropsRef.current = props;
|
|
266
245
|
}, [
|
|
267
|
-
childNodes.current,
|
|
268
|
-
element.current,
|
|
269
|
-
childElementsDetached.current,
|
|
270
246
|
updateCssClasses,
|
|
271
247
|
setInlineStyles,
|
|
272
248
|
props,
|
|
@@ -289,24 +265,23 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
289
265
|
}
|
|
290
266
|
optionsManager.current.dispose();
|
|
291
267
|
removalLocker?.unlock();
|
|
292
|
-
}, [
|
|
293
|
-
removalLocker,
|
|
294
|
-
instance.current,
|
|
295
|
-
childNodes.current,
|
|
296
|
-
element.current,
|
|
297
|
-
optionsManager.current,
|
|
298
|
-
childElementsDetached.current,
|
|
299
|
-
shouldRestoreFocus.current,
|
|
300
|
-
]);
|
|
268
|
+
}, [removalLocker]);
|
|
301
269
|
(0, react_1.useLayoutEffect)(() => {
|
|
302
270
|
onComponentMounted();
|
|
303
271
|
return () => {
|
|
304
272
|
onComponentUnmounted();
|
|
305
273
|
};
|
|
306
274
|
}, []);
|
|
275
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
276
|
+
restoreParentLinkRef.current = restoreParentLink;
|
|
277
|
+
}, [restoreParentLink]);
|
|
307
278
|
(0, react_1.useLayoutEffect)(() => {
|
|
308
279
|
onComponentUpdated();
|
|
309
280
|
});
|
|
281
|
+
const createWidgetRef = (0, react_1.useRef)(createWidget);
|
|
282
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
283
|
+
createWidgetRef.current = createWidget;
|
|
284
|
+
}, [createWidget]);
|
|
310
285
|
(0, react_1.useImperativeHandle)(ref, () => ({
|
|
311
286
|
getInstance() {
|
|
312
287
|
return instance.current;
|
|
@@ -315,9 +290,9 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
315
290
|
return element.current;
|
|
316
291
|
},
|
|
317
292
|
createWidget(el) {
|
|
318
|
-
|
|
293
|
+
createWidgetRef.current?.(el);
|
|
319
294
|
},
|
|
320
|
-
}), [
|
|
295
|
+
}), []);
|
|
321
296
|
const _renderChildren = (0, react_1.useCallback)(() => {
|
|
322
297
|
if (renderChildren) {
|
|
323
298
|
return renderChildren();
|
|
@@ -325,7 +300,7 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
325
300
|
const { children } = props;
|
|
326
301
|
return children;
|
|
327
302
|
}, [props, renderChildren]);
|
|
328
|
-
const renderPortal = (0, react_1.useCallback)(() => portalContainer.current && (0, react_dom_1.createPortal)(_renderChildren(), portalContainer.current), [
|
|
303
|
+
const renderPortal = (0, react_1.useCallback)(() => portalContainer.current && (0, react_dom_1.createPortal)(_renderChildren(), portalContainer.current), [_renderChildren]);
|
|
329
304
|
const renderContent = (0, react_1.useCallback)(() => {
|
|
330
305
|
const { children } = props;
|
|
331
306
|
return isPortalComponent && children
|
|
@@ -342,7 +317,6 @@ const ComponentBase = (0, react_1.forwardRef)((props, ref) => {
|
|
|
342
317
|
}, [
|
|
343
318
|
props,
|
|
344
319
|
isPortalComponent,
|
|
345
|
-
portalContainer.current,
|
|
346
320
|
_renderChildren,
|
|
347
321
|
]);
|
|
348
322
|
const renderContextValue = (0, react_1.useMemo)(() => ({
|
package/cjs/core/component.d.ts
CHANGED
package/cjs/core/component.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 25.2.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 25.2.3
|
|
4
|
+
* Build date: Fri Dec 12 2025
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -46,12 +46,12 @@ const Component = (0, react_1.forwardRef)((props, ref) => {
|
|
|
46
46
|
const extensionCreators = (0, react_1.useRef)([]);
|
|
47
47
|
const registerExtension = (0, react_1.useCallback)((creator) => {
|
|
48
48
|
extensionCreators.current.push(creator);
|
|
49
|
-
}, [
|
|
49
|
+
}, []);
|
|
50
50
|
const createExtensions = (0, react_1.useCallback)(() => {
|
|
51
51
|
extensionCreators.current.forEach((creator) => {
|
|
52
52
|
creator(componentBaseRef.current?.getElement());
|
|
53
53
|
});
|
|
54
|
-
}, [
|
|
54
|
+
}, []);
|
|
55
55
|
const renderChildren = (0, react_1.useCallback)(() => React.Children.map(props.children, (child) => {
|
|
56
56
|
if (React.isValidElement(child) && (0, extension_component_1.elementIsExtension)(child)) {
|
|
57
57
|
return React.cloneElement(child, { onMounted: registerExtension });
|
|
@@ -60,23 +60,26 @@ const Component = (0, react_1.forwardRef)((props, ref) => {
|
|
|
60
60
|
}), [props, registerExtension]);
|
|
61
61
|
const createWidget = (0, react_1.useCallback)((el) => {
|
|
62
62
|
componentBaseRef.current?.createWidget(el);
|
|
63
|
-
}, [
|
|
63
|
+
}, []);
|
|
64
64
|
const clearExtensions = (0, react_1.useCallback)(() => {
|
|
65
|
-
|
|
66
|
-
props.clearExtensions();
|
|
67
|
-
}
|
|
65
|
+
props.clearExtensions?.();
|
|
68
66
|
extensionCreators.current = [];
|
|
69
|
-
}, [
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
]);
|
|
67
|
+
}, [props.clearExtensions]);
|
|
68
|
+
const createWidgetRef = (0, react_1.useRef)(createWidget);
|
|
69
|
+
const clearExtensionsRef = (0, react_1.useRef)(clearExtensions);
|
|
73
70
|
(0, react_1.useLayoutEffect)(() => {
|
|
74
71
|
createWidget();
|
|
75
72
|
createExtensions();
|
|
76
73
|
return () => {
|
|
77
|
-
|
|
74
|
+
clearExtensionsRef.current?.();
|
|
78
75
|
};
|
|
79
76
|
}, []);
|
|
77
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
78
|
+
createWidgetRef.current = createWidget;
|
|
79
|
+
}, [createWidget]);
|
|
80
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
81
|
+
clearExtensionsRef.current = clearExtensions;
|
|
82
|
+
}, [clearExtensions]);
|
|
80
83
|
(0, react_1.useImperativeHandle)(ref, () => ({
|
|
81
84
|
getInstance() {
|
|
82
85
|
return componentBaseRef.current?.getInstance();
|
|
@@ -85,12 +88,12 @@ const Component = (0, react_1.forwardRef)((props, ref) => {
|
|
|
85
88
|
return componentBaseRef.current?.getElement();
|
|
86
89
|
},
|
|
87
90
|
createWidget(el) {
|
|
88
|
-
|
|
91
|
+
createWidgetRef.current?.(el);
|
|
89
92
|
},
|
|
90
93
|
clearExtensions() {
|
|
91
|
-
|
|
94
|
+
clearExtensionsRef.current?.();
|
|
92
95
|
},
|
|
93
|
-
}), [
|
|
96
|
+
}), []);
|
|
94
97
|
return (React.createElement(component_base_1.ComponentBase, { ref: componentBaseRef, renderChildren: renderChildren, ...props }));
|
|
95
98
|
});
|
|
96
99
|
exports.Component = Component;
|
package/cjs/core/config.d.ts
CHANGED
package/cjs/core/config.js
CHANGED
package/cjs/core/const.d.ts
CHANGED
package/cjs/core/const.js
CHANGED
package/cjs/core/contexts.d.ts
CHANGED
package/cjs/core/contexts.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 25.2.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 25.2.3
|
|
4
|
+
* Build date: Fri Dec 12 2025
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -51,7 +51,7 @@ const ExtensionComponent = (0, react_1.forwardRef)(
|
|
|
51
51
|
const componentBaseRef = (0, react_1.useRef)(null);
|
|
52
52
|
const createWidget = (0, react_1.useCallback)((el) => {
|
|
53
53
|
componentBaseRef.current?.createWidget(el);
|
|
54
|
-
}, [
|
|
54
|
+
}, []);
|
|
55
55
|
(0, react_1.useLayoutEffect)(() => {
|
|
56
56
|
const { onMounted } = props;
|
|
57
57
|
if (onMounted) {
|
|
@@ -61,6 +61,10 @@ const ExtensionComponent = (0, react_1.forwardRef)(
|
|
|
61
61
|
createWidget();
|
|
62
62
|
}
|
|
63
63
|
}, []);
|
|
64
|
+
const createWidgetRef = (0, react_1.useRef)(createWidget);
|
|
65
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
66
|
+
createWidgetRef.current = createWidget;
|
|
67
|
+
}, [createWidget]);
|
|
64
68
|
(0, react_1.useImperativeHandle)(ref, () => ({
|
|
65
69
|
getInstance() {
|
|
66
70
|
return componentBaseRef.current?.getInstance();
|
|
@@ -69,9 +73,9 @@ const ExtensionComponent = (0, react_1.forwardRef)(
|
|
|
69
73
|
return componentBaseRef.current?.getElement();
|
|
70
74
|
},
|
|
71
75
|
createWidget(el) {
|
|
72
|
-
|
|
76
|
+
createWidgetRef.current?.(el);
|
|
73
77
|
},
|
|
74
|
-
}), [
|
|
78
|
+
}), []);
|
|
75
79
|
return (React.createElement(component_base_1.ComponentBase, { ref: componentBaseRef, ...props }));
|
|
76
80
|
});
|
|
77
81
|
exports.ExtensionComponent = ExtensionComponent;
|
package/cjs/core/helpers.d.ts
CHANGED
package/cjs/core/helpers.js
CHANGED