@tscaps/engine 0.1.1 → 0.3.0

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 (657) hide show
  1. package/README.md +48 -10
  2. package/dist/index.d.ts +3 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +3 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/modules/bidi/BidiAnalyzer.d.ts +23 -0
  7. package/dist/modules/bidi/BidiAnalyzer.d.ts.map +1 -0
  8. package/dist/modules/bidi/BidiAnalyzer.js +2 -0
  9. package/dist/modules/bidi/BidiAnalyzer.js.map +1 -0
  10. package/dist/modules/bidi/BidiCharacterClassifier.d.ts +13 -0
  11. package/dist/modules/bidi/BidiCharacterClassifier.d.ts.map +1 -0
  12. package/dist/modules/bidi/BidiCharacterClassifier.js +2 -0
  13. package/dist/modules/bidi/BidiCharacterClassifier.js.map +1 -0
  14. package/dist/modules/bidi/BidiJsAnalyzer.d.ts +14 -0
  15. package/dist/modules/bidi/BidiJsAnalyzer.d.ts.map +1 -0
  16. package/dist/modules/bidi/BidiJsAnalyzer.js +19 -0
  17. package/dist/modules/bidi/BidiJsAnalyzer.js.map +1 -0
  18. package/dist/modules/bidi/BidiJsCharacterClassifier.d.ts +8 -0
  19. package/dist/modules/bidi/BidiJsCharacterClassifier.d.ts.map +1 -0
  20. package/dist/modules/bidi/BidiJsCharacterClassifier.js +19 -0
  21. package/dist/modules/bidi/BidiJsCharacterClassifier.js.map +1 -0
  22. package/dist/modules/bidi/CursiveScriptDetector.d.ts +12 -0
  23. package/dist/modules/bidi/CursiveScriptDetector.d.ts.map +1 -0
  24. package/dist/modules/bidi/CursiveScriptDetector.js +20 -0
  25. package/dist/modules/bidi/CursiveScriptDetector.js.map +1 -0
  26. package/dist/modules/bidi/HorizontalSide.d.ts +18 -0
  27. package/dist/modules/bidi/HorizontalSide.d.ts.map +1 -0
  28. package/dist/modules/bidi/HorizontalSide.js +3 -0
  29. package/dist/modules/bidi/HorizontalSide.js.map +1 -0
  30. package/dist/modules/bidi/HorizontalSideResolver.d.ts +21 -0
  31. package/dist/modules/bidi/HorizontalSideResolver.d.ts.map +1 -0
  32. package/dist/modules/bidi/HorizontalSideResolver.js +27 -0
  33. package/dist/modules/bidi/HorizontalSideResolver.js.map +1 -0
  34. package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.d.ts +24 -0
  35. package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.d.ts.map +1 -0
  36. package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.js +34 -0
  37. package/dist/modules/bidi/StrongCharacterMajorityTextDirectionDetector.js.map +1 -0
  38. package/dist/modules/bidi/TextDirection.d.ts +9 -0
  39. package/dist/modules/bidi/TextDirection.d.ts.map +1 -0
  40. package/dist/modules/bidi/TextDirection.js +2 -0
  41. package/dist/modules/bidi/TextDirection.js.map +1 -0
  42. package/dist/modules/bidi/TextDirectionDetector.d.ts +12 -0
  43. package/dist/modules/bidi/TextDirectionDetector.d.ts.map +1 -0
  44. package/dist/modules/bidi/TextDirectionDetector.js +2 -0
  45. package/dist/modules/bidi/TextDirectionDetector.js.map +1 -0
  46. package/dist/modules/bidi/WordFragment.d.ts +34 -0
  47. package/dist/modules/bidi/WordFragment.d.ts.map +1 -0
  48. package/dist/modules/bidi/WordFragment.js +2 -0
  49. package/dist/modules/bidi/WordFragment.js.map +1 -0
  50. package/dist/modules/bidi/WordFragmenter.d.ts +43 -0
  51. package/dist/modules/bidi/WordFragmenter.d.ts.map +1 -0
  52. package/dist/modules/bidi/WordFragmenter.js +112 -0
  53. package/dist/modules/bidi/WordFragmenter.js.map +1 -0
  54. package/dist/modules/bidi/index.d.ts +14 -0
  55. package/dist/modules/bidi/index.d.ts.map +1 -0
  56. package/dist/modules/bidi/index.js +8 -0
  57. package/dist/modules/bidi/index.js.map +1 -0
  58. package/dist/modules/css/CssBlockSealer.d.ts +30 -0
  59. package/dist/modules/css/CssBlockSealer.d.ts.map +1 -0
  60. package/dist/modules/css/CssBlockSealer.js +64 -0
  61. package/dist/modules/css/CssBlockSealer.js.map +1 -0
  62. package/dist/modules/css/CssCustomPropertyDefinitionScanner.d.ts +13 -0
  63. package/dist/modules/css/CssCustomPropertyDefinitionScanner.d.ts.map +1 -0
  64. package/dist/modules/css/CssCustomPropertyDefinitionScanner.js +24 -0
  65. package/dist/modules/css/CssCustomPropertyDefinitionScanner.js.map +1 -0
  66. package/dist/modules/css/CssFilterReferenceScanner.d.ts +15 -0
  67. package/dist/modules/css/CssFilterReferenceScanner.d.ts.map +1 -0
  68. package/dist/modules/css/CssFilterReferenceScanner.js +22 -0
  69. package/dist/modules/css/CssFilterReferenceScanner.js.map +1 -0
  70. package/dist/modules/css/CssFragmentParser.d.ts +53 -0
  71. package/dist/modules/css/CssFragmentParser.d.ts.map +1 -0
  72. package/dist/modules/css/CssFragmentParser.js +127 -0
  73. package/dist/modules/css/CssFragmentParser.js.map +1 -0
  74. package/dist/modules/css/CssKeyframeNamespacer.d.ts +21 -0
  75. package/dist/modules/css/CssKeyframeNamespacer.d.ts.map +1 -0
  76. package/dist/modules/css/CssKeyframeNamespacer.js +48 -0
  77. package/dist/modules/css/CssKeyframeNamespacer.js.map +1 -0
  78. package/dist/modules/css/CssKeyframesScanner.d.ts +29 -0
  79. package/dist/modules/css/CssKeyframesScanner.d.ts.map +1 -0
  80. package/dist/modules/css/CssKeyframesScanner.js +102 -0
  81. package/dist/modules/css/CssKeyframesScanner.js.map +1 -0
  82. package/dist/modules/css/CssLayer.d.ts +20 -0
  83. package/dist/modules/css/CssLayer.d.ts.map +1 -0
  84. package/dist/modules/css/CssLayer.js +21 -0
  85. package/dist/modules/css/CssLayer.js.map +1 -0
  86. package/dist/modules/css/CssScoper.d.ts +31 -2
  87. package/dist/modules/css/CssScoper.d.ts.map +1 -1
  88. package/dist/modules/css/CssScoper.js +168 -79
  89. package/dist/modules/css/CssScoper.js.map +1 -1
  90. package/dist/modules/css/CssSelectorClassScanner.d.ts +25 -0
  91. package/dist/modules/css/CssSelectorClassScanner.d.ts.map +1 -0
  92. package/dist/modules/css/CssSelectorClassScanner.js +91 -0
  93. package/dist/modules/css/CssSelectorClassScanner.js.map +1 -0
  94. package/dist/modules/css/CssVarReferenceScanner.d.ts +16 -0
  95. package/dist/modules/css/CssVarReferenceScanner.d.ts.map +1 -0
  96. package/dist/modules/css/CssVarReferenceScanner.js +27 -0
  97. package/dist/modules/css/CssVarReferenceScanner.js.map +1 -0
  98. package/dist/modules/css/index.d.ts +9 -0
  99. package/dist/modules/css/index.d.ts.map +1 -1
  100. package/dist/modules/css/index.js +9 -0
  101. package/dist/modules/css/index.js.map +1 -1
  102. package/dist/modules/document/CssClass.d.ts +20 -0
  103. package/dist/modules/document/CssClass.d.ts.map +1 -0
  104. package/dist/modules/document/CssClass.js +21 -0
  105. package/dist/modules/document/CssClass.js.map +1 -0
  106. package/dist/modules/document/CssVariable.d.ts +21 -6
  107. package/dist/modules/document/CssVariable.d.ts.map +1 -1
  108. package/dist/modules/document/CssVariable.js +27 -5
  109. package/dist/modules/document/CssVariable.js.map +1 -1
  110. package/dist/modules/document/DataAttribute.d.ts +26 -0
  111. package/dist/modules/document/DataAttribute.d.ts.map +1 -0
  112. package/dist/modules/document/DataAttribute.js +27 -0
  113. package/dist/modules/document/DataAttribute.js.map +1 -0
  114. package/dist/modules/document/Decoration.d.ts +42 -0
  115. package/dist/modules/document/Decoration.d.ts.map +1 -0
  116. package/dist/modules/document/Decoration.js +52 -0
  117. package/dist/modules/document/Decoration.js.map +1 -0
  118. package/dist/modules/document/Document.d.ts.map +1 -1
  119. package/dist/modules/document/Document.js +0 -3
  120. package/dist/modules/document/Document.js.map +1 -1
  121. package/dist/modules/document/DocumentEditor.d.ts +51 -9
  122. package/dist/modules/document/DocumentEditor.d.ts.map +1 -1
  123. package/dist/modules/document/DocumentEditor.js +118 -26
  124. package/dist/modules/document/DocumentEditor.js.map +1 -1
  125. package/dist/modules/document/DocumentNodeId.d.ts +23 -0
  126. package/dist/modules/document/DocumentNodeId.d.ts.map +1 -0
  127. package/dist/modules/document/DocumentNodeId.js +31 -0
  128. package/dist/modules/document/DocumentNodeId.js.map +1 -0
  129. package/dist/modules/document/Line.d.ts +10 -7
  130. package/dist/modules/document/Line.d.ts.map +1 -1
  131. package/dist/modules/document/Line.js +13 -25
  132. package/dist/modules/document/Line.js.map +1 -1
  133. package/dist/modules/document/Section.d.ts +1 -8
  134. package/dist/modules/document/Section.d.ts.map +1 -1
  135. package/dist/modules/document/Section.js +4 -35
  136. package/dist/modules/document/Section.js.map +1 -1
  137. package/dist/modules/document/Segment.d.ts +24 -14
  138. package/dist/modules/document/Segment.d.ts.map +1 -1
  139. package/dist/modules/document/Segment.js +41 -23
  140. package/dist/modules/document/Segment.js.map +1 -1
  141. package/dist/modules/document/Word.d.ts +21 -8
  142. package/dist/modules/document/Word.d.ts.map +1 -1
  143. package/dist/modules/document/Word.js +34 -35
  144. package/dist/modules/document/Word.js.map +1 -1
  145. package/dist/modules/document/index.d.ts +5 -2
  146. package/dist/modules/document/index.d.ts.map +1 -1
  147. package/dist/modules/document/index.js +4 -1
  148. package/dist/modules/document/index.js.map +1 -1
  149. package/dist/modules/effect/CarryQuotesEffect.d.ts +1 -7
  150. package/dist/modules/effect/CarryQuotesEffect.d.ts.map +1 -1
  151. package/dist/modules/effect/CarryQuotesEffect.js +17 -30
  152. package/dist/modules/effect/CarryQuotesEffect.js.map +1 -1
  153. package/dist/modules/effect/GapFreeEffect.d.ts +15 -0
  154. package/dist/modules/effect/GapFreeEffect.d.ts.map +1 -1
  155. package/dist/modules/effect/GapFreeEffect.js +29 -4
  156. package/dist/modules/effect/GapFreeEffect.js.map +1 -1
  157. package/dist/modules/effect/RemovePunctuationEffect.d.ts +10 -2
  158. package/dist/modules/effect/RemovePunctuationEffect.d.ts.map +1 -1
  159. package/dist/modules/effect/RemovePunctuationEffect.js +26 -6
  160. package/dist/modules/effect/RemovePunctuationEffect.js.map +1 -1
  161. package/dist/modules/effect/SmartLowercaseEffect.d.ts +7 -6
  162. package/dist/modules/effect/SmartLowercaseEffect.d.ts.map +1 -1
  163. package/dist/modules/effect/SmartLowercaseEffect.js +11 -7
  164. package/dist/modules/effect/SmartLowercaseEffect.js.map +1 -1
  165. package/dist/modules/pipeline/RenderPipelineBuilder.d.ts +3 -3
  166. package/dist/modules/pipeline/RenderPipelineBuilder.d.ts.map +1 -1
  167. package/dist/modules/pipeline/RenderPipelineBuilder.js +13 -8
  168. package/dist/modules/pipeline/RenderPipelineBuilder.js.map +1 -1
  169. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts +19 -25
  170. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.d.ts.map +1 -1
  171. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js +43 -717
  172. package/dist/modules/rendering/BrowserSubtitleFrameRenderer.js.map +1 -1
  173. package/dist/modules/rendering/HorizontalPlacementResolver.d.ts +27 -0
  174. package/dist/modules/rendering/HorizontalPlacementResolver.d.ts.map +1 -0
  175. package/dist/modules/rendering/HorizontalPlacementResolver.js +31 -0
  176. package/dist/modules/rendering/HorizontalPlacementResolver.js.map +1 -0
  177. package/dist/modules/rendering/SubtitleFrameRenderer.d.ts +10 -5
  178. package/dist/modules/rendering/SubtitleFrameRenderer.d.ts.map +1 -1
  179. package/dist/modules/rendering/index.d.ts +16 -8
  180. package/dist/modules/rendering/index.d.ts.map +1 -1
  181. package/dist/modules/rendering/index.js +8 -2
  182. package/dist/modules/rendering/index.js.map +1 -1
  183. package/dist/modules/rendering/styles/BaselineCssComposer.d.ts +41 -0
  184. package/dist/modules/rendering/styles/BaselineCssComposer.d.ts.map +1 -0
  185. package/dist/modules/rendering/styles/BaselineCssComposer.js +64 -0
  186. package/dist/modules/rendering/styles/BaselineCssComposer.js.map +1 -0
  187. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.d.ts +7 -0
  188. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.d.ts.map +1 -0
  189. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.js +35 -0
  190. package/dist/modules/rendering/styles/DecorationContainerBaselineCss.js.map +1 -0
  191. package/dist/modules/rendering/styles/FrozenFrameCss.d.ts +28 -0
  192. package/dist/modules/rendering/styles/FrozenFrameCss.d.ts.map +1 -0
  193. package/dist/modules/rendering/styles/FrozenFrameCss.js +28 -0
  194. package/dist/modules/rendering/styles/FrozenFrameCss.js.map +1 -0
  195. package/dist/modules/rendering/styles/InlineStyleEmitter.d.ts +20 -0
  196. package/dist/modules/rendering/styles/InlineStyleEmitter.d.ts.map +1 -0
  197. package/dist/modules/rendering/styles/InlineStyleEmitter.js +44 -0
  198. package/dist/modules/rendering/styles/InlineStyleEmitter.js.map +1 -0
  199. package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.d.ts +15 -0
  200. package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.d.ts.map +1 -0
  201. package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.js +33 -0
  202. package/dist/modules/rendering/styles/SegmentPaddingCssRuleBuilder.js.map +1 -0
  203. package/dist/modules/rendering/{VideoFrameLayerClass.d.ts → styles/VideoFrameLayerBaselineCss.d.ts} +3 -10
  204. package/dist/modules/rendering/styles/VideoFrameLayerBaselineCss.d.ts.map +1 -0
  205. package/dist/modules/rendering/styles/VideoFrameLayerBaselineCss.js +15 -0
  206. package/dist/modules/rendering/styles/VideoFrameLayerBaselineCss.js.map +1 -0
  207. package/dist/modules/rendering/subtitle/AbstractAnim.d.ts +13 -0
  208. package/dist/modules/rendering/subtitle/AbstractAnim.d.ts.map +1 -0
  209. package/dist/modules/rendering/subtitle/AbstractAnim.js +2 -0
  210. package/dist/modules/rendering/subtitle/AbstractAnim.js.map +1 -0
  211. package/dist/modules/rendering/subtitle/ActiveRenderSession.d.ts +20 -0
  212. package/dist/modules/rendering/subtitle/ActiveRenderSession.d.ts.map +1 -0
  213. package/dist/modules/rendering/subtitle/ActiveRenderSession.js +31 -0
  214. package/dist/modules/rendering/subtitle/ActiveRenderSession.js.map +1 -0
  215. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts +21 -0
  216. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.d.ts.map +1 -0
  217. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js +46 -0
  218. package/dist/modules/rendering/subtitle/ActiveRenderSessionFactory.js.map +1 -0
  219. package/dist/modules/rendering/subtitle/AnimationProbe.d.ts +39 -0
  220. package/dist/modules/rendering/subtitle/AnimationProbe.d.ts.map +1 -0
  221. package/dist/modules/rendering/subtitle/AnimationProbe.js +203 -0
  222. package/dist/modules/rendering/subtitle/AnimationProbe.js.map +1 -0
  223. package/dist/modules/rendering/subtitle/AssetGroupBuilder.d.ts +15 -0
  224. package/dist/modules/rendering/subtitle/AssetGroupBuilder.d.ts.map +1 -0
  225. package/dist/modules/rendering/subtitle/AssetGroupBuilder.js +26 -0
  226. package/dist/modules/rendering/subtitle/AssetGroupBuilder.js.map +1 -0
  227. package/dist/modules/rendering/subtitle/BatchPlan.d.ts +32 -0
  228. package/dist/modules/rendering/subtitle/BatchPlan.d.ts.map +1 -0
  229. package/dist/modules/rendering/subtitle/BatchPlan.js +2 -0
  230. package/dist/modules/rendering/subtitle/BatchPlan.js.map +1 -0
  231. package/dist/modules/rendering/subtitle/BatchPlanner.d.ts +32 -0
  232. package/dist/modules/rendering/subtitle/BatchPlanner.d.ts.map +1 -0
  233. package/dist/modules/rendering/subtitle/BatchPlanner.js +93 -0
  234. package/dist/modules/rendering/subtitle/BatchPlanner.js.map +1 -0
  235. package/dist/modules/rendering/subtitle/PreparedStyle.d.ts +36 -0
  236. package/dist/modules/rendering/subtitle/PreparedStyle.d.ts.map +1 -0
  237. package/dist/modules/rendering/subtitle/PreparedStyle.js +2 -0
  238. package/dist/modules/rendering/subtitle/PreparedStyle.js.map +1 -0
  239. package/dist/modules/rendering/subtitle/PreparedStyleFactory.d.ts +31 -0
  240. package/dist/modules/rendering/subtitle/PreparedStyleFactory.d.ts.map +1 -0
  241. package/dist/modules/rendering/subtitle/PreparedStyleFactory.js +91 -0
  242. package/dist/modules/rendering/subtitle/PreparedStyleFactory.js.map +1 -0
  243. package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.d.ts +13 -0
  244. package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.d.ts.map +1 -0
  245. package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.js +24 -0
  246. package/dist/modules/rendering/subtitle/SegmentPaintRegionCache.js.map +1 -0
  247. package/dist/modules/rendering/{SegmentPaintRegionResolver.d.ts → subtitle/SegmentPaintRegionResolver.d.ts} +1 -1
  248. package/dist/modules/rendering/subtitle/SegmentPaintRegionResolver.d.ts.map +1 -0
  249. package/dist/modules/rendering/{SegmentPaintRegionResolver.js → subtitle/SegmentPaintRegionResolver.js} +7 -4
  250. package/dist/modules/rendering/subtitle/SegmentPaintRegionResolver.js.map +1 -0
  251. package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.d.ts +45 -0
  252. package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.d.ts.map +1 -0
  253. package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.js +50 -0
  254. package/dist/modules/rendering/subtitle/SegmentSubtreeDecomposer.js.map +1 -0
  255. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts +108 -0
  256. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.d.ts.map +1 -0
  257. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js +246 -0
  258. package/dist/modules/rendering/subtitle/SegmentSubtreeHtmlBuilder.js.map +1 -0
  259. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts +40 -0
  260. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.d.ts.map +1 -0
  261. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js +132 -0
  262. package/dist/modules/rendering/subtitle/SegmentWrapperRenderer.js.map +1 -0
  263. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.d.ts +48 -0
  264. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.d.ts.map +1 -0
  265. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.js +143 -0
  266. package/dist/modules/rendering/subtitle/SpriteSheetCompositor.js.map +1 -0
  267. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.d.ts +17 -0
  268. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.d.ts.map +1 -0
  269. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.js +58 -0
  270. package/dist/modules/rendering/subtitle/SpriteSheetSizeProber.js.map +1 -0
  271. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.d.ts +20 -0
  272. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.d.ts.map +1 -0
  273. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.js +30 -0
  274. package/dist/modules/rendering/subtitle/SvgFilterMaterializer.js.map +1 -0
  275. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.d.ts +42 -0
  276. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.d.ts.map +1 -0
  277. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js +121 -0
  278. package/dist/modules/rendering/subtitle/VideoFrameVarsBuilder.js.map +1 -0
  279. package/dist/modules/rendering/types/AlignmentConfig.d.ts +33 -0
  280. package/dist/modules/rendering/types/AlignmentConfig.d.ts.map +1 -0
  281. package/dist/modules/rendering/types/AlignmentConfig.js +3 -0
  282. package/dist/modules/rendering/types/AlignmentConfig.js.map +1 -0
  283. package/dist/modules/rendering/types/BoxEdges.d.ts.map +1 -0
  284. package/dist/modules/rendering/types/BoxEdges.js.map +1 -0
  285. package/dist/modules/rendering/types/DecorationPlacementSide.d.ts +8 -0
  286. package/dist/modules/rendering/types/DecorationPlacementSide.d.ts.map +1 -0
  287. package/dist/modules/rendering/types/DecorationPlacementSide.js +2 -0
  288. package/dist/modules/rendering/types/DecorationPlacementSide.js.map +1 -0
  289. package/dist/modules/rendering/types/ElementRenderOverrides.d.ts +23 -0
  290. package/dist/modules/rendering/types/ElementRenderOverrides.d.ts.map +1 -0
  291. package/dist/modules/rendering/types/ElementRenderOverrides.js +52 -0
  292. package/dist/modules/rendering/types/ElementRenderOverrides.js.map +1 -0
  293. package/dist/modules/rendering/types/InlineStyleMap.d.ts.map +1 -0
  294. package/dist/modules/rendering/types/InlineStyleMap.js.map +1 -0
  295. package/dist/modules/rendering/{RenderingConfig.d.ts → types/RenderingConfig.d.ts} +8 -1
  296. package/dist/modules/rendering/types/RenderingConfig.d.ts.map +1 -0
  297. package/dist/modules/rendering/types/RenderingConfig.js.map +1 -0
  298. package/dist/modules/rendering/types/ScopedRenderOverride.d.ts +24 -0
  299. package/dist/modules/rendering/types/ScopedRenderOverride.d.ts.map +1 -0
  300. package/dist/modules/rendering/types/ScopedRenderOverride.js.map +1 -0
  301. package/dist/modules/rendering/types/VideoFrameSource.d.ts.map +1 -0
  302. package/dist/modules/rendering/types/VideoFrameSource.js.map +1 -0
  303. package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.d.ts +33 -0
  304. package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.d.ts.map +1 -0
  305. package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.js +100 -0
  306. package/dist/modules/splitting/BoundaryScoreLimitByCharsSegmentSplitter.js.map +1 -0
  307. package/dist/modules/splitting/FixedTailLineSplitter.d.ts +29 -0
  308. package/dist/modules/splitting/FixedTailLineSplitter.d.ts.map +1 -0
  309. package/dist/modules/splitting/FixedTailLineSplitter.js +43 -0
  310. package/dist/modules/splitting/FixedTailLineSplitter.js.map +1 -0
  311. package/dist/modules/splitting/index.d.ts +4 -0
  312. package/dist/modules/splitting/index.d.ts.map +1 -1
  313. package/dist/modules/splitting/index.js +2 -0
  314. package/dist/modules/splitting/index.js.map +1 -1
  315. package/dist/modules/subtitle-file/AssSubtitleFileSerializer.d.ts +53 -0
  316. package/dist/modules/subtitle-file/AssSubtitleFileSerializer.d.ts.map +1 -0
  317. package/dist/modules/subtitle-file/AssSubtitleFileSerializer.js +133 -0
  318. package/dist/modules/subtitle-file/AssSubtitleFileSerializer.js.map +1 -0
  319. package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.d.ts +20 -0
  320. package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.d.ts.map +1 -0
  321. package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.js +31 -0
  322. package/dist/modules/subtitle-file/SbvSubtitleFileSerializer.js.map +1 -0
  323. package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.d.ts +21 -0
  324. package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.d.ts.map +1 -0
  325. package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.js +33 -0
  326. package/dist/modules/subtitle-file/SrtSubtitleFileSerializer.js.map +1 -0
  327. package/dist/modules/subtitle-file/SubtitleCue.d.ts +18 -0
  328. package/dist/modules/subtitle-file/SubtitleCue.d.ts.map +1 -0
  329. package/dist/modules/subtitle-file/SubtitleCue.js +20 -0
  330. package/dist/modules/subtitle-file/SubtitleCue.js.map +1 -0
  331. package/dist/modules/subtitle-file/SubtitleCueBuilder.d.ts +38 -0
  332. package/dist/modules/subtitle-file/SubtitleCueBuilder.d.ts.map +1 -0
  333. package/dist/modules/subtitle-file/SubtitleCueBuilder.js +106 -0
  334. package/dist/modules/subtitle-file/SubtitleCueBuilder.js.map +1 -0
  335. package/dist/modules/subtitle-file/SubtitleFileJob.d.ts +17 -0
  336. package/dist/modules/subtitle-file/SubtitleFileJob.d.ts.map +1 -0
  337. package/dist/modules/subtitle-file/SubtitleFileJob.js +2 -0
  338. package/dist/modules/subtitle-file/SubtitleFileJob.js.map +1 -0
  339. package/dist/modules/subtitle-file/SubtitleFileSerializer.d.ts +36 -0
  340. package/dist/modules/subtitle-file/SubtitleFileSerializer.d.ts.map +1 -0
  341. package/dist/modules/subtitle-file/SubtitleFileSerializer.js +44 -0
  342. package/dist/modules/subtitle-file/SubtitleFileSerializer.js.map +1 -0
  343. package/dist/modules/subtitle-file/SubtitleGranularity.d.ts +11 -0
  344. package/dist/modules/subtitle-file/SubtitleGranularity.d.ts.map +1 -0
  345. package/dist/modules/subtitle-file/SubtitleGranularity.js +2 -0
  346. package/dist/modules/subtitle-file/SubtitleGranularity.js.map +1 -0
  347. package/dist/modules/subtitle-file/SubtitleRow.d.ts +11 -0
  348. package/dist/modules/subtitle-file/SubtitleRow.d.ts.map +1 -0
  349. package/dist/modules/subtitle-file/SubtitleRow.js +14 -0
  350. package/dist/modules/subtitle-file/SubtitleRow.js.map +1 -0
  351. package/dist/modules/subtitle-file/SubtitleToken.d.ts +13 -0
  352. package/dist/modules/subtitle-file/SubtitleToken.d.ts.map +1 -0
  353. package/dist/modules/subtitle-file/SubtitleToken.js +15 -0
  354. package/dist/modules/subtitle-file/SubtitleToken.js.map +1 -0
  355. package/dist/modules/subtitle-file/TextSubtitleFileSerializer.d.ts +19 -0
  356. package/dist/modules/subtitle-file/TextSubtitleFileSerializer.d.ts.map +1 -0
  357. package/dist/modules/subtitle-file/TextSubtitleFileSerializer.js +24 -0
  358. package/dist/modules/subtitle-file/TextSubtitleFileSerializer.js.map +1 -0
  359. package/dist/modules/subtitle-file/Timecode.d.ts +20 -0
  360. package/dist/modules/subtitle-file/Timecode.d.ts.map +1 -0
  361. package/dist/modules/subtitle-file/Timecode.js +32 -0
  362. package/dist/modules/subtitle-file/Timecode.js.map +1 -0
  363. package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.d.ts +22 -0
  364. package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.d.ts.map +1 -0
  365. package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.js +57 -0
  366. package/dist/modules/subtitle-file/TtmlSubtitleFileSerializer.js.map +1 -0
  367. package/dist/modules/subtitle-file/VttSubtitleFileSerializer.d.ts +21 -0
  368. package/dist/modules/subtitle-file/VttSubtitleFileSerializer.d.ts.map +1 -0
  369. package/dist/modules/subtitle-file/VttSubtitleFileSerializer.js +39 -0
  370. package/dist/modules/subtitle-file/VttSubtitleFileSerializer.js.map +1 -0
  371. package/dist/modules/subtitle-file/index.d.ts +10 -0
  372. package/dist/modules/subtitle-file/index.d.ts.map +1 -0
  373. package/dist/modules/subtitle-file/index.js +8 -0
  374. package/dist/modules/subtitle-file/index.js.map +1 -0
  375. package/dist/modules/svg-filter/SvgFilter.d.ts +8 -1
  376. package/dist/modules/svg-filter/SvgFilter.d.ts.map +1 -1
  377. package/dist/modules/svg-filter/SvgFilter.js +9 -1
  378. package/dist/modules/svg-filter/SvgFilter.js.map +1 -1
  379. package/dist/modules/svg-filter/SvgFilterDefinitionsParser.d.ts +1 -0
  380. package/dist/modules/svg-filter/SvgFilterDefinitionsParser.d.ts.map +1 -1
  381. package/dist/modules/svg-filter/SvgFilterDefinitionsParser.js +9 -1
  382. package/dist/modules/svg-filter/SvgFilterDefinitionsParser.js.map +1 -1
  383. package/dist/modules/svg-filter/SvgFilterDefsRenderer.d.ts +44 -0
  384. package/dist/modules/svg-filter/SvgFilterDefsRenderer.d.ts.map +1 -0
  385. package/dist/modules/svg-filter/SvgFilterDefsRenderer.js +47 -0
  386. package/dist/modules/svg-filter/SvgFilterDefsRenderer.js.map +1 -0
  387. package/dist/modules/svg-filter/index.d.ts +2 -0
  388. package/dist/modules/svg-filter/index.d.ts.map +1 -1
  389. package/dist/modules/svg-filter/index.js +1 -0
  390. package/dist/modules/svg-filter/index.js.map +1 -1
  391. package/dist/modules/tagging/PauseTagger.d.ts +24 -0
  392. package/dist/modules/tagging/PauseTagger.d.ts.map +1 -0
  393. package/dist/modules/tagging/PauseTagger.js +42 -0
  394. package/dist/modules/tagging/PauseTagger.js.map +1 -0
  395. package/dist/modules/tagging/RegexTagger.js +1 -1
  396. package/dist/modules/tagging/RegexTagger.js.map +1 -1
  397. package/dist/modules/tagging/SpanTagger.js +1 -1
  398. package/dist/modules/tagging/SpanTagger.js.map +1 -1
  399. package/dist/modules/tagging/StructureTagger.d.ts +1 -2
  400. package/dist/modules/tagging/StructureTagger.d.ts.map +1 -1
  401. package/dist/modules/tagging/StructureTagger.js +12 -11
  402. package/dist/modules/tagging/StructureTagger.js.map +1 -1
  403. package/dist/modules/tagging/WordlistTagger.js +1 -1
  404. package/dist/modules/tagging/WordlistTagger.js.map +1 -1
  405. package/dist/modules/tagging/index.d.ts +2 -0
  406. package/dist/modules/tagging/index.d.ts.map +1 -1
  407. package/dist/modules/tagging/index.js +1 -0
  408. package/dist/modules/tagging/index.js.map +1 -1
  409. package/dist/modules/tags/AndTagCondition.d.ts +10 -0
  410. package/dist/modules/tags/AndTagCondition.d.ts.map +1 -0
  411. package/dist/modules/tags/AndTagCondition.js +14 -0
  412. package/dist/modules/tags/AndTagCondition.js.map +1 -0
  413. package/dist/modules/tags/HasTagCondition.d.ts +10 -0
  414. package/dist/modules/tags/HasTagCondition.d.ts.map +1 -0
  415. package/dist/modules/tags/HasTagCondition.js +18 -0
  416. package/dist/modules/tags/HasTagCondition.js.map +1 -0
  417. package/dist/modules/tags/NotTagCondition.d.ts +10 -0
  418. package/dist/modules/tags/NotTagCondition.d.ts.map +1 -0
  419. package/dist/modules/tags/NotTagCondition.js +14 -0
  420. package/dist/modules/tags/NotTagCondition.js.map +1 -0
  421. package/dist/modules/tags/OrTagCondition.d.ts +10 -0
  422. package/dist/modules/tags/OrTagCondition.d.ts.map +1 -0
  423. package/dist/modules/tags/OrTagCondition.js +14 -0
  424. package/dist/modules/tags/OrTagCondition.js.map +1 -0
  425. package/dist/modules/{document/Tag.d.ts → tags/StructureTag.d.ts} +4 -10
  426. package/dist/modules/tags/StructureTag.d.ts.map +1 -0
  427. package/dist/modules/{document/Tag.js → tags/StructureTag.js} +4 -19
  428. package/dist/modules/tags/StructureTag.js.map +1 -0
  429. package/dist/modules/tags/Tag.d.ts +8 -0
  430. package/dist/modules/tags/Tag.d.ts.map +1 -0
  431. package/dist/modules/tags/Tag.js +16 -0
  432. package/dist/modules/tags/Tag.js.map +1 -0
  433. package/dist/modules/tags/TagCondition.d.ts +12 -0
  434. package/dist/modules/tags/TagCondition.d.ts.map +1 -0
  435. package/dist/modules/tags/TagCondition.js +2 -0
  436. package/dist/modules/tags/TagCondition.js.map +1 -0
  437. package/dist/modules/tags/TagConditionParser.d.ts +21 -0
  438. package/dist/modules/tags/TagConditionParser.d.ts.map +1 -0
  439. package/dist/modules/tags/TagConditionParser.js +75 -0
  440. package/dist/modules/tags/TagConditionParser.js.map +1 -0
  441. package/dist/modules/tags/index.d.ts +9 -0
  442. package/dist/modules/tags/index.d.ts.map +1 -0
  443. package/dist/modules/tags/index.js +8 -0
  444. package/dist/modules/tags/index.js.map +1 -0
  445. package/dist/modules/transcription/AudioDecoder.d.ts +9 -4
  446. package/dist/modules/transcription/AudioDecoder.d.ts.map +1 -1
  447. package/dist/modules/transcription/BatchedMonoResampler.d.ts +45 -0
  448. package/dist/modules/transcription/BatchedMonoResampler.d.ts.map +1 -0
  449. package/dist/modules/transcription/BatchedMonoResampler.js +116 -0
  450. package/dist/modules/transcription/BatchedMonoResampler.js.map +1 -0
  451. package/dist/modules/transcription/CacheStorageModelFileCache.d.ts +38 -0
  452. package/dist/modules/transcription/CacheStorageModelFileCache.d.ts.map +1 -0
  453. package/dist/modules/transcription/CacheStorageModelFileCache.js +86 -0
  454. package/dist/modules/transcription/CacheStorageModelFileCache.js.map +1 -0
  455. package/dist/modules/transcription/CueDocumentBuilder.d.ts +40 -0
  456. package/dist/modules/transcription/CueDocumentBuilder.d.ts.map +1 -0
  457. package/dist/modules/transcription/CueDocumentBuilder.js +77 -0
  458. package/dist/modules/transcription/CueDocumentBuilder.js.map +1 -0
  459. package/dist/modules/transcription/CueParseResult.d.ts +16 -0
  460. package/dist/modules/transcription/CueParseResult.d.ts.map +1 -0
  461. package/dist/modules/transcription/CueParseResult.js +2 -0
  462. package/dist/modules/transcription/CueParseResult.js.map +1 -0
  463. package/dist/modules/transcription/CueTextTokenizer.d.ts +10 -0
  464. package/dist/modules/transcription/CueTextTokenizer.d.ts.map +1 -0
  465. package/dist/modules/transcription/CueTextTokenizer.js +21 -0
  466. package/dist/modules/transcription/CueTextTokenizer.js.map +1 -0
  467. package/dist/modules/transcription/CueTimecodeReader.d.ts +19 -0
  468. package/dist/modules/transcription/CueTimecodeReader.d.ts.map +1 -0
  469. package/dist/modules/transcription/CueTimecodeReader.js +45 -0
  470. package/dist/modules/transcription/CueTimecodeReader.js.map +1 -0
  471. package/dist/modules/transcription/CueWordReader.d.ts +12 -0
  472. package/dist/modules/transcription/CueWordReader.d.ts.map +1 -0
  473. package/dist/modules/transcription/CueWordReader.js +2 -0
  474. package/dist/modules/transcription/CueWordReader.js.map +1 -0
  475. package/dist/modules/transcription/EstimatedCueWordReader.d.ts +16 -0
  476. package/dist/modules/transcription/EstimatedCueWordReader.d.ts.map +1 -0
  477. package/dist/modules/transcription/EstimatedCueWordReader.js +17 -0
  478. package/dist/modules/transcription/EstimatedCueWordReader.js.map +1 -0
  479. package/dist/modules/transcription/LogitsProcessorListFactory.d.ts +43 -0
  480. package/dist/modules/transcription/LogitsProcessorListFactory.d.ts.map +1 -0
  481. package/dist/modules/transcription/LogitsProcessorListFactory.js +72 -0
  482. package/dist/modules/transcription/LogitsProcessorListFactory.js.map +1 -0
  483. package/dist/modules/transcription/MediaBunnyAudioDecoder.d.ts +27 -0
  484. package/dist/modules/transcription/MediaBunnyAudioDecoder.d.ts.map +1 -0
  485. package/dist/modules/transcription/MediaBunnyAudioDecoder.js +76 -0
  486. package/dist/modules/transcription/MediaBunnyAudioDecoder.js.map +1 -0
  487. package/dist/modules/transcription/ModelFileCache.d.ts +20 -0
  488. package/dist/modules/transcription/ModelFileCache.d.ts.map +1 -0
  489. package/dist/modules/transcription/ModelFileCache.js +2 -0
  490. package/dist/modules/transcription/ModelFileCache.js.map +1 -0
  491. package/dist/modules/transcription/ModelFileCacheUnavailableError.d.ts +18 -0
  492. package/dist/modules/transcription/ModelFileCacheUnavailableError.d.ts.map +1 -0
  493. package/dist/modules/transcription/ModelFileCacheUnavailableError.js +18 -0
  494. package/dist/modules/transcription/ModelFileCacheUnavailableError.js.map +1 -0
  495. package/dist/modules/transcription/SrtTranscriber.d.ts +24 -15
  496. package/dist/modules/transcription/SrtTranscriber.d.ts.map +1 -1
  497. package/dist/modules/transcription/SrtTranscriber.js +32 -90
  498. package/dist/modules/transcription/SrtTranscriber.js.map +1 -1
  499. package/dist/modules/transcription/SubtitleFileUnreadableError.d.ts +22 -0
  500. package/dist/modules/transcription/SubtitleFileUnreadableError.d.ts.map +1 -0
  501. package/dist/modules/transcription/SubtitleFileUnreadableError.js +22 -0
  502. package/dist/modules/transcription/SubtitleFileUnreadableError.js.map +1 -0
  503. package/dist/modules/transcription/TimestampedCueWordReader.d.ts +27 -0
  504. package/dist/modules/transcription/TimestampedCueWordReader.d.ts.map +1 -0
  505. package/dist/modules/transcription/TimestampedCueWordReader.js +52 -0
  506. package/dist/modules/transcription/TimestampedCueWordReader.js.map +1 -0
  507. package/dist/modules/transcription/Transcriber.d.ts +13 -0
  508. package/dist/modules/transcription/Transcriber.d.ts.map +1 -1
  509. package/dist/modules/transcription/TransformersRuntime.d.ts +50 -0
  510. package/dist/modules/transcription/TransformersRuntime.d.ts.map +1 -0
  511. package/dist/modules/transcription/TransformersRuntime.js +79 -0
  512. package/dist/modules/transcription/TransformersRuntime.js.map +1 -0
  513. package/dist/modules/transcription/VttTranscriber.d.ts +46 -0
  514. package/dist/modules/transcription/VttTranscriber.d.ts.map +1 -0
  515. package/dist/modules/transcription/VttTranscriber.js +80 -0
  516. package/dist/modules/transcription/VttTranscriber.js.map +1 -0
  517. package/dist/modules/transcription/WhisperChunkStitcher.d.ts +51 -0
  518. package/dist/modules/transcription/WhisperChunkStitcher.d.ts.map +1 -0
  519. package/dist/modules/transcription/WhisperChunkStitcher.js +101 -0
  520. package/dist/modules/transcription/WhisperChunkStitcher.js.map +1 -0
  521. package/dist/modules/transcription/WhisperDeviceUnavailableError.d.ts +16 -0
  522. package/dist/modules/transcription/WhisperDeviceUnavailableError.d.ts.map +1 -0
  523. package/dist/modules/transcription/WhisperDeviceUnavailableError.js +16 -0
  524. package/dist/modules/transcription/WhisperDeviceUnavailableError.js.map +1 -0
  525. package/dist/modules/transcription/WhisperInferenceFailedError.d.ts +16 -0
  526. package/dist/modules/transcription/WhisperInferenceFailedError.d.ts.map +1 -0
  527. package/dist/modules/transcription/WhisperInferenceFailedError.js +16 -0
  528. package/dist/modules/transcription/WhisperInferenceFailedError.js.map +1 -0
  529. package/dist/modules/transcription/WhisperInferenceProgressTracker.d.ts +61 -0
  530. package/dist/modules/transcription/WhisperInferenceProgressTracker.d.ts.map +1 -0
  531. package/dist/modules/transcription/WhisperInferenceProgressTracker.js +102 -0
  532. package/dist/modules/transcription/WhisperInferenceProgressTracker.js.map +1 -0
  533. package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.d.ts +38 -0
  534. package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.d.ts.map +1 -0
  535. package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.js +94 -0
  536. package/dist/modules/transcription/WhisperLoopAbortLogitsProcessor.js.map +1 -0
  537. package/dist/modules/transcription/WhisperModelLoadFailedError.d.ts +15 -0
  538. package/dist/modules/transcription/WhisperModelLoadFailedError.d.ts.map +1 -0
  539. package/dist/modules/transcription/WhisperModelLoadFailedError.js +15 -0
  540. package/dist/modules/transcription/WhisperModelLoadFailedError.js.map +1 -0
  541. package/dist/modules/transcription/WhisperTranscriber.d.ts +106 -7
  542. package/dist/modules/transcription/WhisperTranscriber.d.ts.map +1 -1
  543. package/dist/modules/transcription/WhisperTranscriber.js +312 -25
  544. package/dist/modules/transcription/WhisperTranscriber.js.map +1 -1
  545. package/dist/modules/transcription/WhisperWindowCoverage.d.ts +79 -0
  546. package/dist/modules/transcription/WhisperWindowCoverage.d.ts.map +1 -0
  547. package/dist/modules/transcription/WhisperWindowCoverage.js +129 -0
  548. package/dist/modules/transcription/WhisperWindowCoverage.js.map +1 -0
  549. package/dist/modules/transcription/WordTimingEstimator.d.ts +14 -0
  550. package/dist/modules/transcription/WordTimingEstimator.d.ts.map +1 -0
  551. package/dist/modules/transcription/WordTimingEstimator.js +33 -0
  552. package/dist/modules/transcription/WordTimingEstimator.js.map +1 -0
  553. package/dist/modules/transcription/index.d.ts +9 -2
  554. package/dist/modules/transcription/index.d.ts.map +1 -1
  555. package/dist/modules/transcription/index.js +6 -1
  556. package/dist/modules/transcription/index.js.map +1 -1
  557. package/dist/modules/video/RenderJob.d.ts +17 -0
  558. package/dist/modules/video/RenderJob.d.ts.map +1 -1
  559. package/dist/modules/video/RenderTimeMap.d.ts +50 -0
  560. package/dist/modules/video/RenderTimeMap.d.ts.map +1 -0
  561. package/dist/modules/video/RenderTimeMap.js +90 -0
  562. package/dist/modules/video/RenderTimeMap.js.map +1 -0
  563. package/dist/modules/video/index.d.ts +8 -1
  564. package/dist/modules/video/index.d.ts.map +1 -1
  565. package/dist/modules/video/index.js +4 -0
  566. package/dist/modules/video/index.js.map +1 -1
  567. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts +102 -0
  568. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.d.ts.map +1 -0
  569. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js +207 -0
  570. package/dist/modules/video/mediabunny/MediaBunnyTranscodeCoordinator.js.map +1 -0
  571. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.d.ts +12 -52
  572. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.d.ts.map +1 -1
  573. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.js +25 -190
  574. package/dist/modules/video/mediabunny/MediaBunnyVideoRenderer.js.map +1 -1
  575. package/dist/modules/video/mediabunny/audio/AudioTrackBridgeFactory.d.ts +7 -0
  576. package/dist/modules/video/mediabunny/audio/AudioTrackBridgeFactory.d.ts.map +1 -1
  577. package/dist/modules/video/mediabunny/audio/DefaultAudioTrackBridgeFactory.js +2 -2
  578. package/dist/modules/video/mediabunny/audio/DefaultAudioTrackBridgeFactory.js.map +1 -1
  579. package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.d.ts +2 -0
  580. package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.d.ts.map +1 -1
  581. package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.js +8 -2
  582. package/dist/modules/video/mediabunny/audio/PassthroughAudioTrackBridge.js.map +1 -1
  583. package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.d.ts +3 -0
  584. package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.d.ts.map +1 -1
  585. package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.js +9 -2
  586. package/dist/modules/video/mediabunny/audio/TranscodeAudioTrackBridge.js.map +1 -1
  587. package/dist/modules/video/mediabunny/codec/CodecPolicy.d.ts +7 -0
  588. package/dist/modules/video/mediabunny/codec/CodecPolicy.d.ts.map +1 -1
  589. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts +4 -2
  590. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.d.ts.map +1 -1
  591. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.js +33 -23
  592. package/dist/modules/video/mediabunny/frame/CurrentFrameVideoSource.js.map +1 -1
  593. package/dist/modules/video/mediabunny/frame/FrameCompositor.d.ts +9 -2
  594. package/dist/modules/video/mediabunny/frame/FrameCompositor.d.ts.map +1 -1
  595. package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.d.ts +5 -2
  596. package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.d.ts.map +1 -1
  597. package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.js +8 -2
  598. package/dist/modules/video/mediabunny/frame/LayeredFrameCompositor.js.map +1 -1
  599. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.d.ts +35 -0
  600. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.d.ts.map +1 -0
  601. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js +69 -0
  602. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainter.js.map +1 -0
  603. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.d.ts +23 -0
  604. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.d.ts.map +1 -0
  605. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.js +23 -0
  606. package/dist/modules/video/mediabunny/painter/CaptionsOverlayFramePainterFactory.js.map +1 -0
  607. package/dist/modules/video/mediabunny/painter/FramePainter.d.ts +46 -0
  608. package/dist/modules/video/mediabunny/painter/FramePainter.d.ts.map +1 -0
  609. package/dist/modules/video/mediabunny/painter/FramePainter.js +2 -0
  610. package/dist/modules/video/mediabunny/painter/FramePainter.js.map +1 -0
  611. package/dist/modules/video/mediabunny/painter/TopLayerSource.d.ts +24 -0
  612. package/dist/modules/video/mediabunny/painter/TopLayerSource.d.ts.map +1 -0
  613. package/dist/modules/video/mediabunny/painter/TopLayerSource.js +2 -0
  614. package/dist/modules/video/mediabunny/painter/TopLayerSource.js.map +1 -0
  615. package/package.json +13 -10
  616. package/dist/modules/document/Tag.d.ts.map +0 -1
  617. package/dist/modules/document/Tag.js.map +0 -1
  618. package/dist/modules/rendering/AlignmentConfig.d.ts +0 -21
  619. package/dist/modules/rendering/AlignmentConfig.d.ts.map +0 -1
  620. package/dist/modules/rendering/AlignmentConfig.js +0 -2
  621. package/dist/modules/rendering/AlignmentConfig.js.map +0 -1
  622. package/dist/modules/rendering/BoxEdges.d.ts.map +0 -1
  623. package/dist/modules/rendering/BoxEdges.js.map +0 -1
  624. package/dist/modules/rendering/ElementRenderOverrides.d.ts +0 -15
  625. package/dist/modules/rendering/ElementRenderOverrides.d.ts.map +0 -1
  626. package/dist/modules/rendering/ElementRenderOverrides.js +0 -24
  627. package/dist/modules/rendering/ElementRenderOverrides.js.map +0 -1
  628. package/dist/modules/rendering/InlineStyleMap.d.ts.map +0 -1
  629. package/dist/modules/rendering/InlineStyleMap.js.map +0 -1
  630. package/dist/modules/rendering/RenderingConfig.d.ts.map +0 -1
  631. package/dist/modules/rendering/RenderingConfig.js.map +0 -1
  632. package/dist/modules/rendering/ScopedRenderOverride.d.ts +0 -19
  633. package/dist/modules/rendering/ScopedRenderOverride.d.ts.map +0 -1
  634. package/dist/modules/rendering/ScopedRenderOverride.js.map +0 -1
  635. package/dist/modules/rendering/SegmentPaintRegionResolver.d.ts.map +0 -1
  636. package/dist/modules/rendering/SegmentPaintRegionResolver.js.map +0 -1
  637. package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.d.ts +0 -58
  638. package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.d.ts.map +0 -1
  639. package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.js +0 -132
  640. package/dist/modules/rendering/SegmentSubtreeHtmlBuilder.js.map +0 -1
  641. package/dist/modules/rendering/VideoFrameLayerClass.d.ts.map +0 -1
  642. package/dist/modules/rendering/VideoFrameLayerClass.js +0 -21
  643. package/dist/modules/rendering/VideoFrameLayerClass.js.map +0 -1
  644. package/dist/modules/rendering/VideoFrameSource.d.ts.map +0 -1
  645. package/dist/modules/rendering/VideoFrameSource.js.map +0 -1
  646. package/dist/modules/transcription/BrowserAudioDecoder.d.ts +0 -13
  647. package/dist/modules/transcription/BrowserAudioDecoder.d.ts.map +0 -1
  648. package/dist/modules/transcription/BrowserAudioDecoder.js +0 -34
  649. package/dist/modules/transcription/BrowserAudioDecoder.js.map +0 -1
  650. /package/dist/modules/rendering/{BoxEdges.d.ts → types/BoxEdges.d.ts} +0 -0
  651. /package/dist/modules/rendering/{BoxEdges.js → types/BoxEdges.js} +0 -0
  652. /package/dist/modules/rendering/{InlineStyleMap.d.ts → types/InlineStyleMap.d.ts} +0 -0
  653. /package/dist/modules/rendering/{InlineStyleMap.js → types/InlineStyleMap.js} +0 -0
  654. /package/dist/modules/rendering/{RenderingConfig.js → types/RenderingConfig.js} +0 -0
  655. /package/dist/modules/rendering/{ScopedRenderOverride.js → types/ScopedRenderOverride.js} +0 -0
  656. /package/dist/modules/rendering/{VideoFrameSource.d.ts → types/VideoFrameSource.d.ts} +0 -0
  657. /package/dist/modules/rendering/{VideoFrameSource.js → types/VideoFrameSource.js} +0 -0
