@gannochenko/staticstripes 0.0.1

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 (86) hide show
  1. package/.prettierrc +8 -0
  2. package/Makefile +69 -0
  3. package/dist/asset-manager.d.ts +16 -0
  4. package/dist/asset-manager.d.ts.map +1 -0
  5. package/dist/asset-manager.js +50 -0
  6. package/dist/asset-manager.js.map +1 -0
  7. package/dist/cli.d.ts +3 -0
  8. package/dist/cli.d.ts.map +1 -0
  9. package/dist/cli.js +257 -0
  10. package/dist/cli.js.map +1 -0
  11. package/dist/container-renderer.d.ts +21 -0
  12. package/dist/container-renderer.d.ts.map +1 -0
  13. package/dist/container-renderer.js +149 -0
  14. package/dist/container-renderer.js.map +1 -0
  15. package/dist/expression-parser.d.ts +63 -0
  16. package/dist/expression-parser.d.ts.map +1 -0
  17. package/dist/expression-parser.js +145 -0
  18. package/dist/expression-parser.js.map +1 -0
  19. package/dist/ffmpeg.d.ts +375 -0
  20. package/dist/ffmpeg.d.ts.map +1 -0
  21. package/dist/ffmpeg.js +997 -0
  22. package/dist/ffmpeg.js.map +1 -0
  23. package/dist/ffprobe.d.ts +2 -0
  24. package/dist/ffprobe.d.ts.map +1 -0
  25. package/dist/ffprobe.js +31 -0
  26. package/dist/ffprobe.js.map +1 -0
  27. package/dist/html-parser.d.ts +56 -0
  28. package/dist/html-parser.d.ts.map +1 -0
  29. package/dist/html-parser.js +208 -0
  30. package/dist/html-parser.js.map +1 -0
  31. package/dist/html-project-parser.d.ts +169 -0
  32. package/dist/html-project-parser.d.ts.map +1 -0
  33. package/dist/html-project-parser.js +954 -0
  34. package/dist/html-project-parser.js.map +1 -0
  35. package/dist/index.d.ts +6 -0
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +18 -0
  38. package/dist/index.js.map +1 -0
  39. package/dist/label-generator.d.ts +35 -0
  40. package/dist/label-generator.d.ts.map +1 -0
  41. package/dist/label-generator.js +69 -0
  42. package/dist/label-generator.js.map +1 -0
  43. package/dist/project.d.ts +29 -0
  44. package/dist/project.d.ts.map +1 -0
  45. package/dist/project.js +137 -0
  46. package/dist/project.js.map +1 -0
  47. package/dist/sample-sequences.d.ts +5 -0
  48. package/dist/sample-sequences.d.ts.map +1 -0
  49. package/dist/sample-sequences.js +199 -0
  50. package/dist/sample-sequences.js.map +1 -0
  51. package/dist/sample-streams.d.ts +2 -0
  52. package/dist/sample-streams.d.ts.map +1 -0
  53. package/dist/sample-streams.js +109 -0
  54. package/dist/sample-streams.js.map +1 -0
  55. package/dist/sequence.d.ts +21 -0
  56. package/dist/sequence.d.ts.map +1 -0
  57. package/dist/sequence.js +269 -0
  58. package/dist/sequence.js.map +1 -0
  59. package/dist/stream.d.ts +135 -0
  60. package/dist/stream.d.ts.map +1 -0
  61. package/dist/stream.js +779 -0
  62. package/dist/stream.js.map +1 -0
  63. package/dist/type.d.ts +73 -0
  64. package/dist/type.d.ts.map +1 -0
  65. package/dist/type.js +3 -0
  66. package/dist/type.js.map +1 -0
  67. package/eslint.config.js +44 -0
  68. package/package.json +50 -0
  69. package/src/asset-manager.ts +55 -0
  70. package/src/cli.ts +306 -0
  71. package/src/container-renderer.ts +190 -0
  72. package/src/expression-parser.test.ts +459 -0
  73. package/src/expression-parser.ts +199 -0
  74. package/src/ffmpeg.ts +1403 -0
  75. package/src/ffprobe.ts +29 -0
  76. package/src/html-parser.ts +221 -0
  77. package/src/html-project-parser.ts +1195 -0
  78. package/src/index.ts +9 -0
  79. package/src/label-generator.ts +74 -0
  80. package/src/project.ts +180 -0
  81. package/src/sample-sequences.ts +225 -0
  82. package/src/sample-streams.ts +142 -0
  83. package/src/sequence.ts +330 -0
  84. package/src/stream.ts +1012 -0
  85. package/src/type.ts +81 -0
  86. package/tsconfig.json +24 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffmpeg.js","sourceRoot":"","sources":["../src/ffmpeg.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const getAssetDuration: (path: string) => Promise<number>;
