@flightdev/ui 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/.turbo/turbo-build.log +81 -0
  2. package/.turbo/turbo-lint.log +40 -0
  3. package/.turbo/turbo-typecheck.log +4 -0
  4. package/LICENSE +21 -0
  5. package/README.md +92 -0
  6. package/TESTING.md +124 -0
  7. package/dist/adapter-MMD-iHNx.d.ts +424 -0
  8. package/dist/adapters/tier-1/angular.d.ts +60 -0
  9. package/dist/adapters/tier-1/angular.js +2 -0
  10. package/dist/adapters/tier-1/index.d.ts +7 -0
  11. package/dist/adapters/tier-1/index.js +7 -0
  12. package/dist/adapters/tier-1/qwik.d.ts +55 -0
  13. package/dist/adapters/tier-1/qwik.js +2 -0
  14. package/dist/adapters/tier-1/react.d.ts +67 -0
  15. package/dist/adapters/tier-1/react.js +2 -0
  16. package/dist/adapters/tier-1/solid.d.ts +45 -0
  17. package/dist/adapters/tier-1/solid.js +2 -0
  18. package/dist/adapters/tier-1/svelte.d.ts +48 -0
  19. package/dist/adapters/tier-1/svelte.js +2 -0
  20. package/dist/adapters/tier-1/vue.d.ts +47 -0
  21. package/dist/adapters/tier-1/vue.js +2 -0
  22. package/dist/adapters/tier-2/index.d.ts +7 -0
  23. package/dist/adapters/tier-2/index.js +7 -0
  24. package/dist/adapters/tier-2/inferno.d.ts +31 -0
  25. package/dist/adapters/tier-2/inferno.js +2 -0
  26. package/dist/adapters/tier-2/lit.d.ts +34 -0
  27. package/dist/adapters/tier-2/lit.js +2 -0
  28. package/dist/adapters/tier-2/marko.d.ts +59 -0
  29. package/dist/adapters/tier-2/marko.js +2 -0
  30. package/dist/adapters/tier-2/mithril.d.ts +31 -0
  31. package/dist/adapters/tier-2/mithril.js +2 -0
  32. package/dist/adapters/tier-2/preact.d.ts +33 -0
  33. package/dist/adapters/tier-2/preact.js +2 -0
  34. package/dist/adapters/tier-2/stencil.d.ts +52 -0
  35. package/dist/adapters/tier-2/stencil.js +2 -0
  36. package/dist/adapters/tier-3/alpine.d.ts +73 -0
  37. package/dist/adapters/tier-3/alpine.js +2 -0
  38. package/dist/adapters/tier-3/hotwire.d.ts +71 -0
  39. package/dist/adapters/tier-3/hotwire.js +2 -0
  40. package/dist/adapters/tier-3/htmx.d.ts +88 -0
  41. package/dist/adapters/tier-3/htmx.js +2 -0
  42. package/dist/adapters/tier-3/index.d.ts +7 -0
  43. package/dist/adapters/tier-3/index.js +7 -0
  44. package/dist/adapters/tier-3/petite-vue.d.ts +56 -0
  45. package/dist/adapters/tier-3/petite-vue.js +2 -0
  46. package/dist/adapters/tier-3/stimulus.d.ts +63 -0
  47. package/dist/adapters/tier-3/stimulus.js +2 -0
  48. package/dist/adapters/tier-3/vanilla.d.ts +63 -0
  49. package/dist/adapters/tier-3/vanilla.js +2 -0
  50. package/dist/chunk-2SNQ6PTM.js +217 -0
  51. package/dist/chunk-3D4XMIZI.js +136 -0
  52. package/dist/chunk-3HU6GSQ4.js +125 -0
  53. package/dist/chunk-4PZDNFL7.js +148 -0
  54. package/dist/chunk-5IBLFTYL.js +114 -0
  55. package/dist/chunk-64JZJ7OK.js +142 -0
  56. package/dist/chunk-7ZJI3QU2.js +132 -0
  57. package/dist/chunk-CE4FJHQJ.js +133 -0
  58. package/dist/chunk-DTCAUBH5.js +87 -0
  59. package/dist/chunk-NTASPOHG.js +106 -0
  60. package/dist/chunk-OI2AMQLG.js +152 -0
  61. package/dist/chunk-Q7HUE44H.js +106 -0
  62. package/dist/chunk-QH3LOWXU.js +155 -0
  63. package/dist/chunk-QIVAK6BH.js +103 -0
  64. package/dist/chunk-V34XPVGK.js +103 -0
  65. package/dist/chunk-VK7ZPMO7.js +221 -0
  66. package/dist/chunk-X6CNUW6T.js +136 -0
  67. package/dist/chunk-XTDK7ME5.js +382 -0
  68. package/dist/chunk-YFGSHW5S.js +121 -0
  69. package/dist/chunk-ZAJVSE7J.js +90 -0
  70. package/dist/core/index.d.ts +161 -0
  71. package/dist/core/index.js +2 -0
  72. package/dist/index.d.ts +103 -0
  73. package/dist/index.js +71 -0
  74. package/docs/ADAPTERS.md +946 -0
  75. package/docs/PATTERNS.md +836 -0
  76. package/package.json +229 -0
  77. package/src/adapters/tier-1/angular.ts +223 -0
  78. package/src/adapters/tier-1/index.ts +12 -0
  79. package/src/adapters/tier-1/qwik.ts +177 -0
  80. package/src/adapters/tier-1/react.ts +330 -0
  81. package/src/adapters/tier-1/solid.ts +222 -0
  82. package/src/adapters/tier-1/svelte.ts +211 -0
  83. package/src/adapters/tier-1/vue.ts +234 -0
  84. package/src/adapters/tier-2/index.ts +12 -0
  85. package/src/adapters/tier-2/inferno.ts +149 -0
  86. package/src/adapters/tier-2/lit.ts +191 -0
  87. package/src/adapters/tier-2/marko.ts +199 -0
  88. package/src/adapters/tier-2/mithril.ts +152 -0
  89. package/src/adapters/tier-2/preact.ts +133 -0
  90. package/src/adapters/tier-2/stencil.ts +214 -0
  91. package/src/adapters/tier-3/alpine.ts +218 -0
  92. package/src/adapters/tier-3/hotwire.ts +254 -0
  93. package/src/adapters/tier-3/htmx.ts +263 -0
  94. package/src/adapters/tier-3/index.ts +12 -0
  95. package/src/adapters/tier-3/petite-vue.ts +163 -0
  96. package/src/adapters/tier-3/stimulus.ts +233 -0
  97. package/src/adapters/tier-3/vanilla.ts +252 -0
  98. package/src/ambient.d.ts +310 -0
  99. package/src/core/adapter.ts +366 -0
  100. package/src/core/index.ts +56 -0
  101. package/src/core/registry.ts +518 -0
  102. package/src/core/types.ts +461 -0
  103. package/src/htmx.ts +134 -0
  104. package/src/index.ts +263 -0
  105. package/test/__mocks__/stencil-core.ts +19 -0
  106. package/test/__mocks__/stencil-hydrate.ts +15 -0
  107. package/test/adapters/tier-1.test.ts +206 -0
  108. package/test/adapters/tier-2.test.ts +175 -0
  109. package/test/adapters/tier-3.test.ts +284 -0
  110. package/test/contracts/adapter.contract.ts +293 -0
  111. package/test/core/core.test.ts +310 -0
  112. package/test/errors/error-handling.test.ts +454 -0
  113. package/test/integration/htmx.integration.test.ts +246 -0
  114. package/test/integration/react.integration.test.ts +271 -0
  115. package/test/integration/registry.integration.test.ts +308 -0
  116. package/tsconfig.json +22 -0
  117. package/tsup.config.ts +93 -0
  118. package/vitest.config.ts +101 -0
