xmlui 0.9.60 → 0.9.61

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 (184) hide show
  1. package/dist/lib/{apiInterceptorWorker-CNiXy9XE.mjs → apiInterceptorWorker-DBv1IaN7.mjs} +1 -1
  2. package/dist/lib/{index-B1V2vJWh.mjs → index-C9AUt7Ay.mjs} +13543 -12979
  3. package/dist/lib/index.css +1 -1
  4. package/dist/lib/language-server-web-worker.mjs +1 -1
  5. package/dist/lib/language-server.mjs +1 -1
  6. package/dist/lib/{metadata-utils-4EQ6kQIM.mjs → metadata-utils-DJM8orNd.mjs} +40 -31
  7. package/dist/lib/{server-common-SNl_47nE.mjs → server-common-D0VA8gIv.mjs} +1450 -858
  8. package/dist/lib/{transform-CgRMkbb0.mjs → transform-BdB0APqE.mjs} +1543 -1384
  9. package/dist/lib/xmlui-parser.d.ts +76 -253
  10. package/dist/lib/xmlui-parser.mjs +49 -42
  11. package/dist/lib/{xmlui-serializer-EDw51UFN.mjs → xmlui-serializer-COAfRndx.mjs} +1 -1
  12. package/dist/lib/xmlui.d.ts +88 -670
  13. package/dist/lib/xmlui.mjs +2 -2
  14. package/dist/metadata/{apiInterceptorWorker-DsjW46f_.mjs → apiInterceptorWorker-Bu81HvQB.mjs} +1 -1
  15. package/dist/metadata/{collectedComponentMetadata-CBiI_eDf.mjs → collectedComponentMetadata-Dzn97vOS.mjs} +13619 -12876
  16. package/dist/metadata/style.css +1 -1
  17. package/dist/metadata/xmlui-metadata.mjs +1 -1
  18. package/dist/metadata/xmlui-metadata.umd.js +117 -120
  19. package/dist/scripts/package.json +5 -5
  20. package/dist/scripts/src/abstractions/ComponentDefs.js +0 -8
  21. package/dist/scripts/src/abstractions/ThemingDefs.js +0 -9
  22. package/dist/scripts/src/components/APICall/APICall.js +30 -18
  23. package/dist/scripts/src/components/Accordion/Accordion.js +5 -4
  24. package/dist/scripts/src/components/Accordion/AccordionItem.js +10 -4
  25. package/dist/scripts/src/components/App/App.js +9 -4
  26. package/dist/scripts/src/components/App/AppNative.js +11 -1
  27. package/dist/scripts/src/components/AppHeader/AppHeader.js +1 -2
  28. package/dist/scripts/src/components/AppState/AppState.js +3 -3
  29. package/dist/scripts/src/components/AutoComplete/AutoComplete.js +6 -7
  30. package/dist/scripts/src/components/Avatar/Avatar.js +3 -3
  31. package/dist/scripts/src/components/Backdrop/Backdrop.js +1 -2
  32. package/dist/scripts/src/components/Badge/Badge.js +1 -2
  33. package/dist/scripts/src/components/Bookmark/Bookmark.js +2 -2
  34. package/dist/scripts/src/components/Breakout/Breakout.js +2 -2
  35. package/dist/scripts/src/components/Button/Button.js +1 -2
  36. package/dist/scripts/src/components/Card/Card.js +2 -3
  37. package/dist/scripts/src/components/Card/CardNative.js +2 -1
  38. package/dist/scripts/src/components/Carousel/Carousel.js +6 -7
  39. package/dist/scripts/src/components/Carousel/CarouselItem.js +2 -2
  40. package/dist/scripts/src/components/ChangeListener/ChangeListener.js +1 -2
  41. package/dist/scripts/src/components/Charts/BarChart/BarChart.js +2 -2
  42. package/dist/scripts/src/components/Charts/DonutChart/DonutChart.js +8 -7
  43. package/dist/scripts/src/components/Charts/LabelList/LabelList.js +2 -2
  44. package/dist/scripts/src/components/Charts/Legend/Legend.js +2 -2
  45. package/dist/scripts/src/components/Charts/LineChart/LineChart.js +6 -6
  46. package/dist/scripts/src/components/Charts/PieChart/PieChart.js +14 -10
  47. package/dist/scripts/src/components/Charts/PieChart/PieChartNative.js +9 -4
  48. package/dist/scripts/src/components/Checkbox/Checkbox.js +1 -2
  49. package/dist/scripts/src/components/CodeBlock/CodeBlock.js +6 -3
  50. package/dist/scripts/src/components/CodeBlock/CodeBlockNative.js +1 -1
  51. package/dist/scripts/src/components/ColorPicker/ColorPicker.js +1 -2
  52. package/dist/scripts/src/components/ColorPicker/ColorPickerNative.js +2 -2
  53. package/dist/scripts/src/components/Column/Column.js +2 -2
  54. package/dist/scripts/src/components/ComponentProvider.js +4 -0
  55. package/dist/scripts/src/components/ContentSeparator/ContentSeparator.js +2 -2
  56. package/dist/scripts/src/components/DatePicker/DatePicker.js +2 -3
  57. package/dist/scripts/src/components/DropdownMenu/DropdownMenu.js +6 -7
  58. package/dist/scripts/src/components/EmojiSelector/EmojiSelector.js +2 -3
  59. package/dist/scripts/src/components/ExpandableItem/ExpandableItem.js +9 -10
  60. package/dist/scripts/src/components/FileInput/FileInput.js +14 -15
  61. package/dist/scripts/src/components/FileUploadDropZone/FileUploadDropZone.js +4 -4
  62. package/dist/scripts/src/components/FlowLayout/FlowLayout.js +2 -2
  63. package/dist/scripts/src/components/FlowLayout/FlowLayoutNative.js +35 -6
  64. package/dist/scripts/src/components/Footer/Footer.js +4 -3
  65. package/dist/scripts/src/components/Form/Form.js +12 -9
  66. package/dist/scripts/src/components/Form/FormNative.js +12 -4
  67. package/dist/scripts/src/components/FormItem/FormItem.js +7 -8
  68. package/dist/scripts/src/components/FormItem/ItemWithLabel.js +1 -1
  69. package/dist/scripts/src/components/FormSection/FormSection.js +7 -29
  70. package/dist/scripts/src/components/Heading/Heading.js +11 -11
  71. package/dist/scripts/src/components/HelloWorld/HelloWorld.js +102 -0
  72. package/dist/scripts/src/components/HelloWorld/HelloWorldNative.js +92 -0
  73. package/dist/scripts/src/components/HoverCard/HoverCard.js +1 -2
  74. package/dist/scripts/src/components/HtmlTags/HtmlTags.js +297 -297
  75. package/dist/scripts/src/components/Icon/Icon.js +5 -5
  76. package/dist/scripts/src/components/Image/Image.js +4 -5
  77. package/dist/scripts/src/components/InspectButton/InspectButton.js +2 -2
  78. package/dist/scripts/src/components/Items/Items.js +2 -3
  79. package/dist/scripts/src/components/Link/Link.js +3 -4
  80. package/dist/scripts/src/components/Link/LinkNative.js +46 -1
  81. package/dist/scripts/src/components/List/List.js +15 -16
  82. package/dist/scripts/src/components/Logo/Logo.js +2 -2
  83. package/dist/scripts/src/components/Markdown/Markdown.js +6 -6
  84. package/dist/scripts/src/components/Markdown/MarkdownNative.js +2 -4
  85. package/dist/scripts/src/components/Markdown/parse-binding-expr.js +1 -1
  86. package/dist/scripts/src/components/Markdown/utils.js +32 -13
  87. package/dist/scripts/src/components/ModalDialog/ModalDialog.js +9 -9
  88. package/dist/scripts/src/components/NavGroup/NavGroup.js +2 -3
  89. package/dist/scripts/src/components/NavGroup/NavGroupContext.js +1 -0
  90. package/dist/scripts/src/components/NavGroup/NavGroupNative.js +6 -2
  91. package/dist/scripts/src/components/NavLink/NavLink.js +3 -4
  92. package/dist/scripts/src/components/NavLink/NavLinkNative.js +10 -9
  93. package/dist/scripts/src/components/NavPanel/NavPanel.js +4 -4
  94. package/dist/scripts/src/components/NavPanel/NavPanelNative.js +132 -3
  95. package/dist/scripts/src/components/NestedApp/AppWithCodeView.js +24 -5
  96. package/dist/scripts/src/components/NestedApp/AppWithCodeViewNative.js +64 -7
  97. package/dist/scripts/src/components/NestedApp/NestedApp.js +19 -9
  98. package/dist/scripts/src/components/NestedApp/NestedAppNative.js +11 -7
  99. package/dist/scripts/src/components/NoResult/NoResult.js +1 -2
  100. package/dist/scripts/src/components/NumberBox/NumberBox.js +5 -6
  101. package/dist/scripts/src/components/NumberBox/NumberBox2.js +5 -6
  102. package/dist/scripts/src/components/Option/Option.js +5 -5
  103. package/dist/scripts/src/components/PageMetaTitle/PageMetaTitle.js +2 -2
  104. package/dist/scripts/src/components/Pages/Pages.js +7 -8
  105. package/dist/scripts/src/components/Pages/PagesNative.js +8 -3
  106. package/dist/scripts/src/components/PositionedContainer/PositionedContainer.js +3 -3
  107. package/dist/scripts/src/components/ProgressBar/ProgressBar.js +2 -2
  108. package/dist/scripts/src/components/Queue/Queue.js +16 -16
  109. package/dist/scripts/src/components/RadioGroup/RadioGroup.js +13 -13
  110. package/dist/scripts/src/components/RadioGroup/RadioGroupNative.js +13 -28
  111. package/dist/scripts/src/components/RadioGroup/RadioItem.js +2 -2
  112. package/dist/scripts/src/components/RealTimeAdapter/RealTimeAdapter.js +3 -3
  113. package/dist/scripts/src/components/Redirect/Redirect.js +2 -2
  114. package/dist/scripts/src/components/Select/Select.js +8 -8
  115. package/dist/scripts/src/components/Select/SelectNative.js +1 -1
  116. package/dist/scripts/src/components/SelectionStore/SelectionStore.js +2 -2
  117. package/dist/scripts/src/components/Slider/Slider.js +4 -5
  118. package/dist/scripts/src/components/SpaceFiller/SpaceFiller.js +2 -2
  119. package/dist/scripts/src/components/Spinner/Spinner.js +2 -2
  120. package/dist/scripts/src/components/Splitter/Splitter.js +2 -3
  121. package/dist/scripts/src/components/Stack/Stack.js +1 -2
  122. package/dist/scripts/src/components/StickyBox/StickyBox.js +2 -2
  123. package/dist/scripts/src/components/StickyBox/StickyBoxNative.js +2 -0
  124. package/dist/scripts/src/components/Switch/Switch.js +7 -4
  125. package/dist/scripts/src/components/Table/Table.js +19 -20
  126. package/dist/scripts/src/components/Table/TableNative.js +6 -2
  127. package/dist/scripts/src/components/Table/useRowSelection.js +6 -2
  128. package/dist/scripts/src/components/TableOfContents/TableOfContents.js +2 -2
  129. package/dist/scripts/src/components/Tabs/TabItem.js +1 -2
  130. package/dist/scripts/src/components/Tabs/Tabs.js +9 -6
  131. package/dist/scripts/src/components/Text/Text.js +6 -6
  132. package/dist/scripts/src/components/TextArea/TextArea.js +4 -5
  133. package/dist/scripts/src/components/TextBox/TextBox.js +4 -5
  134. package/dist/scripts/src/components/Theme/NotificationToast.js +11 -0
  135. package/dist/scripts/src/components/Theme/Theme.js +4 -4
  136. package/dist/scripts/src/components/Theme/ThemeNative.js +4 -4
  137. package/dist/scripts/src/components/ToneChangerButton/ToneChangerButton.js +2 -2
  138. package/dist/scripts/src/components/Tree/TreeComponent.js +1 -2
  139. package/dist/scripts/src/components/TreeDisplay/TreeDisplay.js +4 -2
  140. package/dist/scripts/src/components/metadata-helpers.js +8 -0
  141. package/dist/scripts/src/components-core/Fragment.js +7 -4
  142. package/dist/scripts/src/components-core/LoaderComponent.js +1 -1
  143. package/dist/scripts/src/components-core/RestApiProxy.js +11 -8
  144. package/dist/scripts/src/components-core/Slot.js +3 -3
  145. package/dist/scripts/src/components-core/appContext/date-functions.js +1 -0
  146. package/dist/scripts/src/components-core/descriptorHelper.js +9 -0
  147. package/dist/scripts/src/components-core/interception/ApiInterceptorProvider.js +2 -2
  148. package/dist/scripts/src/components-core/loader/ApiLoader.js +4 -4
  149. package/dist/scripts/src/components-core/loader/DataLoader.js +20 -20
  150. package/dist/scripts/src/components-core/loader/ExternalDataLoader.js +6 -6
  151. package/dist/scripts/src/components-core/loader/MockLoaderRenderer.js +4 -4
  152. package/dist/scripts/src/components-core/rendering/AppContent.js +8 -4
  153. package/dist/scripts/src/components-core/rendering/AppRoot.js +4 -2
  154. package/dist/scripts/src/components-core/rendering/ComponentAdapter.js +1 -1
  155. package/dist/scripts/src/components-core/rendering/Container.js +2 -2
  156. package/dist/scripts/src/components-core/rendering/StateContainer.js +8 -2
  157. package/dist/scripts/src/components-core/rendering/reducer.js +1 -1
  158. package/dist/scripts/src/components-core/script-runner/ScriptingSourceTree.js +45 -0
  159. package/dist/scripts/src/components-core/script-runner/eval-tree-async.js +1 -1
  160. package/dist/scripts/src/components-core/script-runner/eval-tree-common.js +1 -1
  161. package/dist/scripts/src/components-core/script-runner/eval-tree-sync.js +1 -1
  162. package/dist/scripts/src/components-core/script-runner/process-statement-async.js +1 -1
  163. package/dist/scripts/src/components-core/script-runner/process-statement-common.js +1 -1
  164. package/dist/scripts/src/components-core/script-runner/process-statement-sync.js +1 -1
  165. package/dist/scripts/src/components-core/script-runner/visitors.js +1 -1
  166. package/dist/scripts/src/components-core/theming/ThemeProvider.js +2 -2
  167. package/dist/scripts/src/components-core/theming/layout-resolver.js +18 -0
  168. package/dist/scripts/src/components-core/theming/themes/root.js +3 -0
  169. package/dist/scripts/src/components-core/theming/utils.js +31 -0
  170. package/dist/scripts/src/components-core/utils/date-utils.js +60 -0
  171. package/dist/scripts/src/components-core/utils/statementUtils.js +1 -1
  172. package/dist/scripts/src/parsers/scripting/Parser.js +1 -1
  173. package/dist/scripts/src/parsers/scripting/code-behind-collect.js +1 -1
  174. package/dist/scripts/src/parsers/scripting/modules.js +1 -1
  175. package/dist/scripts/src/parsers/scripting/tree-visitor.js +1 -1
  176. package/dist/scripts/src/parsers/xmlui-parser/parser.js +42 -39
  177. package/dist/scripts/src/parsers/xmlui-parser/syntax-node.js +65 -0
  178. package/dist/scripts/src/parsers/xmlui-parser/transform.js +10 -8
  179. package/dist/scripts/src/parsers/xmlui-parser/utils.js +1 -2
  180. package/dist/standalone/xmlui-standalone.es.d.ts +88 -670
  181. package/dist/standalone/xmlui-standalone.umd.js +258 -261
  182. package/package.json +5 -5
  183. /package/dist/scripts/src/components-core/{abstractions → rendering}/containers.js +0 -0
  184. /package/dist/scripts/src/{abstractions/scripting/ScriptingSourceTree.js → parsers/scripting/ScriptingNodeTypes.js} +0 -0
