devextreme-react 26.1.2-beta → 26.1.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/LICENSE +21 -21
- package/README.md +27 -27
- package/cjs/accordion.d.ts +100 -100
- package/cjs/accordion.js +103 -103
- package/cjs/action-sheet.d.ts +79 -79
- package/cjs/action-sheet.js +91 -91
- package/cjs/autocomplete.d.ts +653 -653
- package/cjs/autocomplete.js +347 -347
- package/cjs/bar-gauge.d.ts +698 -698
- package/cjs/bar-gauge.js +410 -410
- package/cjs/box.d.ts +77 -77
- package/cjs/box.js +90 -90
- package/cjs/bullet.d.ts +205 -205
- package/cjs/bullet.js +155 -155
- package/cjs/button-group.d.ts +64 -64
- package/cjs/button-group.js +91 -91
- package/cjs/button.d.ts +30 -30
- package/cjs/button.js +61 -61
- package/cjs/calendar.d.ts +33 -33
- package/cjs/calendar.js +68 -68
- package/cjs/card-view.d.ts +2749 -2749
- package/cjs/card-view.js +1439 -1439
- package/cjs/chart.d.ts +4467 -4467
- package/cjs/chart.js +1569 -1569
- package/cjs/chat.d.ts +604 -604
- package/cjs/chat.js +336 -336
- package/cjs/check-box.d.ts +30 -30
- package/cjs/check-box.js +59 -59
- package/cjs/circular-gauge.d.ts +720 -720
- package/cjs/circular-gauge.js +427 -427
- package/cjs/color-box.d.ts +647 -647
- package/cjs/color-box.js +345 -345
- package/cjs/common/ai-integration.d.ts +4 -4
- package/cjs/common/ai-integration.js +7 -7
- package/cjs/common/charts.d.ts +4 -4
- package/cjs/common/charts.js +8 -8
- package/cjs/common/core/animation.d.ts +4 -4
- package/cjs/common/core/animation.js +11 -11
- package/cjs/common/core/environment.d.ts +4 -4
- package/cjs/common/core/environment.js +9 -9
- package/cjs/common/core/events.d.ts +4 -4
- package/cjs/common/core/events.js +10 -10
- package/cjs/common/core/index.d.ts +6 -6
- package/cjs/common/core/index.js +32 -32
- package/cjs/common/core/localization.d.ts +4 -4
- package/cjs/common/core/localization.js +13 -13
- package/cjs/common/data/custom-store.d.ts +3 -3
- package/cjs/common/data/custom-store.js +9 -9
- package/cjs/common/data.d.ts +4 -4
- package/cjs/common/data.js +25 -25
- package/cjs/common/export/excel.d.ts +4 -4
- package/cjs/common/export/excel.js +8 -8
- package/cjs/common/export/index.d.ts +4 -4
- package/cjs/common/export/index.js +30 -30
- package/cjs/common/export/pdf.d.ts +4 -4
- package/cjs/common/export/pdf.js +8 -8
- package/cjs/common/grids.d.ts +3 -3
- package/cjs/common/grids.js +4 -4
- package/cjs/common/index.d.ts +301 -289
- package/cjs/common/index.js +121 -121
- package/cjs/context-menu.d.ts +350 -350
- package/cjs/context-menu.js +295 -295
- package/cjs/core/component-base.d.ts +39 -39
- package/cjs/core/component-base.js +322 -322
- package/cjs/core/component.d.ts +42 -42
- package/cjs/core/component.js +88 -88
- package/cjs/core/config.d.ts +9 -9
- package/cjs/core/config.js +16 -16
- package/cjs/core/configuration/comparer.d.ts +12 -12
- package/cjs/core/configuration/comparer.js +102 -102
- package/cjs/core/configuration/config-node.d.ts +17 -17
- package/cjs/core/configuration/config-node.js +107 -107
- package/cjs/core/configuration/react/element.d.ts +36 -36
- package/cjs/core/configuration/react/element.js +52 -52
- package/cjs/core/configuration/react/templates.d.ts +7 -7
- package/cjs/core/configuration/react/templates.js +61 -61
- package/cjs/core/configuration/tree.d.ts +22 -22
- package/cjs/core/configuration/tree.js +118 -118
- package/cjs/core/configuration/utils.d.ts +16 -16
- package/cjs/core/configuration/utils.js +39 -39
- package/cjs/core/const.d.ts +3 -3
- package/cjs/core/const.js +78 -78
- package/cjs/core/contexts.d.ts +25 -25
- package/cjs/core/contexts.js +22 -22
- package/cjs/core/extension-component.d.ts +26 -26
- package/cjs/core/extension-component.js +70 -70
- package/cjs/core/helpers.d.ts +30 -30
- package/cjs/core/helpers.js +65 -65
- package/cjs/core/nested-option.d.ts +15 -15
- package/cjs/core/nested-option.js +60 -60
- package/cjs/core/options-manager.d.ts +35 -35
- package/cjs/core/options-manager.js +228 -228
- package/cjs/core/template-manager.d.ts +5 -5
- package/cjs/core/template-manager.js +164 -164
- package/cjs/core/template-wrapper.d.ts +5 -5
- package/cjs/core/template-wrapper.js +121 -121
- package/cjs/core/template.d.ts +21 -21
- package/cjs/core/template.js +33 -33
- package/cjs/core/types.d.ts +80 -80
- package/cjs/core/types.js +4 -4
- package/cjs/core/use-option-scanning.d.ts +9 -9
- package/cjs/core/use-option-scanning.js +50 -50
- package/cjs/core/widget-config.d.ts +11 -11
- package/cjs/core/widget-config.js +77 -77
- package/cjs/data-grid.d.ts +4632 -4628
- package/cjs/data-grid.js +1894 -1894
- package/cjs/date-box.d.ts +757 -757
- package/cjs/date-box.js +354 -354
- package/cjs/date-range-box.d.ts +761 -761
- package/cjs/date-range-box.js +355 -355
- package/cjs/diagram.d.ts +661 -661
- package/cjs/diagram.js +478 -478
- package/cjs/draggable.d.ts +43 -43
- package/cjs/draggable.js +78 -78
- package/cjs/drawer.d.ts +30 -30
- package/cjs/drawer.js +67 -67
- package/cjs/drop-down-box.d.ts +647 -647
- package/cjs/drop-down-box.js +349 -349
- package/cjs/drop-down-button.d.ts +562 -562
- package/cjs/drop-down-button.js +306 -306
- package/cjs/file-manager.d.ts +302 -302
- package/cjs/file-manager.js +233 -233
- package/cjs/file-uploader.d.ts +39 -39
- package/cjs/file-uploader.js +59 -59
- package/cjs/filter-builder.d.ts +216 -216
- package/cjs/filter-builder.js +156 -156
- package/cjs/form.d.ts +1020 -1020
- package/cjs/form.js +527 -527
- package/cjs/funnel.d.ts +898 -898
- package/cjs/funnel.js +479 -479
- package/cjs/gallery.d.ts +79 -79
- package/cjs/gallery.js +92 -92
- package/cjs/gantt.d.ts +798 -798
- package/cjs/gantt.js +497 -497
- package/cjs/html-editor.d.ts +480 -480
- package/cjs/html-editor.js +302 -302
- package/cjs/index.d.ts +86 -86
- package/cjs/index.js +196 -196
- package/cjs/linear-gauge.d.ts +734 -734
- package/cjs/linear-gauge.js +432 -432
- package/cjs/list.d.ts +416 -416
- package/cjs/list.js +196 -196
- package/cjs/load-indicator.d.ts +26 -26
- package/cjs/load-indicator.js +53 -53
- package/cjs/load-panel.d.ts +270 -270
- package/cjs/load-panel.js +237 -237
- package/cjs/lookup.d.ts +485 -485
- package/cjs/lookup.js +339 -339
- package/cjs/map.d.ts +156 -156
- package/cjs/map.js +164 -164
- package/cjs/menu.d.ts +355 -355
- package/cjs/menu.js +296 -296
- package/cjs/multi-view.d.ts +77 -77
- package/cjs/multi-view.js +92 -92
- package/cjs/number-box.d.ts +142 -142
- package/cjs/number-box.js +110 -110
- package/cjs/pagination.d.ts +22 -22
- package/cjs/pagination.js +60 -60
- package/cjs/pie-chart.d.ts +1449 -1449
- package/cjs/pie-chart.js +637 -637
- package/cjs/pivot-grid-field-chooser.d.ts +133 -133
- package/cjs/pivot-grid-field-chooser.js +125 -125
- package/cjs/pivot-grid.d.ts +350 -350
- package/cjs/pivot-grid.js +235 -235
- package/cjs/polar-chart.d.ts +3176 -3176
- package/cjs/polar-chart.js +1199 -1199
- package/cjs/popover.d.ts +331 -331
- package/cjs/popover.js +288 -288
- package/cjs/popup.d.ts +293 -293
- package/cjs/popup.js +262 -262
- package/cjs/progress-bar.d.ts +31 -31
- package/cjs/progress-bar.js +59 -59
- package/cjs/radio-group.d.ts +56 -56
- package/cjs/radio-group.js +90 -90
- package/cjs/range-selector.d.ts +2446 -2446
- package/cjs/range-selector.js +961 -961
- package/cjs/range-slider.d.ts +82 -82
- package/cjs/range-slider.js +107 -107
- package/cjs/resizable.d.ts +33 -33
- package/cjs/resizable.js +60 -60
- package/cjs/responsive-box.d.ts +133 -133
- package/cjs/responsive-box.js +134 -134
- package/cjs/sankey.d.ts +610 -610
- package/cjs/sankey.js +352 -352
- package/cjs/scheduler.d.ts +1620 -1620
- package/cjs/scheduler.js +775 -775
- package/cjs/scroll-view.d.ts +29 -29
- package/cjs/scroll-view.js +53 -53
- package/cjs/select-box.d.ts +676 -676
- package/cjs/select-box.js +374 -374
- package/cjs/slider.d.ts +82 -82
- package/cjs/slider.js +107 -107
- package/cjs/sortable.d.ts +47 -47
- package/cjs/sortable.js +78 -78
- package/cjs/sparkline.d.ts +205 -205
- package/cjs/sparkline.js +155 -155
- package/cjs/speech-to-text.d.ts +61 -61
- package/cjs/speech-to-text.js +83 -83
- package/cjs/speed-dial-action.d.ts +27 -27
- package/cjs/speed-dial-action.js +53 -53
- package/cjs/splitter.d.ts +85 -85
- package/cjs/splitter.js +90 -90
- package/cjs/stepper.d.ts +82 -82
- package/cjs/stepper.js +92 -92
- package/cjs/switch.d.ts +30 -30
- package/cjs/switch.js +59 -59
- package/cjs/tab-panel.d.ts +97 -97
- package/cjs/tab-panel.js +101 -101
- package/cjs/tabs.d.ts +90 -90
- package/cjs/tabs.js +94 -94
- package/cjs/tag-box.d.ts +677 -677
- package/cjs/tag-box.js +379 -379
- package/cjs/text-area.d.ts +40 -40
- package/cjs/text-area.js +59 -59
- package/cjs/text-box.d.ts +122 -122
- package/cjs/text-box.js +97 -97
- package/cjs/tile-view.d.ts +73 -73
- package/cjs/tile-view.js +90 -90
- package/cjs/toast.d.ts +255 -255
- package/cjs/toast.js +232 -232
- package/cjs/toolbar.d.ts +91 -91
- package/cjs/toolbar.js +99 -99
- package/cjs/tooltip.d.ts +283 -283
- package/cjs/tooltip.js +260 -260
- package/cjs/tree-list.d.ts +4160 -4156
- package/cjs/tree-list.js +1692 -1692
- package/cjs/tree-map.d.ts +586 -586
- package/cjs/tree-map.js +382 -382
- package/cjs/tree-view.d.ts +290 -290
- package/cjs/tree-view.js +145 -145
- package/cjs/validation-group.d.ts +25 -25
- package/cjs/validation-group.js +53 -53
- package/cjs/validation-summary.d.ts +66 -66
- package/cjs/validation-summary.js +90 -90
- package/cjs/validator.d.ts +271 -271
- package/cjs/validator.js +243 -243
- package/cjs/vector-map.d.ts +987 -987
- package/cjs/vector-map.js +487 -487
- package/esm/accordion.js +73 -73
- package/esm/action-sheet.js +61 -61
- package/esm/autocomplete.js +302 -302
- package/esm/bar-gauge.js +359 -359
- package/esm/box.js +60 -60
- package/esm/bullet.js +119 -119
- package/esm/button-group.js +61 -61
- package/esm/button.js +32 -32
- package/esm/calendar.js +39 -39
- package/esm/card-view.js +1332 -1332
- package/esm/chart.js +1447 -1447
- package/esm/chat.js +290 -290
- package/esm/check-box.js +30 -30
- package/esm/circular-gauge.js +374 -374
- package/esm/color-box.js +300 -300
- package/esm/common/ai-integration.js +3 -3
- package/esm/common/charts.js +3 -3
- package/esm/common/core/animation.js +3 -3
- package/esm/common/core/environment.js +3 -3
- package/esm/common/core/events.js +3 -3
- package/esm/common/core/index.js +6 -6
- package/esm/common/core/localization.js +3 -3
- package/esm/common/data/custom-store.js +3 -3
- package/esm/common/data.js +3 -3
- package/esm/common/export/excel.js +3 -3
- package/esm/common/export/index.js +4 -4
- package/esm/common/export/pdf.js +3 -3
- package/esm/common/grids.js +3 -3
- package/esm/common/index.js +91 -91
- package/esm/context-menu.js +251 -251
- package/esm/core/component-base.js +292 -292
- package/esm/core/component.js +62 -62
- package/esm/core/config.js +13 -13
- package/esm/core/configuration/comparer.js +98 -98
- package/esm/core/configuration/config-node.js +80 -80
- package/esm/core/configuration/react/element.js +47 -47
- package/esm/core/configuration/react/templates.js +57 -57
- package/esm/core/configuration/tree.js +110 -110
- package/esm/core/configuration/utils.js +32 -32
- package/esm/core/const.js +75 -75
- package/esm/core/contexts.js +19 -19
- package/esm/core/extension-component.js +43 -43
- package/esm/core/helpers.js +57 -57
- package/esm/core/nested-option.js +35 -35
- package/esm/core/options-manager.js +223 -223
- package/esm/core/template-manager.js +137 -137
- package/esm/core/template-wrapper.js +95 -95
- package/esm/core/template.js +29 -29
- package/esm/core/types.js +3 -3
- package/esm/core/use-option-scanning.js +46 -46
- package/esm/core/widget-config.js +72 -72
- package/esm/data-grid.js +1758 -1758
- package/esm/date-box.js +308 -308
- package/esm/date-range-box.js +309 -309
- package/esm/diagram.js +423 -423
- package/esm/draggable.js +48 -48
- package/esm/drawer.js +38 -38
- package/esm/drop-down-box.js +304 -304
- package/esm/drop-down-button.js +263 -263
- package/esm/file-manager.js +192 -192
- package/esm/file-uploader.js +30 -30
- package/esm/filter-builder.js +121 -121
- package/esm/form.js +475 -475
- package/esm/funnel.js +423 -423
- package/esm/gallery.js +62 -62
- package/esm/gantt.js +442 -442
- package/esm/html-editor.js +259 -259
- package/esm/index.js +86 -86
- package/esm/linear-gauge.js +378 -378
- package/esm/list.js +160 -160
- package/esm/load-indicator.js +24 -24
- package/esm/load-panel.js +196 -196
- package/esm/lookup.js +294 -294
- package/esm/map.js +128 -128
- package/esm/menu.js +252 -252
- package/esm/multi-view.js +62 -62
- package/esm/number-box.js +78 -78
- package/esm/pagination.js +31 -31
- package/esm/pie-chart.js +573 -573
- package/esm/pivot-grid-field-chooser.js +91 -91
- package/esm/pivot-grid.js +193 -193
- package/esm/polar-chart.js +1099 -1099
- package/esm/popover.js +245 -245
- package/esm/popup.js +221 -221
- package/esm/progress-bar.js +30 -30
- package/esm/radio-group.js +60 -60
- package/esm/range-selector.js +871 -871
- package/esm/range-slider.js +75 -75
- package/esm/resizable.js +31 -31
- package/esm/responsive-box.js +101 -101
- package/esm/sankey.js +304 -304
- package/esm/scheduler.js +713 -713
- package/esm/scroll-view.js +24 -24
- package/esm/select-box.js +328 -328
- package/esm/slider.js +75 -75
- package/esm/sortable.js +48 -48
- package/esm/sparkline.js +119 -119
- package/esm/speech-to-text.js +52 -52
- package/esm/speed-dial-action.js +24 -24
- package/esm/splitter.js +60 -60
- package/esm/stepper.js +62 -62
- package/esm/switch.js +30 -30
- package/esm/tab-panel.js +71 -71
- package/esm/tabs.js +64 -64
- package/esm/tag-box.js +333 -333
- package/esm/text-area.js +30 -30
- package/esm/text-box.js +66 -66
- package/esm/tile-view.js +60 -60
- package/esm/toast.js +192 -192
- package/esm/toolbar.js +69 -69
- package/esm/tooltip.js +218 -218
- package/esm/tree-list.js +1569 -1569
- package/esm/tree-map.js +332 -332
- package/esm/tree-view.js +112 -112
- package/esm/validation-group.js +24 -24
- package/esm/validation-summary.js +60 -60
- package/esm/validator.js +203 -203
- package/esm/vector-map.js +432 -432
- package/package.json +11 -5
package/cjs/core/template.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 26.1.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 26.1.3
|
|
4
|
+
* Build date: Wed Jun 10 2026
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -11,22 +11,22 @@
|
|
|
11
11
|
* https://github.com/DevExpress/DevExtreme
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import * as React from 'react';
|
|
15
|
-
interface ITemplateMeta {
|
|
16
|
-
tmplOption: string;
|
|
17
|
-
component: string;
|
|
18
|
-
render: string;
|
|
19
|
-
}
|
|
20
|
-
interface ITemplateProps {
|
|
21
|
-
name: string;
|
|
22
|
-
component?: any;
|
|
23
|
-
render?: any;
|
|
24
|
-
children?: any;
|
|
25
|
-
}
|
|
26
|
-
interface ITemplateArgs {
|
|
27
|
-
data: any;
|
|
28
|
-
index?: number;
|
|
29
|
-
}
|
|
30
|
-
declare const Template: React.FC<ITemplateProps>;
|
|
31
|
-
declare function findProps(child: React.ReactElement): ITemplateProps | undefined;
|
|
32
|
-
export { ITemplateMeta, ITemplateProps, ITemplateArgs, Template, findProps, };
|
|
14
|
+
import * as React from 'react';
|
|
15
|
+
interface ITemplateMeta {
|
|
16
|
+
tmplOption: string;
|
|
17
|
+
component: string;
|
|
18
|
+
render: string;
|
|
19
|
+
}
|
|
20
|
+
interface ITemplateProps {
|
|
21
|
+
name: string;
|
|
22
|
+
component?: any;
|
|
23
|
+
render?: any;
|
|
24
|
+
children?: any;
|
|
25
|
+
}
|
|
26
|
+
interface ITemplateArgs {
|
|
27
|
+
data: any;
|
|
28
|
+
index?: number;
|
|
29
|
+
}
|
|
30
|
+
declare const Template: React.FC<ITemplateProps>;
|
|
31
|
+
declare function findProps(child: React.ReactElement): ITemplateProps | undefined;
|
|
32
|
+
export { ITemplateMeta, ITemplateProps, ITemplateArgs, Template, findProps, };
|
package/cjs/core/template.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 26.1.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 26.1.3
|
|
4
|
+
* Build date: Wed Jun 10 2026
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -11,34 +11,34 @@
|
|
|
11
11
|
* https://github.com/DevExpress/DevExtreme
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
'use client';
|
|
15
|
-
"use strict";
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.findProps = exports.Template = void 0;
|
|
18
|
-
const react_1 = require("react");
|
|
19
|
-
const contexts_1 = require("./contexts");
|
|
20
|
-
const templates_1 = require("./configuration/react/templates");
|
|
21
|
-
const Template = (0, react_1.memo)((props) => {
|
|
22
|
-
const { onNamedTemplateReady, treeUpdateToken, } = (0, react_1.useContext)(contexts_1.NestedOptionContext);
|
|
23
|
-
const { isTemplateRendering } = (0, react_1.useContext)(contexts_1.TemplateRenderingContext);
|
|
24
|
-
const template = (0, templates_1.getNamedTemplate)(props);
|
|
25
|
-
(0, react_1.useLayoutEffect)(() => {
|
|
26
|
-
if (!isTemplateRendering) {
|
|
27
|
-
onNamedTemplateReady(template, treeUpdateToken);
|
|
28
|
-
}
|
|
29
|
-
}, [treeUpdateToken]);
|
|
30
|
-
return null;
|
|
31
|
-
});
|
|
32
|
-
exports.Template = Template;
|
|
33
|
-
function findProps(child) {
|
|
34
|
-
if (child.type !== Template) {
|
|
35
|
-
return undefined;
|
|
36
|
-
}
|
|
37
|
-
return {
|
|
38
|
-
name: child.props.name,
|
|
39
|
-
render: child.props.render,
|
|
40
|
-
component: child.props.component,
|
|
41
|
-
children: child.props.children,
|
|
42
|
-
};
|
|
43
|
-
}
|
|
44
|
-
exports.findProps = findProps;
|
|
14
|
+
'use client';
|
|
15
|
+
"use strict";
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.findProps = exports.Template = void 0;
|
|
18
|
+
const react_1 = require("react");
|
|
19
|
+
const contexts_1 = require("./contexts");
|
|
20
|
+
const templates_1 = require("./configuration/react/templates");
|
|
21
|
+
const Template = (0, react_1.memo)((props) => {
|
|
22
|
+
const { onNamedTemplateReady, treeUpdateToken, } = (0, react_1.useContext)(contexts_1.NestedOptionContext);
|
|
23
|
+
const { isTemplateRendering } = (0, react_1.useContext)(contexts_1.TemplateRenderingContext);
|
|
24
|
+
const template = (0, templates_1.getNamedTemplate)(props);
|
|
25
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
26
|
+
if (!isTemplateRendering) {
|
|
27
|
+
onNamedTemplateReady(template, treeUpdateToken);
|
|
28
|
+
}
|
|
29
|
+
}, [treeUpdateToken]);
|
|
30
|
+
return null;
|
|
31
|
+
});
|
|
32
|
+
exports.Template = Template;
|
|
33
|
+
function findProps(child) {
|
|
34
|
+
if (child.type !== Template) {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
return {
|
|
38
|
+
name: child.props.name,
|
|
39
|
+
render: child.props.render,
|
|
40
|
+
component: child.props.component,
|
|
41
|
+
children: child.props.children,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
exports.findProps = findProps;
|
package/cjs/core/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 26.1.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 26.1.3
|
|
4
|
+
* Build date: Wed Jun 10 2026
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -11,81 +11,81 @@
|
|
|
11
11
|
* https://github.com/DevExpress/DevExtreme
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import { ReactNode } from 'react';
|
|
15
|
-
export interface ITemplate {
|
|
16
|
-
optionName: string;
|
|
17
|
-
isAnonymous: boolean;
|
|
18
|
-
type: 'component' | 'render' | 'children';
|
|
19
|
-
content: any;
|
|
20
|
-
}
|
|
21
|
-
export interface IConfigNode {
|
|
22
|
-
parentNode?: IConfigNode | undefined;
|
|
23
|
-
index?: number | undefined;
|
|
24
|
-
templates: ITemplate[];
|
|
25
|
-
readonly name: string;
|
|
26
|
-
readonly predefinedOptions: Record<string, any>;
|
|
27
|
-
readonly initialOptions: Record<string, any>;
|
|
28
|
-
readonly options: Record<string, any>;
|
|
29
|
-
readonly configs: Record<string, IConfigNode>;
|
|
30
|
-
readonly configCollections: Record<string, IConfigNode[]>;
|
|
31
|
-
}
|
|
32
|
-
interface DXTemplate {
|
|
33
|
-
render: RenderFunc;
|
|
34
|
-
}
|
|
35
|
-
export interface NestedComponentMeta {
|
|
36
|
-
componentType: 'option' | 'extension';
|
|
37
|
-
}
|
|
38
|
-
type RenderFunc = (arg: RenderArgs) => HTMLElement;
|
|
39
|
-
interface TemplateArgs {
|
|
40
|
-
data: any;
|
|
41
|
-
index?: number;
|
|
42
|
-
onRendered: () => void;
|
|
43
|
-
}
|
|
44
|
-
export interface RenderArgs {
|
|
45
|
-
model?: any;
|
|
46
|
-
container: any;
|
|
47
|
-
index?: any;
|
|
48
|
-
onRendered?: () => void;
|
|
49
|
-
}
|
|
50
|
-
export type DXTemplateCollection = Record<string, DXTemplate>;
|
|
51
|
-
export interface GuardObject {
|
|
52
|
-
handler: () => void;
|
|
53
|
-
latestValue: unknown;
|
|
54
|
-
}
|
|
55
|
-
export interface TemplateWrapperProps {
|
|
56
|
-
templateFactory: TemplateFunc;
|
|
57
|
-
data: any;
|
|
58
|
-
index: number;
|
|
59
|
-
container: HTMLElement;
|
|
60
|
-
componentKey: string;
|
|
61
|
-
onRendered: () => void;
|
|
62
|
-
onRemoved: (componentKey: string) => void;
|
|
63
|
-
}
|
|
64
|
-
export type TemplateFunc = (arg: TemplateArgs) => JSX.Element | ReactNode;
|
|
65
|
-
export type UpdateTemplateFunc = (onUpdated: () => void) => void;
|
|
66
|
-
export interface InitArgument {
|
|
67
|
-
createDXTemplates: DXTemplateCreator;
|
|
68
|
-
clearInstantiationModels: () => void;
|
|
69
|
-
updateTemplates: UpdateTemplateFunc;
|
|
70
|
-
}
|
|
71
|
-
export interface TemplateManagerUpdateContext {
|
|
72
|
-
onUpdated: () => void;
|
|
73
|
-
}
|
|
74
|
-
export type DXTemplateCreator = (templateOptions: Record<string, ITemplate>) => DXTemplateCollection;
|
|
75
|
-
export interface TemplateManagerProps {
|
|
76
|
-
init: (args: InitArgument) => void;
|
|
77
|
-
onTemplatesRendered: () => void;
|
|
78
|
-
}
|
|
79
|
-
export interface TemplateInstantiationModel {
|
|
80
|
-
templateKey: string;
|
|
81
|
-
componentKey: string;
|
|
82
|
-
index: any;
|
|
83
|
-
onRendered: () => void;
|
|
84
|
-
onRemoved: (componentKey: string) => void;
|
|
85
|
-
onContainerRemoved: () => void;
|
|
86
|
-
}
|
|
87
|
-
export type GetRenderFuncFn = (templateKey: string) => RenderFunc;
|
|
88
|
-
export interface DXRemoveCustomArgs {
|
|
89
|
-
isUnmounting: boolean;
|
|
90
|
-
}
|
|
91
|
-
export {};
|
|
14
|
+
import { ReactNode } from 'react';
|
|
15
|
+
export interface ITemplate {
|
|
16
|
+
optionName: string;
|
|
17
|
+
isAnonymous: boolean;
|
|
18
|
+
type: 'component' | 'render' | 'children';
|
|
19
|
+
content: any;
|
|
20
|
+
}
|
|
21
|
+
export interface IConfigNode {
|
|
22
|
+
parentNode?: IConfigNode | undefined;
|
|
23
|
+
index?: number | undefined;
|
|
24
|
+
templates: ITemplate[];
|
|
25
|
+
readonly name: string;
|
|
26
|
+
readonly predefinedOptions: Record<string, any>;
|
|
27
|
+
readonly initialOptions: Record<string, any>;
|
|
28
|
+
readonly options: Record<string, any>;
|
|
29
|
+
readonly configs: Record<string, IConfigNode>;
|
|
30
|
+
readonly configCollections: Record<string, IConfigNode[]>;
|
|
31
|
+
}
|
|
32
|
+
interface DXTemplate {
|
|
33
|
+
render: RenderFunc;
|
|
34
|
+
}
|
|
35
|
+
export interface NestedComponentMeta {
|
|
36
|
+
componentType: 'option' | 'extension';
|
|
37
|
+
}
|
|
38
|
+
type RenderFunc = (arg: RenderArgs) => HTMLElement;
|
|
39
|
+
interface TemplateArgs {
|
|
40
|
+
data: any;
|
|
41
|
+
index?: number;
|
|
42
|
+
onRendered: () => void;
|
|
43
|
+
}
|
|
44
|
+
export interface RenderArgs {
|
|
45
|
+
model?: any;
|
|
46
|
+
container: any;
|
|
47
|
+
index?: any;
|
|
48
|
+
onRendered?: () => void;
|
|
49
|
+
}
|
|
50
|
+
export type DXTemplateCollection = Record<string, DXTemplate>;
|
|
51
|
+
export interface GuardObject {
|
|
52
|
+
handler: () => void;
|
|
53
|
+
latestValue: unknown;
|
|
54
|
+
}
|
|
55
|
+
export interface TemplateWrapperProps {
|
|
56
|
+
templateFactory: TemplateFunc;
|
|
57
|
+
data: any;
|
|
58
|
+
index: number;
|
|
59
|
+
container: HTMLElement;
|
|
60
|
+
componentKey: string;
|
|
61
|
+
onRendered: () => void;
|
|
62
|
+
onRemoved: (componentKey: string) => void;
|
|
63
|
+
}
|
|
64
|
+
export type TemplateFunc = (arg: TemplateArgs) => JSX.Element | ReactNode;
|
|
65
|
+
export type UpdateTemplateFunc = (onUpdated: () => void) => void;
|
|
66
|
+
export interface InitArgument {
|
|
67
|
+
createDXTemplates: DXTemplateCreator;
|
|
68
|
+
clearInstantiationModels: () => void;
|
|
69
|
+
updateTemplates: UpdateTemplateFunc;
|
|
70
|
+
}
|
|
71
|
+
export interface TemplateManagerUpdateContext {
|
|
72
|
+
onUpdated: () => void;
|
|
73
|
+
}
|
|
74
|
+
export type DXTemplateCreator = (templateOptions: Record<string, ITemplate>) => DXTemplateCollection;
|
|
75
|
+
export interface TemplateManagerProps {
|
|
76
|
+
init: (args: InitArgument) => void;
|
|
77
|
+
onTemplatesRendered: () => void;
|
|
78
|
+
}
|
|
79
|
+
export interface TemplateInstantiationModel {
|
|
80
|
+
templateKey: string;
|
|
81
|
+
componentKey: string;
|
|
82
|
+
index: any;
|
|
83
|
+
onRendered: () => void;
|
|
84
|
+
onRemoved: (componentKey: string) => void;
|
|
85
|
+
onContainerRemoved: () => void;
|
|
86
|
+
}
|
|
87
|
+
export type GetRenderFuncFn = (templateKey: string) => RenderFunc;
|
|
88
|
+
export interface DXRemoveCustomArgs {
|
|
89
|
+
isUnmounting: boolean;
|
|
90
|
+
}
|
|
91
|
+
export {};
|
package/cjs/core/types.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 26.1.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 26.1.3
|
|
4
|
+
* Build date: Wed Jun 10 2026
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -11,5 +11,5 @@
|
|
|
11
11
|
* https://github.com/DevExpress/DevExtreme
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
"use strict";
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
"use strict";
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 26.1.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 26.1.3
|
|
4
|
+
* Build date: Wed Jun 10 2026
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
* https://github.com/DevExpress/DevExtreme
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import { IOptionElement } from './configuration/react/element';
|
|
15
|
-
import { NestedOptionContextContent } from './contexts';
|
|
16
|
-
import { IConfigNode } from './types';
|
|
17
|
-
export declare function useOptionScanning(optionElement: IOptionElement, getHasTemplate: () => boolean, parentUpdateToken: symbol, parentType: 'option' | 'component'): [
|
|
18
|
-
IConfigNode,
|
|
19
|
-
NestedOptionContextContent
|
|
20
|
-
];
|
|
14
|
+
import { IOptionElement } from './configuration/react/element';
|
|
15
|
+
import { NestedOptionContextContent } from './contexts';
|
|
16
|
+
import { IConfigNode } from './types';
|
|
17
|
+
export declare function useOptionScanning(optionElement: IOptionElement, getHasTemplate: () => boolean, parentUpdateToken: symbol, parentType: 'option' | 'component'): [
|
|
18
|
+
IConfigNode,
|
|
19
|
+
NestedOptionContextContent
|
|
20
|
+
];
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 26.1.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 26.1.3
|
|
4
|
+
* Build date: Wed Jun 10 2026
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -11,51 +11,51 @@
|
|
|
11
11
|
* https://github.com/DevExpress/DevExtreme
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
"use strict";
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.useOptionScanning = void 0;
|
|
17
|
-
const react_1 = require("react");
|
|
18
|
-
const utils_1 = require("./configuration/utils");
|
|
19
|
-
const config_node_1 = require("./configuration/config-node");
|
|
20
|
-
const contexts_1 = require("./contexts");
|
|
21
|
-
function useOptionScanning(optionElement, getHasTemplate, parentUpdateToken, parentType) {
|
|
22
|
-
const parentContext = (0, react_1.useContext)(contexts_1.NestedOptionContext);
|
|
23
|
-
const { parentFullName, } = parentContext;
|
|
24
|
-
const updateToken = Symbol('update token');
|
|
25
|
-
const configBuilder = (0, config_node_1.createConfigBuilder)(optionElement, parentFullName);
|
|
26
|
-
const childComponentCounter = (0, react_1.useRef)(0);
|
|
27
|
-
const context = {
|
|
28
|
-
parentExpectedChildren: optionElement.descriptor.expectedChildren,
|
|
29
|
-
parentFullName: (0, utils_1.mergeNameParts)(parentFullName, optionElement.descriptor.name),
|
|
30
|
-
parentType,
|
|
31
|
-
treeUpdateToken: updateToken,
|
|
32
|
-
getOptionComponentKey: () => {
|
|
33
|
-
childComponentCounter.current += 1;
|
|
34
|
-
return childComponentCounter.current;
|
|
35
|
-
},
|
|
36
|
-
onNamedTemplateReady: (template, childUpdateToken) => {
|
|
37
|
-
if (childUpdateToken !== updateToken) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
if (template) {
|
|
41
|
-
configBuilder.addTemplate(template);
|
|
42
|
-
}
|
|
43
|
-
},
|
|
44
|
-
onChildOptionsReady: (childConfigNode, childDescriptor, childUpdateToken, childComponentKey) => {
|
|
45
|
-
if (childUpdateToken !== updateToken) {
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
const { isCollection, name } = childDescriptor;
|
|
49
|
-
if (isCollection) {
|
|
50
|
-
configBuilder.addCollectionNode(name, childConfigNode, childComponentKey);
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
configBuilder.addChildNode(name, childConfigNode);
|
|
54
|
-
},
|
|
55
|
-
};
|
|
56
|
-
(0, react_1.useLayoutEffect)(() => {
|
|
57
|
-
configBuilder.updateAnonymousTemplates(getHasTemplate());
|
|
58
|
-
}, [parentUpdateToken]);
|
|
59
|
-
return [configBuilder.node, context];
|
|
60
|
-
}
|
|
61
|
-
exports.useOptionScanning = useOptionScanning;
|
|
14
|
+
"use strict";
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.useOptionScanning = void 0;
|
|
17
|
+
const react_1 = require("react");
|
|
18
|
+
const utils_1 = require("./configuration/utils");
|
|
19
|
+
const config_node_1 = require("./configuration/config-node");
|
|
20
|
+
const contexts_1 = require("./contexts");
|
|
21
|
+
function useOptionScanning(optionElement, getHasTemplate, parentUpdateToken, parentType) {
|
|
22
|
+
const parentContext = (0, react_1.useContext)(contexts_1.NestedOptionContext);
|
|
23
|
+
const { parentFullName, } = parentContext;
|
|
24
|
+
const updateToken = Symbol('update token');
|
|
25
|
+
const configBuilder = (0, config_node_1.createConfigBuilder)(optionElement, parentFullName);
|
|
26
|
+
const childComponentCounter = (0, react_1.useRef)(0);
|
|
27
|
+
const context = {
|
|
28
|
+
parentExpectedChildren: optionElement.descriptor.expectedChildren,
|
|
29
|
+
parentFullName: (0, utils_1.mergeNameParts)(parentFullName, optionElement.descriptor.name),
|
|
30
|
+
parentType,
|
|
31
|
+
treeUpdateToken: updateToken,
|
|
32
|
+
getOptionComponentKey: () => {
|
|
33
|
+
childComponentCounter.current += 1;
|
|
34
|
+
return childComponentCounter.current;
|
|
35
|
+
},
|
|
36
|
+
onNamedTemplateReady: (template, childUpdateToken) => {
|
|
37
|
+
if (childUpdateToken !== updateToken) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (template) {
|
|
41
|
+
configBuilder.addTemplate(template);
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
onChildOptionsReady: (childConfigNode, childDescriptor, childUpdateToken, childComponentKey) => {
|
|
45
|
+
if (childUpdateToken !== updateToken) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const { isCollection, name } = childDescriptor;
|
|
49
|
+
if (isCollection) {
|
|
50
|
+
configBuilder.addCollectionNode(name, childConfigNode, childComponentKey);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
configBuilder.addChildNode(name, childConfigNode);
|
|
54
|
+
},
|
|
55
|
+
};
|
|
56
|
+
(0, react_1.useLayoutEffect)(() => {
|
|
57
|
+
configBuilder.updateAnonymousTemplates(getHasTemplate());
|
|
58
|
+
}, [parentUpdateToken]);
|
|
59
|
+
return [configBuilder.node, context];
|
|
60
|
+
}
|
|
61
|
+
exports.useOptionScanning = useOptionScanning;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 26.1.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 26.1.3
|
|
4
|
+
* Build date: Wed Jun 10 2026
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -11,12 +11,12 @@
|
|
|
11
11
|
* https://github.com/DevExpress/DevExtreme
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
import { ITemplateMeta } from './template';
|
|
15
|
-
declare const elementPropNames: string[];
|
|
16
|
-
declare function separateProps(props: Record<string, any>, defaultsProps: Record<string, string>, templateProps: ITemplateMeta[]): {
|
|
17
|
-
options: Record<string, any>;
|
|
18
|
-
defaults: Record<string, any>;
|
|
19
|
-
templates: Record<string, any>;
|
|
20
|
-
};
|
|
21
|
-
declare function getClassName(props: Record<string, any>): string | undefined;
|
|
22
|
-
export { elementPropNames, getClassName, separateProps, };
|
|
14
|
+
import { ITemplateMeta } from './template';
|
|
15
|
+
declare const elementPropNames: string[];
|
|
16
|
+
declare function separateProps(props: Record<string, any>, defaultsProps: Record<string, string>, templateProps: ITemplateMeta[]): {
|
|
17
|
+
options: Record<string, any>;
|
|
18
|
+
defaults: Record<string, any>;
|
|
19
|
+
templates: Record<string, any>;
|
|
20
|
+
};
|
|
21
|
+
declare function getClassName(props: Record<string, any>): string | undefined;
|
|
22
|
+
export { elementPropNames, getClassName, separateProps, };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* devextreme-react
|
|
3
|
-
* Version: 26.1.
|
|
4
|
-
* Build date:
|
|
3
|
+
* Version: 26.1.3
|
|
4
|
+
* Build date: Wed Jun 10 2026
|
|
5
5
|
*
|
|
6
6
|
* Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
|
|
7
7
|
*
|
|
@@ -11,78 +11,78 @@
|
|
|
11
11
|
* https://github.com/DevExpress/DevExtreme
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
"use strict";
|
|
15
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.separateProps = exports.getClassName = exports.elementPropNames = void 0;
|
|
17
|
-
const elementPropNames = ['style', 'id'];
|
|
18
|
-
exports.elementPropNames = elementPropNames;
|
|
19
|
-
const classNamePropName = 'className';
|
|
20
|
-
const refPropName = ['dropZone', 'dialogTrigger'];
|
|
21
|
-
const internalProps = {
|
|
22
|
-
WidgetClass: {},
|
|
23
|
-
isPortalComponent: false,
|
|
24
|
-
defaults: {},
|
|
25
|
-
templateProps: [],
|
|
26
|
-
expectedChildren: {},
|
|
27
|
-
subscribableOptions: [],
|
|
28
|
-
independentEvents: [],
|
|
29
|
-
useRequestAnimationFrameFlag: false,
|
|
30
|
-
clearExtensions: () => undefined,
|
|
31
|
-
renderChildren: () => undefined,
|
|
32
|
-
beforeCreateWidget: () => undefined,
|
|
33
|
-
afterCreateWidget: () => undefined,
|
|
34
|
-
children: null,
|
|
35
|
-
};
|
|
36
|
-
function isIgnoredProp(name) {
|
|
37
|
-
return name === 'children'
|
|
38
|
-
|| name === classNamePropName
|
|
39
|
-
|| elementPropNames.includes(name)
|
|
40
|
-
|| Object.prototype.hasOwnProperty.call(internalProps, name);
|
|
41
|
-
}
|
|
42
|
-
function getRefElement(value) {
|
|
43
|
-
if (value?.current) {
|
|
44
|
-
if (value.current.instance?.().element()) {
|
|
45
|
-
return value.current.instance().element();
|
|
46
|
-
}
|
|
47
|
-
return value.current;
|
|
48
|
-
}
|
|
49
|
-
return value;
|
|
50
|
-
}
|
|
51
|
-
function separateProps(props, defaultsProps, templateProps) {
|
|
52
|
-
// eslint-disable-next-line no-param-reassign
|
|
53
|
-
templateProps = templateProps || [];
|
|
54
|
-
const defaults = {};
|
|
55
|
-
const options = {};
|
|
56
|
-
const templates = {};
|
|
57
|
-
const knownTemplates = {};
|
|
58
|
-
templateProps.forEach((value) => {
|
|
59
|
-
knownTemplates[value.component] = true;
|
|
60
|
-
knownTemplates[value.render] = true;
|
|
61
|
-
});
|
|
62
|
-
Object.keys(props).forEach((key) => {
|
|
63
|
-
const defaultOptionName = defaultsProps ? defaultsProps[key] : null;
|
|
64
|
-
const value = props[key];
|
|
65
|
-
if (isIgnoredProp(key)) {
|
|
66
|
-
return;
|
|
67
|
-
}
|
|
68
|
-
if (defaultOptionName) {
|
|
69
|
-
defaults[defaultOptionName] = value;
|
|
70
|
-
return;
|
|
71
|
-
}
|
|
72
|
-
if (knownTemplates[key]) {
|
|
73
|
-
templates[key] = value;
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
if (refPropName.includes(key)) {
|
|
77
|
-
options[key] = getRefElement(value);
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
options[key] = props[key];
|
|
81
|
-
});
|
|
82
|
-
return { options, defaults, templates };
|
|
83
|
-
}
|
|
84
|
-
exports.separateProps = separateProps;
|
|
85
|
-
function getClassName(props) {
|
|
86
|
-
return props[classNamePropName];
|
|
87
|
-
}
|
|
88
|
-
exports.getClassName = getClassName;
|
|
14
|
+
"use strict";
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.separateProps = exports.getClassName = exports.elementPropNames = void 0;
|
|
17
|
+
const elementPropNames = ['style', 'id'];
|
|
18
|
+
exports.elementPropNames = elementPropNames;
|
|
19
|
+
const classNamePropName = 'className';
|
|
20
|
+
const refPropName = ['dropZone', 'dialogTrigger'];
|
|
21
|
+
const internalProps = {
|
|
22
|
+
WidgetClass: {},
|
|
23
|
+
isPortalComponent: false,
|
|
24
|
+
defaults: {},
|
|
25
|
+
templateProps: [],
|
|
26
|
+
expectedChildren: {},
|
|
27
|
+
subscribableOptions: [],
|
|
28
|
+
independentEvents: [],
|
|
29
|
+
useRequestAnimationFrameFlag: false,
|
|
30
|
+
clearExtensions: () => undefined,
|
|
31
|
+
renderChildren: () => undefined,
|
|
32
|
+
beforeCreateWidget: () => undefined,
|
|
33
|
+
afterCreateWidget: () => undefined,
|
|
34
|
+
children: null,
|
|
35
|
+
};
|
|
36
|
+
function isIgnoredProp(name) {
|
|
37
|
+
return name === 'children'
|
|
38
|
+
|| name === classNamePropName
|
|
39
|
+
|| elementPropNames.includes(name)
|
|
40
|
+
|| Object.prototype.hasOwnProperty.call(internalProps, name);
|
|
41
|
+
}
|
|
42
|
+
function getRefElement(value) {
|
|
43
|
+
if (value?.current) {
|
|
44
|
+
if (value.current.instance?.().element()) {
|
|
45
|
+
return value.current.instance().element();
|
|
46
|
+
}
|
|
47
|
+
return value.current;
|
|
48
|
+
}
|
|
49
|
+
return value;
|
|
50
|
+
}
|
|
51
|
+
function separateProps(props, defaultsProps, templateProps) {
|
|
52
|
+
// eslint-disable-next-line no-param-reassign
|
|
53
|
+
templateProps = templateProps || [];
|
|
54
|
+
const defaults = {};
|
|
55
|
+
const options = {};
|
|
56
|
+
const templates = {};
|
|
57
|
+
const knownTemplates = {};
|
|
58
|
+
templateProps.forEach((value) => {
|
|
59
|
+
knownTemplates[value.component] = true;
|
|
60
|
+
knownTemplates[value.render] = true;
|
|
61
|
+
});
|
|
62
|
+
Object.keys(props).forEach((key) => {
|
|
63
|
+
const defaultOptionName = defaultsProps ? defaultsProps[key] : null;
|
|
64
|
+
const value = props[key];
|
|
65
|
+
if (isIgnoredProp(key)) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (defaultOptionName) {
|
|
69
|
+
defaults[defaultOptionName] = value;
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
if (knownTemplates[key]) {
|
|
73
|
+
templates[key] = value;
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
if (refPropName.includes(key)) {
|
|
77
|
+
options[key] = getRefElement(value);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
options[key] = props[key];
|
|
81
|
+
});
|
|
82
|
+
return { options, defaults, templates };
|
|
83
|
+
}
|
|
84
|
+
exports.separateProps = separateProps;
|
|
85
|
+
function getClassName(props) {
|
|
86
|
+
return props[classNamePropName];
|
|
87
|
+
}
|
|
88
|
+
exports.getClassName = getClassName;
|