@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.
- package/.turbo/turbo-build.log +81 -0
- package/.turbo/turbo-lint.log +40 -0
- package/.turbo/turbo-typecheck.log +4 -0
- package/LICENSE +21 -0
- package/README.md +92 -0
- package/TESTING.md +124 -0
- package/dist/adapter-MMD-iHNx.d.ts +424 -0
- package/dist/adapters/tier-1/angular.d.ts +60 -0
- package/dist/adapters/tier-1/angular.js +2 -0
- package/dist/adapters/tier-1/index.d.ts +7 -0
- package/dist/adapters/tier-1/index.js +7 -0
- package/dist/adapters/tier-1/qwik.d.ts +55 -0
- package/dist/adapters/tier-1/qwik.js +2 -0
- package/dist/adapters/tier-1/react.d.ts +67 -0
- package/dist/adapters/tier-1/react.js +2 -0
- package/dist/adapters/tier-1/solid.d.ts +45 -0
- package/dist/adapters/tier-1/solid.js +2 -0
- package/dist/adapters/tier-1/svelte.d.ts +48 -0
- package/dist/adapters/tier-1/svelte.js +2 -0
- package/dist/adapters/tier-1/vue.d.ts +47 -0
- package/dist/adapters/tier-1/vue.js +2 -0
- package/dist/adapters/tier-2/index.d.ts +7 -0
- package/dist/adapters/tier-2/index.js +7 -0
- package/dist/adapters/tier-2/inferno.d.ts +31 -0
- package/dist/adapters/tier-2/inferno.js +2 -0
- package/dist/adapters/tier-2/lit.d.ts +34 -0
- package/dist/adapters/tier-2/lit.js +2 -0
- package/dist/adapters/tier-2/marko.d.ts +59 -0
- package/dist/adapters/tier-2/marko.js +2 -0
- package/dist/adapters/tier-2/mithril.d.ts +31 -0
- package/dist/adapters/tier-2/mithril.js +2 -0
- package/dist/adapters/tier-2/preact.d.ts +33 -0
- package/dist/adapters/tier-2/preact.js +2 -0
- package/dist/adapters/tier-2/stencil.d.ts +52 -0
- package/dist/adapters/tier-2/stencil.js +2 -0
- package/dist/adapters/tier-3/alpine.d.ts +73 -0
- package/dist/adapters/tier-3/alpine.js +2 -0
- package/dist/adapters/tier-3/hotwire.d.ts +71 -0
- package/dist/adapters/tier-3/hotwire.js +2 -0
- package/dist/adapters/tier-3/htmx.d.ts +88 -0
- package/dist/adapters/tier-3/htmx.js +2 -0
- package/dist/adapters/tier-3/index.d.ts +7 -0
- package/dist/adapters/tier-3/index.js +7 -0
- package/dist/adapters/tier-3/petite-vue.d.ts +56 -0
- package/dist/adapters/tier-3/petite-vue.js +2 -0
- package/dist/adapters/tier-3/stimulus.d.ts +63 -0
- package/dist/adapters/tier-3/stimulus.js +2 -0
- package/dist/adapters/tier-3/vanilla.d.ts +63 -0
- package/dist/adapters/tier-3/vanilla.js +2 -0
- package/dist/chunk-2SNQ6PTM.js +217 -0
- package/dist/chunk-3D4XMIZI.js +136 -0
- package/dist/chunk-3HU6GSQ4.js +125 -0
- package/dist/chunk-4PZDNFL7.js +148 -0
- package/dist/chunk-5IBLFTYL.js +114 -0
- package/dist/chunk-64JZJ7OK.js +142 -0
- package/dist/chunk-7ZJI3QU2.js +132 -0
- package/dist/chunk-CE4FJHQJ.js +133 -0
- package/dist/chunk-DTCAUBH5.js +87 -0
- package/dist/chunk-NTASPOHG.js +106 -0
- package/dist/chunk-OI2AMQLG.js +152 -0
- package/dist/chunk-Q7HUE44H.js +106 -0
- package/dist/chunk-QH3LOWXU.js +155 -0
- package/dist/chunk-QIVAK6BH.js +103 -0
- package/dist/chunk-V34XPVGK.js +103 -0
- package/dist/chunk-VK7ZPMO7.js +221 -0
- package/dist/chunk-X6CNUW6T.js +136 -0
- package/dist/chunk-XTDK7ME5.js +382 -0
- package/dist/chunk-YFGSHW5S.js +121 -0
- package/dist/chunk-ZAJVSE7J.js +90 -0
- package/dist/core/index.d.ts +161 -0
- package/dist/core/index.js +2 -0
- package/dist/index.d.ts +103 -0
- package/dist/index.js +71 -0
- package/docs/ADAPTERS.md +946 -0
- package/docs/PATTERNS.md +836 -0
- package/package.json +229 -0
- package/src/adapters/tier-1/angular.ts +223 -0
- package/src/adapters/tier-1/index.ts +12 -0
- package/src/adapters/tier-1/qwik.ts +177 -0
- package/src/adapters/tier-1/react.ts +330 -0
- package/src/adapters/tier-1/solid.ts +222 -0
- package/src/adapters/tier-1/svelte.ts +211 -0
- package/src/adapters/tier-1/vue.ts +234 -0
- package/src/adapters/tier-2/index.ts +12 -0
- package/src/adapters/tier-2/inferno.ts +149 -0
- package/src/adapters/tier-2/lit.ts +191 -0
- package/src/adapters/tier-2/marko.ts +199 -0
- package/src/adapters/tier-2/mithril.ts +152 -0
- package/src/adapters/tier-2/preact.ts +133 -0
- package/src/adapters/tier-2/stencil.ts +214 -0
- package/src/adapters/tier-3/alpine.ts +218 -0
- package/src/adapters/tier-3/hotwire.ts +254 -0
- package/src/adapters/tier-3/htmx.ts +263 -0
- package/src/adapters/tier-3/index.ts +12 -0
- package/src/adapters/tier-3/petite-vue.ts +163 -0
- package/src/adapters/tier-3/stimulus.ts +233 -0
- package/src/adapters/tier-3/vanilla.ts +252 -0
- package/src/ambient.d.ts +310 -0
- package/src/core/adapter.ts +366 -0
- package/src/core/index.ts +56 -0
- package/src/core/registry.ts +518 -0
- package/src/core/types.ts +461 -0
- package/src/htmx.ts +134 -0
- package/src/index.ts +263 -0
- package/test/__mocks__/stencil-core.ts +19 -0
- package/test/__mocks__/stencil-hydrate.ts +15 -0
- package/test/adapters/tier-1.test.ts +206 -0
- package/test/adapters/tier-2.test.ts +175 -0
- package/test/adapters/tier-3.test.ts +284 -0
- package/test/contracts/adapter.contract.ts +293 -0
- package/test/core/core.test.ts +310 -0
- package/test/errors/error-handling.test.ts +454 -0
- package/test/integration/htmx.integration.test.ts +246 -0
- package/test/integration/react.integration.test.ts +271 -0
- package/test/integration/registry.integration.test.ts +308 -0
- package/tsconfig.json +22 -0
- package/tsup.config.ts +93 -0
- 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,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,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,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,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,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,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,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,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,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,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,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';
|