@@ -19,35 +19,16 @@ import { Toast } from 'react-hot-toast';
19
19
  import { ToastOptions } from 'react-hot-toast';
20
20
  import { ValueOrFunction } from 'react-hot-toast';
21
21
 
22
- /**
23
- * This type represents the context in which an action is executed.
24
- */
25
22
  declare interface ActionExecutionContext {
26
- /**
27
- * A unique identifier for the container that the action is executed in.
28
- */
29
23
  uid: symbol;
30
- /**
31
- * The state of the container that the action is executed in.
32
- */
33
24
  state: ContainerState;
34
25
  getCurrentState: () => ContainerState;
35
- /**
36
- * The appContext object passed to the current app
37
- */
38
26
  appContext: AppContextObject;
39
- /**
40
- * The lookup function to resolve a sync action by its name.
41
- */
42
27
  lookupAction: LookupAsyncFnInner;
43
28
  navigate: any;
44
29
  location: any;
45
30
  }
46
31
 
47
- /**
48
- * This type represents a function that executes a particular action within the specified context
49
- * using the given arguments.
50
- */
51
32
  declare type ActionFunction = (executionContext: ActionExecutionContext, ...args: any[]) => any;
52
33
 
53
34
  declare type AlignmentOptions = (typeof alignmentOptionValues)[number];
