@motiadev/workbench 0.3.1-beta.87 → 0.3.1-beta.88-406962

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 (219) hide show
  1. package/dist/index.d.ts +3 -4
  2. package/dist/index.html +3 -2
  3. package/dist/index.js +2 -3
  4. package/dist/public/icon.png +0 -0
  5. package/dist/public/motia-dark.png +0 -0
  6. package/dist/public/motia-light.png +0 -0
  7. package/dist/src/App.d.ts +2 -0
  8. package/dist/src/App.js +19 -0
  9. package/dist/src/components/endpoints/endpoint-badge.d.ts +1 -1
  10. package/dist/src/components/endpoints/endpoint-badge.js +8 -8
  11. package/dist/src/components/endpoints/endpoint-call.d.ts +3 -3
  12. package/dist/src/components/endpoints/endpoint-call.js +28 -23
  13. package/dist/src/components/endpoints/endpoint-response-schema.d.ts +10 -0
  14. package/dist/src/components/endpoints/endpoint-response-schema.js +17 -0
  15. package/dist/src/components/endpoints/endpoint-response.d.ts +8 -0
  16. package/dist/src/components/endpoints/endpoint-response.js +39 -0
  17. package/dist/src/components/endpoints/endpoints-page.js +14 -0
  18. package/dist/src/components/endpoints/hooks/use-get-endpoints.d.ts +1 -15
  19. package/dist/src/components/endpoints/json-editor.d.ts +9 -0
  20. package/dist/src/components/endpoints/json-editor.js +31 -0
  21. package/dist/src/components/flow/flow-page.d.ts +1 -0
  22. package/dist/src/components/flow/flow-page.js +20 -0
  23. package/dist/src/components/flow/flow-tab-menu-item.d.ts +1 -0
  24. package/dist/src/components/flow/flow-tab-menu-item.js +15 -0
  25. package/dist/src/{views → components}/flow/flow-view.d.ts +1 -2
  26. package/dist/src/components/flow/flow-view.js +21 -0
  27. package/dist/src/components/flow/hooks/use-get-flow-state.d.ts +10 -0
  28. package/dist/src/{views → components}/flow/hooks/use-get-flow-state.js +17 -10
  29. package/dist/src/{views → components}/flow/hooks/use-organize-nodes.d.ts +1 -1
  30. package/dist/src/{views → components}/flow/hooks/use-save-workflow-config.d.ts +1 -1
  31. package/dist/src/components/flow/nodes/api-flow-node.d.ts +2 -0
  32. package/dist/src/{views → components}/flow/nodes/api-flow-node.js +1 -1
  33. package/dist/src/components/flow/nodes/cron-flow-node.d.ts +2 -0
  34. package/dist/src/components/flow/nodes/cron-flow-node.js +5 -0
  35. package/dist/src/{views → components}/flow/nodes/event-flow-node.d.ts +1 -1
  36. package/dist/src/components/flow/nodes/event-flow-node.js +5 -0
  37. package/dist/src/components/flow/nodes/noop-flow-node.d.ts +2 -0
  38. package/dist/src/{views → components}/flow/nodes/noop-flow-node.js +1 -1
  39. package/dist/src/components/header/header.js +3 -11
  40. package/dist/src/components/logs/log-detail.d.ts +3 -1
  41. package/dist/src/components/logs/log-detail.js +33 -11
  42. package/dist/src/components/logs/log-level-badge.js +6 -6
  43. package/dist/src/components/logs/log-level-dot.js +7 -7
  44. package/dist/src/components/logs/logs-page.js +26 -0
  45. package/dist/src/components/observability/events/code/function-call.js +1 -1
  46. package/dist/src/components/observability/events/trace-event.d.ts +1 -1
  47. package/dist/src/components/observability/events/trace-log-event.d.ts +1 -1
  48. package/dist/src/components/observability/events/trace-log-event.js +2 -2
  49. package/dist/src/components/observability/hooks/use-get-endtime.d.ts +1 -1
  50. package/dist/src/components/observability/trace-item/trace-item-detail.d.ts +1 -0
  51. package/dist/src/components/observability/trace-item/trace-item-detail.js +5 -4
  52. package/dist/src/components/observability/trace-item/trace-item.d.ts +1 -0
  53. package/dist/src/components/observability/trace-item/trace-item.js +11 -17
  54. package/dist/src/components/observability/trace-status.d.ts +6 -10
  55. package/dist/src/components/observability/trace-status.js +7 -32
  56. package/dist/src/components/observability/trace-timeline.js +16 -4
  57. package/dist/src/components/observability/traces-groups.d.ts +2 -2
  58. package/dist/src/components/observability/traces-groups.js +4 -4
  59. package/dist/src/components/observability/traces-page.js +12 -0
  60. package/dist/src/components/sidebar/sidebar.d.ts +8 -0
  61. package/dist/src/components/sidebar/sidebar.js +39 -0
  62. package/dist/src/components/states/hooks/states-hooks.d.ts +7 -3
  63. package/dist/src/components/states/hooks/states-hooks.js +5 -33
  64. package/dist/src/components/states/state-detail.d.ts +2 -1
  65. package/dist/src/components/states/state-detail.js +15 -9
  66. package/dist/src/components/states/state-value.js +7 -7
  67. package/dist/src/components/states/states-page.js +18 -0
  68. package/dist/src/components/ui/badge.d.ts +1 -1
  69. package/dist/src/components/ui/table.js +1 -1
  70. package/dist/src/components/ui/theme-toggle.js +4 -3
  71. package/dist/src/hooks/use-fetch-flows.d.ts +1 -5
  72. package/dist/src/hooks/use-fetch-flows.js +18 -13
  73. package/dist/src/hooks/use-log-listener.js +2 -2
  74. package/dist/src/hooks/use-update-handle-positions.d.ts +10 -0
  75. package/dist/src/hooks/use-update-handle-positions.js +35 -0
  76. package/dist/src/index.css +36 -176
  77. package/dist/src/lib/utils.d.ts +1 -0
  78. package/dist/src/lib/utils.js +4 -0
  79. package/dist/src/main.d.ts +1 -0
  80. package/dist/src/main.js +4 -11
  81. package/dist/src/publicComponents/api-node.js +2 -4
  82. package/dist/src/publicComponents/{base-handle.d.ts → base-node/base-handle.d.ts} +1 -0
  83. package/dist/src/publicComponents/base-node/base-handle.js +8 -0
  84. package/dist/src/publicComponents/base-node/base-node.d.ts +21 -0
  85. package/dist/src/publicComponents/base-node/base-node.js +13 -0
  86. package/dist/src/publicComponents/{emits.d.ts → base-node/emits.d.ts} +1 -1
  87. package/dist/src/publicComponents/base-node/emits.js +5 -0
  88. package/dist/src/{views/flow/nodes → publicComponents/base-node}/language-indicator.d.ts +1 -1
  89. package/dist/src/{views/flow/nodes → publicComponents/base-node}/language-indicator.js +8 -7
  90. package/dist/src/publicComponents/base-node/node-header.d.ts +12 -0
  91. package/dist/src/publicComponents/base-node/node-header.js +30 -0
  92. package/dist/src/publicComponents/base-node/node-sidebar.d.ts +18 -0
  93. package/dist/src/publicComponents/base-node/node-sidebar.js +20 -0
  94. package/dist/src/publicComponents/base-node/subscribe.js +4 -0
  95. package/dist/src/publicComponents/cron-node.d.ts +2 -1
  96. package/dist/src/publicComponents/cron-node.js +3 -4
  97. package/dist/src/publicComponents/event-node.d.ts +1 -5
  98. package/dist/src/publicComponents/event-node.js +4 -6
  99. package/dist/src/publicComponents/node-details.js +21 -12
  100. package/dist/src/publicComponents/node-props.d.ts +13 -6
  101. package/dist/src/publicComponents/noop-node.d.ts +3 -7
  102. package/dist/src/publicComponents/noop-node.js +3 -3
  103. package/dist/src/stores/use-flow-store.d.ts +18 -0
  104. package/dist/src/stores/use-flow-store.js +15 -0
  105. package/dist/src/stores/use-global-store.d.ts +24 -0
  106. package/dist/src/stores/use-global-store.js +20 -0
  107. package/dist/src/stores/{use-logs.d.ts → use-logs-store.d.ts} +1 -3
  108. package/dist/src/stores/use-logs-store.js +10 -0
  109. package/dist/src/stores/use-tabs-store.d.ts +17 -0
  110. package/dist/src/stores/use-tabs-store.js +13 -0
  111. package/dist/src/stores/use-theme-store.d.ts +17 -0
  112. package/dist/src/stores/use-theme-store.js +26 -0
  113. package/dist/src/types/endpoint.d.ts +14 -0
  114. package/dist/src/{views/flow/nodes/nodes.types.d.ts → types/flow.d.ts} +45 -0
  115. package/dist/src/types/flow.js +1 -0
  116. package/dist/tsconfig.app.tsbuildinfo +1 -1
  117. package/package.json +28 -26
  118. package/dist/public/.empty +0 -0
  119. package/dist/src/components/app-sidebar.d.ts +0 -1
  120. package/dist/src/components/app-sidebar.js +0 -12
  121. package/dist/src/components/endpoints/endpoints.d.ts +0 -1
  122. package/dist/src/components/endpoints/endpoints.js +0 -34
  123. package/dist/src/components/endpoints/selected-endpoint.d.ts +0 -7
  124. package/dist/src/components/endpoints/selected-endpoint.js +0 -7
  125. package/dist/src/components/logs/log-console.d.ts +0 -1
  126. package/dist/src/components/logs/log-console.js +0 -69
  127. package/dist/src/components/logs/log-field.d.ts +0 -7
  128. package/dist/src/components/logs/log-field.js +0 -20
  129. package/dist/src/components/logs/logs.d.ts +0 -1
  130. package/dist/src/components/logs/logs.js +0 -18
  131. package/dist/src/components/observability/observability-stats.d.ts +0 -5
  132. package/dist/src/components/observability/observability-stats.js +0 -17
  133. package/dist/src/components/states/states.d.ts +0 -1
  134. package/dist/src/components/states/states.js +0 -21
  135. package/dist/src/components/ui/BadgeCount.d.ts +0 -7
  136. package/dist/src/components/ui/BadgeCount.js +0 -13
  137. package/dist/src/components/ui/button.d.ts +0 -11
  138. package/dist/src/components/ui/button.js +0 -33
  139. package/dist/src/components/ui/card.d.ts +0 -8
  140. package/dist/src/components/ui/card.js +0 -16
  141. package/dist/src/components/ui/collapsible.d.ts +0 -5
  142. package/dist/src/components/ui/collapsible.js +0 -5
  143. package/dist/src/components/ui/dialog.d.ts +0 -19
  144. package/dist/src/components/ui/dialog.js +0 -22
  145. package/dist/src/components/ui/dropdown-menu.d.ts +0 -25
  146. package/dist/src/components/ui/dropdown-menu.js +0 -50
  147. package/dist/src/components/ui/input.d.ts +0 -3
  148. package/dist/src/components/ui/input.js +0 -8
  149. package/dist/src/components/ui/logo-icon.d.ts +0 -5
  150. package/dist/src/components/ui/logo-icon.js +0 -5
  151. package/dist/src/components/ui/navigation-menu.d.ts +0 -13
  152. package/dist/src/components/ui/navigation-menu.js +0 -30
  153. package/dist/src/components/ui/scroll-area.d.ts +0 -5
  154. package/dist/src/components/ui/scroll-area.js +0 -9
  155. package/dist/src/components/ui/select.d.ts +0 -13
  156. package/dist/src/components/ui/select.js +0 -25
  157. package/dist/src/components/ui/separator.d.ts +0 -4
  158. package/dist/src/components/ui/separator.js +0 -8
  159. package/dist/src/components/ui/sheet.d.ts +0 -25
  160. package/dist/src/components/ui/sheet.js +0 -36
  161. package/dist/src/components/ui/sidebar.d.ts +0 -12
  162. package/dist/src/components/ui/sidebar.js +0 -25
  163. package/dist/src/components/ui/skeleton.d.ts +0 -3
  164. package/dist/src/components/ui/skeleton.js +0 -6
  165. package/dist/src/components/ui/switch.d.ts +0 -4
  166. package/dist/src/components/ui/switch.js +0 -7
  167. package/dist/src/components/ui/tabs.d.ts +0 -7
  168. package/dist/src/components/ui/tabs.js +0 -12
  169. package/dist/src/components/ui/textarea.d.ts +0 -3
  170. package/dist/src/components/ui/textarea.js +0 -8
  171. package/dist/src/components/ui/tooltip.d.ts +0 -7
  172. package/dist/src/components/ui/tooltip.js +0 -11
  173. package/dist/src/hooks/use-list-flows.d.ts +0 -9
  174. package/dist/src/hooks/use-list-flows.js +0 -8
  175. package/dist/src/hooks/use-theme.d.ts +0 -6
  176. package/dist/src/hooks/use-theme.js +0 -28
  177. package/dist/src/publicComponents/base-handle.js +0 -10
  178. package/dist/src/publicComponents/base-node.d.ts +0 -16
  179. package/dist/src/publicComponents/base-node.js +0 -25
  180. package/dist/src/publicComponents/colorMap.d.ts +0 -6
  181. package/dist/src/publicComponents/colorMap.js +0 -6
  182. package/dist/src/publicComponents/components/header-bar.d.ts +0 -11
  183. package/dist/src/publicComponents/components/header-bar.js +0 -15
  184. package/dist/src/publicComponents/emits.js +0 -6
  185. package/dist/src/publicComponents/subscribe.js +0 -5
  186. package/dist/src/route-wrapper.d.ts +0 -2
  187. package/dist/src/route-wrapper.js +0 -5
  188. package/dist/src/routes/endpoints-page.js +0 -5
  189. package/dist/src/routes/flow.d.ts +0 -1
  190. package/dist/src/routes/flow.js +0 -11
  191. package/dist/src/routes/index.d.ts +0 -1
  192. package/dist/src/routes/index.js +0 -5
  193. package/dist/src/routes/logs-page.js +0 -12
  194. package/dist/src/routes/states-page.js +0 -5
  195. package/dist/src/routes/traces-page.js +0 -14
  196. package/dist/src/stores/use-logs.js +0 -52
  197. package/dist/src/views/flow/arrow-head.d.ts +0 -8
  198. package/dist/src/views/flow/arrow-head.js +0 -6
  199. package/dist/src/views/flow/flow-view.js +0 -48
  200. package/dist/src/views/flow/hooks/use-get-flow-state.d.ts +0 -52
  201. package/dist/src/views/flow/legend.d.ts +0 -4
  202. package/dist/src/views/flow/legend.js +0 -51
  203. package/dist/src/views/flow/nodes/api-flow-node.d.ts +0 -4
  204. package/dist/src/views/flow/nodes/event-flow-node.js +0 -5
  205. package/dist/src/views/flow/nodes/noop-flow-node.d.ts +0 -4
  206. /package/dist/src/{routes → components/endpoints}/endpoints-page.d.ts +0 -0
  207. /package/dist/src/{views → components}/flow/base-edge.d.ts +0 -0
  208. /package/dist/src/{views → components}/flow/base-edge.js +0 -0
  209. /package/dist/src/{views → components}/flow/flow-loader.d.ts +0 -0
  210. /package/dist/src/{views → components}/flow/flow-loader.js +0 -0
  211. /package/dist/src/{views → components}/flow/hooks/use-organize-nodes.js +0 -0
  212. /package/dist/src/{views → components}/flow/hooks/use-save-workflow-config.js +0 -0
  213. /package/dist/src/{views → components}/flow/node-organizer.d.ts +0 -0
  214. /package/dist/src/{views → components}/flow/node-organizer.js +0 -0
  215. /package/dist/src/{routes → components/logs}/logs-page.d.ts +0 -0
  216. /package/dist/src/{routes → components/observability}/traces-page.d.ts +0 -0
  217. /package/dist/src/{routes → components/states}/states-page.d.ts +0 -0
  218. /package/dist/src/publicComponents/{subscribe.d.ts → base-node/subscribe.d.ts} +0 -0
  219. /package/dist/src/{views/flow/nodes/nodes.types.js → types/endpoint.js} +0 -0
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import { cn } from '@/lib/utils';
4
- const Input = React.forwardRef(({ className, type, ...props }, ref) => {
5
- return (_jsx("input", { type: type, className: cn('flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm', className), ref: ref, ...props }));
6
- });
7
- Input.displayName = 'Input';
8
- export { Input };
@@ -1,5 +0,0 @@
1
- interface LogoIconProps {
2
- className?: string;
3
- }
4
- export declare const LogoIcon: import("react").MemoExoticComponent<({ className }: LogoIconProps) => import("react/jsx-runtime").JSX.Element>;
5
- export {};
@@ -1,5 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { memo } from 'react';
3
- export const LogoIcon = memo(({ className }) => {
4
- return (_jsxs("svg", { "data-testid": "logo-icon", className: className, width: "295", height: "127", viewBox: "0 0 295 127", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsxs("g", { clipPath: "url(#clip0_512_36)", children: [_jsx("path", { d: "M0.520508 84.2194H32.0014C53.9923 84.2194 74.81 74.298 88.6654 57.2074C102.512 40.1254 123.33 30.1954 145.329 30.1954H173.394", className: "stroke-black dark:stroke-white", strokeWidth: "60.3909", strokeMiterlimit: "10" }), _jsx("path", { d: "M119.724 84.2194H151.205C173.196 84.2194 194.014 74.298 207.869 57.2074C221.716 40.1254 242.533 30.1954 264.533 30.1954H292.597", className: "stroke-black dark:stroke-white", strokeWidth: "60.3909", strokeMiterlimit: "10" }), _jsx("path", { d: "M292.477 53.8428H232.086V114.122H292.477V53.8428Z", className: "fill-black dark:fill-white" })] }), _jsx("defs", { children: _jsx("clipPath", { id: "clip0_512_36", children: _jsx("rect", { width: "294.199", height: "126.993", className: "fill-black dark:fill-white", transform: "translate(0.520508)" }) }) })] }));
5
- });
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
- import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
3
- export declare function NavigationMenu({ className, children, viewport, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Root> & {
4
- viewport?: boolean;
5
- }): import("react/jsx-runtime").JSX.Element;
6
- export declare function NavigationMenuList({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.List>): import("react/jsx-runtime").JSX.Element;
7
- export declare function NavigationMenuItem({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
8
- export declare const navigationMenuTriggerStyle: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
9
- export declare function NavigationMenuTrigger({ className, children, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
10
- export declare function NavigationMenuContent({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
11
- export declare function NavigationMenuViewport({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Viewport>): import("react/jsx-runtime").JSX.Element;
12
- export declare function NavigationMenuLink({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Link>): import("react/jsx-runtime").JSX.Element;
13
- export declare function NavigationMenuIndicator({ className, ...props }: React.ComponentProps<typeof NavigationMenuPrimitive.Indicator>): import("react/jsx-runtime").JSX.Element;
@@ -1,30 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
3
- import { cva } from 'class-variance-authority';
4
- import { ChevronDownIcon } from 'lucide-react';
5
- import { cn } from '@/lib/utils';
6
- export function NavigationMenu({ className, children, viewport = true, ...props }) {
7
- return (_jsxs(NavigationMenuPrimitive.Root, { "data-slot": "navigation-menu", "data-viewport": viewport, className: cn('group/navigation-menu relative flex max-w-max flex-1 items-center justify-center', className), ...props, children: [children, viewport && _jsx(NavigationMenuViewport, {})] }));
8
- }
9
- export function NavigationMenuList({ className, ...props }) {
10
- return (_jsx(NavigationMenuPrimitive.List, { "data-slot": "navigation-menu-list", className: cn('group flex flex-1 list-none items-center justify-center gap-1', className), ...props }));
11
- }
12
- export function NavigationMenuItem({ className, ...props }) {
13
- return (_jsx(NavigationMenuPrimitive.Item, { "data-slot": "navigation-menu-item", className: cn('relative', className), ...props }));
14
- }
15
- export const navigationMenuTriggerStyle = cva('group inline-flex h-9 w-max items-center justify-center rounded-md px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=open]:hover:bg-accent data-[state=open]:text-accent-foreground data-[state=open]:focus:bg-accent data-[state=open]:bg-accent/50 focus-visible:ring-ring/50 outline-none transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1');
16
- export function NavigationMenuTrigger({ className, children, ...props }) {
17
- return (_jsxs(NavigationMenuPrimitive.Trigger, { "data-slot": "navigation-menu-trigger", className: cn(navigationMenuTriggerStyle(), 'group', className), ...props, children: [children, ' ', _jsx(ChevronDownIcon, { className: "relative top-[1px] ml-1 size-3 transition duration-300 group-data-[state=open]:rotate-180", "aria-hidden": "true" })] }));
18
- }
19
- export function NavigationMenuContent({ className, ...props }) {
20
- return (_jsx(NavigationMenuPrimitive.Content, { "data-slot": "navigation-menu-content", className: cn('data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 top-0 left-0 w-full p-2 pr-2.5 md:absolute md:w-auto', 'group-data-[viewport=false]/navigation-menu:bg-popover group-data-[viewport=false]/navigation-menu:text-popover-foreground group-data-[viewport=false]/navigation-menu:data-[state=open]:animate-in group-data-[viewport=false]/navigation-menu:data-[state=closed]:animate-out group-data-[viewport=false]/navigation-menu:data-[state=closed]:zoom-out-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:zoom-in-95 group-data-[viewport=false]/navigation-menu:data-[state=open]:fade-in-0 group-data-[viewport=false]/navigation-menu:data-[state=closed]:fade-out-0 group-data-[viewport=false]/navigation-menu:top-full group-data-[viewport=false]/navigation-menu:mt-1.5 group-data-[viewport=false]/navigation-menu:overflow-hidden group-data-[viewport=false]/navigation-menu:rounded-md group-data-[viewport=false]/navigation-menu:border group-data-[viewport=false]/navigation-menu:shadow group-data-[viewport=false]/navigation-menu:duration-200 **:data-[slot=navigation-menu-link]:focus:ring-0 **:data-[slot=navigation-menu-link]:focus:outline-none', className), ...props }));
21
- }
22
- export function NavigationMenuViewport({ className, ...props }) {
23
- return (_jsx("div", { className: cn('absolute top-full left-0 isolate z-50 flex justify-center'), children: _jsx(NavigationMenuPrimitive.Viewport, { "data-slot": "navigation-menu-viewport", className: cn('origin-top-center bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border shadow md:w-[var(--radix-navigation-menu-viewport-width)]', className), ...props }) }));
24
- }
25
- export function NavigationMenuLink({ className, ...props }) {
26
- return (_jsx(NavigationMenuPrimitive.Link, { "data-slot": "navigation-menu-link", className: cn("data-[active=true]:focus:bg-accent data-[active=true]:hover:bg-accent data-[active=true]:bg-accent/50 data-[active=true]:text-accent-foreground hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus-visible:ring-ring/50 [&_svg:not([class*='text-'])]:text-muted-foreground flex flex-col gap-1 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_svg:not([class*='size-'])]:size-4", className), ...props }));
27
- }
28
- export function NavigationMenuIndicator({ className, ...props }) {
29
- return (_jsx(NavigationMenuPrimitive.Indicator, { "data-slot": "navigation-menu-indicator", className: cn('data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden', className), ...props, children: _jsx("div", { className: "bg-border relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm shadow-md" }) }));
30
- }
@@ -1,5 +0,0 @@
1
- import * as React from 'react';
2
- import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
3
- declare const ScrollArea: React.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
- declare const ScrollBar: React.ForwardRefExoticComponent<Omit<ScrollAreaPrimitive.ScrollAreaScrollbarProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
- export { ScrollArea, ScrollBar };
@@ -1,9 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area';
4
- import { cn } from '@/lib/utils';
5
- const ScrollArea = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(ScrollAreaPrimitive.Root, { ref: ref, className: cn('relative overflow-hidden', className), ...props, children: [_jsx(ScrollAreaPrimitive.Viewport, { className: "h-full w-full rounded-[inherit]", children: children }), _jsx(ScrollBar, {}), _jsx(ScrollAreaPrimitive.Corner, {})] })));
6
- ScrollArea.displayName = ScrollAreaPrimitive.Root.displayName;
7
- const ScrollBar = React.forwardRef(({ className, orientation = 'vertical', ...props }, ref) => (_jsx(ScrollAreaPrimitive.ScrollAreaScrollbar, { ref: ref, orientation: orientation, className: cn('flex touch-none select-none transition-colors', orientation === 'vertical' && 'h-full w-2.5 border-l border-l-transparent p-[1px]', orientation === 'horizontal' && 'h-2.5 flex-col border-t border-t-transparent p-[1px]', className), ...props, children: _jsx(ScrollAreaPrimitive.ScrollAreaThumb, { className: "relative flex-1 rounded-full bg-border" }) })));
8
- ScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName;
9
- export { ScrollArea, ScrollBar };
@@ -1,13 +0,0 @@
1
- import * as React from 'react';
2
- import * as SelectPrimitive from '@radix-ui/react-select';
3
- declare const Select: React.FC<SelectPrimitive.SelectProps>;
4
- declare const SelectGroup: React.ForwardRefExoticComponent<SelectPrimitive.SelectGroupProps & React.RefAttributes<HTMLDivElement>>;
5
- declare const SelectValue: React.ForwardRefExoticComponent<SelectPrimitive.SelectValueProps & React.RefAttributes<HTMLSpanElement>>;
6
- declare const SelectTrigger: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
7
- declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
8
- declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
- declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
10
- declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
- declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
- declare const SelectSeparator: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
- export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, };
@@ -1,25 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import * as SelectPrimitive from '@radix-ui/react-select';
4
- import { Check, ChevronDown, ChevronUp } from 'lucide-react';
5
- import { cn } from '@/lib/utils';
6
- const Select = SelectPrimitive.Root;
7
- const SelectGroup = SelectPrimitive.Group;
8
- const SelectValue = SelectPrimitive.Value;
9
- const SelectTrigger = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Trigger, { ref: ref, className: cn('flex h-9 w-full items-center justify-between whitespace-nowrap rounded-md border border-input bg-transparent px-3 py-2 text-sm shadow-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-1 focus:ring-ring disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1', className), ...props, children: [children, _jsx(SelectPrimitive.Icon, { asChild: true, children: _jsx(ChevronDown, { className: "h-4 w-4 opacity-50" }) })] })));
10
- SelectTrigger.displayName = SelectPrimitive.Trigger.displayName;
11
- const SelectScrollUpButton = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.ScrollUpButton, { ref: ref, className: cn('flex cursor-default items-center justify-center py-1', className), ...props, children: _jsx(ChevronUp, { className: "h-4 w-4" }) })));
12
- SelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;
13
- const SelectScrollDownButton = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.ScrollDownButton, { ref: ref, className: cn('flex cursor-default items-center justify-center py-1', className), ...props, children: _jsx(ChevronDown, { className: "h-4 w-4" }) })));
14
- SelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;
15
- const SelectContent = React.forwardRef(({ className, children, position = 'popper', ...props }, ref) => (_jsx(SelectPrimitive.Portal, { children: _jsxs(SelectPrimitive.Content, { ref: ref, className: cn('relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', position === 'popper' &&
16
- 'data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1', className), position: position, ...props, children: [_jsx(SelectScrollUpButton, {}), _jsx(SelectPrimitive.Viewport, { className: cn('p-1', position === 'popper' &&
17
- 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]'), children: children }), _jsx(SelectScrollDownButton, {})] }) })));
18
- SelectContent.displayName = SelectPrimitive.Content.displayName;
19
- const SelectLabel = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Label, { ref: ref, className: cn('px-2 py-1.5 text-sm font-semibold', className), ...props })));
20
- SelectLabel.displayName = SelectPrimitive.Label.displayName;
21
- const SelectItem = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(SelectPrimitive.Item, { ref: ref, className: cn('relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-2 pr-8 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', className), ...props, children: [_jsx("span", { className: "absolute right-2 flex h-3.5 w-3.5 items-center justify-center", children: _jsx(SelectPrimitive.ItemIndicator, { children: _jsx(Check, { className: "h-4 w-4" }) }) }), _jsx(SelectPrimitive.ItemText, { children: children })] })));
22
- SelectItem.displayName = SelectPrimitive.Item.displayName;
23
- const SelectSeparator = React.forwardRef(({ className, ...props }, ref) => (_jsx(SelectPrimitive.Separator, { ref: ref, className: cn('-mx-1 my-1 h-px bg-muted', className), ...props })));
24
- SelectSeparator.displayName = SelectPrimitive.Separator.displayName;
25
- export { Select, SelectGroup, SelectValue, SelectTrigger, SelectContent, SelectLabel, SelectItem, SelectSeparator, SelectScrollUpButton, SelectScrollDownButton, };
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import * as SeparatorPrimitive from '@radix-ui/react-separator';
3
- declare const Separator: React.ForwardRefExoticComponent<Omit<SeparatorPrimitive.SeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
4
- export { Separator };
@@ -1,8 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import * as React from 'react';
4
- import * as SeparatorPrimitive from '@radix-ui/react-separator';
5
- import { cn } from '@/lib/utils';
6
- const Separator = React.forwardRef(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (_jsx(SeparatorPrimitive.Root, { ref: ref, decorative: decorative, orientation: orientation, className: cn('shrink-0 bg-border', orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]', className), ...props })));
7
- Separator.displayName = SeparatorPrimitive.Root.displayName;
8
- export { Separator };
@@ -1,25 +0,0 @@
1
- import * as React from 'react';
2
- import * as SheetPrimitive from '@radix-ui/react-dialog';
3
- import { type VariantProps } from 'class-variance-authority';
4
- declare const Sheet: React.FC<SheetPrimitive.DialogProps>;
5
- declare const SheetTrigger: React.ForwardRefExoticComponent<SheetPrimitive.DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
- declare const SheetClose: React.ForwardRefExoticComponent<SheetPrimitive.DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
7
- declare const SheetPortal: React.FC<SheetPrimitive.DialogPortalProps>;
8
- declare const SheetOverlay: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
9
- declare const sheetVariants: (props?: ({
10
- side?: "bottom" | "left" | "right" | "top" | null | undefined;
11
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
12
- interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>, VariantProps<typeof sheetVariants> {
13
- }
14
- declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
15
- declare const SheetHeader: {
16
- ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
17
- displayName: string;
18
- };
19
- declare const SheetFooter: {
20
- ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
21
- displayName: string;
22
- };
23
- declare const SheetTitle: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
24
- declare const SheetDescription: React.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
25
- export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
@@ -1,36 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import * as SheetPrimitive from '@radix-ui/react-dialog';
4
- import { cva } from 'class-variance-authority';
5
- import { X } from 'lucide-react';
6
- import { cn } from '@/lib/utils';
7
- const Sheet = SheetPrimitive.Root;
8
- const SheetTrigger = SheetPrimitive.Trigger;
9
- const SheetClose = SheetPrimitive.Close;
10
- const SheetPortal = SheetPrimitive.Portal;
11
- const SheetOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(SheetPrimitive.Overlay, { className: cn('fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0', className), ...props, ref: ref })));
12
- SheetOverlay.displayName = SheetPrimitive.Overlay.displayName;
13
- const sheetVariants = cva('fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500 data-[state=open]:animate-in data-[state=closed]:animate-out', {
14
- variants: {
15
- side: {
16
- top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top',
17
- bottom: 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom',
18
- left: 'inset-y-0 left-0 h-full w-1/2 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm',
19
- right: 'inset-y-0 right-0 h-full w-1/3 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right',
20
- },
21
- },
22
- defaultVariants: {
23
- side: 'right',
24
- },
25
- });
26
- const SheetContent = React.forwardRef(({ side = 'right', className, children, ...props }, ref) => (_jsxs(SheetPortal, { children: [_jsx(SheetOverlay, {}), _jsxs(SheetPrimitive.Content, { ref: ref, className: cn(sheetVariants({ side }), className), ...props, children: [_jsxs(SheetPrimitive.Close, { className: "absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-secondary", children: [_jsx(X, { className: "h-4 w-4" }), _jsx("span", { className: "sr-only", children: "Close" })] }), children] })] })));
27
- SheetContent.displayName = SheetPrimitive.Content.displayName;
28
- const SheetHeader = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col space-y-2 text-center sm:text-left', className), ...props }));
29
- SheetHeader.displayName = 'SheetHeader';
30
- const SheetFooter = ({ className, ...props }) => (_jsx("div", { className: cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className), ...props }));
31
- SheetFooter.displayName = 'SheetFooter';
32
- const SheetTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(SheetPrimitive.Title, { ref: ref, className: cn('text-lg font-semibold text-foreground', className), ...props })));
33
- SheetTitle.displayName = SheetPrimitive.Title.displayName;
34
- const SheetDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(SheetPrimitive.Description, { ref: ref, className: cn('text-sm text-muted-foreground', className), ...props })));
35
- SheetDescription.displayName = SheetPrimitive.Description.displayName;
36
- export { Sheet, SheetPortal, SheetOverlay, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription, };
@@ -1,12 +0,0 @@
1
- import React, { PropsWithChildren } from 'react';
2
- export declare const Sidebar: React.FC<PropsWithChildren>;
3
- export declare const SidebarGroup: React.FC<PropsWithChildren<{
4
- title: string;
5
- testId?: string;
6
- }>>;
7
- type SidebarButtonProps = PropsWithChildren<{
8
- isActive: boolean;
9
- icon: React.ReactNode;
10
- }>;
11
- export declare const SidebarButton: React.FC<SidebarButtonProps>;
12
- export {};
@@ -1,25 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect } from 'react';
3
- import { cn } from '@/lib/utils';
4
- import { PanelLeftClose, PanelLeftOpen } from 'lucide-react';
5
- import { Button } from './button';
6
- const SIDEBAR_COLLAPSED_KEY = 'sidebar-collapsed';
7
- export const Sidebar = ({ children }) => {
8
- const [isCollapsed, setIsCollapsed] = useState(() => {
9
- if (typeof window !== 'undefined') {
10
- const saved = localStorage.getItem(SIDEBAR_COLLAPSED_KEY);
11
- return saved ? JSON.parse(saved) : true;
12
- }
13
- return true;
14
- });
15
- useEffect(() => {
16
- localStorage.setItem(SIDEBAR_COLLAPSED_KEY, JSON.stringify(isCollapsed));
17
- }, [isCollapsed]);
18
- return (_jsxs("div", { className: cn('max-h-screen overflow-y-auto transition-[width] duration-300 border-r border-sidebar-border bg-sidebar text-sidebar-foreground border-solid overflow-hidden relative', isCollapsed ? 'w-[50px]' : 'w-[250px]'), children: [_jsx("div", { className: "flex items-center justify-end gap-2 absolute top-3 right-1", children: _jsx(Button, { variant: "ghost", size: "icon", "data-testid": "sidebar-toggle", onClick: () => setIsCollapsed(!isCollapsed), children: isCollapsed ? _jsx(PanelLeftOpen, { className: "w-4 h-4" }) : _jsx(PanelLeftClose, { className: "w-4 h-4" }) }) }), !isCollapsed && _jsx("div", { className: "overflow-y-auto w-[250px] mt-4", children: children })] }));
19
- };
20
- export const SidebarGroup = ({ children, title, testId, }) => {
21
- return (_jsxs("div", { className: "flex flex-col", children: [_jsx("h2", { className: "text-xs font-bold text-muted-foreground px-4 py-2 uppercase", "data-testid": testId, children: title }), children] }));
22
- };
23
- export const SidebarButton = ({ children, isActive, icon }) => {
24
- return (_jsxs("div", { className: cn('flex text-sm font-medium items-center gap-2 px-4 py-3 hover:bg-sidebar-accent hover:text-sidebar-accent-foreground transition-colors cursor-pointer', isActive && 'bg-sidebar-accent text-sidebar-accent-foreground'), children: [_jsx("div", { className: "text-sidebar-foreground/70", children: icon }), children] }));
25
- };
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
3
- export { Skeleton };
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { cn } from '@/lib/utils';
3
- function Skeleton({ className, ...props }) {
4
- return _jsx("div", { className: cn('animate-pulse rounded-md bg-primary/10', className), ...props });
5
- }
6
- export { Skeleton };
@@ -1,4 +0,0 @@
1
- import * as React from 'react';
2
- import * as SwitchPrimitives from '@radix-ui/react-switch';
3
- declare const Switch: React.ForwardRefExoticComponent<Omit<SwitchPrimitives.SwitchProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
4
- export { Switch };
@@ -1,7 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import * as SwitchPrimitives from '@radix-ui/react-switch';
4
- import { cn } from '@/lib/utils';
5
- const Switch = React.forwardRef(({ className, ...props }, ref) => (_jsx(SwitchPrimitives.Root, { className: cn('peer inline-flex h-5 w-9 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input', className), ...props, ref: ref, children: _jsx(SwitchPrimitives.Thumb, { className: cn('pointer-events-none block h-4 w-4 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-4 data-[state=unchecked]:translate-x-0') }) })));
6
- Switch.displayName = SwitchPrimitives.Root.displayName;
7
- export { Switch };
@@ -1,7 +0,0 @@
1
- import * as React from 'react';
2
- import * as TabsPrimitive from '@radix-ui/react-tabs';
3
- declare const Tabs: React.ForwardRefExoticComponent<TabsPrimitive.TabsProps & React.RefAttributes<HTMLDivElement>>;
4
- declare const TabsList: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsListProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
5
- declare const TabsTrigger: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
6
- declare const TabsContent: React.ForwardRefExoticComponent<Omit<TabsPrimitive.TabsContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
- export { Tabs, TabsList, TabsTrigger, TabsContent };
@@ -1,12 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import * as TabsPrimitive from '@radix-ui/react-tabs';
4
- import { cn } from '@/lib/utils';
5
- const Tabs = TabsPrimitive.Root;
6
- const TabsList = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.List, { ref: ref, className: cn('inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground', className), ...props })));
7
- TabsList.displayName = TabsPrimitive.List.displayName;
8
- const TabsTrigger = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.Trigger, { ref: ref, className: cn('inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-sm', className), ...props })));
9
- TabsTrigger.displayName = TabsPrimitive.Trigger.displayName;
10
- const TabsContent = React.forwardRef(({ className, ...props }, ref) => (_jsx(TabsPrimitive.Content, { ref: ref, className: cn('mt-2 ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2', className), ...props })));
11
- TabsContent.displayName = TabsPrimitive.Content.displayName;
12
- export { Tabs, TabsList, TabsTrigger, TabsContent };
@@ -1,3 +0,0 @@
1
- import * as React from 'react';
2
- declare const Textarea: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & React.RefAttributes<HTMLTextAreaElement>>;
3
- export { Textarea };
@@ -1,8 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import * as React from 'react';
3
- import { cn } from '@/lib/utils';
4
- const Textarea = React.forwardRef(({ className, ...props }, ref) => {
5
- return (_jsx("textarea", { className: cn('flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm', className), ref: ref, ...props }));
6
- });
7
- Textarea.displayName = 'Textarea';
8
- export { Textarea };
@@ -1,7 +0,0 @@
1
- import * as React from 'react';
2
- import * as TooltipPrimitive from '@radix-ui/react-tooltip';
3
- declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
4
- declare const Tooltip: React.FC<TooltipPrimitive.TooltipProps>;
5
- declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
6
- declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
7
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
@@ -1,11 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import * as React from 'react';
4
- import * as TooltipPrimitive from '@radix-ui/react-tooltip';
5
- import { cn } from '@/lib/utils';
6
- const TooltipProvider = TooltipPrimitive.Provider;
7
- const Tooltip = TooltipPrimitive.Root;
8
- const TooltipTrigger = TooltipPrimitive.Trigger;
9
- const TooltipContent = React.forwardRef(({ className, sideOffset = 4, ...props }, ref) => (_jsx(TooltipPrimitive.Portal, { children: _jsx(TooltipPrimitive.Content, { ref: ref, sideOffset: sideOffset, className: cn('z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', className), ...props }) })));
10
- TooltipContent.displayName = TooltipPrimitive.Content.displayName;
11
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };
@@ -1,9 +0,0 @@
1
- import { FlowResponse } from '@/views/flow/hooks/use-get-flow-state';
2
- export type Flow = {
3
- id: string;
4
- name: string;
5
- data?: FlowResponse;
6
- };
7
- export declare const useListFlows: () => {
8
- flows: Flow[];
9
- };
@@ -1,8 +0,0 @@
1
- import { useStreamGroup } from '@motiadev/stream-client-react';
2
- export const useListFlows = () => {
3
- const { data: flows } = useStreamGroup({
4
- streamName: '__motia.flows',
5
- groupId: 'default',
6
- });
7
- return { flows };
8
- };
@@ -1,6 +0,0 @@
1
- type Theme = 'dark' | 'light' | 'system';
2
- export declare const useTheme: () => {
3
- theme: Theme;
4
- setTheme: (newTheme: Theme) => void;
5
- };
6
- export {};
@@ -1,28 +0,0 @@
1
- import { useCallback, useEffect, useState } from 'react';
2
- const storageKey = 'motia-workbench-theme';
3
- const defaultTheme = localStorage.getItem(storageKey) || 'system';
4
- const updateTheme = (theme) => {
5
- const root = window.document.body;
6
- root.classList.remove('light', 'dark');
7
- if (theme === 'system') {
8
- const systemTheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
9
- root.classList.add(systemTheme);
10
- return;
11
- }
12
- root.classList.add(theme);
13
- };
14
- export const useTheme = () => {
15
- const [theme, _setTheme] = useState(defaultTheme);
16
- useEffect(() => {
17
- updateTheme(defaultTheme);
18
- }, []);
19
- const setTheme = useCallback((newTheme) => {
20
- localStorage.setItem(storageKey, newTheme);
21
- _setTheme(newTheme);
22
- updateTheme(newTheme);
23
- }, []);
24
- return {
25
- theme,
26
- setTheme,
27
- };
28
- };
@@ -1,10 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Position, Handle as RFHandle } from '@xyflow/react';
3
- import clsx from 'clsx';
4
- import { colorMap } from './colorMap';
5
- export const BaseHandle = (props) => {
6
- const { isHidden, position, variant, ...rest } = props;
7
- return (_jsx("div", { className: clsx('absolute w-[6px] h-[6px]', position === Position.Top && '-top-[20px]', position === Position.Bottom && '-bottom-[20px]', 'left-1/2 -ml-[2px]', isHidden && 'hidden'), children: _jsx(RFHandle, { ...rest, position: position, style: {
8
- background: colorMap[variant],
9
- }, className: "\n !static\n !w-[6px]\n !h-[6px]\n !min-w-[6px]\n !min-h-[6px]\n !p-0\n !border-none\n !transform-none\n !rounded-full\n !outline-none\n !shadow-none\n " }) }));
10
- };
@@ -1,16 +0,0 @@
1
- import { type VariantProps } from 'class-variance-authority';
2
- import React, { PropsWithChildren } from 'react';
3
- declare const baseDot: (props?: ({
4
- variant?: "event" | "api" | "noop" | "cron" | null | undefined;
5
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
- type Props = PropsWithChildren<{
7
- title: string;
8
- variant: VariantProps<typeof baseDot>['variant'];
9
- language?: string;
10
- headerChildren?: React.ReactNode;
11
- className?: string;
12
- disableSourceHandle?: boolean;
13
- disableTargetHandle?: boolean;
14
- }>;
15
- export declare const BaseNode: (props: Props) => import("react/jsx-runtime").JSX.Element;
16
- export {};
@@ -1,25 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '@/lib/utils';
3
- import { Position } from '@xyflow/react';
4
- import { cva } from 'class-variance-authority';
5
- import { BaseHandle } from './base-handle';
6
- import { LanguageIndicator } from '../views/flow/nodes/language-indicator';
7
- import { colorMap } from './colorMap';
8
- const baseDot = cva('w-[6px] h-[6px] rounded-full', {
9
- variants: {
10
- variant: {
11
- event: 'bg-[rgba(0,117,255,1)]',
12
- api: 'bg-[rgba(189,255,0,1)]',
13
- noop: 'bg-[rgba(255,49,234,1)]',
14
- cron: 'bg-[rgba(255,113,11,1)]',
15
- },
16
- },
17
- });
18
- const Dot = ({ variant }) => (_jsx("div", { className: cn(baseDot({ variant })) }));
19
- const HeaderBar = ({ text, variant, children, }) => (_jsxs("div", { className: "text-sm text-foreground flex justify-between items-center gap-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Dot, { variant: variant }), _jsx("span", { children: text })] }), children] }));
20
- export const BaseNode = (props) => {
21
- const { title, variant, children, disableSourceHandle, disableTargetHandle, language } = props;
22
- return (_jsx("div", { className: "p-[1px] rounded-lg max-w-[350px] ", children: _jsx("div", { className: "rounded-lg bg-background p-4 border border-muted border-solid", "data-testid": `node-${title?.toLowerCase().replace(/ /g, '-')}`, style: {
23
- borderColor: colorMap[variant],
24
- }, children: _jsxs("div", { className: "group relative", children: [_jsx(HeaderBar, { text: title, variant: variant, children: _jsx(LanguageIndicator, { language: language }) }), _jsx("div", { className: "pt-4 space-y-3", children: children }), !disableTargetHandle && _jsx(BaseHandle, { type: "target", position: Position.Top, variant: variant }), !disableSourceHandle && _jsx(BaseHandle, { type: "source", position: Position.Bottom, variant: variant }), _jsx("div", { className: "absolute inset-0 -z-10 translate-y-1 translate-x-1 bg-background rounded-md border border-white/5" })] }) }) }));
25
- };
@@ -1,6 +0,0 @@
1
- export declare const colorMap: {
2
- event: string;
3
- api: string;
4
- noop: string;
5
- cron: string;
6
- };
@@ -1,6 +0,0 @@
1
- export const colorMap = {
2
- event: 'rgb(0,117,255)',
3
- api: 'rgb(189,255,0)',
4
- noop: 'rgb(255,49,234)',
5
- cron: 'rgb(255,113,11)',
6
- };
@@ -1,11 +0,0 @@
1
- import { type VariantProps } from 'class-variance-authority';
2
- import React from 'react';
3
- declare const baseDot: (props?: ({
4
- variant?: "event" | "api" | "noop" | "cron" | null | undefined;
5
- } & import("class-variance-authority/types").ClassProp) | undefined) => string;
6
- export declare const HeaderBar: ({ text, variant, children, }: {
7
- text: string;
8
- variant: VariantProps<typeof baseDot>["variant"];
9
- children?: React.ReactNode;
10
- }) => import("react/jsx-runtime").JSX.Element;
11
- export {};
@@ -1,15 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { cn } from '@/lib/utils';
3
- import { cva } from 'class-variance-authority';
4
- const baseDot = cva('w-[6px] h-[6px] rounded-full', {
5
- variants: {
6
- variant: {
7
- event: 'bg-[rgba(0,117,255,1)]',
8
- api: 'bg-[rgba(189,255,0,1)]',
9
- noop: 'bg-[rgba(255,49,234,1)]',
10
- cron: 'bg-[rgba(255,113,11,1)]',
11
- },
12
- },
13
- });
14
- const Dot = ({ variant }) => (_jsx("div", { className: cn(baseDot({ variant })) }));
15
- export const HeaderBar = ({ text, variant, children, }) => (_jsxs("div", { className: "text-sm text-foreground flex justify-between items-center gap-4", children: [_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Dot, { variant: variant }), _jsx("span", { children: text })] }), children] }));
@@ -1,6 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Send } from 'lucide-react';
3
- const toTopic = (emit) => typeof emit === 'string' ? emit : emit.topic;
4
- export const Emits = ({ emits }) => {
5
- return (_jsx(_Fragment, { children: emits.map((emit) => (_jsxs("div", { className: "flex gap-2 items-center text-xs text-muted-foreground", "data-testid": `emits__${toTopic(emit)}`, children: [_jsx(Send, { className: "w-4 h-4 text-muted-foreground/60" }), _jsx("div", { className: "font-mono tracking-wider", children: toTopic(emit) })] }, toTopic(emit)))) }));
6
- };
@@ -1,5 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { Eye } from 'lucide-react';
3
- export const Subscribe = ({ subscribes }) => {
4
- return (_jsx(_Fragment, { children: subscribes.map((subscribe) => (_jsxs("div", { className: "flex gap-2 items-center text-xs text-muted-foreground", "data-testid": `subscribes__${subscribe}`, children: [_jsx(Eye, { className: "w-4 h-4 text-muted-foreground/60" }), _jsx("div", { className: "font-mono tracking-wider", children: subscribe })] }, subscribe))) }));
5
- };
@@ -1,2 +0,0 @@
1
- import React, { PropsWithChildren } from 'react';
2
- export declare const RouteWrapper: React.FC<PropsWithChildren>;
@@ -1,5 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { AppSidebar } from './components/app-sidebar';
3
- import { ReactFlowProvider } from '@xyflow/react';
4
- import { Header } from './components/header/header';
5
- export const RouteWrapper = ({ children }) => (_jsx("div", { className: "flex flex-col bg-background text-foreground h-screen", children: _jsxs(ReactFlowProvider, { children: [_jsx(Header, {}), _jsxs("div", { className: "flex flex-row flex-1", children: [_jsx(AppSidebar, {}), _jsx("div", { className: "flex-1", children: children })] })] }) }));
@@ -1,5 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { Endpoints } from '@/components/endpoints/endpoints';
3
- export const EndpointsPage = () => {
4
- return _jsx(Endpoints, {});
5
- };
@@ -1 +0,0 @@
1
- export declare const Flow: () => import("react/jsx-runtime").JSX.Element;
@@ -1,11 +0,0 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { FlowView } from '@/views/flow/flow-view';
3
- import { useParams } from 'react-router';
4
- import { useFetchFlows } from '@/hooks/use-fetch-flows';
5
- export const Flow = () => {
6
- const { id } = useParams();
7
- const { flow, flowConfig } = useFetchFlows(id);
8
- if (!flow || flow.error)
9
- return (_jsx("div", { className: "w-full h-full bg-background flex flex-col items-center justify-center", children: _jsx("p", { children: flow?.error }) }));
10
- return (_jsx("div", { className: "w-full h-full bg-background", children: _jsx(FlowView, { flow: flow, flowConfig: flowConfig }) }));
11
- };
@@ -1 +0,0 @@
1
- export declare const Index: () => import("react/jsx-runtime").JSX.Element;
@@ -1,5 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { Button } from '@/components/ui/button';
3
- export const Index = () => {
4
- return (_jsxs("div", { className: "flex flex-col items-center justify-center w-full h-full gap-10 bg-gradient-to-r from-background via-background to-muted", children: [_jsx("h1", { className: "text-5xl font-extrabold max-w-[600px] text-center text-foreground", children: "Unified Backend Framework for APIs, Events and AI Agents" }), _jsx("div", { className: "max-w-[600px] text-center text-xl font-medium text-muted-foreground", children: "Write in any language. Automate anything. From AI agents to backend automation, Motia runs event-driven workflows with zero overhead." }), _jsx("div", { className: "p-[1px] min-w-[600px] rounded-lg shadow-lg border border-border", children: _jsx("div", { className: "rounded-lg bg-card p-8 font-semibold text-xl min-h-[100px] flex items-center", children: _jsxs("div", { className: "flex items-center gap-2 font-mono", children: [_jsx("span", { className: "text-primary", children: "$" }), _jsx("span", { className: "text-card-foreground", children: "npx motia generate step" })] }) }) }), _jsxs("div", { className: "flex flex-col gap-8 items-center", children: [_jsx("span", { className: "text-muted-foreground text-xl", children: "or" }), _jsx("a", { href: "https://motia.dev/docs", target: "_blank", children: _jsx(Button, { size: "lg", className: "text-xl py-6 px-8", children: "Read developer docs" }) })] })] }));
5
- };