@wavemaker-ai/react-runtime 1.0.0-rc.647502 → 1.0.0-rc.647565

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (574) hide show
  1. package/.npmignore +4 -0
  2. package/actions/base-action.js +12 -29
  3. package/actions/login-action.js +35 -52
  4. package/actions/logout-action.js +21 -38
  5. package/actions/navigation-action.js +251 -346
  6. package/actions/notification-action.js +121 -149
  7. package/actions/timer-action.js +95 -151
  8. package/actions/toast-provider.js +62 -76
  9. package/actions/toast.js +95 -91
  10. package/actions/toast.service.js +59 -79
  11. package/actions/types/index.js +6 -9
  12. package/components/advanced/carousel/index.js +358 -366
  13. package/components/advanced/carousel/props.js +0 -5
  14. package/components/advanced/carousel/template.js +102 -80
  15. package/components/advanced/login/index.js +227 -285
  16. package/components/advanced/login/props.js +0 -5
  17. package/components/advanced/marquee/index.js +169 -163
  18. package/components/advanced/marquee/props.js +0 -5
  19. package/components/basic/anchor/index.js +207 -187
  20. package/components/basic/anchor/props.js +0 -5
  21. package/components/basic/audio/index.js +110 -72
  22. package/components/basic/audio/props.js +0 -5
  23. package/components/basic/html/index.js +163 -203
  24. package/components/basic/html/props.js +0 -5
  25. package/components/basic/html/utils.js +30 -28
  26. package/components/basic/icon/index.js +98 -84
  27. package/components/basic/icon/props.js +0 -5
  28. package/components/basic/iframe/iframe.utils.js +7 -16
  29. package/components/basic/iframe/index.js +97 -103
  30. package/components/basic/iframe/props.js +0 -5
  31. package/components/basic/label/index.js +156 -134
  32. package/components/basic/label/props.js +0 -5
  33. package/components/basic/message/index.js +129 -113
  34. package/components/basic/message/props.js +0 -5
  35. package/components/basic/picture/index.js +156 -127
  36. package/components/basic/picture/props.js +0 -5
  37. package/components/basic/progress-bar/index.js +240 -176
  38. package/components/basic/progress-bar/props.js +5 -31
  39. package/components/basic/progress-circle/index.js +166 -183
  40. package/components/basic/progress-circle/props.js +14 -34
  41. package/components/basic/richtexteditor/index.js +430 -396
  42. package/components/basic/richtexteditor/props.js +0 -5
  43. package/components/basic/search/index.js +812 -931
  44. package/components/basic/search/props.js +0 -5
  45. package/components/basic/search/providers.js +233 -380
  46. package/components/basic/spinner/index.js +210 -200
  47. package/components/basic/spinner/props.js +4 -22
  48. package/components/basic/tile/index.js +73 -81
  49. package/components/basic/tile/props.js +0 -5
  50. package/components/basic/tree/Components/TreeNodeComponent.js +238 -170
  51. package/components/basic/tree/hooks/useTreePartialNodeApi.js +143 -135
  52. package/components/basic/tree/index.js +378 -454
  53. package/components/basic/tree/props.js +0 -5
  54. package/components/basic/tree/utils.js +129 -185
  55. package/components/basic/video/index.js +161 -107
  56. package/components/basic/video/props.js +0 -5
  57. package/components/chart/index.js +42 -50
  58. package/components/chart/props.js +31 -37
  59. package/components/chart/src/ChartRenderer.js +172 -154
  60. package/components/chart/src/chart.js +391 -213
  61. package/components/chart/src/chartStyles.generated.js +6 -14
  62. package/components/chart/src/chartUtils.js +228 -272
  63. package/components/chart/src/constants.d.ts +13 -0
  64. package/components/chart/src/constants.js +316 -90
  65. package/components/chart/src/d3Setup.js +11 -30
  66. package/components/chart/src/dataUtils.js +362 -446
  67. package/components/chart/src/formatUtils.js +47 -38
  68. package/components/chart/src/index.js +11 -19
  69. package/components/chart/src/nvd3Source.generated.js +5 -13
  70. package/components/chart/src/pieDonutResponsiveLayout.d.ts +5 -0
  71. package/components/chart/src/pieDonutResponsiveLayout.js +76 -96
  72. package/components/chart/src/types.js +0 -5
  73. package/components/common/AppSpinner.js +17 -33
  74. package/components/common/app-spinner.js +11 -22
  75. package/components/common/customTemplate/index.d.ts +3 -0
  76. package/components/common/customTemplate/index.js +6 -0
  77. package/components/common/customTemplate/props.d.ts +20 -0
  78. package/components/common/customTemplate/props.js +0 -0
  79. package/components/common/customTemplate/template.d.ts +3 -0
  80. package/components/common/customTemplate/template.js +27 -0
  81. package/components/common/customTemplate/useCustomTemplate.d.ts +8 -0
  82. package/components/common/customTemplate/useCustomTemplate.js +17 -0
  83. package/components/common/customTemplate/utils.d.ts +6 -0
  84. package/components/common/customTemplate/utils.js +12 -0
  85. package/components/common/index.js +4 -12
  86. package/components/constants.js +81 -77
  87. package/components/container/accordion/accordion-pane/index.js +105 -118
  88. package/components/container/accordion/accordion-pane/props.js +5 -21
  89. package/components/container/accordion/index.js +225 -243
  90. package/components/container/accordion/props.js +5 -16
  91. package/components/container/index.js +214 -150
  92. package/components/container/layout-grid/grid-column/index.js +68 -43
  93. package/components/container/layout-grid/grid-column/props.js +0 -5
  94. package/components/container/layout-grid/grid-row/index.js +12 -29
  95. package/components/container/layout-grid/grid-row/props.js +0 -5
  96. package/components/container/layout-grid/index.js +53 -38
  97. package/components/container/layout-grid/props.js +0 -5
  98. package/components/container/linear-layout/index.js +56 -60
  99. package/components/container/linear-layout/linear-layout-item/index.js +43 -47
  100. package/components/container/linear-layout/linear-layout-item/props.js +0 -5
  101. package/components/container/linear-layout/props.js +0 -5
  102. package/components/container/panel/components/panel-content/index.js +7 -16
  103. package/components/container/panel/components/panel-header/index.js +166 -146
  104. package/components/container/panel/components/panel-header/props.js +0 -5
  105. package/components/container/panel/hooks.js +76 -102
  106. package/components/container/panel/index.js +289 -252
  107. package/components/container/panel/props.js +0 -5
  108. package/components/container/props.js +0 -5
  109. package/components/container/repeat-template/index.js +65 -44
  110. package/components/container/repeat-template/props.js +0 -5
  111. package/components/container/tabs/index.js +517 -526
  112. package/components/container/tabs/props.js +5 -28
  113. package/components/container/tabs/tab-pane/index.js +105 -100
  114. package/components/container/tabs/tab-pane/props.js +0 -5
  115. package/components/container/tabs/utils.js +30 -35
  116. package/components/container/wizard/WizardContext.js +9 -11
  117. package/components/container/wizard/components/StepComponents.js +76 -99
  118. package/components/container/wizard/components/WizardStep.js +107 -85
  119. package/components/container/wizard/index.js +791 -921
  120. package/components/container/wizard/props.js +0 -5
  121. package/components/container/wizard/utils.js +97 -131
  122. package/components/container/wizard/wizard-action/index.js +41 -81
  123. package/components/container/wizard/wizard-step/index.js +140 -120
  124. package/components/data/card/card-actions/index.js +13 -31
  125. package/components/data/card/card-content/index.js +27 -36
  126. package/components/data/card/card-footer/index.js +13 -31
  127. package/components/data/card/index.js +192 -199
  128. package/components/data/card/props.js +0 -5
  129. package/components/data/form/base-form/constant.js +5 -8
  130. package/components/data/form/base-form/hooks/index.js +26 -77
  131. package/components/data/form/base-form/hooks/useFormDataSync.js +106 -212
  132. package/components/data/form/base-form/hooks/useFormOperations.js +109 -161
  133. package/components/data/form/base-form/hooks/useFormSubmission.js +220 -280
  134. package/components/data/form/base-form/hooks/useFormValidation.js +119 -168
  135. package/components/data/form/base-form/hooks/useParentFormRelationship.js +67 -103
  136. package/components/data/form/base-form/index.js +531 -646
  137. package/components/data/form/base-form/props.js +74 -151
  138. package/components/data/form/base-form/utils.js +210 -323
  139. package/components/data/form/dynamic-fields/constant.js +43 -53
  140. package/components/data/form/dynamic-fields/index.js +135 -144
  141. package/components/data/form/dynamic-fields/props.js +0 -5
  142. package/components/data/form/dynamic-fields/utils.js +99 -158
  143. package/components/data/form/form-action/index.js +107 -85
  144. package/components/data/form/form-body/index.js +52 -26
  145. package/components/data/form/form-context.js +43 -59
  146. package/components/data/form/form-controller/hooks/index.js +43 -57
  147. package/components/data/form/form-controller/props.js +5 -8
  148. package/components/data/form/form-controller/utils.js +54 -49
  149. package/components/data/form/form-controller/validation-contrustor.js +203 -426
  150. package/components/data/form/form-controller/withFormController.js +319 -269
  151. package/components/data/form/form-dynamic-section/index.js +47 -41
  152. package/components/data/form/form-dynamic-section/props.js +0 -5
  153. package/components/data/form/form-field/base-field.js +97 -109
  154. package/components/data/form/form-field/index.js +91 -82
  155. package/components/data/form/form-field/props.js +0 -5
  156. package/components/data/form/form-footer/index.js +52 -25
  157. package/components/data/form/form-header/index.js +61 -58
  158. package/components/data/form/index.js +95 -74
  159. package/components/data/form/props.js +0 -5
  160. package/components/data/list/components/GroupHeader.js +34 -33
  161. package/components/data/list/components/GroupedListItems.js +108 -104
  162. package/components/data/list/components/ListContainer.js +22 -27
  163. package/components/data/list/components/ListDND.js +193 -185
  164. package/components/data/list/components/ListHeader.js +32 -49
  165. package/components/data/list/components/ListItem.js +153 -146
  166. package/components/data/list/components/ListItemWithTemplate.js +87 -105
  167. package/components/data/list/components/ListItems.js +180 -194
  168. package/components/data/list/components/ListPagination.js +127 -153
  169. package/components/data/list/components/LoadMoreButton.js +25 -33
  170. package/components/data/list/components/NoDataMessage.js +9 -22
  171. package/components/data/list/components/StandardListItems.js +79 -85
  172. package/components/data/list/components/index.js +31 -119
  173. package/components/data/list/components/props.js +0 -5
  174. package/components/data/list/hooks/index.js +22 -75
  175. package/components/data/list/hooks/props.js +0 -5
  176. package/components/data/list/hooks/useCurrentPageItems.js +20 -38
  177. package/components/data/list/hooks/useGroupedData.js +19 -33
  178. package/components/data/list/hooks/useListData.js +17 -47
  179. package/components/data/list/hooks/useListEffects.js +168 -237
  180. package/components/data/list/hooks/useListEventHandlers.js +301 -285
  181. package/components/data/list/hooks/useListPagination.js +90 -136
  182. package/components/data/list/hooks/useListState.js +49 -91
  183. package/components/data/list/hooks/useListStateManager.js +104 -159
  184. package/components/data/list/hooks/usePaginatedGroupedData.js +74 -110
  185. package/components/data/list/index.d.ts +1 -0
  186. package/components/data/list/index.js +579 -621
  187. package/components/data/list/props.d.ts +4 -0
  188. package/components/data/list/props.js +0 -5
  189. package/components/data/list/templates/media-template.js +29 -50
  190. package/components/data/list/utils/constants.js +20 -32
  191. package/components/data/list/utils/list-helpers.d.ts +2 -1
  192. package/components/data/list/utils/list-helpers.js +71 -115
  193. package/components/data/list/utils/list-widget-methods.js +56 -76
  194. package/components/data/list/utils/widget-instance-utils.js +20 -57
  195. package/components/data/live-filter/index.js +219 -271
  196. package/components/data/live-filter/props.js +5 -12
  197. package/components/data/live-form/index.js +68 -91
  198. package/components/data/live-form/props.js +5 -12
  199. package/components/data/pagination/components/BasicPagination.js +124 -104
  200. package/components/data/pagination/components/ClassicPagination.js +167 -190
  201. package/components/data/pagination/components/InlinePagination.js +97 -98
  202. package/components/data/pagination/components/LoadingComponent.js +17 -30
  203. package/components/data/pagination/components/PageSizeSelector.js +176 -169
  204. package/components/data/pagination/components/PagerNavigation.js +84 -105
  205. package/components/data/pagination/components/TotalRecords.js +48 -47
  206. package/components/data/pagination/components/index.js +14 -47
  207. package/components/data/pagination/components/props.js +0 -5
  208. package/components/data/pagination/hooks/index.js +6 -19
  209. package/components/data/pagination/hooks/props.js +0 -5
  210. package/components/data/pagination/hooks/useNavigationSize.js +12 -21
  211. package/components/data/pagination/hooks/usePagination.js +702 -905
  212. package/components/data/pagination/index.js +336 -389
  213. package/components/data/table/components/AddNewRow.js +122 -154
  214. package/components/data/table/components/EditableCell.js +68 -75
  215. package/components/data/table/components/FieldValidationError.js +19 -20
  216. package/components/data/table/components/RowCells.js +97 -80
  217. package/components/data/table/components/RowExpansionButton.js +43 -39
  218. package/components/data/table/components/SummaryCell.js +54 -88
  219. package/components/data/table/components/SummaryRow.js +45 -52
  220. package/components/data/table/components/SummaryRowFooter.js +35 -42
  221. package/components/data/table/components/TableBody.js +222 -218
  222. package/components/data/table/components/TableDataRow.js +113 -106
  223. package/components/data/table/components/TableFilters.js +391 -390
  224. package/components/data/table/components/TableFooterActions.js +25 -32
  225. package/components/data/table/components/TableHeader.js +460 -435
  226. package/components/data/table/components/TablePanelHeading.js +157 -181
  227. package/components/data/table/components/index.js +27 -95
  228. package/components/data/table/hooks/index.js +21 -230
  229. package/components/data/table/hooks/use-edited-rows.js +59 -94
  230. package/components/data/table/hooks/useCellState.js +58 -83
  231. package/components/data/table/hooks/useCustomExpressionColumns.js +65 -86
  232. package/components/data/table/hooks/useDynamicColumns.js +59 -92
  233. package/components/data/table/hooks/useEditingState.js +30 -41
  234. package/components/data/table/hooks/useFormWidget.js +163 -172
  235. package/components/data/table/hooks/usePaginationState.js +67 -77
  236. package/components/data/table/hooks/usePanelStructure.js +47 -41
  237. package/components/data/table/hooks/useResponsiveColumns.js +14 -20
  238. package/components/data/table/hooks/useRowExpansion.js +131 -127
  239. package/components/data/table/hooks/useRowHandlers.js +56 -69
  240. package/components/data/table/hooks/useRowSelection.js +249 -329
  241. package/components/data/table/hooks/useServerSideSorting.js +109 -175
  242. package/components/data/table/hooks/useTableColumns.js +322 -331
  243. package/components/data/table/hooks/useTableData.js +111 -166
  244. package/components/data/table/hooks/useTableEdit.js +526 -564
  245. package/components/data/table/hooks/useTableEffects.js +60 -107
  246. package/components/data/table/hooks/useTableFilter.js +244 -237
  247. package/components/data/table/hooks/useTableInitialization.js +44 -76
  248. package/components/data/table/hooks/useTableState.js +39 -61
  249. package/components/data/table/hooks/useTableStateManager.js +295 -468
  250. package/components/data/table/index.js +1553 -1713
  251. package/components/data/table/live-table/index.js +157 -219
  252. package/components/data/table/props.js +0 -5
  253. package/components/data/table/table-action/index.js +97 -75
  254. package/components/data/table/table-column/index.js +48 -42
  255. package/components/data/table/table-group/index.js +7 -25
  256. package/components/data/table/table-row/index.js +63 -55
  257. package/components/data/table/table-row-action/index.js +102 -77
  258. package/components/data/table/utils/buildSelectionColumns.js +86 -137
  259. package/components/data/table/utils/columnBuilder.js +116 -158
  260. package/components/data/table/utils/columnProxy.js +48 -66
  261. package/components/data/table/utils/columnWidthDistribution.js +40 -64
  262. package/components/data/table/utils/constants.js +92 -40
  263. package/components/data/table/utils/crud-handlers.js +292 -473
  264. package/components/data/table/utils/dynamic-columns.js +99 -144
  265. package/components/data/table/utils/groupHeaderUtils.js +36 -61
  266. package/components/data/table/utils/index.d.ts +8 -5
  267. package/components/data/table/utils/index.js +419 -639
  268. package/components/data/table/utils/renderDisplayCell.js +127 -169
  269. package/components/data/table/utils/script-page-size-broadcast.js +17 -29
  270. package/components/data/table/utils/selectionUtils.js +59 -113
  271. package/components/data/table/utils/table-helpers.js +38 -74
  272. package/components/data/table/utils/validation.js +35 -78
  273. package/components/data/table/utils/widgetMapping.d.ts +5 -0
  274. package/components/data/table/utils/widgetMapping.js +41 -0
  275. package/components/data/types.js +112 -112
  276. package/components/data/utils/field-data-utils.js +38 -42
  277. package/components/data/utils/filter-field-util.js +42 -44
  278. package/components/data/utils/index.js +112 -111
  279. package/components/dialogs/alert-dialog/index.js +83 -78
  280. package/components/dialogs/alert-dialog/props.js +0 -5
  281. package/components/dialogs/confirm-dialog/index.js +102 -92
  282. package/components/dialogs/confirm-dialog/props.js +0 -5
  283. package/components/dialogs/dialog/index.js +93 -69
  284. package/components/dialogs/dialog/props.js +0 -5
  285. package/components/dialogs/dialog-actions/index.js +12 -26
  286. package/components/dialogs/dialog-actions/props.js +0 -5
  287. package/components/dialogs/dialog-body/index.js +13 -30
  288. package/components/dialogs/dialog-body/props.js +0 -5
  289. package/components/dialogs/dialog-content/index.js +48 -41
  290. package/components/dialogs/dialog-content/props.js +0 -5
  291. package/components/dialogs/dialog-header/index.js +88 -101
  292. package/components/dialogs/dialog-header/props.js +0 -5
  293. package/components/dialogs/iframe-dialog/index.js +136 -128
  294. package/components/dialogs/iframe-dialog/props.js +0 -5
  295. package/components/dialogs/index.js +104 -101
  296. package/components/dialogs/login-dialog/index.js +285 -347
  297. package/components/dialogs/login-dialog/props.js +0 -5
  298. package/components/dialogs/page-dialog/index.js +95 -86
  299. package/components/dialogs/page-dialog/props.js +0 -5
  300. package/components/dialogs/props.js +0 -5
  301. package/components/dialogs/withDialogWrapper.js +110 -83
  302. package/components/form/button/index.js +296 -245
  303. package/components/form/button/props.js +0 -5
  304. package/components/form/button-group/index.js +80 -69
  305. package/components/form/button-group/props.js +0 -5
  306. package/components/input/calendar/index.js +409 -362
  307. package/components/input/calendar/props.js +0 -5
  308. package/components/input/calendar/utils.js +164 -172
  309. package/components/input/chips/SortableChip/index.js +109 -100
  310. package/components/input/chips/SortableChip/props.js +0 -5
  311. package/components/input/chips/index.js +663 -570
  312. package/components/input/chips/props.js +0 -5
  313. package/components/input/chips/utils.js +131 -122
  314. package/components/input/color-picker/index.js +536 -594
  315. package/components/input/color-picker/props.js +0 -5
  316. package/components/input/composite/index.js +71 -110
  317. package/components/input/composite/props.js +0 -5
  318. package/components/input/currency/index.js +277 -224
  319. package/components/input/currency/props.js +0 -5
  320. package/components/input/default/checkbox/index.js +329 -250
  321. package/components/input/default/checkbox/props.js +0 -5
  322. package/components/input/default/checkboxset/index.d.ts +2 -0
  323. package/components/input/default/checkboxset/index.js +529 -446
  324. package/components/input/default/checkboxset/props.d.ts +4 -0
  325. package/components/input/default/checkboxset/props.js +0 -5
  326. package/components/input/default/checkboxset/utils.js +15 -25
  327. package/components/input/default/radioset/index.d.ts +2 -0
  328. package/components/input/default/radioset/index.js +409 -350
  329. package/components/input/default/radioset/props.d.ts +6 -0
  330. package/components/input/default/radioset/props.js +0 -5
  331. package/components/input/default/switch/index.js +494 -458
  332. package/components/input/default/switch/prop.js +0 -5
  333. package/components/input/epoch/date/components/DatePickerPopover.js +242 -193
  334. package/components/input/epoch/date/index.js +638 -518
  335. package/components/input/epoch/date/props.js +0 -5
  336. package/components/input/epoch/date/styled.js +61 -70
  337. package/components/input/epoch/date/utils.js +67 -115
  338. package/components/input/epoch/datetime/index.js +758 -695
  339. package/components/input/epoch/datetime/props.js +0 -5
  340. package/components/input/epoch/datetime/utils.js +121 -186
  341. package/components/input/epoch/time/index.js +441 -415
  342. package/components/input/epoch/time/props.js +0 -5
  343. package/components/input/epoch/time/utils.js +101 -112
  344. package/components/input/fileupload/Utils.js +70 -97
  345. package/components/input/fileupload/components/ListItems.js +132 -130
  346. package/components/input/fileupload/components/MultiUpload.js +80 -77
  347. package/components/input/fileupload/components/SingleUpload.js +57 -57
  348. package/components/input/fileupload/index.js +253 -178
  349. package/components/input/fileupload/props.js +0 -5
  350. package/components/input/fileupload/useFileUpload.js +209 -258
  351. package/components/input/number/index.js +434 -393
  352. package/components/input/number/props.js +0 -5
  353. package/components/input/rating/index.js +401 -394
  354. package/components/input/rating/props.js +0 -5
  355. package/components/input/select/index.js +408 -463
  356. package/components/input/select/props.js +0 -5
  357. package/components/input/slider/index.js +339 -332
  358. package/components/input/slider/props.js +0 -5
  359. package/components/input/text/index.d.ts +3 -3
  360. package/components/input/text/index.js +438 -475
  361. package/components/input/text/props.d.ts +1 -1
  362. package/components/input/text/props.js +0 -5
  363. package/components/input/text/util.js +82 -222
  364. package/components/input/textarea/index.js +322 -358
  365. package/components/input/textarea/props.js +0 -5
  366. package/components/input/upload/index.js +135 -131
  367. package/components/input/upload/props.js +0 -5
  368. package/components/input/util/index.js +9 -11
  369. package/components/layout/footer/index.js +12 -35
  370. package/components/layout/footer/props.js +0 -5
  371. package/components/layout/header/index.js +12 -38
  372. package/components/layout/header/props.js +0 -5
  373. package/components/layout/leftnav/index.js +38 -44
  374. package/components/layout/leftnav/props.js +0 -5
  375. package/components/layout/rightnav/index.js +12 -36
  376. package/components/layout/rightnav/props.js +0 -5
  377. package/components/layout/topnav/index.js +24 -38
  378. package/components/layout/topnav/props.js +0 -5
  379. package/components/navbar/index.js +119 -98
  380. package/components/navbar/nav/index.js +236 -232
  381. package/components/navbar/nav/props.js +0 -5
  382. package/components/navbar/nav-item/index.js +74 -65
  383. package/components/navbar/nav-item/props.js +0 -5
  384. package/components/navigation/breadcrumb/index.js +38 -61
  385. package/components/navigation/breadcrumb/props.js +0 -5
  386. package/components/navigation/menu/components/ListItems.js +76 -67
  387. package/components/navigation/menu/constants.js +27 -42
  388. package/components/navigation/menu/hooks/useHoverState.hook.js +20 -47
  389. package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +34 -28
  390. package/components/navigation/menu/hooks/useTransformedDataset.hook.js +21 -14
  391. package/components/navigation/menu/index.js +911 -846
  392. package/components/navigation/menu/props.js +0 -5
  393. package/components/navigation/menu/utils/action-task.js +6 -9
  394. package/components/navigation/menu/utils/role-filter.js +41 -56
  395. package/components/navigation/popover/index.js +191 -205
  396. package/components/navigation/popover/props.js +5 -8
  397. package/components/page/content/index.js +9 -31
  398. package/components/page/content/props.js +0 -5
  399. package/components/page/error-boundary/index.js +115 -105
  400. package/components/page/error-boundary/props.js +0 -5
  401. package/components/page/index.js +84 -102
  402. package/components/page/page-content/index.js +21 -30
  403. package/components/page/page-content/props.js +0 -5
  404. package/components/page/partial/index.js +50 -45
  405. package/components/page/partial/props.js +0 -5
  406. package/components/page/partial-container/index.js +81 -107
  407. package/components/page/partial-container/props.d.ts +1 -1
  408. package/components/page/partial-container/props.js +0 -5
  409. package/components/page/props.js +0 -5
  410. package/components/page/toast-container/index.js +20 -41
  411. package/components/page/toast-container/props.js +0 -5
  412. package/components/prefab/container/index.js +60 -53
  413. package/components/prefab/container/props.js +0 -5
  414. package/components/prefab/index.js +76 -61
  415. package/components/prefab/props.js +0 -5
  416. package/context/AppContext.d.ts +1 -1
  417. package/context/AppContext.js +17 -18
  418. package/context/AppSpinnerProvider.js +19 -34
  419. package/context/LayoutProvider.js +54 -57
  420. package/context/LocalizationProvider.js +34 -49
  421. package/context/PrefabContext.js +68 -119
  422. package/context/WidgetProvider.js +160 -166
  423. package/core/app-config.js +0 -1
  424. package/core/app.service.js +200 -327
  425. package/core/appVariablesStore.js +10 -15
  426. package/core/appstore.js +37 -53
  427. package/core/constants/currency-constant.js +81 -83
  428. package/core/constants/events.js +34 -44
  429. package/core/constants/index.js +21 -31
  430. package/core/dialog.service.js +52 -72
  431. package/core/event-notifier.js +94 -131
  432. package/core/formatter/array-formatters.js +18 -32
  433. package/core/formatter/date-formatters.js +140 -204
  434. package/core/formatter/index.js +64 -117
  435. package/core/formatter/number-formatters.js +115 -159
  436. package/core/formatter/security-formatters.js +233 -283
  437. package/core/formatter/string-formatters.js +23 -45
  438. package/core/formatter/types.js +12 -18
  439. package/core/formatters.js +6 -24
  440. package/core/proxy-service.js +242 -306
  441. package/core/script-registry.js +87 -134
  442. package/core/security.service.js +8 -11
  443. package/core/util/compare.js +13 -25
  444. package/core/util/dom.js +32 -63
  445. package/core/util/index.d.ts +5 -0
  446. package/core/util/index.js +95 -95
  447. package/core/util/safe-is-equal.js +42 -94
  448. package/core/util/security.js +114 -153
  449. package/core/util/utils.d.ts +8 -1
  450. package/core/util/utils.js +124 -132
  451. package/core/widget-observer.js +34 -61
  452. package/higherOrder/BaseApp.js +327 -500
  453. package/higherOrder/BaseAppProps.js +0 -5
  454. package/higherOrder/BaseDateTime.js +277 -231
  455. package/higherOrder/BasePage.js +479 -735
  456. package/higherOrder/BasePartial.js +87 -114
  457. package/higherOrder/BasePrefab.js +190 -206
  458. package/higherOrder/DataNav.js +287 -302
  459. package/higherOrder/helper.js +62 -48
  460. package/higherOrder/props.js +0 -5
  461. package/higherOrder/withBaseWrapper.js +123 -168
  462. package/higherOrder/withStandalone.js +28 -26
  463. package/hooks/useAccess.js +113 -289
  464. package/hooks/useAppConfig.js +15 -40
  465. package/hooks/useAuth.js +256 -495
  466. package/hooks/useDataSourceSubscription.d.ts +3 -3
  467. package/hooks/useDataSourceSubscription.js +99 -109
  468. package/hooks/useDebounce.js +28 -56
  469. package/hooks/useDeviceVisibility.js +14 -23
  470. package/hooks/useHttp.d.ts +1 -0
  471. package/hooks/useHttp.js +318 -493
  472. package/libs/index.js +4 -13
  473. package/libs/prefab/index.js +6 -20
  474. package/mui-config/theme-provider.js +9 -17
  475. package/mui-config/theme.js +6 -9
  476. package/package-lock.json +808 -3177
  477. package/package.json +3 -19
  478. package/providers/AppProviders.js +21 -24
  479. package/runtime-dynamic/App.js +65 -93
  480. package/runtime-dynamic/app-initializer.js +207 -400
  481. package/runtime-dynamic/components/ErrorBoundary.js +59 -76
  482. package/runtime-dynamic/components/PageWrapper.js +23 -35
  483. package/runtime-dynamic/components/PrefabPreview.js +40 -69
  484. package/runtime-dynamic/components/partial-content.d.ts +2 -3
  485. package/runtime-dynamic/components/partial-content.js +66 -48
  486. package/runtime-dynamic/components/prefab-content.js +37 -30
  487. package/runtime-dynamic/components/use-dynamic-component.js +62 -150
  488. package/runtime-dynamic/factories/build-base-page-like-component.js +44 -58
  489. package/runtime-dynamic/factories/dynamic-component.d.ts +9 -0
  490. package/runtime-dynamic/factories/dynamic-component.js +83 -0
  491. package/runtime-dynamic/factories/prefab-factory.js +60 -81
  492. package/runtime-dynamic/factories/startup-info.js +12 -25
  493. package/runtime-dynamic/factories/utils.d.ts +1 -9
  494. package/runtime-dynamic/factories/utils.js +47 -130
  495. package/runtime-dynamic/index.js +56 -191
  496. package/runtime-dynamic/main.js +42 -70
  497. package/runtime-dynamic/preview-mode.js +14 -29
  498. package/runtime-dynamic/preview-navigation.js +21 -30
  499. package/runtime-dynamic/preview-path.d.ts +5 -0
  500. package/runtime-dynamic/preview-path.js +13 -0
  501. package/runtime-dynamic/preview-resource-base.js +15 -31
  502. package/runtime-dynamic/registry/component-registry.js +269 -334
  503. package/runtime-dynamic/registry/custom-widget-registry.js +11 -15
  504. package/runtime-dynamic/registry/index.js +24 -63
  505. package/runtime-dynamic/registry/store.d.ts +1 -0
  506. package/runtime-dynamic/registry/store.js +18 -23
  507. package/runtime-dynamic/routes.js +53 -81
  508. package/runtime-dynamic/services/app-extension-provider.js +17 -44
  509. package/runtime-dynamic/services/autolayout-inject.d.ts +4 -0
  510. package/runtime-dynamic/services/autolayout-inject.js +27 -0
  511. package/runtime-dynamic/services/cache.js +27 -33
  512. package/runtime-dynamic/services/compile-render.d.ts +9 -0
  513. package/runtime-dynamic/services/compile-render.js +142 -0
  514. package/runtime-dynamic/services/component-ref-provider.js +70 -124
  515. package/runtime-dynamic/services/css-scoping.js +27 -28
  516. package/runtime-dynamic/services/fragment-url.js +37 -50
  517. package/runtime-dynamic/services/index.js +48 -152
  518. package/runtime-dynamic/services/markup-transpiler.d.ts +2 -2
  519. package/runtime-dynamic/services/markup-transpiler.js +39 -231
  520. package/runtime-dynamic/services/prefab-resources.js +42 -130
  521. package/runtime-dynamic/services/resource-manager.d.ts +2 -1
  522. package/runtime-dynamic/services/resource-manager.js +32 -63
  523. package/runtime-dynamic/services/script-executor.js +50 -61
  524. package/runtime-dynamic/services/variable-factory.js +141 -184
  525. package/runtime-dynamic/services/variable-registry.js +69 -115
  526. package/runtime-dynamic/services/variable-transpiler.js +73 -103
  527. package/runtime-dynamic/shims/next-image.js +79 -50
  528. package/runtime-dynamic/shims/next-link.js +58 -32
  529. package/runtime-dynamic/shims/next-navigation.js +17 -34
  530. package/runtime-dynamic/utils/index.d.ts +2 -0
  531. package/runtime-dynamic/utils/index.js +22 -24
  532. package/store/bindActions/i18nActions.js +16 -18
  533. package/store/index.js +29 -35
  534. package/store/middleware/navigationMiddleware.js +25 -45
  535. package/store/middleware/pendingTabNavigationIntentMiddleware.js +20 -25
  536. package/store/slices/appConfigSlice.js +65 -94
  537. package/store/slices/authSlice.js +317 -471
  538. package/store/slices/i18nSlice.js +169 -168
  539. package/store/slices/navigationSlice.js +22 -20
  540. package/store/util/resolve-path.d.ts +1 -0
  541. package/store/util/resolve-path.js +7 -0
  542. package/store/viewport.service.js +150 -194
  543. package/types/index.js +10 -15
  544. package/utils/attr.js +198 -41
  545. package/utils/custom-expression/index.js +55 -151
  546. package/utils/custom-expression/parser.js +106 -182
  547. package/utils/dataset-util.js +113 -154
  548. package/utils/eval-expression.js +10 -19
  549. package/utils/form-state.util.js +60 -118
  550. package/utils/form-utils.js +49 -190
  551. package/utils/format-util.js +113 -184
  552. package/utils/layoutsize-util.js +11 -17
  553. package/utils/lib-error-skipper.js +54 -52
  554. package/utils/page-params-util.js +50 -40
  555. package/utils/pending-tab-navigation-intent.js +7 -17
  556. package/utils/resource-url.js +8 -19
  557. package/utils/state-persistance.js +136 -253
  558. package/utils/style-utils.d.ts +2 -0
  559. package/utils/style-utils.js +25 -74
  560. package/utils/transformedDataset-utils.js +353 -381
  561. package/utils/widget-cleanup-util.js +42 -74
  562. package/utils/widgets.js +19 -31
  563. package/variables/base-variable.js +117 -166
  564. package/variables/constants.js +5 -8
  565. package/variables/crud-variable.js +150 -181
  566. package/variables/live-variable.d.ts +1 -1
  567. package/variables/live-variable.js +140 -174
  568. package/variables/metadata.service.js +74 -116
  569. package/variables/model-variable.js +68 -78
  570. package/variables/service-variable.js +171 -285
  571. package/wm-namespace.js +11 -14
  572. package/components/chart/src/css.d.js +0 -1
  573. package/tsconfig.declaration.tsbuildinfo +0 -1
  574. package/types/global.d.js +0 -3
