@wavemaker/react-runtime 11.14.1-15.6409
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/actions/base-action.js +32 -0
- package/actions/login-action.js +53 -0
- package/actions/logout-action.js +41 -0
- package/actions/navigation-action.js +145 -0
- package/actions/notification-action.js +147 -0
- package/actions/timer-action.js +164 -0
- package/actions/toast-provider.js +111 -0
- package/actions/toast.js +115 -0
- package/actions/toast.service.js +94 -0
- package/actions/types/index.js +11 -0
- package/components/advanced/carousel/index.js +456 -0
- package/components/advanced/carousel/props.js +5 -0
- package/components/advanced/carousel/template.js +72 -0
- package/components/advanced/login/index.js +307 -0
- package/components/advanced/login/props.js +5 -0
- package/components/advanced/marquee/index.js +158 -0
- package/components/advanced/marquee/props.js +5 -0
- package/components/basic/anchor/index.js +239 -0
- package/components/basic/anchor/props.js +5 -0
- package/components/basic/audio/index.js +61 -0
- package/components/basic/html/index.js +158 -0
- package/components/basic/icon/index.js +85 -0
- package/components/basic/iframe/iframe.utils.js +10 -0
- package/components/basic/iframe/index.js +95 -0
- package/components/basic/label/index.js +139 -0
- package/components/basic/message/index.js +120 -0
- package/components/basic/message/props.js +5 -0
- package/components/basic/picture/index.js +117 -0
- package/components/basic/picture/props.js +5 -0
- package/components/basic/progress-bar/index.js +168 -0
- package/components/basic/progress-bar/props.js +18 -0
- package/components/basic/progress-circle/index.js +196 -0
- package/components/basic/progress-circle/props.js +16 -0
- package/components/basic/richtexteditor/index.js +533 -0
- package/components/basic/richtexteditor/props.js +5 -0
- package/components/basic/search/index.js +1023 -0
- package/components/basic/search/props.js +5 -0
- package/components/basic/search/providers.js +350 -0
- package/components/basic/spinner/index.js +202 -0
- package/components/basic/spinner/props.js +12 -0
- package/components/basic/tile/index.js +91 -0
- package/components/basic/tree/Components/TreeNodeComponent.js +142 -0
- package/components/basic/tree/index.js +503 -0
- package/components/basic/tree/props.js +5 -0
- package/components/basic/tree/utils.js +154 -0
- package/components/basic/video/index.js +85 -0
- package/components/basic/video/props.js +5 -0
- package/components/chart/components/barColumnChart/index.js +132 -0
- package/components/chart/components/barColumnChart/props.js +5 -0
- package/components/chart/components/bubbleChart/index.js +176 -0
- package/components/chart/components/bubbleChart/props.js +5 -0
- package/components/chart/components/chartLegend/components/ClassicLegendItem.js +39 -0
- package/components/chart/components/chartLegend/components/FuriousLegendItem.js +81 -0
- package/components/chart/components/chartLegend/index.js +69 -0
- package/components/chart/components/chartLegend/props.js +5 -0
- package/components/chart/components/chartLegend/utils.js +31 -0
- package/components/chart/components/chartTooltip/index.js +53 -0
- package/components/chart/components/chartTooltip/styles.js +37 -0
- package/components/chart/components/chartTooltip/utils.js +23 -0
- package/components/chart/components/cumulativeLineChart/index.js +113 -0
- package/components/chart/components/cumulativeLineChart/props.js +5 -0
- package/components/chart/components/cumulativeLineChart/utils.js +34 -0
- package/components/chart/components/index.js +40 -0
- package/components/chart/components/lineAreaChart/index.js +140 -0
- package/components/chart/components/lineAreaChart/props.js +5 -0
- package/components/chart/components/noDataMessage/index.js +27 -0
- package/components/chart/components/pieDonutChart/index.js +171 -0
- package/components/chart/components/pieDonutChart/props.js +5 -0
- package/components/chart/constant.js +72 -0
- package/components/chart/index.js +930 -0
- package/components/chart/props.js +5 -0
- package/components/chart/utils.js +691 -0
- package/components/common/AppSpinner.js +36 -0
- package/components/common/app-spinner.js +26 -0
- package/components/common/index.js +12 -0
- package/components/constants.js +1208 -0
- package/components/container/accordion/accordion-pane/index.js +108 -0
- package/components/container/accordion/accordion-pane/props.js +11 -0
- package/components/container/accordion/index.js +232 -0
- package/components/container/accordion/props.js +13 -0
- package/components/container/alignment-utils.js +183 -0
- package/components/container/index.js +188 -0
- package/components/container/layout-grid/grid-column/index.js +34 -0
- package/components/container/layout-grid/grid-row/index.js +24 -0
- package/components/container/layout-grid/index.js +33 -0
- package/components/container/linear-layout/index.js +72 -0
- package/components/container/linear-layout/linear-layout-item/index.js +43 -0
- package/components/container/panel/components/panel-header/index.js +144 -0
- package/components/container/panel/components/panel-header/props.js +5 -0
- package/components/container/panel/hooks.js +144 -0
- package/components/container/panel/index.js +286 -0
- package/components/container/panel/props.js +5 -0
- package/components/container/props.js +5 -0
- package/components/container/tabs/index.js +379 -0
- package/components/container/tabs/props.js +20 -0
- package/components/container/tabs/tab-pane/index.js +42 -0
- package/components/container/tabs/tab-pane/props.js +5 -0
- package/components/container/wizard/WizardContext.js +16 -0
- package/components/container/wizard/components/StepComponents.js +100 -0
- package/components/container/wizard/components/WizardStep.js +89 -0
- package/components/container/wizard/index.js +710 -0
- package/components/container/wizard/props.js +5 -0
- package/components/container/wizard/utils.js +133 -0
- package/components/container/wizard/wizard-action/index.js +22 -0
- package/components/container/wizard/wizard-step/index.js +94 -0
- package/components/data/card/card-actions/index.js +24 -0
- package/components/data/card/card-content/index.js +38 -0
- package/components/data/card/card-footer/index.js +24 -0
- package/components/data/card/index.js +246 -0
- package/components/data/card/props.js +5 -0
- package/components/data/form/base-form/constant.js +39 -0
- package/components/data/form/base-form/index.js +460 -0
- package/components/data/form/base-form/props.js +29 -0
- package/components/data/form/base-form/utils.js +42 -0
- package/components/data/form/dynamic-fields/index.js +196 -0
- package/components/data/form/dynamic-fields/props.js +5 -0
- package/components/data/form/dynamic-fields/utils.js +237 -0
- package/components/data/form/form-action/index.js +71 -0
- package/components/data/form/form-body/index.js +26 -0
- package/components/data/form/form-context.js +34 -0
- package/components/data/form/form-controller/props.js +19 -0
- package/components/data/form/form-controller/validation-contrustor.js +313 -0
- package/components/data/form/form-controller/withFormController.js +320 -0
- package/components/data/form/form-field/base-field.js +138 -0
- package/components/data/form/form-field/index.js +36 -0
- package/components/data/form/form-field/props.js +5 -0
- package/components/data/form/form-footer/index.js +26 -0
- package/components/data/form/form-header/index.js +56 -0
- package/components/data/form/index.js +39 -0
- package/components/data/form/props.js +5 -0
- package/components/data/list/components/GroupHeader.js +35 -0
- package/components/data/list/components/GroupedListItems.js +98 -0
- package/components/data/list/components/ListContainer.js +27 -0
- package/components/data/list/components/ListDND.js +241 -0
- package/components/data/list/components/ListHeader.js +59 -0
- package/components/data/list/components/ListItem.js +148 -0
- package/components/data/list/components/ListItemWithTemplate.js +59 -0
- package/components/data/list/components/ListItems.js +231 -0
- package/components/data/list/components/ListPagination.js +165 -0
- package/components/data/list/components/LoadMoreButton.js +39 -0
- package/components/data/list/components/NoDataMessage.js +22 -0
- package/components/data/list/components/StandardListItems.js +84 -0
- package/components/data/list/components/index.js +119 -0
- package/components/data/list/components/props.js +5 -0
- package/components/data/list/hooks/index.js +75 -0
- package/components/data/list/hooks/props.js +5 -0
- package/components/data/list/hooks/useCurrentPageItems.js +48 -0
- package/components/data/list/hooks/useGroupedData.js +37 -0
- package/components/data/list/hooks/useListData.js +60 -0
- package/components/data/list/hooks/useListEffects.js +285 -0
- package/components/data/list/hooks/useListEventHandlers.js +291 -0
- package/components/data/list/hooks/useListPagination.js +168 -0
- package/components/data/list/hooks/useListState.js +98 -0
- package/components/data/list/hooks/useListStateManager.js +195 -0
- package/components/data/list/hooks/usePaginatedGroupedData.js +121 -0
- package/components/data/list/index.js +611 -0
- package/components/data/list/props.js +5 -0
- package/components/data/list/templates/media-template.js +53 -0
- package/components/data/list/utils/constants.js +81 -0
- package/components/data/list/utils/list-helpers.js +173 -0
- package/components/data/list/utils/list-widget-methods.js +114 -0
- package/components/data/live-filter/index.js +279 -0
- package/components/data/live-filter/props.js +12 -0
- package/components/data/live-form/index.js +93 -0
- package/components/data/live-form/props.js +16 -0
- package/components/data/pagination/components/BasicPagination.js +77 -0
- package/components/data/pagination/components/ClassicPagination.js +191 -0
- package/components/data/pagination/components/InlinePagination.js +99 -0
- package/components/data/pagination/components/LoadingComponent.js +31 -0
- package/components/data/pagination/components/PageSizeSelector.js +175 -0
- package/components/data/pagination/components/PagerNavigation.js +105 -0
- package/components/data/pagination/components/TotalRecords.js +52 -0
- package/components/data/pagination/components/index.js +47 -0
- package/components/data/pagination/components/props.js +5 -0
- package/components/data/pagination/hooks/index.js +19 -0
- package/components/data/pagination/hooks/props.js +5 -0
- package/components/data/pagination/hooks/useNavigationSize.js +44 -0
- package/components/data/pagination/hooks/usePagination.js +796 -0
- package/components/data/pagination/index.js +322 -0
- package/components/data/table/components/AddNewRow.js +190 -0
- package/components/data/table/components/EditableCell.js +91 -0
- package/components/data/table/components/FieldValidationError.js +24 -0
- package/components/data/table/components/RowExpansionButton.js +74 -0
- package/components/data/table/components/TableBody.js +279 -0
- package/components/data/table/components/TableFilters.js +325 -0
- package/components/data/table/components/TableFooterActions.js +48 -0
- package/components/data/table/components/TableHeader.js +174 -0
- package/components/data/table/components/TablePanelHeading.js +68 -0
- package/components/data/table/components/index.js +74 -0
- package/components/data/table/hooks/index.js +219 -0
- package/components/data/table/hooks/useCellState.js +117 -0
- package/components/data/table/hooks/useDynamicColumns.js +85 -0
- package/components/data/table/hooks/useEditingState.js +47 -0
- package/components/data/table/hooks/useFormWidget.js +184 -0
- package/components/data/table/hooks/usePaginationState.js +60 -0
- package/components/data/table/hooks/usePanelStructure.js +40 -0
- package/components/data/table/hooks/useResponsiveColumns.js +34 -0
- package/components/data/table/hooks/useRowExpansion.js +110 -0
- package/components/data/table/hooks/useRowHandlers.js +38 -0
- package/components/data/table/hooks/useRowSelection.js +213 -0
- package/components/data/table/hooks/useServerSideSorting.js +165 -0
- package/components/data/table/hooks/useTableColumns.js +263 -0
- package/components/data/table/hooks/useTableData.js +154 -0
- package/components/data/table/hooks/useTableEdit.js +467 -0
- package/components/data/table/hooks/useTableEffects.js +139 -0
- package/components/data/table/hooks/useTableFilter.js +389 -0
- package/components/data/table/hooks/useTableInitialization.js +103 -0
- package/components/data/table/hooks/useTableState.js +69 -0
- package/components/data/table/hooks/useTableStateManager.js +558 -0
- package/components/data/table/index.js +1295 -0
- package/components/data/table/live-table/index.js +232 -0
- package/components/data/table/props.js +5 -0
- package/components/data/table/table-action/index.js +78 -0
- package/components/data/table/table-column/index.js +35 -0
- package/components/data/table/table-row/index.js +49 -0
- package/components/data/table/table-row-action/index.js +74 -0
- package/components/data/table/utils/buildSelectionColumns.js +173 -0
- package/components/data/table/utils/columnBuilder.js +209 -0
- package/components/data/table/utils/columnProxy.js +48 -0
- package/components/data/table/utils/columnWidthDistribution.js +98 -0
- package/components/data/table/utils/constants.js +80 -0
- package/components/data/table/utils/crud-handlers.js +518 -0
- package/components/data/table/utils/dynamic-columns.js +118 -0
- package/components/data/table/utils/index.js +607 -0
- package/components/data/table/utils/renderDisplayCell.js +183 -0
- package/components/data/table/utils/selectionUtils.js +166 -0
- package/components/data/table/utils/table-helpers.js +100 -0
- package/components/data/table/utils/validation.js +124 -0
- package/components/data/types.js +113 -0
- package/components/data/utils/field-data-utils.js +66 -0
- package/components/data/utils/filter-field-util.js +81 -0
- package/components/data/utils/index.js +216 -0
- package/components/dialogs/alert-dialog/index.js +80 -0
- package/components/dialogs/confirm-dialog/index.js +105 -0
- package/components/dialogs/dialog/index.js +56 -0
- package/components/dialogs/dialog-actions/index.js +18 -0
- package/components/dialogs/dialog-body/index.js +21 -0
- package/components/dialogs/dialog-content/index.js +30 -0
- package/components/dialogs/dialog-header/index.js +93 -0
- package/components/dialogs/iframe-dialog/index.js +114 -0
- package/components/dialogs/index.js +129 -0
- package/components/dialogs/login-dialog/index.js +369 -0
- package/components/dialogs/login-dialog/props.js +5 -0
- package/components/dialogs/page-dialog/index.js +96 -0
- package/components/dialogs/withDialogWrapper.js +108 -0
- package/components/form/button/index.js +216 -0
- package/components/form/button-group/index.js +60 -0
- package/components/input/calendar/index.js +546 -0
- package/components/input/calendar/props.js +5 -0
- package/components/input/calendar/utils.js +340 -0
- package/components/input/chips/SortableChip/index.js +115 -0
- package/components/input/chips/SortableChip/props.js +5 -0
- package/components/input/chips/index.js +488 -0
- package/components/input/chips/props.js +5 -0
- package/components/input/chips/utils.js +259 -0
- package/components/input/color-picker/index.js +678 -0
- package/components/input/color-picker/props.js +5 -0
- package/components/input/composite/index.js +137 -0
- package/components/input/currency/index.js +263 -0
- package/components/input/currency/props.js +5 -0
- package/components/input/default/checkbox/index.js +230 -0
- package/components/input/default/checkbox/props.js +5 -0
- package/components/input/default/checkboxset/index.js +476 -0
- package/components/input/default/checkboxset/props.js +5 -0
- package/components/input/default/radioset/index.js +379 -0
- package/components/input/default/radioset/props.js +5 -0
- package/components/input/default/switch/index.js +490 -0
- package/components/input/default/switch/prop.js +5 -0
- package/components/input/epoch/date/components/DatePickerPopover.js +220 -0
- package/components/input/epoch/date/index.js +520 -0
- package/components/input/epoch/date/props.js +5 -0
- package/components/input/epoch/date/styled.js +70 -0
- package/components/input/epoch/date/utils.js +108 -0
- package/components/input/epoch/datetime/index.js +656 -0
- package/components/input/epoch/datetime/props.js +5 -0
- package/components/input/epoch/datetime/styled.js +90 -0
- package/components/input/epoch/datetime/utils.js +244 -0
- package/components/input/epoch/time/index.js +412 -0
- package/components/input/epoch/time/props.js +5 -0
- package/components/input/epoch/time/utils.js +209 -0
- package/components/input/fileupload/Utils.js +134 -0
- package/components/input/fileupload/components/ListItems.js +140 -0
- package/components/input/fileupload/components/MultiUpload.js +85 -0
- package/components/input/fileupload/components/SingleUpload.js +65 -0
- package/components/input/fileupload/index.js +170 -0
- package/components/input/fileupload/props.js +5 -0
- package/components/input/fileupload/useFileUpload.js +400 -0
- package/components/input/number/index.js +295 -0
- package/components/input/number/props.js +5 -0
- package/components/input/rating/index.js +368 -0
- package/components/input/rating/props.js +5 -0
- package/components/input/select/index.js +344 -0
- package/components/input/select/props.js +5 -0
- package/components/input/slider/index.js +167 -0
- package/components/input/slider/props.js +5 -0
- package/components/input/text/index.js +434 -0
- package/components/input/text/props.js +5 -0
- package/components/input/text/util.js +179 -0
- package/components/input/textarea/index.js +347 -0
- package/components/input/textarea/props.js +5 -0
- package/components/layout/footer/index.js +30 -0
- package/components/layout/header/index.js +30 -0
- package/components/layout/leftnav/index.js +44 -0
- package/components/layout/rightnav/index.js +32 -0
- package/components/layout/topnav/index.js +34 -0
- package/components/navbar/index.js +41 -0
- package/components/navbar/nav/index.js +102 -0
- package/components/navbar/nav/props.js +5 -0
- package/components/navbar/nav-item/index.js +44 -0
- package/components/navigation/breadcrumb/index.js +56 -0
- package/components/navigation/breadcrumb/props.js +5 -0
- package/components/navigation/menu/components/ListItems.js +66 -0
- package/components/navigation/menu/constants.js +101 -0
- package/components/navigation/menu/index.js +807 -0
- package/components/navigation/menu/props.js +5 -0
- package/components/navigation/popover/index.js +209 -0
- package/components/navigation/popover/props.js +15 -0
- package/components/page/content/index.js +28 -0
- package/components/page/error-boundary/index.js +108 -0
- package/components/page/index.js +137 -0
- package/components/page/page-content/index.js +23 -0
- package/components/page/partial/index.js +36 -0
- package/components/page/partial-container/index.js +48 -0
- package/components/page/props.js +5 -0
- package/components/page/toast-container/index.js +33 -0
- package/components/prefab/container/index.js +46 -0
- package/components/prefab/index.js +67 -0
- package/context/AppContext.js +25 -0
- package/context/AppSpinnerProvider.js +43 -0
- package/context/LocalizationProvider.js +79 -0
- package/context/PrefabContext.js +66 -0
- package/context/WidgetProvider.js +187 -0
- package/core/app-config.js +1 -0
- package/core/app.service.js +357 -0
- package/core/appVariablesStore.js +20 -0
- package/core/appstore.js +88 -0
- package/core/constants/currency-constant.js +1071 -0
- package/core/constants/events.js +34 -0
- package/core/constants/index.js +27 -0
- package/core/dialog.service.js +76 -0
- package/core/event-notifier.js +151 -0
- package/core/formatter/date-formatters.js +222 -0
- package/core/formatter/index.js +131 -0
- package/core/formatter/number-formatters.js +142 -0
- package/core/formatter/security-formatters.js +323 -0
- package/core/formatter/string-formatters.js +52 -0
- package/core/formatter/types.js +18 -0
- package/core/formatters.js +24 -0
- package/core/proxy-service.js +412 -0
- package/core/script-registry.js +63 -0
- package/core/security.service.js +11 -0
- package/core/util/common.js +33 -0
- package/core/util/dom.js +107 -0
- package/core/util/index.js +136 -0
- package/core/util/security.js +184 -0
- package/core/util/utils.js +189 -0
- package/core/widget-observer.js +98 -0
- package/higherOrder/BaseApp.js +430 -0
- package/higherOrder/BaseAppProps.js +5 -0
- package/higherOrder/BaseDateTime.js +251 -0
- package/higherOrder/BasePage.js +715 -0
- package/higherOrder/BasePartial.js +124 -0
- package/higherOrder/BasePrefab.js +145 -0
- package/higherOrder/DataNav.js +377 -0
- package/higherOrder/helper.js +43 -0
- package/higherOrder/props.js +5 -0
- package/higherOrder/withBaseWrapper.js +183 -0
- package/hooks/useAccess.js +308 -0
- package/hooks/useAppConfig.js +42 -0
- package/hooks/useAuth.js +562 -0
- package/hooks/useDataSourceSubscription.js +125 -0
- package/hooks/useDebounce.js +76 -0
- package/hooks/useDeviceVisibility.js +49 -0
- package/hooks/useHttp.js +338 -0
- package/libs/index.js +20 -0
- package/mui-config/theme-provider.js +17 -0
- package/mui-config/theme.js +371 -0
- package/package-lock.json +10177 -0
- package/package.json +95 -0
- package/store/index.js +33 -0
- package/store/middleware/navigationMiddleware.js +48 -0
- package/store/slices/appConfigSlice.js +103 -0
- package/store/slices/authSlice.js +508 -0
- package/store/slices/i18nSlice.js +206 -0
- package/types/index.js +15 -0
- package/utils/dataset-util.js +174 -0
- package/utils/eval-expression.js +32 -0
- package/utils/form-state.util.js +140 -0
- package/utils/form-utils.js +187 -0
- package/utils/format-util.js +260 -0
- package/utils/page-params-util.js +24 -0
- package/utils/resource-url.js +27 -0
- package/utils/state-persistance.js +343 -0
- package/utils/style-utils.js +73 -0
- package/utils/transformedDataset-utils.js +633 -0
- package/utils/widget-cleanup-util.js +84 -0
- package/utils/widgets.js +99 -0
- package/variables/base-variable.js +173 -0
- package/variables/constants.js +27 -0
- package/variables/live-variable.js +166 -0
- package/variables/model-variable.js +77 -0
- package/variables/service-variable.js +307 -0
|
@@ -0,0 +1,412 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createWidgetProxy = exports.createStateProxy = exports.createPageProxy = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
10
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
+
var _scriptRegistry = require("@wavemaker/react-runtime/core/script-registry");
|
|
12
|
+
var _dom = require("@wavemaker/react-runtime/core/util/dom");
|
|
13
|
+
var _widgetObserver = require("@wavemaker/react-runtime/core/widget-observer");
|
|
14
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
15
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
|
+
// WeakMap to store proxy flags without exposing them as props
|
|
17
|
+
var proxyMap = new WeakMap();
|
|
18
|
+
|
|
19
|
+
// Store the original target for each proxy
|
|
20
|
+
var originalTargets = new WeakMap();
|
|
21
|
+
|
|
22
|
+
// Array methods that mutate the array and should trigger updates
|
|
23
|
+
var MUTATING_ARRAY_METHODS = ["push", "pop", "shift", "unshift", "splice", "sort", "reverse", "fill", "copyWithin", "put"];
|
|
24
|
+
|
|
25
|
+
// Create a special proxy for arrays that preserves native behavior but triggers updates
|
|
26
|
+
var createArrayProxy = function createArrayProxy(array, widgetName, propName, setPageContext) {
|
|
27
|
+
if (proxyMap.has(array)) {
|
|
28
|
+
return array;
|
|
29
|
+
}
|
|
30
|
+
var arrayProxy = new Proxy(array, {
|
|
31
|
+
get: function get(target, prop) {
|
|
32
|
+
var value = target[prop];
|
|
33
|
+
|
|
34
|
+
// If it's a mutating method, wrap it to trigger updates
|
|
35
|
+
if (typeof prop === "string" && MUTATING_ARRAY_METHODS.includes(prop) && typeof value === "function") {
|
|
36
|
+
return function () {
|
|
37
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
38
|
+
args[_key] = arguments[_key];
|
|
39
|
+
}
|
|
40
|
+
var result = value.apply(target, args);
|
|
41
|
+
|
|
42
|
+
// Trigger page context update after mutation
|
|
43
|
+
setPageContext(function (prevContext) {
|
|
44
|
+
return _objectSpread(_objectSpread({}, prevContext), {}, {
|
|
45
|
+
Widgets: _objectSpread(_objectSpread({}, prevContext.Widgets), {}, (0, _defineProperty2["default"])({}, widgetName, _objectSpread(_objectSpread({}, prevContext.Widgets[widgetName]), {}, (0, _defineProperty2["default"])({}, propName, (0, _toConsumableArray2["default"])(target)))))
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
return result;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return value;
|
|
52
|
+
},
|
|
53
|
+
set: function set(target, prop, value) {
|
|
54
|
+
var result = Reflect.set(target, prop, value);
|
|
55
|
+
|
|
56
|
+
// Trigger update for index assignments (arr[0] = value)
|
|
57
|
+
if (typeof prop === "string" && /^\d+$/.test(prop)) {
|
|
58
|
+
setPageContext(function (prevContext) {
|
|
59
|
+
return _objectSpread(_objectSpread({}, prevContext), {}, {
|
|
60
|
+
Widgets: _objectSpread(_objectSpread({}, prevContext.Widgets), {}, (0, _defineProperty2["default"])({}, widgetName, _objectSpread(_objectSpread({}, prevContext.Widgets[widgetName]), {}, (0, _defineProperty2["default"])({}, propName, (0, _toConsumableArray2["default"])(target)))))
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
proxyMap.set(arrayProxy, true);
|
|
68
|
+
return arrayProxy;
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// Create array proxy for state context
|
|
72
|
+
var createStateArrayProxy = function createStateArrayProxy(array, path, propName, setPageContext) {
|
|
73
|
+
if (proxyMap.has(array)) {
|
|
74
|
+
return array;
|
|
75
|
+
}
|
|
76
|
+
var arrayProxy = new Proxy(array, {
|
|
77
|
+
get: function get(target, prop) {
|
|
78
|
+
var value = target[prop];
|
|
79
|
+
|
|
80
|
+
// If it's a mutating method, wrap it to trigger updates
|
|
81
|
+
if (typeof prop === "string" && MUTATING_ARRAY_METHODS.includes(prop) && typeof value === "function") {
|
|
82
|
+
return function () {
|
|
83
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
84
|
+
args[_key2] = arguments[_key2];
|
|
85
|
+
}
|
|
86
|
+
var result = value.apply(target, args);
|
|
87
|
+
|
|
88
|
+
// Trigger state context update after mutation
|
|
89
|
+
setPageContext(function (prev) {
|
|
90
|
+
var newState = _objectSpread({}, prev);
|
|
91
|
+
var current = newState;
|
|
92
|
+
for (var i = 0; i < path.length; i++) {
|
|
93
|
+
var key = path[i];
|
|
94
|
+
current[key] = _objectSpread({}, current[key]);
|
|
95
|
+
current = current[key];
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Set the new array reference to trigger re-render
|
|
99
|
+
current[propName] = (0, _toConsumableArray2["default"])(target);
|
|
100
|
+
return newState;
|
|
101
|
+
});
|
|
102
|
+
return result;
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
return value;
|
|
106
|
+
},
|
|
107
|
+
set: function set(target, prop, value) {
|
|
108
|
+
var result = Reflect.set(target, prop, value);
|
|
109
|
+
|
|
110
|
+
// Trigger update for index assignments (arr[0] = value)
|
|
111
|
+
if (typeof prop === "string" && /^\d+$/.test(prop)) {
|
|
112
|
+
setPageContext(function (prev) {
|
|
113
|
+
var newState = _objectSpread({}, prev);
|
|
114
|
+
var current = newState;
|
|
115
|
+
for (var i = 0; i < path.length; i++) {
|
|
116
|
+
var key = path[i];
|
|
117
|
+
current[key] = _objectSpread({}, current[key]);
|
|
118
|
+
current = current[key];
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// Set the new array reference to trigger re-render
|
|
122
|
+
current[propName] = (0, _toConsumableArray2["default"])(target);
|
|
123
|
+
return newState;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
return result;
|
|
127
|
+
}
|
|
128
|
+
});
|
|
129
|
+
proxyMap.set(arrayProxy, true);
|
|
130
|
+
return arrayProxy;
|
|
131
|
+
};
|
|
132
|
+
var createWidgetProxy = exports.createWidgetProxy = function createWidgetProxy(widget, widgetName, setPageContext) {
|
|
133
|
+
// If widget is already a proxy or is a DOM element, return it directly
|
|
134
|
+
if (proxyMap.has(widget) || (0, _dom.isDOMElement)(widget)) {
|
|
135
|
+
return widget;
|
|
136
|
+
}
|
|
137
|
+
var proxy = new Proxy(widget, {
|
|
138
|
+
set: function set(target, prop, value) {
|
|
139
|
+
// Ignore internal properties
|
|
140
|
+
if ((0, _typeof2["default"])(prop) === "symbol" || prop === "prototype") {
|
|
141
|
+
return true;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// Skip if value hasn't changed
|
|
145
|
+
if (target[prop] === value) {
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
// track script-modified properties
|
|
150
|
+
if (typeof prop === "string") {
|
|
151
|
+
var widgetId = widget["data-widget-id"];
|
|
152
|
+
(0, _scriptRegistry.trackOverriddenProps)(widgetName, prop, value, widgetId);
|
|
153
|
+
}
|
|
154
|
+
target[prop] = value;
|
|
155
|
+
setPageContext(function (prevContext) {
|
|
156
|
+
// Check if widget-id matches before updating context
|
|
157
|
+
var currentWidget = prevContext.Widgets[widgetName];
|
|
158
|
+
var registryWidgetId = currentWidget === null || currentWidget === void 0 ? void 0 : currentWidget["data-widget-id"];
|
|
159
|
+
var widgetId = widget["data-widget-id"];
|
|
160
|
+
if (currentWidget && registryWidgetId && widgetId) {
|
|
161
|
+
// Only update if widget-id matches
|
|
162
|
+
if (registryWidgetId === widgetId) {
|
|
163
|
+
return _objectSpread(_objectSpread({}, prevContext), {}, {
|
|
164
|
+
Widgets: _objectSpread(_objectSpread({}, prevContext.Widgets), {}, (0, _defineProperty2["default"])({}, widgetName, _objectSpread(_objectSpread({}, prevContext.Widgets[widgetName]), {}, (0, _defineProperty2["default"])({}, prop, value))))
|
|
165
|
+
});
|
|
166
|
+
}
|
|
167
|
+
// If widget-id doesn't match, don't update context
|
|
168
|
+
return prevContext;
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// No widget-id present, don't update
|
|
172
|
+
return prevContext; // Don't update context if no widget-id match
|
|
173
|
+
});
|
|
174
|
+
return true;
|
|
175
|
+
},
|
|
176
|
+
get: function get(target, prop) {
|
|
177
|
+
if ((0, _typeof2["default"])(prop) === "symbol" || prop === "prototype") {
|
|
178
|
+
return undefined;
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
// setProperty method to set properties dynamically
|
|
182
|
+
if (prop === "setProperty") {
|
|
183
|
+
return function (key, value) {
|
|
184
|
+
proxy[key] = value;
|
|
185
|
+
return this;
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
// Special getter for $element - return jQuery-like wrapped element
|
|
190
|
+
if (prop === "$element") {
|
|
191
|
+
var rawElement = target[prop];
|
|
192
|
+
if (rawElement) {
|
|
193
|
+
// If already wrapped, return as-is
|
|
194
|
+
if (rawElement.length === 1 && (0, _dom.isDOMElement)(rawElement[0])) {
|
|
195
|
+
return rawElement;
|
|
196
|
+
}
|
|
197
|
+
// If raw DOM element, wrap it
|
|
198
|
+
if ((0, _dom.isDOMElement)(rawElement)) {
|
|
199
|
+
return (0, _dom.wrapWithNativeDOM)(rawElement);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// Try to find element in DOM directly
|
|
204
|
+
var widgetId = widget["data-widget-id"];
|
|
205
|
+
var element = (0, _widgetObserver.findWidgetElement)(widgetName, widgetId);
|
|
206
|
+
if (element) {
|
|
207
|
+
var wrappedElement = (0, _dom.wrapWithNativeDOM)(element);
|
|
208
|
+
target[prop] = wrappedElement; // Cache the wrapped element
|
|
209
|
+
return wrappedElement;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
// Register for future element updates if not found
|
|
213
|
+
if (!target._elementCallbackRegistered) {
|
|
214
|
+
var key = widgetId ? "".concat(widgetName, ":").concat(widgetId) : widgetName;
|
|
215
|
+
var callbacks = _widgetObserver.widgetElementCallbacks.get(key);
|
|
216
|
+
if (!callbacks) {
|
|
217
|
+
callbacks = new Set();
|
|
218
|
+
_widgetObserver.widgetElementCallbacks.set(key, callbacks);
|
|
219
|
+
}
|
|
220
|
+
callbacks.add(function (element) {
|
|
221
|
+
if (element) {
|
|
222
|
+
target[prop] = (0, _dom.wrapWithNativeDOM)(element);
|
|
223
|
+
}
|
|
224
|
+
});
|
|
225
|
+
target._elementCallbackRegistered = true;
|
|
226
|
+
}
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
var value = target[prop];
|
|
230
|
+
|
|
231
|
+
// Return DOM elements directly to preserve their context
|
|
232
|
+
if ((0, _dom.isDOMElement)(value)) {
|
|
233
|
+
return value;
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
// Return array proxy to preserve native array behavior while enabling reactivity
|
|
237
|
+
if (Array.isArray(value) && typeof prop === "string") {
|
|
238
|
+
return createArrayProxy(value, widgetName, prop, setPageContext);
|
|
239
|
+
}
|
|
240
|
+
return value;
|
|
241
|
+
}
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
// Store proxy flag in WeakMap
|
|
245
|
+
proxyMap.set(proxy, true);
|
|
246
|
+
// Store original target reference
|
|
247
|
+
originalTargets.set(proxy, widget);
|
|
248
|
+
return proxy;
|
|
249
|
+
};
|
|
250
|
+
var createPageProxy = exports.createPageProxy = function createPageProxy(target, setPageContext) {
|
|
251
|
+
// Cache for widget proxies
|
|
252
|
+
var widgetProxies = new Map();
|
|
253
|
+
return new Proxy(target, {
|
|
254
|
+
get: function get(widgetsTarget, widgetName) {
|
|
255
|
+
// Handle non-string properties
|
|
256
|
+
if (widgetName === undefined || widgetName === "undefined") {
|
|
257
|
+
return undefined;
|
|
258
|
+
}
|
|
259
|
+
if (typeof widgetName !== "string") {
|
|
260
|
+
return widgetsTarget[widgetName];
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// Initialize widget if it doesn't exist
|
|
264
|
+
if (!(widgetName in widgetsTarget)) {
|
|
265
|
+
widgetsTarget[widgetName] = {
|
|
266
|
+
name: widgetName
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
var widget = widgetsTarget[widgetName];
|
|
270
|
+
|
|
271
|
+
// Return cached proxy if available
|
|
272
|
+
if (widgetProxies.has(widgetName)) {
|
|
273
|
+
var _proxy = widgetProxies.get(widgetName);
|
|
274
|
+
var originalTarget = originalTargets.get(_proxy);
|
|
275
|
+
|
|
276
|
+
// Always sync properties to ensure proxy has latest data
|
|
277
|
+
// This is important when widget was initially created with minimal data
|
|
278
|
+
if (widget !== originalTarget || Object.keys(widget).length > Object.keys(originalTarget).length) {
|
|
279
|
+
// Copy all properties from widget to originalTarget
|
|
280
|
+
for (var key in widget) {
|
|
281
|
+
originalTarget[key] = widget[key];
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
return _proxy;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
// Create and cache a new proxy
|
|
288
|
+
var proxy = createWidgetProxy(widget, widgetName, setPageContext);
|
|
289
|
+
widgetProxies.set(widgetName, proxy);
|
|
290
|
+
return proxy;
|
|
291
|
+
},
|
|
292
|
+
set: function set(widgetsTarget, widgetName, widgetValue) {
|
|
293
|
+
// Skip if nothing changed
|
|
294
|
+
if (widgetsTarget[widgetName] === widgetValue) {
|
|
295
|
+
return true;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
// Update the widget in the target
|
|
299
|
+
widgetsTarget[widgetName] = widgetValue;
|
|
300
|
+
|
|
301
|
+
// Update existing proxy or create a new one
|
|
302
|
+
if (widgetProxies.has(widgetName)) {
|
|
303
|
+
var proxy = widgetProxies.get(widgetName);
|
|
304
|
+
var originalTarget = originalTargets.get(proxy);
|
|
305
|
+
|
|
306
|
+
// Only copy changed properties
|
|
307
|
+
for (var key in widgetValue) {
|
|
308
|
+
if (originalTarget[key] !== widgetValue[key]) {
|
|
309
|
+
originalTarget[key] = widgetValue[key];
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
} else if (widgetValue && (0, _typeof2["default"])(widgetValue) === "object") {
|
|
313
|
+
// Create a new proxy
|
|
314
|
+
var _proxy2 = createWidgetProxy(widgetValue, widgetName, setPageContext);
|
|
315
|
+
widgetProxies.set(widgetName, _proxy2);
|
|
316
|
+
}
|
|
317
|
+
setPageContext(function (prev) {
|
|
318
|
+
return _objectSpread(_objectSpread({}, prev), {}, {
|
|
319
|
+
Widgets: widgetsTarget
|
|
320
|
+
});
|
|
321
|
+
});
|
|
322
|
+
return true;
|
|
323
|
+
}
|
|
324
|
+
});
|
|
325
|
+
};
|
|
326
|
+
var createStateProxy = exports.createStateProxy = function createStateProxy(obj) {
|
|
327
|
+
var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
328
|
+
var setPageContext = arguments.length > 2 ? arguments[2] : undefined;
|
|
329
|
+
// Cache for nested proxies
|
|
330
|
+
var nestedProxies = new Map();
|
|
331
|
+
return new Proxy(obj, {
|
|
332
|
+
get: function get(target, prop) {
|
|
333
|
+
if (prop === "eval") {
|
|
334
|
+
return function (fn) {
|
|
335
|
+
var failOnError = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
336
|
+
try {
|
|
337
|
+
return fn.call(target);
|
|
338
|
+
} catch (e) {
|
|
339
|
+
if (failOnError) throw e;
|
|
340
|
+
return null;
|
|
341
|
+
}
|
|
342
|
+
};
|
|
343
|
+
}
|
|
344
|
+
if (prop === "Widgets" && path.length === 0) {
|
|
345
|
+
if (!nestedProxies.has("Widgets")) {
|
|
346
|
+
nestedProxies.set("Widgets", createPageProxy(target.Widgets, setPageContext));
|
|
347
|
+
}
|
|
348
|
+
return nestedProxies.get("Widgets");
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
// Do not auto-create missing properties; just return undefined
|
|
352
|
+
if (!(prop in target)) {
|
|
353
|
+
return undefined;
|
|
354
|
+
}
|
|
355
|
+
var value = target[prop];
|
|
356
|
+
|
|
357
|
+
// Return primitives directly
|
|
358
|
+
if ((0, _typeof2["default"])(value) !== "object" || value === null) {
|
|
359
|
+
return value;
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
// Return DOM elements directly without proxying
|
|
363
|
+
if ((0, _dom.isDOMElement)(value)) {
|
|
364
|
+
return value;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
// Return array proxy to preserve native array behavior while enabling reactivity
|
|
368
|
+
if (Array.isArray(value)) {
|
|
369
|
+
return createStateArrayProxy(value, path, prop, setPageContext);
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
// Use cached proxy if available
|
|
373
|
+
if (nestedProxies.has(prop)) {
|
|
374
|
+
return nestedProxies.get(prop);
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
// Create and cache a new nested proxy
|
|
378
|
+
var nestedProxy = createStateProxy(value, [].concat((0, _toConsumableArray2["default"])(path), [prop]), setPageContext);
|
|
379
|
+
nestedProxies.set(prop, nestedProxy);
|
|
380
|
+
return nestedProxy;
|
|
381
|
+
},
|
|
382
|
+
set: function set(target, prop, value) {
|
|
383
|
+
// Skip if value hasn't changed
|
|
384
|
+
if (target[prop] === value) {
|
|
385
|
+
return true;
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
// Update target directly
|
|
389
|
+
target[prop] = value;
|
|
390
|
+
|
|
391
|
+
// Clear cached proxy if value is an object (but not an array)
|
|
392
|
+
if ((0, _typeof2["default"])(value) === "object" && value !== null && !Array.isArray(value) && nestedProxies.has(prop)) {
|
|
393
|
+
nestedProxies["delete"](prop);
|
|
394
|
+
}
|
|
395
|
+
setPageContext(function (prev) {
|
|
396
|
+
// Create minimal copies along path
|
|
397
|
+
var newState = _objectSpread({}, prev);
|
|
398
|
+
var current = newState;
|
|
399
|
+
for (var i = 0; i < path.length; i++) {
|
|
400
|
+
var key = path[i];
|
|
401
|
+
current[key] = _objectSpread({}, current[key]);
|
|
402
|
+
current = current[key];
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
// Set the value
|
|
406
|
+
current[prop] = value;
|
|
407
|
+
return newState;
|
|
408
|
+
});
|
|
409
|
+
return true;
|
|
410
|
+
}
|
|
411
|
+
});
|
|
412
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.clearOverriddenProps = clearOverriddenProps;
|
|
7
|
+
exports.getWidgetOverrides = getWidgetOverrides;
|
|
8
|
+
exports.isPropOverridden = isPropOverridden;
|
|
9
|
+
exports.isWidgetOverridden = isWidgetOverridden;
|
|
10
|
+
exports.overriddenProps = void 0;
|
|
11
|
+
exports.trackOverriddenProps = trackOverriddenProps;
|
|
12
|
+
exports.widgetIdOverriddenProps = void 0;
|
|
13
|
+
// Global registry to track overridden properties
|
|
14
|
+
var overriddenProps = exports.overriddenProps = {};
|
|
15
|
+
|
|
16
|
+
// New: Widget-ID specific overrides
|
|
17
|
+
var widgetIdOverriddenProps = exports.widgetIdOverriddenProps = {};
|
|
18
|
+
var IGNORED_PROPERTIES = ["name", "activePane", "activePaneIndex", "activeTab"];
|
|
19
|
+
|
|
20
|
+
// Add a property to the registry
|
|
21
|
+
function trackOverriddenProps(widgetName, propName, value, widgetId) {
|
|
22
|
+
if (IGNORED_PROPERTIES.includes(propName)) return;
|
|
23
|
+
|
|
24
|
+
// If widget-id is provided, use widget-id specific tracking
|
|
25
|
+
if (widgetId) {
|
|
26
|
+
if (!widgetIdOverriddenProps[widgetName]) {
|
|
27
|
+
widgetIdOverriddenProps[widgetName] = {};
|
|
28
|
+
}
|
|
29
|
+
if (!widgetIdOverriddenProps[widgetName][widgetId]) {
|
|
30
|
+
widgetIdOverriddenProps[widgetName][widgetId] = {};
|
|
31
|
+
}
|
|
32
|
+
widgetIdOverriddenProps[widgetName][widgetId][propName] = value;
|
|
33
|
+
} else {
|
|
34
|
+
// Fallback to global registry for backward compatibility
|
|
35
|
+
if (!overriddenProps[widgetName]) {
|
|
36
|
+
overriddenProps[widgetName] = {};
|
|
37
|
+
}
|
|
38
|
+
overriddenProps[widgetName][propName] = value;
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
// Check if a property has been script-modified
|
|
43
|
+
function isPropOverridden(widgetName, propName, widgetId) {
|
|
44
|
+
var _widgetIdOverriddenPr, _overriddenProps$widg, _overriddenProps$widg2;
|
|
45
|
+
var overriddenItem = ((_widgetIdOverriddenPr = widgetIdOverriddenProps[widgetName]) === null || _widgetIdOverriddenPr === void 0 || (_widgetIdOverriddenPr = _widgetIdOverriddenPr[widgetId]) === null || _widgetIdOverriddenPr === void 0 ? void 0 : _widgetIdOverriddenPr[propName]) || (((_overriddenProps$widg = overriddenProps[widgetName]) === null || _overriddenProps$widg === void 0 ? void 0 : _overriddenProps$widg[propName]) != undefined ? (_overriddenProps$widg2 = overriddenProps[widgetName]) === null || _overriddenProps$widg2 === void 0 ? void 0 : _overriddenProps$widg2[propName] : false);
|
|
46
|
+
return overriddenItem !== undefined;
|
|
47
|
+
}
|
|
48
|
+
function isWidgetOverridden(widgetName, widgetId) {
|
|
49
|
+
var _widgetIdOverriddenPr2;
|
|
50
|
+
var overriddenItem = ((_widgetIdOverriddenPr2 = widgetIdOverriddenProps[widgetName]) === null || _widgetIdOverriddenPr2 === void 0 ? void 0 : _widgetIdOverriddenPr2[widgetId]) || overriddenProps[widgetName];
|
|
51
|
+
return overriddenItem !== undefined;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
// Get widget-id specific overrides
|
|
55
|
+
function getWidgetOverrides(widgetName, widgetId) {
|
|
56
|
+
var _widgetIdOverriddenPr3;
|
|
57
|
+
var overriddenItem = ((_widgetIdOverriddenPr3 = widgetIdOverriddenProps[widgetName]) === null || _widgetIdOverriddenPr3 === void 0 ? void 0 : _widgetIdOverriddenPr3[widgetId]) || overriddenProps[widgetName];
|
|
58
|
+
return overriddenItem || {};
|
|
59
|
+
}
|
|
60
|
+
function clearOverriddenProps() {
|
|
61
|
+
exports.overriddenProps = overriddenProps = {};
|
|
62
|
+
exports.widgetIdOverriddenProps = widgetIdOverriddenProps = {};
|
|
63
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.SecurityProvider = exports.SecurityConsumer = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var SecurityContext = /*#__PURE__*/_react["default"].createContext(null);
|
|
10
|
+
var SecurityProvider = exports.SecurityProvider = SecurityContext.Provider;
|
|
11
|
+
var SecurityConsumer = exports.SecurityConsumer = SecurityContext.Consumer;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.deepCopy = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var _lodashEs = require("lodash-es");
|
|
10
|
+
var _deepCopy = function _deepCopy(o1) {
|
|
11
|
+
for (var _len = arguments.length, o2 = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
12
|
+
o2[_key - 1] = arguments[_key];
|
|
13
|
+
}
|
|
14
|
+
o2.forEach(function (o) {
|
|
15
|
+
if (o) {
|
|
16
|
+
Object.keys(o).forEach(function (k) {
|
|
17
|
+
var v = o[k];
|
|
18
|
+
if (v && !(0, _lodashEs.isString)(v) && !(0, _lodashEs.isArray)(v) && (0, _typeof2["default"])(v) === "object") {
|
|
19
|
+
o1[k] = _deepCopy(o1[k] || {}, o[k]);
|
|
20
|
+
} else {
|
|
21
|
+
o1[k] = _deepCopy(v);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return o1;
|
|
27
|
+
};
|
|
28
|
+
var deepCopy = exports.deepCopy = function deepCopy() {
|
|
29
|
+
for (var _len2 = arguments.length, objects = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
30
|
+
objects[_key2] = arguments[_key2];
|
|
31
|
+
}
|
|
32
|
+
return _deepCopy.apply(void 0, [{}].concat(objects));
|
|
33
|
+
};
|
package/core/util/dom.js
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
"use client";
|
|
3
|
+
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.wrapWithNativeDOM = exports.wrapWithJQuery = exports.setCSS = exports.isDOMElement = void 0;
|
|
9
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
10
|
+
var $RAF;
|
|
11
|
+
var $RAFQueue = [];
|
|
12
|
+
if (typeof window !== "undefined") {
|
|
13
|
+
$RAF = window.requestAnimationFrame;
|
|
14
|
+
} else {
|
|
15
|
+
$RAF = function $RAF(callback) {
|
|
16
|
+
return setTimeout(callback, 0);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
var invokeLater = function invokeLater(fn) {
|
|
20
|
+
if (!$RAFQueue.length) {
|
|
21
|
+
$RAF(function () {
|
|
22
|
+
$RAFQueue.forEach(function (f) {
|
|
23
|
+
return f();
|
|
24
|
+
});
|
|
25
|
+
$RAFQueue.length = 0;
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
$RAFQueue.push(fn);
|
|
29
|
+
};
|
|
30
|
+
var setCSS = exports.setCSS = function setCSS(node, cssName, val, sync) {
|
|
31
|
+
if (typeof window === "undefined") return;
|
|
32
|
+
// @ts-ignore
|
|
33
|
+
var task = function task() {
|
|
34
|
+
return node.style[cssName] = val;
|
|
35
|
+
};
|
|
36
|
+
sync ? task() : invokeLater(task);
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
// Helper to check if something is a DOM element
|
|
40
|
+
var isDOMElement = exports.isDOMElement = function isDOMElement(obj) {
|
|
41
|
+
if (!obj || (0, _typeof2["default"])(obj) !== "object") return false;
|
|
42
|
+
|
|
43
|
+
// Check for DOM node characteristics
|
|
44
|
+
if (typeof window !== "undefined") {
|
|
45
|
+
return obj instanceof Element || obj instanceof Node || obj.nodeType && typeof obj.nodeName === "string";
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
// Create empty wrapper for when elements are not found (like empty jQuery object)
|
|
51
|
+
var createEmptyWrapper = function createEmptyWrapper() {
|
|
52
|
+
return {
|
|
53
|
+
0: null,
|
|
54
|
+
length: 0,
|
|
55
|
+
// Empty wrapper methods that do nothing (jQuery-like behavior)
|
|
56
|
+
find: function find() {
|
|
57
|
+
return createEmptyWrapper();
|
|
58
|
+
},
|
|
59
|
+
attr: function attr() {
|
|
60
|
+
return createEmptyWrapper();
|
|
61
|
+
},
|
|
62
|
+
removeAttr: function removeAttr() {
|
|
63
|
+
return createEmptyWrapper();
|
|
64
|
+
},
|
|
65
|
+
get: function get() {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
// Minimal wrapper with essential jQuery methods that are actually used
|
|
72
|
+
var wrapWithNativeDOM = exports.wrapWithNativeDOM = function wrapWithNativeDOM(element) {
|
|
73
|
+
if (!element || !isDOMElement(element)) {
|
|
74
|
+
return createEmptyWrapper();
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
// Create wrapper object with essential jQuery methods
|
|
78
|
+
var wrapper = {
|
|
79
|
+
// Array-like properties for jQuery compatibility
|
|
80
|
+
0: element,
|
|
81
|
+
length: 1,
|
|
82
|
+
// Essential jQuery methods using native DOM
|
|
83
|
+
find: function find(selector) {
|
|
84
|
+
var found = element.querySelector(selector);
|
|
85
|
+
return found ? wrapWithNativeDOM(found) : createEmptyWrapper();
|
|
86
|
+
},
|
|
87
|
+
attr: function attr(name, value) {
|
|
88
|
+
if (value === undefined) {
|
|
89
|
+
return element.getAttribute(name);
|
|
90
|
+
}
|
|
91
|
+
element.setAttribute(name, value);
|
|
92
|
+
return wrapper;
|
|
93
|
+
},
|
|
94
|
+
removeAttr: function removeAttr(name) {
|
|
95
|
+
element.removeAttribute(name);
|
|
96
|
+
return wrapper;
|
|
97
|
+
},
|
|
98
|
+
// Direct access to native element
|
|
99
|
+
get: function get() {
|
|
100
|
+
return element;
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
return wrapper;
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
// Backward compatibility alias
|
|
107
|
+
var wrapWithJQuery = exports.wrapWithJQuery = wrapWithNativeDOM;
|