screenci 0.0.69 → 0.0.71

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 (144) hide show
  1. package/README.md +45 -122
  2. package/dist/cli.d.ts +1 -0
  3. package/dist/cli.d.ts.map +1 -1
  4. package/dist/cli.js +68 -4
  5. package/dist/cli.js.map +1 -1
  6. package/dist/docs/manifest.d.ts +81 -50
  7. package/dist/docs/manifest.d.ts.map +1 -1
  8. package/dist/docs/manifest.js +36 -17
  9. package/dist/docs/manifest.js.map +1 -1
  10. package/dist/docs/video-sources/installation.screenci.d.ts +2 -0
  11. package/dist/docs/video-sources/installation.screenci.d.ts.map +1 -0
  12. package/dist/docs/video-sources/{installation.video.js → installation.screenci.js} +1 -1
  13. package/dist/docs/video-sources/installation.screenci.js.map +1 -0
  14. package/dist/docs/video-sources/landing.screenci.d.ts +2 -0
  15. package/dist/docs/video-sources/landing.screenci.d.ts.map +1 -0
  16. package/dist/docs/video-sources/{landing.video.js → landing.screenci.js} +1 -1
  17. package/dist/docs/video-sources/landing.screenci.js.map +1 -0
  18. package/dist/docs/video-sources/locator-highlight-animated.screenci.d.ts +2 -0
  19. package/dist/docs/video-sources/locator-highlight-animated.screenci.d.ts.map +1 -0
  20. package/dist/docs/video-sources/locator-highlight-animated.screenci.js +41 -0
  21. package/dist/docs/video-sources/locator-highlight-animated.screenci.js.map +1 -0
  22. package/dist/docs/video-sources/locator-highlight-still.screenci.d.ts +2 -0
  23. package/dist/docs/video-sources/locator-highlight-still.screenci.d.ts.map +1 -0
  24. package/dist/docs/video-sources/locator-highlight-still.screenci.js +19 -0
  25. package/dist/docs/video-sources/locator-highlight-still.screenci.js.map +1 -0
  26. package/dist/docs/video-sources/product-pitch.screenci.d.ts +2 -0
  27. package/dist/docs/video-sources/product-pitch.screenci.d.ts.map +1 -0
  28. package/dist/docs/video-sources/product-pitch.screenci.js +136 -0
  29. package/dist/docs/video-sources/product-pitch.screenci.js.map +1 -0
  30. package/dist/docs/video-sources/public-urls.screenci.d.ts +2 -0
  31. package/dist/docs/video-sources/public-urls.screenci.d.ts.map +1 -0
  32. package/dist/docs/video-sources/public-urls.screenci.js +34 -0
  33. package/dist/docs/video-sources/public-urls.screenci.js.map +1 -0
  34. package/dist/docs/video-sources/studio.screenci.d.ts +2 -0
  35. package/dist/docs/video-sources/studio.screenci.d.ts.map +1 -0
  36. package/dist/docs/video-sources/{studio.video.js → studio.screenci.js} +1 -1
  37. package/dist/docs/video-sources/studio.screenci.js.map +1 -0
  38. package/dist/docs/videos.d.ts +28 -18
  39. package/dist/docs/videos.d.ts.map +1 -1
  40. package/dist/docs/videos.js +14 -5
  41. package/dist/docs/videos.js.map +1 -1
  42. package/dist/e2e/screenshot.e2e.d.ts +2 -0
  43. package/dist/e2e/screenshot.e2e.d.ts.map +1 -0
  44. package/dist/e2e/screenshot.e2e.js +73 -0
  45. package/dist/e2e/screenshot.e2e.js.map +1 -0
  46. package/dist/index.d.ts +7 -3
  47. package/dist/index.d.ts.map +1 -1
  48. package/dist/index.js +3 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/src/asset.d.ts +119 -15
  51. package/dist/src/asset.d.ts.map +1 -1
  52. package/dist/src/asset.js +310 -124
  53. package/dist/src/asset.js.map +1 -1
  54. package/dist/src/audio.d.ts +14 -0
  55. package/dist/src/audio.d.ts.map +1 -1
  56. package/dist/src/audio.js +4 -1
  57. package/dist/src/audio.js.map +1 -1
  58. package/dist/src/config.d.ts.map +1 -1
  59. package/dist/src/config.js +9 -3
  60. package/dist/src/config.js.map +1 -1
  61. package/dist/src/contextOptions.d.ts +48 -0
  62. package/dist/src/contextOptions.d.ts.map +1 -0
  63. package/dist/src/contextOptions.js +71 -0
  64. package/dist/src/contextOptions.js.map +1 -0
  65. package/dist/src/crop.d.ts +93 -0
  66. package/dist/src/crop.d.ts.map +1 -0
  67. package/dist/src/crop.js +133 -0
  68. package/dist/src/crop.js.map +1 -0
  69. package/dist/src/cue.d.ts +17 -4
  70. package/dist/src/cue.d.ts.map +1 -1
  71. package/dist/src/cue.js +31 -3
  72. package/dist/src/cue.js.map +1 -1
  73. package/dist/src/defaults.d.ts +6 -0
  74. package/dist/src/defaults.d.ts.map +1 -1
  75. package/dist/src/defaults.js +6 -0
  76. package/dist/src/defaults.js.map +1 -1
  77. package/dist/src/dimensions.d.ts +6 -0
  78. package/dist/src/dimensions.d.ts.map +1 -1
  79. package/dist/src/dimensions.js +15 -0
  80. package/dist/src/dimensions.js.map +1 -1
  81. package/dist/src/events.d.ts +152 -10
  82. package/dist/src/events.d.ts.map +1 -1
  83. package/dist/src/events.js +61 -3
  84. package/dist/src/events.js.map +1 -1
  85. package/dist/src/htmlRasterizer.d.ts +43 -0
  86. package/dist/src/htmlRasterizer.d.ts.map +1 -1
  87. package/dist/src/htmlRasterizer.js +32 -10
  88. package/dist/src/htmlRasterizer.js.map +1 -1
  89. package/dist/src/init.d.ts.map +1 -1
  90. package/dist/src/init.js +19 -8
  91. package/dist/src/init.js.map +1 -1
  92. package/dist/src/overlayFlush.d.ts +18 -0
  93. package/dist/src/overlayFlush.d.ts.map +1 -0
  94. package/dist/src/overlayFlush.js +56 -0
  95. package/dist/src/overlayFlush.js.map +1 -0
  96. package/dist/src/overlayRect.d.ts +69 -0
  97. package/dist/src/overlayRect.d.ts.map +1 -0
  98. package/dist/src/overlayRect.js +55 -0
  99. package/dist/src/overlayRect.js.map +1 -0
  100. package/dist/src/recording.d.ts +3 -2
  101. package/dist/src/recording.d.ts.map +1 -1
  102. package/dist/src/recordingData.d.ts +20 -0
  103. package/dist/src/recordingData.d.ts.map +1 -1
  104. package/dist/src/runtimeContext.d.ts +19 -1
  105. package/dist/src/runtimeContext.d.ts.map +1 -1
  106. package/dist/src/runtimeContext.js +15 -0
  107. package/dist/src/runtimeContext.js.map +1 -1
  108. package/dist/src/screenshot.d.ts +105 -0
  109. package/dist/src/screenshot.d.ts.map +1 -0
  110. package/dist/src/screenshot.js +188 -0
  111. package/dist/src/screenshot.js.map +1 -0
  112. package/dist/src/stillCapture.d.ts +68 -0
  113. package/dist/src/stillCapture.d.ts.map +1 -0
  114. package/dist/src/stillCapture.js +119 -0
  115. package/dist/src/stillCapture.js.map +1 -0
  116. package/dist/src/studio.d.ts +8 -11
  117. package/dist/src/studio.d.ts.map +1 -1
  118. package/dist/src/studio.js +2 -25
  119. package/dist/src/studio.js.map +1 -1
  120. package/dist/src/types.d.ts +100 -8
  121. package/dist/src/types.d.ts.map +1 -1
  122. package/dist/src/types.js.map +1 -1
  123. package/dist/src/video.d.ts +20 -0
  124. package/dist/src/video.d.ts.map +1 -1
  125. package/dist/src/video.js +71 -24
  126. package/dist/src/video.js.map +1 -1
  127. package/dist/tsconfig.tsbuildinfo +1 -1
  128. package/package.json +1 -1
  129. package/skills/screenci/SKILL.md +10 -10
  130. package/skills/screenci/references/init.md +1 -1
  131. package/skills/screenci/references/record.md +2 -2
  132. package/dist/docs/video-sources/cli.video.d.ts +0 -2
  133. package/dist/docs/video-sources/cli.video.d.ts.map +0 -1
  134. package/dist/docs/video-sources/cli.video.js +0 -36
  135. package/dist/docs/video-sources/cli.video.js.map +0 -1
  136. package/dist/docs/video-sources/installation.video.d.ts +0 -2
  137. package/dist/docs/video-sources/installation.video.d.ts.map +0 -1
  138. package/dist/docs/video-sources/installation.video.js.map +0 -1
  139. package/dist/docs/video-sources/landing.video.d.ts +0 -2
  140. package/dist/docs/video-sources/landing.video.d.ts.map +0 -1
  141. package/dist/docs/video-sources/landing.video.js.map +0 -1
  142. package/dist/docs/video-sources/studio.video.d.ts +0 -2
  143. package/dist/docs/video-sources/studio.video.d.ts.map +0 -1
  144. package/dist/docs/video-sources/studio.video.js.map +0 -1
