@hyperframes/core 0.7.27 → 0.7.29

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 (82) hide show
  1. package/dist/compiler/compositionScoping.d.ts.map +1 -1
  2. package/dist/compiler/compositionScoping.js +13 -0
  3. package/dist/compiler/compositionScoping.js.map +1 -1
  4. package/dist/compiler/inlineSubCompositions.d.ts.map +1 -1
  5. package/dist/compiler/inlineSubCompositions.js +10 -0
  6. package/dist/compiler/inlineSubCompositions.js.map +1 -1
  7. package/dist/figma/assetSnippet.d.ts +3 -0
  8. package/dist/figma/assetSnippet.d.ts.map +1 -0
  9. package/dist/figma/assetSnippet.js +18 -0
  10. package/dist/figma/assetSnippet.js.map +1 -0
  11. package/dist/figma/bindings.d.ts +38 -0
  12. package/dist/figma/bindings.d.ts.map +1 -0
  13. package/dist/figma/bindings.js +84 -0
  14. package/dist/figma/bindings.js.map +1 -0
  15. package/dist/figma/client.d.ts +67 -0
  16. package/dist/figma/client.d.ts.map +1 -0
  17. package/dist/figma/client.js +134 -0
  18. package/dist/figma/client.js.map +1 -0
  19. package/dist/figma/color.d.ts +3 -0
  20. package/dist/figma/color.d.ts.map +1 -0
  21. package/dist/figma/color.js +23 -0
  22. package/dist/figma/color.js.map +1 -0
  23. package/dist/figma/emitTimelineScript.d.ts +3 -0
  24. package/dist/figma/emitTimelineScript.d.ts.map +1 -0
  25. package/dist/figma/emitTimelineScript.js +42 -0
  26. package/dist/figma/emitTimelineScript.js.map +1 -0
  27. package/dist/figma/freeze.d.ts +16 -0
  28. package/dist/figma/freeze.d.ts.map +1 -0
  29. package/dist/figma/freeze.js +67 -0
  30. package/dist/figma/freeze.js.map +1 -0
  31. package/dist/figma/index.d.ts +21 -0
  32. package/dist/figma/index.d.ts.map +1 -0
  33. package/dist/figma/index.js +15 -0
  34. package/dist/figma/index.js.map +1 -0
  35. package/dist/figma/jsonl.d.ts +3 -0
  36. package/dist/figma/jsonl.d.ts.map +1 -0
  37. package/dist/figma/jsonl.js +22 -0
  38. package/dist/figma/jsonl.js.map +1 -0
  39. package/dist/figma/manifest.d.ts +17 -0
  40. package/dist/figma/manifest.d.ts.map +1 -0
  41. package/dist/figma/manifest.js +96 -0
  42. package/dist/figma/manifest.js.map +1 -0
  43. package/dist/figma/motionEase.d.ts +3 -0
  44. package/dist/figma/motionEase.d.ts.map +1 -0
  45. package/dist/figma/motionEase.js +45 -0
  46. package/dist/figma/motionEase.js.map +1 -0
  47. package/dist/figma/motionToGsap.d.ts +3 -0
  48. package/dist/figma/motionToGsap.d.ts.map +1 -0
  49. package/dist/figma/motionToGsap.js +61 -0
  50. package/dist/figma/motionToGsap.js.map +1 -0
  51. package/dist/figma/nodeDocument.d.ts +4 -0
  52. package/dist/figma/nodeDocument.d.ts.map +1 -0
  53. package/dist/figma/nodeDocument.js +26 -0
  54. package/dist/figma/nodeDocument.js.map +1 -0
  55. package/dist/figma/nodeToHtml.d.ts +31 -0
  56. package/dist/figma/nodeToHtml.d.ts.map +1 -0
  57. package/dist/figma/nodeToHtml.js +244 -0
  58. package/dist/figma/nodeToHtml.js.map +1 -0
  59. package/dist/figma/parseFigmaRef.d.ts +3 -0
  60. package/dist/figma/parseFigmaRef.d.ts.map +1 -0
  61. package/dist/figma/parseFigmaRef.js +31 -0
  62. package/dist/figma/parseFigmaRef.js.map +1 -0
  63. package/dist/figma/resolveBindings.d.ts +31 -0
  64. package/dist/figma/resolveBindings.d.ts.map +1 -0
  65. package/dist/figma/resolveBindings.js +77 -0
  66. package/dist/figma/resolveBindings.js.map +1 -0
  67. package/dist/figma/sanitizeSvg.d.ts +18 -0
  68. package/dist/figma/sanitizeSvg.d.ts.map +1 -0
  69. package/dist/figma/sanitizeSvg.js +52 -0
  70. package/dist/figma/sanitizeSvg.js.map +1 -0
  71. package/dist/figma/tokensToVariables.d.ts +40 -0
  72. package/dist/figma/tokensToVariables.d.ts.map +1 -0
  73. package/dist/figma/tokensToVariables.js +118 -0
  74. package/dist/figma/tokensToVariables.js.map +1 -0
  75. package/dist/figma/types.d.ts +81 -0
  76. package/dist/figma/types.d.ts.map +1 -0
  77. package/dist/figma/types.js +2 -0
  78. package/dist/figma/types.js.map +1 -0
  79. package/dist/generated/runtime-inline.js +1 -1
  80. package/dist/generated/runtime-inline.js.map +1 -1
  81. package/dist/hyperframe.runtime.iife.js +19 -19
  82. package/package.json +8 -4
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Phase 2 translator: figma variables → composition brand-variable entries,
3
+ * a human-readable sidecar, and binding-index records (design spec §6, §7.1).
4
+ *
5
+ * Pure — REST payload in, artifacts out. Alias chains are walked to the leaf
6
+ * value (cycle-safe) but the binding records the semantic id the designer
7
+ * bound, so a swapped primitive doesn't orphan the link.
8
+ */
9
+ import { figmaColorToCss } from "./color.js";
10
+ const TYPE_MAP = {
11
+ COLOR: "color",
12
+ FLOAT: "number",
13
+ STRING: "string",
14
+ BOOLEAN: "boolean",
15
+ };
16
+ function isRecord(value) {
17
+ return typeof value === "object" && value !== null;
18
+ }
19
+ /**
20
+ * The collection's defaultModeId is the authority for "which mode is the
21
+ * base value" (Light vs Dark). Falls back to first-inserted mode when the
22
+ * collection or its default mode isn't in the payload.
23
+ */
24
+ function baseModeValue(payload, collections) {
25
+ const modes = payload.valuesByMode ?? {};
26
+ const collection = collections[payload.variableCollectionId ?? ""];
27
+ if (isRecord(collection) && typeof collection.defaultModeId === "string") {
28
+ const preferred = modes[collection.defaultModeId];
29
+ if (preferred !== undefined)
30
+ return preferred;
31
+ }
32
+ for (const value of Object.values(modes))
33
+ return value;
34
+ return undefined;
35
+ }
36
+ function collectionName(payload, collections) {
37
+ const collection = collections[payload.variableCollectionId ?? ""];
38
+ return isRecord(collection) && typeof collection.name === "string" ? collection.name : null;
39
+ }
40
+ /** Follow VARIABLE_ALIAS links to a leaf value; null on cycle/missing. */
41
+ function resolveValue(start, vars) {
42
+ const chain = [];
43
+ const seen = new Set();
44
+ let currentId = start;
45
+ while (!seen.has(currentId)) {
46
+ chain.push(currentId);
47
+ seen.add(currentId);
48
+ const payload = vars.variables[currentId];
49
+ if (!payload)
50
+ return null;
51
+ const value = baseModeValue(payload, vars.variableCollections);
52
+ if (isRecord(value) && value.type === "VARIABLE_ALIAS" && typeof value.id === "string") {
53
+ currentId = value.id;
54
+ continue;
55
+ }
56
+ return { value, chain };
57
+ }
58
+ return null; // cycle
59
+ }
60
+ /** Value must match the declared resolvedType — a stringified "8" for a
61
+ * FLOAT would silently break the CompositionVariableEntry contract. */
62
+ function toEntryValue(resolvedType, raw) {
63
+ if (resolvedType === "COLOR")
64
+ return figmaColorToCss(raw);
65
+ if (resolvedType === "FLOAT")
66
+ return typeof raw === "number" ? raw : null;
67
+ if (resolvedType === "BOOLEAN")
68
+ return typeof raw === "boolean" ? raw : null;
69
+ if (resolvedType === "STRING")
70
+ return typeof raw === "string" ? raw : null;
71
+ return null;
72
+ }
73
+ export function tokensToVariables(vars, source) {
74
+ const entries = [];
75
+ const bindings = [];
76
+ const sidecarTokens = [];
77
+ for (const [figmaId, payload] of Object.entries(vars.variables)) {
78
+ const entryType = TYPE_MAP[payload.resolvedType ?? ""];
79
+ const resolved = resolveValue(figmaId, vars);
80
+ const value = resolved ? toEntryValue(payload.resolvedType, resolved.value) : null;
81
+ // Namespace by collection: figma allows the same variable name in
82
+ // different collections (Semantic Blue/500 vs Primitive Blue/500), and a
83
+ // collision here would silently merge two distinct bindings.
84
+ const collection = collectionName(payload, vars.variableCollections);
85
+ const compositionVariableId = collection
86
+ ? `figma:${collection}/${payload.name}`
87
+ : `figma:${payload.name}`;
88
+ // Sidecar keeps EVERY variable — including unresolvable ones (value:
89
+ // null) — for designer visibility into what didn't map; entries/bindings
90
+ // below only get the mappable subset.
91
+ sidecarTokens.push({
92
+ name: payload.name,
93
+ type: entryType ?? payload.resolvedType ?? "unknown",
94
+ figmaId,
95
+ key: payload.key,
96
+ value,
97
+ });
98
+ if (!entryType || value === null || !resolved)
99
+ continue;
100
+ entries.push({
101
+ id: compositionVariableId,
102
+ type: entryType,
103
+ label: payload.name,
104
+ default: value,
105
+ });
106
+ bindings.push({
107
+ kind: "binding",
108
+ figmaId,
109
+ key: payload.key,
110
+ sourceFileKey: source.fileKey,
111
+ aliasChain: resolved.chain.length > 1 ? resolved.chain : undefined,
112
+ compositionVariableId,
113
+ version: source.version,
114
+ });
115
+ }
116
+ return { entries, bindings, sidecar: { source, tokens: sidecarTokens } };
117
+ }
118
+ //# sourceMappingURL=tokensToVariables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokensToVariables.js","sourceRoot":"","sources":["../../src/figma/tokensToVariables.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ export interface FigmaRef {
2
+ fileKey: string;
3
+ nodeId?: string;
4
+ }
5
+ export type FigmaAssetFormat = "png" | "svg" | "jpg" | "pdf";
6
+ export interface FigmaProvenance {
7
+ source: "figma";
8
+ fileKey: string;
9
+ nodeId: string;
10
+ version?: string;
11
+ format?: FigmaAssetFormat;
12
+ scale?: number;
13
+ }
14
+ export interface FigmaManifestRecord {
15
+ id: string;
16
+ type: "image" | "video";
17
+ path: string;
18
+ source: string;
19
+ description?: string;
20
+ width?: number;
21
+ height?: number;
22
+ provenance: FigmaProvenance;
23
+ }
24
+ export interface AssetSnippet {
25
+ path: string;
26
+ html: string;
27
+ }
28
+ /** A motion.dev easing value as returned by get_motion_context: a named ease
29
+ * (e.g. "linear") or a cubic-bezier control-point array [x1,y1,x2,y2]. */
30
+ export type MotionEase = string | [number, number, number, number];
31
+ /** One animated property, normalized from get_motion_context's motion.dev snippet. */
32
+ export interface MotionTrack {
33
+ /** motion.dev property name: "opacity" | "x" | "y" | "scaleX" | "scaleY" | "rotation" | ... */
34
+ property: string;
35
+ values: Array<number | string>;
36
+ /** normalized 0..1, same length as values */
37
+ times: number[];
38
+ /** length values.length - 1; ease[i] governs the segment values[i] -> values[i+1] */
39
+ ease: MotionEase[];
40
+ /** seconds */
41
+ duration: number;
42
+ /** Infinity or a finite count; clamped to finite during translation */
43
+ repeat?: number;
44
+ }
45
+ export interface MotionDoc {
46
+ /** string-literal CSS selector for the target element, e.g. "#hero-title" */
47
+ selector: string;
48
+ tracks: MotionTrack[];
49
+ }
50
+ export type MappedEase = {
51
+ kind: "named";
52
+ ease: string;
53
+ } | {
54
+ kind: "bezier";
55
+ bezier: [number, number, number, number];
56
+ };
57
+ export interface CustomEaseRef {
58
+ name: string;
59
+ bezier: [number, number, number, number];
60
+ }
61
+ export interface GsapKeyframeStep {
62
+ value: number | string;
63
+ /** seconds */
64
+ duration: number;
65
+ /** GSAP ease string or a registered CustomEase name */
66
+ ease: string;
67
+ }
68
+ export interface GsapTween {
69
+ selector: string;
70
+ property: string;
71
+ initial: number | string;
72
+ steps: GsapKeyframeStep[];
73
+ /** finite; 0 = play once */
74
+ repeat: number;
75
+ }
76
+ export interface TimelineSpec {
77
+ timelineId: string;
78
+ tweens: GsapTween[];
79
+ customEases: CustomEaseRef[];
80
+ }
81
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/figma/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAE7D,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;2EAC2E;AAC3E,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnE,sFAAsF;AACtF,MAAM,WAAW,WAAW;IAC1B,+FAA+F;IAC/F,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;IAC/B,6CAA6C;IAC7C,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,qFAAqF;IACrF,IAAI,EAAE,UAAU,EAAE,CAAC;IACnB,cAAc;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,6EAA6E;IAC7E,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,WAAW,EAAE,CAAC;CACvB;AAED,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC/B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAC;AAEjE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,cAAc;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,WAAW,EAAE,aAAa,EAAE,CAAC;CAC9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/figma/types.ts"],"names":[],"mappings":""}