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

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
- # {{PROJECT_NAME}}
1
+ # @motiadev/plugin-example
2
2
 
3
3
  A minimal example plugin demonstrating the Motia plugin system.
4
4
 
@@ -7,11 +7,9 @@ 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 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
10
+ - Creating custom workbench tabs
11
+ - Using Motia's UI component library
12
+ - Building with Vite and TypeScript
15
13
 
16
14
  ## Installation
17
15
 
@@ -37,73 +35,29 @@ pnpm run clean
37
35
  To use this plugin in your Motia project, import it in your `motia.config.ts`:
38
36
 
39
37
  ```typescript
40
- import examplePlugin from '{{PROJECT_NAME}}/plugin'
38
+ import examplePlugin from '@motiadev/plugin-example/plugin'
41
39
 
42
40
  export default {
43
41
  plugins: [examplePlugin],
44
42
  }
45
43
  ```
46
44
 
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
-
81
45
  ## Structure
82
46
 
83
47
  ```
84
- {{PROJECT_NAME}}/
48
+ plugin-example/
85
49
  ├── src/
86
50
  │ ├── components/
87
51
  │ │ └── example-page.tsx # Main UI component
88
- │ ├── index.ts # Package entry point (exports components)
52
+ │ ├── index.ts # Package entry point
89
53
  │ ├── plugin.ts # Plugin definition
90
- │ └── styles.css # Tailwind CSS styles
91
- ├── dist/ # Build output
54
+ │ └── styles.css # Tailwind styles
92
55
  ├── package.json
93
56
  ├── tsconfig.json
94
- ├── tsdown.config.ts # Build configuration
95
- ├── postcss.config.js # PostCSS/Tailwind config
57
+ ├── vite.config.ts
96
58
  └── README.md
97
59
  ```
98
60
 
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
-
107
61
  ## Learn More
108
62
 
109
63
  For detailed documentation on creating plugins, see the [Plugins Guide](../../packages/docs/content/docs/development-guide/plugins.mdx).
package/dist/index.css CHANGED
@@ -664,3 +664,6 @@
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":["export default undefined;"],"mappings":"AAAA"}
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"}
package/dist/index.js CHANGED
@@ -5,14 +5,10 @@ import { jsx, jsxs } from "react/jsx-runtime";
5
5
 
6
6
  //#region src/components/example-page.tsx
