@motiadev/plugin-example 0.14.0-beta.165-076789 → 0.14.0-beta.165-634707

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.
package/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # @motiadev/plugin-example
1
+ # {{PROJECT_NAME}}
2
2
 
3
3
  A minimal example plugin demonstrating the Motia plugin system.
4
4
 
@@ -7,9 +7,11 @@ A minimal example plugin demonstrating the Motia plugin system.
7
7
  This plugin serves as a reference implementation showing how to create custom workbench plugins for Motia. It demonstrates:
8
8
 
9
9
  - Basic plugin structure and configuration
10
- - Creating custom workbench tabs
11
- - Using Motia's UI component library
12
- - Building with Vite and TypeScript
10
+ - Creating custom workbench tabs with position control
11
+ - Using Motia's UI component library (`@motiadev/ui`)
12
+ - Building with tsdown and TypeScript
13
+ - Tailwind CSS v4 styling with PostCSS
14
+ - React Compiler optimization via Babel
13
15
 
14
16
  ## Installation
15
17
 
@@ -35,29 +37,73 @@ pnpm run clean
35
37
  To use this plugin in your Motia project, import it in your `motia.config.ts`:
36
38
 
37
39
  ```typescript
38
- import examplePlugin from '@motiadev/plugin-example/plugin'
40
+ import examplePlugin from '{{PROJECT_NAME}}/plugin'
39
41
 
40
42
  export default {
41
43
  plugins: [examplePlugin],
42
44
  }
43
45
  ```
44
46
 
47
+ ## Plugin Configuration
48
+
49
+ The plugin exports a function that receives the `MotiaPluginContext` and returns a `MotiaPlugin` object:
50
+
51
+ ```typescript
52
+ import type { MotiaPlugin, MotiaPluginContext } from '@motiadev/core'
53
+
54
+ export default function plugin(_motia: MotiaPluginContext): MotiaPlugin {
55
+ return {
56
+ workbench: [
57
+ {
58
+ packageName: '@motiadev/plugin-example',
59
+ cssImports: ['@motiadev/plugin-example/dist/index.css'],
60
+ label: 'Example',
61
+ position: 'bottom',
62
+ componentName: 'ExamplePage',
63
+ labelIcon: 'sparkles',
64
+ },
65
+ ],
66
+ }
67
+ }
68
+ ```
69
+
70
+ ### Workbench Options
71
+
72
+ | Option | Description |
73
+ | --------------- | ------------------------------------------ |
74
+ | `packageName` | The npm package name for dynamic imports |
75
+ | `cssImports` | Array of CSS files to load with the plugin |
76
+ | `label` | Display name shown in the workbench tab |
77
+ | `position` | Tab position: `'top'` or `'bottom'` |
78
+ | `componentName` | Name of the exported React component |
79
+ | `labelIcon` | Lucide icon name for the tab |
80
+
45
81
  ## Structure
46
82
 
47
83
  ```
48
- plugin-example/
84
+ {{PROJECT_NAME}}/
49
85
  ├── src/
50
86
  │ ├── components/
51
87
  │ │ └── example-page.tsx # Main UI component
52
- │ ├── index.ts # Package entry point
88
+ │ ├── index.ts # Package entry point (exports components)
53
89
  │ ├── plugin.ts # Plugin definition
54
- │ └── styles.css # Tailwind styles
90
+ │ └── styles.css # Tailwind CSS styles
91
+ ├── dist/ # Build output
55
92
  ├── package.json
56
93
  ├── tsconfig.json
57
- ├── vite.config.ts
94
+ ├── tsdown.config.ts # Build configuration
95
+ ├── postcss.config.js # PostCSS/Tailwind config
58
96
  └── README.md
59
97
  ```
60
98
 
99
+ ## Features Demonstrated
100
+
101
+ - **Custom Workbench Tab**: Adds an "Example" tab to the bottom panel
102
+ - **UI Components**: Uses `Badge` and `Button` from `@motiadev/ui`
103
+ - **Icons**: Integrates Lucide React icons
104
+ - **Responsive Layout**: Grid-based responsive design with Tailwind CSS
105
+ - **Type Safety**: Full TypeScript support with proper type declarations
106
+
61
107
  ## Learn More
62
108
 
63
109
  For detailed documentation on creating plugins, see the [Plugins Guide](../../packages/docs/content/docs/development-guide/plugins.mdx).
package/dist/index.css CHANGED
@@ -664,6 +664,3 @@
664
664
  }
665
665
  }
666
666
  }
