@mittwald/flow-remote-react-components 0.2.0-alpha.864 → 0.2.0-alpha.866

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 (298) hide show
  1. package/dist/js/RemoteRoot.mjs +107 -116
  2. package/dist/js/RemoteRoot.mjs.map +1 -1
  3. package/dist/js/_virtual/_rolldown/runtime.mjs +29 -0
  4. package/dist/js/auto-generated/AccentBox.mjs +180 -194
  5. package/dist/js/auto-generated/AccentBox.mjs.map +1 -1
  6. package/dist/js/auto-generated/Accordion.mjs +180 -194
  7. package/dist/js/auto-generated/Accordion.mjs.map +1 -1
  8. package/dist/js/auto-generated/ActionGroup.mjs +11 -17
  9. package/dist/js/auto-generated/ActionGroup.mjs.map +1 -1
  10. package/dist/js/auto-generated/Alert.mjs +180 -194
  11. package/dist/js/auto-generated/Alert.mjs.map +1 -1
  12. package/dist/js/auto-generated/AlertBadge.mjs +11 -17
  13. package/dist/js/auto-generated/AlertBadge.mjs.map +1 -1
  14. package/dist/js/auto-generated/AlertIcon.mjs +180 -194
  15. package/dist/js/auto-generated/AlertIcon.mjs.map +1 -1
  16. package/dist/js/auto-generated/AlertText.mjs +11 -17
  17. package/dist/js/auto-generated/AlertText.mjs.map +1 -1
  18. package/dist/js/auto-generated/Align.mjs +11 -17
  19. package/dist/js/auto-generated/Align.mjs.map +1 -1
  20. package/dist/js/auto-generated/Area.mjs +11 -17
  21. package/dist/js/auto-generated/Area.mjs.map +1 -1
  22. package/dist/js/auto-generated/Autocomplete.mjs +11 -17
  23. package/dist/js/auto-generated/Autocomplete.mjs.map +1 -1
  24. package/dist/js/auto-generated/Avatar.mjs +11 -17
  25. package/dist/js/auto-generated/Avatar.mjs.map +1 -1
  26. package/dist/js/auto-generated/AvatarStack.mjs +11 -19
  27. package/dist/js/auto-generated/AvatarStack.mjs.map +1 -1
  28. package/dist/js/auto-generated/Badge.mjs +14 -20
  29. package/dist/js/auto-generated/Badge.mjs.map +1 -1
  30. package/dist/js/auto-generated/BigNumber.mjs +11 -17
  31. package/dist/js/auto-generated/BigNumber.mjs.map +1 -1
  32. package/dist/js/auto-generated/Breadcrumb.mjs +77 -89
  33. package/dist/js/auto-generated/Breadcrumb.mjs.map +1 -1
  34. package/dist/js/auto-generated/Button.mjs +89 -101
  35. package/dist/js/auto-generated/Button.mjs.map +1 -1
  36. package/dist/js/auto-generated/CartesianChart.mjs +11 -17
  37. package/dist/js/auto-generated/CartesianChart.mjs.map +1 -1
  38. package/dist/js/auto-generated/CartesianGrid.mjs +11 -17
  39. package/dist/js/auto-generated/CartesianGrid.mjs.map +1 -1
  40. package/dist/js/auto-generated/ChartGrid.mjs +11 -17
  41. package/dist/js/auto-generated/ChartGrid.mjs.map +1 -1
  42. package/dist/js/auto-generated/ChartLegend.mjs +11 -17
  43. package/dist/js/auto-generated/ChartLegend.mjs.map +1 -1
  44. package/dist/js/auto-generated/ChartTooltip.mjs +11 -17
  45. package/dist/js/auto-generated/ChartTooltip.mjs.map +1 -1
  46. package/dist/js/auto-generated/Chat.mjs +11 -17
  47. package/dist/js/auto-generated/Chat.mjs.map +1 -1
  48. package/dist/js/auto-generated/Checkbox.mjs +90 -102
  49. package/dist/js/auto-generated/Checkbox.mjs.map +1 -1
  50. package/dist/js/auto-generated/CheckboxButton.mjs +90 -102
  51. package/dist/js/auto-generated/CheckboxButton.mjs.map +1 -1
  52. package/dist/js/auto-generated/CheckboxGroup.mjs +80 -92
  53. package/dist/js/auto-generated/CheckboxGroup.mjs.map +1 -1
  54. package/dist/js/auto-generated/ClearPropsContext.mjs +11 -17
  55. package/dist/js/auto-generated/ClearPropsContext.mjs.map +1 -1
  56. package/dist/js/auto-generated/CodeBlock.mjs +11 -17
  57. package/dist/js/auto-generated/CodeBlock.mjs.map +1 -1
  58. package/dist/js/auto-generated/CodeEditor.mjs +183 -197
  59. package/dist/js/auto-generated/CodeEditor.mjs.map +1 -1
  60. package/dist/js/auto-generated/Color.mjs +11 -17
  61. package/dist/js/auto-generated/Color.mjs.map +1 -1
  62. package/dist/js/auto-generated/ColumnLayout.mjs +180 -194
  63. package/dist/js/auto-generated/ColumnLayout.mjs.map +1 -1
  64. package/dist/js/auto-generated/ComboBox.mjs +85 -97
  65. package/dist/js/auto-generated/ComboBox.mjs.map +1 -1
  66. package/dist/js/auto-generated/ComponentPropsContextProvider.mjs +11 -17
  67. package/dist/js/auto-generated/ComponentPropsContextProvider.mjs.map +1 -1
  68. package/dist/js/auto-generated/Content.mjs +180 -194
  69. package/dist/js/auto-generated/Content.mjs.map +1 -1
  70. package/dist/js/auto-generated/ContextMenu.mjs +79 -91
  71. package/dist/js/auto-generated/ContextMenu.mjs.map +1 -1
  72. package/dist/js/auto-generated/ContextMenuContent.mjs +79 -91
  73. package/dist/js/auto-generated/ContextMenuContent.mjs.map +1 -1
  74. package/dist/js/auto-generated/ContextMenuSection.mjs +11 -17
  75. package/dist/js/auto-generated/ContextMenuSection.mjs.map +1 -1
  76. package/dist/js/auto-generated/ContextMenuTrigger.mjs +11 -17
  77. package/dist/js/auto-generated/ContextMenuTrigger.mjs.map +1 -1
  78. package/dist/js/auto-generated/ContextualHelp.mjs +77 -89
  79. package/dist/js/auto-generated/ContextualHelp.mjs.map +1 -1
  80. package/dist/js/auto-generated/ContextualHelpTrigger.mjs +11 -17
  81. package/dist/js/auto-generated/ContextualHelpTrigger.mjs.map +1 -1
  82. package/dist/js/auto-generated/CopyButton.mjs +88 -100
  83. package/dist/js/auto-generated/CopyButton.mjs.map +1 -1
  84. package/dist/js/auto-generated/CounterBadge.mjs +180 -194
  85. package/dist/js/auto-generated/CounterBadge.mjs.map +1 -1
  86. package/dist/js/auto-generated/DatePicker.mjs +83 -95
  87. package/dist/js/auto-generated/DatePicker.mjs.map +1 -1
  88. package/dist/js/auto-generated/DateRangePicker.mjs +83 -95
  89. package/dist/js/auto-generated/DateRangePicker.mjs.map +1 -1
  90. package/dist/js/auto-generated/DialogTrigger.mjs +11 -19
  91. package/dist/js/auto-generated/DialogTrigger.mjs.map +1 -1
  92. package/dist/js/auto-generated/Div.mjs +11 -17
  93. package/dist/js/auto-generated/Div.mjs.map +1 -1
  94. package/dist/js/auto-generated/DonutChart.mjs +76 -88
  95. package/dist/js/auto-generated/DonutChart.mjs.map +1 -1
  96. package/dist/js/auto-generated/FieldDescription.mjs +180 -194
  97. package/dist/js/auto-generated/FieldDescription.mjs.map +1 -1
  98. package/dist/js/auto-generated/FieldError.mjs +76 -88
  99. package/dist/js/auto-generated/FieldError.mjs.map +1 -1
  100. package/dist/js/auto-generated/FileCard.mjs +182 -196
  101. package/dist/js/auto-generated/FileCard.mjs.map +1 -1
  102. package/dist/js/auto-generated/FileCardList.mjs +180 -194
  103. package/dist/js/auto-generated/FileCardList.mjs.map +1 -1
  104. package/dist/js/auto-generated/FileDropZone.mjs +11 -19
  105. package/dist/js/auto-generated/FileDropZone.mjs.map +1 -1
  106. package/dist/js/auto-generated/FileField.mjs +11 -19
  107. package/dist/js/auto-generated/FileField.mjs.map +1 -1
  108. package/dist/js/auto-generated/Flex.mjs +180 -194
  109. package/dist/js/auto-generated/Flex.mjs.map +1 -1
  110. package/dist/js/auto-generated/Header.mjs +180 -194
  111. package/dist/js/auto-generated/Header.mjs.map +1 -1
  112. package/dist/js/auto-generated/HeaderNavigation.mjs +180 -194
  113. package/dist/js/auto-generated/HeaderNavigation.mjs.map +1 -1
  114. package/dist/js/auto-generated/Heading.mjs +180 -194
  115. package/dist/js/auto-generated/Heading.mjs.map +1 -1
  116. package/dist/js/auto-generated/Icon.mjs +180 -194
  117. package/dist/js/auto-generated/Icon.mjs.map +1 -1
  118. package/dist/js/auto-generated/IllustratedMessage.mjs +180 -194
  119. package/dist/js/auto-generated/IllustratedMessage.mjs.map +1 -1
  120. package/dist/js/auto-generated/Image.mjs +180 -194
  121. package/dist/js/auto-generated/Image.mjs.map +1 -1
  122. package/dist/js/auto-generated/ImageCropper.mjs +11 -19
  123. package/dist/js/auto-generated/ImageCropper.mjs.map +1 -1
  124. package/dist/js/auto-generated/Initials.mjs +11 -17
  125. package/dist/js/auto-generated/Initials.mjs.map +1 -1
  126. package/dist/js/auto-generated/InlineCode.mjs +180 -194
  127. package/dist/js/auto-generated/InlineCode.mjs.map +1 -1
  128. package/dist/js/auto-generated/ItemsGridList.mjs +78 -90
  129. package/dist/js/auto-generated/ItemsGridList.mjs.map +1 -1
  130. package/dist/js/auto-generated/ItemsGridListItem.mjs +85 -97
  131. package/dist/js/auto-generated/ItemsGridListItem.mjs.map +1 -1
  132. package/dist/js/auto-generated/Kbd.mjs +11 -17
  133. package/dist/js/auto-generated/Kbd.mjs.map +1 -1
  134. package/dist/js/auto-generated/Label.mjs +180 -194
  135. package/dist/js/auto-generated/Label.mjs.map +1 -1
  136. package/dist/js/auto-generated/LabeledValue.mjs +11 -17
  137. package/dist/js/auto-generated/LabeledValue.mjs.map +1 -1
  138. package/dist/js/auto-generated/LayoutCard.mjs +180 -194
  139. package/dist/js/auto-generated/LayoutCard.mjs.map +1 -1
  140. package/dist/js/auto-generated/Legend.mjs +11 -17
  141. package/dist/js/auto-generated/Legend.mjs.map +1 -1
  142. package/dist/js/auto-generated/LightBoxGallery.mjs +11 -17
  143. package/dist/js/auto-generated/LightBoxGallery.mjs.map +1 -1
  144. package/dist/js/auto-generated/LightBoxGalleryItem.mjs +11 -17
  145. package/dist/js/auto-generated/LightBoxGalleryItem.mjs.map +1 -1
  146. package/dist/js/auto-generated/Line.mjs +11 -17
  147. package/dist/js/auto-generated/Line.mjs.map +1 -1
  148. package/dist/js/auto-generated/Link.mjs +89 -101
  149. package/dist/js/auto-generated/Link.mjs.map +1 -1
  150. package/dist/js/auto-generated/ListEmptyView.mjs +11 -17
  151. package/dist/js/auto-generated/ListEmptyView.mjs.map +1 -1
  152. package/dist/js/auto-generated/ListEmptyViewContainer.mjs +11 -17
  153. package/dist/js/auto-generated/ListEmptyViewContainer.mjs.map +1 -1
  154. package/dist/js/auto-generated/ListItemViewContent.mjs +11 -17
  155. package/dist/js/auto-generated/ListItemViewContent.mjs.map +1 -1
  156. package/dist/js/auto-generated/ListSummary.mjs +11 -17
  157. package/dist/js/auto-generated/ListSummary.mjs.map +1 -1
  158. package/dist/js/auto-generated/LoadingSpinner.mjs +180 -194
  159. package/dist/js/auto-generated/LoadingSpinner.mjs.map +1 -1
  160. package/dist/js/auto-generated/Markdown.mjs +11 -17
  161. package/dist/js/auto-generated/Markdown.mjs.map +1 -1
  162. package/dist/js/auto-generated/MarkdownEditor.mjs +91 -103
  163. package/dist/js/auto-generated/MarkdownEditor.mjs.map +1 -1
  164. package/dist/js/auto-generated/MenuItem.mjs +88 -100
  165. package/dist/js/auto-generated/MenuItem.mjs.map +1 -1
  166. package/dist/js/auto-generated/MenuTrigger.mjs +11 -19
  167. package/dist/js/auto-generated/MenuTrigger.mjs.map +1 -1
  168. package/dist/js/auto-generated/Message.mjs +11 -17
  169. package/dist/js/auto-generated/Message.mjs.map +1 -1
  170. package/dist/js/auto-generated/MessageSeparator.mjs +11 -17
  171. package/dist/js/auto-generated/MessageSeparator.mjs.map +1 -1
  172. package/dist/js/auto-generated/MessageThread.mjs +11 -17
  173. package/dist/js/auto-generated/MessageThread.mjs.map +1 -1
  174. package/dist/js/auto-generated/Navigation.mjs +180 -194
  175. package/dist/js/auto-generated/Navigation.mjs.map +1 -1
  176. package/dist/js/auto-generated/NavigationGroup.mjs +180 -194
  177. package/dist/js/auto-generated/NavigationGroup.mjs.map +1 -1
  178. package/dist/js/auto-generated/Notification.mjs +181 -195
  179. package/dist/js/auto-generated/Notification.mjs.map +1 -1
  180. package/dist/js/auto-generated/NumberField.mjs +91 -103
  181. package/dist/js/auto-generated/NumberField.mjs.map +1 -1
  182. package/dist/js/auto-generated/Option.mjs +90 -102
  183. package/dist/js/auto-generated/Option.mjs.map +1 -1
  184. package/dist/js/auto-generated/OverlayContent.mjs +11 -19
  185. package/dist/js/auto-generated/OverlayContent.mjs.map +1 -1
  186. package/dist/js/auto-generated/PasswordCreationField.mjs +92 -104
  187. package/dist/js/auto-generated/PasswordCreationField.mjs.map +1 -1
  188. package/dist/js/auto-generated/PopoverContent.mjs +11 -19
  189. package/dist/js/auto-generated/PopoverContent.mjs.map +1 -1
  190. package/dist/js/auto-generated/ProgressBar.mjs +76 -88
  191. package/dist/js/auto-generated/ProgressBar.mjs.map +1 -1
  192. package/dist/js/auto-generated/Radio.mjs +89 -101
  193. package/dist/js/auto-generated/Radio.mjs.map +1 -1
  194. package/dist/js/auto-generated/RadioButton.mjs +89 -101
  195. package/dist/js/auto-generated/RadioButton.mjs.map +1 -1
  196. package/dist/js/auto-generated/RadioGroup.mjs +80 -92
  197. package/dist/js/auto-generated/RadioGroup.mjs.map +1 -1
  198. package/dist/js/auto-generated/RangeCalendar.mjs +78 -90
  199. package/dist/js/auto-generated/RangeCalendar.mjs.map +1 -1
  200. package/dist/js/auto-generated/Rating.mjs +80 -92
  201. package/dist/js/auto-generated/Rating.mjs.map +1 -1
  202. package/dist/js/auto-generated/SearchField.mjs +93 -105
  203. package/dist/js/auto-generated/SearchField.mjs.map +1 -1
  204. package/dist/js/auto-generated/Section.mjs +180 -194
  205. package/dist/js/auto-generated/Section.mjs.map +1 -1
  206. package/dist/js/auto-generated/Segment.mjs +89 -101
  207. package/dist/js/auto-generated/Segment.mjs.map +1 -1
  208. package/dist/js/auto-generated/SegmentedControl.mjs +80 -92
  209. package/dist/js/auto-generated/SegmentedControl.mjs.map +1 -1
  210. package/dist/js/auto-generated/Select.mjs +84 -96
  211. package/dist/js/auto-generated/Select.mjs.map +1 -1
  212. package/dist/js/auto-generated/Separator.mjs +76 -88
  213. package/dist/js/auto-generated/Separator.mjs.map +1 -1
  214. package/dist/js/auto-generated/Skeleton.mjs +180 -194
  215. package/dist/js/auto-generated/Skeleton.mjs.map +1 -1
  216. package/dist/js/auto-generated/SkeletonText.mjs +180 -194
  217. package/dist/js/auto-generated/SkeletonText.mjs.map +1 -1
  218. package/dist/js/auto-generated/Slider.mjs +78 -90
  219. package/dist/js/auto-generated/Slider.mjs.map +1 -1
  220. package/dist/js/auto-generated/Switch.mjs +90 -96
  221. package/dist/js/auto-generated/Switch.mjs.map +1 -1
  222. package/dist/js/auto-generated/Tab.mjs +76 -88
  223. package/dist/js/auto-generated/Tab.mjs.map +1 -1
  224. package/dist/js/auto-generated/TabTitle.mjs +87 -99
  225. package/dist/js/auto-generated/TabTitle.mjs.map +1 -1
  226. package/dist/js/auto-generated/Table.mjs +80 -91
  227. package/dist/js/auto-generated/Table.mjs.map +1 -1
  228. package/dist/js/auto-generated/TableBody.mjs +76 -88
  229. package/dist/js/auto-generated/TableBody.mjs.map +1 -1
  230. package/dist/js/auto-generated/TableCell.mjs +76 -88
  231. package/dist/js/auto-generated/TableCell.mjs.map +1 -1
  232. package/dist/js/auto-generated/TableColumn.mjs +76 -88
  233. package/dist/js/auto-generated/TableColumn.mjs.map +1 -1
  234. package/dist/js/auto-generated/TableFooterRow.mjs +85 -97
  235. package/dist/js/auto-generated/TableFooterRow.mjs.map +1 -1
  236. package/dist/js/auto-generated/TableHeader.mjs +79 -91
  237. package/dist/js/auto-generated/TableHeader.mjs.map +1 -1
  238. package/dist/js/auto-generated/TableRow.mjs +85 -97
  239. package/dist/js/auto-generated/TableRow.mjs.map +1 -1
  240. package/dist/js/auto-generated/Tabs.mjs +77 -89
  241. package/dist/js/auto-generated/Tabs.mjs.map +1 -1
  242. package/dist/js/auto-generated/Text.mjs +180 -194
  243. package/dist/js/auto-generated/Text.mjs.map +1 -1
  244. package/dist/js/auto-generated/TextArea.mjs +91 -103
  245. package/dist/js/auto-generated/TextArea.mjs.map +1 -1
  246. package/dist/js/auto-generated/TextField.mjs +91 -103
  247. package/dist/js/auto-generated/TextField.mjs.map +1 -1
  248. package/dist/js/auto-generated/TimeField.mjs +82 -94
  249. package/dist/js/auto-generated/TimeField.mjs.map +1 -1
  250. package/dist/js/auto-generated/Tooltip.mjs +77 -89
  251. package/dist/js/auto-generated/Tooltip.mjs.map +1 -1
  252. package/dist/js/auto-generated/TooltipTrigger.mjs +11 -19
  253. package/dist/js/auto-generated/TooltipTrigger.mjs.map +1 -1
  254. package/dist/js/auto-generated/TranslationProvider.mjs +11 -17
  255. package/dist/js/auto-generated/TranslationProvider.mjs.map +1 -1
  256. package/dist/js/auto-generated/Truncate.mjs +11 -17
  257. package/dist/js/auto-generated/Truncate.mjs.map +1 -1
  258. package/dist/js/auto-generated/TunnelEntry.mjs +11 -17
  259. package/dist/js/auto-generated/TunnelEntry.mjs.map +1 -1
  260. package/dist/js/auto-generated/XAxis.mjs +11 -17
  261. package/dist/js/auto-generated/XAxis.mjs.map +1 -1
  262. package/dist/js/auto-generated/YAxis.mjs +11 -17
  263. package/dist/js/auto-generated/YAxis.mjs.map +1 -1
  264. package/dist/js/auto-generated/index.mjs +268 -131
  265. package/dist/js/auto-generated/index.mjs.map +1 -1
  266. package/dist/js/components/FlowRemoteUniversal.mjs +4 -0
  267. package/dist/js/components/Form.mjs +17 -17
  268. package/dist/js/components/Form.mjs.map +1 -1
  269. package/dist/js/components/LoadingFallbackTrigger.mjs +16 -15
  270. package/dist/js/components/LoadingFallbackTrigger.mjs.map +1 -1
  271. package/dist/js/components/RemoteContextProvider.mjs +11 -14
  272. package/dist/js/components/RemoteContextProvider.mjs.map +1 -1
  273. package/dist/js/components/createFlowRemoteComponent.mjs +16 -26
  274. package/dist/js/components/createFlowRemoteComponent.mjs.map +1 -1
  275. package/dist/js/components/index.mjs +14 -0
  276. package/dist/js/components/index.mjs.map +1 -0
  277. package/dist/js/hooks/useWatchPathname.mjs +22 -22
  278. package/dist/js/hooks/useWatchPathname.mjs.map +1 -1
  279. package/dist/js/index.mjs +274 -134
  280. package/dist/js/index.mjs.map +1 -1
  281. package/dist/js/integrations/react-hook-form/Form/Form.mjs +19 -22
  282. package/dist/js/integrations/react-hook-form/Form/Form.mjs.map +1 -1
  283. package/dist/js/lib/createRemoteComponent.mjs +26 -27
  284. package/dist/js/lib/createRemoteComponent.mjs.map +1 -1
  285. package/dist/js/lib/stringifyError.mjs +5 -3
  286. package/dist/js/lib/stringifyError.mjs.map +1 -1
  287. package/dist/js/react-hook-form.mjs +3 -3
  288. package/dist/js/version.mjs +6 -5
  289. package/dist/js/version.mjs.map +1 -1
  290. package/dist/js/views/NotificationContainer.mjs +16 -20
  291. package/dist/js/views/NotificationContainer.mjs.map +1 -1
  292. package/dist/js/views/index.mjs +8 -2
  293. package/dist/js/views/index.mjs.map +1 -1
  294. package/dist/types/auto-generated/Switch.d.ts.map +1 -1
  295. package/dist/types/auto-generated/Table.d.ts.map +1 -1
  296. package/dist/types/tests/lib/environments.d.ts +1 -1
  297. package/package.json +27 -27
  298. package/dist/js/react-hook-form.mjs.map +0 -1