@@ -1,3 +1,4 @@
1
+ import type { Locator } from '@playwright/test';
1
2
  import type { IEventRecorder } from './events.js';
2
3
  export { setOverlayCss } from './htmlRasterizer.js';
3
4
  export type { OverlayPlacement } from './events.js';
@@ -14,28 +15,62 @@ export type ReactElementLike = {
14
15
  key?: string | null;
15
16
  };
16
17
  /**
17
- * Display options for an overlay. Placement fields are flat (not nested) and
18
- * each defaults independently: `relativeTo: 'recording'`, `x: 0`, `y: 0`, and
19
- * `width: 1` when neither `width` nor `height` is given. The default box fills
20
- * the recording area, whose final size is chosen later in the studio.
18
+ * Display options for an overlay. Placement fields are flat (not nested) and use
19
+ * CSS pixels in the recording viewport (the same space as Playwright's
20
+ * `boundingBox()`, `page.mouse`, and `viewportSize()`), each defaulting
21
+ * independently: `relativeTo: 'recording'`, `x: 0`, `y: 0`. Provide exactly one
22
+ * of `width`/`height` (the other follows the source aspect, or `aspectRatio`).
23
+ * When no placement field is set, the overlay fills the recording area.
21
24
  */
22
25
  export type OverlayConfig = {
23
26
  /** File path: `.html` (rendered), `.svg`/`.png` (image), or `.mp4` (video). */
24
27
  path?: string;
25
- /** A React element, rendered to a transparent PNG. Mutually exclusive with `path`. */
28
+ /**
29
+ * A React element, rendered to a transparent PNG. Use this for overlays built
30
+ * in JSX. Provide exactly one source: `path`, `element`, or `html`.
31
+ */
26
32
  element?: ReactElementLike;
33
+ /**
34
+ * An inline HTML fragment, rendered to a transparent PNG. Use this when you
35
+ * want plain HTML without a React dependency or a separate `.html` file. It
36
+ * must be a fragment (for example `'<div class="badge">New</div>'`), never a
37
+ * full document: `<!doctype>`, `<html>`, `<head>`, and `<body>` tags are
38
+ * rejected because screenci wraps the markup in its own document. Provide
39
+ * exactly one source: `path`, `element`, or `html`.
40
+ */
41
+ html?: string;
27
42
  /** Reference box for placement coordinates. Defaults to `'recording'`. */
28
43
  relativeTo?: 'screen' | 'recording';
29
- /** Left edge as a 0..1 fraction of the reference box. Defaults to `0`. */
44
+ /** Left edge in CSS px of the recording viewport. Defaults to `0`. */
30
45
  x?: number;
31
- /** Top edge as a 0..1 fraction of the reference box. Defaults to `0`. */
46
+ /** Top edge in CSS px of the recording viewport. Defaults to `0`. */
32
47
  y?: number;
33
- /** Width as a 0..1 fraction. Defaults to `1` when `height` is not set. */
48
+ /** Width in CSS px. Provide instead of `height` (exactly one). */
34
49
  width?: number;
35
- /** Height as a 0..1 fraction. Provide instead of `width` (exactly one). */
50
+ /** Height in CSS px. Provide instead of `width` (exactly one). */
36
51
  height?: number;
52
+ /**
53
+ * Aspect ratio (`width / height`) used to derive the unset axis from the one
54
+ * you provide, instead of the source's intrinsic aspect. Optional.
55
+ */
56
+ aspectRatio?: number;
37
57
  /** Fill the whole output frame. Overrides x/y/width/height. */
38
58
  fullScreen?: boolean;
59
+ /**
60
+ * Position the overlay over a live element, captured at recording time from
61
+ * the locator's bounding box. The overlay is sized to that box (plus
62
+ * {@link margin}) and fills it, so it frames the element exactly. Overrides
63
+ * `x`/`y`/`width`/`height`/`relativeTo`/`fullScreen` (placement is always
64
+ * recording-relative). HTML files, inline `html`, and React elements only;
65
+ * your content should fill its box (for example `width:100%;height:100%`).
66
+ */
67
+ over?: Locator;
68
+ /**
69
+ * Extra space (CSS px) added around the {@link over} element on every side,
70
+ * so the overlay surrounds it rather than sitting exactly on its edges. Only
71
+ * valid together with `over`.
72
+ */
73
+ margin?: number;
39
74
  /**
40
75
  * Visible length for the blocking call form (`await overlays.logo(1200)`).
41
76
  * Omit when driving with `start()`/`end()`. Image/HTML/React overlays only.
@@ -73,6 +108,23 @@ export type OverlayConfig = {
73
108
  * {@link MAX_AUDIO_LEVEL}.
74
109
  */
75
110
  audio?: number;
111
+ /**
112
+ * Playback-rate multiplier for `.mp4` overlays. `2` plays the clip (and its
113
+ * audio) twice as fast, `0.5` at half speed; `1` (the default) is the natural
114
+ * rate. Works like {@link speed} for a recording. For a blocking overlay
115
+ * (`await overlays.clip()`) this also shortens or lengthens the window it
116
+ * holds, so later content shifts; a live overlay (`start()`/`end()`) keeps
117
+ * its window and just plays the source faster/slower inside it. Mutually
118
+ * exclusive with {@link time}. Video overlays only.
119
+ */
120
+ speed?: number;
121
+ /**
122
+ * Target playback duration (ms) for a `.mp4` overlay, an alternative to
123
+ * {@link speed}: the clip is sped up or slowed down so its source plays over
124
+ * exactly this long. Works like {@link time} for a recording. Mutually
125
+ * exclusive with {@link speed}. Video overlays only.
126
+ */
127
+ time?: number;
76
128
  };
