xmlui 0.4.0

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 (308) hide show
  1. package/dist/Pdf-DeGhSMXe.mjs +19537 -0
  2. package/dist/Pdf.css +1 -0
  3. package/dist/apiInterceptorWorker-CwuUhYyc.mjs +9229 -0
  4. package/dist/array-USo-Szhp.mjs +12 -0
  5. package/dist/index-C24dkfpd.mjs +1434 -0
  6. package/dist/index-ao27SnVp.mjs +145185 -0
  7. package/dist/index.css +1 -0
  8. package/dist/nivo-bar.es-CWh0ZlxB.mjs +1666 -0
  9. package/dist/nivo-geo.es-BTqNt5Db.mjs +1579 -0
  10. package/dist/nivo-legends.es-BuIxHGSU.mjs +6916 -0
  11. package/dist/nivo-pie.es-BvCBFA0L.mjs +700 -0
  12. package/dist/react-apexcharts.min-DqWuDOyO.mjs +8881 -0
  13. package/dist/scripts/bin/bootstrap.js +11 -0
  14. package/dist/scripts/bin/build.js +256 -0
  15. package/dist/scripts/bin/index.js +88 -0
  16. package/dist/scripts/bin/preview.js +27 -0
  17. package/dist/scripts/bin/start.js +41 -0
  18. package/dist/scripts/bin/vite-ueml-plugin.js +113 -0
  19. package/dist/scripts/bin/viteConfig.js +112 -0
  20. package/dist/scripts/src/abstractions/ActionDefs.js +2 -0
  21. package/dist/scripts/src/abstractions/AppContextDefs.js +2 -0
  22. package/dist/scripts/src/abstractions/BlockScope.js +4 -0
  23. package/dist/scripts/src/abstractions/ComponentDefs.js +2 -0
  24. package/dist/scripts/src/abstractions/ComponentDescriptorDefs.js +2 -0
  25. package/dist/scripts/src/abstractions/ContainerDefs.js +2 -0
  26. package/dist/scripts/src/abstractions/FunctionDefs.js +2 -0
  27. package/dist/scripts/src/abstractions/RendererDefs.js +2 -0
  28. package/dist/scripts/src/abstractions/scripting/ScriptParserError.js +2 -0
  29. package/dist/scripts/src/abstractions/scripting/ScriptingSourceTree.js +2 -0
  30. package/dist/scripts/src/abstractions/scripting/Token.js +110 -0
  31. package/dist/scripts/src/components/App/App.js +253 -0
  32. package/dist/scripts/src/components/App/AppLayoutContext.js +9 -0
  33. package/dist/scripts/src/components/App/AppStateContext.js +9 -0
  34. package/dist/scripts/src/components/App/Sheet.js +89 -0
  35. package/dist/scripts/src/components/AppHeader/AppHeader.js +121 -0
  36. package/dist/scripts/src/components/AppState/AppState.js +29 -0
  37. package/dist/scripts/src/components/Avatar/Avatar.js +81 -0
  38. package/dist/scripts/src/components/Badge/Badge.js +56 -0
  39. package/dist/scripts/src/components/BarChart/BarChart.js +199 -0
  40. package/dist/scripts/src/components/Bookmark/Bookmark.js +11 -0
  41. package/dist/scripts/src/components/Button/Button.js +196 -0
  42. package/dist/scripts/src/components/Card/Card.js +65 -0
  43. package/dist/scripts/src/components/ChangeListener/ChangeListener.js +43 -0
  44. package/dist/scripts/src/components/Chart/Chart.js +158 -0
  45. package/dist/scripts/src/components/Checkbox/Checkbox.js +43 -0
  46. package/dist/scripts/src/components/Combobox/Combobox.js +145 -0
  47. package/dist/scripts/src/components/ComponentProvider.js +357 -0
  48. package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +40 -0
  49. package/dist/scripts/src/components/DatePicker/DatePicker.js +196 -0
  50. package/dist/scripts/src/components/DropdownMenu/DropdownMenu.js +175 -0
  51. package/dist/scripts/src/components/EmojiSelector/EmojiSelector.js +56 -0
  52. package/dist/scripts/src/components/FileInput/FileInput.js +127 -0
  53. package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.js +106 -0
  54. package/dist/scripts/src/components/FlowLayout/FlowLayout.js +139 -0
  55. package/dist/scripts/src/components/Footer/Footer.js +42 -0
  56. package/dist/scripts/src/components/Form/Form.js +320 -0
  57. package/dist/scripts/src/components/Form/FormContext.js +9 -0
  58. package/dist/scripts/src/components/Form/formActions.js +86 -0
  59. package/dist/scripts/src/components/FormItem/FormItem.js +204 -0
  60. package/dist/scripts/src/components/FormItem/HelperText.js +27 -0
  61. package/dist/scripts/src/components/FormItem/ItemWithLabel.js +39 -0
  62. package/dist/scripts/src/components/FormItem/Validations.js +346 -0
  63. package/dist/scripts/src/components/FormSection/FormSection.js +45 -0
  64. package/dist/scripts/src/components/Heading/Heading.js +206 -0
  65. package/dist/scripts/src/components/HoverCard/HoverCard.js +45 -0
  66. package/dist/scripts/src/components/Icon/ApiIcon.js +10 -0
  67. package/dist/scripts/src/components/Icon/Attach.js +10 -0
  68. package/dist/scripts/src/components/Icon/Binding.js +11 -0
  69. package/dist/scripts/src/components/Icon/BoardIcon.js +7 -0
  70. package/dist/scripts/src/components/Icon/BoxIcon.js +10 -0
  71. package/dist/scripts/src/components/Icon/CheckIcon.js +7 -0
  72. package/dist/scripts/src/components/Icon/ChevronDownIcon.js +7 -0
  73. package/dist/scripts/src/components/Icon/ChevronLeft.js +7 -0
  74. package/dist/scripts/src/components/Icon/ChevronRight.js +7 -0
  75. package/dist/scripts/src/components/Icon/ChevronUpIcon.js +7 -0
  76. package/dist/scripts/src/components/Icon/CodeFileIcon.js +10 -0
  77. package/dist/scripts/src/components/Icon/CodeSandbox.js +10 -0
  78. package/dist/scripts/src/components/Icon/CompactListIcon.js +7 -0
  79. package/dist/scripts/src/components/Icon/ContentCopyIcon.js +7 -0
  80. package/dist/scripts/src/components/Icon/DatabaseIcon.js +11 -0
  81. package/dist/scripts/src/components/Icon/DocFileIcon.js +10 -0
  82. package/dist/scripts/src/components/Icon/DocIcon.js +10 -0
  83. package/dist/scripts/src/components/Icon/DotMenuHorizontalIcon.js +7 -0
  84. package/dist/scripts/src/components/Icon/DotMenuIcon.js +7 -0
  85. package/dist/scripts/src/components/Icon/EmailIcon.js +7 -0
  86. package/dist/scripts/src/components/Icon/EmptyFolderIcon.js +10 -0
  87. package/dist/scripts/src/components/Icon/ErrorIcon.js +7 -0
  88. package/dist/scripts/src/components/Icon/ExpressionIcon.js +10 -0
  89. package/dist/scripts/src/components/Icon/FillPlusCricleIcon.js +7 -0
  90. package/dist/scripts/src/components/Icon/FilterIcon.js +10 -0
  91. package/dist/scripts/src/components/Icon/FolderIcon.js +10 -0
  92. package/dist/scripts/src/components/Icon/GlobeIcon.js +7 -0
  93. package/dist/scripts/src/components/Icon/HomeIcon.js +7 -0
  94. package/dist/scripts/src/components/Icon/HyperLinkIcon.js +7 -0
  95. package/dist/scripts/src/components/Icon/Icon.js +101 -0
  96. package/dist/scripts/src/components/Icon/ImageFileIcon.js +10 -0
  97. package/dist/scripts/src/components/Icon/LinkIcon.js +7 -0
  98. package/dist/scripts/src/components/Icon/ListIcon.js +7 -0
  99. package/dist/scripts/src/components/Icon/LooseListIcon.js +7 -0
  100. package/dist/scripts/src/components/Icon/MoonIcon.js +10 -0
  101. package/dist/scripts/src/components/Icon/MoreOptionsIcon.js +7 -0
  102. package/dist/scripts/src/components/Icon/PDFIcon.js +10 -0
  103. package/dist/scripts/src/components/Icon/PenIcon.js +7 -0
  104. package/dist/scripts/src/components/Icon/PhoneIcon.js +7 -0
  105. package/dist/scripts/src/components/Icon/PhotoIcon.js +10 -0
  106. package/dist/scripts/src/components/Icon/PlusIcon.js +7 -0
  107. package/dist/scripts/src/components/Icon/SearchIcon.js +7 -0
  108. package/dist/scripts/src/components/Icon/ShareIcon.js +10 -0
  109. package/dist/scripts/src/components/Icon/SunIcon.js +10 -0
  110. package/dist/scripts/src/components/Icon/TrashIcon.js +7 -0
  111. package/dist/scripts/src/components/Icon/TxtIcon.js +10 -0
  112. package/dist/scripts/src/components/Icon/UnknownFileIcon.js +10 -0
  113. package/dist/scripts/src/components/Icon/UnlinkIcon.js +10 -0
  114. package/dist/scripts/src/components/Icon/UserIcon.js +7 -0
  115. package/dist/scripts/src/components/Icon/WarningIcon.js +7 -0
  116. package/dist/scripts/src/components/Icon/XlsIcon.js +10 -0
  117. package/dist/scripts/src/components/IconProvider.js +249 -0
  118. package/dist/scripts/src/components/IconRegistryContext.js +307 -0
  119. package/dist/scripts/src/components/Image/Image.js +34 -0
  120. package/dist/scripts/src/components/Input/InputAdornment.js +14 -0
  121. package/dist/scripts/src/components/Input/input-abstractions.js +44 -0
  122. package/dist/scripts/src/components/Items/Items.js +48 -0
  123. package/dist/scripts/src/components/Link/Link.js +72 -0
  124. package/dist/scripts/src/components/List/List.js +442 -0
  125. package/dist/scripts/src/components/Logo/Logo.js +25 -0
  126. package/dist/scripts/src/components/Map/Map.js +60 -0
  127. package/dist/scripts/src/components/Map/world_countries.json +45307 -0
  128. package/dist/scripts/src/components/Markdown/Markdown.js +120 -0
  129. package/dist/scripts/src/components/ModalDialog/ConfirmationModalContextProvider.js +106 -0
  130. package/dist/scripts/src/components/ModalDialog/Dialog.js +20 -0
  131. package/dist/scripts/src/components/ModalDialog/ModalDialog.js +145 -0
  132. package/dist/scripts/src/components/MultiCombobox/MultiCombobox.js +249 -0
  133. package/dist/scripts/src/components/MultiSelect/MultiSelect.js +192 -0
  134. package/dist/scripts/src/components/NavGroup/NavGroup.js +113 -0
  135. package/dist/scripts/src/components/NavLink/NavLink.js +115 -0
  136. package/dist/scripts/src/components/NavPanel/NavPanel.js +101 -0
  137. package/dist/scripts/src/components/NoResult/NoResult.js +39 -0
  138. package/dist/scripts/src/components/NumberBox/NumberBox.js +373 -0
  139. package/dist/scripts/src/components/Option/Option.js +41 -0
  140. package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.js +22 -0
  141. package/dist/scripts/src/components/Pages/Pages.js +74 -0
  142. package/dist/scripts/src/components/Pdf/LazyPdf.js +44 -0
  143. package/dist/scripts/src/components/Pdf/Pdf.js +19 -0
  144. package/dist/scripts/src/components/PieChart/PieChart.js +184 -0
  145. package/dist/scripts/src/components/PositionedContainer/PositionedContainer.js +29 -0
  146. package/dist/scripts/src/components/ProgressBar/ProgressBar.js +38 -0
  147. package/dist/scripts/src/components/Queue/Queue.js +286 -0
  148. package/dist/scripts/src/components/Queue/queueActions.js +87 -0
  149. package/dist/scripts/src/components/RadioGroup/RadioGroup.js +144 -0
  150. package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapter.js +147 -0
  151. package/dist/scripts/src/components/Redirect/Redirect.js +10 -0
  152. package/dist/scripts/src/components/Select/Select.js +139 -0
  153. package/dist/scripts/src/components/Select/SelectContext.js +45 -0
  154. package/dist/scripts/src/components/SelectionStore/SelectionStore.js +88 -0
  155. package/dist/scripts/src/components/SpaceFiller/SpaceFiller.js +22 -0
  156. package/dist/scripts/src/components/Spinner/Spinner.js +59 -0
  157. package/dist/scripts/src/components/Splitter/Splitter.js +205 -0
  158. package/dist/scripts/src/components/Splitter/utils.js +17 -0
  159. package/dist/scripts/src/components/Stack/Stack.js +117 -0
  160. package/dist/scripts/src/components/StickyBox/StickyBox.js +33 -0
  161. package/dist/scripts/src/components/Switch/Switch.js +50 -0
  162. package/dist/scripts/src/components/Table/Table.js +499 -0
  163. package/dist/scripts/src/components/Table/useRowSelection.js +169 -0
  164. package/dist/scripts/src/components/TableColumnDef/TableColumnDef.js +44 -0
  165. package/dist/scripts/src/components/TableColumnDef/TableContext.js +12 -0
  166. package/dist/scripts/src/components/Tabs/Tabs.js +85 -0
  167. package/dist/scripts/src/components/Text/Text.js +175 -0
  168. package/dist/scripts/src/components/TextArea/TextArea.js +194 -0
  169. package/dist/scripts/src/components/TextArea/TextAreaResizable.js +63 -0
  170. package/dist/scripts/src/components/TextArea/useComposedRef.js +50 -0
  171. package/dist/scripts/src/components/TextBox/TextBox.js +145 -0
  172. package/dist/scripts/src/components/Theme/NotificationToast.js +39 -0
  173. package/dist/scripts/src/components/Theme/Theme.js +153 -0
  174. package/dist/scripts/src/components/ThemeChanger/ThemeChanger.js +125 -0
  175. package/dist/scripts/src/components/Toggle/Toggle.js +88 -0
  176. package/dist/scripts/src/components/Tree/TreeComponent.js +79 -0
  177. package/dist/scripts/src/components/ValidationSummary/ValidationSummary.js +59 -0
  178. package/dist/scripts/src/components/ViewComponentRegistryContext.js +34 -0
  179. package/dist/scripts/src/components/abstractions.js +2 -0
  180. package/dist/scripts/src/components/chart-color-schemes.js +43 -0
  181. package/dist/scripts/src/components/component-utils.js +32 -0
  182. package/dist/scripts/src/components/container-helpers.js +18 -0
  183. package/dist/scripts/src/components-core/ApiBoundComponent.js +189 -0
  184. package/dist/scripts/src/components-core/AppContext.js +17 -0
  185. package/dist/scripts/src/components-core/ChildrenSlot.js +10 -0
  186. package/dist/scripts/src/components-core/Component.js +280 -0
  187. package/dist/scripts/src/components-core/ComponentDecorator.js +63 -0
  188. package/dist/scripts/src/components-core/CompoundComponent.js +132 -0
  189. package/dist/scripts/src/components-core/EngineError.js +91 -0
  190. package/dist/scripts/src/components-core/ErrorBoundary.js +58 -0
  191. package/dist/scripts/src/components-core/Fragment.js +14 -0
  192. package/dist/scripts/src/components-core/InvalidComponent.js +15 -0
  193. package/dist/scripts/src/components-core/LoaderComponent.js +78 -0
  194. package/dist/scripts/src/components-core/RestApiProxy.js +341 -0
  195. package/dist/scripts/src/components-core/RootComponent.js +272 -0
  196. package/dist/scripts/src/components-core/RouteContext.js +45 -0
  197. package/dist/scripts/src/components-core/ScrollContext.js +9 -0
  198. package/dist/scripts/src/components-core/UnknownComponent.js +15 -0
  199. package/dist/scripts/src/components-core/abstractions/ComponentRenderer.js +2 -0
  200. package/dist/scripts/src/components-core/abstractions/LoaderRenderer.js +2 -0
  201. package/dist/scripts/src/components-core/abstractions/containers.js +18 -0
  202. package/dist/scripts/src/components-core/abstractions/treeAbstractions.js +2 -0
  203. package/dist/scripts/src/components-core/action/ApiAction.js +276 -0
  204. package/dist/scripts/src/components-core/action/DownloadFileAction.js +80 -0
  205. package/dist/scripts/src/components-core/action/NavigateAction.js +20 -0
  206. package/dist/scripts/src/components-core/action/TimedAction.js +21 -0
  207. package/dist/scripts/src/components-core/action/UploadAction.js +88 -0
  208. package/dist/scripts/src/components-core/action/actions.js +15 -0
  209. package/dist/scripts/src/components-core/appContext/date-functions.js +19 -0
  210. package/dist/scripts/src/components-core/appContext/misc-utils.js +12 -0
  211. package/dist/scripts/src/components-core/component-hooks.js +25 -0
  212. package/dist/scripts/src/components-core/constants.js +18 -0
  213. package/dist/scripts/src/components-core/container/Container.js +1110 -0
  214. package/dist/scripts/src/components-core/container/ContainerComponentDef.js +16 -0
  215. package/dist/scripts/src/components-core/container/buildProxy.js +54 -0
  216. package/dist/scripts/src/components-core/container/collectFnVarDeps.js +26 -0
  217. package/dist/scripts/src/components-core/container/valueExtractor.js +195 -0
  218. package/dist/scripts/src/components-core/descriptorHelper.js +75 -0
  219. package/dist/scripts/src/components-core/interception/abstractions.js +2 -0
  220. package/dist/scripts/src/components-core/interception/useApiInterceptorContext.js +9 -0
  221. package/dist/scripts/src/components-core/loader/ApiLoader.js +46 -0
  222. package/dist/scripts/src/components-core/loader/DataLoader.js +160 -0
  223. package/dist/scripts/src/components-core/loader/ExternalDataLoader.js +52 -0
  224. package/dist/scripts/src/components-core/loader/Loader.js +115 -0
  225. package/dist/scripts/src/components-core/loader/MockLoaderRenderer.js +32 -0
  226. package/dist/scripts/src/components-core/loader/PageableLoader.js +240 -0
  227. package/dist/scripts/src/components-core/renderers.js +45 -0
  228. package/dist/scripts/src/components-core/reportEngineError.js +59 -0
  229. package/dist/scripts/src/components-core/script-runner/BindingTreeEvaluationContext.js +35 -0
  230. package/dist/scripts/src/components-core/script-runner/ICustomOperations.js +34 -0
  231. package/dist/scripts/src/components-core/script-runner/LogicalThread.js +2 -0
  232. package/dist/scripts/src/components-core/script-runner/LoopScope.js +2 -0
  233. package/dist/scripts/src/components-core/script-runner/ParameterParser.js +117 -0
  234. package/dist/scripts/src/components-core/script-runner/TryScope.js +2 -0
  235. package/dist/scripts/src/components-core/script-runner/asyncProxy.js +96 -0
  236. package/dist/scripts/src/components-core/script-runner/bannedFunctions.js +34 -0
  237. package/dist/scripts/src/components-core/script-runner/custom-operations-registry.js +40 -0
  238. package/dist/scripts/src/components-core/script-runner/custom-ui-data.js +40 -0
  239. package/dist/scripts/src/components-core/script-runner/eval-tree-async.js +551 -0
  240. package/dist/scripts/src/components-core/script-runner/eval-tree-common.js +498 -0
  241. package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +434 -0
  242. package/dist/scripts/src/components-core/script-runner/modules.js +250 -0
  243. package/dist/scripts/src/components-core/script-runner/process-statement-async.js +818 -0
  244. package/dist/scripts/src/components-core/script-runner/process-statement-common.js +193 -0
  245. package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +740 -0
  246. package/dist/scripts/src/components-core/script-runner/statement-queue.js +62 -0
  247. package/dist/scripts/src/components-core/script-runner/visitors.js +352 -0
  248. package/dist/scripts/src/components-core/theming/ThemeContext.js +43 -0
  249. package/dist/scripts/src/components-core/theming/ThemeProvider.js +334 -0
  250. package/dist/scripts/src/components-core/theming/abstractions.js +11 -0
  251. package/dist/scripts/src/components-core/theming/extendThemeUtils.js +114 -0
  252. package/dist/scripts/src/components-core/theming/hvar.js +105 -0
  253. package/dist/scripts/src/components-core/theming/themeVars.js +62 -0
  254. package/dist/scripts/src/components-core/theming/themes/base-utils.js +31 -0
  255. package/dist/scripts/src/components-core/theming/themes/palette.js +53 -0
  256. package/dist/scripts/src/components-core/theming/themes/root.js +257 -0
  257. package/dist/scripts/src/components-core/theming/themes/solid.js +16 -0
  258. package/dist/scripts/src/components-core/theming/themes/theme-colors.js +407 -0
  259. package/dist/scripts/src/components-core/theming/themes/xmlui.js +32 -0
  260. package/dist/scripts/src/components-core/theming/transformThemeVars.js +286 -0
  261. package/dist/scripts/src/components-core/utils/DataLoaderQueryKeyGenerator.js +34 -0
  262. package/dist/scripts/src/components-core/utils/LruCache.js +184 -0
  263. package/dist/scripts/src/components-core/utils/actionUtils.js +32 -0
  264. package/dist/scripts/src/components-core/utils/classnames.js +58 -0
  265. package/dist/scripts/src/components-core/utils/css-utils.js +127 -0
  266. package/dist/scripts/src/components-core/utils/date-utils.js +78 -0
  267. package/dist/scripts/src/components-core/utils/extractParam.js +148 -0
  268. package/dist/scripts/src/components-core/utils/hooks.js +221 -0
  269. package/dist/scripts/src/components-core/utils/mergeProps.js +45 -0
  270. package/dist/scripts/src/components-core/utils/misc.js +460 -0
  271. package/dist/scripts/src/components-core/utils/statementUtils.js +205 -0
  272. package/dist/scripts/src/components-core/utils/treeUtils.js +48 -0
  273. package/dist/scripts/src/components-core/xmlui-parser.js +52 -0
  274. package/dist/scripts/src/parsers/scripting/InputStream.js +59 -0
  275. package/dist/scripts/src/parsers/scripting/Lexer.js +1028 -0
  276. package/dist/scripts/src/parsers/scripting/Parser.js +2647 -0
  277. package/dist/scripts/src/parsers/scripting/ParserError.js +46 -0
  278. package/dist/scripts/src/parsers/scripting/TokenTrait.js +109 -0
  279. package/dist/scripts/src/parsers/scripting/code-behind-collect.js +118 -0
  280. package/dist/scripts/src/parsers/scripting/tree-visitor.js +602 -0
  281. package/dist/scripts/src/parsers/style-parser/StyleInputStream.js +39 -0
  282. package/dist/scripts/src/parsers/style-parser/StyleLexer.js +621 -0
  283. package/dist/scripts/src/parsers/style-parser/StyleParser.js +1000 -0
  284. package/dist/scripts/src/parsers/style-parser/errors.js +37 -0
  285. package/dist/scripts/src/parsers/style-parser/source-tree.js +2 -0
  286. package/dist/scripts/src/parsers/style-parser/style-compiler.js +513 -0
  287. package/dist/scripts/src/parsers/style-parser/tokens.js +42 -0
  288. package/dist/scripts/src/parsers/ueml/ParserError.js +54 -0
  289. package/dist/scripts/src/parsers/ueml/UemlHelper.js +579 -0
  290. package/dist/scripts/src/parsers/ueml/UemlInputStream.js +59 -0
  291. package/dist/scripts/src/parsers/ueml/UemlLexer.js +868 -0
  292. package/dist/scripts/src/parsers/ueml/UemlParser.js +1439 -0
  293. package/dist/scripts/src/parsers/ueml/UemlToken.js +24 -0
  294. package/dist/scripts/src/parsers/ueml/fileExtensions.js +6 -0
  295. package/dist/scripts/src/parsers/ueml/source-tree.js +2 -0
  296. package/dist/scripts/src/parsers/ueml/ueml-tree.js +2 -0
  297. package/dist/scripts/src/parsers/xmlui-parser/CharacterCodes.js +136 -0
  298. package/dist/scripts/src/parsers/xmlui-parser/diagnostics.js +100 -0
  299. package/dist/scripts/src/parsers/xmlui-parser/parser.js +476 -0
  300. package/dist/scripts/src/parsers/xmlui-parser/scanner.js +415 -0
  301. package/dist/scripts/src/parsers/xmlui-parser/syntax-kind.js +106 -0
  302. package/dist/scripts/src/parsers/xmlui-parser/syntax-node.js +2 -0
  303. package/dist/scripts/src/parsers/xmlui-parser/transform.js +922 -0
  304. package/dist/scripts/src/parsers/xmlui-parser/utils.js +83 -0
  305. package/dist/xmlui.es.d.ts +1667 -0
  306. package/dist/xmlui.es.js +17 -0
  307. package/dist/xmlui.umd.js +1589 -0
  308. package/package.json +175 -0