@@ -1,122 +1,113 @@
1
1
  "use client"
2
2
  /* */
3
- 'use client';
4
- import { jsx } from 'react/jsx-runtime';
5
- import * as index$1 from './auto-generated/index.mjs';
6
- import * as index from './views/index.mjs';
7
- import { useWatchPathname } from './hooks/useWatchPathname.mjs';
8
- import { stringifyError } from './lib/stringifyError.mjs';
9
- import { ViewComponentContextProvider } from '@mittwald/flow-react-components/internal';
10
- import { connectRemoteReceiver, connectHostRenderRootRef } from '@mittwald/flow-remote-core';
11
- import { useRef, useState, useTransition, useLayoutEffect, Suspense } from 'react';
12
- import { ErrorBoundary } from 'react-error-boundary';
13
- import { RemoteContextProvider } from './components/RemoteContextProvider.mjs';
14
- import { LoadingFallbackTrigger } from './components/LoadingFallbackTrigger.mjs';
15
- import { useLanguage, IntlProvider } from '@mittwald/flow-react-components';
16
- import { initExtBridge } from '@mittwald/ext-bridge/browser';
17
- import { Div } from './auto-generated/Div.mjs';
18
-
19
- const viewComponents = {
20
- ...index$1,
21
- ...index
3
+ "use client";
4
+ import { Div } from "./auto-generated/Div.mjs";
5
+ import { auto_generated_exports } from "./auto-generated/index.mjs";
6
+ import { RemoteContextProvider } from "./components/RemoteContextProvider.mjs";
7
+ import { LoadingFallbackTrigger } from "./components/LoadingFallbackTrigger.mjs";
8
+ import { views_exports } from "./views/index.mjs";
9
+ import { useWatchPathname } from "./hooks/useWatchPathname.mjs";
10
+ import { stringifyError } from "./lib/stringifyError.mjs";
11
+ import { ViewComponentContextProvider } from "@mittwald/flow-react-components/internal";
12
+ import { Suspense, useLayoutEffect, useRef, useState, useTransition } from "react";
13
+ import { connectHostRenderRootRef, connectRemoteReceiver } from "@mittwald/flow-remote-core";
14
+ import { IntlProvider, useLanguage } from "@mittwald/flow-react-components";
15
+ import { jsx } from "react/jsx-runtime";
16
+ import { ErrorBoundary } from "react-error-boundary";
17
+ import { initExtBridge } from "@mittwald/ext-bridge/browser";
18
+ //#region src/components/RemoteRoot.tsx
19
+ var viewComponents = {
20
+ ...auto_generated_exports,
21
+ ...views_exports
22
22
  };
23
- const hiddenStyle = {
24
- visibility: "hidden",
25
- height: 0,
26
- width: 0,
27
- border: "none",
28
- position: "absolute",
29
- marginLeft: "-9999px"
23
+ var hiddenStyle = {
24
+ visibility: "hidden",
25
+ height: 0,
26
+ width: 0,
27
+ border: "none",
28
+ position: "absolute",
29
+ marginLeft: "-9999px"
30
30
  };
31
- const RemoteRoot = (props) => {
32
- const {
33
- children,
34
- onHostPathnameChanged,
35
- isLoading: isLoadingFromProps,
36
- __remoteReceiver: remoteReceiver
37
- } = props;
38
- if (remoteReceiver) {
39
- return /* @__PURE__ */ jsx(
40
- "div",
41
- {
42
- style: hiddenStyle,
43
- ref: (div) => {
44
- if (div) {
45
- connectRemoteReceiver(div, remoteReceiver.connection);
46
- }
47
- },
48
- children: /* @__PURE__ */ jsx(ViewComponentContextProvider, { components: viewComponents, children })
49
- }
50
- );
51
- }
52
- const connectionRef = useRef(void 0);
53
- const hostConfigRef = useRef(void 0);
54
- const isConnectionInitialized = useRef(false);
55
- const [connectionError, setConnectionError] = useState(null);
56
- const [isConnected, setIsConnected] = useState(false);
57
- const fallbackLanguage = useLanguage();
58
- const language = hostConfigRef.current?.language === void 0 || hostConfigRef.current?.language?.trim() === "" ? fallbackLanguage : hostConfigRef.current.language;
59
- const [pathnameChangedPending, startPathnameChangedTransition] = useTransition();
60
- const renderErrorRef = useRef(void 0);
61
- const handleRenderError = (error) => {
62
- renderErrorRef.current = error;
63
- connectionRef.current?.imports.setError(stringifyError(error));
64
- };
65
- const setIsLoadingFromProps = () => {
66
- if (isLoadingFromProps !== void 0) {
67
- connectionRef.current?.imports.setIsLoading(isLoadingFromProps);
68
- }
69
- };
70
- useLayoutEffect(() => {
71
- setIsLoadingFromProps();
72
- }, [isLoadingFromProps]);
73
- useWatchPathname(
74
- (pathname) => connectionRef.current?.imports.setNavigationState({
75
- pathname,
76
- isPending: pathnameChangedPending
77
- })
78
- );
79
- if (connectionError) {
80
- throw connectionError;
81
- }
82
- const connect = connectHostRenderRootRef({
83
- onPathnameChanged: (pathname) => startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname))
84
- });
85
- const loadingFallback = /* @__PURE__ */ jsx(Div, { children: /* @__PURE__ */ jsx(LoadingFallbackTrigger, {}) });
86
- const connectDiv = (div) => {
87
- if (isConnectionInitialized.current) {
88
- return;
89
- }
90
- initExtBridge();
91
- isConnectionInitialized.current = true;
92
- connect(div)?.then((connection) => {
93
- connectionRef.current = connection;
94
- setIsLoadingFromProps();
95
- return connection.imports.getHostConfig();
96
- }).then((hostConfig) => {
97
- hostConfigRef.current = hostConfig;
98
- setIsConnected(true);
99
- }).catch((error) => {
100
- setConnectionError(error);
101
- });
102
- if (renderErrorRef.current) {
103
- handleRenderError(renderErrorRef.current);
104
- }
105
- };
106
- const ErrorFallbackComponent = (props2) => {
107
- handleRenderError(props2.error);
108
- return null;
109
- };
110
- return /* @__PURE__ */ jsx("div", { ref: connectDiv, children: /* @__PURE__ */ jsx(ErrorBoundary, { FallbackComponent: ErrorFallbackComponent, children: isConnected && connectionRef.current && /* @__PURE__ */ jsx(
111
- RemoteContextProvider,
112
- {
113
- value: {
114
- connection: connectionRef.current
115
- },
116
- children: /* @__PURE__ */ jsx(IntlProvider, { locale: language, children: /* @__PURE__ */ jsx(Suspense, { fallback: loadingFallback, children: /* @__PURE__ */ jsx(ViewComponentContextProvider, { components: viewComponents, children }) }) })
117
- }
118
- ) }) });
31
+ var RemoteRoot = (props) => {
32
+ const { children, onHostPathnameChanged, isLoading: isLoadingFromProps, __remoteReceiver: remoteReceiver } = props;
33
+ if (remoteReceiver) return /* @__PURE__ */ jsx("div", {
34
+ style: hiddenStyle,
35
+ ref: (div) => {
36
+ if (div) connectRemoteReceiver(div, remoteReceiver.connection);
37
+ },
38
+ children: /* @__PURE__ */ jsx(ViewComponentContextProvider, {
39
+ components: viewComponents,
40
+ children
41
+ })
42
+ });
43
+ const connectionRef = useRef(void 0);
44
+ const hostConfigRef = useRef(void 0);
45
+ const isConnectionInitialized = useRef(false);
46
+ const [connectionError, setConnectionError] = useState(null);
47
+ const [isConnected, setIsConnected] = useState(false);
48
+ const fallbackLanguage = useLanguage();
49
+ const language = hostConfigRef.current?.language === void 0 || hostConfigRef.current?.language?.trim() === "" ? fallbackLanguage : hostConfigRef.current.language;
50
+ const [pathnameChangedPending, startPathnameChangedTransition] = useTransition();
51
+ const renderErrorRef = useRef(void 0);
52
+ const handleRenderError = (error) => {
53
+ renderErrorRef.current = error;
54
+ connectionRef.current?.imports.setError(stringifyError(error));
55
+ };
56
+ const setIsLoadingFromProps = () => {
57
+ if (isLoadingFromProps !== void 0) connectionRef.current?.imports.setIsLoading(isLoadingFromProps);
58
+ };
59
+ useLayoutEffect(() => {
60
+ setIsLoadingFromProps();
61
+ }, [isLoadingFromProps]);
62
+ useWatchPathname((pathname) => connectionRef.current?.imports.setNavigationState({
63
+ pathname,
64
+ isPending: pathnameChangedPending
65
+ }));
66
+ if (connectionError) throw connectionError;
67
+ const connect = connectHostRenderRootRef({ onPathnameChanged: (pathname) => startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname)) });
68
+ /** Is wrapped in Div to resolve render awaiter in <RemoteRenderer /> */
69
+ const loadingFallback = /* @__PURE__ */ jsx(Div, { children: /* @__PURE__ */ jsx(LoadingFallbackTrigger, {}) });
70
+ const connectDiv = (div) => {
71
+ if (isConnectionInitialized.current) return;
72
+ initExtBridge();
73
+ isConnectionInitialized.current = true;
74
+ connect(div)?.then((connection) => {
75
+ connectionRef.current = connection;
76
+ setIsLoadingFromProps();
77
+ return connection.imports.getHostConfig();
78
+ }).then((hostConfig) => {
79
+ hostConfigRef.current = hostConfig;
80
+ setIsConnected(true);
81
+ }).catch((error) => {
82
+ setConnectionError(error);
83
+ });
84
+ if (renderErrorRef.current) handleRenderError(renderErrorRef.current);
85
+ };
86
+ const ErrorFallbackComponent = (props) => {
87
+ handleRenderError(props.error);
88
+ return null;
89
+ };
90
+ return /* @__PURE__ */ jsx("div", {
91
+ ref: connectDiv,
92
+ children: /* @__PURE__ */ jsx(ErrorBoundary, {
93
+ FallbackComponent: ErrorFallbackComponent,
94
+ children: isConnected && connectionRef.current && /* @__PURE__ */ jsx(RemoteContextProvider, {
95
+ value: { connection: connectionRef.current },
96
+ children: /* @__PURE__ */ jsx(IntlProvider, {
97
+ locale: language,
98
+ children: /* @__PURE__ */ jsx(Suspense, {
99
+ fallback: loadingFallback,
100
+ children: /* @__PURE__ */ jsx(ViewComponentContextProvider, {
101
+ components: viewComponents,
102
+ children
103
+ })
104
+ })
105
+ })
106
+ })
107
+ })
108
+ });
119
109
  };
