@likec4/diagram 1.55.1 → 1.57.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 (384) hide show
  1. package/dist/LikeC4Diagram.js +150 -194
  2. package/dist/LikeC4ModelProvider.js +13 -9
  3. package/dist/LikeC4ProjectsOverview.js +24 -30
  4. package/dist/LikeC4ProjectsProvider.js +33 -26
  5. package/dist/LikeC4Styles.js +40 -57
  6. package/dist/LikeC4View.js +148 -196
  7. package/dist/ReactLikeC4.js +43 -65
  8. package/dist/StaticLikeC4Diagram.js +36 -41
  9. package/dist/_virtual/_rolldown/runtime.js +17 -0
  10. package/dist/adhoc-editor/EditorPanel.js +102 -101
  11. package/dist/adhoc-editor/ElementsTree.js +109 -139
  12. package/dist/adhoc-editor/LikeC4AdHocViewEditor.js +77 -70
  13. package/dist/adhoc-editor/components/Tree.d.ts +2 -2
  14. package/dist/adhoc-editor/components/Tree.js +205 -288
  15. package/dist/adhoc-editor/hooks.js +28 -23
  16. package/dist/adhoc-editor/index.js +2 -1
  17. package/dist/adhoc-editor/state/ActorProvider.js +33 -36
  18. package/dist/adhoc-editor/state/actor.editor.js +148 -186
  19. package/dist/adhoc-editor/state/actor.js +12 -14
  20. package/dist/adhoc-editor/state/actor.layouter.js +49 -65
  21. package/dist/adhoc-editor/state/actor.types.js +19 -23
  22. package/dist/adhoc-editor/state/panel.js +112 -127
  23. package/dist/adhoc-editor/state/utils.js +22 -29
  24. package/dist/adhoc-editor/useElementsTree.js +89 -121
  25. package/dist/base/Background.js +26 -29
  26. package/dist/base/Base.js +34 -41
  27. package/dist/base/BaseXYFlow.js +135 -165
  28. package/dist/base/const.js +18 -19
  29. package/dist/base/updateEdges.js +38 -57
  30. package/dist/base/updateNodes.js +46 -65
  31. package/dist/base-primitives/Markdown.d.ts +1 -1
  32. package/dist/base-primitives/Markdown.js +32 -47
  33. package/dist/base-primitives/NodeHandles.js +39 -49
  34. package/dist/base-primitives/compound/CompoundActionButton.js +49 -69
  35. package/dist/base-primitives/compound/CompoundDetailsButton.js +39 -64
  36. package/dist/base-primitives/compound/CompoundNodeContainer.js +46 -66
  37. package/dist/base-primitives/compound/CompoundTitle.js +15 -12
  38. package/dist/base-primitives/compound/actionbtns.css.js +9 -18
  39. package/dist/base-primitives/edge/EdgeActionButton.js +17 -19
  40. package/dist/base-primitives/edge/EdgeContainer.js +29 -48
  41. package/dist/base-primitives/edge/EdgeLabel.js +44 -65
  42. package/dist/base-primitives/edge/EdgeLabelContainer.js +35 -73
  43. package/dist/base-primitives/edge/EdgeMarkers.js +157 -215
  44. package/dist/base-primitives/edge/EdgePath.js +62 -115
  45. package/dist/base-primitives/element/ElementActionButtons.js +92 -81
  46. package/dist/base-primitives/element/ElementData.js +107 -126
  47. package/dist/base-primitives/element/ElementDetailsButton.js +78 -98
  48. package/dist/base-primitives/element/ElementNodeContainer.js +51 -82
  49. package/dist/base-primitives/element/ElementShape.js +331 -317
  50. package/dist/base-primitives/element/ElementTags.d.ts +1 -1
  51. package/dist/base-primitives/element/ElementTags.js +133 -193
  52. package/dist/base-primitives/memoEdge.js +11 -10
  53. package/dist/base-primitives/memoNode.js +16 -20
  54. package/dist/components/ErrorFallback.js +111 -75
  55. package/dist/components/GithubIcon.js +14 -16
  56. package/dist/components/Link.js +99 -113
  57. package/dist/components/Logo.js +38 -41
  58. package/dist/components/NavigationLink.js +15 -23
  59. package/dist/components/NavigationPanel.js +26 -47
  60. package/dist/components/PortalToContainer.js +16 -10
  61. package/dist/components/RootContainer.js +36 -31
  62. package/dist/components/SearchControl.css.js +65 -75
  63. package/dist/components/SearchControl.js +36 -14
  64. package/dist/components/ViewNotFound.js +22 -29
  65. package/dist/context/CurrentViewModelProvider.js +11 -9
  66. package/dist/context/DefaultMantineProvider.js +45 -72
  67. package/dist/context/DiagramEventHandlers.js +43 -48
  68. package/dist/context/DiagramFeatures.d.ts +1 -1
  69. package/dist/context/DiagramFeatures.js +78 -69
  70. package/dist/context/EnsureMantine.js +13 -16
  71. package/dist/context/FramerMotionConfig.js +17 -11
  72. package/dist/context/IconRenderer.js +90 -106
  73. package/dist/context/LikeC4ModelContext.js +14 -10
  74. package/dist/context/LikeC4ProjectsContext.js +7 -6
  75. package/dist/context/RootContainerContext.d.ts +9 -19
  76. package/dist/context/RootContainerContext.js +14 -28
  77. package/dist/context/TagStylesContext.js +49 -57
  78. package/dist/custom/customNodes.js +224 -28
  79. package/dist/custom/index.d.ts +1 -1
  80. package/dist/custom/index.js +40 -40
  81. package/dist/editor/LikeC4EditorCallbacks.d.ts +5 -0
  82. package/dist/editor/LikeC4EditorCallbacks.js +4 -2
  83. package/dist/editor/LikeC4EditorProvider.js +32 -7
  84. package/dist/editor/actor/actions.d.ts +115 -0
  85. package/dist/editor/actor/actions.js +122 -0
  86. package/dist/editor/{hotkeyActor.d.ts → actor/hotkey.d.ts} +1 -1
  87. package/dist/editor/actor/hotkey.js +20 -0
  88. package/dist/editor/actor/machine.d.ts +11 -0
  89. package/dist/editor/actor/machine.js +22 -0
  90. package/dist/editor/{editorActor.setup.d.ts → actor/setup.d.ts} +13 -49
  91. package/dist/editor/actor/setup.js +35 -0
  92. package/dist/editor/actor/state.editor.d.ts +97 -0
  93. package/dist/editor/actor/state.editor.js +55 -0
  94. package/dist/editor/actor/state.sync-queue.d.ts +420 -0
  95. package/dist/editor/actor/state.sync-queue.js +235 -0
  96. package/dist/editor/actor/types.d.ts +59 -0
  97. package/dist/editor/actor/types.js +5 -0
  98. package/dist/editor/applyChangesToManualLayout.js +144 -163
  99. package/dist/editor/index.d.ts +2 -1
  100. package/dist/editor/useEditorActorLogic.d.ts +8 -2
  101. package/dist/editor/useEditorActorLogic.js +51 -43
  102. package/dist/hooks/safeContext.js +17 -17
  103. package/dist/hooks/useCallbackRef.js +18 -11
  104. package/dist/hooks/useCurrentView.js +16 -7
  105. package/dist/hooks/useCurrentViewModel.js +14 -9
  106. package/dist/hooks/useDiagram.js +60 -37
  107. package/dist/hooks/useDiagramCompareLayout.js +77 -81
  108. package/dist/hooks/useEditorActor.d.ts +4 -0
  109. package/dist/hooks/useEditorActor.js +26 -0
  110. package/dist/hooks/useId.js +8 -6
  111. package/dist/hooks/useLikeC4ElementsTree.d.ts +3 -2
  112. package/dist/hooks/useLikeC4ElementsTree.js +24 -21
  113. package/dist/hooks/useLikeC4Model.js +21 -20
  114. package/dist/hooks/useLikeC4Project.js +40 -29
  115. package/dist/hooks/useLikeC4Styles.js +6 -6
  116. package/dist/hooks/useMantinePortalProps.js +10 -6
  117. package/dist/hooks/useSetState.js +21 -19
  118. package/dist/hooks/useUpdateEffect.js +18 -29
  119. package/dist/hooks/useXYFlow.js +13 -15
  120. package/dist/index.js +24 -23
  121. package/dist/likec4diagram/DiagramUI.js +37 -37
  122. package/dist/likec4diagram/DiagramXYFlow.js +215 -224
  123. package/dist/likec4diagram/convert-to-xyflow.js +21 -22
  124. package/dist/likec4diagram/custom/edges/EdgeDrifts.js +22 -32
  125. package/dist/likec4diagram/custom/edges/RelationshipEdge.js +275 -372
  126. package/dist/likec4diagram/custom/edges/SequenceStepEdge.js +71 -75
  127. package/dist/likec4diagram/custom/edges/edges.css.js +41 -47
  128. package/dist/likec4diagram/custom/edges/useControlPoints.js +52 -56
  129. package/dist/likec4diagram/custom/edges/useRelationshipEdgePath.js +54 -76
  130. package/dist/likec4diagram/custom/index.js +17 -17
  131. package/dist/likec4diagram/custom/nodes/CompoundActions.js +19 -26
  132. package/dist/likec4diagram/custom/nodes/ElementActions.js +131 -82
  133. package/dist/likec4diagram/custom/nodes/NodeDrifts.js +20 -26
  134. package/dist/likec4diagram/custom/nodes/NodeNotes.js +215 -273
  135. package/dist/likec4diagram/custom/nodes/SequenceActorNode.js +131 -147
  136. package/dist/likec4diagram/custom/nodes/nodes.js +135 -146
  137. package/dist/likec4diagram/custom/nodes/toolbar/ColorButton.js +155 -159
  138. package/dist/likec4diagram/custom/nodes/toolbar/CompoundToolbar.js +58 -86
  139. package/dist/likec4diagram/custom/nodes/toolbar/ElementToolbar.js +108 -164
  140. package/dist/likec4diagram/custom/nodes/toolbar/Toolbar.js +56 -68
  141. package/dist/likec4diagram/custom/nodes/toolbar/_shared.d.ts +3 -6
  142. package/dist/likec4diagram/custom/nodes/toolbar/_shared.js +97 -102
  143. package/dist/likec4diagram/custom/nodes/toolbar/styles.css.js +13 -13
  144. package/dist/likec4diagram/custom/nodes/toolbar/types.js +6 -5
  145. package/dist/likec4diagram/custom/nodes/toolbar/useHandlers.js +36 -41
  146. package/dist/likec4diagram/relationship-popover/RelationshipPopover.js +510 -541
  147. package/dist/likec4diagram/relationship-popover/actor.js +113 -152
  148. package/dist/likec4diagram/relationship-popover/components.js +39 -43
  149. package/dist/likec4diagram/state/DiagramActorProvider.js +135 -136
  150. package/dist/likec4diagram/state/aligners.js +286 -360
  151. package/dist/likec4diagram/state/assign.js +84 -108
  152. package/dist/likec4diagram/state/createViewChange.js +72 -92
  153. package/dist/likec4diagram/state/diagram-api.d.ts +16 -0
  154. package/dist/likec4diagram/state/diagram-api.js +230 -152
  155. package/dist/likec4diagram/state/hotkeyActor.js +54 -45
  156. package/dist/likec4diagram/state/machine.actions.js +708 -821
  157. package/dist/likec4diagram/state/machine.actions.layout.js +154 -183
  158. package/dist/likec4diagram/state/machine.d.ts +1 -1
  159. package/dist/likec4diagram/state/machine.js +113 -134
  160. package/dist/likec4diagram/state/machine.setup.js +104 -113
  161. package/dist/likec4diagram/state/machine.state.initializing.js +54 -54
  162. package/dist/likec4diagram/state/machine.state.navigating.js +192 -227
  163. package/dist/likec4diagram/state/machine.state.ready.focused.js +72 -88
  164. package/dist/likec4diagram/state/machine.state.ready.idle.js +79 -98
  165. package/dist/likec4diagram/state/machine.state.ready.js +126 -202
  166. package/dist/likec4diagram/state/machine.state.ready.printing.js +38 -39
  167. package/dist/likec4diagram/state/machine.state.ready.walkthrough.js +153 -193
  168. package/dist/likec4diagram/state/mediaPrintActor.js +20 -16
  169. package/dist/likec4diagram/state/persistence.js +20 -21
  170. package/dist/likec4diagram/state/types.d.ts +1 -1
  171. package/dist/likec4diagram/state/utils.d.ts +1 -1
  172. package/dist/likec4diagram/state/utils.js +131 -162
  173. package/dist/likec4diagram/ui/LayoutDriftFrame.js +53 -64
  174. package/dist/likec4diagram/ui/notation/NotationPanel.css.js +58 -80
  175. package/dist/likec4diagram/ui/notation/NotationPanel.js +183 -214
  176. package/dist/likec4diagram/useLayoutConstraints.js +388 -433
  177. package/dist/likec4diagram/xyflow-diagram/diagram-view.js +216 -227
  178. package/dist/likec4diagram/xyflow-sequence/const.js +11 -7
  179. package/dist/likec4diagram/xyflow-sequence/sequence-layout.js +177 -180
  180. package/dist/navigationpanel/NavigationPanel.js +113 -123
  181. package/dist/navigationpanel/NavigationPanelControls.js +124 -150
  182. package/dist/navigationpanel/NavigationPanelDropdown.js +365 -477
  183. package/dist/navigationpanel/_common.d.ts +4 -10
  184. package/dist/navigationpanel/_common.js +57 -70
  185. package/dist/navigationpanel/actor.js +153 -236
  186. package/dist/navigationpanel/comparepanel/CompareActionsMenu.js +66 -83
  187. package/dist/navigationpanel/comparepanel/ComparePanel.js +135 -164
  188. package/dist/navigationpanel/comparepanel/ComparePanelControls.js +50 -58
  189. package/dist/navigationpanel/comparepanel/DriftsSummary.js +207 -254
  190. package/dist/navigationpanel/comparepanel/LayoutTypeSwitcher.js +33 -35
  191. package/dist/navigationpanel/controls/DetailsControls.js +219 -246
  192. package/dist/navigationpanel/controls/LayoutWarning.js +89 -100
  193. package/dist/navigationpanel/controls/LogoButton.js +46 -70
  194. package/dist/navigationpanel/controls/NavigationButtons.js +35 -52
  195. package/dist/navigationpanel/controls/OpenSource.js +27 -25
  196. package/dist/navigationpanel/controls/SearchControl.js +50 -61
  197. package/dist/navigationpanel/controls/ToggleReadonly.js +86 -81
  198. package/dist/navigationpanel/dropdown/ProjectsMenu.js +69 -87
  199. package/dist/navigationpanel/editorpanel/ApplySemanticLayout.d.ts +4 -0
  200. package/dist/navigationpanel/editorpanel/ApplySemanticLayout.js +36 -0
  201. package/dist/navigationpanel/editorpanel/CenterCamera.js +17 -13
  202. package/dist/navigationpanel/editorpanel/ChangeAutoLayoutButton.js +182 -154
  203. package/dist/navigationpanel/editorpanel/EditorPanel.js +59 -45
  204. package/dist/navigationpanel/editorpanel/ManualLayoutToolsButton.js +122 -173
  205. package/dist/navigationpanel/editorpanel/ToggleReadonly.js +20 -13
  206. package/dist/navigationpanel/editorpanel/_common.d.ts +3 -6
  207. package/dist/navigationpanel/editorpanel/_common.js +13 -13
  208. package/dist/navigationpanel/editorpanel/styles.js +58 -75
  209. package/dist/navigationpanel/hooks.js +35 -29
  210. package/dist/navigationpanel/styles.css.js +20 -28
  211. package/dist/navigationpanel/walkthrough/ActiveWalkthroughControls.js +107 -134
  212. package/dist/navigationpanel/walkthrough/DynamicViewControls.d.ts +65 -65
  213. package/dist/navigationpanel/walkthrough/DynamicViewControls.js +105 -120
  214. package/dist/navigationpanel/walkthrough/WalkthroughPanel.js +75 -83
  215. package/dist/overlays/Overlays.js +94 -112
  216. package/dist/overlays/element-details/ElementDetails.js +22 -28
  217. package/dist/overlays/element-details/ElementDetailsCard.css.js +198 -221
  218. package/dist/overlays/element-details/ElementDetailsCard.js +517 -499
  219. package/dist/overlays/element-details/MetadataValue.js +210 -250
  220. package/dist/overlays/element-details/TabPanelDeployments.css.js +40 -60
  221. package/dist/overlays/element-details/TabPanelDeployments.js +185 -178
  222. package/dist/overlays/element-details/TabPanelRelationships.css.js +63 -71
  223. package/dist/overlays/element-details/TabPanelRelationships.js +155 -140
  224. package/dist/overlays/element-details/TabPanelStructure.css.js +29 -33
  225. package/dist/overlays/element-details/TabPanelStructure.js +93 -93
  226. package/dist/overlays/element-details/actor.js +45 -55
  227. package/dist/overlays/element-details/actorContext.js +12 -10
  228. package/dist/overlays/overlay/Overlay.d.ts +16 -0
  229. package/dist/overlays/overlay/Overlay.js +102 -151
  230. package/dist/overlays/overlaysActor.js +215 -265
  231. package/dist/overlays/relationship-details/RelationshipDetails.js +270 -253
  232. package/dist/overlays/relationship-details/SelectEdge.css.js +62 -74
  233. package/dist/overlays/relationship-details/SelectEdge.js +146 -126
  234. package/dist/overlays/relationship-details/actor.js +242 -303
  235. package/dist/overlays/relationship-details/compute.js +109 -135
  236. package/dist/overlays/relationship-details/custom/ElementActions.js +43 -56
  237. package/dist/overlays/relationship-details/custom/edgeTypes.js +43 -49
  238. package/dist/overlays/relationship-details/custom/nodeTypes.d.ts +4 -5
  239. package/dist/overlays/relationship-details/custom/nodeTypes.js +96 -121
  240. package/dist/overlays/relationship-details/hooks.js +44 -38
  241. package/dist/overlays/relationship-details/layout-to-xyflow.js +119 -141
  242. package/dist/overlays/relationship-details/layout.js +275 -304
  243. package/dist/overlays/relationships-browser/RelationshipsBrowser.js +319 -321
  244. package/dist/overlays/relationships-browser/SelectElement.css.js +18 -21
  245. package/dist/overlays/relationships-browser/SelectElement.js +192 -218
  246. package/dist/overlays/relationships-browser/actor.js +364 -462
  247. package/dist/overlays/relationships-browser/const.js +7 -6
  248. package/dist/overlays/relationships-browser/custom/ElementActions.js +60 -63
  249. package/dist/overlays/relationships-browser/custom/EmptyNode.js +25 -29
  250. package/dist/overlays/relationships-browser/custom/edgeTypes.js +66 -99
  251. package/dist/overlays/relationships-browser/custom/nodeTypes.js +98 -123
  252. package/dist/overlays/relationships-browser/hooks.js +49 -51
  253. package/dist/overlays/relationships-browser/layout.js +413 -465
  254. package/dist/overlays/relationships-browser/useViewToNodesEdges.js +141 -157
  255. package/dist/projects-overview/ProjectsOverview.js +56 -55
  256. package/dist/projects-overview/ProjectsOverviewXY.js +105 -94
  257. package/dist/projects-overview/actor.js +252 -345
  258. package/dist/projects-overview/context.js +8 -7
  259. package/dist/projects-overview/custom/edgeTypes.js +22 -21
  260. package/dist/projects-overview/custom/nodeTypes.js +38 -42
  261. package/dist/projects-overview/hooks.js +9 -9
  262. package/dist/projects-overview/layouted-to-xyflow.js +46 -42
  263. package/dist/projects-overview/panel/ProjectsOverviewPanel.js +7 -9
  264. package/dist/projects-overview/persistence.js +22 -22
  265. package/dist/search/Search.d.ts +6 -3
  266. package/dist/search/Search.js +189 -182
  267. package/dist/search/SearchContext.js +16 -15
  268. package/dist/search/XStateSearchAdapter.js +68 -62
  269. package/dist/search/components/ElementsColumn.css.js +50 -68
  270. package/dist/search/components/ElementsColumn.js +253 -291
  271. package/dist/search/components/PickView.js +116 -140
  272. package/dist/search/components/SearchByTags.js +76 -94
  273. package/dist/search/components/SearchInput.js +187 -209
  274. package/dist/search/components/ViewsColum.js +151 -141
  275. package/dist/search/components/ViewsColumn.css.js +12 -26
  276. package/dist/search/components/_shared.css.js +127 -153
  277. package/dist/search/components/styles.css.js +47 -53
  278. package/dist/search/components/utils.js +44 -47
  279. package/dist/search/hooks.js +10 -10
  280. package/dist/search/searchActor.js +97 -128
  281. package/dist/shadowroot/ShadowRoot.d.ts +7 -6
  282. package/dist/shadowroot/ShadowRoot.js +106 -79
  283. package/dist/shadowroot/styles.css.d.ts +10 -2
  284. package/dist/shadowroot/styles.css.js +56 -69
  285. package/dist/styles-font2.js +4 -0
  286. package/dist/styles2.js +4 -0
  287. package/dist/utils/index.js +5 -0
  288. package/dist/utils/roundDpr.js +19 -15
  289. package/dist/utils/view-bounds.js +48 -55
  290. package/dist/utils/xyflow.js +143 -113
  291. package/package.json +18 -25
  292. package/panda.buildinfo.json +15 -15
  293. package/src/styles-font.css +114 -0
  294. package/src/styles-min.css +2 -0
  295. package/src/styles-xyflow.css +1 -0
  296. package/src/styles.css +3 -0
  297. package/styles-font.css +1 -1
  298. package/styles-min.css +1 -1
  299. package/styles-xyflow.css +1 -1
  300. package/styles.css +1 -1
  301. package/dist/_virtual/_commonjsHelpers.js +0 -3
  302. package/dist/_virtual/assign-f10db67b.cjs.js +0 -3
  303. package/dist/_virtual/log-30abbb83.cjs.js +0 -3
  304. package/dist/_virtual/raise-f051f097.cjs.js +0 -3
  305. package/dist/_virtual/store-cfe7da62.cjs.js +0 -3
  306. package/dist/_virtual/xstate-actions.cjs.js +0 -5
  307. package/dist/_virtual/xstate-actions.cjs2.js +0 -3
  308. package/dist/_virtual/xstate-dev.cjs.js +0 -3
  309. package/dist/_virtual/xstate-guards.cjs.js +0 -5
  310. package/dist/_virtual/xstate-guards.cjs2.js +0 -3
  311. package/dist/_virtual/xstate-store-react.cjs.js +0 -5
  312. package/dist/_virtual/xstate-store-react.cjs2.js +0 -3
  313. package/dist/bundle/index.d.ts +0 -1
  314. package/dist/editor/editorActor.actions.d.ts +0 -153
  315. package/dist/editor/editorActor.actions.js +0 -149
  316. package/dist/editor/editorActor.setup.js +0 -38
  317. package/dist/editor/editorActor.states.d.ts +0 -9
  318. package/dist/editor/editorActor.states.js +0 -273
  319. package/dist/editor/hotkeyActor.js +0 -19
  320. package/dist/hooks/useOverlaysActor.js +0 -10
  321. package/dist/hooks/useSearchActor.js +0 -10
  322. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/createReactComponent.js +0 -41
  323. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/defaultAttributes.js +0 -30
  324. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconAlertTriangle.js +0 -14
  325. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowDownRight.js +0 -14
  326. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowLeft.js +0 -14
  327. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconArrowRight.js +0 -14
  328. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconBolt.js +0 -14
  329. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconBrowser.js +0 -14
  330. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCheck.js +0 -14
  331. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronDown.js +0 -14
  332. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronLeft.js +0 -14
  333. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconChevronRight.js +0 -14
  334. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCopy.js +0 -14
  335. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconCylinder.js +0 -14
  336. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconDeviceMobile.js +0 -14
  337. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconDirectionSignFilled.js +0 -14
  338. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconExternalLink.js +0 -14
  339. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFileSymlink.js +0 -14
  340. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFileText.js +0 -14
  341. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFocusCentered.js +0 -14
  342. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconFolderFilled.js +0 -14
  343. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconHelpCircle.js +0 -14
  344. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconId.js +0 -14
  345. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconInfoCircle.js +0 -14
  346. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignBottom.js +0 -14
  347. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignCenter.js +0 -14
  348. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignLeft.js +0 -14
  349. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignMiddle.js +0 -14
  350. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignRight.js +0 -14
  351. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutAlignTop.js +0 -14
  352. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutBoardSplit.js +0 -14
  353. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutCollage.js +0 -14
  354. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLayoutDashboard.js +0 -14
  355. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLink.js +0 -14
  356. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLock.js +0 -14
  357. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconLockOpen2.js +0 -14
  358. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerPlayFilled.js +0 -14
  359. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipBackFilled.js +0 -14
  360. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerSkipForwardFilled.js +0 -14
  361. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconPlayerStopFilled.js +0 -14
  362. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconRectangularPrism.js +0 -14
  363. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconReorder.js +0 -14
  364. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconRouteOff.js +0 -14
  365. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconSearch.js +0 -14
  366. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconSelector.js +0 -14
  367. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconStack2.js +0 -14
  368. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconStarFilled.js +0 -14
  369. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTarget.js +0 -14
  370. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTransform.js +0 -14
  371. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconTrash.js +0 -14
  372. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconUser.js +0 -14
  373. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconX.js +0 -14
  374. package/dist/node_modules/.pnpm/@tabler_icons-react@3.40.0_react@19.2.4/node_modules/@tabler/icons-react/dist/esm/icons/IconZoomScan.js +0 -14
  375. package/dist/node_modules/.pnpm/@xstate_store@3.17.1_react@19.2.4/node_modules/@xstate/store/dist/store-cfe7da62.cjs.js +0 -761
  376. package/dist/node_modules/.pnpm/@xstate_store@3.17.1_react@19.2.4/node_modules/@xstate/store/react/dist/xstate-store-react.cjs.js +0 -180
  377. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/actions/dist/xstate-actions.cjs.js +0 -37
  378. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dev/dist/xstate-dev.cjs.js +0 -59
  379. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/assign-f10db67b.cjs.js +0 -140
  380. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/log-30abbb83.cjs.js +0 -401
  381. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/dist/raise-f051f097.cjs.js +0 -2830
  382. package/dist/node_modules/.pnpm/xstate@5.30.0/node_modules/xstate/guards/dist/xstate-guards.cjs.js +0 -26
  383. package/dist/styles-font.css2.js +0 -3
  384. package/dist/styles.css2.js +0 -3
