xmlui 0.7.20 → 0.7.22

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 (278) hide show
  1. package/dist/{apiInterceptorWorker-D3L7dpSV.mjs → apiInterceptorWorker-D8M55a0M.mjs} +25 -10
  2. package/dist/{grammar.tmLanguage-69iP6c5d.mjs → grammar.tmLanguage-JAlHWPqw.mjs} +2 -2
  3. package/dist/index-BLoqesEB.mjs +32822 -0
  4. package/dist/index.css +1 -1
  5. package/dist/scripts/bin/build-lib.js +11 -5
  6. package/dist/scripts/bin/build.js +1 -4
  7. package/dist/scripts/bin/index.js +7 -7
  8. package/dist/scripts/bin/preview.js +19 -2
  9. package/dist/scripts/bin/start.js +23 -8
  10. package/dist/scripts/bin/viteConfig.js +2 -10
  11. package/dist/scripts/src/abstractions/ComponentDefs.js +2 -1
  12. package/dist/scripts/src/components/APICall/APICall.js +3 -3
  13. package/dist/scripts/src/components/APICall/APICallNative.js +2 -2
  14. package/dist/scripts/src/components/Accordion/Accordion.js +5 -5
  15. package/dist/scripts/src/components/Accordion/AccordionContext.js +1 -1
  16. package/dist/scripts/src/components/Accordion/AccordionItem.js +5 -5
  17. package/dist/scripts/src/components/Accordion/AccordionItemNative.js +3 -3
  18. package/dist/scripts/src/components/Accordion/AccordionNative.js +3 -3
  19. package/dist/scripts/src/components/Alert/Alert.js +4 -4
  20. package/dist/scripts/src/components/App/App.js +5 -5
  21. package/dist/scripts/src/components/App/AppNative.js +33 -34
  22. package/dist/scripts/src/components/App/Sheet.js +4 -4
  23. package/dist/scripts/src/components/AppHeader/AppHeader.js +6 -6
  24. package/dist/scripts/src/components/AppHeader/AppHeaderNative.js +9 -9
  25. package/dist/scripts/src/components/AppState/AppState.js +2 -2
  26. package/dist/scripts/src/components/AppState/AppStateNative.js +2 -2
  27. package/dist/scripts/src/components/AutoComplete/AutoComplete.js +7 -7
  28. package/dist/scripts/src/components/AutoComplete/AutoCompleteNative.js +29 -31
  29. package/dist/scripts/src/components/Avatar/Avatar.js +4 -4
  30. package/dist/scripts/src/components/Avatar/AvatarNative.js +1 -1
  31. package/dist/scripts/src/components/Backdrop/Backdrop.js +4 -4
  32. package/dist/scripts/src/components/Badge/Badge.js +3 -3
  33. package/dist/scripts/src/components/Badge/BadgeNative.js +2 -2
  34. package/dist/scripts/src/components/Bookmark/Bookmark.js +2 -2
  35. package/dist/scripts/src/components/Bookmark/BookmarkNative.js +1 -1
  36. package/dist/scripts/src/components/Breakout/Breakout.js +2 -2
  37. package/dist/scripts/src/components/Button/Button.js +6 -6
  38. package/dist/scripts/src/components/Button/ButtonNative.js +3 -3
  39. package/dist/scripts/src/components/ButtonGroup/ButtonGroup.js +5 -5
  40. package/dist/scripts/src/components/Card/Card.js +5 -5
  41. package/dist/scripts/src/components/Card/CardNative.js +7 -7
  42. package/dist/scripts/src/components/Carousel/Carousel.js +5 -5
  43. package/dist/scripts/src/components/Carousel/CarouselItem.js +3 -3
  44. package/dist/scripts/src/components/Carousel/CarouselItemNative.js +3 -3
  45. package/dist/scripts/src/components/Carousel/CarouselNative.js +6 -6
  46. package/dist/scripts/src/components/ChangeListener/ChangeListener.js +3 -3
  47. package/dist/scripts/src/components/ChangeListener/ChangeListenerNative.js +1 -1
  48. package/dist/scripts/src/components/Chart/Chart.js +2 -2
  49. package/dist/scripts/src/components/Chart/ChartNative.js +5 -6
  50. package/dist/scripts/src/components/Checkbox/Checkbox.js +6 -6
  51. package/dist/scripts/src/components/ColorPicker/ColorPicker.js +43 -0
  52. package/dist/scripts/src/components/ColorPicker/ColorPickerNative.js +54 -0
  53. package/dist/scripts/src/components/Column/Column.js +2 -2
  54. package/dist/scripts/src/components/Column/ColumnNative.js +2 -2
  55. package/dist/scripts/src/components/ComponentProvider.js +357 -236
  56. package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +4 -4
  57. package/dist/scripts/src/components/ContentSeparator/ContentSeparatorNative.js +1 -1
  58. package/dist/scripts/src/components/DatePicker/DatePicker.js +4 -4
  59. package/dist/scripts/src/components/DatePicker/DatePickerNative.js +18 -19
  60. package/dist/scripts/src/components/DropdownMenu/DropdownMenu.js +6 -6
  61. package/dist/scripts/src/components/DropdownMenu/DropdownMenuNative.js +5 -5
  62. package/dist/scripts/src/components/EmojiSelector/EmojiSelector.js +4 -4
  63. package/dist/scripts/src/components/EmojiSelector/EmojiSelectorNative.js +1 -1
  64. package/dist/scripts/src/components/FileInput/FileInput.js +6 -6
  65. package/dist/scripts/src/components/FileInput/FileInputNative.js +6 -6
  66. package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.js +3 -3
  67. package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZoneNative.js +6 -7
  68. package/dist/scripts/src/components/FlowLayout/FlowLayout.js +8 -6
  69. package/dist/scripts/src/components/FlowLayout/FlowLayoutNative.js +27 -16
  70. package/dist/scripts/src/components/Footer/Footer.js +4 -4
  71. package/dist/scripts/src/components/Footer/FooterNative.js +2 -2
  72. package/dist/scripts/src/components/Form/Form.js +5 -5
  73. package/dist/scripts/src/components/Form/FormNative.js +29 -29
  74. package/dist/scripts/src/components/FormItem/FormItem.js +4 -4
  75. package/dist/scripts/src/components/FormItem/FormItemNative.js +26 -16
  76. package/dist/scripts/src/components/FormItem/HelperText.js +3 -3
  77. package/dist/scripts/src/components/FormItem/ItemWithLabel.js +5 -6
  78. package/dist/scripts/src/components/FormItem/Validations.js +5 -5
  79. package/dist/scripts/src/components/FormSection/FormSection.js +2 -2
  80. package/dist/scripts/src/components/Heading/Heading.js +3 -3
  81. package/dist/scripts/src/components/Heading/HeadingNative.js +10 -11
  82. package/dist/scripts/src/components/HoverCard/HoverCard.js +3 -3
  83. package/dist/scripts/src/components/HoverCard/HovercardNative.js +1 -1
  84. package/dist/scripts/src/components/HtmlTags/HtmlTags.js +1240 -0
  85. package/dist/scripts/src/components/Icon/Icon.js +3 -3
  86. package/dist/scripts/src/components/Icon/IconNative.js +3 -3
  87. package/dist/scripts/src/components/IconInfoCard/IconInfoCard.js +5 -4
  88. package/dist/scripts/src/components/IconProvider.js +49 -49
  89. package/dist/scripts/src/components/Image/Image.js +4 -4
  90. package/dist/scripts/src/components/Image/ImageNative.js +2 -2
  91. package/dist/scripts/src/components/Input/InputAdornment.js +3 -3
  92. package/dist/scripts/src/components/Items/Items.js +3 -3
  93. package/dist/scripts/src/components/Link/Link.js +6 -6
  94. package/dist/scripts/src/components/Link/LinkNative.js +29 -11
  95. package/dist/scripts/src/components/List/List.js +14 -16
  96. package/dist/scripts/src/components/List/ListNative.js +97 -218
  97. package/dist/scripts/src/components/Logo/Logo.js +2 -2
  98. package/dist/scripts/src/components/Logo/LogoNative.js +2 -2
  99. package/dist/scripts/src/components/Markdown/Markdown.js +3 -3
  100. package/dist/scripts/src/components/Markdown/MarkdownNative.js +4 -4
  101. package/dist/scripts/src/components/ModalDialog/ModalDialog.js +5 -5
  102. package/dist/scripts/src/components/ModalDialog/ModalDialogNative.js +8 -8
  103. package/dist/scripts/src/components/NavGroup/NavGroup.js +6 -6
  104. package/dist/scripts/src/components/NavGroup/NavGroupNative.js +8 -8
  105. package/dist/scripts/src/components/NavLink/NavLink.js +5 -5
  106. package/dist/scripts/src/components/NavLink/NavLinkNative.js +6 -6
  107. package/dist/scripts/src/components/NavPanel/NavPanel.js +5 -5
  108. package/dist/scripts/src/components/NavPanel/NavPanelNative.js +6 -6
  109. package/dist/scripts/src/components/NoResult/NoResult.js +4 -4
  110. package/dist/scripts/src/components/NoResult/NoResultNative.js +2 -2
  111. package/dist/scripts/src/components/NumberBox/NumberBox.js +4 -4
  112. package/dist/scripts/src/components/NumberBox/NumberBoxNative.js +7 -7
  113. package/dist/scripts/src/components/OffCanvas/OffCanvas.js +5 -5
  114. package/dist/scripts/src/components/OffCanvas/OffCanvasNative.js +2 -2
  115. package/dist/scripts/src/components/Option/Option.js +4 -4
  116. package/dist/scripts/src/components/PageHeader/PageHeader.js +2 -2
  117. package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.js +2 -2
  118. package/dist/scripts/src/components/Pages/Pages.js +3 -3
  119. package/dist/scripts/src/components/Pages/PagesNative.js +2 -2
  120. package/dist/scripts/src/components/PositionedContainer/PositionedContainer.js +3 -3
  121. package/dist/scripts/src/components/PositionedContainer/PositionedContainerNative.js +1 -1
  122. package/dist/scripts/src/components/ProgressBar/ProgressBar.js +3 -3
  123. package/dist/scripts/src/components/ProgressBar/ProgressBarNative.js +1 -1
  124. package/dist/scripts/src/components/Queue/Queue.js +3 -3
  125. package/dist/scripts/src/components/Queue/QueueNative.js +5 -5
  126. package/dist/scripts/src/components/RadioGroup/RadioGroup.js +4 -4
  127. package/dist/scripts/src/components/RadioGroup/RadioGroupNative.js +6 -6
  128. package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapter.js +2 -2
  129. package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapterNative.js +3 -3
  130. package/dist/scripts/src/components/Redirect/Redirect.js +2 -2
  131. package/dist/scripts/src/components/Select/Select.js +7 -7
  132. package/dist/scripts/src/components/Select/SelectNative.js +36 -37
  133. package/dist/scripts/src/components/SelectionStore/SelectionStore.js +2 -2
  134. package/dist/scripts/src/components/SelectionStore/SelectionStoreNative.js +2 -2
  135. package/dist/scripts/src/components/Slider/Slider.js +39 -24
  136. package/dist/scripts/src/components/Slider/SliderNative.js +98 -3
  137. package/dist/scripts/src/components/SlotItem.js +2 -2
  138. package/dist/scripts/src/components/SpaceFiller/SpaceFiller.js +3 -3
  139. package/dist/scripts/src/components/Spinner/Spinner.js +3 -3
  140. package/dist/scripts/src/components/Spinner/SpinnerNative.js +3 -4
  141. package/dist/scripts/src/components/Splitter/Splitter.js +6 -6
  142. package/dist/scripts/src/components/Splitter/SplitterNative.js +3 -3
  143. package/dist/scripts/src/components/Stack/Stack.js +6 -6
  144. package/dist/scripts/src/components/Stack/StackNative.js +3 -3
  145. package/dist/scripts/src/components/StickyBox/StickyBox.js +3 -3
  146. package/dist/scripts/src/components/StickyBox/StickyBoxNative.js +1 -1
  147. package/dist/scripts/src/components/Switch/Switch.js +6 -6
  148. package/dist/scripts/src/components/Table/Table.js +9 -9
  149. package/dist/scripts/src/components/Table/TableNative.js +15 -15
  150. package/dist/scripts/src/components/Table/useRowSelection.js +4 -4
  151. package/dist/scripts/src/components/TableHeader/TableHeader.js +2 -2
  152. package/dist/scripts/src/components/TableOfContents/TableOfContents.js +3 -3
  153. package/dist/scripts/src/components/TableOfContents/TableOfContentsNative.js +3 -3
  154. package/dist/scripts/src/components/Tabs/TabContext.js +1 -1
  155. package/dist/scripts/src/components/Tabs/TabItem.js +3 -3
  156. package/dist/scripts/src/components/Tabs/TabItemNative.js +2 -2
  157. package/dist/scripts/src/components/Tabs/Tabs.js +5 -5
  158. package/dist/scripts/src/components/Tabs/TabsNative.js +2 -2
  159. package/dist/scripts/src/components/Text/Text.js +4 -4
  160. package/dist/scripts/src/components/Text/TextNative.js +6 -7
  161. package/dist/scripts/src/components/TextArea/TextArea.js +4 -4
  162. package/dist/scripts/src/components/TextArea/TextAreaNative.js +6 -6
  163. package/dist/scripts/src/components/TextBox/TextBox.js +4 -4
  164. package/dist/scripts/src/components/TextBox/TextBoxNative.js +5 -5
  165. package/dist/scripts/src/components/Theme/Theme.js +2 -2
  166. package/dist/scripts/src/components/Theme/ThemeNative.js +7 -7
  167. package/dist/scripts/src/components/ThemeChanger/ThemeChanger.js +11 -11
  168. package/dist/scripts/src/components/ThemeChanger/ToneChangerButton.js +5 -5
  169. package/dist/scripts/src/components/Toggle/Toggle.js +4 -4
  170. package/dist/scripts/src/components/Toolbar/Toolbar.js +2 -2
  171. package/dist/scripts/src/components/ToolbarButton/ToolbarButton.js +2 -2
  172. package/dist/scripts/src/components/Tree/TreeComponent.js +4 -4
  173. package/dist/scripts/src/components/Tree/TreeNative.js +2 -2
  174. package/dist/scripts/src/components/TrendLabel/TrendLabel.js +2 -2
  175. package/dist/scripts/src/components/ValidationSummary/ValidationSummary.js +8 -8
  176. package/dist/scripts/src/components/abstractions.js +6 -2
  177. package/dist/scripts/src/components/container-helpers.js +2 -2
  178. package/dist/scripts/src/components-core/CompoundComponent.js +2 -2
  179. package/dist/scripts/src/components-core/Fragment.js +2 -2
  180. package/dist/scripts/src/components-core/InspectorContext.js +5 -5
  181. package/dist/scripts/src/components-core/LoaderComponent.js +3 -3
  182. package/dist/scripts/src/components-core/RestApiProxy.js +5 -5
  183. package/dist/scripts/src/components-core/Slot.js +2 -2
  184. package/dist/scripts/src/components-core/{StandaloneComponentManager.js → StandaloneExtensionManager.js} +6 -13
  185. package/dist/scripts/src/components-core/TableOfContentsContext.js +1 -1
  186. package/dist/scripts/src/components-core/XmluiCodeHighlighter.js +2 -2
  187. package/dist/scripts/src/components-core/action/APICall.js +5 -5
  188. package/dist/scripts/src/components-core/action/FileDownloadAction.js +1 -1
  189. package/dist/scripts/src/components-core/action/FileUploadAction.js +3 -3
  190. package/dist/scripts/src/components-core/action/NavigateAction.js +1 -1
  191. package/dist/scripts/src/components-core/action/TimedAction.js +1 -1
  192. package/dist/scripts/src/components-core/component-hooks.js +2 -2
  193. package/dist/scripts/src/components-core/descriptorHelper.js +1 -0
  194. package/dist/scripts/src/components-core/loader/ApiLoader.js +5 -5
  195. package/dist/scripts/src/components-core/loader/DataLoader.js +18 -10
  196. package/dist/scripts/src/components-core/loader/ExternalDataLoader.js +5 -5
  197. package/dist/scripts/src/components-core/loader/Loader.js +3 -3
  198. package/dist/scripts/src/components-core/loader/MockLoaderRenderer.js +5 -5
  199. package/dist/scripts/src/components-core/loader/PageableLoader.js +7 -7
  200. package/dist/scripts/src/components-core/{ComponentBed.js → rendering/ComponentAdapter.js} +26 -20
  201. package/dist/scripts/src/components-core/rendering/ComponentWrapper.js +147 -0
  202. package/dist/scripts/src/components-core/rendering/Container.js +576 -0
  203. package/dist/scripts/src/components-core/rendering/ContainerWrapper.js +82 -0
  204. package/dist/scripts/src/components-core/{ErrorBoundary.js → rendering/ErrorBoundary.js} +9 -3
  205. package/dist/scripts/src/components-core/{InvalidComponent.js → rendering/InvalidComponent.js} +1 -1
  206. package/dist/scripts/src/components-core/rendering/StateContainer.js +331 -0
  207. package/dist/scripts/src/components-core/{container → rendering}/buildProxy.js +11 -7
  208. package/dist/scripts/src/components-core/{container → rendering}/collectFnVarDeps.js +2 -2
  209. package/dist/scripts/src/components-core/{container → rendering}/reducer.js +4 -1
  210. package/dist/scripts/src/components-core/rendering/renderChild.js +81 -0
  211. package/dist/scripts/src/components-core/{container → rendering}/valueExtractor.js +4 -4
  212. package/dist/scripts/src/components-core/script-runner/asyncProxy.js +1 -1
  213. package/dist/scripts/src/components-core/script-runner/eval-tree-common.js +1 -1
  214. package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +1 -1
  215. package/dist/scripts/src/components-core/script-runner/process-statement-async.js +2 -2
  216. package/dist/scripts/src/components-core/script-runner/process-statement-common.js +1 -1
  217. package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +3 -3
  218. package/dist/scripts/src/components-core/script-runner/syncProxy.js +1 -1
  219. package/dist/scripts/src/components-core/script-runner/visitors.js +1 -1
  220. package/dist/scripts/src/components-core/theming/ThemeProvider.js +10 -10
  221. package/dist/scripts/src/components-core/theming/extendThemeUtils.js +1 -1
  222. package/dist/scripts/src/components-core/theming/layout-resolver.js +356 -0
  223. package/dist/scripts/src/components-core/theming/transformThemeVars.js +1 -1
  224. package/dist/scripts/src/components-core/utils/DataLoaderQueryKeyGenerator.js +9 -3
  225. package/dist/scripts/src/components-core/utils/actionUtils.js +3 -3
  226. package/dist/scripts/src/components-core/utils/compound-utils.js +1 -1
  227. package/dist/scripts/src/components-core/utils/css-utils.js +2 -2
  228. package/dist/scripts/src/components-core/utils/extractParam.js +3 -3
  229. package/dist/scripts/src/components-core/utils/hooks.js +3 -3
  230. package/dist/scripts/src/parsers/scripting/modules.js +1 -1
  231. package/dist/scripts/src/parsers/style-parser/style-compiler.js +6 -2
  232. package/dist/scripts/src/parsers/xmlui-parser/transform.js +194 -166
  233. package/dist/scripts/src/syntax/grammar.tmLanguage.json +2 -2
  234. package/dist/scripts/src/syntax/textMate/xmlui.json +27 -93
  235. package/dist/style.css +1 -1
  236. package/dist/xmlui-metadata.mjs +5183 -4375
  237. package/dist/xmlui-metadata.umd.js +23 -18
  238. package/dist/xmlui-standalone.umd.js +266 -293
  239. package/dist/xmlui.d.ts +39 -63
  240. package/dist/xmlui.mjs +1 -1
  241. package/package.json +4 -3
  242. package/dist/index-BYjaMGrD.mjs +0 -76804
  243. package/dist/scripts/package.json +0 -209
  244. package/dist/scripts/src/components/BarChart/BarChart.js +0 -49
  245. package/dist/scripts/src/components/BarChart/BarChartNative.js +0 -176
  246. package/dist/scripts/src/components/Map/Map.js +0 -75
  247. package/dist/scripts/src/components/Map/world_countries.json +0 -45307
  248. package/dist/scripts/src/components/ModalDialog/ConfirmationModalContextProvider.js +0 -116
  249. package/dist/scripts/src/components/ModalDialog/Dialog.js +0 -20
  250. package/dist/scripts/src/components/PieChart/PieChart.js +0 -45
  251. package/dist/scripts/src/components/PieChart/PieChartNative.js +0 -165
  252. package/dist/scripts/src/components/Range/Range.js +0 -56
  253. package/dist/scripts/src/components/Range/RangeNative.js +0 -8
  254. package/dist/scripts/src/components/chart-color-schemes.js +0 -43
  255. package/dist/scripts/src/components-core/AppRoot.js +0 -424
  256. package/dist/scripts/src/components-core/StandaloneApp.js +0 -589
  257. package/dist/scripts/src/components-core/appContext/date-functions.js +0 -19
  258. package/dist/scripts/src/components-core/appContext/math-function.js +0 -27
  259. package/dist/scripts/src/components-core/appContext/misc-utils.js +0 -13
  260. package/dist/scripts/src/components-core/container/Container.js +0 -1186
  261. package/dist/scripts/src/components-core/container/ContainerComponentDef.js +0 -15
  262. package/dist/scripts/src/components-core/interception/ApiInterceptor.js +0 -198
  263. package/dist/scripts/src/components-core/interception/ApiInterceptorProvider.js +0 -94
  264. package/dist/scripts/src/components-core/interception/Backend.js +0 -129
  265. package/dist/scripts/src/components-core/interception/Errors.js +0 -129
  266. package/dist/scripts/src/components-core/interception/InMemoryDb.js +0 -41
  267. package/dist/scripts/src/components-core/interception/IndexedDb.js +0 -205
  268. package/dist/scripts/src/components-core/interception/ReadonlyCollection.js +0 -145
  269. package/dist/scripts/src/components-core/interception/abstractions.js +0 -2
  270. package/dist/scripts/src/components-core/interception/apiInterceptorWorker.js +0 -46
  271. package/dist/scripts/src/components-core/interception/useApiInterceptorContext.js +0 -9
  272. package/dist/scripts/src/components-core/markup-check.js +0 -279
  273. package/dist/scripts/src/components-core/utils/classnames.js +0 -58
  274. package/dist/scripts/src/components-core/utils/date-utils.js +0 -78
  275. package/dist/scripts/src/components-core/utils/request-params.js +0 -70
  276. package/dist/scripts/src/index.js +0 -69
  277. /package/dist/scripts/src/{components-core/abstractions/standalone.js → abstractions/ExtensionDefs.js} +0 -0
  278. /package/dist/scripts/src/components-core/{UnknownComponent.js → rendering/UnknownComponent.js} +0 -0
@@ -1,424 +0,0 @@
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;