@@ -1,130 +1,122 @@
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 _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
9
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
11
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
- var _isString = _interopRequireDefault(require("lodash-es/isString"));
13
- var _dom = require("@wavemaker-ai/react-runtime/core/util/dom");
14
- var _widgetObserver = require("@wavemaker-ai/react-runtime/core/widget-observer");
15
- var _serviceVariable = require("../variables/service-variable");
16
- var _liveVariable = _interopRequireDefault(require("../variables/live-variable"));
17
- var _modelVariable = require("../variables/model-variable");
18
- var _crudVariable = _interopRequireDefault(require("../variables/crud-variable"));
19
- function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
20
- function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
21
- function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
22
- 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; }
23
- 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; }
24
- // WeakMap to store proxy flags without exposing them as props
25
- var proxyMap = new WeakMap();
26
-
27
- /** Batches widget proxy React updates so many property writes in one turn → one setPageContext. */
28
-
29
- var pendingWidgetContextUpdates = null;
30
- var batchedSetPageContextForWidgets = null;
1
+ var __defProp = Object.defineProperty;
2
+ var __defProps = Object.defineProperties;
3
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ import isString from "lodash-es/isString";
21
+ import { isDOMElement, wrapWithNativeDOM } from "./util/dom";
22
+ import {
23
+ findWidgetElement,
24
+ widgetElementCallbacks
25
+ } from "./widget-observer";
26
+ import { ServiceVariable } from "../variables/service-variable";
27
+ import LiveVariable from "../variables/live-variable";
28
+ import { ModelVariable } from "../variables/model-variable";
29
+ import CrudVariable from "../variables/crud-variable";
30
+ const proxyMap = /* @__PURE__ */ new WeakMap();
31
+ let pendingWidgetContextUpdates = null;
32
+ let batchedSetPageContextForWidgets = null;
31
33
  function flushPendingWidgetContextUpdates() {
32
- var batch = pendingWidgetContextUpdates;
33
- var spc = batchedSetPageContextForWidgets;
34
+ const batch = pendingWidgetContextUpdates;
35
+ const spc = batchedSetPageContextForWidgets;
34
36
  pendingWidgetContextUpdates = null;
35
37
  batchedSetPageContextForWidgets = null;
36
- if (!(batch !== null && batch !== void 0 && batch.size) || !spc) {
38
+ if (!(batch == null ? void 0 : batch.size) || !spc) {
37
39
  return;
38
40
  }
39
- spc(function (prevContext) {
40
- var newWidgets = _objectSpread({}, prevContext.Widgets);
41
- var changed = false;
42
- var _iterator = _createForOfIteratorHelper(batch),
43
- _step;
44
- try {
45
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
46
- var _step$value = (0, _slicedToArray2["default"])(_step.value, 2),
47
- name = _step$value[0],
48
- _step$value$ = _step$value[1],
49
- w = _step$value$.widget,
50
- props = _step$value$.props;
51
- var currentWidget = prevContext.Widgets[name];
52
- var registryWidgetId = currentWidget === null || currentWidget === void 0 ? void 0 : currentWidget["data-widget-id"];
53
- var widgetId = w["data-widget-id"];
54
- if (currentWidget && registryWidgetId && widgetId) {
55
- if (registryWidgetId !== widgetId) {
56
- continue;
57
- }
41
+ spc((prevContext) => {
42
+ const newWidgets = __spreadValues({}, prevContext.Widgets);
43
+ let changed = false;
44
+ for (const [name, { widget: w, props }] of batch) {
45
+ const currentWidget = prevContext.Widgets[name];
46
+ const registryWidgetId = currentWidget == null ? void 0 : currentWidget["data-widget-id"];
47
+ const widgetId = w["data-widget-id"];
48
+ if (currentWidget && registryWidgetId && widgetId) {
49
+ if (registryWidgetId !== widgetId) {
50
+ continue;
58
51
  }
59
- newWidgets[name] = _objectSpread(_objectSpread({}, currentWidget && (0, _typeof2["default"])(currentWidget) === "object" ? currentWidget : {}), props);
60
- changed = true;
61
52
  }
62
- } catch (err) {
63
- _iterator.e(err);
64
- } finally {
65
- _iterator.f();
53
+ newWidgets[name] = __spreadValues(__spreadValues({}, currentWidget && typeof currentWidget === "object" ? currentWidget : {}), props);
54
+ changed = true;
66
55
  }
67
56
  if (!changed) {
68
57
  return prevContext;
69
58
  }
70
- return _objectSpread(_objectSpread({}, prevContext), {}, {
59
+ return __spreadProps(__spreadValues({}, prevContext), {
71
60
  Widgets: newWidgets
72
61
  });
73
62
  });
74
63
  }
75
64
  function queueBatchedWidgetContextUpdate(widgetName, widget, prop, value, setPageContext) {
76
- if ((0, _typeof2["default"])(prop) === "symbol") {
65
+ if (typeof prop === "symbol") {
77
66
  return;
78
67
  }
79
- var key = prop;
80
- var isFirstInBatch = !pendingWidgetContextUpdates;
68
+ const key = prop;
69
+ const isFirstInBatch = !pendingWidgetContextUpdates;
81
70
  if (isFirstInBatch) {
82
- pendingWidgetContextUpdates = new Map();
71
+ pendingWidgetContextUpdates = /* @__PURE__ */ new Map();
83
72
  batchedSetPageContextForWidgets = setPageContext;
84
73
  } else if (batchedSetPageContextForWidgets !== setPageContext) {
85
74
  batchedSetPageContextForWidgets = setPageContext;
86
75
  }
87
- var existing = pendingWidgetContextUpdates.get(widgetName);
76
+ const existing = pendingWidgetContextUpdates.get(widgetName);
88
77
  if (existing) {
89
78
  existing.props[key] = value;
90
79
  } else {
91
80
  pendingWidgetContextUpdates.set(widgetName, {
92
- widget: widget,
93
- props: (0, _defineProperty2["default"])({}, key, value)
81
+ widget,
82
+ props: { [key]: value }
94
83
  });
95
84
  }
96
85
  if (isFirstInBatch) {
97
86
  queueMicrotask(flushPendingWidgetContextUpdates);
98
87
  }
99
88
  }
100
-
101
- // Store the original target for each proxy
102
- var originalTargets = new WeakMap();
103
-
104
- // Array methods that mutate the array and should trigger updates
105
- var MUTATING_ARRAY_METHODS = ["push", "pop", "shift", "unshift", "splice", "sort", "reverse", "fill", "copyWithin", "put"];
106
-
107
- // Create a special proxy for arrays that preserves native behavior but triggers updates
108
- var createArrayProxy = function createArrayProxy(array, widgetName, propName, setPageContext) {
89
+ const originalTargets = /* @__PURE__ */ new WeakMap();
90
+ const MUTATING_ARRAY_METHODS = [
91
+ "push",
92
+ "pop",
93
+ "shift",
94
+ "unshift",
95
+ "splice",
96
+ "sort",
97
+ "reverse",
98
+ "fill",
99
+ "copyWithin",
100
+ "put"
101
+ ];
102
+ const createArrayProxy = (array, widgetName, propName, setPageContext) => {
109
103
  if (proxyMap.has(array)) {
110
104
  return array;
111
105
  }
112
- var arrayProxy = new Proxy(array, {
113
- get: function get(target, prop, receiver) {
114
- var value = Reflect.get(target, prop, receiver);
115
-
116
- // If it's a mutating method, wrap it to trigger updates
106
+ const arrayProxy = new Proxy(array, {
107
+ get(target, prop, receiver) {
108
+ const value = Reflect.get(target, prop, receiver);
117
109
  if (typeof prop === "string" && MUTATING_ARRAY_METHODS.includes(prop) && typeof value === "function") {
118
- return function () {
119
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
120
- args[_key] = arguments[_key];
121
- }
122
- var result = value.apply(target, args);
123
-
124
- // Trigger page context update after mutation
125
- setPageContext(function (prevContext) {
126
- return _objectSpread(_objectSpread({}, prevContext), {}, {
127
- Widgets: _objectSpread(_objectSpread({}, prevContext.Widgets), {}, (0, _defineProperty2["default"])({}, widgetName, _objectSpread(_objectSpread({}, prevContext.Widgets[widgetName]), {}, (0, _defineProperty2["default"])({}, propName, (0, _toConsumableArray2["default"])(target)))))
110
+ return function(...args) {
111
+ const result = value.apply(target, args);
112
+ setPageContext((prevContext) => {
113
+ return __spreadProps(__spreadValues({}, prevContext), {
114
+ Widgets: __spreadProps(__spreadValues({}, prevContext.Widgets), {
115
+ [widgetName]: __spreadProps(__spreadValues({}, prevContext.Widgets[widgetName]), {
116
+ [propName]: [...target]
117
+ // Create new array reference to trigger re-render
118
+ })
119
+ })
128
120
  });
129
121
  });
130
122
  return result;
@@ -132,14 +124,17 @@ var createArrayProxy = function createArrayProxy(array, widgetName, propName, se
132
124
  }
133
125
  return value;
134
126
  },
135
- set: function set(target, prop, value, receiver) {
136
- var result = Reflect.set(target, prop, value, receiver);
137
-
138
- // Trigger update for index assignments (arr[0] = value)
127
+ set(target, prop, value, receiver) {
128
+ const result = Reflect.set(target, prop, value, receiver);
139
129
  if (typeof prop === "string" && /^\d+$/.test(prop)) {
140
- setPageContext(function (prevContext) {
141
- return _objectSpread(_objectSpread({}, prevContext), {}, {
142
- Widgets: _objectSpread(_objectSpread({}, prevContext.Widgets), {}, (0, _defineProperty2["default"])({}, widgetName, _objectSpread(_objectSpread({}, prevContext.Widgets[widgetName]), {}, (0, _defineProperty2["default"])({}, propName, (0, _toConsumableArray2["default"])(target)))))
130
+ setPageContext((prevContext) => {
131
+ return __spreadProps(__spreadValues({}, prevContext), {
132
+ Widgets: __spreadProps(__spreadValues({}, prevContext.Widgets), {
133
+ [widgetName]: __spreadProps(__spreadValues({}, prevContext.Widgets[widgetName]), {
134
+ [propName]: [...target]
135
+ // Create new array reference to trigger re-render
136
+ })
137
+ })
143
138
  });
144
139
  });
145
140
  }
@@ -149,36 +144,25 @@ var createArrayProxy = function createArrayProxy(array, widgetName, propName, se
149
144
  proxyMap.set(arrayProxy, true);
150
145
  return arrayProxy;
151
146
  };
152
-
153
- // Create array proxy for state context
154
- var createStateArrayProxy = function createStateArrayProxy(array, path, propName, setPageContext) {
147
+ const createStateArrayProxy = (array, path, propName, setPageContext) => {
155
148
  if (proxyMap.has(array)) {
156
149
  return array;
157
150
  }
158
- var arrayProxy = new Proxy(array, {
159
- get: function get(target, prop, receiver) {
160
- var value = Reflect.get(target, prop, receiver);
161
-
162
- // If it's a mutating method, wrap it to trigger updates
151
+ const arrayProxy = new Proxy(array, {
152
+ get(target, prop, receiver) {
153
+ const value = Reflect.get(target, prop, receiver);
163
154
  if (typeof prop === "string" && MUTATING_ARRAY_METHODS.includes(prop) && typeof value === "function") {
164
- return function () {
165
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
166
- args[_key2] = arguments[_key2];
167
- }
168
- var result = value.apply(target, args);
169
-
170
- // Trigger state context update after mutation
171
- setPageContext(function (prev) {
172
- var newState = _objectSpread({}, prev);
173
- var current = newState;
174
- for (var i = 0; i < path.length; i++) {
175
- var key = path[i];
176
- current[key] = _objectSpread({}, current[key]);
155
+ return function(...args) {
156
+ const result = value.apply(target, args);
157
+ setPageContext((prev) => {
158
+ const newState = __spreadValues({}, prev);
159
+ let current = newState;
160
+ for (let i = 0; i < path.length; i++) {
161
+ const key = path[i];
162
+ current[key] = __spreadValues({}, current[key]);
177
163
  current = current[key];
178
164
  }
179
-
180
- // Set the new array reference to trigger re-render
181
- current[propName] = (0, _toConsumableArray2["default"])(target);
165
+ current[propName] = [...target];
182
166
  return newState;
183
167
  });
184
168
  return result;
@@ -186,22 +170,18 @@ var createStateArrayProxy = function createStateArrayProxy(array, path, propName
186
170
  }
187
171
  return value;
188
172
  },
189
- set: function set(target, prop, value, receiver) {
190
- var result = Reflect.set(target, prop, value, receiver);
191
-
192
- // Trigger update for index assignments (arr[0] = value)
173
+ set(target, prop, value, receiver) {
174
+ const result = Reflect.set(target, prop, value, receiver);
193
175
  if (typeof prop === "string" && /^\d+$/.test(prop)) {
194
- setPageContext(function (prev) {
195
- var newState = _objectSpread({}, prev);
196
- var current = newState;
197
- for (var i = 0; i < path.length; i++) {
198
- var key = path[i];
199
- current[key] = _objectSpread({}, current[key]);
176
+ setPageContext((prev) => {
177
+ const newState = __spreadValues({}, prev);
178
+ let current = newState;
179
+ for (let i = 0; i < path.length; i++) {
180
+ const key = path[i];
181
+ current[key] = __spreadValues({}, current[key]);
200
182
  current = current[key];
201
183
  }
202
-
203
- // Set the new array reference to trigger re-render
204
- current[propName] = (0, _toConsumableArray2["default"])(target);
184
+ current[propName] = [...target];
205
185
  return newState;
206
186
  });
207
187
  }
@@ -211,34 +191,27 @@ var createStateArrayProxy = function createStateArrayProxy(array, path, propName
211
191
  proxyMap.set(arrayProxy, true);
212
192
  return arrayProxy;
213
193
  };
214
- var createWidgetProxy = exports.createWidgetProxy = function createWidgetProxy(widget, widgetName, setPageContext, overriddenPropsRegistry) {
215
- // If widget is already a proxy or is a DOM element, return it directly
216
- if (proxyMap.has(widget) || (0, _dom.isDOMElement)(widget)) {
194
+ const createWidgetProxy = (widget, widgetName, setPageContext, overriddenPropsRegistry) => {
195
+ if (proxyMap.has(widget) || isDOMElement(widget)) {
217
196
  return widget;
218
197
  }
219
- if (!(0, _isString["default"])(widgetName)) {
198
+ if (!isString(widgetName)) {
220
199
  return widget;
221
200
  }
222
201
  if (widget == null) {
223
202
  return widget;
224
203
  }
225
- var proxy = new Proxy(widget, {
226
- set: function set(target, prop, value, receiver) {
227
- // Ignore internal properties
228
- if ((0, _typeof2["default"])(prop) === "symbol" || prop === "prototype") {
204
+ const proxy = new Proxy(widget, {
205
+ set(target, prop, value, receiver) {
206
+ if (typeof prop === "symbol" || prop === "prototype") {
229
207
  return Reflect.set(target, prop, value, receiver);
230
208
  }
231
-
232
- // Skip if value hasn't changed
233
- var currentVal = Reflect.get(target, prop, receiver);
209
+ const currentVal = Reflect.get(target, prop, receiver);
234
210
  if (currentVal === value) {
235
211
  return true;
236
212
  }
237
-
238
- // track script-modified properties
239
213
  if (typeof prop === "string") {
240
- var widgetId = widget["data-widget-id"];
241
- // Use page-specific registry if provided, otherwise fallback to global
214
+ const widgetId = widget["data-widget-id"];
242
215
  if (overriddenPropsRegistry && typeof overriddenPropsRegistry.trackOverriddenProps === "function") {
243
216
  overriddenPropsRegistry.trackOverriddenProps(widgetName, prop, value, widgetId);
244
217
  }
@@ -247,38 +220,31 @@ var createWidgetProxy = exports.createWidgetProxy = function createWidgetProxy(w
247
220
  queueBatchedWidgetContextUpdate(widgetName, widget, prop, value, setPageContext);
248
221
  return true;
249
222
  },
250
- get: function get(target, prop, receiver) {
251
- if ((0, _typeof2["default"])(prop) === "symbol" || prop === "prototype") {
223
+ get(target, prop, receiver) {
224
+ var _a;
225
+ if (typeof prop === "symbol" || prop === "prototype") {
252
226
  return Reflect.get(target, prop, receiver);
253
227
  }
254
-
255
- // setProperty method to set properties dynamically
256
228
  if (prop === "setProperty") {
257
- return function (key, value) {
258
- proxy[key] = value;
229
+ return function(key, value2) {
230
+ proxy[key] = value2;
259
231
  return this;
260
232
  };
261
233
  }
262
-
263
- // Special getter for $element - return jQuery-like wrapped element
264
234
  if (prop === "$element") {
265
- var rawElement = Reflect.get(target, prop, receiver);
235
+ const rawElement = Reflect.get(target, prop, receiver);
266
236
  if (rawElement) {
267
- // If already wrapped, return as-is
268
- if (rawElement.length === 1 && (0, _dom.isDOMElement)(rawElement[0])) {
237
+ if (rawElement.length === 1 && isDOMElement(rawElement[0])) {
269
238
  return rawElement;
270
239
  }
271
- // If raw DOM element, wrap it
272
- if ((0, _dom.isDOMElement)(rawElement)) {
273
- return (0, _dom.wrapWithNativeDOM)(rawElement);
240
+ if (isDOMElement(rawElement)) {
241
+ return wrapWithNativeDOM(rawElement);
274
242
  }
275
243
  }
276
-
277
- // Try to find element in DOM directly
278
- var _widgetId = widget["data-widget-id"];
279
- var element = (0, _widgetObserver.findWidgetElement)(widgetName, _widgetId);
244
+ const widgetId2 = widget["data-widget-id"];
245
+ const element = findWidgetElement(widgetName, widgetId2);
280
246
  if (element) {
281
- var wrappedElement = (0, _dom.wrapWithNativeDOM)(element);
247
+ const wrappedElement = wrapWithNativeDOM(element);
282
248
  Reflect.defineProperty(target, prop, {
283
249
  value: wrappedElement,
284
250
  writable: true,
@@ -287,18 +253,16 @@ var createWidgetProxy = exports.createWidgetProxy = function createWidgetProxy(w
287
253
  });
288
254
  return wrappedElement;
289
255
  }
290
-
291
- // Register for future element updates if not found
292
256
  if (!target._elementCallbackRegistered) {
293
- var key = _widgetId ? "".concat(widgetName, ":").concat(_widgetId) : widgetName;
294
- var callbacks = _widgetObserver.widgetElementCallbacks.get(key);
257
+ const key = widgetId2 ? `${widgetName}:${widgetId2}` : widgetName;
258
+ let callbacks = widgetElementCallbacks.get(key);
295
259
  if (!callbacks) {
296
- callbacks = new Set();
297
- _widgetObserver.widgetElementCallbacks.set(key, callbacks);
260
+ callbacks = /* @__PURE__ */ new Set();
261
+ widgetElementCallbacks.set(key, callbacks);
298
262
  }
299
- callbacks.add(function (element) {
300
- if (element) {
301
- var wrapped = (0, _dom.wrapWithNativeDOM)(element);
263
+ callbacks.add((element2) => {
264
+ if (element2) {
265
+ const wrapped = wrapWithNativeDOM(element2);
302
266
  Reflect.defineProperty(target, prop, {
303
267
  value: wrapped,
304
268
  writable: true,
@@ -316,75 +280,55 @@ var createWidgetProxy = exports.createWidgetProxy = function createWidgetProxy(w
316
280
  }
317
281
  return null;
318
282
  }
319
- var value = Reflect.get(target, prop, receiver);
320
-
321
- // Check for non-configurable, non-writable properties - must return actual value
322
- // to satisfy JavaScript Proxy invariants (prevents "get on proxy" errors)
323
- var descriptor = Object.getOwnPropertyDescriptor(target, prop);
283
+ const value = Reflect.get(target, prop, receiver);
284
+ const descriptor = Object.getOwnPropertyDescriptor(target, prop);
324
285
  if (descriptor && !descriptor.configurable && !descriptor.writable) {
325
286
  return value;
326
287
  }
327
- var widgetId = widget["data-widget-id"];
328
- // Use page-specific registry if provided, otherwise fallback to global
329
- var widgetOverrides = overriddenPropsRegistry === null || overriddenPropsRegistry === void 0 ? void 0 : overriddenPropsRegistry.getWidgetOverrides(widgetName, widgetId);
288
+ const widgetId = widget["data-widget-id"];
289
+ const widgetOverrides = overriddenPropsRegistry == null ? void 0 : overriddenPropsRegistry.getWidgetOverrides(widgetName, widgetId);
330
290
  if (widgetOverrides && prop in widgetOverrides) {
331
- var _overriddenPropsRegis;
332
- var internalValue = overriddenPropsRegistry === null || overriddenPropsRegistry === void 0 || (_overriddenPropsRegis = overriddenPropsRegistry.getLastInternalValue) === null || _overriddenPropsRegis === void 0 ? void 0 : _overriddenPropsRegis.call(overriddenPropsRegistry, widgetName, prop);
333
- return internalValue !== undefined ? internalValue : widgetOverrides[prop];
334
- }
335
-
336
- // Return DOM elements directly to preserve their context
337
- if ((0, _dom.isDOMElement)(value)) {
291
+ const internalValue = (_a = overriddenPropsRegistry == null ? void 0 : overriddenPropsRegistry.getLastInternalValue) == null ? void 0 : _a.call(
292
+ overriddenPropsRegistry,
293
+ widgetName,
294
+ prop
295
+ );
296
+ return internalValue !== void 0 ? internalValue : widgetOverrides[prop];
297
+ }
298
+ if (isDOMElement(value)) {
338
299
  return value;
339
300
  }
340
-
341
- // Return array proxy to preserve native array behavior while enabling reactivity
342
301
  if (Array.isArray(value) && typeof prop === "string") {
343
302
  return createArrayProxy(value, widgetName, prop, setPageContext);
344
303
  }
345
304
  return value;
346
305
  }
347
306
  });
348
-
349
- // Store proxy flag in WeakMap
350
307
  proxyMap.set(proxy, true);
351
- // Store original target reference
352
308
  originalTargets.set(proxy, widget);
353
309
  return proxy;
354
310
  };
355
- var createPageProxy = exports.createPageProxy = function createPageProxy(target, setPageContext, overriddenPropsRegistry) {
356
- // Cache for widget proxies
357
- var widgetProxies = new Map();
311
+ const createPageProxy = (target, setPageContext, overriddenPropsRegistry) => {
312
+ const widgetProxies = /* @__PURE__ */ new Map();
358
313
  return new Proxy(target, {
359
- get: function get(widgetsTarget, widgetName) {
360
- // Handle non-string properties
361
- if (widgetName === undefined || widgetName === "undefined") {
362
- return undefined;
314
+ get(widgetsTarget, widgetName) {
315
+ if (widgetName === void 0 || widgetName === "undefined") {
316
+ return void 0;
363
317
  }
364
318
  if (typeof widgetName !== "string") {
365
319
  return widgetsTarget[widgetName];
366
320
  }
367
-
368
- // Initialize widget if it doesn't exist
369
321
  if (!(widgetName in widgetsTarget)) {
370
- widgetsTarget[widgetName] = {
371
- name: widgetName
372
- };
322
+ widgetsTarget[widgetName] = { name: widgetName };
373
323
  }
374
- var widget = widgetsTarget[widgetName];
375
-
376
- // Return cached proxy if available
324
+ const widget = widgetsTarget[widgetName];
377
325
  if (widgetProxies.has(widgetName)) {
378
- var _proxy = widgetProxies.get(widgetName);
379
- var originalTarget = originalTargets.get(_proxy);
380
- var safeWidget = widget != null && (0, _typeof2["default"])(widget) === "object" ? widget : null;
381
- var safeOriginal = originalTarget != null && (0, _typeof2["default"])(originalTarget) === "object" ? originalTarget : null;
382
-
383
- // Always sync properties to ensure proxy has latest data
384
- // This is important when widget was initially created with minimal data
326
+ const proxy2 = widgetProxies.get(widgetName);
327
+ const originalTarget = originalTargets.get(proxy2);
328
+ const safeWidget = widget != null && typeof widget === "object" ? widget : null;
329
+ const safeOriginal = originalTarget != null && typeof originalTarget === "object" ? originalTarget : null;
385
330
  if (safeWidget && safeOriginal && (widget !== originalTarget || Object.keys(safeWidget).length > Object.keys(safeOriginal).length)) {
386
- // Copy all properties from widget to originalTarget
387
- for (var key in safeWidget) {
331
+ for (const key in safeWidget) {
388
332
  Reflect.defineProperty(safeOriginal, key, {
389
333
  value: safeWidget[key],
390
334
  writable: true,
@@ -392,39 +336,26 @@ var createPageProxy = exports.createPageProxy = function createPageProxy(target,
392
336
  enumerable: true
393
337
  });
394
338
  }
395
- // Pin widgetsTarget back to originalTarget so that subsequent GETs within the
396
- // same synchronous call stack see widget === originalTarget (no re-sync).
397
- // This prevents the sync from overwriting proxy mutations (e.g. selectedItems
398
- // set via createWidgetProxy.set) with stale values from widgetsTarget.
399
339
  widgetsTarget[widgetName] = safeOriginal;
400
340
  }
401
- return _proxy;
341
+ return proxy2;
402
342
  }
403
-
404
- // Create and cache a new proxy
405
- var proxy = widget ? createWidgetProxy(widget, widgetName, setPageContext, overriddenPropsRegistry) : undefined;
343
+ const proxy = widget ? createWidgetProxy(widget, widgetName, setPageContext, overriddenPropsRegistry) : void 0;
406
344
  widgetProxies.set(widgetName, proxy);
407
345
  return proxy;
408
346
  },
409
- set: function set(widgetsTarget, widgetName, widgetValue) {
410
- // Skip if nothing changed
347
+ set(widgetsTarget, widgetName, widgetValue) {
411
348
  if (widgetsTarget[widgetName] === widgetValue) {
412
349
  return true;
413
350
  }
414
-
415
- // Update the widget in the target
416
351
  widgetsTarget[widgetName] = widgetValue;
417
-
418
- // Update existing proxy or create a new one
419
352
  if (widgetProxies.has(widgetName)) {
420
- var proxy = widgetProxies.get(widgetName);
421
- var originalTarget = originalTargets.get(proxy);
422
-
423
- // Only copy changed properties
424
- if (widgetValue && (0, _typeof2["default"])(widgetValue) === "object") {
425
- for (var key in widgetValue) {
426
- var newVal = widgetValue[key];
427
- var oldVal = originalTarget[key];
353
+ const proxy = widgetProxies.get(widgetName);
354
+ const originalTarget = originalTargets.get(proxy);
355
+ if (widgetValue && typeof widgetValue === "object") {
356
+ for (const key in widgetValue) {
357
+ const newVal = widgetValue[key];
358
+ const oldVal = originalTarget[key];
428
359
  if (oldVal !== newVal) {
429
360
  Reflect.defineProperty(originalTarget, key, {
430
361
  value: newVal,
@@ -435,26 +366,25 @@ var createPageProxy = exports.createPageProxy = function createPageProxy(target,
435
366
  }
436
367
  }
437
368
  }
438
- } else if (widgetValue && (0, _typeof2["default"])(widgetValue) === "object") {
439
- // Create a new proxy
440
- var _proxy2 = createWidgetProxy(widgetValue, widgetName, setPageContext, overriddenPropsRegistry);
441
- widgetProxies.set(widgetName, _proxy2);
369
+ } else if (widgetValue && typeof widgetValue === "object") {
370
+ const proxy = createWidgetProxy(
371
+ widgetValue,
372
+ widgetName,
373
+ setPageContext,
374
+ overriddenPropsRegistry
375
+ );
376
+ widgetProxies.set(widgetName, proxy);
442
377
  }
443
378
  return true;
444
379
  }
445
380
  });
446
381
  };
447
- var _createStateProxy = exports.createStateProxy = function createStateProxy(obj) {
448
- var path = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
449
- var setPageContext = arguments.length > 2 ? arguments[2] : undefined;
450
- var overriddenPropsRegistry = arguments.length > 3 ? arguments[3] : undefined;
451
- // Cache for nested proxies
452
- var nestedProxies = new Map();
382
+ const createStateProxy = (obj, path = [], setPageContext, overriddenPropsRegistry) => {
383
+ const nestedProxies = /* @__PURE__ */ new Map();
453
384
  return new Proxy(obj, {
454
- get: function get(target, prop, receiver) {
385
+ get(target, prop, receiver) {
455
386
  if (prop === "eval") {
456
- return function (fn) {
457
- var failOnError = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
387
+ return (fn, failOnError = false) => {
458
388
  try {
459
389
  return fn.call(target);
460
390
  } catch (e) {
@@ -465,107 +395,113 @@ var _createStateProxy = exports.createStateProxy = function createStateProxy(obj
465
395
  }
466
396
  if (prop === "Widgets" && path.length === 0) {
467
397
  if (!nestedProxies.has("Widgets")) {
468
- nestedProxies.set("Widgets", createPageProxy(target.Widgets, setPageContext, overriddenPropsRegistry));
398
+ nestedProxies.set(
399
+ "Widgets",
400
+ createPageProxy(
401
+ target.Widgets,
402
+ setPageContext,
403
+ overriddenPropsRegistry
404
+ )
405
+ );
469
406
  }
470
407
  return nestedProxies.get("Widgets");
471
408
  }
472
409
  if (prop === "Variables" && path.length === 0) {
473
410
  if (!nestedProxies.has("Variables")) {
474
- nestedProxies.set("Variables", _createStateProxy(target.Variables, ["Variables"], setPageContext, overriddenPropsRegistry));
411
+ nestedProxies.set(
412
+ "Variables",
413
+ createStateProxy(
414
+ target.Variables,
415
+ ["Variables"],
416
+ setPageContext,
417
+ overriddenPropsRegistry
418
+ )
419
+ );
475
420
  }
476
421
  return nestedProxies.get("Variables");
477
422
  }
478
-
479
- // Do not auto-create missing properties; just return undefined
480
423
  if (!(prop in target)) {
481
- return undefined;
424
+ return void 0;
482
425
  }
483
- var value = Reflect.get(target, prop, receiver);
484
-
485
- // Return primitives directly
486
- if ((0, _typeof2["default"])(value) !== "object" || value === null) {
426
+ const value = Reflect.get(target, prop, receiver);
427
+ if (typeof value !== "object" || value === null) {
487
428
  return value;
488
429
  }
489
-
490
- // Check for non-configurable, non-writable properties - must return actual value
491
- // to satisfy JavaScript Proxy invariants (prevents "get on proxy" errors)
492
- var descriptor = Object.getOwnPropertyDescriptor(target, prop);
430
+ const descriptor = Object.getOwnPropertyDescriptor(target, prop);
493
431
  if (descriptor && !descriptor.configurable && !descriptor.writable) {
494
432
  return value;
495
433
  }
496
- if (value instanceof _serviceVariable.ServiceVariable || value instanceof _liveVariable["default"]) {
434
+ if (value instanceof ServiceVariable || value instanceof LiveVariable) {
497
435
  return value;
498
436
  }
499
-
500
- // Return DOM elements directly without proxying
501
- if ((0, _dom.isDOMElement)(value)) {
437
+ if (isDOMElement(value)) {
502
438
  return value;
503
439
  }
504
440
  if (value instanceof Map || value instanceof Date) {
505
441
  return value;
506
442
  }
507
-
508
- // Return array proxy to preserve native array behavior while enabling reactivity
509
443
  if (Array.isArray(value)) {
510
- return createStateArrayProxy(value, path, prop, setPageContext);
444
+ return createStateArrayProxy(
445
+ value,
446
+ path,
447
+ prop,
448
+ setPageContext
449
+ );
511
450
  }
512
-
513
- // Use cached proxy if available
514
451
  if (nestedProxies.has(prop)) {
515
452
  return nestedProxies.get(prop);
516
453
  }
517
- if (target !== null && target !== void 0 && target.prefab) {
454
+ if (target == null ? void 0 : target.prefab) {
518
455
  if (nestedProxies.has(target.name)) {
519
456
  return nestedProxies.get(target.name)[prop];
520
457
  }
521
458
  }
522
-
523
- // Create and cache a new nested proxy
524
- var nestedProxy = _createStateProxy(value, [].concat((0, _toConsumableArray2["default"])(path), [prop]), setPageContext, overriddenPropsRegistry);
459
+ const nestedProxy = createStateProxy(
460
+ value,
461
+ [...path, prop],
462
+ setPageContext,
463
+ overriddenPropsRegistry
464
+ );
525
465
  nestedProxies.set(prop, nestedProxy);
526
466
  return nestedProxy;
527
467
  },
528
- set: function set(target, prop, value, receiver) {
529
- // Skip if value hasn't changed
530
- var currentVal = Reflect.get(target, prop, receiver);
468
+ set(target, prop, value, receiver) {
469
+ const currentVal = Reflect.get(target, prop, receiver);
531
470
  if (currentVal === value) {
532
471
  return true;
533
472
  }
534
-
535
- // Update target directly
536
473
  Reflect.set(target, prop, value, receiver);
537
-
538
- // Clear cached proxy if value is an object (but not an array)
539
- if ((0, _typeof2["default"])(value) === "object" && value !== null && !Array.isArray(value) && nestedProxies.has(prop)) {
540
- nestedProxies["delete"](prop);
474
+ if (typeof value === "object" && value !== null && !Array.isArray(value) && nestedProxies.has(prop)) {
475
+ nestedProxies.delete(prop);
541
476
  }
542
- if (target !== null && target !== void 0 && target.prefab) {
477
+ if (target == null ? void 0 : target.prefab) {
543
478
  if (nestedProxies.has(target.name)) {
544
- var existingProxy = nestedProxies.get(target.name);
479
+ const existingProxy = nestedProxies.get(target.name);
545
480
  existingProxy[prop] = value;
546
481
  } else {
547
482
  nestedProxies.set(target.name, createWidgetProxy(target, target.name, setPageContext));
548
483
  }
549
484
  }
550
- setPageContext(function (prev) {
551
- // Create minimal copies along path
552
- var newState = _objectSpread({}, prev);
553
- var current = newState;
554
- for (var i = 0; i < path.length; i++) {
555
- var key = path[i];
556
- // for variables not spreading to hold the instance reference
557
- var existing = current[key];
558
- var isVariableInstance = (0, _typeof2["default"])(existing) === "object" && (existing instanceof _serviceVariable.ServiceVariable || existing instanceof _liveVariable["default"] || existing instanceof _modelVariable.ModelVariable || existing instanceof _crudVariable["default"]);
559
- var newVal = isVariableInstance ? existing : existing ? _objectSpread({}, existing) : {};
485
+ setPageContext((prev) => {
486
+ const newState = __spreadValues({}, prev);
487
+ let current = newState;
488
+ for (let i = 0; i < path.length; i++) {
489
+ const key = path[i];
490
+ const existing = current[key];
491
+ const isVariableInstance = typeof existing === "object" && (existing instanceof ServiceVariable || existing instanceof LiveVariable || existing instanceof ModelVariable || existing instanceof CrudVariable);
492
+ const newVal = isVariableInstance ? existing : existing ? __spreadValues({}, existing) : {};
560
493
  current[key] = newVal;
561
494
  current = current[key];
562
495
  }
563
-
564
- // Set the value
565
496
  current[prop] = value;
566
497
  return newState;
567
498
  });
568
499
  return true;
569
500
  }
570
501
  });
571
- };
502
+ };
503
+ export {
504
+ createPageProxy,
505
+ createStateProxy,
506
+ createWidgetProxy
507
+ };