@@ -1,761 +0,0 @@
1
- import { __exports as storeCfe7da62_cjs } from '../../../../../../../_virtual/store-cfe7da62.cjs.js';
2
-
3
- var hasRequiredStoreCfe7da62_cjs;
4
-
5
- function requireStoreCfe7da62_cjs () {
6
- if (hasRequiredStoreCfe7da62_cjs) return storeCfe7da62_cjs;
7
- hasRequiredStoreCfe7da62_cjs = 1;
8
-
9
- /* eslint-disable */
10
- // Adapted from Alien Signals
11
- // https://github.com/stackblitz/alien-signals/
12
-
13
- let ReactiveFlags = /*#__PURE__*/function (ReactiveFlags) {
14
- ReactiveFlags[ReactiveFlags["None"] = 0] = "None";
15
- ReactiveFlags[ReactiveFlags["Mutable"] = 1] = "Mutable";
16
- ReactiveFlags[ReactiveFlags["Watching"] = 2] = "Watching";
17
- ReactiveFlags[ReactiveFlags["RecursedCheck"] = 4] = "RecursedCheck";
18
- ReactiveFlags[ReactiveFlags["Recursed"] = 8] = "Recursed";
19
- ReactiveFlags[ReactiveFlags["Dirty"] = 16] = "Dirty";
20
- ReactiveFlags[ReactiveFlags["Pending"] = 32] = "Pending";
21
- return ReactiveFlags;
22
- }({});
23
- function createReactiveSystem({
24
- update,
25
- notify,
26
- unwatched
27
- }) {
28
- return {
29
- link,
30
- unlink,
31
- propagate,
32
- checkDirty,
33
- shallowPropagate
34
- };
35
- function link(dep, sub, version) {
36
- const prevDep = sub.depsTail;
37
- if (prevDep !== undefined && prevDep.dep === dep) {
38
- return;
39
- }
40
- const nextDep = prevDep !== undefined ? prevDep.nextDep : sub.deps;
41
- if (nextDep !== undefined && nextDep.dep === dep) {
42
- nextDep.version = version;
43
- sub.depsTail = nextDep;
44
- return;
45
- }
46
- const prevSub = dep.subsTail;
47
- if (prevSub !== undefined && prevSub.version === version && prevSub.sub === sub) {
48
- return;
49
- }
50
- const newLink = sub.depsTail = dep.subsTail = {
51
- version,
52
- dep,
53
- sub,
54
- prevDep,
55
- nextDep,
56
- prevSub,
57
- nextSub: undefined
58
- };
59
- if (nextDep !== undefined) {
60
- nextDep.prevDep = newLink;
61
- }
62
- if (prevDep !== undefined) {
63
- prevDep.nextDep = newLink;
64
- } else {
65
- sub.deps = newLink;
66
- }
67
- if (prevSub !== undefined) {
68
- prevSub.nextSub = newLink;
69
- } else {
70
- dep.subs = newLink;
71
- }
72
- }
73
- function unlink(link, sub = link.sub) {
74
- const dep = link.dep;
75
- const prevDep = link.prevDep;
76
- const nextDep = link.nextDep;
77
- const nextSub = link.nextSub;
78
- const prevSub = link.prevSub;
79
- if (nextDep !== undefined) {
80
- nextDep.prevDep = prevDep;
81
- } else {
82
- sub.depsTail = prevDep;
83
- }
84
- if (prevDep !== undefined) {
85
- prevDep.nextDep = nextDep;
86
- } else {
87
- sub.deps = nextDep;
88
- }
89
- if (nextSub !== undefined) {
90
- nextSub.prevSub = prevSub;
91
- } else {
92
- dep.subsTail = prevSub;
93
- }
94
- if (prevSub !== undefined) {
95
- prevSub.nextSub = nextSub;
96
- } else if ((dep.subs = nextSub) === undefined) {
97
- unwatched(dep);
98
- }
99
- return nextDep;
100
- }
101
- function propagate(link) {
102
- let next = link.nextSub;
103
- let stack;
104
- top: do {
105
- const sub = link.sub;
106
- let flags = sub.flags;
107
- if (!(flags & (ReactiveFlags.RecursedCheck | ReactiveFlags.Recursed | ReactiveFlags.Dirty | ReactiveFlags.Pending))) {
108
- sub.flags = flags | ReactiveFlags.Pending;
109
- } else if (!(flags & (ReactiveFlags.RecursedCheck | ReactiveFlags.Recursed))) {
110
- flags = ReactiveFlags.None;
111
- } else if (!(flags & ReactiveFlags.RecursedCheck)) {
112
- sub.flags = flags & ~ReactiveFlags.Recursed | ReactiveFlags.Pending;
113
- } else if (!(flags & (ReactiveFlags.Dirty | ReactiveFlags.Pending)) && isValidLink(link, sub)) {
114
- sub.flags = flags | (ReactiveFlags.Recursed | ReactiveFlags.Pending);
115
- flags &= ReactiveFlags.Mutable;
116
- } else {
117
- flags = ReactiveFlags.None;
118
- }
119
- if (flags & ReactiveFlags.Watching) {
120
- notify(sub);
121
- }
122
- if (flags & ReactiveFlags.Mutable) {
123
- const subSubs = sub.subs;
124
- if (subSubs !== undefined) {
125
- const nextSub = (link = subSubs).nextSub;
126
- if (nextSub !== undefined) {
127
- stack = {
128
- value: next,
129
- prev: stack
130
- };
131
- next = nextSub;
132
- }
133
- continue;
134
- }
135
- }
136
- if ((link = next) !== undefined) {
137
- next = link.nextSub;
138
- continue;
139
- }
140
- while (stack !== undefined) {
141
- link = stack.value;
142
- stack = stack.prev;
143
- if (link !== undefined) {
144
- next = link.nextSub;
145
- continue top;
146
- }
147
- }
148
- break;
149
- } while (true);
150
- }
151
- function checkDirty(link, sub) {
152
- let stack;
153
- let checkDepth = 0;
154
- let dirty = false;
155
- top: do {
156
- const dep = link.dep;
157
- const flags = dep.flags;
158
- if (sub.flags & ReactiveFlags.Dirty) {
159
- dirty = true;
160
- } else if ((flags & (ReactiveFlags.Mutable | ReactiveFlags.Dirty)) === (ReactiveFlags.Mutable | ReactiveFlags.Dirty)) {
161
- if (update(dep)) {
162
- const subs = dep.subs;
163
- if (subs.nextSub !== undefined) {
164
- shallowPropagate(subs);
165
- }
166
- dirty = true;
167
- }
168
- } else if ((flags & (ReactiveFlags.Mutable | ReactiveFlags.Pending)) === (ReactiveFlags.Mutable | ReactiveFlags.Pending)) {
169
- if (link.nextSub !== undefined || link.prevSub !== undefined) {
170
- stack = {
171
- value: link,
172
- prev: stack
173
- };
174
- }
175
- link = dep.deps;
176
- sub = dep;
177
- ++checkDepth;
178
- continue;
179
- }
180
- if (!dirty) {
181
- const nextDep = link.nextDep;
182
- if (nextDep !== undefined) {
183
- link = nextDep;
184
- continue;
185
- }
186
- }
187
- while (checkDepth--) {
188
- const firstSub = sub.subs;
189
- const hasMultipleSubs = firstSub.nextSub !== undefined;
190
- if (hasMultipleSubs) {
191
- link = stack.value;
192
- stack = stack.prev;
193
- } else {
194
- link = firstSub;
195
- }
196
- if (dirty) {
197
- if (update(sub)) {
198
- if (hasMultipleSubs) {
199
- shallowPropagate(firstSub);
200
- }
201
- sub = link.sub;
202
- continue;
203
- }
204
- dirty = false;
205
- } else {
206
- sub.flags &= ~ReactiveFlags.Pending;
207
- }
208
- sub = link.sub;
209
- const nextDep = link.nextDep;
210
- if (nextDep !== undefined) {
211
- link = nextDep;
212
- continue top;
213
- }
214
- }
215
- return dirty;
216
- } while (true);
217
- }
218
- function shallowPropagate(link) {
219
- do {
220
- const sub = link.sub;
221
- const flags = sub.flags;
222
- if ((flags & (ReactiveFlags.Pending | ReactiveFlags.Dirty)) === ReactiveFlags.Pending) {
223
- sub.flags = flags | ReactiveFlags.Dirty;
224
- if ((flags & (ReactiveFlags.Watching | ReactiveFlags.RecursedCheck)) === ReactiveFlags.Watching) {
225
- notify(sub);
226
- }
227
- }
228
- } while ((link = link.nextSub) !== undefined);
229
- }
230
- function isValidLink(checkLink, sub) {
231
- let link = sub.depsTail;
232
- while (link !== undefined) {
233
- if (link === checkLink) {
234
- return true;
235
- }
236
- link = link.prevDep;
237
- }
238
- return false;
239
- }
240
- }
241
-
242
- function toObserver(nextHandler, errorHandler, completionHandler) {
243
- const isObserver = typeof nextHandler === 'object';
244
- const self = isObserver ? nextHandler : undefined;
245
- return {
246
- next: (isObserver ? nextHandler.next : nextHandler)?.bind(self),
247
- error: (isObserver ? nextHandler.error : errorHandler)?.bind(self),
248
- complete: (isObserver ? nextHandler.complete : completionHandler)?.bind(self)
249
- };
250
- }
251
-
252
- const queuedEffects = [];
253
- let cycle = 0;
254
- const {
255
- link,
256
- unlink,
257
- propagate,
258
- checkDirty,
259
- shallowPropagate
260
- } = createReactiveSystem({
261
- update(atom) {
262
- return atom._update();
263
- },
264
- notify(effect) {
265
- queuedEffects[queuedEffectsLength++] = effect;
266
- effect.flags &= ~ReactiveFlags.Watching;
267
- },
268
- unwatched(atom) {
269
- if (atom.depsTail !== undefined) {
270
- atom.depsTail = undefined;
271
- atom.flags = ReactiveFlags.Mutable | ReactiveFlags.Dirty;
272
- purgeDeps(atom);
273
- }
274
- }
275
- });
276
- let notifyIndex = 0;
277
- let queuedEffectsLength = 0;
278
- let activeSub;
279
- function purgeDeps(sub) {
280
- const depsTail = sub.depsTail;
281
- let dep = depsTail !== undefined ? depsTail.nextDep : sub.deps;
282
- while (dep !== undefined) {
283
- dep = unlink(dep, sub);
284
- }
285
- }
286
- function flush() {
287
- while (notifyIndex < queuedEffectsLength) {
288
- const effect = queuedEffects[notifyIndex];
289
- queuedEffects[notifyIndex++] = undefined;
290
- effect.notify();
291
- }
292
- notifyIndex = 0;
293
- queuedEffectsLength = 0;
294
- }
295
- function createAsyncAtom(getValue, options) {
296
- const ref = {};
297
- const atom = createAtom(() => {
298
- getValue().then(data => {
299
- const internalAtom = ref.current;
300
- if (internalAtom._update({
301
- status: 'done',
302
- data
303
- })) {
304
- const subs = internalAtom.subs;
305
- if (subs !== undefined) {
306
- propagate(subs);
307
- shallowPropagate(subs);
308
- flush();
309
- }
310
- }
311
- }, error => {
312
- const internalAtom = ref.current;
313
- if (internalAtom._update({
314
- status: 'error',
315
- error
316
- })) {
317
- const subs = internalAtom.subs;
318
- if (subs !== undefined) {
319
- propagate(subs);
320
- shallowPropagate(subs);
321
- flush();
322
- }
323
- }
324
- });
325
- return {
326
- status: 'pending'
327
- };
328
- }, options);
329
- ref.current = atom;
330
- return atom;
331
- }
332
- function createAtom(valueOrFn, options) {
333
- const isComputed = typeof valueOrFn === 'function';
334
- const getter = valueOrFn;
335
-
336
- // Create plain object atom
337
- const atom = {
338
- _snapshot: isComputed ? undefined : valueOrFn,
339
- subs: undefined,
340
- subsTail: undefined,
341
- deps: undefined,
342
- depsTail: undefined,
343
- flags: isComputed ? ReactiveFlags.None : ReactiveFlags.Mutable,
344
- get() {
345
- if (activeSub !== undefined) {
346
- link(atom, activeSub, cycle);
347
- }
348
- return atom._snapshot;
349
- },
350
- subscribe(observerOrFn) {
351
- const obs = toObserver(observerOrFn);
352
- const observed = {
353
- current: false
354
- };
355
- const e = effect(() => {
356
- atom.get();
357
- if (!observed.current) {
358
- observed.current = true;
359
- } else {
360
- obs.next?.(atom._snapshot);
361
- }
362
- });
363
- return {
364
- unsubscribe: () => {
365
- e.stop();
366
- }
367
- };
368
- },
369
- _update(getValue) {
370
- const prevSub = activeSub;
371
- const compare = options?.compare ?? Object.is;
372
- activeSub = atom;
373
- ++cycle;
374
- atom.depsTail = undefined;
375
- if (isComputed) {
376
- atom.flags = ReactiveFlags.Mutable | ReactiveFlags.RecursedCheck;
377
- }
378
- try {
379
- const oldValue = atom._snapshot;
380
- const read = a => a.get();
381
- const newValue = typeof getValue === 'function' ? getValue(oldValue) : getValue === undefined && isComputed ? getter(read, oldValue) : getValue;
382
- if (oldValue === undefined || !compare(oldValue, newValue)) {
383
- atom._snapshot = newValue;
384
- return true;
385
- }
386
- return false;
387
- } finally {
388
- activeSub = prevSub;
389
- if (isComputed) {
390
- atom.flags &= ~ReactiveFlags.RecursedCheck;
391
- }
392
- purgeDeps(atom);
393
- }
394
- }
395
- };
396
- if (isComputed) {
397
- atom.flags = ReactiveFlags.Mutable | ReactiveFlags.Dirty;
398
- atom.get = function () {
399
- const flags = atom.flags;
400
- if (flags & ReactiveFlags.Dirty || flags & ReactiveFlags.Pending && checkDirty(atom.deps, atom)) {
401
- if (atom._update()) {
402
- const subs = atom.subs;
403
- if (subs !== undefined) {
404
- shallowPropagate(subs);
405
- }
406
- }
407
- } else if (flags & ReactiveFlags.Pending) {
408
- atom.flags = flags & ~ReactiveFlags.Pending;
409
- }
410
- if (activeSub !== undefined) {
411
- link(atom, activeSub, cycle);
412
- }
413
- return atom._snapshot;
414
- };
415
- } else {
416
- atom.set = function (valueOrFn) {
417
- if (atom._update(valueOrFn)) {
418
- const subs = atom.subs;
419
- if (subs !== undefined) {
420
- propagate(subs);
421
- shallowPropagate(subs);
422
- flush();
423
- }
424
- }
425
- };
426
- }
427
- return atom;
428
- }
429
- function effect(fn) {
430
- const run = () => {
431
- const prevSub = activeSub;
432
- activeSub = effectObj;
433
- ++cycle;
434
- effectObj.depsTail = undefined;
435
- effectObj.flags = ReactiveFlags.Watching | ReactiveFlags.RecursedCheck;
436
- try {
437
- return fn();
438
- } finally {
439
- activeSub = prevSub;
440
- effectObj.flags &= ~ReactiveFlags.RecursedCheck;
441
- purgeDeps(effectObj);
442
- }
443
- };
444
- const effectObj = {
445
- deps: undefined,
446
- depsTail: undefined,
447
- subs: undefined,
448
- subsTail: undefined,
449
- flags: ReactiveFlags.Watching | ReactiveFlags.RecursedCheck,
450
- notify() {
451
- const flags = this.flags;
452
- if (flags & ReactiveFlags.Dirty || flags & ReactiveFlags.Pending && checkDirty(this.deps, this)) {
453
- run();
454
- } else {
455
- this.flags = ReactiveFlags.Watching;
456
- }
457
- },
458
- stop() {
459
- this.flags = ReactiveFlags.None;
460
- this.depsTail = undefined;
461
- purgeDeps(this);
462
- }
463
- };
464
- run();
465
- return effectObj;
466
- }
467
-
468
- const symbolObservable = (() => typeof Symbol === 'function' && Symbol.observable || '@@observable')();
469
- const inspectionObservers = new WeakMap();
470
- function createStoreCore(logic, emits) {
471
- let listeners;
472
- const initialSnapshot = logic.getInitialSnapshot();
473
- let currentSnapshot = initialSnapshot;
474
- const atom = createAtom(currentSnapshot);
475
- const emit = ev => {
476
- if (!listeners) {
477
- return;
478
- }
479
- const type = ev.type;
480
- const typeListeners = listeners.get(type);
481
- if (typeListeners) {
482
- typeListeners.forEach(listener => listener(ev));
483
- }
484
- const wildcardListeners = listeners.get('*');
485
- if (wildcardListeners) {
486
- wildcardListeners.forEach(listener => listener(ev));
487
- }
488
- };
489
- const transition = logic.transition;
490
- function receive(event) {
491
- const [nextSnapshot, effects] = transition(currentSnapshot, event);
492
- currentSnapshot = nextSnapshot;
493
- inspectionObservers.get(store)?.forEach(observer => {
494
- observer.next?.({
495
- type: '@xstate.snapshot',
496
- event,
497
- snapshot: nextSnapshot,
498
- actorRef: store,
499
- rootId: store.sessionId
500
- });
501
- });
502
- atom.set(nextSnapshot);
503
- for (const effect of effects) {
504
- if (typeof effect === 'function') {
505
- effect();
506
- } else {
507
- // handle the inherent effect first
508
- emits?.[effect.type]?.(effect);
509
- emit(effect);
510
- }
511
- }
512
- }
513
- const store = {
514
- get _snapshot() {
515
- return atom._snapshot;
516
- },
517
- on(emittedEventType, handler) {
518
- if (!listeners) {
519
- listeners = new Map();
520
- }
521
- let eventListeners = listeners.get(emittedEventType);
522
- if (!eventListeners) {
523
- eventListeners = new Set();
524
- listeners.set(emittedEventType, eventListeners);
525
- }
526
- const wrappedHandler = handler.bind(undefined);
527
- eventListeners.add(wrappedHandler);
528
- return {
529
- unsubscribe() {
530
- eventListeners.delete(wrappedHandler);
531
- }
532
- };
533
- },
534
- transition: logic.transition,
535
- // TODO: fix this
536
- sessionId: uniqueId(),
537
- send(event) {
538
- inspectionObservers.get(store)?.forEach(observer => {
539
- observer.next?.({
540
- type: '@xstate.event',
541
- event,
542
- sourceRef: undefined,
543
- actorRef: store,
544
- rootId: store.sessionId
545
- });
546
- });
547
- receive(event);
548
- },
549
- getSnapshot() {
550
- return currentSnapshot;
551
- },
552
- get() {
553
- return atom.get();
554
- },
555
- getInitialSnapshot() {
556
- return initialSnapshot;
557
- },
558
- subscribe: atom.subscribe.bind(atom),
559
- [symbolObservable]() {
560
- return this;
561
- },
562
- inspect: observerOrFn => {
563
- const observer = toObserver(observerOrFn);
564
- inspectionObservers.set(store, inspectionObservers.get(store) ?? new Set());
565
- inspectionObservers.get(store).add(observer);
566
- observer.next?.({
567
- type: '@xstate.actor',
568
- actorRef: store,
569
- rootId: store.sessionId
570
- });
571
- observer.next?.({
572
- type: '@xstate.snapshot',
573
- snapshot: initialSnapshot,
574
- event: {
575
- type: '@xstate.init'
576
- },
577
- actorRef: store,
578
- rootId: store.sessionId
579
- });
580
- return {
581
- unsubscribe() {
582
- return inspectionObservers.get(store)?.delete(observer);
583
- }
584
- };
585
- },
586
- trigger: new Proxy({}, {
587
- get: (_, eventType) => {
588
- return payload => {
589
- store.send({
590
- ...payload,
591
- type: eventType
592
- });
593
- };
594
- }
595
- }),
596
- select(selector, equalityFn = Object.is) {
597
- return createAtom(() => selector(store.get().context), {
598
- compare: equalityFn
599
- });
600
- },
601
- with(extension) {
602
- const extendedLogic = extension(logic);
603
- return createStoreCore(extendedLogic, emits);
604
- }
605
- };
606
- return store;
607
- }
608
-
609
- /**
610
- * Creates a **store** that has its own internal state and can be sent events
611
- * that update its internal state based on transitions.
612
- *
613
- * @example
614
- *
615
- * ```ts
616
- * const store = createStore({
617
- * context: { count: 0, name: 'Ada' },
618
- * on: {
619
- * inc: (context, event: { by: number }) => ({
620
- * ...context,
621
- * count: context.count + event.by
622
- * })
623
- * }
624
- * });
625
- *
626
- * store.subscribe((snapshot) => {
627
- * console.log(snapshot);
628
- * });
629
- *
630
- * store.send({ type: 'inc', by: 5 });
631
- * // Logs { context: { count: 5, name: 'Ada' }, status: 'active', ... }
632
- * ```
633
- *
634
- * @param config - The store configuration object
635
- * @param config.context - The initial state of the store
636
- * @param config.on - An object mapping event types to transition functions
637
- * @param config.emits - An object mapping emitted event types to handlers
638
- * @returns A store instance with methods to send events and subscribe to state
639
- * changes
640
- */
641
-
642
- function createStore(definitionOrLogic) {
643
- if ('transition' in definitionOrLogic) {
644
- return createStoreCore(definitionOrLogic);
645
- }
646
- const transition = createStoreTransition(definitionOrLogic.on);
647
- const logic = {
648
- getInitialSnapshot: () => ({
649
- status: 'active',
650
- context: definitionOrLogic.context,
651
- output: undefined,
652
- error: undefined
653
- }),
654
- transition
655
- };
656
- return createStoreCore(logic, definitionOrLogic.emits);
657
- }
658
- function _createStoreConfig(definition) {
659
- return definition;
660
- }
661
- const createStoreConfig = _createStoreConfig;
662
-
663
- /**
664
- * Creates a `Store` with a provided producer (such as Immer's `producer(…)` A
665
- * store has its own internal state and can receive events.
666
- *
667
- * @example
668
- *
669
- * ```ts
670
- * import { produce } from 'immer';
671
- *
672
- * const store = createStoreWithProducer(produce, {
673
- * context: { count: 0 },
674
- * on: {
675
- * inc: (context, event: { by: number }) => {
676
- * context.count += event.by;
677
- * }
678
- * }
679
- * });
680
- *
681
- * store.subscribe((snapshot) => {
682
- * console.log(snapshot);
683
- * });
684
- *
685
- * store.send({ type: 'inc', by: 5 });
686
- * // Logs { context: { count: 5 }, status: 'active', ... }
687
- * ```
688
- */
689
- function createStoreWithProducer(producer, config) {
690
- const transition = createStoreTransition(config.on, producer);
691
- const logic = {
692
- getInitialSnapshot: () => ({
693
- status: 'active',
694
- context: config.context,
695
- output: undefined,
696
- error: undefined
697
- }),
698
- transition
699
- };
700
- return createStoreCore(logic, config.emits);
701
- }
702
- /**
703
- * Creates a store transition function that handles state updates based on
704
- * events.
705
- *
706
- * @param transitions - An object mapping event types to transition functions
707
- * @param producer - Optional producer function (e.g., Immer's produce) for
708
- * immutable updates
709
- * @returns A transition function that takes a snapshot and event and returns a
710
- * new snapshot with effects
711
- */
712
- function createStoreTransition(transitions, producer) {
713
- return (snapshot, event) => {
714
- const currentContext = snapshot.context;
715
- const assigner = transitions?.[event.type];
716
- const effects = [];
717
- const enqueue = {
718
- emit: new Proxy({}, {
719
- get: (_, eventType) => {
720
- return payload => {
721
- effects.push({
722
- ...payload,
723
- type: eventType
724
- });
725
- };
726
- }
727
- }),
728
- effect: fn => {
729
- effects.push(fn);
730
- }
731
- };
732
- if (!assigner) {
733
- return [snapshot, effects];
734
- }
735
- const nextContext = producer ? producer(currentContext, draftContext => assigner(draftContext, event, enqueue)) : assigner(currentContext, event, enqueue) ?? currentContext;
736
- return [nextContext === currentContext ? snapshot : {
737
- ...snapshot,
738
- context: nextContext
739
- }, effects];
740
- };
741
- }
742
-
743
- /**
744
- * Generates a unique 6-character identifier.
745
- *
746
- * @returns A random string identifier
747
- */
748
- function uniqueId() {
749
- return Math.random().toString(36).slice(6);
750
- }
751
-
752
- storeCfe7da62_cjs.createAsyncAtom = createAsyncAtom;
753
- storeCfe7da62_cjs.createAtom = createAtom;
754
- storeCfe7da62_cjs.createStore = createStore;
755
- storeCfe7da62_cjs.createStoreConfig = createStoreConfig;
756
- storeCfe7da62_cjs.createStoreTransition = createStoreTransition;
757
- storeCfe7da62_cjs.createStoreWithProducer = createStoreWithProducer;
758
- return storeCfe7da62_cjs;
759
- }
760
-
761
- export { requireStoreCfe7da62_cjs as __require };