77
129
  /**
78
130
  * Upper bound for an audio level (linear gain). `4` is +12 dB, plenty of
@@ -87,6 +139,29 @@ export declare const MAX_AUDIO_LEVEL = 4;
87
139
  * - an {@link OverlayConfig} object.
88
140
  */
89
141
  export type OverlayInput = string | ReactElementLike | OverlayConfig;
142
+ /**
143
+ * A factory that builds an {@link OverlayConfig} from caller-supplied props.
144
+ * Use this to make an overlay programmatic: the returned config (its content and
145
+ * its placement) can depend on values only known at runtime, for example a
146
+ * locator's position captured with {@link overlayRect}. Both the `element`/`html`
147
+ * content and the placement may vary per call.
148
+ *
149
+ * @example
150
+ * ```tsx
151
+ * const overlays = createOverlays({
152
+ * note: (p: { text: string }) => ({ html: `<div class="note">${p.text}</div>` }),
153
+ * })
154
+ * await overlays.note({ text: 'Saved' })(1200)
155
+ * ```
156
+ */
157
+ export type OverlayConfigFactory<P = unknown> = (props: P) => OverlayConfig;
158
+ /**
159
+ * A value accepted by {@link createOverlays}: a static input or a config
160
+ * factory. The factory arm uses a `never` parameter so a factory with any
161
+ * concrete props type is assignable (function parameters are contravariant);
162
+ * {@link OverlayControllerFor} then recovers the real props type per key.
163
+ */
164
+ export type OverlayInputOrFactory = OverlayInput | ((props: never) => OverlayConfig);
90
165
  export declare function setAssetSleepFn(fn: (ms: number) => void): void;
