@parallelworks/ui 0.51.0 → 0.52.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 (227) hide show
  1. package/README.md +155 -14
  2. package/dist/ai/agent/toolStrings.d.ts +2 -0
  3. package/dist/ai/agent/toolStrings.js +20 -18
  4. package/dist/ai/ai.css +12 -0
  5. package/dist/ai/components/AllocationSelector.js +5 -1
  6. package/dist/ai/components/AttachmentManager.js +51 -42
  7. package/dist/ai/components/AttachmentUpload.d.ts +4 -2
  8. package/dist/ai/components/AttachmentUpload.js +9 -9
  9. package/dist/ai/components/BlockedGroupBanner.js +8 -14
  10. package/dist/ai/components/BranchNavigator.js +11 -12
  11. package/dist/ai/components/ChatEmptyState.js +12 -19
  12. package/dist/ai/components/ChatInput.d.ts +4 -3
  13. package/dist/ai/components/ChatInput.js +27 -13
  14. package/dist/ai/components/ChatMessage.js +45 -121
  15. package/dist/ai/components/ChatMessageList.d.ts +5 -2
  16. package/dist/ai/components/ChatMessageList.js +89 -51
  17. package/dist/ai/components/ChatSidebar.js +11 -7
  18. package/dist/ai/components/ChatThread.js +1 -13
  19. package/dist/ai/components/DragOverlay.js +3 -3
  20. package/dist/ai/components/MessageAttachments.d.ts +10 -0
  21. package/dist/ai/components/MessageAttachments.js +78 -0
  22. package/dist/ai/components/ModelSelector.js +3 -3
  23. package/dist/ai/components/PastedText.js +2 -2
  24. package/dist/ai/components/ProviderIssueBanner.js +19 -23
  25. package/dist/ai/components/ShareDialog.js +2 -2
  26. package/dist/ai/components/agent/ActivityLine.d.ts +0 -2
  27. package/dist/ai/components/agent/ActivityLine.js +8 -51
  28. package/dist/ai/components/agent/AgentMessageParts.js +114 -53
  29. package/dist/ai/core/ChatProvider.d.ts +16 -5
  30. package/dist/ai/core/ChatProvider.js +41 -8
  31. package/dist/ai/core/config.js +4 -3
  32. package/dist/ai/index.d.ts +1 -1
  33. package/dist/ai/index.js +3 -3
  34. package/dist/ai/strings.d.ts +29 -3
  35. package/dist/ai/strings.js +81 -26
  36. package/dist/ai/types.d.ts +4 -0
  37. package/dist/ai/ui/Notice.d.ts +2 -2
  38. package/dist/ai/ui/Notice.js +29 -62
  39. package/dist/ai/ui/sidebar.d.ts +5 -3
  40. package/dist/ai/ui/sidebar.js +21 -9
  41. package/dist/components/ActionMenu.d.ts +1 -0
  42. package/dist/components/ActionMenu.js +6 -1
  43. package/dist/components/AppLink.d.ts +26 -0
  44. package/dist/components/AppLink.js +51 -0
  45. package/dist/components/Avatar.d.ts +2 -1
  46. package/dist/components/Avatar.js +4 -2
  47. package/dist/components/Button.d.ts +15 -5
  48. package/dist/components/Button.js +47 -40
  49. package/dist/components/Callout.d.ts +31 -7
  50. package/dist/components/Callout.js +50 -19
  51. package/dist/components/Card.d.ts +11 -6
  52. package/dist/components/Card.js +14 -8
  53. package/dist/components/Checkbox.js +2 -1
  54. package/dist/components/ColorInput.js +5 -3
  55. package/dist/components/Combobox.js +49 -19
  56. package/dist/components/ConfirmModal.d.ts +19 -8
  57. package/dist/components/ConfirmModal.js +31 -53
  58. package/dist/components/CopyButton.d.ts +38 -0
  59. package/dist/components/CopyButton.js +68 -0
  60. package/dist/components/CreateModal.js +118 -111
  61. package/dist/components/DatePicker.js +12 -8
  62. package/dist/components/DescriptionList.d.ts +25 -5
  63. package/dist/components/DescriptionList.js +56 -22
  64. package/dist/components/Disclosure.js +1 -1
  65. package/dist/components/Drawer.js +10 -16
  66. package/dist/components/Field.d.ts +15 -5
  67. package/dist/components/Field.js +40 -8
  68. package/dist/components/IconButton.d.ts +14 -5
  69. package/dist/components/IconButton.js +25 -14
  70. package/dist/components/InfoTip.d.ts +4 -1
  71. package/dist/components/InfoTip.js +2 -1
  72. package/dist/components/Input.d.ts +14 -8
  73. package/dist/components/Input.js +46 -31
  74. package/dist/components/Loader.js +1 -1
  75. package/dist/components/MenuEntries.d.ts +4 -0
  76. package/dist/components/MenuEntries.js +11 -12
  77. package/dist/components/Meter.js +5 -4
  78. package/dist/components/Modal.d.ts +28 -4
  79. package/dist/components/Modal.js +37 -14
  80. package/dist/components/Overview.d.ts +20 -12
  81. package/dist/components/Overview.js +14 -9
  82. package/dist/components/PageHeader.d.ts +47 -65
  83. package/dist/components/PageHeader.js +275 -153
  84. package/dist/components/PageHeaderAction.d.ts +67 -0
  85. package/dist/components/PageHeaderAction.js +107 -0
  86. package/dist/components/Pagination.js +6 -16
  87. package/dist/components/Popover.js +3 -2
  88. package/dist/components/Provider.d.ts +77 -19
  89. package/dist/components/Provider.js +139 -130
  90. package/dist/components/Radio.js +2 -1
  91. package/dist/components/RefreshButton.js +7 -8
  92. package/dist/components/RequiredMark.js +1 -1
  93. package/dist/components/Section.js +1 -1
  94. package/dist/components/Select.d.ts +4 -9
  95. package/dist/components/Select.js +24 -11
  96. package/dist/components/SettingModeOption.d.ts +1 -1
  97. package/dist/components/SettingModeOption.js +7 -1
  98. package/dist/components/SettingsCard.d.ts +5 -3
  99. package/dist/components/SettingsCard.js +27 -20
  100. package/dist/components/Slider.js +1 -1
  101. package/dist/components/StatusBadge.js +2 -2
  102. package/dist/components/Switch.js +5 -4
  103. package/dist/components/Table.d.ts +30 -20
  104. package/dist/components/Table.js +50 -73
  105. package/dist/components/Tabs.d.ts +3 -7
  106. package/dist/components/Tabs.js +6 -10
  107. package/dist/components/ThemeEditor.js +18 -8
  108. package/dist/components/Toast.d.ts +11 -3
  109. package/dist/components/Toast.js +45 -20
  110. package/dist/components/buttonClasses.js +1 -1
  111. package/dist/components/comboboxItems.d.ts +4 -0
  112. package/dist/components/comboboxItems.js +6 -1
  113. package/dist/components/dismiss.d.ts +12 -0
  114. package/dist/components/dismiss.js +19 -0
  115. package/dist/components/fieldBox.d.ts +4 -0
  116. package/dist/components/fieldBox.js +7 -3
  117. package/dist/components/floating.d.ts +3 -3
  118. package/dist/components/floating.js +1 -1
  119. package/dist/components/markdownCodeBreaks.js +3 -4
  120. package/dist/components/pageHeaderStore.d.ts +41 -0
  121. package/dist/components/pageHeaderStore.js +67 -0
  122. package/dist/components/pathBreaks.d.ts +8 -0
  123. package/dist/components/pathBreaks.js +28 -0
  124. package/dist/components/segmented.js +1 -1
  125. package/dist/components/shortcutKey.d.ts +2 -1
  126. package/dist/components/shortcutKey.js +19 -2
  127. package/dist/components/splitter.js +1 -1
  128. package/dist/components/useCssIsDark.js +40 -18
  129. package/dist/components/useTheme.js +9 -10
  130. package/dist/dev.d.ts +9 -0
  131. package/dist/dev.js +14 -0
  132. package/dist/editor/Editor.d.ts +3 -2
  133. package/dist/editor/Editor.js +11 -2
  134. package/dist/editor/EditorField.d.ts +2 -1
  135. package/dist/editor/EditorField.js +11 -29
  136. package/dist/editor/FormCodePanel.d.ts +7 -3
  137. package/dist/editor/FormCodePanel.js +14 -7
  138. package/dist/editor/Monaco.d.ts +14 -5
  139. package/dist/editor/Monaco.js +163 -112
  140. package/dist/editor/index.d.ts +5 -5
  141. package/dist/editor/index.js +3 -3
  142. package/dist/editor/themes.d.ts +8 -5
  143. package/dist/editor/themes.js +58 -30
  144. package/dist/editor/yaml.d.ts +6 -2
  145. package/dist/editor/yaml.js +11 -2
  146. package/dist/file-explorer/FileExplorer.js +143 -124
  147. package/dist/file-explorer/FileExplorerContext.js +1 -1
  148. package/dist/file-explorer/FilePreview/StreamedBadge.js +3 -1
  149. package/dist/file-explorer/FilePreview/Viewer.js +2 -2
  150. package/dist/file-explorer/FilePreview/index.js +4 -4
  151. package/dist/file-explorer/FileRow.js +1 -1
  152. package/dist/file-explorer/FileRowsWindow.js +34 -3
  153. package/dist/file-explorer/FileTable.js +3 -1
  154. package/dist/file-explorer/TreeView.js +37 -14
  155. package/dist/file-explorer/helpers.d.ts +2 -1
  156. package/dist/file-explorer/helpers.js +21 -20
  157. package/dist/file-explorer/toasts.js +27 -19
  158. package/dist/file-explorer/treeRows.d.ts +6 -0
  159. package/dist/file-explorer/treeRows.js +19 -1
  160. package/dist/file-explorer/useNearEnd.js +3 -6
  161. package/dist/form/Fields/CheckboxGroupField.js +12 -5
  162. package/dist/form/Fields/DurationField.js +1 -1
  163. package/dist/form/Fields/LabelField.js +1 -1
  164. package/dist/form/Fields/ObjectField.d.ts +1 -1
  165. package/dist/form/Fields/ObjectField.js +3 -2
  166. package/dist/form/Fields/StringField.js +16 -29
  167. package/dist/form/Fields/TextAreaField.js +3 -4
  168. package/dist/form/Form.js +3 -8
  169. package/dist/form/Wizard/WizardNavigation.js +0 -3
  170. package/dist/form/Wizard/utils.js +1 -1
  171. package/dist/form/fieldFrame.d.ts +1 -1
  172. package/dist/form/fieldFrame.js +2 -2
  173. package/dist/form/types/fieldComponentTypes.d.ts +2 -1
  174. package/dist/graph/AnnotationBanner.d.ts +1 -2
  175. package/dist/graph/AnnotationBanner.js +30 -32
  176. package/dist/graph/Connectors.js +4 -1
  177. package/dist/graph/DependencyGraph.js +2 -2
  178. package/dist/graph/GraphEditor.js +11 -9
  179. package/dist/graph/GraphEditorDialogs.js +1 -1
  180. package/dist/graph/GraphNode.js +7 -4
  181. package/dist/graph/InputDialog.js +1 -1
  182. package/dist/graph/InputsEditor.js +14 -11
  183. package/dist/graph/MatrixGroup.js +9 -3
  184. package/dist/graph/Reveal.js +18 -10
  185. package/dist/graph/ShortcutsButton.d.ts +11 -2
  186. package/dist/graph/ShortcutsButton.js +14 -3
  187. package/dist/graph/TreeView.js +35 -18
  188. package/dist/graph/WorkflowSettingsDialog.js +1 -1
  189. package/dist/graph/editorFields.js +1 -1
  190. package/dist/graph/editorRows.js +16 -10
  191. package/dist/graph/editorStrings.d.ts +7 -0
  192. package/dist/graph/editorStrings.js +8 -1
  193. package/dist/graph/inputRefs.js +1 -1
  194. package/dist/graph/settingsViews.js +11 -18
  195. package/dist/graph/stepWith.js +1 -1
  196. package/dist/icons.d.ts +2 -0
  197. package/dist/icons.js +4 -2
  198. package/dist/index.d.ts +12 -12
  199. package/dist/index.js +16 -16
  200. package/dist/list/ActionToolbar.d.ts +42 -6
  201. package/dist/list/ActionToolbar.js +297 -101
  202. package/dist/list/ListPage.d.ts +15 -23
  203. package/dist/list/ListPage.js +42 -43
  204. package/dist/list/ListTable.d.ts +32 -7
  205. package/dist/list/ListTable.js +48 -12
  206. package/dist/list/ListViewControls.js +1 -1
  207. package/dist/list/UserHoverCard.js +7 -15
  208. package/dist/list/index.d.ts +2 -2
  209. package/dist/list/index.js +2 -2
  210. package/dist/list/listSearch.js +12 -10
  211. package/dist/list/listView.d.ts +10 -1
  212. package/dist/list/listView.js +15 -1
  213. package/dist/logviewer/LogViewer.d.ts +4 -2
  214. package/dist/logviewer/LogViewer.js +87 -69
  215. package/dist/logviewer/logviewer.css +3 -2
  216. package/dist/reducedMotion.d.ts +5 -0
  217. package/dist/reducedMotion.js +20 -0
  218. package/dist/safeUrl.d.ts +1 -1
  219. package/dist/safeUrl.js +4 -2
  220. package/dist/styles.css +1 -1
  221. package/package.json +1 -1
  222. package/dist/components/Breadcrumbs.d.ts +0 -37
  223. package/dist/components/Breadcrumbs.js +0 -90
  224. package/dist/components/CopyToClipboard.d.ts +0 -17
  225. package/dist/components/CopyToClipboard.js +0 -66
  226. package/dist/components/Sort.d.ts +0 -9
  227. package/dist/components/Sort.js +0 -42
