ugcinc-render 1.8.5 → 1.8.7

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.
@@ -278,7 +278,7 @@ interface CropBounds {
278
278
  /**
279
279
  * Dimension preset keys for image editor
280
280
  */
281
- type DimensionPresetKey = 'tiktok' | 'instagram-square' | 'instagram-post' | 'youtube' | 'twitter' | 'custom';
281
+ type DimensionPresetKey = '9:16' | '1:1' | '4:5' | '16:9' | 'custom';
282
282
  /**
283
283
  * Dimension preset configuration
284
284
  */
@@ -278,7 +278,7 @@ interface CropBounds {
278
278
  /**
279
279
  * Dimension preset keys for image editor
280
280
  */
281
- type DimensionPresetKey = 'tiktok' | 'instagram-square' | 'instagram-post' | 'youtube' | 'twitter' | 'custom';
281
+ type DimensionPresetKey = '9:16' | '1:1' | '4:5' | '16:9' | 'custom';
282
282
  /**
283
283
  * Dimension preset configuration
284
284
  */
package/dist/index.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { S as SegmentType, T as TimeValue, R as RelativePositionConfigX, a as RelativePositionConfigY, F as FitMode, B as BorderRadiusConfig, b as TextStyleProperties, D as DynamicCropConfig, I as ImageEditorElement, A as AutoCaptionCompositionProps, C as CaptionOverlayProps, P as PositionResolutionResult } from './index-C5NlUiZT.mjs';
2
- export { Y as APPLE_EMOJI_FONT, aB as CAPTION_PRESETS, Q as CaptionFontWeight, M as CaptionPage, O as CaptionPosition, N as CaptionPreset, U as CaptionStyle, L as CaptionWord, J as CropAxisConfig, G as CropBoundary, K as CropBounds, aC as DEFAULT_CAPTION_STYLE, p as DIMENSION_PRESETS, o as DimensionPreset, n as DimensionPresetKey, X as FONT_FAMILIES, $ as FONT_URLS, a4 as FitDimensions, c as FontType, d as FontWeight, j as HorizontalAnchor, k as HorizontalSelfAnchor, H as Hyphenation, a6 as IMAGE_DEFAULTS, m as ImageEditorNodeConfig, an as PositionResolutionError, E as SegmentTimelinePosition, a5 as TEXT_DEFAULTS, e as TextAlignment, f as TextDirection, h as TextOverflow, g as TextWrap, q as TimeMode, a7 as VIDEO_DEFAULTS, a8 as VISUAL_DEFAULTS, V as VerticalAlignment, i as VerticalAnchor, l as VerticalSelfAnchor, u as VideoEditorAudioSegment, r as VideoEditorBaseSegment, y as VideoEditorChannel, v as VideoEditorImageSegment, z as VideoEditorNodeConfig, x as VideoEditorSegment, w as VideoEditorTextSegment, t as VideoEditorVideoSegment, s as VideoEditorVisualSegment, W as WordBreak, aa as applyImageDefaults, a9 as applyTextDefaults, ab as applyVideoDefaults, a1 as areFontsLoaded, _ as buildFontString, ai as calculateAutoWidthDimensions, ao as calculateCropBounds, av as calculateEstimatedDuration, a3 as calculateFitDimensions, ad as calculateLineWidth, aw as calculateTimelineContentEnd, aj as canSetAsReference, a2 as debugFontStatus, aq as defaultOffset, ax as formatTime, aA as generateOverlayId, az as generateSegmentId, ar as getBaseSegments, ae as getBorderRadii, aE as getCaptionPresetNames, ak as getDependentElements, Z as getFontFamily, as as getOverlays, al as getReferenceElementX, am as getReferenceElementY, at as getSegmentTimelinePosition, ag as hexToRgba, ap as isDynamicCropEnabled, au as isSegmentVisibleAtTime, aF as isValidCaptionPreset, af as parseHexColor, ay as parseTime, a0 as preloadFonts, aD as resolveCaptionStyle, ah as resolveElementPositions, ac as wrapText } from './index-C5NlUiZT.mjs';
1
+ import { S as SegmentType, T as TimeValue, R as RelativePositionConfigX, a as RelativePositionConfigY, F as FitMode, B as BorderRadiusConfig, b as TextStyleProperties, D as DynamicCropConfig, I as ImageEditorElement, A as AutoCaptionCompositionProps, C as CaptionOverlayProps, P as PositionResolutionResult } from './index-DB7cs12s.mjs';
2
+ export { Y as APPLE_EMOJI_FONT, aB as CAPTION_PRESETS, Q as CaptionFontWeight, M as CaptionPage, O as CaptionPosition, N as CaptionPreset, U as CaptionStyle, L as CaptionWord, J as CropAxisConfig, G as CropBoundary, K as CropBounds, aC as DEFAULT_CAPTION_STYLE, p as DIMENSION_PRESETS, o as DimensionPreset, n as DimensionPresetKey, X as FONT_FAMILIES, $ as FONT_URLS, a4 as FitDimensions, c as FontType, d as FontWeight, j as HorizontalAnchor, k as HorizontalSelfAnchor, H as Hyphenation, a6 as IMAGE_DEFAULTS, m as ImageEditorNodeConfig, an as PositionResolutionError, E as SegmentTimelinePosition, a5 as TEXT_DEFAULTS, e as TextAlignment, f as TextDirection, h as TextOverflow, g as TextWrap, q as TimeMode, a7 as VIDEO_DEFAULTS, a8 as VISUAL_DEFAULTS, V as VerticalAlignment, i as VerticalAnchor, l as VerticalSelfAnchor, u as VideoEditorAudioSegment, r as VideoEditorBaseSegment, y as VideoEditorChannel, v as VideoEditorImageSegment, z as VideoEditorNodeConfig, x as VideoEditorSegment, w as VideoEditorTextSegment, t as VideoEditorVideoSegment, s as VideoEditorVisualSegment, W as WordBreak, aa as applyImageDefaults, a9 as applyTextDefaults, ab as applyVideoDefaults, a1 as areFontsLoaded, _ as buildFontString, ai as calculateAutoWidthDimensions, ao as calculateCropBounds, av as calculateEstimatedDuration, a3 as calculateFitDimensions, ad as calculateLineWidth, aw as calculateTimelineContentEnd, aj as canSetAsReference, a2 as debugFontStatus, aq as defaultOffset, ax as formatTime, aA as generateOverlayId, az as generateSegmentId, ar as getBaseSegments, ae as getBorderRadii, aE as getCaptionPresetNames, ak as getDependentElements, Z as getFontFamily, as as getOverlays, al as getReferenceElementX, am as getReferenceElementY, at as getSegmentTimelinePosition, ag as hexToRgba, ap as isDynamicCropEnabled, au as isSegmentVisibleAtTime, aF as isValidCaptionPreset, af as parseHexColor, ay as parseTime, a0 as preloadFonts, aD as resolveCaptionStyle, ah as resolveElementPositions, ac as wrapText } from './index-DB7cs12s.mjs';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import React from 'react';
5
5
 
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- import { S as SegmentType, T as TimeValue, R as RelativePositionConfigX, a as RelativePositionConfigY, F as FitMode, B as BorderRadiusConfig, b as TextStyleProperties, D as DynamicCropConfig, I as ImageEditorElement, A as AutoCaptionCompositionProps, C as CaptionOverlayProps, P as PositionResolutionResult } from './index-C5NlUiZT.js';
2
- export { Y as APPLE_EMOJI_FONT, aB as CAPTION_PRESETS, Q as CaptionFontWeight, M as CaptionPage, O as CaptionPosition, N as CaptionPreset, U as CaptionStyle, L as CaptionWord, J as CropAxisConfig, G as CropBoundary, K as CropBounds, aC as DEFAULT_CAPTION_STYLE, p as DIMENSION_PRESETS, o as DimensionPreset, n as DimensionPresetKey, X as FONT_FAMILIES, $ as FONT_URLS, a4 as FitDimensions, c as FontType, d as FontWeight, j as HorizontalAnchor, k as HorizontalSelfAnchor, H as Hyphenation, a6 as IMAGE_DEFAULTS, m as ImageEditorNodeConfig, an as PositionResolutionError, E as SegmentTimelinePosition, a5 as TEXT_DEFAULTS, e as TextAlignment, f as TextDirection, h as TextOverflow, g as TextWrap, q as TimeMode, a7 as VIDEO_DEFAULTS, a8 as VISUAL_DEFAULTS, V as VerticalAlignment, i as VerticalAnchor, l as VerticalSelfAnchor, u as VideoEditorAudioSegment, r as VideoEditorBaseSegment, y as VideoEditorChannel, v as VideoEditorImageSegment, z as VideoEditorNodeConfig, x as VideoEditorSegment, w as VideoEditorTextSegment, t as VideoEditorVideoSegment, s as VideoEditorVisualSegment, W as WordBreak, aa as applyImageDefaults, a9 as applyTextDefaults, ab as applyVideoDefaults, a1 as areFontsLoaded, _ as buildFontString, ai as calculateAutoWidthDimensions, ao as calculateCropBounds, av as calculateEstimatedDuration, a3 as calculateFitDimensions, ad as calculateLineWidth, aw as calculateTimelineContentEnd, aj as canSetAsReference, a2 as debugFontStatus, aq as defaultOffset, ax as formatTime, aA as generateOverlayId, az as generateSegmentId, ar as getBaseSegments, ae as getBorderRadii, aE as getCaptionPresetNames, ak as getDependentElements, Z as getFontFamily, as as getOverlays, al as getReferenceElementX, am as getReferenceElementY, at as getSegmentTimelinePosition, ag as hexToRgba, ap as isDynamicCropEnabled, au as isSegmentVisibleAtTime, aF as isValidCaptionPreset, af as parseHexColor, ay as parseTime, a0 as preloadFonts, aD as resolveCaptionStyle, ah as resolveElementPositions, ac as wrapText } from './index-C5NlUiZT.js';
1
+ import { S as SegmentType, T as TimeValue, R as RelativePositionConfigX, a as RelativePositionConfigY, F as FitMode, B as BorderRadiusConfig, b as TextStyleProperties, D as DynamicCropConfig, I as ImageEditorElement, A as AutoCaptionCompositionProps, C as CaptionOverlayProps, P as PositionResolutionResult } from './index-DB7cs12s.js';
2
+ export { Y as APPLE_EMOJI_FONT, aB as CAPTION_PRESETS, Q as CaptionFontWeight, M as CaptionPage, O as CaptionPosition, N as CaptionPreset, U as CaptionStyle, L as CaptionWord, J as CropAxisConfig, G as CropBoundary, K as CropBounds, aC as DEFAULT_CAPTION_STYLE, p as DIMENSION_PRESETS, o as DimensionPreset, n as DimensionPresetKey, X as FONT_FAMILIES, $ as FONT_URLS, a4 as FitDimensions, c as FontType, d as FontWeight, j as HorizontalAnchor, k as HorizontalSelfAnchor, H as Hyphenation, a6 as IMAGE_DEFAULTS, m as ImageEditorNodeConfig, an as PositionResolutionError, E as SegmentTimelinePosition, a5 as TEXT_DEFAULTS, e as TextAlignment, f as TextDirection, h as TextOverflow, g as TextWrap, q as TimeMode, a7 as VIDEO_DEFAULTS, a8 as VISUAL_DEFAULTS, V as VerticalAlignment, i as VerticalAnchor, l as VerticalSelfAnchor, u as VideoEditorAudioSegment, r as VideoEditorBaseSegment, y as VideoEditorChannel, v as VideoEditorImageSegment, z as VideoEditorNodeConfig, x as VideoEditorSegment, w as VideoEditorTextSegment, t as VideoEditorVideoSegment, s as VideoEditorVisualSegment, W as WordBreak, aa as applyImageDefaults, a9 as applyTextDefaults, ab as applyVideoDefaults, a1 as areFontsLoaded, _ as buildFontString, ai as calculateAutoWidthDimensions, ao as calculateCropBounds, av as calculateEstimatedDuration, a3 as calculateFitDimensions, ad as calculateLineWidth, aw as calculateTimelineContentEnd, aj as canSetAsReference, a2 as debugFontStatus, aq as defaultOffset, ax as formatTime, aA as generateOverlayId, az as generateSegmentId, ar as getBaseSegments, ae as getBorderRadii, aE as getCaptionPresetNames, ak as getDependentElements, Z as getFontFamily, as as getOverlays, al as getReferenceElementX, am as getReferenceElementY, at as getSegmentTimelinePosition, ag as hexToRgba, ap as isDynamicCropEnabled, au as isSegmentVisibleAtTime, aF as isValidCaptionPreset, af as parseHexColor, ay as parseTime, a0 as preloadFonts, aD as resolveCaptionStyle, ah as resolveElementPositions, ac as wrapText } from './index-DB7cs12s.js';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import React from 'react';
5
5
 
package/dist/index.js CHANGED
@@ -102,11 +102,10 @@ module.exports = __toCommonJS(index_exports);
102
102
 
103
103
  // src/types/element.ts
104
104
  var DIMENSION_PRESETS = {
105
- "tiktok": { width: 1080, height: 1920, label: "TikTok/Reels (1080\xD71920)", ratio: "9:16" },
106
- "instagram-square": { width: 1080, height: 1080, label: "Instagram Square (1080\xD71080)", ratio: "1:1" },
107
- "instagram-post": { width: 1080, height: 1350, label: "Instagram Post (1080\xD71350)", ratio: "4:5" },
108
- "youtube": { width: 1280, height: 720, label: "YouTube Thumbnail (1280\xD7720)", ratio: "16:9" },
109
- "twitter": { width: 1200, height: 675, label: "Twitter/X (1200\xD7675)", ratio: "16:9" }
105
+ "9:16": { width: 1080, height: 1920, label: "Portrait (1080\xD71920)", ratio: "9:16" },
106
+ "1:1": { width: 1080, height: 1080, label: "Square (1080\xD71080)", ratio: "1:1" },
107
+ "4:5": { width: 1080, height: 1350, label: "Portrait 4:5 (1080\xD71350)", ratio: "4:5" },
108
+ "16:9": { width: 1920, height: 1080, label: "Landscape (1920\xD71080)", ratio: "16:9" }
110
109
  };
111
110
 
112
111
  // src/types/deduplication.ts
@@ -2100,6 +2099,7 @@ function CaptionOverlay({ captions, style, previewTimeMs }) {
2100
2099
  );
2101
2100
  if (!currentPage) return null;
2102
2101
  const maxWidthPx = style.maxWidth / 100 * width;
2102
+ const horizontalMargin = (width - maxWidthPx) / 2;
2103
2103
  console.log(`[CaptionOverlay] style.maxWidth: ${style.maxWidth}%, video width: ${width}px, calculated maxWidthPx: ${maxWidthPx}px`);
2104
2104
  const scaleFactor = height / 1920;
2105
2105
  const scaledFontSize = style.fontSize * scaleFactor;
@@ -2109,33 +2109,31 @@ function CaptionOverlay({ captions, style, previewTimeMs }) {
2109
2109
  const getPositionStyles = () => {
2110
2110
  const base = {
2111
2111
  position: "absolute",
2112
- left: "50%"
2112
+ left: horizontalMargin,
2113
+ right: horizontalMargin
2113
2114
  };
2114
2115
  switch (style.position) {
2115
2116
  case "top":
2116
2117
  return {
2117
2118
  ...base,
2118
- top: scaledYOffset,
2119
- transform: "translateX(-50%)"
2119
+ top: scaledYOffset
2120
2120
  };
2121
2121
  case "center":
2122
2122
  return {
2123
2123
  ...base,
2124
2124
  top: "50%",
2125
- transform: "translate(-50%, -50%)"
2125
+ transform: "translateY(-50%)"
2126
2126
  };
2127
2127
  case "bottom":
2128
2128
  default:
2129
2129
  return {
2130
2130
  ...base,
2131
- bottom: scaledYOffset,
2132
- transform: "translateX(-50%)"
2131
+ bottom: scaledYOffset
2133
2132
  };
2134
2133
  }
2135
2134
  };
2136
2135
  const containerStyles = {
2137
2136
  ...getPositionStyles(),
2138
- maxWidth: maxWidthPx,
2139
2137
  textAlign: "center",
2140
2138
  // Add padding if background is enabled
2141
2139
  padding: style.backgroundColor ? `${scaledFontSize * 0.3}px ${scaledFontSize * 0.5}px` : 0,
package/dist/index.mjs CHANGED
@@ -48,11 +48,10 @@ import {
48
48
 
49
49
  // src/types/element.ts
50
50
  var DIMENSION_PRESETS = {
51
- "tiktok": { width: 1080, height: 1920, label: "TikTok/Reels (1080\xD71920)", ratio: "9:16" },
52
- "instagram-square": { width: 1080, height: 1080, label: "Instagram Square (1080\xD71080)", ratio: "1:1" },
53
- "instagram-post": { width: 1080, height: 1350, label: "Instagram Post (1080\xD71350)", ratio: "4:5" },
54
- "youtube": { width: 1280, height: 720, label: "YouTube Thumbnail (1280\xD7720)", ratio: "16:9" },
55
- "twitter": { width: 1200, height: 675, label: "Twitter/X (1200\xD7675)", ratio: "16:9" }
51
+ "9:16": { width: 1080, height: 1920, label: "Portrait (1080\xD71920)", ratio: "9:16" },
52
+ "1:1": { width: 1080, height: 1080, label: "Square (1080\xD71080)", ratio: "1:1" },
53
+ "4:5": { width: 1080, height: 1350, label: "Portrait 4:5 (1080\xD71350)", ratio: "4:5" },
54
+ "16:9": { width: 1920, height: 1080, label: "Landscape (1920\xD71080)", ratio: "16:9" }
56
55
  };
57
56
 
58
57
  // src/types/deduplication.ts
@@ -1238,6 +1237,7 @@ function CaptionOverlay({ captions, style, previewTimeMs }) {
1238
1237
  );
1239
1238
  if (!currentPage) return null;
1240
1239
  const maxWidthPx = style.maxWidth / 100 * width;
1240
+ const horizontalMargin = (width - maxWidthPx) / 2;
1241
1241
  console.log(`[CaptionOverlay] style.maxWidth: ${style.maxWidth}%, video width: ${width}px, calculated maxWidthPx: ${maxWidthPx}px`);
1242
1242
  const scaleFactor = height / 1920;
1243
1243
  const scaledFontSize = style.fontSize * scaleFactor;
@@ -1247,33 +1247,31 @@ function CaptionOverlay({ captions, style, previewTimeMs }) {
1247
1247
  const getPositionStyles = () => {
1248
1248
  const base = {
1249
1249
  position: "absolute",
1250
- left: "50%"
1250
+ left: horizontalMargin,
1251
+ right: horizontalMargin
1251
1252
  };
1252
1253
  switch (style.position) {
1253
1254
  case "top":
1254
1255
  return {
1255
1256
  ...base,
1256
- top: scaledYOffset,
1257
- transform: "translateX(-50%)"
1257
+ top: scaledYOffset
1258
1258
  };
1259
1259
  case "center":
1260
1260
  return {
1261
1261
  ...base,
1262
1262
  top: "50%",
1263
- transform: "translate(-50%, -50%)"
1263
+ transform: "translateY(-50%)"
1264
1264
  };
1265
1265
  case "bottom":
1266
1266
  default:
1267
1267
  return {
1268
1268
  ...base,
1269
- bottom: scaledYOffset,
1270
- transform: "translateX(-50%)"
1269
+ bottom: scaledYOffset
1271
1270
  };
1272
1271
  }
1273
1272
  };
1274
1273
  const containerStyles = {
1275
1274
  ...getPositionStyles(),
1276
- maxWidth: maxWidthPx,
1277
1275
  textAlign: "center",
1278
1276
  // Add padding if background is enabled
1279
1277
  padding: style.backgroundColor ? `${scaledFontSize * 0.3}px ${scaledFontSize * 0.5}px` : 0,
@@ -1 +1 @@
1
- export { Y as APPLE_EMOJI_FONT, aB as CAPTION_PRESETS, Q as CaptionFontWeight, M as CaptionPage, O as CaptionPosition, N as CaptionPreset, U as CaptionStyle, L as CaptionWord, aC as DEFAULT_CAPTION_STYLE, X as FONT_FAMILIES, $ as FONT_URLS, a4 as FitDimensions, a6 as IMAGE_DEFAULTS, an as PositionResolutionError, P as PositionResolutionResult, a5 as TEXT_DEFAULTS, a7 as VIDEO_DEFAULTS, a8 as VISUAL_DEFAULTS, aa as applyImageDefaults, a9 as applyTextDefaults, ab as applyVideoDefaults, a1 as areFontsLoaded, _ as buildFontString, ai as calculateAutoWidthDimensions, ao as calculateCropBounds, av as calculateEstimatedDuration, a3 as calculateFitDimensions, ad as calculateLineWidth, aw as calculateTimelineContentEnd, aj as canSetAsReference, a2 as debugFontStatus, aq as defaultOffset, ax as formatTime, aA as generateOverlayId, az as generateSegmentId, ar as getBaseSegments, ae as getBorderRadii, aE as getCaptionPresetNames, ak as getDependentElements, Z as getFontFamily, as as getOverlays, al as getReferenceElementX, am as getReferenceElementY, at as getSegmentTimelinePosition, ag as hexToRgba, ap as isDynamicCropEnabled, au as isSegmentVisibleAtTime, aF as isValidCaptionPreset, af as parseHexColor, ay as parseTime, a0 as preloadFonts, aD as resolveCaptionStyle, ah as resolveElementPositions, ac as wrapText } from '../index-C5NlUiZT.mjs';
1
+ export { Y as APPLE_EMOJI_FONT, aB as CAPTION_PRESETS, Q as CaptionFontWeight, M as CaptionPage, O as CaptionPosition, N as CaptionPreset, U as CaptionStyle, L as CaptionWord, aC as DEFAULT_CAPTION_STYLE, X as FONT_FAMILIES, $ as FONT_URLS, a4 as FitDimensions, a6 as IMAGE_DEFAULTS, an as PositionResolutionError, P as PositionResolutionResult, a5 as TEXT_DEFAULTS, a7 as VIDEO_DEFAULTS, a8 as VISUAL_DEFAULTS, aa as applyImageDefaults, a9 as applyTextDefaults, ab as applyVideoDefaults, a1 as areFontsLoaded, _ as buildFontString, ai as calculateAutoWidthDimensions, ao as calculateCropBounds, av as calculateEstimatedDuration, a3 as calculateFitDimensions, ad as calculateLineWidth, aw as calculateTimelineContentEnd, aj as canSetAsReference, a2 as debugFontStatus, aq as defaultOffset, ax as formatTime, aA as generateOverlayId, az as generateSegmentId, ar as getBaseSegments, ae as getBorderRadii, aE as getCaptionPresetNames, ak as getDependentElements, Z as getFontFamily, as as getOverlays, al as getReferenceElementX, am as getReferenceElementY, at as getSegmentTimelinePosition, ag as hexToRgba, ap as isDynamicCropEnabled, au as isSegmentVisibleAtTime, aF as isValidCaptionPreset, af as parseHexColor, ay as parseTime, a0 as preloadFonts, aD as resolveCaptionStyle, ah as resolveElementPositions, ac as wrapText } from '../index-DB7cs12s.mjs';
@@ -1 +1 @@
1
- export { Y as APPLE_EMOJI_FONT, aB as CAPTION_PRESETS, Q as CaptionFontWeight, M as CaptionPage, O as CaptionPosition, N as CaptionPreset, U as CaptionStyle, L as CaptionWord, aC as DEFAULT_CAPTION_STYLE, X as FONT_FAMILIES, $ as FONT_URLS, a4 as FitDimensions, a6 as IMAGE_DEFAULTS, an as PositionResolutionError, P as PositionResolutionResult, a5 as TEXT_DEFAULTS, a7 as VIDEO_DEFAULTS, a8 as VISUAL_DEFAULTS, aa as applyImageDefaults, a9 as applyTextDefaults, ab as applyVideoDefaults, a1 as areFontsLoaded, _ as buildFontString, ai as calculateAutoWidthDimensions, ao as calculateCropBounds, av as calculateEstimatedDuration, a3 as calculateFitDimensions, ad as calculateLineWidth, aw as calculateTimelineContentEnd, aj as canSetAsReference, a2 as debugFontStatus, aq as defaultOffset, ax as formatTime, aA as generateOverlayId, az as generateSegmentId, ar as getBaseSegments, ae as getBorderRadii, aE as getCaptionPresetNames, ak as getDependentElements, Z as getFontFamily, as as getOverlays, al as getReferenceElementX, am as getReferenceElementY, at as getSegmentTimelinePosition, ag as hexToRgba, ap as isDynamicCropEnabled, au as isSegmentVisibleAtTime, aF as isValidCaptionPreset, af as parseHexColor, ay as parseTime, a0 as preloadFonts, aD as resolveCaptionStyle, ah as resolveElementPositions, ac as wrapText } from '../index-C5NlUiZT.js';
1
+ export { Y as APPLE_EMOJI_FONT, aB as CAPTION_PRESETS, Q as CaptionFontWeight, M as CaptionPage, O as CaptionPosition, N as CaptionPreset, U as CaptionStyle, L as CaptionWord, aC as DEFAULT_CAPTION_STYLE, X as FONT_FAMILIES, $ as FONT_URLS, a4 as FitDimensions, a6 as IMAGE_DEFAULTS, an as PositionResolutionError, P as PositionResolutionResult, a5 as TEXT_DEFAULTS, a7 as VIDEO_DEFAULTS, a8 as VISUAL_DEFAULTS, aa as applyImageDefaults, a9 as applyTextDefaults, ab as applyVideoDefaults, a1 as areFontsLoaded, _ as buildFontString, ai as calculateAutoWidthDimensions, ao as calculateCropBounds, av as calculateEstimatedDuration, a3 as calculateFitDimensions, ad as calculateLineWidth, aw as calculateTimelineContentEnd, aj as canSetAsReference, a2 as debugFontStatus, aq as defaultOffset, ax as formatTime, aA as generateOverlayId, az as generateSegmentId, ar as getBaseSegments, ae as getBorderRadii, aE as getCaptionPresetNames, ak as getDependentElements, Z as getFontFamily, as as getOverlays, al as getReferenceElementX, am as getReferenceElementY, at as getSegmentTimelinePosition, ag as hexToRgba, ap as isDynamicCropEnabled, au as isSegmentVisibleAtTime, aF as isValidCaptionPreset, af as parseHexColor, ay as parseTime, a0 as preloadFonts, aD as resolveCaptionStyle, ah as resolveElementPositions, ac as wrapText } from '../index-DB7cs12s.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ugcinc-render",
3
- "version": "1.8.5",
3
+ "version": "1.8.7",
4
4
  "description": "Unified rendering package for UGC Inc - shared types, components, and compositions for pixel-perfect client/server rendering",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",