@@ -66,196 +47,53 @@ declare type ApiInterceptorDefinition = {
66
47
  auth?: AuthDefinition;
67
48
  };
68
49
 
69
- declare function ApiInterceptorProvider({ interceptor, children, apiWorker, useHashBasedRouting, }: {
50
+ declare function ApiInterceptorProvider({ interceptor, children, apiWorker, useHashBasedRouting, waitForApiInterceptor }: {
70
51
  interceptor?: ApiInterceptorDefinition;
71
52
  children: ReactNode;
72
53
  apiWorker?: SetupWorker;
73
54
  useHashBasedRouting?: boolean;
55
+ waitForApiInterceptor?: boolean;
74
56
  }): JSX_2.Element;
75
57
 
76
- /**
77
- * This interface defines the properties and services of an app context that the application components can use when
78
- * implementing their behavior.
79
- */
80
58
  declare type AppContextObject = {
81
- /**
82
- * Accept other methods
83
- */
84
59
  [x: string]: unknown;
85
60
  version: string;
86
61
  Actions: Record<string, ActionFunction>;
87
- /* Excluded from this release type: apiInterceptorContext */
88
- /**
89
- * This property returns a hash object containing all application-global settings
90
- * defined in the app's configuration file.
91
- */
62
+ apiInterceptorContext: IApiInterceptorContext;
92
63
  appGlobals?: Record<string, any>;
93
- /* Excluded from this release type: debugEnabled */
94
- /* Excluded from this release type: decorateComponentsWithTestId */
95
- /**
96
- * This property returns an object with some properties of the current environment.
97
- */
64
+ debugEnabled?: boolean;
65
+ decorateComponentsWithTestId?: boolean;
98
66
  environment: {
99
67
  isWindowFocused: boolean;
100
68
  };
101
- /**
102
- * This property returns an object with information about the current media size.
103
- */
104
69
  mediaSize: MediaSize;
105
- /* Excluded from this release type: queryClient */
106
- /**
107
- * This property returns `true` if the app is a standalone XMLUI app; otherwise
108
- * (for example, as part of a website), it returns `false`.
109
- */
70
+ queryClient: QueryClient | null;
110
71
  standalone?: boolean;
111
- /**
112
- * This function formats the specified value's date part into a local date string
113
- * (according to the machine's local settings).
114
- * @param date Date to format
115
- */
116
72
  formatDate: (date: string | Date) => string | undefined;
117
- /**
118
- * This function formats the specified value into a local
119
- * date and time string (according to the machine's local settings).
120
- * @param date Date to format
121
- */
122
73
  formatDateTime: (date: any) => string | undefined;
123
- /**
124
- * This function formats the specified value's date part (without year)
125
- * into a local date string (according to the machine's local settings).
126
- * @param date Date to format
127
- */
128
74
  formatDateWithoutYear: (date: string | Date) => string | undefined;
129
- /**
130
- * This function formats the specified value's time part into a local date
131
- * string (according to the machine's local settings).
132
- * @param date Date to format
133
- */
134
75
  formatTime: (date: any) => string | undefined;
135
- /**
136
- * This function formats the specified value's time part (without seconds)
137
- * into a local date string (according to the machine's local settings).
138
- * @param date Date to format
139
- */
140
76
  formatTimeWithoutSeconds: (date: string | Date) => string | undefined;
141
- /**
142
- * This function creates a date from the specified input value. If no input
143
- * is provided, it returns the current date and time.
144
- */
145
77
  getDate: (date?: string | number | Date) => Date;
146
- /**
147
- * This function calculates the difference between the current date and the
148
- * provided one and returns it in a human-readable form, such as "1 month", "2 weeks", etc.
149
- * @param date
150
- * @param nowLabel
151
- * @param time
152
- * @returns
153
- */
154
78
  getDateUntilNow: (date?: string | number | Date, nowLabel?: string, time?: string) => string;
155
- /**
156
- * This function converts the input string into a date value and returns
157
- * the ISO 8601 string representation of the date. It can pass dates between
158
- * the UI and backend APIs in a standard format.
159
- * @param date Date to format
160
- */
161
79
  isoDateString: (date?: string) => string;
162
- /**
163
- * This function checks if the specified date is today.
164
- * @param date Date to check
165
- */
166
80
  isToday: (date: string | Date) => boolean;
167
- /**
168
- * This function checks if the specified date is tomorrow.
169
- * @param date Date to check
170
- */
171
81
  isTomorrow: (date: string | Date) => boolean;
172
- /**
173
- * This function checks if the specified date is yesterday.
174
- * @param date Date to check
175
- */
176
82
  isYesterday: (date: string | Date) => boolean;
177
- /**
178
- * This function checks the date value provided for some particular
179
- * values and returns accordingly. Otherwise, returns it as `formatDate` would.
180
- * @param date Date to format
181
- */
182
83
  smartFormatDate: (date?: string | number | Date) => string;
183
- /**
184
- * This function checks the date value provided for some particular values and
185
- * returns accordingly. Otherwise, returns it as `formatDateTime` would.
186
- * @param date Date to format
187
- */
188
84
  smartFormatDateTime: (date: string | Date) => string | undefined;
189
- /**
190
- * This functions creates the difference between two dates in minutes.
191
- * @param date1 First date
192
- * @param date2 Second date
193
- * @returns The difference in minutes
194
- */
195
85
  differenceInMinutes: (date1: number | Date, date2: number | Date) => number;
196
- /**
197
- * This function checks if the specified dates are on the same day.
198
- * @param dateLeft First date
199
- * @param dateRight Second Date
200
- * @returns True, if the dates are on the same day; otherwise, false.
201
- */
202
86
  isSameDay: (dateLeft: number | Date, dateRight: number | Date) => boolean;
203
- /**
204
- * This function checks if the specified date is in the current calendar year.
205
- * @param date Date to check
206
- * @returns True, if the date is in the current year; otherwise, false.
207
- */
208
87
  isThisYear: (date: Date | number) => boolean;
209
- /**
210
- * This function calculates the average of the specified values and returns it.
211
- * @param values Values to calculate the average
212
- * @param decimals Number of decimal places to round the result
213
- */
88
+ formatHumanElapsedTime: (date: string | Date) => string;
214
89
  avg: (values: number[], decimals?: number) => number;
215
- /**
216
- * This function calculates the sum of the specified values and returns it.
217
- * @param values Values to calculate the sum
218
- */
219
90
  sum: (values: number[]) => number;
220
- /**
221
- * This function returns the specified file size in a compact form, such as
222
- * "112 B", "2.0 KiB", "23.4 KiB", "2.3 MiB", etc.
223
- * @param bytes Number of bytes to format
224
- */
225
91
  formatFileSizeInBytes: (bytes: number) => string | undefined;
226
- /**
227
- * This function returns the type of the specified file.
228
- * @param fileName Filename to check for extension
229
- */
230
92
  getFileExtension: (fileName: string) => string | undefined;
231
- /**
232
- * This function navigates to the specified `url`.
233
- * @param url New app location
234
- * @param options Navigation options
235
- */
236
93
  navigate: (url: To, options?: NavigateOptions) => void;
237
- /**
238
- * This property determines the base name used for the router.
239
- */
240
94
  routerBaseName: string;
241
- /**
242
- * Instructs the browser to display a dialog with an optional message, and to wait until the
243
- * user either confirms or cancels the dialog. It returns a boolean indicating whether OK
244
- * (`true`) or Cancel (`false`) was selected.
245
- * @param title Dialog title
246
- * @param message Confirmation message
247
- * @param actionLabel Optional action label
248
- * @return True, if the user confirmed the action; otherwise, false.
249
- */
250
95
  confirm: (title: string, message?: string, actionLabel?: string) => Promise<boolean>;
251
- /**
252
- * This method displays the specified `error` (error message) on the UI.
253
- * @param error Error to display
254
- */
255
96
  signError(error: Error | string): void;
256
- /**
257
- * The toast service that displays messages in the UI.
258
- */
259
97
  toast: {
260
98
  (message: Message, opts?: ToastOptions): string;
261
99
  error: ToastHandler;
@@ -270,43 +108,13 @@ declare type AppContextObject = {
270
108
  error: ValueOrFunction<Renderable, any>;
271
109
  }, opts?: DefaultToastOptions): Promise<T>;
272
110
  };
273
- /**
274
- * This property returns the ID of the currently active theme.
275
- */
276
111
  activeThemeId: string;
277
- /**
278
- * This property returns the tone of the currently active theme ("light" or "dark").
279
- */
280
112
  activeThemeTone: "light" | "dark";
281
- /**
282
- * This property returns an array of all available theme IDs.
283
- */
284
113
  availableThemeIds: string[];
285
- /**
286
- * This function sets the current theme to the one with the specified `themeId`.
287
- * @param themId New theme to set
288
- */
289
114
  setTheme: (themId: string) => void;
290
- /**
291
- * This function sets the current theme tone to the specified `tone` value ("light" or "dark").
292
- * @param newTone New tone to set
293
- */
294
115
  setThemeTone: (newTone: "light" | "dark") => void;
295
- /**
296
- * This function toggles the current theme tone from "light" to "dark" or vice versa.
297
- */
298
116
  toggleThemeTone: () => void;
299
- /**
300
- * This property gets the information about the logged-in user. If `null`, no user is
301
- * logged in. The user information may have any value; the app must be able to leverage
302
- * this information.
303
- */
304
117
  loggedInUser: LoggedInUserDto | null;
305
- /**
306
- * This function sets the information about the logged-in user. The user information
307
- * may have any value; the app must be able to leverage this information.
308
- * @param loggedInUser Logged-in user information
309
- */
310
118
  setLoggedInUser: (loggedInUser: any) => void;
311
119
  readonly resources?: Record<string, string>;
312
120
  capitalize: (s?: string) => string;
@@ -331,8 +139,9 @@ declare type AppLayoutType = (typeof appLayoutNames)[number];
331
139
  * from either code-behind files or inlined markup expressions) and executes
332
140
  * the app accordingly.
333
141
  */
334
- declare function AppRoot({ apiInterceptor, contributes, node, decorateComponentsWithTestId, debugEnabled, defaultTheme, defaultTone, resources, globalProps, standalone, trackContainerHeight, routerBaseName, previewMode, resourceMap, sources, extensionManager, children, projectCompilation, }: AppWrapperProps & {
142
+ declare function AppRoot({ apiInterceptor, contributes, node, decorateComponentsWithTestId, debugEnabled, defaultTheme, defaultTone, resources, globalProps, standalone, trackContainerHeight, routerBaseName, previewMode, resourceMap, sources, extensionManager, children, projectCompilation, isNested, }: AppWrapperProps & {
335
143
  extensionManager?: StandaloneExtensionManager;
144
+ isNested?: boolean;
336
145
  }): JSX_2.Element;
337
146
 
338
147
  declare type AppWrapperProps = {
@@ -396,10 +205,6 @@ declare interface AssignmentExpression extends ExpressionBase {
396
205
 
397
206
  declare type AssignmentSymbols = "=" | "+=" | "-=" | "**=" | "*=" | "/=" | "%=" | "<<=" | ">>=" | ">>>=" | "&=" | "^=" | "|=" | "&&=" | "||=" | "??=";
398
207
 
399
- /**
400
- * XMLUI executes its code asynchronously. This type defines functions that can be used in XMLUI
401
- * as actions or event handlers.
402
- */
403
208
  declare type AsyncFunction = (...args: any) => Promise<any> | any;
404
209
 
405
210
  declare type AuthDefinition = {
@@ -514,104 +319,32 @@ declare type ComponentCompilation = CompilationUnit & {
514
319
  definition: CompoundComponentDef;
515
320
  };
516
321
 
517
- /**
518
- * This interface represents the properties of a component definition.
519
- */
520
322
  declare interface ComponentDef<TMd extends ComponentMetadata = ComponentMetadata> extends ComponentDefCore, Scriptable {
521
323
  props?: Record<keyof TMd["props"], any>;
522
324
  events?: Record<keyof TMd["events"], any>;
523
- /**
524
- * Components may have an API that other components can use to interact with them. This property holds
525
- * the API methods associated with this component definition.
526
- */
527
325
  api?: Record<keyof TMd["apis"], any>;
528
- /**
529
- * Components may provide context variables that can be used to in expressions and event handlers
530
- * within the component.
531
- * REVIEW: This property can be removed after migration to the new componend definition type.
532
- */
533
326
  contextVars?: Record<keyof TMd["contextVars"], string>;
534
327
  }
535
328
 
536
- /**
537
- * This interface represents the core properties of a component definition (independent
538
- * of component metadata).
539
- */
540
329
  declare interface ComponentDefCore {
541
330
  type: string;
542
331
  uid?: string;
543
332
  testId?: string;
544
- /**
545
- * A component can define namespaces on it, with the <ComponentName xmlns:KEY="VALUE" /> syntax
546
- * these are used later to resolve the `type` of the componentDef.
547
- * <KEY:Button/> will have type `VALUE.Button` (joined with a "." (dot) )
548
- */
549
333
  namespaces?: Record<string, string>;
550
- /**
551
- * Though components manage their state internally, the app logic may require user state management.
552
- * Components may have user *variables*, which the UI logic uses to manage the application state.
553
- * This property holds the variables (name and value pairs) associated with this component definition.
554
- */
555
334
  vars?: Record<string, any>;
556
- /**
557
- * Each component may have child components to constitute a hierarchy of components. This property
558
- * holds the definition of these nested children.
559
- */
560
335
  children?: ComponentDef[];
561
- /**
562
- * Components may have slots that can be filled with other components. This property holds the
563
- * contents of the slots
564
- */
565
336
  slots?: Record<string, ComponentDef[]>;
566
- /**
567
- * This property is evaluated to a Boolean value during run time. When this value is `true`, the
568
- * component with its children chain is rendered; otherwise, the entire component hierarchy is omitted
569
- * from the rendered tree.
570
- */
571
337
  when?: string | boolean;
572
- /**
573
- * Some components work with data obtained asynchronously. Fetching this data requires some state
574
- * management handling the complexity (including error handling) of data access. A *loader* is
575
- * responsible for managing this logic. This property holds the loaders associated with this component
576
- * definition.
577
- */
578
338
  loaders?: ComponentDef[];
579
- /**
580
- * Components may have functions that are used to perform some logic. This property holds the functions
581
- * (name and function body) associated with this component definition.
582
- */
583
339
  functions?: Record<string, any>;
584
- /**
585
- * Components managing state through variables or loaders are wrapped with containers responsible
586
- * for this job. Just as components, containers form a hierarchy. While working with this hierarchy,
587
- * parent components may flow state values (key and value pairs) to their child containers. This
588
- * property holds the name of state values to flow down to the direct child containers.
589
- */
590
340
  uses?: string[];
591
- /**
592
- * Arbitrary debug information that can be attached to a component definition.
593
- * Current usage:
594
- * - `debug: { source: { start: number, end: number } }` Ther start and end positions of of the source
595
- * belonging to the particular component definition.
596
- */
597
341
  debug?: Record<string, any>;
598
342
  }
599
343
 
600
344
  declare type ComponentExtension = ComponentRendererDef | CompoundComponentDef;
601
345
 
602
- /**
603
- * Sometimes, components and compound components can both be used
604
- */
605
346
  declare type ComponentLike = ComponentDef | CompoundComponentDef;
606
347
 
607
- /**
608
- * Components have metadata that the rendering engine uses to render the
609
- * component. This type defines the structure of such metadata.
610
- *
611
- * The type has generic parameters to ensure that type-checking works with
612
- * the metadata defined here in concert with the renderer object using the
613
- * same metadata type.
614
- */
615
348
  declare type ComponentMetadata<TProps extends Record<string, ComponentPropertyMetadata> = Record<string, any>, TEvents extends Record<string, ComponentPropertyMetadata> = Record<string, any>, TContextValues extends Record<string, ComponentPropertyMetadata> = Record<string, any>, TApis extends Record<string, ComponentPropertyMetadata> = Record<string, any>> = {
616
349
  status?: "stable" | "experimental" | "deprecated" | "in progress";
617
350
  description?: string;
@@ -634,46 +367,13 @@ declare type ComponentMetadata<TProps extends Record<string, ComponentPropertyMe
634
367
  isHtmlTag?: boolean;
635
368
  };
636
369
 
637
- /**
638
- * Components have properties, events, context values, and exposed API
639
- * endpoints, each holding metadata the rendering engine uses at run time.
640
- * This type defines the structure of such metadata.
641
- */
642
370
  declare type ComponentPropertyMetadata = {
643
- /**
644
- * This field defines the description explaining the property. You can use
645
- * markdown, as the UI may display this value.
646
- */
647
371
  readonly description: string;
648
- /**
649
- * This field defines the type of the property. The rendering engine uses this
650
- * information to validate the property value.
651
- */
652
372
  readonly valueType?: PropertyValueType;
653
- /**
654
- * This field defines the available values of the property. The rendering engine
655
- * uses this information to validate the property value.
656
- */
657
373
  readonly availableValues?: readonly PropertyValueDescription[];
658
- /**
659
- * This field defines the default value of the property. The rendering engine uses
660
- * this information to set the default value of the property.
661
- */
662
374
  defaultValue?: any;
663
- /**
664
- * This field defines a validation function that the rendering engine uses to validate
665
- * the property value. The function returns one or more hinst if the property value is
666
- * invalid.
667
- */
668
375
  isValid?: IsValidFunction<any>;
669
- /**
670
- * Indicates that a particular property is internal and should not be exposed in the
671
- * documentation
672
- */
673
376
  isInternal?: boolean;
674
- /**
675
- * Indicates that a particular property is required for the component to essentially function.
676
- */
677
377
  isRequired?: boolean;
678
378
  };
679
379
 
@@ -685,69 +385,22 @@ declare interface ComponentRendererContextBase<TMd extends ComponentMetadata = C
685
385
  layoutContext?: LayoutContext;
686
386
  }
687
387
 
688
- /**
689
- * Components must be registered with a component registry so the engine can use them. This type
690
- * collects the information held by the registry.
691
- */
692
388
  declare type ComponentRendererDef<T extends ComponentDef = any> = {
693
- /**
694
- * The component's type identifier. In the markup, the component must use this name to be recognized.
695
- */
696
389
  type: string;
697
- /**
698
- * This function renders the component from its definition to its React representation.
699
- */
700
390
  renderer: ComponentRendererFn<T>;
701
- /**
702
- * The metadata to use when rendering the component
703
- */
704
391
  metadata?: ComponentMetadata;
705
392
  };
706
393
 
707
- /**
708
- * This function renders a component definition into a React component
709
- */
710
394
  declare type ComponentRendererFn<T extends ComponentDef> = (context: RendererContext<T>) => ReactNode;
711
395
 
712
396
  declare type ComponentSize = (typeof sizeValues)[number];
713
397
 
714
- /**
715
- * XMLUI allows the creation of reusable components assembled from other XMLUI components (with markup).
716
- * This type represents such components. The name `CompoundComponent` refers to the assembled nature
717
- * of reusable components.
718
- */
719
398
  declare interface CompoundComponentDef extends Scriptable {
720
- /**
721
- * Each compound component must have a unique name. The markup uses this name to refer to the
722
- * particular compound component.
723
- */
724
399
  name: string;
725
- /**
726
- * Each compound component must have a single root component defining the component contents.
727
- */
728
400
  component: ComponentDef;
729
- /**
730
- * Compound components may provide an API that other components can use to interact with them. This
731
- * property holds the API methods associated with this compound component definition.
732
- */
733
401
  api?: Record<string, any>;
734
- /**
735
- * This property holds the variables (name and value pairs) associated with this compound component
736
- * definition.
737
- */
738
402
  vars?: Record<string, any>;
739
- /**
740
- * A component can define namespaces on it, with the <ComponentName xmlns:KEY="VALUE" /> syntax
741
- * these are used later to resolve the `type` of the componentDef.
742
- * <KEY:Button/> will have type `VALUE.Button` (joined with a "." (dot) )
743
- */
744
403
  namespaces?: Record<string, string>;
745
- /**
746
- * Arbitrary debug information that can be attached to a component definition.
747
- * Current usage:
748
- * - `debug: { source: { start: number, end: number } }` Ther start and end positions of of the source
749
- * belonging to the particular component definition.
750
- */
751
404
  debug?: Record<string, any>;
752
405
  codeBehind?: string;
753
406
  }
@@ -768,10 +421,6 @@ declare interface ConstStatement extends ScripNodeBase {
768
421
  decls: VarDeclaration[];
769
422
  }
770
423
 
771
- /**
772
- * We store the state application state in a hierarchical structure of containers. This type represents
773
- * the state within a single container stored as key and value pairs.
774
- */
775
424
  declare type ContainerState = Record<string | symbol, any>;
776
425
 
777
426
  declare type CONTINUE_STATEMENT = typeof T_CONTINUE_STATEMENT;
@@ -846,23 +495,8 @@ declare interface DoWhileStatement extends ScripNodeBase {
846
495
  body: Statement;
847
496
  }
848
497
 
849
- /**
850
- * Some components render their nested child components dynamically using the current context of
851
- * their parents. For example, reusable components (`CompoundComponentDef`) have a `Slot`
852
- * placeholder that marks the location where the children should be rendered. Other component types
853
- * (e.g., `ApiBoundComponent` and `ContainerComponent`) use this dynamic rendering, too.
854
- *
855
- * This interface represents this functionality.
856
- */
857
498
  declare interface DynamicChildComponentDef extends ComponentDef {
858
- /**
859
- * This property holds a function that can render a particular child or children into a specific
860
- * layout context.
861
- */
862
499
  renderChild: RenderChildFn;
863
- /**
864
- * This property holds the child component that should be rendered.
865
- */
866
500
  childToRender: ComponentDef;
867
501
  }
868
502
 
@@ -974,36 +608,12 @@ declare interface Extension {
974
608
 
975
609
  declare type ExtensionRegisteredCallbackFn = (extension: Extension) => void;
976
610
 
977
- /**
978
- * This type describes a font definition resource.
979
- */
980
611
  declare type FontDef = {
981
- /**
982
- * Specifies a name that will be used as the font face value for font properties
983
- */
984
612
  fontFamily: string;
985
- /**
986
- * A fontStyle value. Accepts two values to specify a range that is supported by a font-face,
987
- * for example `fontStyle: oblique 20deg 50deg`
988
- */
989
613
  fontStyle?: string;
990
- /**
991
- * A font-weight value. Accepts two values to specify a range that is supported by a font-face,
992
- * for example `font-weight: 100 900`
993
- */
994
614
  fontWeight?: string;
995
- /**
996
- * This property determines how a font face is displayed based on whether and when it is downloaded
997
- * and ready to use.
998
- */
999
615
  fontDisplay?: string;
1000
- /**
1001
- * The mime type of the font file
1002
- */
1003
616
  format?: string;
1004
- /**
1005
- * Specifies references to font resources.
1006
- */
1007
617
  src: string;
1008
618
  } | string;
1009
619
 
@@ -1095,6 +705,9 @@ declare interface IAppLayoutContext {
1095
705
  subNavPanelSlot?: HTMLElement;
1096
706
  scrollWholePage?: boolean;
1097
707
  isFullVerticalWidth?: boolean;
708
+ isNested?: boolean;
709
+ linkMap?: Map<string, NavHierarchyNode>;
710
+ registerLinkMap?: (linkMap: Map<string, NavHierarchyNode>) => void;
1098
711
  }
1099
712
 
1100
713
  declare const Icon: default_2.ForwardRefExoticComponent<IconBaseProps & default_2.RefAttributes<unknown>>;
@@ -1143,29 +756,9 @@ declare type InterceptorOperationDef = {
1143
756
 
1144
757
  declare type IsValidFunction<T> = (propKey: string, propValue: T) => string | string[] | undefined | null;
1145
758
 
1146
- /**
1147
- * Each component is rendered in a particular layout context (for example, within a stack). This
1148
- * type provides information about that context and the operations that render children in it.
1149
- */
1150
759
  declare type LayoutContext<T extends ComponentDef = ComponentDef> = {
1151
- /**
1152
- * The type of the layout context
1153
- */
1154
760
  type?: string;
1155
- /**
1156
- * This function allows the React representation of a particular child node to be wrapped in
1157
- * whatever React components to accommodate the current layout context. When the engine is about to
1158
- * render children in a particular layout context, it checks the existence of this function.
1159
- * If declared, the engine invokes it.
1160
- * @param context Rendering context
1161
- * @param renderedChild The React node representing the rendered child
1162
- * @param metadata The metadata of the child component
1163
- * @returns The wrapped React node
1164
- */
1165
761
  wrapChild?: (context: RendererContext<T>, renderedChild: ReactNode, metadata?: ComponentMetadata) => ReactNode;
1166
- /**
1167
- * Arbitrary props extending the layout context
1168
- */
1169
762
  [key: string]: any;
1170
763
  };
1171
764
 
@@ -1218,58 +811,20 @@ declare const Logo: ForwardRefExoticComponent< {
1218
811
  style?: CSSProperties;
1219
812
  } & RefAttributes<HTMLImageElement>>;
1220
813
 
1221
- /**
1222
- * This type represents the options to use for looking up actions.
1223
- */
1224
814
  declare type LookupActionOptions = {
1225
- /**
1226
- * This property (by default, true) indicates that any error should be signed while
1227
- * executing an event handler. Set it to `false` to suppress error indication.
1228
- */
1229
815
  signError?: boolean;
1230
- /**
1231
- * We can use the event's name to get info about a particular event's progress. Note: Multiple
1232
- * events can run simultaneously.
1233
- */
1234
816
  eventName?: string;
1235
- /**
1236
- * By default, we cache resolved action functions. This property signs that we don't want to cache
1237
- * this function. Use true on one-off handlers, like the ones in Actions (e.g., `MutateAction`).
1238
- */
1239
817
  ephemeral?: boolean;
1240
- /**
1241
- * This property declares the script code to use as a default for a particular event handler.
1242
- */
1243
818
  defaultHandler?: string;
1244
819
  context?: any;
1245
820
  };
1246
821
 
1247
- /**
1248
- * This function resolves an action by its name with the specified options and returns the action
1249
- * function if found. Otherwise, return undefined.
1250
- */
1251
822
  declare type LookupAsyncFn = (action: string | undefined, actionOptions?: LookupActionOptions) => AsyncFunction | undefined;
1252
823
 
1253
- /**
1254
- * This function resolves an action by its name (within the component node that runs the action)
1255
- * with the specified options and returns the action function if found. Otherwise, return undefined.
1256
- */
1257
- declare type LookupAsyncFnInner = (action: string | undefined,
1258
- /**
1259
- * The unique identifier of the container that the action is executed in.
1260
- */
1261
- uid: symbol, actionOptions?: LookupActionOptions) => AsyncFunction | undefined;
824
+ declare type LookupAsyncFnInner = (action: string | undefined, uid: symbol, actionOptions?: LookupActionOptions) => AsyncFunction | undefined;
1262
825
 
1263
- /**
1264
- * This function retrieves an async function for a particular component's specified event to be
1265
- * invoked as an event handler (`undefined` if the particular event handler is not defined).
1266
- */
1267
826
  declare type LookupEventHandlerFn<TMd extends ComponentMetadata = ComponentMetadata> = (eventName: keyof NonNullable<TMd["events"]>, actionOptions?: LookupActionOptions) => AsyncFunction | undefined;
1268
827
 
1269
- /**
1270
- * This function resolves a sync action by its name and returns the action function if it is found.
1271
- * Otherwise, it returns undefined.
1272
- */
1273
828
  declare type LookupSyncFn = (action: string | undefined) => SyncFunction | undefined;
1274
829
 
1275
830
  declare type MediaBreakpointType = "xs" | "sm" | "md" | "lg" | "xl" | "xxl";
@@ -1303,7 +858,30 @@ declare type Message = ValueOrFunction<Renderable, Toast>;
1303
858
  */
1304
859
  declare type ModuleErrors = Record<string, ScriptParserErrorMessage[]>;
1305
860
 
1306
- declare function NestedApp({ api, app, components, config, activeTheme, activeTone, title, height, allowPlaygroundPopup, withFrame, }: NestedAppProps): JSX_2.Element;
861
+ declare interface NavHierarchyNode {
862
+ /** The type of navigation node - either a clickable link or a grouping container */
863
+ type: "NavLink" | "NavGroup";
864
+ /** The display label/text for this navigation item */
865
+ label: string;
866
+ /** The URL/route path for navigation (only present for NavLink types) */
867
+ to?: string;
868
+ /** Child navigation nodes nested under this node (only present for NavGroup types) */
869
+ children?: NavHierarchyNode[];
870
+ /** Reference to the immediate parent node in the hierarchy (undefined for root-level nodes) */
871
+ parent?: NavHierarchyNode;
872
+ /** Array of ancestor nodes from root to this node, excluding this node itself (empty for root-level nodes) */
873
+ pathSegments?: NavHierarchyNode[];
874
+ /** Reference to the previous NavLink in the flattened navigation order */
875
+ prevLink?: NavHierarchyNode;
876
+ /** Reference to the next NavLink in the flattened navigation order */
877
+ nextLink?: NavHierarchyNode;
878
+ /** True if this is the first NavLink within its immediate parent container */
879
+ firstLink?: boolean;
880
+ /** True if this is the last NavLink within its immediate parent container */
881
+ lastLink?: boolean;
882
+ }
883
+
884
+ declare function NestedApp({ api, app, components, config, activeTheme, activeTone, title, height, allowPlaygroundPopup, popOutUrl, withFrame, style, refVersion, }: NestedAppProps): JSX_2.Element;
1307
885
 
1308
886
  declare type NestedAppProps = {
1309
887
  api?: any;
@@ -1315,7 +893,11 @@ declare type NestedAppProps = {
1315
893
  title?: string;
1316
894
  height?: string | number;
1317
895
  allowPlaygroundPopup?: boolean;
896
+ popOutUrl?: string;
1318
897
  withFrame?: boolean;
898
+ style?: CSSProperties;
899
+ splitView?: boolean;
900
+ refVersion?: number;
1319
901
  };
1320
902
 
1321
903
  declare type NO_ARG_EXPRESSION = typeof T_NO_ARG_EXPRESSION;
@@ -1384,10 +966,6 @@ declare type ProjectCompilation = {
1384
966
  themes: Record<string, ThemeDefinition>;
1385
967
  };
1386
968
 
1387
- /**
1388
- * This type represents the description of a property value, which can be a string, a number,
1389
- * or an object with a value and a description. This type is used in the metadata of a component.
1390
- */
1391
969
  declare type PropertyValueDescription = string | number | {
1392
970
  value: string | number;
1393
971
  description: string;
@@ -1468,49 +1046,18 @@ declare interface ReactiveVarDeclaration extends ExpressionBase {
1468
1046
  expr: Expression;
1469
1047
  }
1470
1048
 
1471
- /**
1472
- * This type represents a function that registers all API endpoints of a particular component.
1473
- */
1474
1049
  declare type RegisterComponentApiFn = (componentApi: ComponentApi) => void;
1475
1050
 
1476
1051
  declare type RenderChildFn<L extends ComponentDef = ComponentDef> = (children?: ComponentDef | ComponentDef[] | DynamicChildComponentDef | DynamicChildComponentDef[] | string, layoutContext?: LayoutContext<L>, parentRenderContext?: ParentRenderContext, uidInfoRef?: RefObject<Record<string, any>>, ref?: ForwardedRef<any>) => ReactNode | ReactNode[];
1477
1052
 
1478
- /**
1479
- * This interface defines the renderer context for the exposed components of the XMLUI framework.
1480
- */
1481
1053
  declare interface RendererContext<TMd extends ComponentMetadata = ComponentMetadata> extends ComponentRendererContextBase<TMd> {
1482
- /**
1483
- * The unique identifier of the component instance
1484
- */
1485
1054
  uid: symbol;
1486
- /**
1487
- * A component invokes this function to change its internal state
1488
- */
1489
1055
  updateState: UpdateStateFn;
1490
- /**
1491
- * When a component wants to access a property value (which may contain a binding expression to
1492
- * evaluate), it must use this property to get the current value.
1493
- */
1494
1056
  extractValue: ValueExtractor;
1495
- /**
1496
- * This function gets a physical resource URL according to the provided logical URL.
1497
- */
1498
1057
  extractResourceUrl: (url?: string) => string | undefined;
1499
- /**
1500
- * This function gets an async executable function that handles an event.
1501
- */
1502
1058
  lookupEventHandler: LookupEventHandlerFn<TMd>;
1503
- /**
1504
- * A component can register its APIs with this function
1505
- */
1506
1059
  registerComponentApi: RegisterComponentApiFn;
1507
- /**
1508
- * This function obtains an action by its name with the specified options
1509
- */
1510
1060
  lookupAction: LookupAsyncFn;
1511
- /**
1512
- * This function retrieves a sync function the component can use as a callback
1513
- */
1514
1061
  lookupSyncCallback: LookupSyncFn;
1515
1062
  layoutCss: CSSProperties;
1516
1063
  }
@@ -1535,21 +1082,9 @@ declare interface ScripNodeBase {
1535
1082
  endToken?: ScriptingToken;
1536
1083
  }
1537
1084
 
1538
- /**
1539
- * This interface holds the properties representing a scriptable component definition.
1540
- */
1541
1085
  declare interface Scriptable {
1542
- /**
1543
- * This property holds the text defined in all <script> sections attached to a component.
1544
- */
1545
1086
  script?: string;
1546
- /**
1547
- * This property holds the parsed form of scripts stored in code-behind files.
1548
- */
1549
1087
  scriptCollected?: CollectedDeclarations;
1550
- /**
1551
- * This property holds errors coming from parsing the code-behind scripts.
1552
- */
1553
1088
  scriptError?: any;
1554
1089
  }
1555
1090
 
@@ -1624,7 +1159,7 @@ declare const Stack: ForwardRefExoticComponent<Props_2 & RefAttributes<any>>;
1624
1159
  * representation); ApiInterceptor can emulate some backend functionality
1625
1160
  * running in the browser.
1626
1161
  */
1627
- declare function StandaloneApp({ appDef, decorateComponentsWithTestId, debugEnabled, runtime, extensionManager, }: StandaloneAppProps): JSX_2.Element;
1162
+ declare function StandaloneApp({ appDef, decorateComponentsWithTestId, debugEnabled, waitForApiInterceptor, runtime, extensionManager, }: StandaloneAppProps): JSX_2.Element;
1628
1163
 
1629
1164
  declare type StandaloneAppDescription = {
1630
1165
  name?: string;
@@ -1647,6 +1182,7 @@ declare type StandaloneAppProps = {
1647
1182
  debugEnabled?: boolean;
1648
1183
  runtime?: any;
1649
1184
  extensionManager?: StandaloneExtensionManager;
1185
+ waitForApiInterceptor?: boolean;
1650
1186
  };
1651
1187
 
1652
1188
  declare const standaloneExports: {
@@ -1883,98 +1419,95 @@ declare interface SwitchStatement extends ScripNodeBase {
1883
1419
  cases: SwitchCase[];
1884
1420
  }
1885
1421
 
1886
- /**
1887
- * XMLUI executes some code synchronously. This type defines those functions' signature
1888
- */
1889
1422
  declare type SyncFunction = (...args: any) => any;
1890
1423
 
1891
- declare const T_ARRAY_DESTRUCTURE = 202;
1424
+ declare const T_ARRAY_DESTRUCTURE: number;
1892
1425
 
1893
- declare const T_ARRAY_LITERAL = 110;
1426
+ declare const T_ARRAY_LITERAL: number;
1894
1427
 
1895
- declare const T_ARROW_EXPRESSION = 115;
1428
+ declare const T_ARROW_EXPRESSION: number;
1896
1429
 
1897
- declare const T_ARROW_EXPRESSION_STATEMENT = 4;
1430
+ declare const T_ARROW_EXPRESSION_STATEMENT: number;
1898
1431
 
1899
- declare const T_ASSIGNMENT_EXPRESSION = 113;
1432
+ declare const T_ASSIGNMENT_EXPRESSION: number;
1900
1433
 
1901
- declare const T_BINARY_EXPRESSION = 101;
1434
+ declare const T_BINARY_EXPRESSION: number;
1902
1435
 
1903
- declare const T_BLOCK_STATEMENT = 1;
1436
+ declare const T_BLOCK_STATEMENT: number;
1904
1437
 
1905
- declare const T_BREAK_STATEMENT = 10;
1438
+ declare const T_BREAK_STATEMENT: number;
1906
1439
 
1907
- declare const T_CALCULATED_MEMBER_ACCESS_EXPRESSION = 106;
1440
+ declare const T_CALCULATED_MEMBER_ACCESS_EXPRESSION: number;
1908
1441
 
1909
- declare const T_CONDITIONAL_EXPRESSION = 103;
1442
+ declare const T_CONDITIONAL_EXPRESSION: number;
1910
1443
 
1911
- declare const T_CONST_STATEMENT = 6;
1444
+ declare const T_CONST_STATEMENT: number;
1912
1445
 
1913
- declare const T_CONTINUE_STATEMENT = 11;
1446
+ declare const T_CONTINUE_STATEMENT: number;
1914
1447
 
1915
- declare const T_DESTRUCTURE = 201;
1448
+ declare const T_DESTRUCTURE: number;
1916
1449
 
1917
- declare const T_DO_WHILE_STATEMENT = 13;
1450
+ declare const T_DO_WHILE_STATEMENT: number;
1918
1451
 
1919
- declare const T_EMPTY_STATEMENT = 2;
1452
+ declare const T_EMPTY_STATEMENT: number;
1920
1453
 
1921
- declare const T_EXPRESSION_STATEMENT = 3;
1454
+ declare const T_EXPRESSION_STATEMENT: number;
1922
1455
 
1923
- declare const T_FOR_IN_STATEMENT = 15;
1456
+ declare const T_FOR_IN_STATEMENT: number;
1924
1457
 
1925
- declare const T_FOR_OF_STATEMENT = 16;
1458
+ declare const T_FOR_OF_STATEMENT: number;
1926
1459
 
1927
- declare const T_FOR_STATEMENT = 14;
1460
+ declare const T_FOR_STATEMENT: number;
1928
1461
 
1929
- declare const T_FUNCTION_DECLARATION = 20;
1462
+ declare const T_FUNCTION_DECLARATION: number;
1930
1463
 
1931
- declare const T_FUNCTION_INVOCATION_EXPRESSION = 104;
1464
+ declare const T_FUNCTION_INVOCATION_EXPRESSION: number;
1932
1465
 
1933
- declare const T_IDENTIFIER = 107;
1466
+ declare const T_IDENTIFIER: number;
1934
1467
 
1935
- declare const T_IF_STATEMENT = 8;
1468
+ declare const T_IF_STATEMENT: number;
1936
1469
 
1937
- declare const T_LET_STATEMENT = 5;
1470
+ declare const T_LET_STATEMENT: number;
1938
1471
 
1939
- declare const T_LITERAL = 109;
1472
+ declare const T_LITERAL: number;
1940
1473
 
1941
- declare const T_MEMBER_ACCESS_EXPRESSION = 105;
1474
+ declare const T_MEMBER_ACCESS_EXPRESSION: number;
1942
1475
 
1943
- declare const T_NO_ARG_EXPRESSION = 114;
1476
+ declare const T_NO_ARG_EXPRESSION: number;
1944
1477
 
1945
- declare const T_OBJECT_DESTRUCTURE = 203;
1478
+ declare const T_OBJECT_DESTRUCTURE: number;
1946
1479
 
1947
- declare const T_OBJECT_LITERAL = 111;
1480
+ declare const T_OBJECT_LITERAL: number;
1948
1481
 
1949
- declare const T_POSTFIX_OP_EXPRESSION = 117;
1482
+ declare const T_POSTFIX_OP_EXPRESSION: number;
1950
1483
 
1951
- declare const T_PREFIX_OP_EXPRESSION = 116;
1484
+ declare const T_PREFIX_OP_EXPRESSION: number;
1952
1485
 
1953
- declare const T_REACTIVE_VAR_DECLARATION = 118;
1486
+ declare const T_REACTIVE_VAR_DECLARATION: number;
1954
1487
 
1955
- declare const T_RETURN_STATEMENT = 9;
1488
+ declare const T_RETURN_STATEMENT: number;
1956
1489
 
1957
- declare const T_SEQUENCE_EXPRESSION = 102;
1490
+ declare const T_SEQUENCE_EXPRESSION: number;
1958
1491
 
1959
- declare const T_SPREAD_EXPRESSION = 112;
1492
+ declare const T_SPREAD_EXPRESSION: number;
1960
1493
 
1961
- declare const T_SWITCH_CASE = 204;
1494
+ declare const T_SWITCH_CASE: number;
1962
1495
 
1963
- declare const T_SWITCH_STATEMENT = 19;
1496
+ declare const T_SWITCH_STATEMENT: number;
1964
1497
 
1965
- declare const T_TEMPLATE_LITERAL_EXPRESSION = 108;
1498
+ declare const T_TEMPLATE_LITERAL_EXPRESSION: number;
1966
1499
 
1967
- declare const T_THROW_STATEMENT = 17;
1500
+ declare const T_THROW_STATEMENT: number;
1968
1501
 
1969
- declare const T_TRY_STATEMENT = 18;
1502
+ declare const T_TRY_STATEMENT: number;
1970
1503
 
1971
- declare const T_UNARY_EXPRESSION = 100;
1504
+ declare const T_UNARY_EXPRESSION: number;
1972
1505
 
1973
- declare const T_VAR_DECLARATION = 200;
1506
+ declare const T_VAR_DECLARATION: number;
1974
1507
 
1975
- declare const T_VAR_STATEMENT = 7;
1508
+ declare const T_VAR_STATEMENT: number;
1976
1509
 
1977
- declare const T_WHILE_STATEMENT = 12;
1510
+ declare const T_WHILE_STATEMENT: number;
1978
1511
 
1979
1512
  declare type Tab = {
1980
1513
  label: string;
@@ -2019,28 +1552,10 @@ declare type TextVariant = (typeof TextVariantKeys)[number];
2019
1552
 
2020
1553
  declare const TextVariantKeys: readonly ["abbr", "cite", "code", "codefence", "deleted", "inherit", "inserted", "keyboard", "marked", "sample", "sub", "sup", "var", "strong", "em", "mono", "title", "subtitle", "small", "caption", "placeholder", "paragraph", "subheading", "tableheading", "secondary"];
2021
1554
 
2022
- /**
2023
- * This type represents a theme definition object. Theme files can use this object's JSON-serialized
2024
- * format to define an app theme; an app can have multiple theme files.
2025
- */
2026
1555
  declare interface ThemeDefinition extends ThemeDefinitionDetails {
2027
- /**
2028
- * Theme id
2029
- */
2030
1556
  id: string;
2031
- /**
2032
- * Optional theme name
2033
- */
2034
1557
  name?: string;
2035
- /**
2036
- * A theme can extend existing themes. The extension means that the theme variable values defined
2037
- * in the new theme override the base theme's variable values.
2038
- */
2039
1558
  extends?: string | Array<string>;
2040
- /**
2041
- * This property defines the tone-dependent theme variable values. When a theme variable value is
2042
- * resolved, the common theme variable values are overridden with their theme-specific values.
2043
- */
2044
1559
  tones?: Record<string | ThemeTone, ThemeDefinitionDetails>;
2045
1560
  }
2046
1561
 
@@ -2054,64 +1569,18 @@ declare type ThemeIdDescriptor = {
2054
1569
  defaultValue?: DefaultValueDescriptor;
2055
1570
  };
2056
1571
 
2057
- /**
2058
- * When rendering any part of an XMLUI app, the styles to apply are enclosed in a theme scope.
2059
- * Most apps use a single theme scope that includes all nodes within the root app node. However,
2060
- * any app can use multiple theme scopes.
2061
- *
2062
- * The scope determines how the app applies styles to the particular section. This type defines
2063
- * the properties of such a theme scope.
2064
- */
2065
1572
  declare type ThemeScope = {
2066
- /**
2067
- * Gets the id of the scope's theme
2068
- */
2069
1573
  activeThemeId: string;
2070
- /**
2071
- * Gets the current tone of the scope's theme
2072
- */
2073
1574
  activeThemeTone: ThemeTone;
2074
- /**
2075
- * The HTML element that works as the root of the theme's scope.
2076
- */
2077
1575
  root: HTMLElement | undefined;
2078
- /**
2079
- * The active theme in the current scope
2080
- */
2081
1576
  activeTheme: ThemeDefinition;
2082
- /**
2083
- * This hash object stores the CSS theme variable names with their CSS values definition,
2084
- * like "--xmlui-verticalAlign-Text-sub": "sub";
2085
- * "--xmlui-backgroundColor": "var(--xmlui-color-surface-50)"
2086
- */
2087
1577
  themeStyles: Record<string, string>;
2088
- /**
2089
- * This hash object stores the theme variable names with their CSS values definition, like
2090
- * "verticalAlign-Text-sub": "sub"; "backgroundColor": "var(--xmlui-color-surface-50)".
2091
- */
2092
1578
  themeVars: Record<string, string>;
2093
- /**
2094
- * This function retrieves the physical path of the provided resource. The path can be used
2095
- * as a URL in HTML tags, like in the `src` attribute of `<img>`.
2096
- * @param resourceString The recource name to resolve to an URL
2097
- */
2098
1579
  getResourceUrl: (resourceString?: string) => string | undefined;
2099
- /**
2100
- * This function gets the value of the specified theme variable.
2101
- * @param themeVar Theme variable name to resolve
2102
- */
2103
1580
  getThemeVar: (themeVar: string) => string | undefined;
2104
1581
  };
2105
1582
 
2106
- /**
2107
- * This type describes one the available theme tones.
2108
- */
2109
- declare type ThemeTone = (typeof ThemeToneKeys)[number];
2110
-
2111
- /**
2112
- * Each theme can have a light or a dark tone.
2113
- */
2114
- declare const ThemeToneKeys: readonly ["light", "dark"];
1583
+ declare type ThemeTone = "light" | "dark";
2115
1584
 
2116
1585
  declare type THROW_STATEMENT = typeof T_THROW_STATEMENT;
2117
1586
 
@@ -2273,10 +1742,6 @@ declare interface UnaryExpression extends ExpressionBase {
2273
1742
 
2274
1743
  declare type UnaryOpSymbols = "+" | "-" | "~" | "!" | "typeof" | "delete";
2275
1744
 
2276
- /**
2277
- * This function updates the state of a component.
2278
- * @param componentState The new state of the component
2279
- */
2280
1745
  declare type UpdateStateFn = (componentState: any, options?: any) => void;
2281
1746
 
2282
1747
  declare function useAppLayoutContext(): IAppLayoutContext;
@@ -2314,63 +1779,16 @@ declare type ValidationStatus = (typeof validationStatusValues)[number];
2314
1779
 
2315
1780
  declare const validationStatusValues: readonly ["none", "error", "warning", "valid"];
2316
1781
 
2317
- /**
2318
- * This type represent the function that extracts the value from a component property
2319
- */
2320
1782
  declare type ValueExtractor = {
2321
- /**
2322
- * Get a value (any) from a component property
2323
- * @param expression Value expression
2324
- * @param strict Strict matching?
2325
- */
2326
1783
  (expression?: any, strict?: boolean): any;
2327
- /**
2328
- * Get a string value from an expression
2329
- * @param expression Value expression
2330
- */
2331
1784
  asString(expression?: any): string;
2332
- /**
2333
- * Get an optional string value from an expression
2334
- * @param expression Value expression
2335
- * @param defValue Default value, if the parameter value is undefined
2336
- */
2337
1785
  asOptionalString<T extends string>(expression?: any, defValue?: string): T | undefined;
2338
- /**
2339
- * Get an optional string value from an expression
2340
- * @param expression Value expression
2341
- */
2342
1786
  asOptionalStringArray(expression?: any): (string | undefined)[];
2343
- /**
2344
- * Get a display string value from an expression
2345
- * @param expression Value expression
2346
- */
2347
1787
  asDisplayText(expression?: any): string;
2348
- /**
2349
- * Get a number value from an expression
2350
- * @param expression Value expression
2351
- */
2352
1788
  asNumber(expression?: any): number;
2353
- /**
2354
- * Get an optional number value from an expression
2355
- * @param expression Value expression
2356
- * @param defValue Default value, if the parameter value is undefined
2357
- */
2358
1789
  asOptionalNumber(expression?: any, defValue?: number): number | undefined;
2359
- /**
2360
- * Get a boolean value (JavaScript semantics) from an expression
2361
- * @param expression Value expression
2362
- */
2363
1790
  asBoolean(expression?: any): boolean;
2364
- /**
2365
- * Get an optional Boolean value from an expression
2366
- * @param expression Value expression
2367
- * @param defValue Default value, if the parameter value is undefined
2368
- */
2369
1791
  asOptionalBoolean(expression?: any, defValue?: boolean): boolean | undefined;
2370
- /**
2371
- * Get a CSS size value from an expression
2372
- * @param expression Value expression
2373
- */
2374
1792
  asSize(expression?: any): string;
2375
1793
  };
2376
1794