@@ -0,0 +1,357 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ComponentRegistry = void 0;
4
+ exports.ComponentProvider = ComponentProvider;
5
+ const jsx_runtime_1 = require("react/jsx-runtime");
6
+ const react_1 = require("react");
7
+ const Stack_1 = require("@components/Stack/Stack");
8
+ const SpaceFiller_1 = require("@components/SpaceFiller/SpaceFiller");
9
+ const TextArea_1 = require("@components/TextArea/TextArea");
10
+ const NavLink_1 = require("@components/NavLink/NavLink");
11
+ const Link_1 = require("@components/Link/Link");
12
+ const TreeComponent_1 = require("@components/Tree/TreeComponent");
13
+ const Button_1 = require("@components/Button/Button");
14
+ const Heading_1 = require("@components/Heading/Heading");
15
+ const Text_1 = require("@components/Text/Text");
16
+ const Fragment_1 = require("@components-core/Fragment");
17
+ const Table_1 = require("@components/Table/Table");
18
+ const StickyBox_1 = require("@components/StickyBox/StickyBox");
19
+ const Badge_1 = require("@components/Badge/Badge");
20
+ const Avatar_1 = require("@components/Avatar/Avatar");
21
+ const ContentSeparator_1 = require("@components/ContentSeparator/ContentSeparator");
22
+ const Card_1 = require("@components/Card/Card");
23
+ const FlowLayout_1 = require("@components/FlowLayout/FlowLayout");
24
+ const ModalDialog_1 = require("@components/ModalDialog/ModalDialog");
25
+ const NoResult_1 = require("@components/NoResult/NoResult");
26
+ const Combobox_1 = require("@components/Combobox/Combobox");
27
+ const FileUploadDropZone_1 = require("@components/FileUploadDropZone/FileUploadDropZone");
28
+ const Icon_1 = require("@components/Icon/Icon");
29
+ const Items_1 = require("@components/Items/Items");
30
+ const SelectionStore_1 = require("@components/SelectionStore/SelectionStore");
31
+ const Image_1 = require("@components/Image/Image");
32
+ const LazyPdf_1 = require("@components/Pdf/LazyPdf");
33
+ const PageMetaTitle_1 = require("@components/PageMetaTitle/PageMetaTitle");
34
+ const ProgressBar_1 = require("@components/ProgressBar/ProgressBar");
35
+ const Splitter_1 = require("@components/Splitter/Splitter");
36
+ const Queue_1 = require("@components/Queue/Queue");
37
+ const CompoundComponent_1 = require("@components-core/CompoundComponent");
38
+ const List_1 = require("@components/List/List");
39
+ const PositionedContainer_1 = require("@components/PositionedContainer/PositionedContainer");
40
+ const ChangeListener_1 = require("@components/ChangeListener/ChangeListener");
41
+ const FormItem_1 = require("@components/FormItem/FormItem");
42
+ const TextBox_1 = require("@components/TextBox/TextBox");
43
+ const RealTimeAdapter_1 = require("@components/RealTimeAdapter/RealTimeAdapter");
44
+ const Form_1 = require("@components/Form/Form");
45
+ const EmojiSelector_1 = require("@components/EmojiSelector/EmojiSelector");
46
+ const NumberBox_1 = require("@components/NumberBox/NumberBox");
47
+ const MultiSelect_1 = require("@components/MultiSelect/MultiSelect");
48
+ const HoverCard_1 = require("@components/HoverCard/HoverCard");
49
+ const App_1 = require("@components/App/App");
50
+ const NavPanel_1 = require("@components/NavPanel/NavPanel");
51
+ const Pages_1 = require("@components/Pages/Pages");
52
+ const Footer_1 = require("@components/Footer/Footer");
53
+ const NavGroup_1 = require("@components/NavGroup/NavGroup");
54
+ const Logo_1 = require("@components/Logo/Logo");
55
+ const RadioGroup_1 = require("@components/RadioGroup/RadioGroup");
56
+ const ChildrenSlot_1 = require("@components-core/ChildrenSlot");
57
+ const FileInput_1 = require("@components/FileInput/FileInput");
58
+ const Chart_1 = require("@components/Chart/Chart");
59
+ const Spinner_1 = require("@components/Spinner/Spinner");
60
+ const Markdown_1 = require("@components/Markdown/Markdown");
61
+ const Select_1 = require("@components/Select/Select");
62
+ const ThemeChanger_1 = require("@components/ThemeChanger/ThemeChanger");
63
+ const MultiCombobox_1 = require("@components/MultiCombobox/MultiCombobox");
64
+ const FormSection_1 = require("@components/FormSection/FormSection");
65
+ const Checkbox_1 = require("@components/Checkbox/Checkbox");
66
+ const Switch_1 = require("@components/Switch/Switch");
67
+ const AppHeader_1 = require("@components/AppHeader/AppHeader");
68
+ const DropdownMenu_1 = require("@components/DropdownMenu/DropdownMenu");
69
+ const Theme_1 = require("@components/Theme/Theme");
70
+ const lodash_es_1 = require("lodash-es");
71
+ const ViewComponentRegistryContext_1 = require("@components/ViewComponentRegistryContext");
72
+ const TableColumnDef_1 = require("@components/TableColumnDef/TableColumnDef");
73
+ const Option_1 = require("@components/Option/Option");
74
+ const ApiAction_1 = require("@components-core/action/ApiAction");
75
+ const DownloadFileAction_1 = require("@components-core/action/DownloadFileAction");
76
+ const UploadAction_1 = require("@components-core/action/UploadAction");
77
+ const NavigateAction_1 = require("@components-core/action/NavigateAction");
78
+ const TimedAction_1 = require("@components-core/action/TimedAction");
79
+ const ApiLoader_1 = require("@components-core/loader/ApiLoader");
80
+ const ExternalDataLoader_1 = require("@components-core/loader/ExternalDataLoader");
81
+ const MockLoaderRenderer_1 = require("@components-core/loader/MockLoaderRenderer");
82
+ const DataLoader_1 = require("@components-core/loader/DataLoader");
83
+ const DatePicker_1 = require("@components/DatePicker/DatePicker");
84
+ const Redirect_1 = require("@components/Redirect/Redirect");
85
+ const PieChart_1 = require("@components/PieChart/PieChart");
86
+ const BarChart_1 = require("@components/BarChart/BarChart");
87
+ const Map_1 = require("@components/Map/Map");
88
+ const Tabs_1 = require("@components/Tabs/Tabs");
89
+ const Bookmark_1 = require("@components/Bookmark/Bookmark");
90
+ const AppState_1 = require("@components/AppState/AppState");
91
+ class ComponentRegistry {
92
+ constructor(contributes) {
93
+ var _a, _b, _c;
94
+ this.pool = new Map();
95
+ this.themeVars = new Set();
96
+ this.defaultThemeVars = {};
97
+ this.actionFns = new Map();
98
+ // --- The pool of available loader renderers
99
+ this.loaders = new Map();
100
+ if (process.env.VITE_USED_COMPONENTS_Stack !== "false") {
101
+ this.registerComponentRenderer(Stack_1.stackComponentRenderer);
102
+ this.registerComponentRenderer(Stack_1.vStackComponentRenderer);
103
+ this.registerComponentRenderer(Stack_1.hStackComponentRenderer);
104
+ this.registerComponentRenderer(Stack_1.cvStackComponentRenderer);
105
+ this.registerComponentRenderer(Stack_1.chStackComponentRenderer);
106
+ }
107
+ this.registerComponentRenderer(ChildrenSlot_1.childrenSlotHolder);
108
+ if (process.env.VITE_USED_COMPONENTS_SpaceFiller !== "false") {
109
+ this.registerComponentRenderer(SpaceFiller_1.spaceFillerComponentRenderer);
110
+ }
111
+ if (process.env.VITE_USED_COMPONENTS_Textarea !== "false") {
112
+ this.registerComponentRenderer(TextArea_1.textAreaComponentRenderer);
113
+ }
114
+ if (process.env.VITE_USED_COMPONENTS_AppHeader !== "false") {
115
+ this.registerComponentRenderer(AppHeader_1.appHeaderComponentRenderer);
116
+ }
117
+ if (process.env.VITE_USED_COMPONENTS_Footer !== "false") {
118
+ this.registerComponentRenderer(Footer_1.footerRenderer);
119
+ }
120
+ if (process.env.VITE_USED_COMPONENTS_Logo !== "false") {
121
+ this.registerComponentRenderer(Logo_1.logoComponentRenderer);
122
+ }
123
+ if (process.env.VITE_USED_COMPONENTS_NavLink !== "false") {
124
+ this.registerComponentRenderer(NavLink_1.navLinkComponentRenderer);
125
+ }
126
+ if (process.env.VITE_USED_COMPONENTS_NavGroup !== "false") {
127
+ this.registerComponentRenderer(NavGroup_1.navGroupComponentRenderer);
128
+ }
129
+ if (process.env.VITE_USED_COMPONENTS_Link !== "false") {
130
+ this.registerComponentRenderer(Link_1.localLinkComponentRenderer);
131
+ }
132
+ if (process.env.VITE_USED_COMPONENTS_Form !== "false") {
133
+ this.registerComponentRenderer(Form_1.formComponentRenderer);
134
+ this.registerComponentRenderer(FormItem_1.formItemComponentRenderer);
135
+ }
136
+ if (process.env.VITE_USED_COMPONENTS_Tree !== "false") {
137
+ this.registerComponentRenderer(TreeComponent_1.treeComponentRenderer);
138
+ }
139
+ if (process.env.VITE_USED_COMPONENTS_Button !== "false") {
140
+ this.registerComponentRenderer(Button_1.buttonComponentRenderer);
141
+ }
142
+ if (process.env.VITE_USED_COMPONENTS_Checkbox !== "false") {
143
+ this.registerComponentRenderer(Checkbox_1.checkboxComponentRenderer);
144
+ }
145
+ if (process.env.VITE_USED_COMPONENTS_Switch !== "false") {
146
+ this.registerComponentRenderer(Switch_1.switchComponentRenderer);
147
+ }
148
+ if (process.env.VITE_USED_COMPONENTS_Heading !== "false") {
149
+ this.registerComponentRenderer(Heading_1.headingComponentRenderer);
150
+ this.registerComponentRenderer(Heading_1.h1ComponentRenderer);
151
+ this.registerComponentRenderer(Heading_1.h2ComponentRenderer);
152
+ this.registerComponentRenderer(Heading_1.h3ComponentRenderer);
153
+ this.registerComponentRenderer(Heading_1.h4ComponentRenderer);
154
+ this.registerComponentRenderer(Heading_1.h5ComponentRenderer);
155
+ this.registerComponentRenderer(Heading_1.h6ComponentRenderer);
156
+ }
157
+ if (process.env.VITE_USED_COMPONENTS_Text !== "false") {
158
+ this.registerComponentRenderer(Text_1.textComponentRenderer);
159
+ }
160
+ if (process.env.VITE_USED_COMPONENTS_Fragment !== "false") {
161
+ this.registerComponentRenderer(Fragment_1.fragmentComponentRenderer);
162
+ }
163
+ if (process.env.VITE_USED_COMPONENTS_Table !== "false") {
164
+ this.registerComponentRenderer(Table_1.tableComponentRenderer);
165
+ this.registerComponentRenderer(TableColumnDef_1.tableColumnDefComponentRenderer);
166
+ }
167
+ if (process.env.VITE_USED_COMPONENTS_List !== "false") {
168
+ this.registerComponentRenderer(List_1.dynamicHeightListComponentRenderer);
169
+ }
170
+ if (process.env.VITE_USED_COMPONENTS_App !== "false") {
171
+ this.registerComponentRenderer(App_1.appRenderer);
172
+ }
173
+ if (process.env.VITE_USED_COMPONENTS_NavPanel !== "false") {
174
+ this.registerComponentRenderer(NavPanel_1.navPanelRenderer);
175
+ }
176
+ if (process.env.VITE_USED_COMPONENTS_Pages !== "false") {
177
+ this.registerComponentRenderer(Pages_1.pagesRenderer);
178
+ this.registerComponentRenderer(Pages_1.pageRenderer);
179
+ }
180
+ if (process.env.VITE_USED_COMPONENTS_Redirect !== "false") {
181
+ this.registerComponentRenderer(Redirect_1.redirectRenderer);
182
+ }
183
+ if (process.env.VITE_USED_COMPONENTS_StickyBox !== "false") {
184
+ this.registerComponentRenderer(StickyBox_1.stickyBoxComponentRenderer);
185
+ }
186
+ if (process.env.VITE_USED_COMPONENTS_Badge !== "false") {
187
+ this.registerComponentRenderer(Badge_1.badgeComponentRenderer);
188
+ }
189
+ if (process.env.VITE_USED_COMPONENTS_Avatar !== "false") {
190
+ this.registerComponentRenderer(Avatar_1.avatarComponentRenderer);
191
+ }
192
+ if (process.env.VITE_USED_COMPONENTS_ContentSeparator !== "false") {
193
+ this.registerComponentRenderer(ContentSeparator_1.contentSeparatorComponentRenderer);
194
+ }
195
+ if (process.env.VITE_USED_COMPONENTS_Card !== "false") {
196
+ this.registerComponentRenderer(Card_1.cardComponentRenderer);
197
+ }
198
+ if (process.env.VITE_USED_COMPONENTS_FlowLayout !== "false") {
199
+ this.registerComponentRenderer(FlowLayout_1.flowLayoutComponentRenderer);
200
+ }
201
+ if (process.env.VITE_USED_COMPONENTS_ModalDialog !== "false") {
202
+ this.registerComponentRenderer(ModalDialog_1.modalViewComponentRenderer);
203
+ }
204
+ if (process.env.VITE_USED_COMPONENTS_NoResult !== "false") {
205
+ this.registerComponentRenderer(NoResult_1.noResultComponentRenderer);
206
+ }
207
+ if (process.env.VITE_USED_COMPONENTS_Option !== "false") {
208
+ this.registerComponentRenderer(Option_1.optionComponentRenderer);
209
+ }
210
+ if (process.env.VITE_USED_COMPONENTS_FileUploadDropZone !== "false") {
211
+ this.registerComponentRenderer(FileUploadDropZone_1.fileUploadDropZoneComponentRenderer);
212
+ }
213
+ if (process.env.VITE_USED_COMPONENTS_Icon !== "false") {
214
+ this.registerComponentRenderer(Icon_1.iconComponentRenderer);
215
+ }
216
+ if (process.env.VITE_USED_COMPONENTS_Items !== "false") {
217
+ this.registerComponentRenderer(Items_1.itemsComponentRenderer);
218
+ }
219
+ if (process.env.VITE_USED_COMPONENTS_SelectionStore !== "false") {
220
+ this.registerComponentRenderer(SelectionStore_1.selectionStoreComponentRenderer);
221
+ }
222
+ if (process.env.VITE_USED_COMPONENTS_Image !== "false") {
223
+ this.registerComponentRenderer(Image_1.imageComponentRenderer);
224
+ }
225
+ if (process.env.VITE_USED_COMPONENTS_Pdf !== "false") {
226
+ this.registerComponentRenderer(LazyPdf_1.pdfComponentRenderer);
227
+ }
228
+ if (process.env.VITE_INCLUDE_REST_COMPONENTS !== "false") {
229
+ //TODO, if it proves to be a working solution, make these components skippable, too
230
+ this.registerComponentRenderer(PageMetaTitle_1.pageMetaTitleComponentRenderer);
231
+ this.registerComponentRenderer(ProgressBar_1.progressBarComponentRenderer);
232
+ this.registerComponentRenderer(Splitter_1.splitterComponentRenderer);
233
+ this.registerComponentRenderer(Splitter_1.vSplitterComponentRenderer);
234
+ this.registerComponentRenderer(Splitter_1.hSplitterComponentRenderer);
235
+ this.registerComponentRenderer(Queue_1.queueComponentRenderer);
236
+ this.registerComponentRenderer(PositionedContainer_1.positionedContainerComponentRenderer);
237
+ this.registerComponentRenderer(ChangeListener_1.changeListenerComponentRenderer);
238
+ this.registerComponentRenderer(RealTimeAdapter_1.realTimeAdapterComponentRenderer);
239
+ this.registerComponentRenderer(TextBox_1.textBoxComponentRenderer);
240
+ this.registerComponentRenderer(TextBox_1.passwordInputComponentRenderer);
241
+ this.registerComponentRenderer(EmojiSelector_1.emojiSelectorRenderer);
242
+ this.registerComponentRenderer(NumberBox_1.numberBoxComponentRenderer);
243
+ this.registerComponentRenderer(MultiSelect_1.multiSelectComponentRenderer);
244
+ this.registerComponentRenderer(HoverCard_1.hoverCardComponentRenderer);
245
+ this.registerComponentRenderer(RadioGroup_1.radioGroupRenderer);
246
+ this.registerComponentRenderer(RadioGroup_1.radioGroupOptionRenderer);
247
+ this.registerComponentRenderer(FileInput_1.fileInputRenderer);
248
+ this.registerComponentRenderer(DatePicker_1.datePickerComponentRenderer);
249
+ this.registerComponentRenderer(Spinner_1.spinnerComponentRenderer);
250
+ this.registerComponentRenderer(Markdown_1.markdownComponentRenderer);
251
+ this.registerComponentRenderer(Select_1.selectComponentRenderer);
252
+ this.registerComponentRenderer(DropdownMenu_1.dropdownMenuComponentRenderer);
253
+ this.registerComponentRenderer(ThemeChanger_1.themeChangerButtonComponentRenderer);
254
+ this.registerCompoundComponentRenderer(FormSection_1.formSectionRenderer);
255
+ this.registerComponentRenderer(DropdownMenu_1.dropdownMenuComponentRenderer);
256
+ this.registerComponentRenderer(DropdownMenu_1.menuItemRenderer);
257
+ this.registerComponentRenderer(DropdownMenu_1.subMenuItemRenderer);
258
+ this.registerComponentRenderer(DropdownMenu_1.menuSeparatorRenderer);
259
+ this.registerComponentRenderer(MultiCombobox_1.multiComboboxComponentRenderer);
260
+ this.registerComponentRenderer(Combobox_1.comboboxComponentRenderer);
261
+ this.registerComponentRenderer(PieChart_1.pieChartComponentRenderer);
262
+ this.registerComponentRenderer(BarChart_1.barChartComponentRenderer);
263
+ this.registerComponentRenderer(Map_1.mapComponentRenderer);
264
+ this.registerComponentRenderer(Tabs_1.tabsComponentRenderer);
265
+ this.registerComponentRenderer(Bookmark_1.bookmarkComponentRenderer);
266
+ }
267
+ this.registerComponentRenderer(Theme_1.themeComponentRenderer);
268
+ this.registerComponentRenderer(AppState_1.appStateComponentRenderer);
269
+ if (process.env.VITE_USED_COMPONENTS_Chart !== "false") {
270
+ this.registerComponentRenderer(Chart_1.chartRenderer);
271
+ }
272
+ (_a = contributes.components) === null || _a === void 0 ? void 0 : _a.forEach((renderer) => {
273
+ this.registerComponentRenderer(renderer);
274
+ });
275
+ (_b = contributes.compoundComponents) === null || _b === void 0 ? void 0 : _b.forEach((componentDef) => {
276
+ this.registerCompoundComponentRenderer(componentDef);
277
+ });
278
+ this.registerActionFn(ApiAction_1.apiAction);
279
+ this.registerActionFn(DownloadFileAction_1.downloadAction);
280
+ this.registerActionFn(UploadAction_1.uploadAction);
281
+ this.registerActionFn(NavigateAction_1.navigateAction);
282
+ this.registerActionFn(TimedAction_1.timedAction);
283
+ (_c = contributes.actions) === null || _c === void 0 ? void 0 : _c.forEach((actionRenderer) => {
284
+ this.registerActionFn(actionRenderer);
285
+ });
286
+ this.registerLoaderRenderer(ApiLoader_1.apiLoaderRenderer);
287
+ this.registerLoaderRenderer(ExternalDataLoader_1.externalDataLoaderRenderer);
288
+ this.registerLoaderRenderer(MockLoaderRenderer_1.mockLoaderRenderer);
289
+ this.registerLoaderRenderer(DataLoader_1.dataLoaderRenderer);
290
+ }
291
+ get componentThemeVars() {
292
+ return this.themeVars;
293
+ }
294
+ get componentDefaultThemeVars() {
295
+ return this.defaultThemeVars;
296
+ }
297
+ get actionFunctions() {
298
+ return this.actionFns;
299
+ }
300
+ getRegisteredComponentKeys() {
301
+ return Array.from(this.pool.keys());
302
+ }
303
+ lookupComponentRenderer(viewComponentType) {
304
+ return this.pool.get(viewComponentType);
305
+ }
306
+ /**
307
+ * This method retrieves the registry entry of a loader registered with the specified key.
308
+ * @param type The unique ID of the loader
309
+ * @returns The loader registry entry, if found; otherwise, undefined.
310
+ */
311
+ lookupLoaderRenderer(type) {
312
+ return this.loaders.get(type);
313
+ }
314
+ registerComponentRenderer({ type, renderer, metadata: hints }) {
315
+ this.pool.set(type, { renderer, descriptor: hints });
316
+ if (hints === null || hints === void 0 ? void 0 : hints.themeVars) {
317
+ Object.keys(hints.themeVars).forEach((key) => this.themeVars.add(key));
318
+ }
319
+ if (hints === null || hints === void 0 ? void 0 : hints.defaultThemeVars) {
320
+ (0, lodash_es_1.merge)(this.defaultThemeVars, hints === null || hints === void 0 ? void 0 : hints.defaultThemeVars);
321
+ }
322
+ }
323
+ registerCompoundComponentRenderer(compoundComponentDef) {
324
+ this.pool.set(compoundComponentDef.name, {
325
+ renderer: (rendererContext) => {
326
+ return ((0, jsx_runtime_1.jsx)(CompoundComponent_1.CompoundComponent, Object.assign({ api: compoundComponentDef.api, scriptCollected: compoundComponentDef.scriptCollected, compound: compoundComponentDef.component }, rendererContext)));
327
+ },
328
+ isCompoundComponent: true,
329
+ });
330
+ }
331
+ registerActionFn({ actionName: functionName, actionFn }) {
332
+ this.actionFns.set(functionName, actionFn);
333
+ }
334
+ /**
335
+ * This method registers a loader in the registry through its loader renderer definition.
336
+ * @param type The loader's unique ID
337
+ * @param renderer The renderer function that creates a React node according to the loader definition
338
+ */
339
+ registerLoaderRenderer({ type, renderer }) {
340
+ this.loaders.set(type, renderer);
341
+ }
342
+ }
343
+ exports.ComponentRegistry = ComponentRegistry;
344
+ // This React component provides a context in which components can access the component registry. The
345
+ // component takes care that child component are rendered only when the component registry is initialized
346
+ // (filled with the definition of available components).
347
+ function ComponentProvider({ children, contributes }) {
348
+ const [componentRegistry, setComponentRegistry] = (0, react_1.useState)(() => new ComponentRegistry(contributes));
349
+ //sync up the changed contributes (HMR)
350
+ (0, react_1.useEffect)(() => {
351
+ setComponentRegistry(new ComponentRegistry(contributes));
352
+ }, [contributes]);
353
+ (0, react_1.useEffect)(() => {
354
+ setComponentRegistry(new ComponentRegistry(contributes));
355
+ }, [contributes]);
356
+ return ((0, jsx_runtime_1.jsx)(ViewComponentRegistryContext_1.ViewComponentRegistryContext.Provider, { value: componentRegistry, children: children }));
357
+ }
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.contentSeparatorComponentRenderer = exports.ContentSeparator = void 0;
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
8
+ const ContentSeparator_module_scss_1 = __importDefault(require("./ContentSeparator.module.scss"));
9
+ const renderers_1 = require("@components-core/renderers");
10
+ const descriptorHelper_1 = require("@components-core/descriptorHelper");
11
+ const themeVars_1 = require("@components-core/theming/themeVars");
12
+ const classnames_1 = __importDefault(require("@components-core/utils/classnames"));
13
+ const ContentSeparator = ({ orientation = "horizontal", size, style }) => {
14
+ return ((0, jsx_runtime_1.jsx)("div", { className: (0, classnames_1.default)(ContentSeparator_module_scss_1.default.separator, {
15
+ [ContentSeparator_module_scss_1.default.horizontal]: orientation === "horizontal",
16
+ [ContentSeparator_module_scss_1.default.vertical]: orientation === "vertical",
17
+ }), style: Object.assign({ height: orientation === "horizontal" ? size : undefined, width: orientation === "horizontal" ? "100%" : size }, style) }));
18
+ };
19
+ exports.ContentSeparator = ContentSeparator;
20
+ const metadata = {
21
+ displayName: "ContentSeparator",
22
+ description: "A component that indicates a separation between adjacent components",
23
+ props: {
24
+ size: (0, descriptorHelper_1.desc)("Width or height of the separator, depending on it orientation"),
25
+ },
26
+ themeVars: (0, themeVars_1.parseScssVar)(ContentSeparator_module_scss_1.default.themeVars),
27
+ defaultThemeVars: {
28
+ "color-bg-ContentSeparator": "$color-border",
29
+ "size-ContentSeparator": "1px",
30
+ light: {
31
+ // --- No light-specific theme vars
32
+ },
33
+ dark: {
34
+ // --- No dark-specific theme vars
35
+ },
36
+ },
37
+ };
38
+ exports.contentSeparatorComponentRenderer = (0, renderers_1.createComponentRenderer)("ContentSeparator", ({ node, layoutCss, layoutNonCss, extractValue }) => {
39
+ return ((0, jsx_runtime_1.jsx)(exports.ContentSeparator, { orientation: layoutNonCss.orientation, size: extractValue.asSize(node.props.size), style: layoutCss }));
40
+ }, metadata);
@@ -0,0 +1,196 @@
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 (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.datePickerComponentRenderer = exports.DatePicker = void 0;
30
+ const jsx_runtime_1 = require("react/jsx-runtime");
31
+ const react_1 = require("react");
32
+ const react_day_picker_1 = require("react-day-picker");
33
+ const date_fns_1 = require("date-fns");
34
+ const ReactDropdownMenu = __importStar(require("@radix-ui/react-dropdown-menu"));
35
+ const descriptorHelper_1 = require("@components-core/descriptorHelper");
36
+ const renderers_1 = require("@components-core/renderers");
37
+ const input_abstractions_1 = require("@components/Input/input-abstractions");
38
+ const ThemeContext_1 = require("@components-core/theming/ThemeContext");
39
+ const constants_1 = require("@components-core/constants");
40
+ const classnames_1 = __importDefault(require("@components-core/utils/classnames"));
41
+ const DatePicker_module_scss_1 = __importDefault(require("./DatePicker.module.scss"));
42
+ const themeVars_1 = require("@components-core/theming/themeVars");
43
+ var WeekDays;
44
+ (function (WeekDays) {
45
+ WeekDays[WeekDays["Sunday"] = 0] = "Sunday";
46
+ WeekDays[WeekDays["Monday"] = 1] = "Monday";
47
+ WeekDays[WeekDays["Tuesday"] = 2] = "Tuesday";
48
+ WeekDays[WeekDays["Wednesday"] = 3] = "Wednesday";
49
+ WeekDays[WeekDays["Thursday"] = 4] = "Thursday";
50
+ WeekDays[WeekDays["Friday"] = 5] = "Friday";
51
+ WeekDays[WeekDays["Saturday"] = 6] = "Saturday";
52
+ })(WeekDays || (WeekDays = {}));
53
+ const dateFormats = [
54
+ "MM/dd/yyyy",
55
+ "MM-dd-yyyy",
56
+ "yyyy/MM/dd",
57
+ "yyyy-MM-dd",
58
+ "dd/MM/yyyy",
59
+ "dd-MM-yyyy",
60
+ "yyyyMMdd",
61
+ "MMddyyyy",
62
+ ];
63
+ const isoRegex = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}.\d{3}Z$/;
64
+ const parseISODate = (dateString) => {
65
+ if (dateString && isoRegex.test(dateString)) {
66
+ const parsedDate = (0, date_fns_1.parseISO)(dateString);
67
+ if ((0, date_fns_1.isValid)(parsedDate)) {
68
+ return parsedDate;
69
+ }
70
+ }
71
+ return undefined;
72
+ };
73
+ const parseDate = (dateString) => {
74
+ if (dateString) {
75
+ for (const format of dateFormats) {
76
+ const parsedDate = (0, date_fns_1.parse)(dateString, format, new Date());
77
+ if ((0, date_fns_1.isValid)(parsedDate)) {
78
+ return parsedDate;
79
+ }
80
+ }
81
+ }
82
+ return undefined;
83
+ };
84
+ const DatePicker = ({ id, initialValue, value, mode = "single", enabled = true, placeholder, updateState = constants_1.noop, validationStatus = "none", onDidChange = constants_1.noop, onFocus = constants_1.noop, onBlur = constants_1.noop, dateFormat = "MM/dd/yyyy", // Default dateFormat
85
+ showWeekNumber = false, weekStartsOn = WeekDays.Sunday, fromDate, toDate, disabledDates = [], }) => {
86
+ const _weekStartsOn = weekStartsOn >= 0 && weekStartsOn <= 6 ? weekStartsOn : WeekDays.Sunday;
87
+ const [isButtonFocused, setIsButtonFocused] = (0, react_1.useState)(false);
88
+ const [isMenuFocused, setIsMenuFocused] = (0, react_1.useState)(false);
89
+ const selected = (0, react_1.useMemo)(() => {
90
+ if (mode === "single" && typeof value === "string") {
91
+ return parseISODate(value) || parseDate(value);
92
+ }
93
+ else if (mode === "range" && typeof value === "object") {
94
+ return {
95
+ from: parseISODate(value === null || value === void 0 ? void 0 : value.from) || parseDate(value === null || value === void 0 ? void 0 : value.from),
96
+ to: parseISODate(value === null || value === void 0 ? void 0 : value.to) || parseDate(value === null || value === void 0 ? void 0 : value.to),
97
+ };
98
+ }
99
+ return undefined;
100
+ }, [value, mode]);
101
+ (0, react_1.useEffect)(() => {
102
+ if (!dateFormats.includes(dateFormat)) {
103
+ throw new Error(`Invalid dateFormat: ${dateFormat}. Supported formats are: ${dateFormats.join(", ")}`);
104
+ }
105
+ }, [dateFormat]);
106
+ const startDate = (0, react_1.useMemo)(() => {
107
+ return fromDate ? (0, date_fns_1.parse)(fromDate, dateFormat, new Date()) : undefined;
108
+ }, [fromDate, dateFormat]);
109
+ const endDate = (0, react_1.useMemo)(() => {
110
+ return toDate ? (0, date_fns_1.parse)(toDate, dateFormat, new Date()) : undefined;
111
+ }, [toDate, dateFormat]);
112
+ const disabled = (0, react_1.useMemo)(() => {
113
+ return disabledDates === null || disabledDates === void 0 ? void 0 : disabledDates.map((date) => (0, date_fns_1.parse)(date, dateFormat, new Date()));
114
+ }, [disabledDates, dateFormat]);
115
+ const [open, setOpen] = (0, react_1.useState)(false);
116
+ const { root } = (0, ThemeContext_1.useTheme)();
117
+ const handleOnButtonFocus = () => {
118
+ setIsButtonFocused(true);
119
+ };
120
+ const handleOnButtonBlur = () => {
121
+ setIsButtonFocused(false);
122
+ };
123
+ const handleOnMenuFocus = () => {
124
+ setIsMenuFocused(true);
125
+ };
126
+ const handleOnMenuBlur = () => {
127
+ setIsMenuFocused(false);
128
+ };
129
+ (0, react_1.useEffect)(() => {
130
+ if (!isButtonFocused && !isMenuFocused) {
131
+ onBlur === null || onBlur === void 0 ? void 0 : onBlur();
132
+ }
133
+ if (isButtonFocused || isMenuFocused) {
134
+ onFocus === null || onFocus === void 0 ? void 0 : onFocus();
135
+ }
136
+ }, [isButtonFocused, isMenuFocused, onFocus, onBlur]);
137
+ (0, react_1.useEffect)(() => {
138
+ updateState({ value: initialValue });
139
+ }, [initialValue, updateState]);
140
+ const handleSelect = (0, react_1.useCallback)((dateOrRange) => {
141
+ if (!dateOrRange) {
142
+ updateState({ value: undefined });
143
+ onDidChange("");
144
+ }
145
+ else if (mode === "single") {
146
+ const date = dateOrRange;
147
+ const formattedDate = (0, date_fns_1.format)(date, dateFormat);
148
+ updateState({ value: formattedDate });
149
+ onDidChange(formattedDate);
150
+ }
151
+ else {
152
+ const range = dateOrRange;
153
+ const formattedRange = {
154
+ from: range.from ? (0, date_fns_1.format)(range.from, dateFormat) : "",
155
+ to: range.to ? (0, date_fns_1.format)(range.to, dateFormat) : "",
156
+ };
157
+ updateState({ value: formattedRange });
158
+ onDidChange(formattedRange);
159
+ }
160
+ if (mode === "single") {
161
+ setOpen(false);
162
+ }
163
+ }, [onDidChange, updateState, mode, dateFormat]);
164
+ return ((0, jsx_runtime_1.jsxs)(ReactDropdownMenu.Root, { open: open, onOpenChange: setOpen, modal: false, children: [(0, jsx_runtime_1.jsx)(ReactDropdownMenu.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("button", { disabled: !enabled, id: id, className: (0, classnames_1.default)(DatePicker_module_scss_1.default.datePicker, {
165
+ [DatePicker_module_scss_1.default.disabled]: !enabled,
166
+ [DatePicker_module_scss_1.default.error]: validationStatus === "error",
167
+ [DatePicker_module_scss_1.default.warning]: validationStatus === "warning",
168
+ [DatePicker_module_scss_1.default.valid]: validationStatus === "valid",
169
+ }), onFocus: handleOnButtonFocus, onBlur: handleOnButtonBlur, children: mode === "single" && selected ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, date_fns_1.format)(selected, dateFormat) })) : mode === "range" && typeof selected === "object" && selected.from ? (selected.to ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, date_fns_1.format)(selected.from, dateFormat), " - ", (0, date_fns_1.format)(selected.to, dateFormat)] })) : ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, date_fns_1.format)(selected.from, dateFormat) }))) : ((0, jsx_runtime_1.jsx)("span", { className: DatePicker_module_scss_1.default.placeholder, children: placeholder })) }) }), (0, jsx_runtime_1.jsx)(ReactDropdownMenu.Portal, { container: root, children: (0, jsx_runtime_1.jsx)(ReactDropdownMenu.Content, { align: "start", className: DatePicker_module_scss_1.default.datePickerMenu, onFocus: handleOnMenuFocus, onBlur: handleOnMenuBlur, onInteractOutside: handleOnMenuBlur, children: (0, jsx_runtime_1.jsx)(react_day_picker_1.DayPicker, { fixedWeeks: true, fromDate: startDate, toDate: endDate, disabled: disabled, weekStartsOn: _weekStartsOn, showWeekNumber: showWeekNumber, showOutsideDays: true, classNames: DatePicker_module_scss_1.default, mode: mode === "single" ? "single" : "range", selected: selected, onSelect: handleSelect, initialFocus: true, numberOfMonths: mode === "range" ? 2 : 1 }) }) })] }));
170
+ };
171
+ exports.DatePicker = DatePicker;
172
+ const metadata = {
173
+ displayName: "DatePicker",
174
+ description: "A datepicker component",
175
+ props: Object.assign(Object.assign({}, input_abstractions_1.inputComponentPropertyDescriptors), { mode: (0, descriptorHelper_1.desc)("The mode of the datepicker (single or range)"), dateFormat: (0, descriptorHelper_1.desc)("The format of the date displayed in the input field"), showWeekNumber: (0, descriptorHelper_1.desc)("Whether to show the week number in the calendar"), weekStartsOn: (0, descriptorHelper_1.desc)("The first day of the week. 0 is Sunday, 1 is Monday, etc."), fromDate: (0, descriptorHelper_1.desc)("The start date of the range of selectable dates"), toDate: (0, descriptorHelper_1.desc)("The end date of the range of selectable dates"), disabledDates: (0, descriptorHelper_1.desc)("An array of dates that are disabled") }),
176
+ events: input_abstractions_1.inputComponentEventDescriptors,
177
+ themeVars: (0, themeVars_1.parseScssVar)(DatePicker_module_scss_1.default.themeVars),
178
+ defaultThemeVars: {
179
+ "shadow-menu-DatePicker": "$shadow-md",
180
+ "radius-menu-DatePicker": "$radius",
181
+ "color-text-value-DatePicker": "$color-text-primary",
182
+ "color-bg-menu-DatePicker": "$color-bg-primary",
183
+ "color-bg-item-DatePicker--hover": "$color-bg-dropdown-item--active",
184
+ "color-bg-item-DatePicker--active": "$color-bg-dropdown-item--active",
185
+ light: {
186
+ "color-bg-menu-DatePicker": "$color-bg-primary",
187
+ },
188
+ dark: {
189
+ "color-bg-menu-DatePicker": "$color-bg-primary",
190
+ },
191
+ },
192
+ };
193
+ exports.datePickerComponentRenderer = (0, renderers_1.createComponentRenderer)("DatePicker", ({ node, state, updateState, extractValue, layoutCss, lookupEventHandler, registerComponentApi }) => {
194
+ var _a;
195
+ return ((0, jsx_runtime_1.jsx)(exports.DatePicker, { layout: layoutCss, mode: extractValue((_a = node.props) === null || _a === void 0 ? void 0 : _a.mode), value: state === null || state === void 0 ? void 0 : state.value, initialValue: extractValue(node.props.initialValue), enabled: extractValue.asOptionalBoolean(node.props.enabled), placeholder: extractValue.asOptionalString(node.props.placeholder), validationStatus: extractValue(node.props.validationStatus), updateState: updateState, onDidChange: lookupEventHandler("didChange"), onFocus: lookupEventHandler("gotFocus"), onBlur: lookupEventHandler("lostFocus"), registerComponentApi: registerComponentApi, dateFormat: extractValue(node.props.dateFormat), showWeekNumber: extractValue.asOptionalBoolean(node.props.showWeekNumber), weekStartsOn: extractValue(node.props.weekStartsOn), fromDate: extractValue(node.props.fromDate), toDate: extractValue(node.props.toDate), disabledDates: extractValue(node.props.disabledDates) }));
196
+ }, metadata);