@@ -0,0 +1,48 @@
1
+ const KEYFRAME_NAME_RE = /@(?:-webkit-|-moz-)?keyframes\s+([a-zA-Z_-][a-zA-Z0-9_-]*)/g;
2
+ const SELECTOR_SPECIAL_CHARS_RE = /[.*+?^${}()|[\]\\]/g;
3
+ /**
4
+ * Renames every `@keyframes` in a stylesheet to a form unique to
5
+ * `key`, and rewrites the `animation-name` / `animation` references
6
+ * that point at them in step.
7
+ *
8
+ * Keyframe names are global to the document, so two stylesheets that
9
+ * both define `fade-in` silently share whichever one loaded last.
10
+ * Anything emitting more than one stylesheet into the same document —
11
+ * or more than one independently-authored block into the same
12
+ * stylesheet — has to pass its blocks through here first.
13
+ *
14
+ * `key` becomes part of a CSS identifier, so it must be spellable as
15
+ * one: letters, digits, `_` and `-`. A key carrying anything else turns
16
+ * every `@keyframes` it names into a syntax error, which costs the
17
+ * animations that referenced them and says nothing about why.
18
+ */
19
+ export class CssKeyframeNamespacer {
20
+ namespace(css, key) {
21
+ const names = new Set();
22
+ for (const match of css.matchAll(KEYFRAME_NAME_RE))
23
+ names.add(match[1]);
24
+ if (names.size === 0)
25
+ return css;
26
+ let result = css;
27
+ for (const name of names) {
28
+ result = this.renameOne(result, name, `${name}-${key}`);
29
+ }
30
+ return result;
31
+ }
32
+ renameOne(css, name, renamed) {
33
+ const escaped = name.replace(SELECTOR_SPECIAL_CHARS_RE, '\\$&');
34
+ let result = css.replace(new RegExp(`(@(?:-webkit-|-moz-)?keyframes\\s+)${escaped}(?![\\w-])`, 'g'), `$1${renamed}`);
35
+ // Both `animation-name:` and the `animation:` shorthand can carry a
36
+ // comma-separated list of names. The rewrite scans the whole value
37
+ // range (between `:` and the next `;` or rule boundary) and replaces
38
+ // every whole-word occurrence, so the second entry in
39
+ // `animation-name: foo, bar` is reached. The value-bounded scope
40
+ // avoids touching a class or property elsewhere that happens to
41
+ // share the spelling.
42
+ const replaceInValue = (_m, prefix, value) => prefix + value.replace(new RegExp(`(?<![\\w-])${escaped}(?![\\w-])`, 'g'), renamed);
43
+ result = result.replace(/(animation-name\s*:\s*)([^;{}]*)/g, replaceInValue);
44
+ result = result.replace(/(animation\s*:\s*)([^;{}]*)/g, replaceInValue);
45
+ return result;
46
+ }
47
+ }
48
+ //# sourceMappingURL=CssKeyframeNamespacer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CssKeyframeNamespacer.js","sourceRoot":"","sources":["../../../src/modules/css/CssKeyframeNamespacer.ts"],"names":[],"mappings":"AAAA,MAAM,gBAAgB,GAAG,6DAA6D,CAAC;AACvF,MAAM,yBAAyB,GAAG,qBAAqB,CAAC;AAExD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,qBAAqB;IAChC,SAAS,CAAC,GAAW,EAAE,GAAW;QAChC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAAE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QACzE,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO,GAAG,CAAC;QAEjC,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,IAAI,GAAG,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,SAAS,CAAC,GAAW,EAAE,IAAY,EAAE,OAAe;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;QAChE,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,CACtB,IAAI,MAAM,CAAC,sCAAsC,OAAO,YAAY,EAAE,GAAG,CAAC,EAC1E,KAAK,OAAO,EAAE,CACf,CAAC;QACF,oEAAoE;QACpE,mEAAmE;QACnE,qEAAqE;QACrE,sDAAsD;QACtD,iEAAiE;QACjE,gEAAgE;QAChE,sBAAsB;QACtB,MAAM,cAAc,GAAG,CAAC,EAAU,EAAE,MAAc,EAAE,KAAa,EAAU,EAAE,CAC3E,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,cAAc,OAAO,YAAY,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;QACtF,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,mCAAmC,EAAE,cAAc,CAAC,CAAC;QAC7E,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;QACxE,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Extracts `@keyframes` names from a stylesheet: the names it defines
3
+ * and the names its `animation` / `animation-name` declarations
4
+ * reference. Comparing the two sets finds animations that can never
5
+ * run because their keyframes are missing.
6
+ *
7
+ * Cheap regex scan rather than a CSS parse; pass the source through
8
+ * {@link CssMinifier} first so commented-out rules don't count.
9
+ * Function tokens (`cubic-bezier(…)`, `var(…)`, `steps(…)`) and
10
+ * shorthand keywords are excluded from references, so what remains is
11
+ * the author-chosen names.
12
+ */
13
+ export declare class CssKeyframesScanner {
14
+ definedNames(css: string): Set<string>;
15
+ referencedNames(css: string): Set<string>;
16
+ /**
17
+ * Clears what sits between a function's parentheses while keeping the
18
+ * parentheses themselves, so `steps(2, end)` becomes `steps()`.
19
+ * Arguments can hold bare identifiers — `end` and `start` in
20
+ * `steps()`, `jump-none` and friends — that are indistinguishable
21
+ * from a keyframes name once the enclosing call is gone. Keeping the
22
+ * `(` lets the function's own name still be recognised as a function
23
+ * rather than collected as a reference.
24
+ */
25
+ private emptyFunctionArguments;
26
+ private collectNameTokens;
27
+ private isFunctionToken;
28
+ }
29
+ //# sourceMappingURL=CssKeyframesScanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CssKeyframesScanner.d.ts","sourceRoot":"","sources":["../../../src/modules/css/CssKeyframesScanner.ts"],"names":[],"mappings":"AAgCA;;;;;;;;;;;GAWG;AACH,qBAAa,mBAAmB;IAE9B,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAQtC,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAQzC;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IAiB9B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,eAAe;CAGxB"}
@@ -0,0 +1,102 @@
1
+ const DEFINITION_PATTERN = /@(?:-webkit-|-moz-)?keyframes\s+([a-zA-Z_-][a-zA-Z0-9_-]*)/g;
2
+ const ANIMATION_VALUE_PATTERN = /(?:animation-name|animation)\s*:\s*([^;{}]*)/g;
3
+ const IDENT_PATTERN = /(?<![\w.#-])-?[a-zA-Z_][a-zA-Z0-9_-]*/g;
4
+ /** Value tokens that are animation shorthand keywords, never a keyframes name. */
5
+ const ANIMATION_VALUE_KEYWORDS = new Set([
6
+ 'none',
7
+ 'linear',
8
+ 'ease',
9
+ 'ease-in',
10
+ 'ease-out',
11
+ 'ease-in-out',
12
+ 'step-start',
13
+ 'step-end',
14
+ 'infinite',
15
+ 'normal',
16
+ 'reverse',
17
+ 'alternate',
18
+ 'alternate-reverse',
19
+ 'forwards',
20
+ 'backwards',
21
+ 'both',
22
+ 'running',
23
+ 'paused',
24
+ 'inherit',
25
+ 'initial',
26
+ 'unset',
27
+ 'revert',
28
+ 'revert-layer',
29
+ 'important',
30
+ ]);
31
+ /**
32
+ * Extracts `@keyframes` names from a stylesheet: the names it defines
33
+ * and the names its `animation` / `animation-name` declarations
34
+ * reference. Comparing the two sets finds animations that can never
35
+ * run because their keyframes are missing.
36
+ *
37
+ * Cheap regex scan rather than a CSS parse; pass the source through
38
+ * {@link CssMinifier} first so commented-out rules don't count.
39
+ * Function tokens (`cubic-bezier(…)`, `var(…)`, `steps(…)`) and
40
+ * shorthand keywords are excluded from references, so what remains is
41
+ * the author-chosen names.
42
+ */
43
+ export class CssKeyframesScanner {
44
+ definedNames(css) {
45
+ const found = new Set();
46
+ for (const match of css.matchAll(DEFINITION_PATTERN)) {
47
+ found.add(match[1]);
48
+ }
49
+ return found;
50
+ }
51
+ referencedNames(css) {
52
+ const found = new Set();
53
+ for (const declaration of css.matchAll(ANIMATION_VALUE_PATTERN)) {
54
+ this.collectNameTokens(this.emptyFunctionArguments(declaration[1]), found);
55
+ }
56
+ return found;
57
+ }
58
+ /**
59
+ * Clears what sits between a function's parentheses while keeping the
60
+ * parentheses themselves, so `steps(2, end)` becomes `steps()`.
61
+ * Arguments can hold bare identifiers — `end` and `start` in
62
+ * `steps()`, `jump-none` and friends — that are indistinguishable
63
+ * from a keyframes name once the enclosing call is gone. Keeping the
64
+ * `(` lets the function's own name still be recognised as a function
65
+ * rather than collected as a reference.
66
+ */
67
+ emptyFunctionArguments(value) {
68
+ let depth = 0;
69
+ let out = '';
70
+ for (const char of value) {
71
+ if (char === '(') {
72
+ depth++;
73
+ if (depth === 1)
74
+ out += char;
75
+ }
76
+ else if (char === ')') {
77
+ if (depth === 1)
78
+ out += char;
79
+ if (depth > 0)
80
+ depth--;
81
+ }
82
+ else if (depth === 0) {
83
+ out += char;
84
+ }
85
+ }
86
+ return out;
87
+ }
88
+ collectNameTokens(value, found) {
89
+ for (const match of value.matchAll(IDENT_PATTERN)) {
90
+ const token = match[0];
91
+ if (ANIMATION_VALUE_KEYWORDS.has(token))
92
+ continue;
93
+ if (this.isFunctionToken(value, match.index + token.length))
94
+ continue;
95
+ found.add(token);
96
+ }
97
+ }
98
+ isFunctionToken(value, indexAfterToken) {
99
+ return value[indexAfterToken] === '(';
100
+ }
101
+ }
102
+ //# sourceMappingURL=CssKeyframesScanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CssKeyframesScanner.js","sourceRoot":"","sources":["../../../src/modules/css/CssKeyframesScanner.ts"],"names":[],"mappings":"AAAA,MAAM,kBAAkB,GAAG,6DAA6D,CAAC;AACzF,MAAM,uBAAuB,GAAG,+CAA+C,CAAC;AAChF,MAAM,aAAa,GAAG,wCAAwC,CAAC;AAE/D,kFAAkF;AAClF,MAAM,wBAAwB,GAAwB,IAAI,GAAG,CAAC;IAC5D,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,aAAa;IACb,YAAY;IACZ,UAAU;IACV,UAAU;IACV,QAAQ;IACR,SAAS;IACT,WAAW;IACX,mBAAmB;IACnB,UAAU;IACV,WAAW;IACX,MAAM;IACN,SAAS;IACT,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;IACP,QAAQ;IACR,cAAc;IACd,WAAW;CACZ,CAAC,CAAC;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,mBAAmB;IAE9B,YAAY,CAAC,GAAW;QACtB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACrD,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC;QACvB,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,eAAe,CAAC,GAAW;QACzB,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAChC,KAAK,MAAM,WAAW,IAAI,GAAG,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAChE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;OAQG;IACK,sBAAsB,CAAC,KAAa;QAC1C,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,GAAG,GAAG,EAAE,CAAC;QACb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACjB,KAAK,EAAE,CAAC;gBACR,IAAI,KAAK,KAAK,CAAC;oBAAE,GAAG,IAAI,IAAI,CAAC;YAC/B,CAAC;iBAAM,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxB,IAAI,KAAK,KAAK,CAAC;oBAAE,GAAG,IAAI,IAAI,CAAC;gBAC7B,IAAI,KAAK,GAAG,CAAC;oBAAE,KAAK,EAAE,CAAC;YACzB,CAAC;iBAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBACvB,GAAG,IAAI,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAEO,iBAAiB,CAAC,KAAa,EAAE,KAAkB;QACzD,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YAClD,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;gBAAE,SAAS;YACtE,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC;IACH,CAAC;IAEO,eAAe,CAAC,KAAa,EAAE,eAAuB;QAC5D,OAAO,KAAK,CAAC,eAAe,CAAC,KAAK,GAAG,CAAC;IACxC,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Cascade layers the framework publishes as part of its stylesheet
3
+ * contract, mirroring how `CssClass` names the published classes.
4
+ *
5
+ * Only the framework's own layer is named here. A consumer that wants
6
+ * its stylesheets to lose to the framework's `!important` rules and win
7
+ * over its normal ones puts them in layers of its own, declared after
8
+ * this one — layers are ordered by first appearance, and the framework
9
+ * baseline is emitted first.
10
+ *
11
+ * The layer is load-bearing rather than cosmetic. Cascade order puts
12
+ * unlayered `!important` declarations *below* layered ones, so a
13
+ * framework rule left outside a layer would lose to any `!important` a
14
+ * consumer writes — including the frozen-frame rule that makes a
15
+ * rendered frame a function of the playhead.
16
+ */
17
+ export declare enum CssLayer {
18
+ FRAMEWORK = "tscaps-framework"
19
+ }
20
+ //# sourceMappingURL=CssLayer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CssLayer.d.ts","sourceRoot":"","sources":["../../../src/modules/css/CssLayer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,oBAAY,QAAQ;IAClB,SAAS,qBAAqB;CAC/B"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Cascade layers the framework publishes as part of its stylesheet
3
+ * contract, mirroring how `CssClass` names the published classes.
4
+ *
5
+ * Only the framework's own layer is named here. A consumer that wants
6
+ * its stylesheets to lose to the framework's `!important` rules and win
7
+ * over its normal ones puts them in layers of its own, declared after
8
+ * this one — layers are ordered by first appearance, and the framework
9
+ * baseline is emitted first.
10
+ *
11
+ * The layer is load-bearing rather than cosmetic. Cascade order puts
12
+ * unlayered `!important` declarations *below* layered ones, so a
13
+ * framework rule left outside a layer would lose to any `!important` a
14
+ * consumer writes — including the frozen-frame rule that makes a
15
+ * rendered frame a function of the playhead.
16
+ */
17
+ export var CssLayer;
18
+ (function (CssLayer) {
19
+ CssLayer["FRAMEWORK"] = "tscaps-framework";
20
+ })(CssLayer || (CssLayer = {}));
21
+ //# sourceMappingURL=CssLayer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CssLayer.js","sourceRoot":"","sources":["../../../src/modules/css/CssLayer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAN,IAAY,QAEX;AAFD,WAAY,QAAQ;IAClB,0CAA8B,CAAA;AAChC,CAAC,EAFW,QAAQ,KAAR,QAAQ,QAEnB"}
@@ -5,12 +5,41 @@
5
5
  * scope-unique form and the matching `animation-name` / `animation`
6
6
  * shorthand references in the same stylesheet are rewritten in step.
7
7
  *
8
+ * Selectors inside conditional at-rule bodies (`@container`, `@media`,
9
+ * `@supports`, `@layer`, `@scope`) are scoped recursively — without
10
+ * this, a rule like `@container … { .foo { … } }` would emit unscoped
11
+ * `.foo` and lose to the top-level scoped version on specificity.
12
+ *
8
13
  * `scopeSelector` is expected to be a simple class selector
9
14
  * (e.g. `.my-scope`); its identifier portion seeds the keyframe rename.
10
15
  */
11
16
  export declare class CssScoper {
17
+ private readonly keyframeNamespacer;
12
18
  scope(css: string, scopeSelector: string): string;
13
- private scopeKeyframes;
14
- private scopeSelectors;
19
+ private scopeSelectorsInRange;
20
+ private scopeAtRuleBody;
21
+ private scopeCompoundSelector;
22
+ private isWhitespace;
23
+ private isCommentStart;
24
+ private findCommentEnd;
25
+ /**
26
+ * Locates the boundary that ends the current top-level construct:
27
+ * `{` opens a rule block, `;` terminates a statement-form at-rule
28
+ * (`@charset`, `@import`, `@namespace`, `@layer name;`), and `end`
29
+ * means the range was consumed without either.
30
+ *
31
+ * Skips over string literals and CSS comments so a `;` inside a
32
+ * `url("…")` or a commented-out block doesn't fool the caller.
33
+ */
34
+ private findRuleTerminator;
35
+ private isAtRuleHeader;
36
+ private extractAtRuleName;
37
+ /**
38
+ * Returns the index of the `}` that closes the block opened just
39
+ * before `start`. Respects string literals and CSS comments so that
40
+ * `{`/`}` characters appearing inside them don't shift the depth.
41
+ * Falls back to `stopAt` if the block is unterminated within range.
42
+ */
43
+ private findMatchingClose;
15
44
  }
16
45
  //# sourceMappingURL=CssScoper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CssScoper.d.ts","sourceRoot":"","sources":["../../../src/modules/css/CssScoper.ts"],"names":[],"mappings":"AAIA;;;;;;;;;GASG;AACH,qBAAa,SAAS;IACpB,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAKjD,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,cAAc;CA0DvB"}
1
+ {"version":3,"file":"CssScoper.d.ts","sourceRoot":"","sources":["../../../src/modules/css/CssScoper.ts"],"names":[],"mappings":"AAuBA;;;;;;;;;;;;;;GAcG;AACH,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAA+B;IAElE,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,MAAM;IAKjD,OAAO,CAAC,qBAAqB;IA8C7B,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAKtB;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,iBAAiB;IAKzB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;CAyB1B"}
@@ -1,5 +1,13 @@
1
- const KEYFRAME_NAME_RE = /@(?:-webkit-|-moz-)?keyframes\s+([a-zA-Z_-][a-zA-Z0-9_-]*)/g;
2
- const escapeRegex = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
1
+ import { CssKeyframeNamespacer } from '../css/CssKeyframeNamespacer';
2
+ const AT_RULE_NAME_RE = /^@([a-zA-Z][a-zA-Z0-9-]*)/;
3
+ /** At-rules whose body holds regular style rules — selectors inside must be scoped. */
4
+ const SCOPEABLE_AT_RULES = new Set([
5
+ 'container',
6
+ 'media',
7
+ 'supports',
8
+ 'layer',
9
+ 'scope',
10
+ ]);
3
11
  /**
4
12
  * Scopes a CSS string so it can coexist with sibling stylesheets in
5
13
  * the same document. Top-level selectors get prefixed with
@@ -7,103 +15,184 @@ const escapeRegex = (s) => s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
7
15
  * scope-unique form and the matching `animation-name` / `animation`
8
16
  * shorthand references in the same stylesheet are rewritten in step.
9
17
  *
18
+ * Selectors inside conditional at-rule bodies (`@container`, `@media`,
19
+ * `@supports`, `@layer`, `@scope`) are scoped recursively — without
20
+ * this, a rule like `@container … { .foo { … } }` would emit unscoped
21
+ * `.foo` and lose to the top-level scoped version on specificity.
22
+ *
10
23
  * `scopeSelector` is expected to be a simple class selector
11
24
  * (e.g. `.my-scope`); its identifier portion seeds the keyframe rename.
12
25
  */
13
26
  export class CssScoper {
27
+ keyframeNamespacer = new CssKeyframeNamespacer();
14
28
  scope(css, scopeSelector) {
15
29
  const scopeKey = scopeSelector.replace(/^\.+/, '');
16
- return this.scopeSelectors(this.scopeKeyframes(css, scopeKey), scopeSelector);
17
- }
18
- scopeKeyframes(css, scopeKey) {
19
- const names = new Set();
20
- for (const m of css.matchAll(KEYFRAME_NAME_RE))
21
- names.add(m[1]);
22
- if (names.size === 0)
23
- return css;
24
- let result = css;
25
- for (const name of names) {
26
- const scopedName = `${name}-${scopeKey}`;
27
- const esc = escapeRegex(name);
28
- result = result.replace(new RegExp(`(@(?:-webkit-|-moz-)?keyframes\\s+)${esc}(?![\\w-])`, 'g'), `$1${scopedName}`);
29
- // Both `animation-name:` and the `animation:` shorthand can carry a
30
- // comma-separated list of names. The rewrite scans the whole value
31
- // range (between `:` and the next `;` or rule boundary) and replaces
32
- // every whole-word occurrence, so the second entry in
33
- // `animation-name: foo, bar` is reached. The value-bounded scope
34
- // avoids touching a class or property elsewhere that happens to
35
- // share the spelling.
36
- const replaceInValue = (_m, prefix, value) => prefix + value.replace(new RegExp(`(?<![\\w-])${esc}(?![\\w-])`, 'g'), scopedName);
37
- result = result.replace(/(animation-name\s*:\s*)([^;{}]*)/g, replaceInValue);
38
- result = result.replace(/(animation\s*:\s*)([^;{}]*)/g, replaceInValue);
39
- }
40
- return result;
30
+ return this.scopeSelectorsInRange(this.keyframeNamespacer.namespace(css, scopeKey), 0, undefined, scopeSelector);
41
31
  }
42
- scopeSelectors(css, scopeSelector) {
32
+ scopeSelectorsInRange(css, start, end, scopeSelector) {
33
+ const stopAt = end ?? css.length;
43
34
  let result = '';
44
- let i = 0;
45
- let depth = 0;
46
- while (i < css.length) {
47
- if (css[i] === '{') {
48
- depth++;
49
- result += '{';
35
+ let i = start;
36
+ while (i < stopAt) {
37
+ const ch = css[i];
38
+ if (this.isWhitespace(ch)) {
39
+ result += ch;
50
40
  i++;
41
+ continue;
51
42
  }
52
- else if (css[i] === '}') {
53
- depth--;
43
+ if (this.isCommentStart(css, i)) {
44
+ const commentEnd = this.findCommentEnd(css, i, stopAt);
45
+ result += css.slice(i, commentEnd);
46
+ i = commentEnd;
47
+ continue;
48
+ }
49
+ const { index: ruleEnd, kind } = this.findRuleTerminator(css, i, stopAt);
50
+ if (kind === 'end') {
51
+ result += css.slice(i, stopAt);
52
+ return result;
53
+ }
54
+ if (kind === 'semi') {
55
+ // Statement-form at-rule (`@charset`, `@import`, `@namespace`,
56
+ // `@layer name;`): no block to scope, emit as-is and advance.
57
+ result += css.slice(i, ruleEnd + 1);
58
+ i = ruleEnd + 1;
59
+ continue;
60
+ }
61
+ const header = css.slice(i, ruleEnd);
62
+ const bodyStart = ruleEnd + 1;
63
+ const bodyEnd = this.findMatchingClose(css, bodyStart, stopAt);
64
+ if (this.isAtRuleHeader(header)) {
65
+ result += `${header}{`;
66
+ result += this.scopeAtRuleBody(css, bodyStart, bodyEnd, header, scopeSelector);
67
+ result += '}';
68
+ }
69
+ else {
70
+ result += `${this.scopeCompoundSelector(header, scopeSelector)} {`;
71
+ result += css.slice(bodyStart, bodyEnd);
54
72
  result += '}';
55
- i++;
56
73
  }
57
- else if (depth === 0) {
58
- const remaining = css.slice(i);
59
- const ws = remaining.match(/^\s+/);
60
- if (ws) {
61
- result += ws[0];
62
- i += ws[0].length;
74
+ i = bodyEnd + 1;
75
+ }
76
+ return result;
77
+ }
78
+ scopeAtRuleBody(css, bodyStart, bodyEnd, header, scopeSelector) {
79
+ const name = this.extractAtRuleName(header);
80
+ if (SCOPEABLE_AT_RULES.has(name)) {
81
+ return this.scopeSelectorsInRange(css, bodyStart, bodyEnd, scopeSelector);
82
+ }
83
+ return css.slice(bodyStart, bodyEnd);
84
+ }
85
+ scopeCompoundSelector(selector, scopeSelector) {
86
+ return selector
87
+ .trim()
88
+ .split(',')
89
+ .map((s) => `${scopeSelector} ${s.trim()}`)
90
+ .join(', ');
91
+ }
92
+ isWhitespace(ch) {
93
+ return ch === ' ' || ch === '\t' || ch === '\n' || ch === '\r' || ch === '\f';
94
+ }
95
+ isCommentStart(css, i) {
96
+ return css[i] === '/' && css[i + 1] === '*';
97
+ }
98
+ findCommentEnd(css, commentStart, stopAt) {
99
+ const closeIndex = css.indexOf('*/', commentStart + 2);
100
+ return closeIndex === -1 || closeIndex >= stopAt ? stopAt : closeIndex + 2;
101
+ }
102
+ /**
103
+ * Locates the boundary that ends the current top-level construct:
104
+ * `{` opens a rule block, `;` terminates a statement-form at-rule
105
+ * (`@charset`, `@import`, `@namespace`, `@layer name;`), and `end`
106
+ * means the range was consumed without either.
107
+ *
108
+ * Skips over string literals and CSS comments so a `;` inside a
109
+ * `url("…")` or a commented-out block doesn't fool the caller.
110
+ */
111
+ findRuleTerminator(css, start, stopAt) {
112
+ let i = start;
113
+ let stringDelim = null;
114
+ while (i < stopAt) {
115
+ const ch = css[i];
116
+ if (stringDelim) {
117
+ if (ch === '\\' && i + 1 < stopAt) {
118
+ i += 2;
63
119
  continue;
64
120
  }
65
- // Top-level comments — copy through. Without this, a comment placed
66
- // before an @-rule (e.g. `/* note */ @keyframes foo`) would be
67
- // swallowed into the regular-selector branch and fed to the scoper
68
- // alongside the @-rule header, producing invalid CSS that drops the
69
- // whole rule.
70
- if (remaining.startsWith('/*')) {
71
- const end = remaining.indexOf('*/');
72
- if (end === -1) {
73
- result += remaining;
74
- break;
75
- }
76
- result += remaining.slice(0, end + 2);
77
- i += end + 2;
121
+ if (ch === stringDelim)
122
+ stringDelim = null;
123
+ i++;
124
+ continue;
125
+ }
126
+ if (ch === '"' || ch === '\'') {
127
+ stringDelim = ch;
128
+ i++;
129
+ continue;
130
+ }
131
+ if (this.isCommentStart(css, i)) {
132
+ i = this.findCommentEnd(css, i, stopAt);
133
+ continue;
134
+ }
135
+ if (ch === '{')
136
+ return { index: i, kind: 'brace' };
137
+ if (ch === ';')
138
+ return { index: i, kind: 'semi' };
139
+ i++;
140
+ }
141
+ return { index: stopAt, kind: 'end' };
142
+ }
143
+ isAtRuleHeader(header) {
144
+ return header.trimStart().startsWith('@');
145
+ }
146
+ extractAtRuleName(header) {
147
+ const match = header.trimStart().match(AT_RULE_NAME_RE);
148
+ return match ? match[1].toLowerCase() : '';
149
+ }
150
+ /**
151
+ * Returns the index of the `}` that closes the block opened just
152
+ * before `start`. Respects string literals and CSS comments so that
153
+ * `{`/`}` characters appearing inside them don't shift the depth.
154
+ * Falls back to `stopAt` if the block is unterminated within range.
155
+ */
156
+ findMatchingClose(css, start, stopAt) {
157
+ let depth = 1;
158
+ let i = start;
159
+ let stringDelim = null;
160
+ while (i < stopAt) {
161
+ const ch = css[i];
162
+ if (stringDelim) {
163
+ if (ch === '\\' && i + 1 < stopAt) {
164
+ i += 2;
78
165
  continue;
79
166
  }
80
- const brace = remaining.indexOf('{');
81
- if (brace === -1) {
82
- result += remaining;
83
- break;
84
- }
85
- if (remaining.startsWith('@')) {
86
- result += remaining.slice(0, brace + 1);
87
- i += brace + 1;
88
- depth++;
89
- }
90
- else {
91
- const selector = remaining.slice(0, brace).trim();
92
- const scoped = selector
93
- .split(',')
94
- .map(s => `${scopeSelector} ${s.trim()}`)
95
- .join(', ');
96
- result += `${scoped} {`;
97
- i += brace + 1;
98
- depth++;
99
- }
167
+ if (ch === stringDelim)
168
+ stringDelim = null;
169
+ i++;
170
+ continue;
100
171
  }
101
- else {
102
- result += css[i];
172
+ if (ch === '"' || ch === '\'') {
173
+ stringDelim = ch;
103
174
  i++;
175
+ continue;
104
176
  }
177
+ if (this.isCommentStart(css, i)) {
178
+ i = this.findCommentEnd(css, i, stopAt);
179
+ continue;
180
+ }
181
+ if (ch === '{') {
182
+ depth++;
183
+ i++;
184
+ continue;
185
+ }
186
+ if (ch === '}') {
187
+ depth--;
188
+ if (depth === 0)
189
+ return i;
190
+ i++;
191
+ continue;
192
+ }
193
+ i++;
105
194
  }
106
- return result;
195
+ return stopAt;
107
196
  }
108
197
  }
109
198
  //# sourceMappingURL=CssScoper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CssScoper.js","sourceRoot":"","sources":["../../../src/modules/css/CssScoper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CssScoper.js","sourceRoot":"","sources":["../../../src/modules/css/CssScoper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Returns every class name used in rule selectors across the given
3
+ * source. `@keyframes` bodies are skipped entirely (their selectors
4
+ * are offsets, not element selectors); every other at-rule body is
5
+ * scanned recursively so selectors inside `@container` / `@media` /
6
+ * `@supports` blocks are covered.
7
+ *
8
+ * Only selector headers are scanned — declaration bodies are not, so
9
+ * a dot inside a value (`url(image.png)`) never registers. Pass the
10
+ * source through {@link CssMinifier} first so commented-out rules
11
+ * don't count. Selectors nested inside style-rule bodies (native CSS
12
+ * nesting) are not scanned.
13
+ */
14
+ export declare class CssSelectorClassScanner {
15
+ scan(css: string): Set<string>;
16
+ private scanRange;
17
+ private collectClasses;
18
+ /**
19
+ * Index of the `}` closing the block opened just before `start`.
20
+ * String literals are respected so braces inside them don't shift
21
+ * the depth. Falls back to `end` when the block is unterminated.
22
+ */
23
+ private findMatchingClose;
24
+ }
25
+ //# sourceMappingURL=CssSelectorClassScanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CssSelectorClassScanner.d.ts","sourceRoot":"","sources":["../../../src/modules/css/CssSelectorClassScanner.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;GAYG;AACH,qBAAa,uBAAuB;IAElC,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAM9B,OAAO,CAAC,SAAS;IAmBjB,OAAO,CAAC,cAAc;IAMtB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAwB1B"}