xmlui 0.7.14 → 0.7.16

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 (393) hide show
  1. package/dist/{apiInterceptorWorker-FBzCR_-x.mjs → apiInterceptorWorker-21XItUaB.mjs} +1 -1
  2. package/dist/{grammar.tmLanguage-D3zpG8BQ.mjs → grammar.tmLanguage-Qpdanc5_.mjs} +6 -6
  3. package/dist/{index-rxu3P0l4.mjs → index-CFCUmuUo.mjs} +10368 -10074
  4. package/dist/index.css +1 -1
  5. package/dist/scripts/bin/build.js +17 -7
  6. package/dist/scripts/bin/vite-ueml-plugin.js +17 -7
  7. package/dist/scripts/bin/viteConfig.js +17 -7
  8. package/dist/scripts/package.json +209 -0
  9. package/dist/scripts/src/abstractions/scripting/ScriptingSourceTreeExp.js +51 -0
  10. package/dist/scripts/src/components/APICall/APICall.js +74 -0
  11. package/dist/scripts/src/components/APICall/APICallNative.js +31 -0
  12. package/dist/scripts/src/components/Accordion/Accordion.js +78 -0
  13. package/dist/scripts/src/components/Accordion/AccordionContext.js +20 -0
  14. package/dist/scripts/src/components/Accordion/AccordionItem.js +28 -0
  15. package/dist/scripts/src/components/Accordion/AccordionItemNative.js +79 -0
  16. package/dist/scripts/src/components/Accordion/AccordionNative.js +122 -0
  17. package/dist/scripts/src/components/Alert/Alert.js +42 -0
  18. package/dist/scripts/src/components/Alert/AlertNative.js +8 -0
  19. package/dist/scripts/src/components/Animation/Animation.js +59 -0
  20. package/dist/scripts/src/components/Animation/AnimationNative.js +75 -0
  21. package/dist/scripts/src/components/App/App.js +76 -0
  22. package/dist/scripts/src/components/App/AppLayoutContext.js +49 -0
  23. package/dist/scripts/src/components/App/AppNative.js +204 -0
  24. package/dist/scripts/src/components/App/AppStateContext.js +9 -0
  25. package/dist/scripts/src/components/App/Sheet.js +99 -0
  26. package/dist/scripts/src/components/AppHeader/AppHeader.js +59 -0
  27. package/dist/scripts/src/components/AppHeader/AppHeaderNative.js +58 -0
  28. package/dist/scripts/src/components/AppState/AppState.js +26 -0
  29. package/dist/scripts/src/components/AppState/AppStateNative.js +24 -0
  30. package/dist/scripts/src/components/AutoComplete/AutoComplete.js +83 -0
  31. package/dist/scripts/src/components/AutoComplete/AutoCompleteContext.js +16 -0
  32. package/dist/scripts/src/components/AutoComplete/AutoCompleteNative.js +225 -0
  33. package/dist/scripts/src/components/Avatar/Avatar.js +47 -0
  34. package/dist/scripts/src/components/Avatar/AvatarNative.js +40 -0
  35. package/dist/scripts/src/components/Backdrop/Backdrop.js +31 -0
  36. package/dist/scripts/src/components/Backdrop/BackdropNative.js +14 -0
  37. package/dist/scripts/src/components/Badge/Badge.js +58 -0
  38. package/dist/scripts/src/components/Badge/BadgeNative.js +22 -0
  39. package/dist/scripts/src/components/BarChart/BarChart.js +49 -0
  40. package/dist/scripts/src/components/BarChart/BarChartNative.js +176 -0
  41. package/dist/scripts/src/components/Bookmark/Bookmark.js +23 -0
  42. package/dist/scripts/src/components/Bookmark/BookmarkNative.js +24 -0
  43. package/dist/scripts/src/components/Breakout/Breakout.js +16 -0
  44. package/dist/scripts/src/components/Breakout/BreakoutNative.js +12 -0
  45. package/dist/scripts/src/components/Button/Button.js +142 -0
  46. package/dist/scripts/src/components/Button/ButtonNative.js +88 -0
  47. package/dist/scripts/src/components/ButtonGroup/ButtonGroup.js +41 -0
  48. package/dist/scripts/src/components/ButtonGroup/ButtonGroupNative.js +8 -0
  49. package/dist/scripts/src/components/Card/Card.js +57 -0
  50. package/dist/scripts/src/components/Card/CardNative.js +26 -0
  51. package/dist/scripts/src/components/Carousel/Carousel.js +68 -0
  52. package/dist/scripts/src/components/Carousel/CarouselItem.js +16 -0
  53. package/dist/scripts/src/components/Carousel/CarouselItemNative.js +13 -0
  54. package/dist/scripts/src/components/Carousel/CarouselNative.js +163 -0
  55. package/dist/scripts/src/components/ChangeListener/ChangeListener.js +24 -0
  56. package/dist/scripts/src/components/ChangeListener/ChangeListenerNative.js +26 -0
  57. package/dist/scripts/src/components/Chart/Chart.js +24 -0
  58. package/dist/scripts/src/components/Chart/ChartNative.js +165 -0
  59. package/dist/scripts/src/components/Checkbox/Checkbox.js +68 -0
  60. package/dist/scripts/src/components/Column/Column.js +34 -0
  61. package/dist/scripts/src/components/Column/ColumnNative.js +38 -0
  62. package/dist/scripts/src/components/Column/TableContext.js +12 -0
  63. package/dist/scripts/src/components/ComponentProvider.js +503 -0
  64. package/dist/scripts/src/components/ComponentRegistryContext.js +44 -0
  65. package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +38 -0
  66. package/dist/scripts/src/components/ContentSeparator/ContentSeparatorNative.js +16 -0
  67. package/dist/scripts/src/components/DatePicker/DatePicker.js +62 -0
  68. package/dist/scripts/src/components/DatePicker/DatePickerNative.js +196 -0
  69. package/dist/scripts/src/components/DropdownMenu/DropdownMenu.js +125 -0
  70. package/dist/scripts/src/components/DropdownMenu/DropdownMenuNative.js +95 -0
  71. package/dist/scripts/src/components/EmojiSelector/EmojiSelector.js +26 -0
  72. package/dist/scripts/src/components/EmojiSelector/EmojiSelectorNative.js +52 -0
  73. package/dist/scripts/src/components/FileInput/FileInput.js +64 -0
  74. package/dist/scripts/src/components/FileInput/FileInputNative.js +128 -0
  75. package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.js +46 -0
  76. package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZoneNative.js +112 -0
  77. package/dist/scripts/src/components/FlowLayout/FlowLayout.js +53 -0
  78. package/dist/scripts/src/components/FlowLayout/FlowLayoutNative.js +108 -0
  79. package/dist/scripts/src/components/Footer/Footer.js +35 -0
  80. package/dist/scripts/src/components/Footer/FooterNative.js +20 -0
  81. package/dist/scripts/src/components/Form/Form.js +89 -0
  82. package/dist/scripts/src/components/Form/FormContext.js +9 -0
  83. package/dist/scripts/src/components/Form/FormNative.js +317 -0
  84. package/dist/scripts/src/components/Form/formActions.js +114 -0
  85. package/dist/scripts/src/components/FormItem/FormItem.js +125 -0
  86. package/dist/scripts/src/components/FormItem/FormItemNative.js +157 -0
  87. package/dist/scripts/src/components/FormItem/HelperText.js +27 -0
  88. package/dist/scripts/src/components/FormItem/ItemWithLabel.js +40 -0
  89. package/dist/scripts/src/components/FormItem/Validations.js +351 -0
  90. package/dist/scripts/src/components/FormSection/FormSection.js +41 -0
  91. package/dist/scripts/src/components/Heading/Heading.js +258 -0
  92. package/dist/scripts/src/components/Heading/HeadingNative.js +47 -0
  93. package/dist/scripts/src/components/HoverCard/HoverCard.js +19 -0
  94. package/dist/scripts/src/components/HoverCard/HovercardNative.js +44 -0
  95. package/dist/scripts/src/components/Icon/ApiIcon.js +10 -0
  96. package/dist/scripts/src/components/Icon/Attach.js +10 -0
  97. package/dist/scripts/src/components/Icon/Binding.js +11 -0
  98. package/dist/scripts/src/components/Icon/BoardIcon.js +7 -0
  99. package/dist/scripts/src/components/Icon/BoxIcon.js +10 -0
  100. package/dist/scripts/src/components/Icon/CheckIcon.js +7 -0
  101. package/dist/scripts/src/components/Icon/ChevronLeft.js +7 -0
  102. package/dist/scripts/src/components/Icon/ChevronRight.js +7 -0
  103. package/dist/scripts/src/components/Icon/CodeFileIcon.js +10 -0
  104. package/dist/scripts/src/components/Icon/CodeSandbox.js +10 -0
  105. package/dist/scripts/src/components/Icon/CompactListIcon.js +7 -0
  106. package/dist/scripts/src/components/Icon/ContentCopyIcon.js +7 -0
  107. package/dist/scripts/src/components/Icon/DatabaseIcon.js +11 -0
  108. package/dist/scripts/src/components/Icon/DocFileIcon.js +10 -0
  109. package/dist/scripts/src/components/Icon/DocIcon.js +10 -0
  110. package/dist/scripts/src/components/Icon/DotMenuHorizontalIcon.js +7 -0
  111. package/dist/scripts/src/components/Icon/DotMenuIcon.js +7 -0
  112. package/dist/scripts/src/components/Icon/EmailIcon.js +7 -0
  113. package/dist/scripts/src/components/Icon/EmptyFolderIcon.js +10 -0
  114. package/dist/scripts/src/components/Icon/ErrorIcon.js +7 -0
  115. package/dist/scripts/src/components/Icon/ExpressionIcon.js +10 -0
  116. package/dist/scripts/src/components/Icon/FillPlusCricleIcon.js +7 -0
  117. package/dist/scripts/src/components/Icon/FilterIcon.js +10 -0
  118. package/dist/scripts/src/components/Icon/FolderIcon.js +10 -0
  119. package/dist/scripts/src/components/Icon/GlobeIcon.js +7 -0
  120. package/dist/scripts/src/components/Icon/HomeIcon.js +7 -0
  121. package/dist/scripts/src/components/Icon/HyperLinkIcon.js +7 -0
  122. package/dist/scripts/src/components/Icon/Icon.js +32 -0
  123. package/dist/scripts/src/components/Icon/IconNative.js +102 -0
  124. package/dist/scripts/src/components/Icon/ImageFileIcon.js +10 -0
  125. package/dist/scripts/src/components/Icon/LinkIcon.js +7 -0
  126. package/dist/scripts/src/components/Icon/ListIcon.js +7 -0
  127. package/dist/scripts/src/components/Icon/LooseListIcon.js +7 -0
  128. package/dist/scripts/src/components/Icon/MoonIcon.js +10 -0
  129. package/dist/scripts/src/components/Icon/MoreOptionsIcon.js +7 -0
  130. package/dist/scripts/src/components/Icon/NoSortIcon.js +8 -0
  131. package/dist/scripts/src/components/Icon/PDFIcon.js +10 -0
  132. package/dist/scripts/src/components/Icon/PenIcon.js +7 -0
  133. package/dist/scripts/src/components/Icon/PhoneIcon.js +7 -0
  134. package/dist/scripts/src/components/Icon/PhotoIcon.js +10 -0
  135. package/dist/scripts/src/components/Icon/PlusIcon.js +7 -0
  136. package/dist/scripts/src/components/Icon/SearchIcon.js +7 -0
  137. package/dist/scripts/src/components/Icon/ShareIcon.js +10 -0
  138. package/dist/scripts/src/components/Icon/SortAscendingIcon.js +8 -0
  139. package/dist/scripts/src/components/Icon/SortDescendingIcon.js +8 -0
  140. package/dist/scripts/src/components/Icon/SunIcon.js +10 -0
  141. package/dist/scripts/src/components/Icon/TrashIcon.js +7 -0
  142. package/dist/scripts/src/components/Icon/TrendingDownIcon.js +10 -0
  143. package/dist/scripts/src/components/Icon/TrendingLevelIcon.js +10 -0
  144. package/dist/scripts/src/components/Icon/TrendingUpIcon.js +10 -0
  145. package/dist/scripts/src/components/Icon/TxtIcon.js +10 -0
  146. package/dist/scripts/src/components/Icon/UnknownFileIcon.js +10 -0
  147. package/dist/scripts/src/components/Icon/UnlinkIcon.js +10 -0
  148. package/dist/scripts/src/components/Icon/UserIcon.js +7 -0
  149. package/dist/scripts/src/components/Icon/WarningIcon.js +7 -0
  150. package/dist/scripts/src/components/Icon/XlsIcon.js +10 -0
  151. package/dist/scripts/src/components/IconInfoCard/IconInfoCard.js +39 -0
  152. package/dist/scripts/src/components/IconProvider.js +264 -0
  153. package/dist/scripts/src/components/IconRegistryContext.js +317 -0
  154. package/dist/scripts/src/components/Image/Image.js +35 -0
  155. package/dist/scripts/src/components/Image/ImageNative.js +15 -0
  156. package/dist/scripts/src/components/Input/InputAdornment.js +14 -0
  157. package/dist/scripts/src/components/Items/Items.js +33 -0
  158. package/dist/scripts/src/components/Items/ItemsNative.js +29 -0
  159. package/dist/scripts/src/components/Link/Link.js +64 -0
  160. package/dist/scripts/src/components/Link/LinkNative.js +26 -0
  161. package/dist/scripts/src/components/List/List.js +81 -0
  162. package/dist/scripts/src/components/List/ListNative.js +425 -0
  163. package/dist/scripts/src/components/Logo/Logo.js +16 -0
  164. package/dist/scripts/src/components/Logo/LogoNative.js +15 -0
  165. package/dist/scripts/src/components/Map/Map.js +75 -0
  166. package/dist/scripts/src/components/Map/world_countries.json +45307 -0
  167. package/dist/scripts/src/components/Markdown/Markdown.js +45 -0
  168. package/dist/scripts/src/components/Markdown/MarkdownNative.js +107 -0
  169. package/dist/scripts/src/components/ModalDialog/ConfirmationModalContextProvider.js +116 -0
  170. package/dist/scripts/src/components/ModalDialog/Dialog.js +20 -0
  171. package/dist/scripts/src/components/ModalDialog/ModalDialog.js +64 -0
  172. package/dist/scripts/src/components/ModalDialog/ModalDialogNative.js +167 -0
  173. package/dist/scripts/src/components/ModalDialog/ModalVisibilityContext.js +60 -0
  174. package/dist/scripts/src/components/NavGroup/NavGroup.js +34 -0
  175. package/dist/scripts/src/components/NavGroup/NavGroupNative.js +91 -0
  176. package/dist/scripts/src/components/NavLink/NavLink.js +71 -0
  177. package/dist/scripts/src/components/NavLink/NavLinkNative.js +61 -0
  178. package/dist/scripts/src/components/NavPanel/NavPanel.js +31 -0
  179. package/dist/scripts/src/components/NavPanel/NavPanelNative.js +74 -0
  180. package/dist/scripts/src/components/NoResult/NoResult.js +38 -0
  181. package/dist/scripts/src/components/NoResult/NoResultNative.js +13 -0
  182. package/dist/scripts/src/components/NumberBox/NumberBox.js +61 -0
  183. package/dist/scripts/src/components/NumberBox/NumberBoxNative.js +336 -0
  184. package/dist/scripts/src/components/NumberBox/numberbox-abstractions.js +74 -0
  185. package/dist/scripts/src/components/OffCanvas/OffCanvas.js +57 -0
  186. package/dist/scripts/src/components/OffCanvas/OffCanvasNative.js +48 -0
  187. package/dist/scripts/src/components/Option/Option.js +33 -0
  188. package/dist/scripts/src/components/Option/OptionTypeProvider.js +16 -0
  189. package/dist/scripts/src/components/PageHeader/PageHeader.js +36 -0
  190. package/dist/scripts/src/components/PageMetaTitle/PageMetaTilteNative.js +9 -0
  191. package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.js +18 -0
  192. package/dist/scripts/src/components/Pages/Pages.js +33 -0
  193. package/dist/scripts/src/components/Pages/PagesNative.js +69 -0
  194. package/dist/scripts/src/components/PieChart/PieChart.js +45 -0
  195. package/dist/scripts/src/components/PieChart/PieChartNative.js +165 -0
  196. package/dist/scripts/src/components/PositionedContainer/PositionedContainer.js +24 -0
  197. package/dist/scripts/src/components/PositionedContainer/PositionedContainerNative.js +14 -0
  198. package/dist/scripts/src/components/ProgressBar/ProgressBar.js +36 -0
  199. package/dist/scripts/src/components/ProgressBar/ProgressBarNative.js +12 -0
  200. package/dist/scripts/src/components/Queue/Queue.js +71 -0
  201. package/dist/scripts/src/components/Queue/QueueNative.js +278 -0
  202. package/dist/scripts/src/components/Queue/queueActions.js +87 -0
  203. package/dist/scripts/src/components/RadioGroup/RadioGroup.js +68 -0
  204. package/dist/scripts/src/components/RadioGroup/RadioGroupNative.js +103 -0
  205. package/dist/scripts/src/components/Range/Range.js +56 -0
  206. package/dist/scripts/src/components/Range/RangeNative.js +8 -0
  207. package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapter.js +21 -0
  208. package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapterNative.js +131 -0
  209. package/dist/scripts/src/components/Redirect/Redirect.js +20 -0
  210. package/dist/scripts/src/components/Select/OptionContext.js +12 -0
  211. package/dist/scripts/src/components/Select/Select.js +98 -0
  212. package/dist/scripts/src/components/Select/SelectContext.js +9 -0
  213. package/dist/scripts/src/components/Select/SelectNative.js +213 -0
  214. package/dist/scripts/src/components/SelectionStore/SelectionStore.js +22 -0
  215. package/dist/scripts/src/components/SelectionStore/SelectionStoreNative.js +94 -0
  216. package/dist/scripts/src/components/Slider/Slider.js +54 -0
  217. package/dist/scripts/src/components/Slider/SliderNative.js +8 -0
  218. package/dist/scripts/src/components/SpaceFiller/SpaceFiller.js +19 -0
  219. package/dist/scripts/src/components/SpaceFiller/SpaceFillerNative.js +10 -0
  220. package/dist/scripts/src/components/Spinner/Spinner.js +42 -0
  221. package/dist/scripts/src/components/Spinner/SpinnerNative.js +32 -0
  222. package/dist/scripts/src/components/Splitter/Splitter.js +89 -0
  223. package/dist/scripts/src/components/Splitter/SplitterNative.js +159 -0
  224. package/dist/scripts/src/components/Splitter/utils.js +17 -0
  225. package/dist/scripts/src/components/Stack/Stack.js +110 -0
  226. package/dist/scripts/src/components/Stack/StackNative.js +39 -0
  227. package/dist/scripts/src/components/StateViewer/StateViewerNative.js +19 -0
  228. package/dist/scripts/src/components/StickyBox/StickyBox.js +30 -0
  229. package/dist/scripts/src/components/StickyBox/StickyBoxNative.js +15 -0
  230. package/dist/scripts/src/components/Switch/Switch.js +72 -0
  231. package/dist/scripts/src/components/Table/Table.js +184 -0
  232. package/dist/scripts/src/components/Table/TableNative.js +470 -0
  233. package/dist/scripts/src/components/Table/useRowSelection.js +245 -0
  234. package/dist/scripts/src/components/TableHeader/TableHeader.js +34 -0
  235. package/dist/scripts/src/components/TableOfContents/TableOfContents.js +74 -0
  236. package/dist/scripts/src/components/TableOfContents/TableOfContentsNative.js +56 -0
  237. package/dist/scripts/src/components/Tabs/TabContext.js +45 -0
  238. package/dist/scripts/src/components/Tabs/TabItem.js +20 -0
  239. package/dist/scripts/src/components/Tabs/TabItemNative.js +24 -0
  240. package/dist/scripts/src/components/Tabs/Tabs.js +55 -0
  241. package/dist/scripts/src/components/Tabs/TabsNative.js +72 -0
  242. package/dist/scripts/src/components/Text/Text.js +122 -0
  243. package/dist/scripts/src/components/Text/TextNative.js +124 -0
  244. package/dist/scripts/src/components/TextArea/TextArea.js +65 -0
  245. package/dist/scripts/src/components/TextArea/TextAreaNative.js +176 -0
  246. package/dist/scripts/src/components/TextArea/TextAreaResizable.js +73 -0
  247. package/dist/scripts/src/components/TextArea/useComposedRef.js +60 -0
  248. package/dist/scripts/src/components/TextBox/TextBox.js +85 -0
  249. package/dist/scripts/src/components/TextBox/TextBoxNative.js +109 -0
  250. package/dist/scripts/src/components/Theme/NotificationToast.js +50 -0
  251. package/dist/scripts/src/components/Theme/Theme.js +43 -0
  252. package/dist/scripts/src/components/Theme/ThemeNative.js +126 -0
  253. package/dist/scripts/src/components/ThemeChanger/ThemeChanger.js +115 -0
  254. package/dist/scripts/src/components/ThemeChanger/ToneChangerButton.js +28 -0
  255. package/dist/scripts/src/components/Toggle/Toggle.js +98 -0
  256. package/dist/scripts/src/components/Toolbar/Toolbar.js +32 -0
  257. package/dist/scripts/src/components/ToolbarButton/ToolbarButton.js +38 -0
  258. package/dist/scripts/src/components/Tree/TreeComponent.js +32 -0
  259. package/dist/scripts/src/components/Tree/TreeNative.js +69 -0
  260. package/dist/scripts/src/components/TrendLabel/TrendLabel.js +37 -0
  261. package/dist/scripts/src/components/ValidationSummary/ValidationSummary.js +59 -0
  262. package/dist/scripts/src/components/abstractions.js +151 -0
  263. package/dist/scripts/src/components/chart-color-schemes.js +43 -0
  264. package/dist/scripts/src/components/component-utils.js +17 -0
  265. package/dist/scripts/src/components/container-helpers.js +25 -0
  266. package/dist/scripts/src/components/metadata-helpers.js +245 -0
  267. package/dist/scripts/src/components/slot-helpers.js +22 -0
  268. package/dist/scripts/src/components-core/ApiBoundComponent.js +194 -0
  269. package/dist/scripts/src/components-core/AppContext.js +16 -0
  270. package/dist/scripts/src/components-core/AppRoot.js +424 -0
  271. package/dist/scripts/src/components-core/ComponentBed.js +325 -0
  272. package/dist/scripts/src/components-core/ComponentDecorator.js +90 -0
  273. package/dist/scripts/src/components-core/CompoundComponent.js +144 -0
  274. package/dist/scripts/src/components-core/DebugViewProvider.js +43 -0
  275. package/dist/scripts/src/components-core/EngineError.js +91 -0
  276. package/dist/scripts/src/components-core/ErrorBoundary.js +59 -0
  277. package/dist/scripts/src/components-core/Fragment.js +15 -0
  278. package/dist/scripts/src/components-core/InspectorContext.js +176 -0
  279. package/dist/scripts/src/components-core/InvalidComponent.js +17 -0
  280. package/dist/scripts/src/components-core/LoaderComponent.js +92 -0
  281. package/dist/scripts/src/components-core/RestApiProxy.js +354 -0
  282. package/dist/scripts/src/components-core/ScrollContext.js +11 -0
  283. package/dist/scripts/src/components-core/Slot.js +17 -0
  284. package/dist/scripts/src/components-core/StandaloneApp.js +589 -0
  285. package/dist/scripts/src/components-core/StandaloneComponentManager.js +51 -0
  286. package/dist/scripts/src/components-core/TableOfContentsContext.js +110 -0
  287. package/dist/scripts/src/components-core/UnknownComponent.js +15 -0
  288. package/dist/scripts/src/components-core/XmluiCodeHighlighter.js +110 -0
  289. package/dist/scripts/src/components-core/abstractions/ComponentRenderer.js +2 -0
  290. package/dist/scripts/src/components-core/abstractions/LoaderRenderer.js +2 -0
  291. package/dist/scripts/src/components-core/abstractions/containers.js +18 -0
  292. package/dist/scripts/src/components-core/abstractions/standalone.js +2 -0
  293. package/dist/scripts/src/components-core/abstractions/treeAbstractions.js +2 -0
  294. package/dist/scripts/src/components-core/action/APICall.js +283 -0
  295. package/dist/scripts/src/components-core/action/FileDownloadAction.js +80 -0
  296. package/dist/scripts/src/components-core/action/FileUploadAction.js +88 -0
  297. package/dist/scripts/src/components-core/action/NavigateAction.js +20 -0
  298. package/dist/scripts/src/components-core/action/TimedAction.js +21 -0
  299. package/dist/scripts/src/components-core/action/actions.js +15 -0
  300. package/dist/scripts/src/components-core/appContext/date-functions.js +19 -0
  301. package/dist/scripts/src/components-core/appContext/math-function.js +27 -0
  302. package/dist/scripts/src/components-core/appContext/misc-utils.js +12 -0
  303. package/dist/scripts/src/components-core/component-hooks.js +25 -0
  304. package/dist/scripts/src/components-core/constants.js +18 -0
  305. package/dist/scripts/src/components-core/container/Container.js +1241 -0
  306. package/dist/scripts/src/components-core/container/buildProxy.js +54 -0
  307. package/dist/scripts/src/components-core/container/collectFnVarDeps.js +49 -0
  308. package/dist/scripts/src/components-core/container/valueExtractor.js +205 -0
  309. package/dist/scripts/src/components-core/descriptorHelper.js +72 -0
  310. package/dist/scripts/src/components-core/interception/ApiInterceptor.js +198 -0
  311. package/dist/scripts/src/components-core/interception/ApiInterceptorProvider.js +94 -0
  312. package/dist/scripts/src/components-core/interception/Backend.js +129 -0
  313. package/dist/scripts/src/components-core/interception/Errors.js +129 -0
  314. package/dist/scripts/src/components-core/interception/InMemoryDb.js +41 -0
  315. package/dist/scripts/src/components-core/interception/IndexedDb.js +205 -0
  316. package/dist/scripts/src/components-core/interception/ReadonlyCollection.js +145 -0
  317. package/dist/scripts/src/components-core/interception/abstractions.js +2 -0
  318. package/dist/scripts/src/components-core/interception/apiInterceptorWorker.js +46 -0
  319. package/dist/scripts/src/components-core/interception/useApiInterceptorContext.js +9 -0
  320. package/dist/scripts/src/components-core/loader/ApiLoader.js +54 -0
  321. package/dist/scripts/src/components-core/loader/DataLoader.js +149 -0
  322. package/dist/scripts/src/components-core/loader/ExternalDataLoader.js +62 -0
  323. package/dist/scripts/src/components-core/loader/Loader.js +126 -0
  324. package/dist/scripts/src/components-core/loader/MockLoaderRenderer.js +40 -0
  325. package/dist/scripts/src/components-core/loader/PageableLoader.js +262 -0
  326. package/dist/scripts/src/components-core/markup-check.js +279 -0
  327. package/dist/scripts/src/components-core/renderers.js +45 -0
  328. package/dist/scripts/src/components-core/reportEngineError.js +62 -0
  329. package/dist/scripts/src/components-core/script-runner/BindingTreeEvaluationContext.js +35 -0
  330. package/dist/scripts/src/components-core/script-runner/ICustomOperations.js +34 -0
  331. package/dist/scripts/src/components-core/script-runner/ParameterParser.js +117 -0
  332. package/dist/scripts/src/components-core/script-runner/asyncProxy.js +149 -0
  333. package/dist/scripts/src/components-core/script-runner/bannedFunctions.js +34 -0
  334. package/dist/scripts/src/components-core/script-runner/custom-operations-registry.js +40 -0
  335. package/dist/scripts/src/components-core/script-runner/custom-ui-data.js +40 -0
  336. package/dist/scripts/src/components-core/script-runner/eval-tree-async.js +593 -0
  337. package/dist/scripts/src/components-core/script-runner/eval-tree-common.js +497 -0
  338. package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +482 -0
  339. package/dist/scripts/src/components-core/script-runner/process-statement-async.js +766 -0
  340. package/dist/scripts/src/components-core/script-runner/process-statement-common.js +193 -0
  341. package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +752 -0
  342. package/dist/scripts/src/components-core/script-runner/statement-queue.js +62 -0
  343. package/dist/scripts/src/components-core/script-runner/syncProxy.js +31 -0
  344. package/dist/scripts/src/components-core/script-runner/visitors.js +361 -0
  345. package/dist/scripts/src/components-core/theming/ThemeContext.js +53 -0
  346. package/dist/scripts/src/components-core/theming/ThemeProvider.js +335 -0
  347. package/dist/scripts/src/components-core/theming/abstractions.js +11 -0
  348. package/dist/scripts/src/components-core/theming/extendThemeUtils.js +114 -0
  349. package/dist/scripts/src/components-core/theming/hvar.js +105 -0
  350. package/dist/scripts/src/components-core/theming/themeVars.js +62 -0
  351. package/dist/scripts/src/components-core/theming/themes/base-utils.js +31 -0
  352. package/dist/scripts/src/components-core/theming/themes/palette.js +55 -0
  353. package/dist/scripts/src/components-core/theming/themes/root.js +287 -0
  354. package/dist/scripts/src/components-core/theming/themes/solid.js +16 -0
  355. package/dist/scripts/src/components-core/theming/themes/theme-colors.js +561 -0
  356. package/dist/scripts/src/components-core/theming/themes/xmlui.js +58 -0
  357. package/dist/scripts/src/components-core/theming/transformThemeVars.js +300 -0
  358. package/dist/scripts/src/components-core/utils/DataLoaderQueryKeyGenerator.js +35 -0
  359. package/dist/scripts/src/components-core/utils/LruCache.js +184 -0
  360. package/dist/scripts/src/components-core/utils/actionUtils.js +32 -0
  361. package/dist/scripts/src/components-core/utils/classnames.js +58 -0
  362. package/dist/scripts/src/components-core/utils/compound-utils.js +11 -0
  363. package/dist/scripts/src/components-core/utils/css-utils.js +163 -0
  364. package/dist/scripts/src/components-core/utils/date-utils.js +78 -0
  365. package/dist/scripts/src/components-core/utils/extractParam.js +148 -0
  366. package/dist/scripts/src/components-core/utils/hooks.js +249 -0
  367. package/dist/scripts/src/components-core/utils/mergeProps.js +45 -0
  368. package/dist/scripts/src/components-core/utils/misc.js +472 -0
  369. package/dist/scripts/src/components-core/utils/request-params.js +70 -0
  370. package/dist/scripts/src/components-core/utils/statementUtils.js +221 -0
  371. package/dist/scripts/src/components-core/utils/treeUtils.js +48 -0
  372. package/dist/scripts/src/index.js +69 -0
  373. package/dist/scripts/src/parsers/common/GenericToken.js +2 -0
  374. package/dist/scripts/src/parsers/scripting-exp/TokenType.js +112 -0
  375. package/dist/scripts/src/parsers/style-parser/StyleInputStream.js +39 -0
  376. package/dist/scripts/src/parsers/style-parser/StyleLexer.js +623 -0
  377. package/dist/scripts/src/parsers/style-parser/StyleParser.js +1036 -0
  378. package/dist/scripts/src/parsers/style-parser/errors.js +37 -0
  379. package/dist/scripts/src/parsers/style-parser/source-tree.js +2 -0
  380. package/dist/scripts/src/parsers/style-parser/style-compiler.js +558 -0
  381. package/dist/scripts/src/parsers/style-parser/tokens.js +43 -0
  382. package/dist/scripts/src/parsers/xmlui-parser/ParserError.js +7 -0
  383. package/dist/scripts/src/parsers/xmlui-parser/transform.js +80 -32
  384. package/dist/scripts/src/syntax/grammar.tmLanguage.json +348 -0
  385. package/dist/scripts/src/syntax/textMate/xmlui.json +630 -0
  386. package/dist/style.css +1 -1
  387. package/dist/xmlui-metadata.mjs +2636 -2563
  388. package/dist/xmlui-metadata.umd.js +16 -16
  389. package/dist/xmlui-standalone.umd.js +186 -186
  390. package/dist/xmlui.d.ts +1868 -13
  391. package/dist/xmlui.mjs +1 -1
  392. package/package.json +5 -5
  393. package/dist/xmlui.umd.js +0 -293