667
-
668
-
669
- /*# sourceMappingURL=index.css.map*/
@@ -1 +1 @@
1
- {"version":3,"file":"index.css","names":[],"sources":["../src/styles.css"],"sourcesContent":["/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root, :host {\n --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\",\n \"Courier New\", monospace;\n --spacing: 0.25rem;\n --container-4xl: 56rem;\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-3xl: 1.875rem;\n --text-3xl--line-height: calc(2.25 / 1.875);\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --radius-lg: 0.5rem;\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n --font-weight-500: var(--font-weight-500);\n --font-weight-600: var(--font-weight-600);\n --font-weight-700: var(--font-weight-700);\n }\n}\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities {\n .mx-auto {\n margin-inline: auto;\n }\n .mt-6 {\n margin-top: calc(var(--spacing) * 6);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .h-4 {\n height: calc(var(--spacing) * 4);\n }\n .h-8 {\n height: calc(var(--spacing) * 8);\n }\n .h-full {\n height: 100%;\n }\n .w-4 {\n width: calc(var(--spacing) * 4);\n }\n .w-8 {\n width: calc(var(--spacing) * 8);\n }\n .w-full {\n width: 100%;\n }\n .max-w-4xl {\n max-width: var(--container-4xl);\n }\n .list-inside {\n list-style-position: inside;\n }\n .list-disc {\n list-style-type: disc;\n }\n .grid-cols-1 {\n grid-template-columns: repeat(1, minmax(0, 1fr));\n }\n .items-center {\n align-items: center;\n }\n .gap-2 {\n gap: calc(var(--spacing) * 2);\n }\n .gap-3 {\n gap: calc(var(--spacing) * 3);\n }\n .gap-4 {\n gap: calc(var(--spacing) * 4);\n }\n .space-y-2 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-4 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .space-y-6 {\n :where(& > :not(:last-child)) {\n --tw-space-y-reverse: 0;\n margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));\n margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));\n }\n }\n .overflow-auto {\n overflow: auto;\n }\n .rounded-lg {\n border-radius: var(--radius-lg);\n }\n .border {\n border-style: var(--tw-border-style);\n border-width: 1px;\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .p-6 {\n padding: calc(var(--spacing) * 6);\n }\n .text-3xl {\n font-size: var(--text-3xl);\n line-height: var(--tw-leading, var(--text-3xl--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .text-muted-foreground {\n color: var(--muted-foreground);\n }\n .text-primary {\n color: var(--primary);\n }\n .outline {\n outline-style: var(--tw-outline-style);\n outline-width: 1px;\n }\n .md\\:grid-cols-3 {\n @media (width >= 48rem) {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n }\n }\n}\n:root {\n --default-font-family: \"DM Sans\", ui-sans-serif, sans-serif;\n --font-dm-mono: \"DM Mono\", ui-monospace, monospace;\n line-height: 1.5;\n font-size: 16px;\n color-scheme: light dark;\n font-family: var( --default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" ), serif;\n font-synthesis: none;\n text-rendering: optimizeLegibility;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n width: 100%;\n font-optical-sizing: auto;\n --font-weight-500: 500;\n --font-weight-600: 600;\n --font-weight-700: 700;\n --accent-1000: #2862fe;\n --accent-970: #2862fef7;\n --accent-950: #2862fef2;\n --accent-900: #2862fee5;\n --accent-800: #2862fecc;\n --accent-700: #2862feb2;\n --accent-600: #2862fe99;\n --accent-500: #2862fe80;\n --accent-400: #2862fe66;\n --accent-300: #2862fe4d;\n --accent-200: #2862fe33;\n --accent-100: #2862fe1a;\n --accent-50: #2862fe0d;\n --accent-30: #2862fe08;\n --dark-1000: #0a0a0a;\n --dark-970: #0a0a0af7;\n --dark-950: #0a0a0af2;\n --dark-900: #0a0a0ae5;\n --dark-800: #0a0a0acc;\n --dark-700: #0a0a0ab2;\n --dark-600: #0a0a0a99;\n --dark-500: #0a0a0a80;\n --dark-400: #0a0a0a66;\n --dark-300: #0a0a0a4d;\n --dark-200: #0a0a0a33;\n --dark-100: #0a0a0a1a;\n --dark-50: #0a0a0a0d;\n --dark-30: #0a0a0a08;\n --light-1000: #ffffff;\n --light-970: #fffffff7;\n --light-950: #fffffff2;\n --light-900: #ffffffe5;\n --light-800: #ffffffcc;\n --light-700: #ffffffb2;\n --light-600: #ffffff99;\n --light-500: #ffffff80;\n --light-400: #ffffff66;\n --light-300: #ffffff4d;\n --light-200: #ffffff33;\n --light-100: #ffffff1a;\n --light-50: #ffffff0d;\n --light-30: #ffffff08;\n --error: #d61355;\n --canvas-background: #ebebeb;\n --background: var(--light-1000);\n --foreground: var(--dark-1000);\n --surface-content: var(--dark-30);\n --surface-component: var(--dark-50);\n --surface-light-100: var(--dark-100);\n --surface-light-200: var(--dark-200);\n --border: var(--dark-100);\n --border-accent: var(--accent-1000);\n --states-hover: var(--dark-30);\n --states-selected: var(--dark-100);\n --states-active: var(--accent-1000);\n --text-header: var(--dark-1000);\n --text-body: var(--dark-600);\n --text-placeholder: var(--dark-400);\n --text-accent: var(--accent-1000);\n --text-error: var(--error);\n --icon-active: var(--dark-1000);\n --icon-light: var(--dark-600);\n --icon-component: var(--dark-400);\n --icon-accent: var(--accent-1000);\n --primary: var(--accent-1000);\n --primary-foreground: var(--light-1000);\n --secondary: var(--surface-component);\n --secondary-foreground: var(--text-body);\n --muted: var(--surface-light-100);\n --muted-foreground: var(--text-body);\n --accent: var(--accent-1000);\n --accent-foreground: var(--light-1000);\n --destructive: var(--error);\n --destructive-foreground: var(--light-1000);\n --card: var(--surface-content);\n --card-foreground: var(--foreground);\n --popover: var(--surface-content);\n --popover-foreground: var(--foreground);\n --input: var(--states-hover);\n --ring: var(--border-accent);\n --chart-1: var(--accent-1000);\n --chart-2: var(--accent-800);\n --chart-3: var(--accent-600);\n --chart-4: var(--accent-400);\n --chart-5: var(--accent-200);\n --header: var(--background);\n --header-foreground: var(--text-header);\n --header-primary: var(--primary);\n --header-primary-foreground: var(--primary-foreground);\n --header-accent: var(--surface-component);\n --header-accent-foreground: var(--text-body);\n --header-border: var(--border);\n --header-ring: var(--ring);\n --sidebar: var(--background);\n --sidebar-foreground: var(--text-header);\n --sidebar-primary: var(--primary);\n --sidebar-primary-foreground: var(--primary-foreground);\n --sidebar-accent: var(--surface-component);\n --sidebar-accent-foreground: var(--text-body);\n --sidebar-border: var(--border);\n --sidebar-ring: var(--ring);\n}\n.dark {\n --canvas-background: #030303;\n --background: var(--dark-1000);\n --foreground: var(--light-1000);\n --surface-content: var(--light-30);\n --surface-component: var(--light-50);\n --surface-light-100: var(--light-100);\n --surface-light-200: var(--light-200);\n --border: var(--light-100);\n --states-hover: var(--light-30);\n --states-selected: var(--light-100);\n --text-header: var(--light-1000);\n --text-body: var(--light-600);\n --text-placeholder: var(--light-400);\n --icon-active: var(--light-1000);\n --icon-light: var(--light-600);\n --icon-component: var(--light-400);\n --secondary-foreground: var(--light-600);\n --muted-foreground: var(--light-600);\n --card: var(--surface-content);\n --card-foreground: var(--foreground);\n --popover: var(--surface-content);\n --popover-foreground: var(--foreground);\n --input: var(--states-hover);\n --ring: var(--border-accent);\n --chart-1: var(--accent-1000);\n --chart-2: var(--accent-800);\n --chart-3: var(--accent-600);\n --chart-4: var(--accent-400);\n --chart-5: var(--accent-200);\n --header: var(--background);\n --header-foreground: var(--text-header);\n --header-primary: var(--primary);\n --header-primary-foreground: var(--primary-foreground);\n --header-accent: var(--surface-component);\n --header-accent-foreground: var(--text-body);\n --header-border: var(--border);\n --header-ring: var(--ring);\n --sidebar: var(--background);\n --sidebar-foreground: var(--text-header);\n --sidebar-primary: var(--primary);\n --sidebar-primary-foreground: var(--primary-foreground);\n --sidebar-accent: var(--surface-component);\n --sidebar-accent-foreground: var(--text-body);\n --sidebar-border: var(--border);\n --sidebar-ring: var(--ring);\n}\n@layer base {\n * {\n border-color: var(--border);\n }\n body {\n background-color: var(--background);\n color: var(--foreground);\n }\n}\n@layer theme, base, components, utilities;\n@layer theme;\n@layer base {\n *, ::after, ::before, ::backdrop, ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html, :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1, h2, h3, h4, h5, h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b, strong {\n font-weight: bolder;\n }\n code, kbd, samp, pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub, sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol, ul, menu {\n list-style: none;\n }\n img, svg, video, canvas, audio, iframe, embed, object {\n display: block;\n vertical-align: middle;\n }\n img, video {\n max-width: 100%;\n height: auto;\n }\n button, input, select, optgroup, textarea, ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit, ::-webkit-datetime-edit-year-field, ::-webkit-datetime-edit-month-field, ::-webkit-datetime-edit-day-field, ::-webkit-datetime-edit-hour-field, ::-webkit-datetime-edit-minute-field, ::-webkit-datetime-edit-second-field, ::-webkit-datetime-edit-millisecond-field, ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n ::-webkit-calendar-picker-indicator {\n line-height: 1;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button, input:where([type=\"button\"], [type=\"reset\"], [type=\"submit\"]), ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button, ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=\"until-found\"])) {\n display: none !important;\n }\n}\n@layer utilities;\n@property --tw-space-y-reverse {\n syntax: \"*\";\n inherits: false;\n initial-value: 0;\n}\n@property --tw-border-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@property --tw-font-weight {\n syntax: \"*\";\n inherits: false;\n}\n@property --tw-outline-style {\n syntax: \"*\";\n inherits: false;\n initial-value: solid;\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *, ::before, ::after, ::backdrop {\n --tw-space-y-reverse: 0;\n --tw-border-style: solid;\n --tw-font-weight: initial;\n --tw-outline-style: solid;\n }\n }\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA"}
1
+ {"version":3,"file":"index.css","names":[],"sources":["../src/styles.css"],"sourcesContent":["export default undefined;"],"mappings":"AAAA"}
package/dist/index.js CHANGED
@@ -1,165 +0,0 @@
1
- import { c } from "react/compiler-runtime";
2
- import { Badge, Button } from "@motiadev/ui";
3
- import { Sparkles } from "lucide-react";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
-
6
- //#region src/components/example-page.tsx
7
- const ExamplePage = () => {
8
- const $ = c(10);
9
- let t0;
10
- let t1;
11
- if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
12
- t0 = /* @__PURE__ */ jsxs("div", {
13
- className: "flex items-center gap-3",
14
- children: [
15
- /* @__PURE__ */ jsx(Sparkles, { className: "w-8 h-8 text-primary" }),
16
- /* @__PURE__ */ jsx("h1", {
17
- className: "text-3xl font-bold",
18
- children: "Example Plugin"
19
- }),
20
- /* @__PURE__ */ jsx(Badge, {
21
- variant: "info",
22
- children: "v1.0.0"
23
- })
24
- ]
25
- });
26
- t1 = /* @__PURE__ */ jsx("p", {
27
- className: "text-muted-foreground text-lg",
28
- children: "Welcome to the example plugin! This demonstrates the basic structure and functionality of a Motia plugin."
29
- });
30
- $[0] = t0;
31
- $[1] = t1;
32
- } else {
33
- t0 = $[0];
34
- t1 = $[1];
35
- }
36
- let t2;
37
- let t3;
38
- if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
39
- t2 = /* @__PURE__ */ jsx("h2", {
40
- className: "text-xl font-semibold",
41
- children: "What is this?"
42
- });
43
- t3 = /* @__PURE__ */ jsx("p", {
44
- className: "text-muted-foreground",
45
- children: "This is a minimal example plugin that shows how to create custom workbench tabs in Motia. Plugins can extend the Motia workbench with custom functionality, visualizations, and tools."
46
- });
47
- $[2] = t2;
48
- $[3] = t3;
49
- } else {
50
- t2 = $[2];
51
- t3 = $[3];
52
- }
53
- let t4;
54
- if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
55
- t4 = /* @__PURE__ */ jsxs("div", {
56
- className: "p-4 border rounded-lg",
57
- children: [/* @__PURE__ */ jsx("h3", {
58
- className: "font-semibold mb-2",
59
- children: "Easy to Create"
60
- }), /* @__PURE__ */ jsx("p", {
61
- className: "text-sm text-muted-foreground",
62
- children: "Build plugins with React, TypeScript, and Tailwind CSS"
63
- })]
64
- });
65
- $[4] = t4;
66
- } else t4 = $[4];
67
- let t5;
68
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
69
- t5 = /* @__PURE__ */ jsxs("div", {
70
- className: "p-4 border rounded-lg",
71
- children: [/* @__PURE__ */ jsx("h3", {
72
- className: "font-semibold mb-2",
73
- children: "Integrated"
74
- }), /* @__PURE__ */ jsx("p", {
75
- className: "text-sm text-muted-foreground",
76
- children: "Seamlessly integrate with Motia's workbench UI"
77
- })]
78
- });
79
- $[5] = t5;
80
- } else t5 = $[5];
81
- let t6;
82
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
83
- t6 = /* @__PURE__ */ jsxs("div", {
84
- className: "grid grid-cols-1 md:grid-cols-3 gap-4 mt-6",
85
- children: [
86
- t4,
87
- t5,
88
- /* @__PURE__ */ jsxs("div", {
89
- className: "p-4 border rounded-lg",
90
- children: [/* @__PURE__ */ jsx("h3", {
91
- className: "font-semibold mb-2",
92
- children: "Powerful"
93
- }), /* @__PURE__ */ jsx("p", {
94
- className: "text-sm text-muted-foreground",
95
- children: "Access Motia's plugin context and APIs"
96
- })]
97
- })
98
- ]
99
- });
100
- $[6] = t6;
101
- } else t6 = $[6];
102
- let t7;
103
- if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
104
- t7 = /* @__PURE__ */ jsxs("div", {
105
- className: "p-6 space-y-4",
106
- children: [
107
- t2,
108
- t3,
109
- t6,
110
- /* @__PURE__ */ jsxs("div", {
111
- className: "flex gap-2 mt-6",
112
- children: [/* @__PURE__ */ jsxs(Button, {
113
- variant: "default",
114
- children: [/* @__PURE__ */ jsx(Sparkles, { className: "w-4 h-4" }), "Get Started"]
115
- }), /* @__PURE__ */ jsx(Button, {
116
- variant: "outline",
117
- children: "View Documentation"
118
- })]
119
- })
120
- ]
121
- });
122
- $[7] = t7;
123
- } else t7 = $[7];
124
- let t8;
125
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
126
- t8 = /* @__PURE__ */ jsx("h2", {
127
- className: "text-xl font-semibold",
128
- children: "Plugin Features"
129
- });
130
- $[8] = t8;
131
- } else t8 = $[8];
132
- let t9;
133
- if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
134
- t9 = /* @__PURE__ */ jsx("div", {
135
- className: "h-full w-full p-6 overflow-auto",
136
- children: /* @__PURE__ */ jsxs("div", {
137
- className: "max-w-4xl mx-auto space-y-6",
138
- children: [
139
- t0,
140
- t1,
141
- t7,
142
- /* @__PURE__ */ jsxs("div", {
143
- className: "p-6 space-y-4",
144
- children: [t8, /* @__PURE__ */ jsxs("ul", {
145
- className: "list-disc list-inside space-y-2 text-muted-foreground",
146
- children: [
147
- /* @__PURE__ */ jsx("li", { children: "Custom workbench tabs with position control (top/bottom)" }),
148
- /* @__PURE__ */ jsx("li", { children: "Access to Motia's UI components library" }),
149
- /* @__PURE__ */ jsx("li", { children: "Integration with state management and APIs" }),
150
- /* @__PURE__ */ jsx("li", { children: "Real-time updates through streams" }),
151
- /* @__PURE__ */ jsx("li", { children: "TypeScript support with full type safety" })
152
- ]
153
- })]
154
- })
155
- ]
156
- })
157
- });
158
- $[9] = t9;
159
- } else t9 = $[9];
160
- return t9;
161
- };
162
-
163
- //#endregion
164
- export { ExamplePage };
165
- //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["Badge","Button","Sparkles","React","ExamplePage","FC","$","_c","t0","t1","Symbol","for","t2","t3","t4","t5","t6","t7","t8","t9"],"sources":["../src/components/example-page.tsx"],"sourcesContent":["import { Badge, Button } from '@motiadev/ui'\nimport { Sparkles } from 'lucide-react'\nimport type React from 'react'\n\nexport const ExamplePage: React.FC = () => {\n return (\n <div className=\"h-full w-full p-6 overflow-auto\">\n <div className=\"max-w-4xl mx-auto space-y-6\">\n <div className=\"flex items-center gap-3\">\n <Sparkles className=\"w-8 h-8 text-primary\" />\n <h1 className=\"text-3xl font-bold\">Example Plugin</h1>\n <Badge variant=\"info\">v1.0.0</Badge>\n </div>\n\n <p className=\"text-muted-foreground text-lg\">\n Welcome to the example plugin! This demonstrates the basic structure and functionality of a Motia plugin.\n </p>\n\n <div className=\"p-6 space-y-4\">\n <h2 className=\"text-xl font-semibold\">What is this?</h2>\n <p className=\"text-muted-foreground\">\n This is a minimal example plugin that shows how to create custom workbench tabs in Motia. Plugins can extend\n the Motia workbench with custom functionality, visualizations, and tools.\n </p>\n\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4 mt-6\">\n <div className=\"p-4 border rounded-lg\">\n <h3 className=\"font-semibold mb-2\">Easy to Create</h3>\n <p className=\"text-sm text-muted-foreground\">Build plugins with React, TypeScript, and Tailwind CSS</p>\n </div>\n <div className=\"p-4 border rounded-lg\">\n <h3 className=\"font-semibold mb-2\">Integrated</h3>\n <p className=\"text-sm text-muted-foreground\">Seamlessly integrate with Motia's workbench UI</p>\n </div>\n <div className=\"p-4 border rounded-lg\">\n <h3 className=\"font-semibold mb-2\">Powerful</h3>\n <p className=\"text-sm text-muted-foreground\">Access Motia's plugin context and APIs</p>\n </div>\n </div>\n\n <div className=\"flex gap-2 mt-6\">\n <Button variant=\"default\">\n <Sparkles className=\"w-4 h-4\" />\n Get Started\n </Button>\n <Button variant=\"outline\">View Documentation</Button>\n </div>\n </div>\n\n <div className=\"p-6 space-y-4\">\n <h2 className=\"text-xl font-semibold\">Plugin Features</h2>\n <ul className=\"list-disc list-inside space-y-2 text-muted-foreground\">\n <li>Custom workbench tabs with position control (top/bottom)</li>\n <li>Access to Motia's UI components library</li>\n <li>Integration with state management and APIs</li>\n <li>Real-time updates through streams</li>\n <li>TypeScript support with full type safety</li>\n </ul>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":";;;;;;AAIA,MAAaI,oBAAwB;CAAA,MAAAE,IAAAC,EAAA,GAAA;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAH,EAAA,OAAAI,OAAAC,IAAA,4BAAA,EAAA;AAI7BH,OAAA,qBAAA;GAAe,WAAA;;IACb,oBAAC,YAAmB,WAAA,yBACpB;wBAAA;KAAc,WAAA;eAAqB;MACnC;wBAAC;KAAc,SAAA;eAAO;MACxB;;IAAM;AAENC,OAAA,oBAAA;GAAa,WAAA;aAAgC;IAEzC;AAAAH,IAAA,KAAAE;AAAAF,IAAA,KAAAG;QAAA;AAAAD,OAAAF,EAAA;AAAAG,OAAAH,EAAA;;CAAA,IAAAM;CAAA,IAAAC;AAAA,KAAAP,EAAA,OAAAI,OAAAC,IAAA,4BAAA,EAAA;AAGFC,OAAA,oBAAA;GAAc,WAAA;aAAwB;IAAkB;AACxDC,OAAA,oBAAA;GAAa,WAAA;aAAwB;IAGjC;AAAAP,IAAA,KAAAM;AAAAN,IAAA,KAAAO;QAAA;AAAAD,OAAAN,EAAA;AAAAO,OAAAP,EAAA;;CAAA,IAAAQ;AAAA,KAAAR,EAAA,OAAAI,OAAAC,IAAA,4BAAA,EAAA;AAGFG,OAAA,qBAAA;GAAe,WAAA;cACb,oBAAA;IAAc,WAAA;cAAqB;KACnC,sBAAA;IAAa,WAAA;cAAgC;KAC/C;IAAM;AAAAR,IAAA,KAAAQ;OAAAA,MAAAR,EAAA;CAAA,IAAAS;AAAA,KAAAT,EAAA,OAAAI,OAAAC,IAAA,4BAAA,EAAA;AACNI,OAAA,qBAAA;GAAe,WAAA;cACb,oBAAA;IAAc,WAAA;cAAqB;KACnC,sBAAA;IAAa,WAAA;cAAgC;KAC/C;IAAM;AAAAT,IAAA,KAAAS;OAAAA,MAAAT,EAAA;CAAA,IAAAU;AAAA,KAAAV,EAAA,OAAAI,OAAAC,IAAA,4BAAA,EAAA;AARRK,OAAA,qBAAA;GAAe,WAAA;;IACbF;IAIAC;IAIA,qBAAA;KAAe,WAAA;gBACb,oBAAA;MAAc,WAAA;gBAAqB;OACnC,sBAAA;MAAa,WAAA;gBAAgC;OAC/C;MACF;;IAAM;AAAAT,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CAAA,IAAAW;AAAA,KAAAX,EAAA,OAAAI,OAAAC,IAAA,4BAAA,EAAA;AApBRM,OAAA,qBAAA;GAAe,WAAA;;IACbL;IACAC;IAKAG;IAeA,qBAAA;KAAe,WAAA;gBACb,qBAAC;MAAe,SAAA;iBACd,oBAAC,YAAmB,WAAA,YAAY;OAGlC,sBAAC;MAAe,SAAA;gBAAU;OAC5B;MACF;;IAAM;AAAAV,IAAA,KAAAW;OAAAA,MAAAX,EAAA;CAAA,IAAAY;AAAA,KAAAZ,EAAA,OAAAI,OAAAC,IAAA,4BAAA,EAAA;AAGJO,OAAA,oBAAA;GAAc,WAAA;aAAwB;IAAoB;AAAAZ,IAAA,KAAAY;OAAAA,MAAAZ,EAAA;CAAA,IAAAa;AAAA,KAAAb,EAAA,OAAAI,OAAAC,IAAA,4BAAA,EAAA;AA5ChEQ,OAAA,oBAAA;GAAe,WAAA;aACb,qBAAA;IAAe,WAAA;;KACbX;KAMAC;KAIAQ;KA+BA,qBAAA;MAAe,WAAA;iBACbC,IACA,qBAAA;OAAc,WAAA;;QACZ,oBAAA,kBAAI,6DACJ;4BAAA,kBAAI,4CACJ;4BAAA,kBAAI,+CACJ;4BAAA,kBAAI,sCACJ;4BAAA,kBAAI,6CACN;;QACF;OACF;;KACF;IAAM;AAAAZ,IAAA,KAAAa;OAAAA,MAAAb,EAAA;AAAA,QAtDNa"}
1
+ {"version":3,"file":"index.js","names":["Badge","Button","Sparkles","React","ExamplePage","FC","$","_c","$i","Symbol","for","t0","t1","t2","t3","t4","t5","t6","t7","t8","t9"],"sources":["../src/components/example-page.tsx"],"sourcesContent":["import { Badge, Button } from '@motiadev/ui'\nimport { Sparkles } from 'lucide-react'\nimport type React from 'react'\n\nexport const ExamplePage: React.FC = () => {\n return (\n <div className=\"h-full w-full p-6 overflow-auto\">\n <div className=\"max-w-4xl mx-auto space-y-6\">\n <div className=\"flex items-center gap-3\">\n <Sparkles className=\"w-8 h-8 text-primary\" />\n <h1 className=\"text-3xl font-bold\">Example Plugin</h1>\n <Badge variant=\"info\">v1.0.0</Badge>\n </div>\n\n <p className=\"text-muted-foreground text-lg\">\n Welcome to the example plugin! This demonstrates the basic structure and functionality of a Motia plugin.\n </p>\n\n <div className=\"p-6 space-y-4\">\n <h2 className=\"text-xl font-semibold\">What is this?</h2>\n <p className=\"text-muted-foreground\">\n This is a minimal example plugin that shows how to create custom workbench tabs in Motia. Plugins can extend\n the Motia workbench with custom functionality, visualizations, and tools.\n </p>\n\n <div className=\"grid grid-cols-1 md:grid-cols-3 gap-4 mt-6\">\n <div className=\"p-4 border rounded-lg\">\n <h3 className=\"font-semibold mb-2\">Easy to Create</h3>\n <p className=\"text-sm text-muted-foreground\">Build plugins with React, TypeScript, and Tailwind CSS</p>\n </div>\n <div className=\"p-4 border rounded-lg\">\n <h3 className=\"font-semibold mb-2\">Integrated</h3>\n <p className=\"text-sm text-muted-foreground\">Seamlessly integrate with Motia's workbench UI</p>\n </div>\n <div className=\"p-4 border rounded-lg\">\n <h3 className=\"font-semibold mb-2\">Powerful</h3>\n <p className=\"text-sm text-muted-foreground\">Access Motia's plugin context and APIs</p>\n </div>\n </div>\n\n <div className=\"flex gap-2 mt-6\">\n <Button variant=\"default\">\n <Sparkles className=\"w-4 h-4\" />\n Get Started\n </Button>\n <Button variant=\"outline\">View Documentation</Button>\n </div>\n </div>\n\n <div className=\"p-6 space-y-4\">\n <h2 className=\"text-xl font-semibold\">Plugin Features</h2>\n <ul className=\"list-disc list-inside space-y-2 text-muted-foreground\">\n <li>Custom workbench tabs with position control (top/bottom)</li>\n <li>Access to Motia's UI components library</li>\n <li>Integration with state management and APIs</li>\n <li>Real-time updates through streams</li>\n <li>TypeScript support with full type safety</li>\n </ul>\n </div>\n </div>\n </div>\n )\n}\n"],"mappings":";;;;;;AAIA,MAAaI,oBAAwB;CAAA,MAAAE,IAAAC,EAAA,GAAA;AAAA,KAAAD,EAAA,OAAA,oEAAA;AAAA,OAAA,IAAAE,KAAA,GAAAA,KAAA,IAAAA,MAAA,EAAAF,GAAAE,MAAAC,OAAAC,IAAA,4BAAA;AAAAJ,IAAA,KAAA;;CAAA,IAAAK;CAAA,IAAAC;AAAA,KAAAN,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AAI7BC,OAAA,qBAAA;GAAe,WAAA;;IACb,oBAAC,YAAmB,WAAA,yBACpB;wBAAA;KAAc,WAAA;eAAqB;MACnC;wBAAC;KAAc,SAAA;eAAO;MACxB;;IAAM;AAENC,OAAA,oBAAA;GAAa,WAAA;aAAgC;IAEzC;AAAAN,IAAA,KAAAK;AAAAL,IAAA,KAAAM;QAAA;AAAAD,OAAAL,EAAA;AAAAM,OAAAN,EAAA;;CAAA,IAAAO;CAAA,IAAAC;AAAA,KAAAR,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AAGFG,OAAA,oBAAA;GAAc,WAAA;aAAwB;IAAkB;AACxDC,OAAA,oBAAA;GAAa,WAAA;aAAwB;IAGjC;AAAAR,IAAA,KAAAO;AAAAP,IAAA,KAAAQ;QAAA;AAAAD,OAAAP,EAAA;AAAAQ,OAAAR,EAAA;;CAAA,IAAAS;AAAA,KAAAT,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AAGFK,OAAA,qBAAA;GAAe,WAAA;cACb,oBAAA;IAAc,WAAA;cAAqB;KACnC,sBAAA;IAAa,WAAA;cAAgC;KAC/C;IAAM;AAAAT,IAAA,KAAAS;OAAAA,MAAAT,EAAA;CAAA,IAAAU;AAAA,KAAAV,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AACNM,OAAA,qBAAA;GAAe,WAAA;cACb,oBAAA;IAAc,WAAA;cAAqB;KACnC,sBAAA;IAAa,WAAA;cAAgC;KAC/C;IAAM;AAAAV,IAAA,KAAAU;OAAAA,MAAAV,EAAA;CAAA,IAAAW;AAAA,KAAAX,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AARRO,OAAA,qBAAA;GAAe,WAAA;;IACbF;IAIAC;IAIA,qBAAA;KAAe,WAAA;gBACb,oBAAA;MAAc,WAAA;gBAAqB;OACnC,sBAAA;MAAa,WAAA;gBAAgC;OAC/C;MACF;;IAAM;AAAAV,IAAA,KAAAW;OAAAA,MAAAX,EAAA;CAAA,IAAAY;AAAA,KAAAZ,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AApBRQ,OAAA,qBAAA;GAAe,WAAA;;IACbL;IACAC;IAKAG;IAeA,qBAAA;KAAe,WAAA;gBACb,qBAAC;MAAe,SAAA;iBACd,oBAAC,YAAmB,WAAA,YAAY;OAGlC,sBAAC;MAAe,SAAA;gBAAU;OAC5B;MACF;;IAAM;AAAAX,IAAA,KAAAY;OAAAA,MAAAZ,EAAA;CAAA,IAAAa;AAAA,KAAAb,EAAA,OAAAG,OAAAC,IAAA,4BAAA,EAAA;AAGJS,OAAA,oBAAA;GAAc,WAAA;aAAwB;IAAoB;AAAAb,IAAA,KAAAa;OAAAA,MAAAb,EAAA;CAAA,IAAAc;AAAA,KAAAd,EAAA,QAAAG,OAAAC,IAAA,4BAAA,EAAA;AA5ChEU,OAAA,oBAAA;GAAe,WAAA;aACb,qBAAA;IAAe,WAAA;;KACbT;KAMAC;KAIAM;KA+BA,qBAAA;MAAe,WAAA;iBACbC,IACA,qBAAA;OAAc,WAAA;;QACZ,oBAAA,kBAAI,6DACJ;4BAAA,kBAAI,4CACJ;4BAAA,kBAAI,+CACJ;4BAAA,kBAAI,sCACJ;4BAAA,kBAAI,6CACN;;QACF;OACF;;KACF;IAAM;AAAAb,IAAA,MAAAc;OAAAA,MAAAd,EAAA;AAAA,QAtDNc"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@motiadev/plugin-example",
3
- "version": "0.14.0-beta.165-076789",
3
+ "version": "0.14.0-beta.165-634707",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,14 +17,13 @@
17
17
  "react": "^19.2.0"
18
18
  },
19
19
  "peerDependencies": {
20
- "@motiadev/core": "0.14.0-beta.165-076789",
21
- "@motiadev/ui": "0.14.0-beta.165-076789"
20
+ "@motiadev/core": "0.14.0-beta.165-634707",
21
+ "@motiadev/ui": "0.14.0-beta.165-634707"
22
22
  },
23
23
  "devDependencies": {
24
- "@bosh-code/tsdown-plugin-inject-css": "^2.0.0",
25
- "@bosh-code/tsdown-plugin-tailwindcss": "^1.0.1",
26
24
  "@rollup/plugin-babel": "^6.1.0",
27
25
  "@tailwindcss/postcss": "^4.1.17",
26
+ "rollup-plugin-postcss": "^4.0.2",
28
27
  "@types/node": "^24.10.1",
29
28
  "@types/react": "^19.2.7",
30
29
  "babel-plugin-react-compiler": "^1.0.0",