@@ -0,0 +1,48 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - Svelte Adapter (Tier 1)
5
+ *
6
+ * Full-featured Svelte 5 SSR adapter with hydration support.
7
+ *
8
+ * @module @flightdev/ui/svelte
9
+ * @version 2.0.0
10
+ */
11
+
12
+ interface SvelteAdapterOptions {
13
+ /** Svelte compile options */
14
+ compileOptions?: Record<string, unknown>;
15
+ /** Enable CSS extraction */
16
+ extractCss?: boolean;
17
+ }
18
+ declare class SvelteAdapter extends BaseUIAdapter {
19
+ private options;
20
+ readonly id = "svelte";
21
+ readonly name = "Svelte";
22
+ readonly framework = "svelte";
23
+ readonly frameworkVersion = "5+";
24
+ readonly tier: "tier-1";
25
+ readonly capabilities: AdapterCapabilities;
26
+ constructor(options?: SvelteAdapterOptions);
27
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
28
+ /**
29
+ * Fallback render for Svelte 4
30
+ */
31
+ private renderSvelte4;
32
+ getHydrationScript(result: RenderResult): string;
33
+ getClientEntry(): string;
34
+ }
35
+ /**
36
+ * Create a Svelte UI adapter.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * import { svelte } from '@flightdev/ui/svelte';
41
+ * import { defineUI } from '@flightdev/ui';
42
+ *
43
+ * export default defineUI(svelte());
44
+ * ```
45
+ */
46
+ declare function svelte(options?: SvelteAdapterOptions): SvelteAdapter;
47
+
48
+ export { SvelteAdapter, type SvelteAdapterOptions, svelte as default, svelte };
@@ -0,0 +1,2 @@
1
+ export { SvelteAdapter, svelte_default as default, svelte } from '../../chunk-X6CNUW6T.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,47 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult, S as StreamingOptions, g as StreamingRenderResult } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - Vue 3 Adapter (Tier 1)
5
+ *
6
+ * Full-featured Vue 3 SSR adapter with streaming and hydration support.
7
+ *
8
+ * @module @flightdev/ui/vue
9
+ * @version 2.0.0
10
+ */
11
+
12
+ interface VueAdapterOptions {
13
+ /** Enable streaming SSR with renderToWebStream */
14
+ streaming?: boolean;
15
+ /** Vue app configuration callback */
16
+ configureApp?: (app: unknown) => void;
17
+ /** Enable teleports rendering */
18
+ renderTeleports?: boolean;
19
+ }
20
+ declare class VueAdapter extends BaseUIAdapter {
21
+ private options;
22
+ readonly id = "vue";
23
+ readonly name = "Vue";
24
+ readonly framework = "vue";
25
+ readonly frameworkVersion = "3+";
26
+ readonly tier: "tier-1";
27
+ readonly capabilities: AdapterCapabilities;
28
+ constructor(options?: VueAdapterOptions);
29
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
30
+ renderToStream(component: Component, _context?: RenderContext, options?: StreamingOptions): StreamingRenderResult;
31
+ getHydrationScript(result: RenderResult): string;
32
+ getClientEntry(): string;
33
+ }
34
+ /**
35
+ * Create a Vue 3 UI adapter.
36
+ *
37
+ * @example
38
+ * ```typescript
39
+ * import { vue } from '@flightdev/ui/vue';
40
+ * import { defineUI } from '@flightdev/ui';
41
+ *
42
+ * export default defineUI(vue({ streaming: true }));
43
+ * ```
44
+ */
45
+ declare function vue(options?: VueAdapterOptions): VueAdapter;
46
+
47
+ export { VueAdapter, type VueAdapterOptions, vue as default, vue };
@@ -0,0 +1,2 @@
1
+ export { VueAdapter, vue_default as default, vue } from '../../chunk-QH3LOWXU.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,7 @@
1
+ export { MarkoAdapter, MarkoAdapterOptions, MarkoTemplate, default as marko } from './marko.js';
2
+ export { StencilAdapter, StencilAdapterOptions, default as stencil } from './stencil.js';
3
+ export { PreactAdapter, PreactAdapterOptions, default as preact } from './preact.js';
4
+ export { LitAdapter, LitAdapterOptions, default as lit } from './lit.js';
5
+ export { MithrilAdapter, MithrilAdapterOptions, default as mithril } from './mithril.js';
6
+ export { InfernoAdapter, InfernoAdapterOptions, default as inferno } from './inferno.js';
7
+ import '../../adapter-MMD-iHNx.js';
@@ -0,0 +1,7 @@
1
+ export { InfernoAdapter, inferno } from '../../chunk-QIVAK6BH.js';
2
+ export { LitAdapter, lit } from '../../chunk-YFGSHW5S.js';
3
+ export { MarkoAdapter, marko } from '../../chunk-5IBLFTYL.js';
4
+ export { MithrilAdapter, mithril } from '../../chunk-V34XPVGK.js';
5
+ export { PreactAdapter, preact } from '../../chunk-DTCAUBH5.js';
6
+ export { StencilAdapter, stencil } from '../../chunk-3HU6GSQ4.js';
7
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,31 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - Inferno Adapter (Tier 2)
5
+ *
6
+ * Inferno adapter - blazingly fast React-like library.
7
+ *
8
+ * @module @flightdev/ui/inferno
9
+ * @version 2.0.0
10
+ */
11
+
12
+ interface InfernoAdapterOptions {
13
+ /** Enable JSX compatibility mode */
14
+ jsxCompat?: boolean;
15
+ }
16
+ declare class InfernoAdapter extends BaseUIAdapter {
17
+ private options;
18
+ readonly id = "inferno";
19
+ readonly name = "Inferno";
20
+ readonly framework = "inferno";
21
+ readonly frameworkVersion = "8+";
22
+ readonly tier: "tier-2";
23
+ readonly capabilities: AdapterCapabilities;
24
+ constructor(options?: InfernoAdapterOptions);
25
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
26
+ getHydrationScript(result: RenderResult): string;
27
+ getClientEntry(): string;
28
+ }
29
+ declare function inferno(options?: InfernoAdapterOptions): InfernoAdapter;
30
+
31
+ export { InfernoAdapter, type InfernoAdapterOptions, inferno as default, inferno };
@@ -0,0 +1,2 @@
1
+ export { InfernoAdapter, inferno_default as default, inferno } from '../../chunk-QIVAK6BH.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,34 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult, h as IslandOptions, i as Island } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - Lit Adapter (Tier 2)
5
+ *
6
+ * Lit Web Components adapter with SSR support.
7
+ *
8
+ * @module @flightdev/ui/lit
9
+ * @version 2.0.0
10
+ */
11
+
12
+ interface LitAdapterOptions {
13
+ /** Enable declarative shadow DOM */
14
+ declarativeShadowDom?: boolean;
15
+ /** Defer hydration */
16
+ deferHydration?: boolean;
17
+ }
18
+ declare class LitAdapter extends BaseUIAdapter {
19
+ private options;
20
+ readonly id = "lit";
21
+ readonly name = "Lit";
22
+ readonly framework = "lit";
23
+ readonly frameworkVersion = "3+";
24
+ readonly tier: "tier-2";
25
+ readonly capabilities: AdapterCapabilities;
26
+ constructor(options?: LitAdapterOptions);
27
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
28
+ createIsland(component: unknown, props?: Record<string, unknown>, options?: IslandOptions): Island;
29
+ getHydrationScript(result: RenderResult): string;
30
+ getClientEntry(): string;
31
+ }
32
+ declare function lit(options?: LitAdapterOptions): LitAdapter;
33
+
34
+ export { LitAdapter, type LitAdapterOptions, lit as default, lit };
@@ -0,0 +1,2 @@
1
+ export { LitAdapter, lit_default as default, lit } from '../../chunk-YFGSHW5S.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,59 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult, S as StreamingOptions, g as StreamingRenderResult } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - Marko Adapter (Tier 2)
5
+ *
6
+ * Marko adapter with streaming SSR - pioneered by eBay.
7
+ *
8
+ * @module @flightdev/ui/marko
9
+ * @version 2.0.0
10
+ */
11
+
12
+ /**
13
+ * Marko template interface
14
+ */
15
+ interface MarkoTemplate {
16
+ render(input: Record<string, unknown>): MarkoRenderResult;
17
+ renderToString(input: Record<string, unknown>): Promise<string>;
18
+ }
19
+ interface MarkoRenderResult {
20
+ toString(): Promise<string>;
21
+ pipe(stream: NodeJS.WritableStream): void;
22
+ on(event: 'data', callback: (chunk: Uint8Array) => void): void;
23
+ on(event: 'end', callback: () => void): void;
24
+ on(event: 'error', callback: (error: Error) => void): void;
25
+ }
26
+ interface MarkoAdapterOptions {
27
+ /** Enable streaming SSR */
28
+ streaming?: boolean;
29
+ /** Global template data */
30
+ globalData?: Record<string, unknown>;
31
+ }
32
+ declare class MarkoAdapter extends BaseUIAdapter {
33
+ private options;
34
+ readonly id = "marko";
35
+ readonly name = "Marko";
36
+ readonly framework = "marko";
37
+ readonly frameworkVersion = "5+";
38
+ readonly tier: "tier-2";
39
+ readonly capabilities: AdapterCapabilities;
40
+ constructor(options?: MarkoAdapterOptions);
41
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
42
+ renderToStream(component: Component, _context?: RenderContext, options?: StreamingOptions): StreamingRenderResult;
43
+ getHydrationScript(result: RenderResult): string;
44
+ getClientEntry(): string;
45
+ }
46
+ /**
47
+ * Create a Marko UI adapter.
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * import { marko } from '@flightdev/ui/marko';
52
+ * import { defineUI } from '@flightdev/ui';
53
+ *
54
+ * export default defineUI(marko({ streaming: true }));
55
+ * ```
56
+ */
57
+ declare function marko(options?: MarkoAdapterOptions): MarkoAdapter;
58
+
59
+ export { MarkoAdapter, type MarkoAdapterOptions, type MarkoRenderResult, type MarkoTemplate, marko as default, marko };
@@ -0,0 +1,2 @@
1
+ export { MarkoAdapter, marko_default as default, marko } from '../../chunk-5IBLFTYL.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,31 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - Mithril Adapter (Tier 2)
5
+ *
6
+ * Mithril.js adapter - ultra-lightweight (9kb) SPA framework.
7
+ *
8
+ * @module @flightdev/ui/mithril
9
+ * @version 2.0.0
10
+ */
11
+
12
+ interface MithrilAdapterOptions {
13
+ /** Enable strict mode */
14
+ strict?: boolean;
15
+ }
16
+ declare class MithrilAdapter extends BaseUIAdapter {
17
+ private options;
18
+ readonly id = "mithril";
19
+ readonly name = "Mithril";
20
+ readonly framework = "mithril";
21
+ readonly frameworkVersion = "2+";
22
+ readonly tier: "tier-2";
23
+ readonly capabilities: AdapterCapabilities;
24
+ constructor(options?: MithrilAdapterOptions);
25
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
26
+ getHydrationScript(result: RenderResult): string;
27
+ getClientEntry(): string;
28
+ }
29
+ declare function mithril(options?: MithrilAdapterOptions): MithrilAdapter;
30
+
31
+ export { MithrilAdapter, type MithrilAdapterOptions, mithril as default, mithril };
@@ -0,0 +1,2 @@
1
+ export { MithrilAdapter, mithril_default as default, mithril } from '../../chunk-V34XPVGK.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,33 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - Preact Adapter (Tier 2)
5
+ *
6
+ * Preact adapter - lightweight React alternative (3kb).
7
+ *
8
+ * @module @flightdev/ui/preact
9
+ * @version 2.0.0
10
+ */
11
+
12
+ interface PreactAdapterOptions {
13
+ /** Enable preact/compat for React compatibility */
14
+ compat?: boolean;
15
+ /** Pretty print HTML */
16
+ pretty?: boolean;
17
+ }
18
+ declare class PreactAdapter extends BaseUIAdapter {
19
+ private options;
20
+ readonly id = "preact";
21
+ readonly name = "Preact";
22
+ readonly framework = "preact";
23
+ readonly frameworkVersion = "10+";
24
+ readonly tier: "tier-2";
25
+ readonly capabilities: AdapterCapabilities;
26
+ constructor(options?: PreactAdapterOptions);
27
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
28
+ getHydrationScript(result: RenderResult): string;
29
+ getClientEntry(): string;
30
+ }
31
+ declare function preact(options?: PreactAdapterOptions): PreactAdapter;
32
+
33
+ export { PreactAdapter, type PreactAdapterOptions, preact as default, preact };
@@ -0,0 +1,2 @@
1
+ export { PreactAdapter, preact_default as default, preact } from '../../chunk-DTCAUBH5.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,52 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult, h as IslandOptions, i as Island } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - Stencil Adapter (Tier 2)
5
+ *
6
+ * Stencil Web Components SSR adapter with declarative shadow DOM.
7
+ *
8
+ * @module @flightdev/ui/stencil
9
+ * @version 2.0.0
10
+ */
11
+
12
+ interface StencilAdapterOptions {
13
+ /** Enable declarative shadow DOM */
14
+ declarativeShadowDom?: boolean;
15
+ /** Pretty print HTML output */
16
+ prettyHtml?: boolean;
17
+ /** Hydrate app ID */
18
+ hydrateAppId?: string;
19
+ }
20
+ declare class StencilAdapter extends BaseUIAdapter {
21
+ private options;
22
+ readonly id = "stencil";
23
+ readonly name = "Stencil";
24
+ readonly framework = "stencil";
25
+ readonly frameworkVersion = "4+";
26
+ readonly tier: "tier-2";
27
+ readonly capabilities: AdapterCapabilities;
28
+ constructor(options?: StencilAdapterOptions);
29
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
30
+ /**
31
+ * Create an island from a Stencil Web Component
32
+ */
33
+ createIsland(component: unknown, props?: Record<string, unknown>, options?: IslandOptions): Island;
34
+ getHydrationScript(result: RenderResult): string;
35
+ getClientEntry(): string;
36
+ }
37
+ /**
38
+ * Create a Stencil UI adapter.
39
+ *
40
+ * @example
41
+ * ```typescript
42
+ * import { stencil } from '@flightdev/ui/stencil';
43
+ * import { defineUI } from '@flightdev/ui';
44
+ *
45
+ * export default defineUI(stencil({
46
+ * declarativeShadowDom: true,
47
+ * }));
48
+ * ```
49
+ */
50
+ declare function stencil(options?: StencilAdapterOptions): StencilAdapter;
51
+
52
+ export { StencilAdapter, type StencilAdapterOptions, stencil as default, stencil };
@@ -0,0 +1,2 @@
1
+ export { StencilAdapter, stencil_default as default, stencil } from '../../chunk-3HU6GSQ4.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,73 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - Alpine.js Adapter (Tier 3)
5
+ *
6
+ * Alpine.js adapter - lightweight reactive HTML enhancement.
7
+ *
8
+ * @module @flightdev/ui/alpine
9
+ * @version 2.0.0
10
+ */
11
+
12
+ type AlpinePlugin = 'mask' | 'intersect' | 'persist' | 'focus' | 'collapse' | 'morph' | 'sort' | 'anchor';
13
+ interface AlpineAdapterOptions {
14
+ /** Alpine.js version */
15
+ version?: string;
16
+ /** Plugins to include */
17
+ plugins?: AlpinePlugin[];
18
+ /** Use CSP-safe build (no eval) */
19
+ csp?: boolean;
20
+ /** CDN base URL */
21
+ cdnBase?: string;
22
+ }
23
+ declare class AlpineAdapter extends BaseUIAdapter {
24
+ private options;
25
+ readonly id = "alpine";
26
+ readonly name = "Alpine.js";
27
+ readonly framework = "alpine";
28
+ readonly frameworkVersion = "3.14+";
29
+ readonly tier: "tier-3";
30
+ readonly capabilities: AdapterCapabilities;
31
+ constructor(options?: AlpineAdapterOptions);
32
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
33
+ getHydrationScript(_result: RenderResult): string;
34
+ getClientEntry(): string;
35
+ }
36
+ /**
37
+ * Create an x-data component wrapper
38
+ */
39
+ declare function xData(data: Record<string, unknown>, content: string): string;
40
+ /**
41
+ * Create an x-for loop
42
+ * @param expression - The for expression, e.g., 'item in items'
43
+ * @param content - The content to repeat
44
+ */
45
+ declare function xFor(expression: string, content: string): string;
46
+ /**
47
+ * Create an x-if conditional
48
+ */
49
+ declare function xIf(condition: string, content: string): string;
50
+ /**
51
+ * Create x-bind shorthand
52
+ */
53
+ declare function xBind(attr: string, value: string): string;
54
+ /**
55
+ * Create x-on shorthand
56
+ */
57
+ declare function xOn(event: string, handler: string): string;
58
+ /**
59
+ * Create an Alpine.js UI adapter.
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * import { alpine } from '@flightdev/ui/alpine';
64
+ * import { defineUI } from '@flightdev/ui';
65
+ *
66
+ * export default defineUI(alpine({
67
+ * plugins: ['intersect', 'persist'],
68
+ * }));
69
+ * ```
70
+ */
71
+ declare function alpine(options?: AlpineAdapterOptions): AlpineAdapter;
72
+
73
+ export { AlpineAdapter, type AlpineAdapterOptions, type AlpinePlugin, alpine, alpine as default, xBind, xData, xFor, xIf, xOn };
@@ -0,0 +1,2 @@
1
+ export { AlpineAdapter, alpine, alpine_default as default, xBind, xData, xFor, xIf, xOn } from '../../chunk-Q7HUE44H.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,71 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - Hotwire Adapter (Tier 3)
5
+ *
6
+ * Hotwire (Turbo + Stimulus) adapter - Rails-style HTML streaming.
7
+ *
8
+ * @module @flightdev/ui/hotwire
9
+ * @version 2.0.0
10
+ */
11
+
12
+ interface HotwireAdapterOptions {
13
+ /** Enable Turbo Drive (page navigation) */
14
+ turboDrive?: boolean;
15
+ /** Enable Turbo Frames (partial page updates) */
16
+ turboFrames?: boolean;
17
+ /** Enable Turbo Streams (server-pushed updates) */
18
+ turboStreams?: boolean;
19
+ /** Include Stimulus */
20
+ stimulus?: boolean;
21
+ /** Turbo version */
22
+ turboVersion?: string;
23
+ /** Stimulus version */
24
+ stimulusVersion?: string;
25
+ }
26
+ declare class HotwireAdapter extends BaseUIAdapter {
27
+ private options;
28
+ readonly id = "hotwire";
29
+ readonly name = "Hotwire";
30
+ readonly framework = "hotwire";
31
+ readonly frameworkVersion = "8+";
32
+ readonly tier: "tier-3";
33
+ readonly capabilities: AdapterCapabilities;
34
+ constructor(options?: HotwireAdapterOptions);
35
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
36
+ getHydrationScript(_result: RenderResult): string;
37
+ getClientEntry(): string;
38
+ }
39
+ /**
40
+ * Create a Turbo Frame
41
+ */
42
+ declare function turboFrame(id: string, content: string, options?: {
43
+ src?: string;
44
+ loading?: 'eager' | 'lazy';
45
+ target?: string;
46
+ }): string;
47
+ /**
48
+ * Create a Turbo Stream action
49
+ */
50
+ declare function turboStream(action: 'append' | 'prepend' | 'replace' | 'update' | 'remove' | 'before' | 'after', target: string, content?: string): string;
51
+ /**
52
+ * Create a Stimulus controller element
53
+ */
54
+ declare function stimulusController(controller: string, content: string, values?: Record<string, unknown>): string;
55
+ /**
56
+ * Create a Hotwire UI adapter.
57
+ *
58
+ * @example
59
+ * ```typescript
60
+ * import { hotwire } from '@flightdev/ui/hotwire';
61
+ * import { defineUI } from '@flightdev/ui';
62
+ *
63
+ * export default defineUI(hotwire({
64
+ * turboStreams: true,
65
+ * stimulus: true,
66
+ * }));
67
+ * ```
68
+ */
69
+ declare function hotwire(options?: HotwireAdapterOptions): HotwireAdapter;
70
+
71
+ export { HotwireAdapter, type HotwireAdapterOptions, hotwire as default, hotwire, stimulusController, turboFrame, turboStream };
@@ -0,0 +1,2 @@
1
+ export { HotwireAdapter, hotwire_default as default, hotwire, stimulusController, turboFrame, turboStream } from '../../chunk-4PZDNFL7.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,88 @@
1
+ import { B as BaseUIAdapter, A as AdapterCapabilities, C as Component, R as RenderContext, c as RenderResult } from '../../adapter-MMD-iHNx.js';
2
+
3
+ /**
4
+ * @flightdev/ui - HTMX Adapter (Tier 3)
5
+ *
6
+ * HTMX adapter - HTML over the wire, server-driven UI.
7
+ *
8
+ * @module @flightdev/ui/htmx
9
+ * @version 2.0.0
10
+ */
11
+
12
+ type HTMXExtension = 'json-enc' | 'loading-states' | 'class-tools' | 'morphdom-swap' | 'alpine-morph' | 'path-deps' | 'preload' | 'remove-me' | 'response-targets' | 'head-support' | 'sse' | 'ws';
13
+ interface HTMXAdapterOptions {
14
+ /** HTMX version */
15
+ version?: string;
16
+ /** Extensions to load */
17
+ extensions?: HTMXExtension[];
18
+ /** Enable WebSocket extension */
19
+ websocket?: boolean;
20
+ /** Enable SSE extension */
21
+ sse?: boolean;
22
+ /** CDN base URL */
23
+ cdnBase?: string;
24
+ /** Enable head element support */
25
+ headSupport?: boolean;
26
+ }
27
+ declare class HTMXAdapter extends BaseUIAdapter {
28
+ private options;
29
+ readonly id = "htmx";
30
+ readonly name = "HTMX";
31
+ readonly framework = "htmx";
32
+ readonly frameworkVersion = "2.0+";
33
+ readonly tier: "tier-3";
34
+ readonly capabilities: AdapterCapabilities;
35
+ constructor(options?: HTMXAdapterOptions);
36
+ renderToString(component: Component, _context?: RenderContext): Promise<RenderResult>;
37
+ getHydrationScript(_result: RenderResult): string;
38
+ getClientEntry(): string;
39
+ }
40
+ /**
41
+ * Create an hx-get element
42
+ */
43
+ declare function hxGet(url: string, options?: {
44
+ target?: string;
45
+ swap?: string;
46
+ trigger?: string;
47
+ }): Record<string, string>;
48
+ /**
49
+ * Create an hx-post element
50
+ */
51
+ declare function hxPost(url: string, options?: {
52
+ target?: string;
53
+ swap?: string;
54
+ trigger?: string;
55
+ }): Record<string, string>;
56
+ /**
57
+ * Create an hx-delete element
58
+ */
59
+ declare function hxDelete(url: string, options?: {
60
+ target?: string;
61
+ swap?: string;
62
+ confirm?: string;
63
+ }): Record<string, string>;
64
+ /**
65
+ * Convert attributes object to HTML string
66
+ */
67
+ declare function attrsToString(attrs: Record<string, string>): string;
68
+ /**
69
+ * Create a simple HTML element with hx-* attributes
70
+ */
71
+ declare function hx(tag: string, attrs: Record<string, string>, content?: string): string;
72
+ /**
73
+ * Create an HTMX UI adapter.
74
+ *
75
+ * @example
76
+ * ```typescript
77
+ * import { htmx } from '@flightdev/ui/htmx';
78
+ * import { defineUI } from '@flightdev/ui';
79
+ *
80
+ * export default defineUI(htmx({
81
+ * extensions: ['json-enc', 'loading-states'],
82
+ * sse: true,
83
+ * }));
84
+ * ```
85
+ */
86
+ declare function htmx(options?: HTMXAdapterOptions): HTMXAdapter;
87
+
88
+ export { HTMXAdapter, type HTMXAdapterOptions, type HTMXExtension, attrsToString, htmx as default, htmx, hx, hxDelete, hxGet, hxPost };
@@ -0,0 +1,2 @@
1
+ export { HTMXAdapter, attrsToString, htmx_default as default, htmx, hx, hxDelete, hxGet, hxPost } from '../../chunk-7ZJI3QU2.js';
2
+ import '../../chunk-2SNQ6PTM.js';
@@ -0,0 +1,7 @@
1
+ export { AlpineAdapter, AlpineAdapterOptions, AlpinePlugin, default as alpine, xBind, xData, xFor, xIf, xOn } from './alpine.js';
2
+ export { HTMXAdapter, HTMXAdapterOptions, HTMXExtension, attrsToString, default as htmx, hx, hxDelete, hxGet, hxPost } from './htmx.js';
3
+ export { HotwireAdapter, HotwireAdapterOptions, default as hotwire, stimulusController, turboFrame, turboStream } from './hotwire.js';
4
+ export { StimulusAdapter, StimulusAdapterOptions, action, controller, default as stimulus, target } from './stimulus.js';
5
+ export { PetiteVueAdapter, PetiteVueAdapterOptions, default as petiteVue, vFor, vIf, vScope } from './petite-vue.js';
6
+ export { VanillaAdapter, VanillaAdapterOptions, createElementClass, shadowRoot, slot, default as vanilla } from './vanilla.js';
7
+ import '../../adapter-MMD-iHNx.js';
@@ -0,0 +1,7 @@
1
+ export { AlpineAdapter, alpine, xBind, xData, xFor, xIf, xOn } from '../../chunk-Q7HUE44H.js';
2
+ export { HotwireAdapter, hotwire, stimulusController, turboFrame, turboStream } from '../../chunk-4PZDNFL7.js';
3
+ export { HTMXAdapter, attrsToString, htmx, hx, hxDelete, hxGet, hxPost } from '../../chunk-7ZJI3QU2.js';
4
+ export { PetiteVueAdapter, petiteVue, vFor, vIf, vScope } from '../../chunk-ZAJVSE7J.js';
5
+ export { StimulusAdapter, action, controller, stimulus, target } from '../../chunk-CE4FJHQJ.js';
6
+ export { VanillaAdapter, createElementClass, shadowRoot, slot, vanilla } from '../../chunk-OI2AMQLG.js';
7
+ import '../../chunk-2SNQ6PTM.js';