7
7
  const ExamplePage = () => {
8
- const $ = c(11);
9
- if ($[0] !== "51e69a0140a0b08d2c26f5602802dc8c1950cff6d360be01eb5b60d2b8aae975") {
10
- for (let $i = 0; $i < 11; $i += 1) $[$i] = Symbol.for("react.memo_cache_sentinel");
11
- $[0] = "51e69a0140a0b08d2c26f5602802dc8c1950cff6d360be01eb5b60d2b8aae975";
12
- }
8
+ const $ = c(10);
13
9
  let t0;
14
10
  let t1;
15
- if ($[1] === Symbol.for("react.memo_cache_sentinel")) {
11
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
16
12
  t0 = /* @__PURE__ */ jsxs("div", {
17
13
  className: "flex items-center gap-3",
18
14
  children: [
@@ -31,15 +27,15 @@ const ExamplePage = () => {
31
27
  className: "text-muted-foreground text-lg",
32
28
  children: "Welcome to the example plugin! This demonstrates the basic structure and functionality of a Motia plugin."
33
29
  });
34
- $[1] = t0;
35
- $[2] = t1;
30
+ $[0] = t0;
31
+ $[1] = t1;
36
32
  } else {
37
- t0 = $[1];
38
- t1 = $[2];
33
+ t0 = $[0];
34
+ t1 = $[1];
39
35
  }
40
36
  let t2;
41
37
  let t3;
42
- if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
38
+ if ($[2] === Symbol.for("react.memo_cache_sentinel")) {
43
39
  t2 = /* @__PURE__ */ jsx("h2", {
44
40
  className: "text-xl font-semibold",
45
41
  children: "What is this?"
@@ -48,14 +44,14 @@ const ExamplePage = () => {
48
44
  className: "text-muted-foreground",
49
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."
50
46
  });
51
- $[3] = t2;
52
- $[4] = t3;
47
+ $[2] = t2;
48
+ $[3] = t3;
53
49
  } else {
54
- t2 = $[3];
55
- t3 = $[4];
50
+ t2 = $[2];
51
+ t3 = $[3];
56
52
  }
57
53
  let t4;
58
- if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
54
+ if ($[4] === Symbol.for("react.memo_cache_sentinel")) {
59
55
  t4 = /* @__PURE__ */ jsxs("div", {
60
56
  className: "p-4 border rounded-lg",
61
57
  children: [/* @__PURE__ */ jsx("h3", {
@@ -66,10 +62,10 @@ const ExamplePage = () => {
66
62
  children: "Build plugins with React, TypeScript, and Tailwind CSS"
67
63
  })]
68
64
  });
69
- $[5] = t4;
70
- } else t4 = $[5];
65
+ $[4] = t4;
66
+ } else t4 = $[4];
71
67
  let t5;
72
- if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
68
+ if ($[5] === Symbol.for("react.memo_cache_sentinel")) {
73
69
  t5 = /* @__PURE__ */ jsxs("div", {
74
70
  className: "p-4 border rounded-lg",
75
71
  children: [/* @__PURE__ */ jsx("h3", {
@@ -80,10 +76,10 @@ const ExamplePage = () => {
80
76
  children: "Seamlessly integrate with Motia's workbench UI"
81
77
  })]
82
78
  });
83
- $[6] = t5;
84
- } else t5 = $[6];
79
+ $[5] = t5;
80
+ } else t5 = $[5];
85
81
  let t6;
86
- if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
82
+ if ($[6] === Symbol.for("react.memo_cache_sentinel")) {
87
83
  t6 = /* @__PURE__ */ jsxs("div", {
88
84
  className: "grid grid-cols-1 md:grid-cols-3 gap-4 mt-6",
89
85
  children: [
@@ -101,10 +97,10 @@ const ExamplePage = () => {
101
97
  })
102
98
  ]
103
99
  });
104
- $[7] = t6;
105
- } else t6 = $[7];
100
+ $[6] = t6;
101
+ } else t6 = $[6];
106
102
  let t7;
107
- if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
103
+ if ($[7] === Symbol.for("react.memo_cache_sentinel")) {
108
104
  t7 = /* @__PURE__ */ jsxs("div", {
109
105
  className: "p-6 space-y-4",
110
106
  children: [
@@ -123,18 +119,18 @@ const ExamplePage = () => {
123
119
  })
124
120
  ]
125
121
  });
126
- $[8] = t7;
127
- } else t7 = $[8];
122
+ $[7] = t7;
123
+ } else t7 = $[7];
128
124
  let t8;
129
- if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
125
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
130
126
  t8 = /* @__PURE__ */ jsx("h2", {
131
127
  className: "text-xl font-semibold",
132
128
  children: "Plugin Features"
133
129
  });
134
- $[9] = t8;
135
- } else t8 = $[9];
130
+ $[8] = t8;
131
+ } else t8 = $[8];
136
132
  let t9;
137
- if ($[10] === Symbol.for("react.memo_cache_sentinel")) {
133
+ if ($[9] === Symbol.for("react.memo_cache_sentinel")) {
138
134
  t9 = /* @__PURE__ */ jsx("div", {
139
135
  className: "h-full w-full p-6 overflow-auto",
140
136
  children: /* @__PURE__ */ jsxs("div", {
@@ -159,8 +155,8 @@ const ExamplePage = () => {
159
155
  ]
160
156
  })
161
157
  });
162
- $[10] = t9;
163
- } else t9 = $[10];
158
+ $[9] = t9;
159
+ } else t9 = $[9];
164
160
  return t9;
165
161
  };
166
162
 
package/dist/index.js.map CHANGED
@@ -1 +1 @@
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"}
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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@motiadev/plugin-example",
3
- "version": "0.14.0-beta.165-592231",
3
+ "version": "0.14.0-beta.165-076789",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -17,13 +17,14 @@
17
17
  "react": "^19.2.0"
18
18
  },
19
19
  "peerDependencies": {
20
- "@motiadev/core": "0.14.0-beta.165-592231",
21
- "@motiadev/ui": "0.14.0-beta.165-592231"
20
+ "@motiadev/core": "0.14.0-beta.165-076789",
21
+ "@motiadev/ui": "0.14.0-beta.165-076789"
22
22
  },
23
23
  "devDependencies": {
24
+ "@bosh-code/tsdown-plugin-inject-css": "^2.0.0",
25
+ "@bosh-code/tsdown-plugin-tailwindcss": "^1.0.1",
24
26
  "@rollup/plugin-babel": "^6.1.0",
25
27
  "@tailwindcss/postcss": "^4.1.17",
26
- "rollup-plugin-postcss": "^4.0.2",
27
28
  "@types/node": "^24.10.1",
28
29
  "@types/react": "^19.2.7",
29
30
  "babel-plugin-react-compiler": "^1.0.0",