91
166
  export declare function setActiveAssetRecorder(recorder: IEventRecorder | null): void;
92
167
  export declare function resetRegisteredAssetPaths(): void;
@@ -127,28 +202,40 @@ export type OverlayController = {
127
202
  start(): Promise<void>;
128
203
  end(): Promise<void>;
129
204
  };
205
+ /**
206
+ * The controller type for one {@link createOverlays} value: a static input
207
+ * (string/element/config) yields a plain {@link OverlayController}; a config
208
+ * factory yields a `(props) => OverlayController` so props are passed at the
209
+ * call site. A static input is never callable, so it never matches the factory
210
+ * arm: existing static maps keep exactly today's controller type.
211
+ */
212
+ export type OverlayControllerFor<V> = V extends (props: infer P) => OverlayConfig ? (props: P) => OverlayController : OverlayController;
130
213
  /** Typed overlay controllers keyed by the names passed to {@link createOverlays}. */
131
- export type Overlays<T extends Record<string, OverlayInput>> = {
132
- [K in keyof T]: OverlayController;
214
+ export type Overlays<T extends Record<string, OverlayInputOrFactory>> = {
215
+ [K in keyof T]: OverlayControllerFor<T[K]>;
133
216
  };
134
217
  /**
135
218
  * Creates a set of typed overlay controllers, one per key in the map. Each value
136
219
  * is a file path string, a React element, or an {@link OverlayConfig} object.
220
+ * A config can draw its content from exactly one source: a file `path`, a React
221
+ * `element`, or an inline `html` fragment.
137
222
  *
138
223
  * Calling a controller shows the overlay in the recording timeline. Image
139
224
  * (`.svg`/`.png`), HTML, and React overlays need a `durationMs` (in the config
140
225
  * or passed to the blocking call) unless driven with `start()`/`end()`; `.mp4`
141
226
  * overlays use their natural duration and default `audio` to `1` (natural level).
142
227
  *
143
- * Placement defaults to the full recording area (`relativeTo: 'recording',
144
- * x: 0, y: 0, width: 1`); override any field independently.
228
+ * Placement defaults to the full recording area (`relativeTo: 'recording'`);
229
+ * override any field independently. Coordinates are CSS px of the recording
230
+ * viewport.
145
231
  *
146
232
  * @example
147
233
  * ```tsx
148
234
  * const overlays = createOverlays({
149
235
  * hint: 'callout.html', // HTML file
150
236
  * badge: <Badge label="New" />, // React element
151
- * logo: { path: 'logo.png', x: 0.05, y: 0.05, width: 0.2 },
237
+ * note: { html: '<div class="note">Tip</div>', x: 1340, y: 110, width: 380 },
238
+ * logo: { path: 'logo.png', x: 96, y: 96, width: 240 },
152
239
  * intro: { path: 'intro.mp4', fullScreen: true },
153
240
  * })
154
241
  *
@@ -158,8 +245,14 @@ export type Overlays<T extends Record<string, OverlayInput>> = {
158
245
  * await overlays.logo(1200)
159
246
  * })
160
247
  * ```
248
+ *
249
+ * A value can also be an {@link OverlayConfigFactory} `(props) => OverlayConfig`,
250
+ * making the overlay programmatic. Calling `overlays.name(props)` builds and
251
+ * returns a controller you then drive with `(durationMs)`, `start()`, or
252
+ * `end()`. The factory runs (and its config is validated) on each call, so
253
+ * content and placement can depend on runtime values.
161
254
  */
162
- export declare function createOverlays<const T extends Record<string, OverlayInput>>(overlays: T): Overlays<T>;
255
+ export declare function createOverlays<const T extends Record<string, OverlayInputOrFactory>>(overlays: T): Overlays<T>;
163
256
  /**
164
257
  * Creates typed overlay controllers whose files and display options are
165
258
  * configured on the ScreenCI Studio page instead of in code. Business tier
@@ -186,4 +279,15 @@ export declare function createOverlays<const T extends Record<string, OverlayInp
186
279
  * ```
187
280
  */
188
281
  export declare function createStudioOverlays<const K extends readonly [string, ...string[]]>(...keys: K): Record<K[number], OverlayController>;
282
+ /**
283
+ * Upper bound for a playback-speed multiplier. `16` is already an extreme rate;
284
+ * the cap guards against accidental runaway values producing degenerate output.
285
+ */
286
+ export declare const MAX_SPEED = 16;
287
+ /**
288
+ * Validates a `speed`/`time` pair shared by `.mp4` overlays and audio tracks.
289
+ * `speed` must be a finite multiplier in `(0, MAX_SPEED]`; `time` must be a
290
+ * finite duration greater than 0 (ms). They are mutually exclusive.
291
+ */
292
+ export declare function validateSpeedTime(label: string, speed: number | undefined, time: number | undefined): void;
189
293
  //# sourceMappingURL=asset.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/asset.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAoB,MAAM,aAAa,CAAA;AASnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAYnD,YAAY,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD;;;;;;GAMG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAA;IACb,KAAK,EAAE,OAAO,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACpB,CAAA;AAED;;;;;GAKG;AACH,MAAM,MAAM,aAAa,GAAG;IAC1B,+EAA+E;IAC/E,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,sFAAsF;IACtF,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,0EAA0E;IAC1E,UAAU,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAA;IACnC,0EAA0E;IAC1E,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,yEAAyE;IACzE,CAAC,CAAC,EAAE,MAAM,CAAA;IACV,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+DAA+D;IAC/D,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB;;;;;;;OAOG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,iFAAiF;IACjF,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;OAIG;IACH,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;GAGG;AACH,eAAO,MAAM,eAAe,IAAI,CAAA;AAEhC;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,gBAAgB,GAAG,aAAa,CAAA;AAgBpE,wBAAgB,eAAe,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAE9D;AAQD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,IAAI,CAG5E;AAED,wBAAgB,yBAAyB,IAAI,IAAI,CAEhD;AAED,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAED,wBAAsB,4BAA4B,CAChD,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAIf;AAkCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;IACtB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACrB,CAAA;AAED,qFAAqF;AACrF,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI;KAC5D,CAAC,IAAI,MAAM,CAAC,GAAG,iBAAiB;CAClC,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,cAAc,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACzE,QAAQ,EAAE,CAAC,GACV,QAAQ,CAAC,CAAC,CAAC,CAMb;AAkSD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,CAAC,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,EAC9C,GAAG,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAgBlD"}
1
+ {"version":3,"file":"asset.d.ts","sourceRoot":"","sources":["../../src/asset.ts"],"names":[],"mappings":"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"}