2
+ //# sourceMappingURL=ffprobe.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffprobe.d.ts","sourceRoot":"","sources":["../src/ffprobe.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,gBAAgB,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,MAAM,CAuBnE,CAAC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAssetDuration = void 0;
4
+ const child_process_1 = require("child_process");
5
+ const util_1 = require("util");
6
+ const execFileAsync = (0, util_1.promisify)(child_process_1.execFile);
7
+ const getAssetDuration = async (path) => {
8
+ try {
9
+ const { stdout } = await execFileAsync('ffprobe', [
10
+ '-v',
11
+ 'error',
12
+ '-show_entries',
13
+ 'format=duration',
14
+ '-of',
15
+ 'default=noprint_wrappers=1:nokey=1',
16
+ path,
17
+ ]);
18
+ const durationSeconds = parseFloat(stdout.trim());
19
+ if (isNaN(durationSeconds)) {
20
+ console.warn(`Could not parse duration for asset: ${path}`);
21
+ return 0;
22
+ }
23
+ return Math.round(durationSeconds * 1000);
24
+ }
25
+ catch (error) {
26
+ console.error(`Failed to get duration for asset: ${path}`, error);
27
+ return 0;
28
+ }
29
+ };
30
+ exports.getAssetDuration = getAssetDuration;
31
+ //# sourceMappingURL=ffprobe.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ffprobe.js","sourceRoot":"","sources":["../src/ffprobe.ts"],"names":[],"mappings":";;;AAAA,iDAAyC;AACzC,+BAAiC;AAEjC,MAAM,aAAa,GAAG,IAAA,gBAAS,EAAC,wBAAQ,CAAC,CAAC;AAEnC,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;IACtE,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE;YAChD,IAAI;YACJ,OAAO;YACP,eAAe;YACf,iBAAiB;YACjB,KAAK;YACL,oCAAoC;YACpC,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,IAAI,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,uCAAuC,IAAI,EAAE,CAAC,CAAC;YAC5D,OAAO,CAAC,CAAC;QACX,CAAC;QAED,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC,CAAC;AAvBW,QAAA,gBAAgB,oBAuB3B"}
@@ -0,0 +1,56 @@
1
+ import { type DefaultTreeAdapterMap } from 'parse5';
2
+ import { CSSProperties, ParsedHtml } from './type';
3
+ export type ASTNode = DefaultTreeAdapterMap['node'];
4
+ export type Document = DefaultTreeAdapterMap['document'];
5
+ export type Element = DefaultTreeAdapterMap['element'];
6
+ export interface EnhancedElement extends Element {
7
+ computedStyles?: CSSProperties;
8
+ }
9
+ export declare class HTMLParser {
10
+ /**
11
+ * Parses an HTML file into an AST with computed CSS using parse5 and css-tree
12
+ * @param filePath - Absolute or relative path to the HTML file
13
+ * @returns Promise resolving to the parsed project with AST and computed styles
14
+ */
15
+ parseFile(filePath: string): Promise<ParsedHtml>;
16
+ /**
17
+ * Parses HTML string into an AST with computed CSS
18
+ * @param html - HTML string to parse
19
+ * @returns The parsed project with AST and computed styles
20
+ */
21
+ parse(html: string): ParsedHtml;
22
+ /**
23
+ * Extracts CSS text from <style> elements in the document
24
+ */
25
+ private extractCSS;
26
+ /**
27
+ * Builds a map of CSS rules from the parsed CSS AST
28
+ */
29
+ private buildStyleRules;
30
+ /**
31
+ * Gets the class attribute value from an element
32
+ */
33
+ private getClassNames;
34
+ /**
35
+ * Checks if an element matches a CSS selector (simplified implementation)
36
+ */
37
+ private matchesSelector;
38
+ /**
39
+ * Applies CSS rules to all elements in the AST
40
+ */
41
+ private traverseAndApplyStyles;
42
+ }
43
+ /**
44
+ * Helper to find elements by tag name in the AST
45
+ * @param node - Starting node to search from
46
+ * @param tagName - Tag name to search for
47
+ * @returns Array of matching element nodes
48
+ */
49
+ export declare function findElementsByTagName(node: ASTNode, tagName: string): Element[];
50
+ /**
51
+ * Helper to get text content from a node
52
+ * @param node - Node to extract text from
53
+ * @returns Concatenated text content
54
+ */
55
+ export declare function getTextContent(node: ASTNode): string;
56
+ //# sourceMappingURL=html-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-parser.d.ts","sourceRoot":"","sources":["../src/html-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,KAAK,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEnD,MAAM,MAAM,OAAO,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC;AACpD,MAAM,MAAM,QAAQ,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;AACzD,MAAM,MAAM,OAAO,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAC;AAGvD,MAAM,WAAW,eAAgB,SAAQ,OAAO;IAC9C,cAAc,CAAC,EAAE,aAAa,CAAC;CAChC;AAOD,qBAAa,UAAU;IACrB;;;;OAIG;IACU,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAK7D;;;;OAIG;IACI,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU;IAetC;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,eAAe;IA2BvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,eAAe;IAwBvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;CA6B/B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,MAAM,GACd,OAAO,EAAE,CAiBX;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAiBpD"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.HTMLParser = void 0;
37
+ exports.findElementsByTagName = findElementsByTagName;
38
+ exports.getTextContent = getTextContent;
39
+ const parse5_1 = require("parse5");
40
+ const promises_1 = require("fs/promises");
41
+ const csstree = __importStar(require("css-tree"));
42
+ class HTMLParser {
43
+ /**
44
+ * Parses an HTML file into an AST with computed CSS using parse5 and css-tree
45
+ * @param filePath - Absolute or relative path to the HTML file
46
+ * @returns Promise resolving to the parsed project with AST and computed styles
47
+ */
48
+ async parseFile(filePath) {
49
+ const content = await (0, promises_1.readFile)(filePath, 'utf-8');
50
+ return this.parse(content);
51
+ }
52
+ /**
53
+ * Parses HTML string into an AST with computed CSS
54
+ * @param html - HTML string to parse
55
+ * @returns The parsed project with AST and computed styles
56
+ */
57
+ parse(html) {
58
+ const ast = (0, parse5_1.parse)(html);
59
+ const cssText = this.extractCSS(ast);
60
+ const cssRules = csstree.parse(cssText);
61
+ const elements = new Map();
62
+ // Build the CSS rule map
63
+ const styleRules = this.buildStyleRules(cssRules);
64
+ // Apply styles to all elements
65
+ this.traverseAndApplyStyles(ast, styleRules, elements);
66
+ return { ast, css: elements, cssText };
67
+ }
68
+ /**
69
+ * Extracts CSS text from <style> elements in the document
70
+ */
71
+ extractCSS(ast) {
72
+ const styleElements = findElementsByTagName(ast, 'style');
73
+ return styleElements.map((el) => getTextContent(el)).join('\n');
74
+ }
75
+ /**
76
+ * Builds a map of CSS rules from the parsed CSS AST
77
+ */
78
+ buildStyleRules(cssAst) {
79
+ const rules = [];
80
+ csstree.walk(cssAst, {
81
+ visit: 'Rule',
82
+ enter: (node) => {
83
+ const rule = node;
84
+ const selector = csstree.generate(rule.prelude);
85
+ const properties = {};
86
+ csstree.walk(rule.block, {
87
+ visit: 'Declaration',
88
+ enter: (declNode) => {
89
+ const decl = declNode;
90
+ const property = decl.property;
91
+ const value = csstree.generate(decl.value);
92
+ properties[property] = value;
93
+ },
94
+ });
95
+ rules.push({ selector, properties });
96
+ },
97
+ });
98
+ return rules;
99
+ }
100
+ /**
101
+ * Gets the class attribute value from an element
102
+ */
103
+ getClassNames(element) {
104
+ const classAttr = element.attrs.find((attr) => attr.name === 'class');
105
+ return classAttr ? classAttr.value.split(/\s+/).filter(Boolean) : [];
106
+ }
107
+ /**
108
+ * Checks if an element matches a CSS selector (simplified implementation)
109
+ */
110
+ matchesSelector(element, selector) {
111
+ const trimmedSelector = selector.trim();
112
+ // Class selector
113
+ if (trimmedSelector.startsWith('.')) {
114
+ const className = trimmedSelector.slice(1);
115
+ return this.getClassNames(element).includes(className);
116
+ }
117
+ // Tag selector
118
+ if (/^[a-z]+$/i.test(trimmedSelector)) {
119
+ return element.tagName === trimmedSelector;
120
+ }
121
+ // ID selector (basic support)
122
+ if (trimmedSelector.startsWith('#')) {
123
+ const id = trimmedSelector.slice(1);
124
+ const idAttr = element.attrs.find((attr) => attr.name === 'id');
125
+ return idAttr?.value === id;
126
+ }
127
+ return false;
128
+ }
129
+ /**
130
+ * Applies CSS rules to all elements in the AST
131
+ */
132
+ traverseAndApplyStyles(node, styleRules, elementsMap) {
133
+ const traverse = (currentNode) => {
134
+ if ('tagName' in currentNode) {
135
+ const element = currentNode;
136
+ const computedStyles = {};
137
+ // Apply matching rules
138
+ for (const rule of styleRules) {
139
+ if (this.matchesSelector(element, rule.selector)) {
140
+ Object.assign(computedStyles, rule.properties);
141
+ }
142
+ }
143
+ elementsMap.set(element, computedStyles);
144
+ }
145
+ if ('childNodes' in currentNode && currentNode.childNodes) {
146
+ for (const child of currentNode.childNodes) {
147
+ traverse(child);
148
+ }
149
+ }
150
+ };
151
+ traverse(node);
152
+ }
153
+ }
154
+ exports.HTMLParser = HTMLParser;
155
+ /**
156
+ * Helper to find elements by tag name in the AST
157
+ * @param node - Starting node to search from
158
+ * @param tagName - Tag name to search for
159
+ * @returns Array of matching element nodes
160
+ */
161
+ function findElementsByTagName(node, tagName) {
162
+ const results = [];
163
+ function traverse(currentNode) {
164
+ if ('tagName' in currentNode && currentNode.tagName === tagName) {
165
+ results.push(currentNode);
166
+ }
167
+ if ('childNodes' in currentNode && currentNode.childNodes) {
168
+ for (const child of currentNode.childNodes) {
169
+ traverse(child);
170
+ }
171
+ }
172
+ }
173
+ traverse(node);
174
+ return results;
175
+ }
176
+ /**
177
+ * Helper to get text content from a node
178
+ * @param node - Node to extract text from
179
+ * @returns Concatenated text content
180
+ */
181
+ function getTextContent(node) {
182
+ let text = '';
183
+ function traverse(currentNode) {
184
+ if ('value' in currentNode && typeof currentNode.value === 'string') {
185
+ text += currentNode.value;
186
+ }
187
+ if ('childNodes' in currentNode && currentNode.childNodes) {
188
+ for (const child of currentNode.childNodes) {
189
+ traverse(child);
190
+ }
191
+ }
192
+ }
193
+ traverse(node);
194
+ return text;
195
+ }
196
+ // /**
197
+ // * Helper to get computed styles for an element
198
+ // * @param element - Element to get styles for
199
+ // * @param elementsMap - Map of elements to their computed styles
200
+ // * @returns Computed styles for the element
201
+ // */
202
+ // export function getComputedStyles(
203
+ // element: Element,
204
+ // elementsMap: Map<Element, CSSProperties>,
205
+ // ): CSSProperties {
206
+ // return elementsMap.get(element) || {};
207
+ // }
208
+ //# sourceMappingURL=html-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-parser.js","sourceRoot":"","sources":["../src/html-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ import { ParsedHtml } from './type';
2
+ import { Project } from './project';
3
+ export declare class HTMLProjectParser {
4
+ private html;
5
+ private projectPath;
6
+ private projectDir;
7
+ constructor(html: ParsedHtml, projectPath: string);
8
+ parse(): Promise<Project>;
9
+ /**
10
+ * Processes asset elements from the parsed HTML and builds an assets map
11
+ */
12
+ private processAssets;
13
+ /**
14
+ * Finds all asset elements in the HTML
15
+ */
16
+ private findAssetElements;
17
+ /**
18
+ * Extracts asset information from an element
19
+ */
20
+ private extractAssetFromElement;
21
+ /**
22
+ * Infers asset type from tag name or file path
23
+ */
24
+ private inferAssetType;
25
+ /**
26
+ * Gets the duration of an asset file using ffprobe
27
+ * @param path - Path to the asset file
28
+ * @param type - Asset type (video, audio, or image)
29
+ * @returns Duration in milliseconds
30
+ */
31
+ private getAssetDuration;
32
+ /**
33
+ * Gets the rotation of an asset file using ffprobe
34
+ * @param path - Path to the asset file
35
+ * @param type - Asset type (video, audio, or image)
36
+ * @returns Rotation in degrees (0, 90, 180, 270)
37
+ */
38
+ private getAssetRotation;
39
+ /**
40
+ * Gets the dimensions of an asset file using ffprobe
41
+ * @param path - Path to the asset file
42
+ * @param type - Asset type (video, audio, or image)
43
+ * @returns Object with width and height in pixels
44
+ */
45
+ private getAssetDimensions;
46
+ /**
47
+ * Checks if an asset file has a video stream using ffprobe
48
+ * @param _path - Path to the asset file (unused for now, type-based check)
49
+ * @param type - Asset type (video, audio, or image)
50
+ * @returns True if the asset has a video stream
51
+ */
52
+ private getHasVideo;
53
+ /**
54
+ * Checks if an asset file has an audio stream using ffprobe
55
+ * @param path - Path to the asset file
56
+ * @param type - Asset type (video, audio, or image)
57
+ * @returns True if the asset has an audio stream
58
+ */
59
+ private getHasAudio;
60
+ /**
61
+ * Processes all output configurations from the parsed HTML
62
+ * Returns a map of output name => Output definition
63
+ */
64
+ private processOutputs;
65
+ /**
66
+ * Finds all output elements in the HTML
67
+ */
68
+ private findOutputElements;
69
+ /**
70
+ * Processes sequences and fragments from the parsed HTML
71
+ */
72
+ private processSequences;
73
+ /**
74
+ * Finds all sequence elements that are direct children of <project>
75
+ */
76
+ private findSequenceElements;
77
+ /**
78
+ * Finds the <project> root element
79
+ */
80
+ private findProjectElement;
81
+ /**
82
+ * Finds all fragment descendants of a sequence element (not just direct children)
83
+ * Parse5 treats self-closing custom tags as opening tags, nesting subsequent elements
84
+ */
85
+ private findFragmentChildren;
86
+ /**
87
+ * Processes a single fragment element according to Parser.md specification
88
+ * Returns fragment with temporary overlayRight and overlayZIndexRight for normalization
89
+ */
90
+ private processFragment;
91
+ /**
92
+ * Parses filter property (for visual filters)
93
+ * Format: "<filter-name>"
94
+ * Example: "instagram-nashville", "instagram-moon"
95
+ */
96
+ private parseVisualFilterProperty;
97
+ /**
98
+ * Extracts the first <container> child from a fragment element
99
+ */
100
+ private extractFragmentContainer;
101
+ /**
102
+ * Serializes an element's children to HTML string
103
+ */
104
+ private serializeElement;
105
+ /**
106
+ * Splits a string by whitespace, handling CSS-tree's various number formatting quirks:
107
+ * - Recombines standalone minus signs: "- 0.1" → "-0.1"
108
+ * - Splits concatenated numbers: "25-0.1" → ["25", "-0.1"]
109
+ */
110
+ private splitCssValue;
111
+ /**
112
+ * Parses the 'display' CSS property for the enabled flag
113
+ * display: none -> false, anything else -> true
114
+ */
115
+ private parseEnabled;
116
+ /**
117
+ * Parses -trim-start property into trimLeft
118
+ * Cannot be negative
119
+ */
120
+ private parseTrimStart;
121
+ /**
122
+ * Parses the -duration CSS property
123
+ * Can be: "auto", percentage (e.g. "100%", "50%"), or time value (e.g. "5000ms", "5s")
124
+ */
125
+ private parseDurationProperty;
126
+ /**
127
+ * Parses time value into milliseconds
128
+ * Supports: "5s", "5000ms", "1.5s", etc.
129
+ */
130
+ private parseMilliseconds;
131
+ /**
132
+ * Parses -offset-start into overlayLeft
133
+ * Can be a time value or a calc() expression
134
+ */
135
+ private parseOffsetStart;
136
+ /**
137
+ * Parses -offset-end into overlayRight (for next fragment)
138
+ * Can be a time value or a calc() expression
139
+ */
140
+ private parseOffsetEnd;
141
+ /**
142
+ * Parses z-index values (-overlay-start-z-index, -overlay-end-z-index)
143
+ */
144
+ private parseZIndex;
145
+ /**
146
+ * Parses -transition-start or -transition-end
147
+ * Format: "<transition-name> <duration>"
148
+ * Example: "fade-in 5s", "fade-out 500ms"
149
+ */
150
+ private parseTransitionProperty;
151
+ /**
152
+ * Parses -object-fit property
153
+ * Format: "<type> <settings>"
154
+ * Examples:
155
+ * - "contain ambient 25 -0.1 0.7"
156
+ * - "contain pillarbox #000000"
157
+ * - "cover"
158
+ */
159
+ private parseObjectFitProperty;
160
+ /**
161
+ * Parses -chromakey property
162
+ * Format: "<blend> <similarity> <color>"
163
+ * Example: "0.1 0.3 #00FF00", "hard good #00FF00", "soft loose #123abc45"
164
+ * Blend: hard=0.0, smooth=0.1, soft=0.2
165
+ * Similarity: strict=0.1, good=0.3, forgiving=0.5, loose=0.7
166
+ */
167
+ private parseChromakeyProperty;
168
+ }
169
+ //# sourceMappingURL=html-project-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"html-project-parser.d.ts","sourceRoot":"","sources":["../src/html-project-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EAQX,MAAM,QAAQ,CAAC;AAIhB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,qBAAa,iBAAiB;IAI1B,OAAO,CAAC,IAAI;IACZ,OAAO,CAAC,WAAW;IAJrB,OAAO,CAAC,UAAU,CAAS;gBAGjB,IAAI,EAAE,UAAU,EAChB,WAAW,EAAE,MAAM;IAKhB,KAAK,IAAI,OAAO,CAAC,OAAO,CAAC;IAStC;;OAEG;YACW,aAAa;IAgB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;OAEG;YACW,uBAAuB;IAoErC;;OAEG;IACH,OAAO,CAAC,cAAc;IAoBtB;;;;;OAKG;YACW,gBAAgB;IAiC9B;;;;;OAKG;YACW,gBAAgB;IAsC9B;;;;;OAKG;YACW,kBAAkB;IAuChC;;;;;OAKG;YACW,WAAW;IAiBzB;;;;;OAKG;YACW,WAAW;IAoCzB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAqDtB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAwB1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+ExB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAsB1B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA4B5B;;;OAGG;IACH,OAAO,CAAC,eAAe;IAkGvB;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0CxB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IA6BrB;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAuBxB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAuBtB;;OAEG;IACH,OAAO,CAAC,WAAW;IASnB;;;;OAIG;IACH,OAAO,CAAC,uBAAuB;IAuB/B;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAiF9B;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;CA2D/B"}