@@ -0,0 +1,424 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const jsx_runtime_1 = require("react/jsx-runtime");
40
+ const react_1 = __importStar(require("react"));
41
+ const react_router_dom_1 = require("react-router-dom");
42
+ const react_2 = require("@remix-run/react");
43
+ const react_query_1 = require("@tanstack/react-query");
44
+ const lodash_es_1 = require("lodash-es");
45
+ const react_helmet_async_1 = require("react-helmet-async");
46
+ const react_hot_toast_1 = __importDefault(require("react-hot-toast"));
47
+ const immer_1 = require("immer");
48
+ const ErrorBoundary_1 = require("./ErrorBoundary");
49
+ const ThemeProvider_1 = __importDefault(require("@components-core//theming/ThemeProvider"));
50
+ const Container_1 = require("./container/Container");
51
+ const misc_1 = require("@components-core/utils/misc");
52
+ const constants_1 = require("@components-core/constants");
53
+ const IconProvider_1 = require("@components/IconProvider");
54
+ const date_fns_1 = require("date-fns");
55
+ const AppContext_1 = require("@components-core/AppContext");
56
+ const useApiInterceptorContext_1 = require("@components-core/interception/useApiInterceptorContext");
57
+ const themeVars_1 = require("@components-core/theming/themeVars");
58
+ const reportEngineError_1 = require("@components-core/reportEngineError");
59
+ const ThemeContext_1 = require("@components-core/theming/ThemeContext");
60
+ const date_functions_1 = require("./appContext/date-functions");
61
+ const misc_utils_1 = require("./appContext/misc-utils");
62
+ const ComponentRegistryContext_1 = require("@components/ComponentRegistryContext");
63
+ const abstractions_1 = require("@components-core/theming/abstractions");
64
+ const ComponentProvider_1 = require("@components/ComponentProvider");
65
+ const ConfirmationModalContextProvider_1 = require("@components/ModalDialog/ConfirmationModalContextProvider");
66
+ const AppStateContext_1 = require("@components/App/AppStateContext");
67
+ const hooks_1 = require("./utils/hooks");
68
+ const InspectorContext_1 = require("@components-core/InspectorContext");
69
+ const DebugViewProvider_1 = require("./DebugViewProvider");
70
+ const package_json_1 = require("../../package.json");
71
+ const math_function_1 = require("./appContext/math-function");
72
+ // --- We want to enable the produce method of `immer` on Map objects
73
+ (0, immer_1.enableMapSet)();
74
+ // --- We use this object in the app context to represent the `QlientQuery`
75
+ // --- of the react-query package.
76
+ const queryClient = new react_query_1.QueryClient({
77
+ defaultOptions: {
78
+ queries: {
79
+ refetchOnWindowFocus: false,
80
+ },
81
+ },
82
+ });
83
+ // --- We pass these functions to the global app context
84
+ const DateUtils = {
85
+ differenceInMinutes: (date1, date2) => {
86
+ return (0, date_fns_1.differenceInMinutes)(new Date(date1), new Date(date2));
87
+ },
88
+ isSameDay: (dateLeft, dateRight) => {
89
+ // console.log("IS SAME DAY", dateLeft, dateRight);
90
+ if (!dateLeft || !dateRight) {
91
+ return false;
92
+ }
93
+ return (0, date_fns_1.isSameDay)(new Date(dateLeft), new Date(dateRight));
94
+ },
95
+ isToday: (date) => {
96
+ return (0, date_fns_1.isToday)(new Date(date));
97
+ },
98
+ isThisYear: (date) => {
99
+ return (0, date_fns_1.isThisYear)(new Date(date));
100
+ },
101
+ };
102
+ // --- We pass this funtion to the global app context
103
+ function signError(error) {
104
+ react_hot_toast_1.default.error(typeof error === "string" ? error : error.message || "Something went wrong");
105
+ }
106
+ /**
107
+ * This component wraps the entire app into a container with these particular
108
+ * responsibilities:
109
+ * - Managing the application state
110
+ * - Helping the app with viewport-related functionality (e.g., information
111
+ * of viewport size, supporting responsive apps)
112
+ * - Providing xmlui-defined methods and properties for apps, such as
113
+ * `activeThemeId`, `navigate`, `toast`, and many others.
114
+ */
115
+ function AppContent({ rootContainer, routerBaseName, globalProps, standalone, trackContainerHeight, decorateComponentsWithTestId, debugEnabled, }) {
116
+ const [loggedInUser, setLoggedInUser] = (0, react_1.useState)(null);
117
+ const debugView = (0, DebugViewProvider_1.useDebugView)();
118
+ const componentRegistry = (0, ComponentRegistryContext_1.useComponentRegistry)();
119
+ const navigate = (0, react_2.useNavigate)();
120
+ const { confirm } = (0, ConfirmationModalContextProvider_1.useConfirm)();
121
+ // --- Prepare theme-related variables. We will use them to manage the selected theme
122
+ // --- and also pass them to the app context.
123
+ const { activeThemeId, activeThemeTone, setActiveThemeId, setActiveThemeTone, availableThemeIds, root, toggleThemeTone, } = (0, ThemeContext_1.useThemes)();
124
+ // --- Handle special key combinations to change the theme and tone
125
+ (0, hooks_1.useDocumentKeydown)((event) => {
126
+ // --- Alt + Ctrl + Shift + T changes the current theme
127
+ if (event.code === "KeyT" && event.altKey && event.ctrlKey && event.shiftKey) {
128
+ setActiveThemeId(availableThemeIds[(availableThemeIds.indexOf(activeThemeId) + 1) % availableThemeIds.length]);
129
+ }
130
+ // --- Alt + Ctrl + Shift + O changes the current theme tone
131
+ if (event.code === "KeyO" && event.altKey && event.ctrlKey && event.shiftKey) {
132
+ setActiveThemeTone(abstractions_1.ThemeToneKeys[(abstractions_1.ThemeToneKeys.indexOf(activeThemeTone) + 1) % abstractions_1.ThemeToneKeys.length]);
133
+ }
134
+ // --- Alt + Ctrl + Shift + S toggles the current state view
135
+ if (event.code === "KeyS" && event.altKey && event.ctrlKey && event.shiftKey) {
136
+ debugView.setDisplayStateView(!debugView.displayStateView);
137
+ }
138
+ });
139
+ // --- We use the state variables to store the current media query values
140
+ const [maxWidthPhone, setMaxWidthPhone] = (0, react_1.useState)("0");
141
+ const [maxWidthPhoneLower, setMaxWidthPhoneLower] = (0, react_1.useState)("0");
142
+ const [maxWidthLandscapePhone, setMaxWidthLandscapePhone] = (0, react_1.useState)("0");
143
+ const [maxWidthLandscapePhoneLower, setMaxWidthLandscapePhoneLower] = (0, react_1.useState)("0");
144
+ const [maxWidthTablet, setMaxWidthTablet] = (0, react_1.useState)("0");
145
+ const [maxWidthTabletLower, setMaxWidthTabletLower] = (0, react_1.useState)("0");
146
+ const [maxWidthDesktop, setMaxWidthDesktop] = (0, react_1.useState)("0");
147
+ const [maxWidthDesktopLower, setMaxWidthDesktopLower] = (0, react_1.useState)("0");
148
+ const [maxWidthLargeDesktop, setMaxWidthLargeDesktop] = (0, react_1.useState)("0");
149
+ const [maxWidthLargeDesktopLower, setMaxWidthLargeDesktopLower] = (0, react_1.useState)("0");
150
+ // --- We create a lower dimension value for the media query using a range
151
+ const createLowerDimensionValue = (dimension) => {
152
+ const match = dimension.match(/^(\d+)px$/);
153
+ return match ? `${parseInt(match[1]) - 0.02}px` : "0";
154
+ };
155
+ // --- Whenever the size of the viewport changes, we update the values
156
+ // --- related to viewport size
157
+ const observer = (0, react_1.useRef)();
158
+ (0, hooks_1.useIsomorphicLayoutEffect)(() => {
159
+ if (trackContainerHeight) {
160
+ if (root && root !== document.body) {
161
+ // --- We are already observing old element
162
+ if (observer === null || observer === void 0 ? void 0 : observer.current) {
163
+ observer.current.unobserve(root);
164
+ }
165
+ observer.current = new ResizeObserver((entries) => {
166
+ root.style.setProperty("--containerHeight", entries[0].contentRect.height + "px");
167
+ });
168
+ if (observer.current) {
169
+ observer.current.observe(root);
170
+ }
171
+ }
172
+ }
173
+ return () => {
174
+ if (observer === null || observer === void 0 ? void 0 : observer.current) {
175
+ observer.current.unobserve(root);
176
+ }
177
+ };
178
+ }, [root, observer, trackContainerHeight]);
179
+ // --- Whenever the application root DOM object or the active theme changes, we sync
180
+ // --- with the theme variable values (because we can't use css var in media queries)
181
+ (0, hooks_1.useIsomorphicLayoutEffect)(() => {
182
+ const mwPhone = getComputedStyle(root).getPropertyValue((0, themeVars_1.getVarKey)("media-max-width-phone"));
183
+ setMaxWidthPhone(mwPhone);
184
+ setMaxWidthPhoneLower(createLowerDimensionValue(mwPhone));
185
+ const mwLandscapePhone = getComputedStyle(root).getPropertyValue((0, themeVars_1.getVarKey)("media-max-width-landscape-phone"));
186
+ setMaxWidthLandscapePhone(mwLandscapePhone);
187
+ setMaxWidthLandscapePhoneLower(createLowerDimensionValue(mwLandscapePhone));
188
+ const mwTablet = getComputedStyle(root).getPropertyValue((0, themeVars_1.getVarKey)("media-max-width-tablet"));
189
+ setMaxWidthTablet(mwTablet);
190
+ setMaxWidthTabletLower(createLowerDimensionValue(mwTablet));
191
+ const mwDesktop = getComputedStyle(root).getPropertyValue((0, themeVars_1.getVarKey)("media-max-width-desktop"));
192
+ setMaxWidthDesktop(mwDesktop);
193
+ setMaxWidthDesktopLower(createLowerDimensionValue(mwDesktop));
194
+ const mwLargeDesktop = getComputedStyle(root).getPropertyValue((0, themeVars_1.getVarKey)("media-max-width-large-desktop"));
195
+ setMaxWidthLargeDesktop(mwLargeDesktop);
196
+ setMaxWidthLargeDesktopLower(createLowerDimensionValue(mwLargeDesktop));
197
+ }, [activeThemeId, root]);
198
+ // --- Set viewport size information
199
+ const isViewportPhone = (0, hooks_1.useMediaQuery)(`(max-width: ${maxWidthPhoneLower})`);
200
+ const isViewportLandscapePhone = (0, hooks_1.useMediaQuery)(`(min-width: ${maxWidthPhone}) and (max-width: ${maxWidthLandscapePhoneLower})`);
201
+ const isViewportTablet = (0, hooks_1.useMediaQuery)(`(min-width: ${maxWidthLandscapePhone}) and (max-width: ${maxWidthTabletLower})`);
202
+ const isViewportDesktop = (0, hooks_1.useMediaQuery)(`(min-width: ${maxWidthTablet}) and (max-width: ${maxWidthDesktopLower})`);
203
+ const isViewportLargeDesktop = (0, hooks_1.useMediaQuery)(`(min-width: ${maxWidthDesktop}) and (max-width: ${maxWidthLargeDesktopLower})`);
204
+ let vpSize = "xs";
205
+ let vpSizeIndex = 0;
206
+ const isViewportXlDesktop = (0, hooks_1.useMediaQuery)(`(min-width: ${maxWidthLargeDesktop})`);
207
+ if (isViewportXlDesktop) {
208
+ vpSize = "xxl";
209
+ vpSizeIndex = 5;
210
+ }
211
+ else if (isViewportLargeDesktop) {
212
+ vpSize = "xl";
213
+ vpSizeIndex = 4;
214
+ }
215
+ else if (isViewportDesktop) {
216
+ vpSize = "lg";
217
+ vpSizeIndex = 3;
218
+ }
219
+ else if (isViewportTablet) {
220
+ vpSize = "md";
221
+ vpSizeIndex = 2;
222
+ }
223
+ else if (isViewportLandscapePhone) {
224
+ vpSize = "sm";
225
+ vpSizeIndex = 1;
226
+ }
227
+ // --- Collect information about the current environment
228
+ const isInIFrame = (0, hooks_1.useIsInIFrame)();
229
+ const isWindowFocused = (0, hooks_1.useIsWindowFocused)();
230
+ const apiInterceptorContext = (0, useApiInterceptorContext_1.useApiInterceptorContext)();
231
+ const location = (0, react_2.useLocation)();
232
+ const lastHash = (0, react_1.useRef)("");
233
+ // listen to location change using useEffect with location as dependency
234
+ // https://jasonwatmore.com/react-router-v6-listen-to-location-route-change-without-history-listen
235
+ (0, react_1.useEffect)(() => {
236
+ if (location.hash) {
237
+ lastHash.current = location.hash.slice(1); // safe hash for further use after navigation
238
+ }
239
+ if (lastHash.current) {
240
+ setTimeout(() => {
241
+ var _a;
242
+ (_a = document
243
+ .getElementById(lastHash.current)) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: "instant", block: "start" });
244
+ lastHash.current = "";
245
+ }, 100);
246
+ }
247
+ }, [location]);
248
+ // --- We collect all the actions defined in the app and pass them to the app context
249
+ const Actions = (0, react_1.useMemo)(() => {
250
+ const ret = {
251
+ _SUPPORT_IMPLICIT_CONTEXT: true,
252
+ };
253
+ for (const [key, value] of componentRegistry.actionFunctions) {
254
+ ret[key] = value;
255
+ }
256
+ return ret;
257
+ }, [componentRegistry.actionFunctions]);
258
+ // --- We collect information about app embedding and pass it to the app context
259
+ const embed = (0, react_1.useMemo)(() => {
260
+ return {
261
+ isInIFrame: isInIFrame,
262
+ };
263
+ }, [isInIFrame]);
264
+ // --- We collect information about the current environment and pass it to the app context
265
+ const environment = (0, react_1.useMemo)(() => {
266
+ return {
267
+ isWindowFocused,
268
+ };
269
+ }, [isWindowFocused]);
270
+ // --- We collect information about the current media size and pass it to the app context
271
+ const mediaSize = (0, react_1.useMemo)(() => {
272
+ return {
273
+ phone: isViewportPhone,
274
+ landscapePhone: isViewportLandscapePhone,
275
+ tablet: isViewportTablet,
276
+ desktop: isViewportDesktop,
277
+ largeDesktop: isViewportLargeDesktop,
278
+ xlDesktop: isViewportXlDesktop,
279
+ smallScreen: isViewportPhone || isViewportLandscapePhone || isViewportTablet,
280
+ largeScreen: !(isViewportPhone || isViewportLandscapePhone || isViewportTablet),
281
+ size: vpSize,
282
+ sizeIndex: vpSizeIndex,
283
+ };
284
+ }, [
285
+ isViewportPhone,
286
+ isViewportLandscapePhone,
287
+ isViewportTablet,
288
+ isViewportDesktop,
289
+ isViewportLargeDesktop,
290
+ isViewportXlDesktop,
291
+ vpSize,
292
+ vpSizeIndex,
293
+ ]);
294
+ // --- We extract the global properties from the app configuration and pass them to the app context
295
+ const appGlobals = (0, react_1.useMemo)(() => {
296
+ return globalProps ? Object.assign({}, globalProps) : constants_1.EMPTY_OBJECT;
297
+ }, [globalProps]);
298
+ // --- We assemble the app context object form the collected information
299
+ const appContextValue = (0, react_1.useMemo)(() => {
300
+ const ret = Object.assign(Object.assign(Object.assign(Object.assign({
301
+ // --- Engine-related
302
+ version: package_json_1.version,
303
+ // --- Actions namespace
304
+ Actions,
305
+ // --- App-specific
306
+ appGlobals,
307
+ debugEnabled,
308
+ decorateComponentsWithTestId,
309
+ environment,
310
+ mediaSize,
311
+ queryClient,
312
+ standalone }, date_functions_1.dateFunctions), math_function_1.mathFunctions), {
313
+ // --- File Utilities
314
+ formatFileSizeInBytes: misc_1.formatFileSizeInBytes,
315
+ getFileExtension: misc_1.getFileExtension,
316
+ // --- Navigation-related
317
+ navigate,
318
+ routerBaseName,
319
+ // --- Notifications and dialogs
320
+ confirm,
321
+ signError,
322
+ toast: react_hot_toast_1.default,
323
+ // --- Theme-related
324
+ activeThemeId,
325
+ activeThemeTone,
326
+ availableThemeIds, setTheme: setActiveThemeId, setThemeTone: setActiveThemeTone, toggleThemeTone,
327
+ // --- User-related
328
+ loggedInUser,
329
+ setLoggedInUser,
330
+ delay: misc_1.delay,
331
+ DateUtils,
332
+ embed,
333
+ apiInterceptorContext, getPropertyByPath: lodash_es_1.get }), misc_utils_1.miscellaneousUtils);
334
+ return ret;
335
+ }, [
336
+ Actions,
337
+ activeThemeId,
338
+ activeThemeTone,
339
+ apiInterceptorContext,
340
+ availableThemeIds,
341
+ confirm,
342
+ debugEnabled,
343
+ decorateComponentsWithTestId,
344
+ embed,
345
+ environment,
346
+ appGlobals,
347
+ loggedInUser,
348
+ mediaSize,
349
+ navigate,
350
+ routerBaseName,
351
+ setActiveThemeId,
352
+ setActiveThemeTone,
353
+ toggleThemeTone,
354
+ standalone,
355
+ ]);
356
+ // --- We prepare the helper infrastructure for the `AppState` component, which manages
357
+ // --- app-wide state using buckets (state sections).
358
+ const [appState, setAppState] = (0, react_1.useState)(constants_1.EMPTY_OBJECT);
359
+ const registerAppState = (0, react_1.useCallback)((bucket, initialValue) => {
360
+ setAppState((prev) => {
361
+ return Object.assign(Object.assign({}, prev), { [bucket]: initialValue });
362
+ });
363
+ }, []);
364
+ const update = (0, react_1.useCallback)((bucket, patch) => {
365
+ setAppState((prev) => {
366
+ return Object.assign(Object.assign({}, prev), { [bucket]: Object.assign(Object.assign({}, (prev[bucket] || {})), patch) });
367
+ });
368
+ }, []);
369
+ const appStateContextValue = (0, react_1.useMemo)(() => {
370
+ return {
371
+ registerAppState,
372
+ appState,
373
+ update,
374
+ };
375
+ }, [appState, registerAppState, update]);
376
+ const memoedVars = (0, react_1.useRef)(new Map());
377
+ return ((0, jsx_runtime_1.jsx)(AppContext_1.AppContext.Provider, { value: appContextValue, children: (0, jsx_runtime_1.jsx)(AppStateContext_1.AppStateContext.Provider, { value: appStateContextValue, children: (0, Container_1.renderRoot)(rootContainer, memoedVars) }) }));
378
+ }
379
+ /**
380
+ * This React component is intended to be the root component in a browser window. It handles the application state
381
+ * changes, routing, and theming, provides an error boundary, and handles a few other aspects.
382
+ */
383
+ const AppWrapper = ({ node, previewMode = false, servedFromSingleFile = false, routerBaseName: baseName = "", contributes = constants_1.EMPTY_OBJECT, globalProps, standalone, trackContainerHeight, decorateComponentsWithTestId, debugEnabled, defaultTheme, defaultTone, resources, resourceMap, sources, }) => {
384
+ var _a;
385
+ if (previewMode) {
386
+ //to prevent leaking the meta items to the parent document, if it lives in an iframe (e.g. docs)
387
+ react_helmet_async_1.HelmetProvider.canUseDOM = false;
388
+ }
389
+ const siteName = (globalProps === null || globalProps === void 0 ? void 0 : globalProps.name) || "XMLUI app";
390
+ const useHashBasedRouting = (_a = globalProps === null || globalProps === void 0 ? void 0 : globalProps.useHashBasedRouting) !== null && _a !== void 0 ? _a : true;
391
+ const dynamicChildren = ((0, jsx_runtime_1.jsxs)(react_helmet_async_1.HelmetProvider, { children: [(0, jsx_runtime_1.jsx)(react_helmet_async_1.Helmet, { defaultTitle: siteName, titleTemplate: `%s | ${siteName}` }), (0, jsx_runtime_1.jsx)(IconProvider_1.IconProvider, { children: (0, jsx_runtime_1.jsx)(ThemeProvider_1.default, { resourceMap: resourceMap, themes: contributes.themes, defaultTheme: defaultTheme, defaultTone: defaultTone, resources: resources, children: (0, jsx_runtime_1.jsx)(InspectorContext_1.InspectorProvider, { sources: sources, children: (0, jsx_runtime_1.jsx)(ConfirmationModalContextProvider_1.ConfirmationModalContextProvider, { children: (0, jsx_runtime_1.jsx)(AppContent, { rootContainer: node, routerBaseName: baseName, globalProps: globalProps, standalone: standalone, trackContainerHeight: trackContainerHeight, decorateComponentsWithTestId: decorateComponentsWithTestId, debugEnabled: debugEnabled }) }) }) }) })] }));
392
+ const Router = previewMode
393
+ ? react_router_dom_1.MemoryRouter
394
+ : servedFromSingleFile || useHashBasedRouting
395
+ ? react_router_dom_1.HashRouter
396
+ : react_router_dom_1.BrowserRouter;
397
+ return ((0, jsx_runtime_1.jsx)(react_1.default.StrictMode, { children: (0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { node: node, location: "root-outer", children: (0, jsx_runtime_1.jsxs)(react_query_1.QueryClientProvider, { client: queryClient, children: [(typeof window === "undefined" || process.env.VITE_REMIX) && dynamicChildren, !(typeof window === "undefined" || process.env.VITE_REMIX) && ((0, jsx_runtime_1.jsx)(Router, { basename: Router === react_router_dom_1.HashRouter ? undefined : baseName, children: dynamicChildren }))] }) }) }));
398
+ };
399
+ /**
400
+ * This component runs the app in the context of the registered components
401
+ * (including the core xmlui components and external ones passed to this
402
+ * component.
403
+ */
404
+ function AppRoot({ apiInterceptor, contributes, node, decorateComponentsWithTestId, debugEnabled, defaultTheme, defaultTone, resources, globalProps, standalone, trackContainerHeight, routerBaseName, previewMode, servedFromSingleFile, resourceMap, sources, componentManager, }) {
405
+ const rootNode = (0, react_1.useMemo)(() => {
406
+ const themedRoot = node.type === "Theme"
407
+ ? Object.assign(Object.assign({}, node), { props: Object.assign(Object.assign({}, node.props), { root: true }) }) : {
408
+ type: "Theme",
409
+ props: {
410
+ root: true,
411
+ },
412
+ children: [node],
413
+ };
414
+ return {
415
+ type: "Container",
416
+ uid: "root",
417
+ children: [themedRoot],
418
+ uses: [],
419
+ };
420
+ }, [node]);
421
+ (0, reportEngineError_1.resetErrors)();
422
+ return ((0, jsx_runtime_1.jsx)(ComponentProvider_1.ComponentProvider, { contributes: contributes, componentManager: componentManager, children: (0, jsx_runtime_1.jsx)(DebugViewProvider_1.DebugViewProvider, { debugConfig: globalProps === null || globalProps === void 0 ? void 0 : globalProps.debug, children: (0, jsx_runtime_1.jsx)(AppWrapper, { resourceMap: resourceMap, apiInterceptor: apiInterceptor, node: rootNode, contributes: contributes, resources: resources, routerBaseName: routerBaseName, decorateComponentsWithTestId: decorateComponentsWithTestId, debugEnabled: debugEnabled, defaultTheme: defaultTheme, defaultTone: defaultTone, globalProps: globalProps, standalone: standalone, trackContainerHeight: trackContainerHeight, previewMode: previewMode, servedFromSingleFile: servedFromSingleFile, sources: sources }) }) }));
423
+ }
424
+ exports.default = AppRoot;