120
-
110
+ //#endregion
121
111
  export { RemoteRoot, RemoteRoot as default };
122
- //# sourceMappingURL=RemoteRoot.mjs.map
112
+
113
+ //# sourceMappingURL=RemoteRoot.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"RemoteRoot.mjs","sources":["../../src/components/RemoteRoot.tsx"],"sourcesContent":["\"use client\";\nimport * as remoteComponents from \"@/auto-generated\";\nimport * as customViewComponents from \"@/views\";\nimport { useWatchPathname } from \"@/hooks/useWatchPathname\";\nimport { stringifyError } from \"@/lib/stringifyError\";\nimport { ViewComponentContextProvider } from \"@mittwald/flow-react-components/internal\";\nimport {\n connectHostRenderRootRef,\n connectRemoteReceiver,\n type RemoteReceiver,\n type RemoteToHostConnection,\n} from \"@mittwald/flow-remote-core\";\nimport {\n Suspense,\n useLayoutEffect,\n useRef,\n useState,\n useTransition,\n type CSSProperties,\n type FC,\n type PropsWithChildren,\n} from \"react\";\nimport { ErrorBoundary, type FallbackProps } from \"react-error-boundary\";\nimport { RemoteContextProvider } from \"@/components/RemoteContextProvider\";\nimport { LoadingFallbackTrigger } from \"@/components/LoadingFallbackTrigger\";\nimport { IntlProvider, useLanguage } from \"@mittwald/flow-react-components\";\nimport type { HostConfig } from \"@mittwald/flow-core\";\nimport { initExtBridge } from \"@mittwald/ext-bridge/browser\";\n\nconst viewComponents = {\n ...remoteComponents,\n ...customViewComponents,\n} as FlowViewComponents;\n\nexport interface RemoteRootProps extends PropsWithChildren {\n onHostPathnameChanged?: (pathname: string) => void;\n isLoading?: boolean;\n /** Internal use only */\n __remoteReceiver?: RemoteReceiver;\n}\n\nconst hiddenStyle: CSSProperties = {\n visibility: \"hidden\",\n height: 0,\n width: 0,\n border: \"none\",\n position: \"absolute\",\n marginLeft: \"-9999px\",\n};\n\nexport const RemoteRoot: FC<RemoteRootProps> = (props) => {\n const {\n children,\n onHostPathnameChanged,\n isLoading: isLoadingFromProps,\n __remoteReceiver: remoteReceiver,\n } = props;\n\n if (remoteReceiver) {\n return (\n <div\n style={hiddenStyle}\n ref={(div) => {\n if (div) {\n connectRemoteReceiver(div, remoteReceiver.connection);\n }\n }}\n >\n <ViewComponentContextProvider components={viewComponents}>\n {children}\n </ViewComponentContextProvider>\n </div>\n );\n }\n\n const connectionRef = useRef<RemoteToHostConnection>(undefined);\n const hostConfigRef = useRef<HostConfig | undefined>(undefined);\n const isConnectionInitialized = useRef(false);\n const [connectionError, setConnectionError] = useState(null);\n const [isConnected, setIsConnected] = useState(false);\n\n const fallbackLanguage = useLanguage();\n const language =\n hostConfigRef.current?.language === undefined ||\n hostConfigRef.current?.language?.trim() === \"\"\n ? fallbackLanguage\n : hostConfigRef.current.language;\n\n const [pathnameChangedPending, startPathnameChangedTransition] =\n useTransition();\n\n const renderErrorRef = useRef<unknown>(undefined);\n\n const handleRenderError = (error: unknown) => {\n renderErrorRef.current = error;\n connectionRef.current?.imports.setError(stringifyError(error));\n };\n\n const setIsLoadingFromProps = () => {\n if (isLoadingFromProps !== undefined) {\n connectionRef.current?.imports.setIsLoading(isLoadingFromProps);\n }\n };\n\n useLayoutEffect(() => {\n setIsLoadingFromProps();\n }, [isLoadingFromProps]);\n\n useWatchPathname((pathname) =>\n connectionRef.current?.imports.setNavigationState({\n pathname,\n isPending: pathnameChangedPending,\n }),\n );\n\n if (connectionError) {\n throw connectionError;\n }\n\n const connect = connectHostRenderRootRef({\n onPathnameChanged: (pathname) =>\n startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname)),\n });\n\n /** Is wrapped in Div to resolve render awaiter in <RemoteRenderer /> */\n const loadingFallback = (\n <remoteComponents.Div>\n <LoadingFallbackTrigger />\n </remoteComponents.Div>\n );\n\n const connectDiv = (div: HTMLDivElement) => {\n if (isConnectionInitialized.current) {\n return;\n }\n initExtBridge();\n isConnectionInitialized.current = true;\n connect(div)\n ?.then((connection) => {\n connectionRef.current = connection;\n setIsLoadingFromProps();\n return connection.imports.getHostConfig();\n })\n .then((hostConfig) => {\n hostConfigRef.current = hostConfig;\n setIsConnected(true);\n })\n .catch((error) => {\n setConnectionError(error);\n });\n\n if (renderErrorRef.current) {\n handleRenderError(renderErrorRef.current);\n }\n };\n\n const ErrorFallbackComponent: FC<FallbackProps> = (props) => {\n handleRenderError(props.error);\n return null;\n };\n\n return (\n <div ref={connectDiv}>\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent}>\n {isConnected && connectionRef.current && (\n <RemoteContextProvider\n value={{\n connection: connectionRef.current,\n }}\n >\n <IntlProvider locale={language}>\n <Suspense fallback={loadingFallback}>\n <ViewComponentContextProvider components={viewComponents}>\n {children}\n </ViewComponentContextProvider>\n </Suspense>\n </IntlProvider>\n </RemoteContextProvider>\n )}\n </ErrorBoundary>\n </div>\n );\n};\n\nexport default RemoteRoot;\n"],"names":["remoteComponents","customViewComponents","remoteComponents.Div","props"],"mappings":"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"}
1
+ {"version":3,"file":"RemoteRoot.mjs","names":[],"sources":["../../src/components/RemoteRoot.tsx"],"sourcesContent":["\"use client\";\nimport * as remoteComponents from \"@/auto-generated\";\nimport * as customViewComponents from \"@/views\";\nimport { useWatchPathname } from \"@/hooks/useWatchPathname\";\nimport { stringifyError } from \"@/lib/stringifyError\";\nimport { ViewComponentContextProvider } from \"@mittwald/flow-react-components/internal\";\nimport {\n connectHostRenderRootRef,\n connectRemoteReceiver,\n type RemoteReceiver,\n type RemoteToHostConnection,\n} from \"@mittwald/flow-remote-core\";\nimport {\n Suspense,\n useLayoutEffect,\n useRef,\n useState,\n useTransition,\n type CSSProperties,\n type FC,\n type PropsWithChildren,\n} from \"react\";\nimport { ErrorBoundary, type FallbackProps } from \"react-error-boundary\";\nimport { RemoteContextProvider } from \"@/components/RemoteContextProvider\";\nimport { LoadingFallbackTrigger } from \"@/components/LoadingFallbackTrigger\";\nimport { IntlProvider, useLanguage } from \"@mittwald/flow-react-components\";\nimport type { HostConfig } from \"@mittwald/flow-core\";\nimport { initExtBridge } from \"@mittwald/ext-bridge/browser\";\n\nconst viewComponents = {\n ...remoteComponents,\n ...customViewComponents,\n} as FlowViewComponents;\n\nexport interface RemoteRootProps extends PropsWithChildren {\n onHostPathnameChanged?: (pathname: string) => void;\n isLoading?: boolean;\n /** Internal use only */\n __remoteReceiver?: RemoteReceiver;\n}\n\nconst hiddenStyle: CSSProperties = {\n visibility: \"hidden\",\n height: 0,\n width: 0,\n border: \"none\",\n position: \"absolute\",\n marginLeft: \"-9999px\",\n};\n\nexport const RemoteRoot: FC<RemoteRootProps> = (props) => {\n const {\n children,\n onHostPathnameChanged,\n isLoading: isLoadingFromProps,\n __remoteReceiver: remoteReceiver,\n } = props;\n\n if (remoteReceiver) {\n return (\n <div\n style={hiddenStyle}\n ref={(div) => {\n if (div) {\n connectRemoteReceiver(div, remoteReceiver.connection);\n }\n }}\n >\n <ViewComponentContextProvider components={viewComponents}>\n {children}\n </ViewComponentContextProvider>\n </div>\n );\n }\n\n const connectionRef = useRef<RemoteToHostConnection>(undefined);\n const hostConfigRef = useRef<HostConfig | undefined>(undefined);\n const isConnectionInitialized = useRef(false);\n const [connectionError, setConnectionError] = useState(null);\n const [isConnected, setIsConnected] = useState(false);\n\n const fallbackLanguage = useLanguage();\n const language =\n hostConfigRef.current?.language === undefined ||\n hostConfigRef.current?.language?.trim() === \"\"\n ? fallbackLanguage\n : hostConfigRef.current.language;\n\n const [pathnameChangedPending, startPathnameChangedTransition] =\n useTransition();\n\n const renderErrorRef = useRef<unknown>(undefined);\n\n const handleRenderError = (error: unknown) => {\n renderErrorRef.current = error;\n connectionRef.current?.imports.setError(stringifyError(error));\n };\n\n const setIsLoadingFromProps = () => {\n if (isLoadingFromProps !== undefined) {\n connectionRef.current?.imports.setIsLoading(isLoadingFromProps);\n }\n };\n\n useLayoutEffect(() => {\n setIsLoadingFromProps();\n }, [isLoadingFromProps]);\n\n useWatchPathname((pathname) =>\n connectionRef.current?.imports.setNavigationState({\n pathname,\n isPending: pathnameChangedPending,\n }),\n );\n\n if (connectionError) {\n throw connectionError;\n }\n\n const connect = connectHostRenderRootRef({\n onPathnameChanged: (pathname) =>\n startPathnameChangedTransition(() => onHostPathnameChanged?.(pathname)),\n });\n\n /** Is wrapped in Div to resolve render awaiter in <RemoteRenderer /> */\n const loadingFallback = (\n <remoteComponents.Div>\n <LoadingFallbackTrigger />\n </remoteComponents.Div>\n );\n\n const connectDiv = (div: HTMLDivElement) => {\n if (isConnectionInitialized.current) {\n return;\n }\n initExtBridge();\n isConnectionInitialized.current = true;\n connect(div)\n ?.then((connection) => {\n connectionRef.current = connection;\n setIsLoadingFromProps();\n return connection.imports.getHostConfig();\n })\n .then((hostConfig) => {\n hostConfigRef.current = hostConfig;\n setIsConnected(true);\n })\n .catch((error) => {\n setConnectionError(error);\n });\n\n if (renderErrorRef.current) {\n handleRenderError(renderErrorRef.current);\n }\n };\n\n const ErrorFallbackComponent: FC<FallbackProps> = (props) => {\n handleRenderError(props.error);\n return null;\n };\n\n return (\n <div ref={connectDiv}>\n <ErrorBoundary FallbackComponent={ErrorFallbackComponent}>\n {isConnected && connectionRef.current && (\n <RemoteContextProvider\n value={{\n connection: connectionRef.current,\n }}\n >\n <IntlProvider locale={language}>\n <Suspense fallback={loadingFallback}>\n <ViewComponentContextProvider components={viewComponents}>\n {children}\n </ViewComponentContextProvider>\n </Suspense>\n </IntlProvider>\n </RemoteContextProvider>\n )}\n </ErrorBoundary>\n </div>\n );\n};\n\nexport default RemoteRoot;\n"],"mappings":";;;;;;;;;;;;;;;;AA6BA,IAAM,iBAAiB;CACrB,GAAG;CACH,GAAG;AACL;AASA,IAAM,cAA6B;CACjC,YAAY;CACZ,QAAQ;CACR,OAAO;CACP,QAAQ;CACR,UAAU;CACV,YAAY;AACd;AAEA,IAAa,cAAmC,UAAU;CACxD,MAAM,EACJ,UACA,uBACA,WAAW,oBACX,kBAAkB,mBAChB;CAEJ,IAAI,gBACF,OACE,oBAAC,OAAD;EACE,OAAO;EACP,MAAM,QAAQ;GACZ,IAAI,KACF,sBAAsB,KAAK,eAAe,UAAU;EAExD;YAEA,oBAAC,8BAAD;GAA8B,YAAY;GACvC;EAC2B,CAAA;CAC3B,CAAA;CAIT,MAAM,gBAAgB,OAA+B,KAAA,CAAS;CAC9D,MAAM,gBAAgB,OAA+B,KAAA,CAAS;CAC9D,MAAM,0BAA0B,OAAO,KAAK;CAC5C,MAAM,CAAC,iBAAiB,sBAAsB,SAAS,IAAI;CAC3D,MAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;CAEpD,MAAM,mBAAmB,YAAY;CACrC,MAAM,WACJ,cAAc,SAAS,aAAa,KAAA,KACpC,cAAc,SAAS,UAAU,KAAK,MAAM,KACxC,mBACA,cAAc,QAAQ;CAE5B,MAAM,CAAC,wBAAwB,kCAC7B,cAAc;CAEhB,MAAM,iBAAiB,OAAgB,KAAA,CAAS;CAEhD,MAAM,qBAAqB,UAAmB;EAC5C,eAAe,UAAU;EACzB,cAAc,SAAS,QAAQ,SAAS,eAAe,KAAK,CAAC;CAC/D;CAEA,MAAM,8BAA8B;EAClC,IAAI,uBAAuB,KAAA,GACzB,cAAc,SAAS,QAAQ,aAAa,kBAAkB;CAElE;CAEA,sBAAsB;EACpB,sBAAsB;CACxB,GAAG,CAAC,kBAAkB,CAAC;CAEvB,kBAAkB,aAChB,cAAc,SAAS,QAAQ,mBAAmB;EAChD;EACA,WAAW;CACb,CAAC,CACH;CAEA,IAAI,iBACF,MAAM;CAGR,MAAM,UAAU,yBAAyB,EACvC,oBAAoB,aAClB,qCAAqC,wBAAwB,QAAQ,CAAC,EAC1E,CAAC;;CAGD,MAAM,kBACJ,oBAAC,KAAD,EAAA,UACE,oBAAC,wBAAD,CAAyB,CAAA,EACL,CAAA;CAGxB,MAAM,cAAc,QAAwB;EAC1C,IAAI,wBAAwB,SAC1B;EAEF,cAAc;EACd,wBAAwB,UAAU;EAClC,QAAQ,GAAG,GACP,MAAM,eAAe;GACrB,cAAc,UAAU;GACxB,sBAAsB;GACtB,OAAO,WAAW,QAAQ,cAAc;EAC1C,CAAC,EACA,MAAM,eAAe;GACpB,cAAc,UAAU;GACxB,eAAe,IAAI;EACrB,CAAC,EACA,OAAO,UAAU;GAChB,mBAAmB,KAAK;EAC1B,CAAC;EAEH,IAAI,eAAe,SACjB,kBAAkB,eAAe,OAAO;CAE5C;CAEA,MAAM,0BAA6C,UAAU;EAC3D,kBAAkB,MAAM,KAAK;EAC7B,OAAO;CACT;CAEA,OACE,oBAAC,OAAD;EAAK,KAAK;YACR,oBAAC,eAAD;GAAe,mBAAmB;aAC/B,eAAe,cAAc,WAC5B,oBAAC,uBAAD;IACE,OAAO,EACL,YAAY,cAAc,QAC5B;cAEA,oBAAC,cAAD;KAAc,QAAQ;eACpB,oBAAC,UAAD;MAAU,UAAU;gBAClB,oBAAC,8BAAD;OAA8B,YAAY;OACvC;MAC2B,CAAA;KACtB,CAAA;IACE,CAAA;GACO,CAAA;EAEZ,CAAA;CACZ,CAAA;AAET"}
@@ -0,0 +1,29 @@
1
+ "use client"
2
+ /* */
3
+ //#region \0rolldown/runtime.js
4
+ var __defProp = Object.defineProperty;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropNames = Object.getOwnPropertyNames;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __exportAll = (all, no_symbols) => {
9
+ let target = {};
10
+ for (var name in all) __defProp(target, name, {
11
+ get: all[name],
12
+ enumerable: true
13
+ });
14
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
15
+ return target;
16
+ };
17
+ var __copyProps = (to, from, except, desc) => {
18
+ if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
19
+ key = keys[i];
20
+ if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
21
+ get: ((k) => from[k]).bind(null, key),
22
+ enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
23
+ });
24
+ }
25
+ return to;
26
+ };
27
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
28
+ //#endregion
29
+ export { __exportAll, __reExport };