@@ -1,7 +1,7 @@
1
1
  import { cx } from "../cx.js";
2
2
  import { panelClassName, positionerClassName, tipClassName, toPositionerAnchor } from "./floating.js";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
- import { createContext, use, useRef } from "react";
4
+ import { createContext, use, useCallback, useRef } from "react";
5
5
  import { Popover } from "@base-ui/react/popover";
6
6
  //#region src/components/Popover.tsx
7
7
  /** A button that closes the popover it sits in. */
@@ -20,6 +20,7 @@ function Popover$1({ trigger, at, title, open, defaultOpen, onOpenChange, side =
20
20
  const tip = variant === "tip";
21
21
  const popup = useRef(null);
22
22
  const actions = useRef(null);
23
+ const close = useCallback(() => actions.current?.close(), []);
23
24
  return /* @__PURE__ */ jsxs(Popover.Root, {
24
25
  actionsRef: actions,
25
26
  ...open === void 0 ? {} : { open },
@@ -51,7 +52,7 @@ function Popover$1({ trigger, at, title, open, defaultOpen, onOpenChange, side =
51
52
  children: title
52
53
  }),
53
54
  /* @__PURE__ */ jsx(CloseContext, {
54
- value: () => actions.current?.close(),
55
+ value: close,
55
56
  children
56
57
  })
57
58
  ]
@@ -75,6 +75,10 @@ export interface UIStrings {
75
75
  remove: string;
76
76
  sort: string;
77
77
  userAvatar: string;
78
+ /** A person's presence beside their avatar, read with their name. */
79
+ presence: Record<'online' | 'offline' | 'busy' | 'away', string>;
80
+ /** An avatar's name with the person's presence, such as "Ada Lovelace, online". */
81
+ withPresence: (name: string, presence: string) => string;
78
82
  moreInfo: string;
79
83
  /** The name of a menu of actions on a page or row. */
80
84
  actions: string;
@@ -84,10 +88,16 @@ export interface UIStrings {
84
88
  clearSearch: string;
85
89
  filterPlaceholder: string;
86
90
  breadcrumb: string;
91
+ /** Names the menu of the breadcrumbs a narrow trail folds away. */
92
+ showFullPath: string;
87
93
  yes: string;
88
94
  no: string;
89
95
  /** Read after a link that opens a new tab. */
90
96
  opensInNewTab: string;
97
+ /** Names a code editor that has no label of its own. */
98
+ codeEditor: string;
99
+ /** Shown when someone types in a read-only code editor. */
100
+ readOnlyText: string;
91
101
  /** Names the handle that resizes a panel. */
92
102
  resizePanel: string;
93
103
  /** A resizable panel's width, read aloud. */
@@ -105,6 +115,8 @@ export interface UIStrings {
105
115
  add: (text: string) => string;
106
116
  /** In place of the placeholder once a field holds as many values as it takes. */
107
117
  limitReached: (max: number) => string;
118
+ /** Names the button on a chosen value's chip that takes it out. */
119
+ removeValue: (label: string) => string;
108
120
  };
109
121
  datePicker: {
110
122
  /** The button's text while no date is chosen. */
@@ -193,6 +205,8 @@ export interface UIStrings {
193
205
  endInFuture: string;
194
206
  follow: string;
195
207
  following: string;
208
+ /** A line number's name: it selects the line for copying. */
209
+ selectLine: (line: number) => string;
196
210
  };
197
211
  dag: {
198
212
  workflow: string;
@@ -226,6 +240,13 @@ export interface UIStrings {
226
240
  warning: string;
227
241
  notice: string;
228
242
  };
243
+ /** Names the annotations' toggle for a screen reader, in place of its count badges, such as
244
+ * "Annotations: 2 errors, 1 warning". It starts with `annotations`, the toggle's visible text. */
245
+ annotationsLabel: (counts: {
246
+ error: number;
247
+ warning: number;
248
+ notice: number;
249
+ }) => string;
229
250
  /** Where an annotation came from, under its message. */
230
251
  annotationSource: (job: string, step: string) => string;
231
252
  /** A step without a name, numbered from 0 as the run reports it. */
@@ -251,9 +272,10 @@ export interface UIStrings {
251
272
  previewTab: string;
252
273
  preview: string;
253
274
  openFullPreview: string;
254
- /** Names the choice between a quick look and the full window. */
275
+ /** Names the choice between a compact preview and the full window. */
255
276
  previewLayout: string;
256
- quickLook: string;
277
+ /** The preview in a panel over the page, beside `fullWindow`. */
278
+ compact: string;
257
279
  fullWindow: string;
258
280
  streamed: string;
259
281
  streamedTooltip: string;
@@ -360,6 +382,10 @@ export interface UIStrings {
360
382
  corsAdded: string;
361
383
  corsPropagating: string;
362
384
  previewUnsupported: string;
385
+ /** A folder's listing failed; `name` is the folder. */
386
+ loadFailed: (name: string, message: string) => string;
387
+ /** A failure that came with no message of its own. */
388
+ unknownError: string;
363
389
  };
364
390
  chrome: {
365
391
  explorer: string;
@@ -382,6 +408,14 @@ export interface UIStrings {
382
408
  details: string;
383
409
  selectFiles: string;
384
410
  selectFolder: string;
411
+ /** Names the table of a folder's contents. */
412
+ files: string;
413
+ /** Names the folder tree. */
414
+ folders: string;
415
+ /** Names the trail from the storage down to the open folder. */
416
+ location: string;
417
+ /** Explains a share link, beside Share. */
418
+ shareHelp: string;
385
419
  };
386
420
  confirmUpload: {
387
421
  title: string;
@@ -468,8 +502,6 @@ export interface UIStrings {
468
502
  stepDone: string;
469
503
  /** A step with a value to fix. */
470
504
  stepNeedsAttention: string;
471
- previousStep: string;
472
- nextStep: string;
473
505
  /** A wizard's last button, unless its config names its own. */
474
506
  runWizard: string;
475
507
  fixErrorsToContinue: string;
@@ -494,6 +526,12 @@ export interface UIStrings {
494
526
  labelId: string;
495
527
  labelUrl: string;
496
528
  couldNotLoad: (noun: string) => string;
529
+ /** What `ListError` names when the host gives no noun. */
530
+ data: string;
531
+ /** A list's size, as `ListCount` shows it; `count` is formatted and `noun` agrees with it. */
532
+ count: (count: string, noun: string) => string;
533
+ /** How many rows a filter left, of how many. */
534
+ matchCount: (matches: string, total: string, nounPlural: string) => string;
497
535
  displayOptions: string;
498
536
  grouping: string;
499
537
  ordering: string;
@@ -503,6 +541,8 @@ export interface UIStrings {
503
541
  descending: string;
504
542
  columnHeaders: string;
505
543
  showColumnHeaders: string;
544
+ /** The header checkbox that ticks every row, or clears them all. */
545
+ selectAll: string;
506
546
  showActions: string;
507
547
  showRowActions: string;
508
548
  alwaysShowActions: string;
@@ -521,6 +561,12 @@ export interface UIStrings {
521
561
  removeSearchTerm: (term: string) => string;
522
562
  };
523
563
  }
564
+ /** What a host passes to translate the strings: any group, any string in it, at any depth.
565
+ * A string it leaves out stays in English. */
566
+ export type UIStringOverrides = Overrides<UIStrings>;
567
+ type Overrides<T> = {
568
+ [K in keyof T]?: T[K] extends (...args: never[]) => unknown ? T[K] : T[K] extends readonly unknown[] ? T[K] : T[K] extends object ? Overrides<T[K]> : T[K];
569
+ };
524
570
  export interface UINavigation {
525
571
  goTo: (to: string) => void;
526
572
  /** Opens the source of a step that runs another workflow, named by its `uses`;
@@ -574,11 +620,14 @@ export interface UIData {
574
620
  usePersistedState: PersistedStateHook;
575
621
  }
576
622
  import type { FieldComponent } from '../form/fieldRegistry.js';
577
- import type { PageHeaderCrumb } from './PageHeader.js';
578
- /** Renders internal navigation; hosts bind their router's Link. Accessibility
579
- * and tooltip data attributes pass through so header links keep their labels. */
580
- /** An internal navigation link. It passes every other prop, ref included, to
581
- * its anchor, so menus and tooltips can attach to it. */
623
+ import type { Breadcrumb } from './pageHeaderStore.js';
624
+ /** An internal navigation link, which hosts bind to their router's Link. Its
625
+ * `href` is a full in-app URL that may carry a search and a hash, such as
626
+ * `/runs/42?tab=logs#step-3`, and the host routes all of it client-side on a
627
+ * plain click, leaving modified and middle clicks to the browser. It passes
628
+ * every other prop, ref included, to its anchor, so menus and tooltips can
629
+ * attach to it. Components render it through `AppLink`, which sanitizes the
630
+ * href and keeps full page loads and other origins off the router. */
582
631
  export type UILinkComponent = React.ComponentType<React.ComponentPropsWithRef<'a'> & {
583
632
  href: string;
584
633
  }>;
@@ -632,7 +681,7 @@ export interface UISlots {
632
681
  }) => ReactNode;
633
682
  /** Pin affordance rendered after the page header's crumb trail; absent hides it. */
634
683
  breadcrumbPin?: (args: {
635
- crumbs: readonly PageHeaderCrumb[];
684
+ crumbs: readonly Breadcrumb[];
636
685
  }) => ReactNode;
637
686
  /** Control rendered at the start of the page header row, before the crumb
638
687
  * trail — the host's app-nav toggle. Absent hides it. */
@@ -661,13 +710,22 @@ export declare function useRunFile(slug: string, path: string | null, options?:
661
710
  refreshInterval?: number;
662
711
  }): RunFileResult;
663
712
  export declare function usePersistedState<T>(key: string, defaultValue: T): [T, Dispatch<SetStateAction<T>>];
664
- export declare function UIProvider({ strings, navigation, data, slots, engine, children, }: {
665
- strings?: {
666
- [G in keyof UIStrings]?: UIStrings[G] extends object ? Partial<UIStrings[G]> : UIStrings[G];
667
- };
668
- navigation?: Partial<UINavigation>;
669
- data?: Partial<UIData>;
670
- slots?: UISlots;
671
- engine?: WorkflowEngineSource;
713
+ export interface UIProviderProps {
714
+ /** Translations over the English defaults, at any depth. Define them outside a component, or
715
+ * memoize them: the provider compares them by value, but a function made each render differs. */
716
+ strings?: UIStringOverrides | undefined;
717
+ /** How the package navigates; read at the moment it navigates, so a new one never re-renders. */
718
+ navigation?: Partial<UINavigation> | undefined;
719
+ /** The host's data hooks and resolvers. `useRunFile` and `usePersistedState` are called as
720
+ * hooks, so each must stay the same function for the life of the app. */
721
+ data?: Partial<UIData> | undefined;
722
+ /** Components the host renders inside the package's; a component made each render would
723
+ * remount everything it renders. */
724
+ slots?: UISlots | undefined;
725
+ /** The engine, or a loader that resolves to it. A loader is called once, the first one
726
+ * passed, so it may be written inline. */
727
+ engine?: WorkflowEngineSource | undefined;
672
728
  children: React.ReactNode;
673
- }): import("react").JSX.Element;
729
+ }
730
+ export declare function UIProvider({ strings, navigation, data, slots, engine: engineProp, children, }: UIProviderProps): import("react").JSX.Element;
731
+ export {};