@promptframe/component-kit 0.1.7 → 0.1.11
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 +23 -5
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/preview.d.ts +5 -2
- package/dist/preview.d.ts.map +1 -1
- package/dist/preview.js +25 -2
- package/dist/preview.js.map +1 -1
- package/dist/resources.d.ts +8 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +39 -0
- package/dist/resources.js.map +1 -0
- package/dist/standard.d.ts +2 -2
- package/dist/standard.d.ts.map +1 -1
- package/dist/standard.js +1 -1
- package/dist/standard.js.map +1 -1
- package/dist/timing.d.ts +1 -0
- package/dist/timing.d.ts.map +1 -1
- package/dist/timing.js +7 -0
- package/dist/timing.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @promptframe/component-kit
|
|
2
2
|
|
|
3
|
-
TypeScript helpers for building PromptFrame-compatible
|
|
3
|
+
TypeScript helpers for building PromptFrame-compatible video components.
|
|
4
4
|
|
|
5
5
|
```bash
|
|
6
6
|
npm install @promptframe/component-kit
|
|
@@ -11,7 +11,8 @@ npm install @promptframe/component-kit
|
|
|
11
11
|
- Standard version stamps for component metadata, sourced from `@promptframe/contracts`.
|
|
12
12
|
- Preview constraints used by PromptFrame component tooling.
|
|
13
13
|
- Bounded local preview case matrix helpers for aspect and default-props stress checks.
|
|
14
|
-
-
|
|
14
|
+
- `public/` resource lookup helper for runtime-injected component resources with local-dev fallback.
|
|
15
|
+
- Timing helpers for deterministic fps-aware timing and frame-driven animations.
|
|
15
16
|
- Public style helpers backed by `@promptframe/contracts`.
|
|
16
17
|
|
|
17
18
|
## Usage
|
|
@@ -25,6 +26,19 @@ export const manifest = {
|
|
|
25
26
|
};
|
|
26
27
|
```
|
|
27
28
|
|
|
29
|
+
```ts
|
|
30
|
+
import { promptFramePublicResource, type PromptFrameRuntimeResourceProps } from '@promptframe/component-kit';
|
|
31
|
+
|
|
32
|
+
type Props = PromptFrameRuntimeResourceProps & {
|
|
33
|
+
title: string;
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export function Component(props: Props) {
|
|
37
|
+
const logoSrc = promptFramePublicResource(props, '/logo.png', '/fallback-logo.png');
|
|
38
|
+
return logoSrc;
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
28
42
|
```ts
|
|
29
43
|
import { COMPONENT_PREVIEW_CONSTRAINTS, createPreviewCaseMatrix } from '@promptframe/component-kit/preview';
|
|
30
44
|
|
|
@@ -33,19 +47,23 @@ export const maxPreviewWidth = COMPONENT_PREVIEW_CONSTRAINTS.maxWidth;
|
|
|
33
47
|
export const previewCases = createPreviewCaseMatrix({
|
|
34
48
|
basePreview: { durationFrames: 120, fps: 30, width: 1280, height: 720 },
|
|
35
49
|
baseProps: { title: 'Quarterly revenue' },
|
|
50
|
+
fpsPresets: [30, 60],
|
|
36
51
|
validateProps: (candidate) => candidate,
|
|
37
52
|
});
|
|
38
53
|
```
|
|
39
54
|
|
|
40
55
|
```ts
|
|
41
|
-
import { createDurationTimeline } from '@promptframe/component-kit/timing';
|
|
56
|
+
import { createDurationTimeline, secondsToFrames } from '@promptframe/component-kit/timing';
|
|
42
57
|
|
|
43
58
|
const timeline = createDurationTimeline({
|
|
44
|
-
|
|
45
|
-
|
|
59
|
+
actualDuration: 180,
|
|
60
|
+
designedDuration: secondsToFrames(4, 30),
|
|
46
61
|
});
|
|
62
|
+
const introEnd = secondsToFrames(1.5, 30);
|
|
47
63
|
```
|
|
48
64
|
|
|
65
|
+
Use `fpsPresets` for local fps-adaptive diagnostics such as 30fps / 60fps comparisons. Source `src/preview-props.json` remains governed by the current public preview policy; do not save or upload 60fps local preview cases until the public standard explicitly allows them.
|
|
66
|
+
|
|
49
67
|
```ts
|
|
50
68
|
import { resolvePromptFrameStyle } from '@promptframe/component-kit/style';
|
|
51
69
|
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
|
package/dist/preview.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export interface ComponentPreviewConstraints {
|
|
|
5
5
|
maxFps: number;
|
|
6
6
|
}
|
|
7
7
|
export declare const COMPONENT_PREVIEW_CONSTRAINTS: ComponentPreviewConstraints;
|
|
8
|
+
export type PromptFramePreviewFps = 30 | 60;
|
|
8
9
|
export interface ComponentPreviewPropsEnvelope<TProps extends Record<string, unknown> = Record<string, unknown>> {
|
|
9
10
|
durationFrames: number;
|
|
10
11
|
fps: 30;
|
|
@@ -12,15 +13,17 @@ export interface ComponentPreviewPropsEnvelope<TProps extends Record<string, unk
|
|
|
12
13
|
height: number;
|
|
13
14
|
props: TProps;
|
|
14
15
|
}
|
|
15
|
-
export interface PromptFramePreviewCase<TProps extends Record<string, unknown> = Record<string, unknown>> extends ComponentPreviewPropsEnvelope<TProps> {
|
|
16
|
+
export interface PromptFramePreviewCase<TProps extends Record<string, unknown> = Record<string, unknown>> extends Omit<ComponentPreviewPropsEnvelope<TProps>, 'fps'> {
|
|
16
17
|
id: string;
|
|
17
18
|
name: string;
|
|
18
19
|
description: string;
|
|
20
|
+
fps: PromptFramePreviewFps;
|
|
19
21
|
}
|
|
20
22
|
export interface CreatePreviewCaseMatrixInput<TProps extends Record<string, unknown>> {
|
|
21
23
|
basePreview: Omit<ComponentPreviewPropsEnvelope<TProps>, 'props'>;
|
|
22
24
|
baseProps: TProps;
|
|
23
25
|
validateProps?: (candidate: TProps) => TProps | undefined;
|
|
26
|
+
fpsPresets?: ReadonlyArray<PromptFramePreviewFps>;
|
|
24
27
|
aspectPresets?: ReadonlyArray<{
|
|
25
28
|
id: string;
|
|
26
29
|
name: string;
|
|
@@ -29,5 +32,5 @@ export interface CreatePreviewCaseMatrixInput<TProps extends Record<string, unkn
|
|
|
29
32
|
}>;
|
|
30
33
|
}
|
|
31
34
|
export declare function assertPreviewWithinConstraints(preview: ComponentPreviewPropsEnvelope, constraints?: ComponentPreviewConstraints): void;
|
|
32
|
-
export declare function createPreviewCaseMatrix<TProps extends Record<string, unknown>>({ basePreview, baseProps, validateProps, aspectPresets, }: CreatePreviewCaseMatrixInput<TProps>): PromptFramePreviewCase<TProps>[];
|
|
35
|
+
export declare function createPreviewCaseMatrix<TProps extends Record<string, unknown>>({ basePreview, baseProps, validateProps, fpsPresets, aspectPresets, }: CreatePreviewCaseMatrixInput<TProps>): PromptFramePreviewCase<TProps>[];
|
|
33
36
|
//# sourceMappingURL=preview.d.ts.map
|
package/dist/preview.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,6BAA6B,EAAE,2BAK3C,CAAC;AAEF,MAAM,WAAW,6BAA6B,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7G,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,EAAE,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACtG,SAAQ,6BAA6B,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,2BAA2B;IAC1C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,6BAA6B,EAAE,2BAK3C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,CAAC;AAE5C,MAAM,WAAW,6BAA6B,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAC7G,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,EAAE,CAAC;IACR,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,sBAAsB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CACtG,SAAQ,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;IAC1D,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,qBAAqB,CAAC;CAC5B;AAED,MAAM,WAAW,4BAA4B,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAClF,WAAW,EAAE,IAAI,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC;IAClE,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IAC1D,UAAU,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IAClD,aAAa,CAAC,EAAE,aAAa,CAAC;QAC5B,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAQD,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,6BAA6B,EACtC,WAAW,GAAE,2BAA2D,GACvE,IAAI,CAON;AAED,wBAAgB,uBAAuB,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC9E,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACV,aAA4C,GAC7C,EAAE,4BAA4B,CAAC,MAAM,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,EAAE,CAgEzE"}
|
package/dist/preview.js
CHANGED
|
@@ -22,7 +22,7 @@ export function assertPreviewWithinConstraints(preview, constraints = COMPONENT_
|
|
|
22
22
|
if (errors.length > 0)
|
|
23
23
|
throw new Error(errors.join('; '));
|
|
24
24
|
}
|
|
25
|
-
export function createPreviewCaseMatrix({ basePreview, baseProps, validateProps, aspectPresets = DEFAULT_PREVIEW_ASPECT_CASES, }) {
|
|
25
|
+
export function createPreviewCaseMatrix({ basePreview, baseProps, validateProps, fpsPresets, aspectPresets = DEFAULT_PREVIEW_ASPECT_CASES, }) {
|
|
26
26
|
const cases = [];
|
|
27
27
|
const seen = new Set();
|
|
28
28
|
const addCase = (previewCase) => {
|
|
@@ -33,7 +33,11 @@ export function createPreviewCaseMatrix({ basePreview, baseProps, validateProps,
|
|
|
33
33
|
...previewCase,
|
|
34
34
|
props: parsedProps,
|
|
35
35
|
};
|
|
36
|
-
const signature =
|
|
36
|
+
const signature = [
|
|
37
|
+
`${normalizedCase.durationFrames}@${normalizedCase.fps}fps`,
|
|
38
|
+
`${normalizedCase.width}x${normalizedCase.height}`,
|
|
39
|
+
stableJson(normalizedCase.props),
|
|
40
|
+
].join(':');
|
|
37
41
|
if (seen.has(signature))
|
|
38
42
|
return;
|
|
39
43
|
seen.add(signature);
|
|
@@ -46,6 +50,19 @@ export function createPreviewCaseMatrix({ basePreview, baseProps, validateProps,
|
|
|
46
50
|
...basePreview,
|
|
47
51
|
props: cloneProps(baseProps),
|
|
48
52
|
});
|
|
53
|
+
for (const fps of normalizeFpsPresets(fpsPresets)) {
|
|
54
|
+
if (fps === basePreview.fps)
|
|
55
|
+
continue;
|
|
56
|
+
addCase({
|
|
57
|
+
id: `fps-${fps}`,
|
|
58
|
+
name: `${fps}fps`,
|
|
59
|
+
description: `${fps}fps timing case scaled from ${basePreview.fps}fps for fps-adaptive diagnostics.`,
|
|
60
|
+
...basePreview,
|
|
61
|
+
fps,
|
|
62
|
+
durationFrames: scaleDurationFramesForFps(basePreview.durationFrames, basePreview.fps, fps),
|
|
63
|
+
props: cloneProps(baseProps),
|
|
64
|
+
});
|
|
65
|
+
}
|
|
49
66
|
for (const preset of aspectPresets) {
|
|
50
67
|
addCase({
|
|
51
68
|
id: preset.id,
|
|
@@ -68,6 +85,12 @@ export function createPreviewCaseMatrix({ basePreview, baseProps, validateProps,
|
|
|
68
85
|
}
|
|
69
86
|
return cases;
|
|
70
87
|
}
|
|
88
|
+
function normalizeFpsPresets(fpsPresets) {
|
|
89
|
+
return Array.from(new Set(fpsPresets ?? [])).sort((left, right) => left - right);
|
|
90
|
+
}
|
|
91
|
+
function scaleDurationFramesForFps(durationFrames, sourceFps, targetFps) {
|
|
92
|
+
return Math.max(1, Math.round((durationFrames * targetFps) / sourceFps));
|
|
93
|
+
}
|
|
71
94
|
function createPropsStressVariants(baseProps) {
|
|
72
95
|
return [
|
|
73
96
|
{
|
package/dist/preview.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,6BAA6B,GAAgC;IACxE,iBAAiB,EAAE,GAAG;IACtB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,EAAE;CACX,CAAC;
|
|
1
|
+
{"version":3,"file":"preview.js","sourceRoot":"","sources":["../src/preview.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,6BAA6B,GAAgC;IACxE,iBAAiB,EAAE,GAAG;IACtB,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,EAAE;CACX,CAAC;AAiCF,MAAM,4BAA4B,GAAG;IACnC,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE;IAC7D,EAAE,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE;IAC7D,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;CAClD,CAAC;AAEX,MAAM,UAAU,8BAA8B,CAC5C,OAAsC,EACtC,cAA2C,6BAA6B;IAExE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,OAAO,CAAC,cAAc,GAAG,WAAW,CAAC,iBAAiB;QAAE,MAAM,CAAC,IAAI,CAAC,6BAA6B,WAAW,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtI,IAAI,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,QAAQ;QAAE,MAAM,CAAC,IAAI,CAAC,oBAAoB,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;IAClG,IAAI,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS;QAAE,MAAM,CAAC,IAAI,CAAC,qBAAqB,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IACtG,IAAI,OAAO,CAAC,GAAG,GAAG,WAAW,CAAC,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1F,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAyC,EAC9E,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACV,aAAa,GAAG,4BAA4B,GACP;IACrC,MAAM,KAAK,GAAqC,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,OAAO,GAAG,CAAC,WAA2C,EAAE,EAAE;QAC9D,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAC3E,IAAI,CAAC,WAAW;YAAE,OAAO;QACzB,MAAM,cAAc,GAAG;YACrB,GAAG,WAAW;YACd,KAAK,EAAE,WAAW;SACnB,CAAC;QACF,MAAM,SAAS,GAAG;YAChB,GAAG,cAAc,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,KAAK;YAC3D,GAAG,cAAc,CAAC,KAAK,IAAI,cAAc,CAAC,MAAM,EAAE;YAClD,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC;SACjC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACZ,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QAChC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC7B,CAAC,CAAC;IAEF,OAAO,CAAC;QACN,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,wCAAwC;QACrD,GAAG,WAAW;QACd,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC;KAC7B,CAAC,CAAC;IAEH,KAAK,MAAM,GAAG,IAAI,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,IAAI,GAAG,KAAK,WAAW,CAAC,GAAG;YAAE,SAAS;QACtC,OAAO,CAAC;YACN,EAAE,EAAE,OAAO,GAAG,EAAE;YAChB,IAAI,EAAE,GAAG,GAAG,KAAK;YACjB,WAAW,EAAE,GAAG,GAAG,+BAA+B,WAAW,CAAC,GAAG,mCAAmC;YACpG,GAAG,WAAW;YACd,GAAG;YACH,cAAc,EAAE,yBAAyB,CAAC,WAAW,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC;YAC3F,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,aAAa,EAAE,CAAC;QACnC,OAAO,CAAC;YACN,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,WAAW,EAAE,eAAe,MAAM,CAAC,IAAI,GAAG;YAC1C,GAAG,WAAW;YACd,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,yBAAyB,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3D,OAAO,CAAC;YACN,EAAE,EAAE,OAAO,CAAC,EAAE;YACd,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,GAAG,WAAW;YACd,KAAK,EAAE,OAAO,CAAC,KAAK;SACrB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,mBAAmB,CAAC,UAA4D;IACvF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC;AACnF,CAAC;AAED,SAAS,yBAAyB,CAAC,cAAsB,EAAE,SAAiB,EAAE,SAAiB;IAC7F,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED,SAAS,yBAAyB,CAChC,SAAiB;IAOjB,OAAO;QACL;YACE,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,oDAAoD;YACjE,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,iBAAiB,CAAC;SAC9C;QACD;YACE,EAAE,EAAE,YAAY;YAChB,IAAI,EAAE,YAAY;YAClB,WAAW,EAAE,+DAA+D;YAC5E,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,cAAc,CAAC;SAC3C;QACD;YACE,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,uDAAuD;YACpE,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;SAC5C;QACD;YACE,EAAE,EAAE,cAAc;YAClB,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,mDAAmD;YAChE,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;SAC7C;QACD;YACE,EAAE,EAAE,aAAa;YACjB,IAAI,EAAE,aAAa;YACnB,WAAW,EAAE,oEAAoE;YACjF,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;SAC5C;KACF,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,QAAQ,CACf,SAAiB,EACjB,MAAgD;IAEhD,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,GAAmB,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,CAAyB,CAAC;IAC7E,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAc,EAAE,GAAW;IACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;IAC1D,OAAO,GAAG,IAAI,yEAAyE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC7B,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvE,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IAC5D,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACnF,MAAM,IAAI,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,KAAK,IAAI,CAAC,CAAC;IACb,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,oBAAoB,CAC3B,SAAiB,EACjB,aAAyD;IAEzD,IAAI,CAAC,aAAa;QAAE,OAAO,SAAS,CAAC;IACrC,IAAI,CAAC;QACH,OAAO,aAAa,CAAC,SAAS,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAyC,KAAa;IACvE,OAAO,cAAc,CAAC,KAAK,CAAW,CAAC;AACzC,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAY,CAAC;AACtD,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,OAAO,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;SAC7C,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;SACpD,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACzC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ComponentRuntimeResourceManifest } from '@promptframe/contracts';
|
|
2
|
+
export type PromptFrameRuntimeResources = ComponentRuntimeResourceManifest;
|
|
3
|
+
export interface PromptFrameRuntimeResourceProps {
|
|
4
|
+
promptFrameResources?: PromptFrameRuntimeResources;
|
|
5
|
+
}
|
|
6
|
+
export declare function promptFramePublicResource(resourcesOrProps: PromptFrameRuntimeResources | PromptFrameRuntimeResourceProps | undefined, publicPath: string, fallback?: string): string;
|
|
7
|
+
export declare function normalizePromptFramePublicResourcePath(publicPath: string): `/${string}` | undefined;
|
|
8
|
+
//# sourceMappingURL=resources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.d.ts","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,gCAAgC,EACtC,MAAM,wBAAwB,CAAC;AAEhC,MAAM,MAAM,2BAA2B,GAAG,gCAAgC,CAAC;AAE3E,MAAM,WAAW,+BAA+B;IAC9C,oBAAoB,CAAC,EAAE,2BAA2B,CAAC;CACpD;AAED,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,2BAA2B,GAAG,+BAA+B,GAAG,SAAS,EAC3F,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAOR;AAED,wBAAgB,sCAAsC,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,MAAM,EAAE,GAAG,SAAS,CASnG"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { COMPONENT_PUBLIC_RESOURCES_CONTRACT_VERSION, } from '@promptframe/contracts';
|
|
2
|
+
export function promptFramePublicResource(resourcesOrProps, publicPath, fallback) {
|
|
3
|
+
const normalized = normalizePromptFramePublicResourcePath(publicPath);
|
|
4
|
+
if (!normalized)
|
|
5
|
+
return fallback ?? '';
|
|
6
|
+
const resources = extractPromptFrameRuntimeResources(resourcesOrProps);
|
|
7
|
+
const match = resources?.entries.find((entry) => entry.publicPath === normalized);
|
|
8
|
+
return match?.url ?? fallback ?? normalized;
|
|
9
|
+
}
|
|
10
|
+
export function normalizePromptFramePublicResourcePath(publicPath) {
|
|
11
|
+
const value = publicPath.trim();
|
|
12
|
+
if (!value || value !== publicPath)
|
|
13
|
+
return undefined;
|
|
14
|
+
if (/^[a-z][a-z0-9+.-]*:/i.test(value) || value.startsWith('//') || value.includes('\\'))
|
|
15
|
+
return undefined;
|
|
16
|
+
const withSlash = value.startsWith('/') ? value : `/${value}`;
|
|
17
|
+
if (withSlash.includes('//'))
|
|
18
|
+
return undefined;
|
|
19
|
+
const parts = withSlash.slice(1).split('/');
|
|
20
|
+
if (parts.some((part) => !part || part === '.' || part === '..'))
|
|
21
|
+
return undefined;
|
|
22
|
+
return /^[A-Za-z0-9._~!$&'()+,;=@/-]+$/.test(withSlash) ? withSlash : undefined;
|
|
23
|
+
}
|
|
24
|
+
function extractPromptFrameRuntimeResources(resourcesOrProps) {
|
|
25
|
+
if (!resourcesOrProps)
|
|
26
|
+
return undefined;
|
|
27
|
+
const candidate = hasRuntimeResourceEntries(resourcesOrProps)
|
|
28
|
+
? resourcesOrProps
|
|
29
|
+
: resourcesOrProps.promptFrameResources;
|
|
30
|
+
if (!candidate || candidate.contractVersion !== COMPONENT_PUBLIC_RESOURCES_CONTRACT_VERSION)
|
|
31
|
+
return undefined;
|
|
32
|
+
return candidate;
|
|
33
|
+
}
|
|
34
|
+
function hasRuntimeResourceEntries(value) {
|
|
35
|
+
return typeof value === 'object'
|
|
36
|
+
&& value !== null
|
|
37
|
+
&& Array.isArray(value.entries);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=resources.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resources.js","sourceRoot":"","sources":["../src/resources.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2CAA2C,GAE5C,MAAM,wBAAwB,CAAC;AAQhC,MAAM,UAAU,yBAAyB,CACvC,gBAA2F,EAC3F,UAAkB,EAClB,QAAiB;IAEjB,MAAM,UAAU,GAAG,sCAAsC,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,CAAC,UAAU;QAAE,OAAO,QAAQ,IAAI,EAAE,CAAC;IAEvC,MAAM,SAAS,GAAG,kCAAkC,CAAC,gBAAgB,CAAC,CAAC;IACvE,MAAM,KAAK,GAAG,SAAS,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;IAClF,OAAO,KAAK,EAAE,GAAG,IAAI,QAAQ,IAAI,UAAU,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,sCAAsC,CAAC,UAAkB;IACvE,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;IAChC,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IACrD,IAAI,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC3G,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;IAC9D,IAAI,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACnF,OAAO,gCAAgC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAyB,CAAC,CAAC,CAAC,SAAS,CAAC;AAClG,CAAC;AAED,SAAS,kCAAkC,CACzC,gBAA2F;IAE3F,IAAI,CAAC,gBAAgB;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,SAAS,GAAG,yBAAyB,CAAC,gBAAgB,CAAC;QAC3D,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,gBAAgB,CAAC,oBAAoB,CAAC;IAC1C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,eAAe,KAAK,2CAA2C;QAAE,OAAO,SAAS,CAAC;IAC9G,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAAc;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ;WAC3B,KAAK,KAAK,IAAI;WACd,KAAK,CAAC,OAAO,CAAE,KAA+B,CAAC,OAAO,CAAC,CAAC;AAC/D,CAAC"}
|
package/dist/standard.d.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
export declare const COMPONENT_STANDARD_VERSION: "component-standard.v0.1.0";
|
|
2
2
|
export declare const COMPONENT_STANDARD_SOURCE_HASH: "sha256:8c1e01c36155b4b646981064d24df9bd8cda501fd9cd9da93e5b62f40db22d52";
|
|
3
3
|
export declare const COMPONENT_STANDARD_SOURCE_PATH: "https://github.com/ty-teams/promptframe-component-authoring#readme";
|
|
4
|
-
export declare const COMPONENT_KIT_VERSION: "0.1.
|
|
4
|
+
export declare const COMPONENT_KIT_VERSION: "0.1.11";
|
|
5
5
|
export declare const COMPONENT_MANIFEST_SCHEMA_VERSION: "component-manifest.v0.1.0";
|
|
6
6
|
export declare const COMPONENT_REVIEW_CHECKLIST_VERSION: "component-review-checklist.v0.1.0";
|
|
7
7
|
export declare function getComponentStandardStamp(): {
|
|
8
8
|
sourceVersion: "component-standard.v0.1.0";
|
|
9
9
|
sourceHash: "sha256:8c1e01c36155b4b646981064d24df9bd8cda501fd9cd9da93e5b62f40db22d52";
|
|
10
10
|
sourcePath: "https://github.com/ty-teams/promptframe-component-authoring#readme";
|
|
11
|
-
componentKitVersion: "0.1.
|
|
11
|
+
componentKitVersion: "0.1.11";
|
|
12
12
|
manifestSchemaVersion: "component-manifest.v0.1.0";
|
|
13
13
|
reviewChecklistVersion: "component-review-checklist.v0.1.0";
|
|
14
14
|
};
|
package/dist/standard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard.d.ts","sourceRoot":"","sources":["../src/standard.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,0BAA0B,6BAAuC,CAAC;AAC/E,eAAO,MAAM,8BAA8B,2EAA2C,CAAC;AACvF,eAAO,MAAM,8BAA8B,EAAG,oEAA6E,CAAC;AAC5H,eAAO,MAAM,qBAAqB,EAAG,
|
|
1
|
+
{"version":3,"file":"standard.d.ts","sourceRoot":"","sources":["../src/standard.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,0BAA0B,6BAAuC,CAAC;AAC/E,eAAO,MAAM,8BAA8B,2EAA2C,CAAC;AACvF,eAAO,MAAM,8BAA8B,EAAG,oEAA6E,CAAC;AAC5H,eAAO,MAAM,qBAAqB,EAAG,QAAiB,CAAC;AACvD,eAAO,MAAM,iCAAiC,6BAA8C,CAAC;AAC7F,eAAO,MAAM,kCAAkC,EAAG,mCAA4C,CAAC;AAE/F,wBAAgB,yBAAyB;;;;;;;EASxC"}
|
package/dist/standard.js
CHANGED
|
@@ -2,7 +2,7 @@ import { COMPONENT_MANIFEST_SCHEMA_VERSION as CONTRACTS_COMPONENT_MANIFEST_SCHEM
|
|
|
2
2
|
export const COMPONENT_STANDARD_VERSION = CONTRACTS_COMPONENT_STANDARD_VERSION;
|
|
3
3
|
export const COMPONENT_STANDARD_SOURCE_HASH = CONTRACTS_COMPONENT_STANDARD_SOURCE_HASH;
|
|
4
4
|
export const COMPONENT_STANDARD_SOURCE_PATH = 'https://github.com/ty-teams/promptframe-component-authoring#readme';
|
|
5
|
-
export const COMPONENT_KIT_VERSION = '0.1.
|
|
5
|
+
export const COMPONENT_KIT_VERSION = '0.1.11';
|
|
6
6
|
export const COMPONENT_MANIFEST_SCHEMA_VERSION = CONTRACTS_COMPONENT_MANIFEST_SCHEMA_VERSION;
|
|
7
7
|
export const COMPONENT_REVIEW_CHECKLIST_VERSION = 'component-review-checklist.v0.1.0';
|
|
8
8
|
export function getComponentStandardStamp() {
|
package/dist/standard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"standard.js","sourceRoot":"","sources":["../src/standard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,IAAI,2CAA2C,EAChF,8BAA8B,IAAI,wCAAwC,EAC1E,0BAA0B,IAAI,oCAAoC,GACnE,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,0BAA0B,GAAG,oCAAoC,CAAC;AAC/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,wCAAwC,CAAC;AACvF,MAAM,CAAC,MAAM,8BAA8B,GAAG,oEAA6E,CAAC;AAC5H,MAAM,CAAC,MAAM,qBAAqB,GAAG,
|
|
1
|
+
{"version":3,"file":"standard.js","sourceRoot":"","sources":["../src/standard.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iCAAiC,IAAI,2CAA2C,EAChF,8BAA8B,IAAI,wCAAwC,EAC1E,0BAA0B,IAAI,oCAAoC,GACnE,MAAM,wBAAwB,CAAC;AAEhC,MAAM,CAAC,MAAM,0BAA0B,GAAG,oCAAoC,CAAC;AAC/E,MAAM,CAAC,MAAM,8BAA8B,GAAG,wCAAwC,CAAC;AACvF,MAAM,CAAC,MAAM,8BAA8B,GAAG,oEAA6E,CAAC;AAC5H,MAAM,CAAC,MAAM,qBAAqB,GAAG,QAAiB,CAAC;AACvD,MAAM,CAAC,MAAM,iCAAiC,GAAG,2CAA2C,CAAC;AAC7F,MAAM,CAAC,MAAM,kCAAkC,GAAG,mCAA4C,CAAC;AAE/F,MAAM,UAAU,yBAAyB;IACvC,OAAO;QACL,aAAa,EAAE,0BAA0B;QACzC,UAAU,EAAE,8BAA8B;QAC1C,UAAU,EAAE,8BAA8B;QAC1C,mBAAmB,EAAE,qBAAqB;QAC1C,qBAAqB,EAAE,iCAAiC;QACxD,sBAAsB,EAAE,kCAAkC;KAC3D,CAAC;AACJ,CAAC"}
|
package/dist/timing.d.ts
CHANGED
|
@@ -21,4 +21,5 @@ export interface ScaledSpringTiming {
|
|
|
21
21
|
fps: number;
|
|
22
22
|
}
|
|
23
23
|
export declare function getScaledSpringTiming(frame: number, fps: number, delay: number, timeline: DurationTimeline): ScaledSpringTiming;
|
|
24
|
+
export declare function secondsToFrames(seconds: number, fps: number): number;
|
|
24
25
|
//# sourceMappingURL=timing.d.ts.map
|
package/dist/timing.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../src/timing.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACvE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,4BAA4B,GAAG,gBAAgB,CA2B7F;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,gBAAgB,GACzB,kBAAkB,CAKpB"}
|
|
1
|
+
{"version":3,"file":"timing.d.ts","sourceRoot":"","sources":["../src/timing.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IACvE,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,4BAA4B;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,4BAA4B,GAAG,gBAAgB,CA2B7F;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,gBAAgB,GACzB,kBAAkB,CAKpB;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAMpE"}
|
package/dist/timing.js
CHANGED
|
@@ -31,6 +31,13 @@ export function getScaledSpringTiming(frame, fps, delay, timeline) {
|
|
|
31
31
|
fps: timeline.scaledFps(fps),
|
|
32
32
|
};
|
|
33
33
|
}
|
|
34
|
+
export function secondsToFrames(seconds, fps) {
|
|
35
|
+
if (!Number.isFinite(seconds) || seconds < 0) {
|
|
36
|
+
throw new Error('seconds must be a non-negative finite number');
|
|
37
|
+
}
|
|
38
|
+
const normalizedFps = positiveInteger(fps, 'fps');
|
|
39
|
+
return Math.round(seconds * normalizedFps);
|
|
40
|
+
}
|
|
34
41
|
function positiveInteger(value, label) {
|
|
35
42
|
if (!Number.isInteger(value) || value <= 0)
|
|
36
43
|
throw new Error(`${label} must be a positive integer`);
|
package/dist/timing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../src/timing.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,sBAAsB,CAAC,MAAoC;IACzE,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAChF,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;IACxC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEpF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,EAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAE,WAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC;IAC/G,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,OAAO;QACL,cAAc;QACd,gBAAgB;QAChB,cAAc;QACd,KAAK;QACL,UAAU;QACV,EAAE;QACF,KAAK,EAAE,EAAE;QACT,KAAK;QACL,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,GAAW,EACX,KAAa,EACb,QAA0B;IAE1B,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9C,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,KAAa;IACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACnG,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"timing.js","sourceRoot":"","sources":["../src/timing.ts"],"names":[],"mappings":"AAmBA,MAAM,UAAU,sBAAsB,CAAC,MAAoC;IACzE,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAChF,MAAM,gBAAgB,GAAG,eAAe,CAAC,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;IACxC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,GAAG,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAEpF,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,GAAG,gBAAgB,CAAC;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,KAAK,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,CAAC;IAChE,MAAM,EAAE,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,GAAW,EAAoB,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrF,MAAM,OAAO,GAAG,CAAC,SAAiB,EAAE,KAAa,EAAE,WAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,GAAG,KAAK,GAAG,WAAW,CAAC,CAAC;IAC/G,MAAM,SAAS,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnF,OAAO;QACL,cAAc;QACd,gBAAgB;QAChB,cAAc;QACd,KAAK;QACL,UAAU;QACV,EAAE;QACF,KAAK,EAAE,EAAE;QACT,KAAK;QACL,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,qBAAqB,CACnC,KAAa,EACb,GAAW,EACX,KAAa,EACb,QAA0B;IAE1B,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9C,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,GAAW;IAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IACD,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,aAAa,CAAC,CAAC;AAC7C,CAAC;AAED,SAAS,eAAe,CAAC,KAAa,EAAE,KAAa;IACnD,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;IACnG,OAAO,KAAK,CAAC;AACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@promptframe/component-kit",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"sideEffects": false,
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
"clean": "rm -rf dist"
|
|
58
58
|
},
|
|
59
59
|
"dependencies": {
|
|
60
|
-
"@promptframe/contracts": "^0.1.
|
|
60
|
+
"@promptframe/contracts": "^0.1.13"
|
|
61
61
|
},
|
|
62
62
|
"peerDependencies": {
|
|
63
63
|
"react": "^19.0.0",
|