@stacksjs/stx 0.2.4 → 0.2.6

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 (293) hide show
  1. package/dist/a11y.d.ts +2 -6
  2. package/dist/analytics.d.ts +1 -1
  3. package/dist/analyzer.d.ts +1 -1
  4. package/dist/animation.d.ts +10 -86
  5. package/dist/app.d.ts +2 -4
  6. package/dist/assets.d.ts +1 -1
  7. package/dist/ast.d.ts +3 -24
  8. package/dist/async-components.d.ts +1 -1
  9. package/dist/auth.d.ts +1 -1
  10. package/dist/browser-composables.d.ts +6 -4
  11. package/dist/build-optimizer.d.ts +4 -29
  12. package/dist/build-views.d.ts +20 -1
  13. package/dist/bundle-analyzer/collector.d.ts +1 -1
  14. package/dist/bundle-analyzer/index.d.ts +40 -4
  15. package/dist/bundle-analyzer/report.d.ts +1 -1
  16. package/dist/bundle-analyzer/treemap.d.ts +1 -1
  17. package/dist/caching.d.ts +1 -1
  18. package/dist/cli.js +1323 -511
  19. package/dist/client/directive.d.ts +1 -1
  20. package/dist/client/index.d.ts +6 -1
  21. package/dist/client/router.d.ts +3 -11
  22. package/dist/client/stx-router.browser.d.ts +1 -0
  23. package/dist/client-script.d.ts +2 -1
  24. package/dist/client.d.ts +2 -2
  25. package/dist/component-hmr.d.ts +4 -18
  26. package/dist/components.d.ts +1 -1
  27. package/dist/composables/index.d.ts +114 -1
  28. package/dist/composables/use-battery.d.ts +1 -1
  29. package/dist/composables/use-broadcast-channel.d.ts +2 -2
  30. package/dist/composables/use-clipboard.d.ts +1 -1
  31. package/dist/composables/use-color-mode.d.ts +52 -0
  32. package/dist/composables/use-cookie.d.ts +1 -1
  33. package/dist/composables/use-device-orientation.d.ts +1 -1
  34. package/dist/composables/use-event-listener.d.ts +35 -0
  35. package/dist/composables/use-event-source.d.ts +1 -1
  36. package/dist/composables/use-eye-dropper.d.ts +3 -2
  37. package/dist/composables/use-fetch.d.ts +1 -1
  38. package/dist/composables/use-fullscreen.d.ts +1 -1
  39. package/dist/composables/use-geolocation.d.ts +1 -1
  40. package/dist/composables/use-idle.d.ts +2 -2
  41. package/dist/composables/use-intersection-observer.d.ts +1 -1
  42. package/dist/composables/use-keyboard.d.ts +1 -2
  43. package/dist/composables/use-media-query.d.ts +1 -1
  44. package/dist/composables/use-meta.d.ts +35 -0
  45. package/dist/composables/use-mouse.d.ts +1 -1
  46. package/dist/composables/use-mutation-observer.d.ts +1 -1
  47. package/dist/composables/use-network.d.ts +1 -1
  48. package/dist/composables/use-notification.d.ts +10 -1
  49. package/dist/composables/use-permissions.d.ts +17 -7
  50. package/dist/composables/use-query.d.ts +43 -0
  51. package/dist/composables/use-resize-observer.d.ts +1 -1
  52. package/dist/composables/use-router.d.ts +59 -0
  53. package/dist/composables/use-share.d.ts +1 -1
  54. package/dist/composables/use-speech.d.ts +1 -1
  55. package/dist/composables/use-storage.d.ts +1 -1
  56. package/dist/composables/use-text-selection.d.ts +1 -1
  57. package/dist/composables/use-timer.d.ts +92 -0
  58. package/dist/composables/use-utilities.d.ts +103 -0
  59. package/dist/composables/use-wake-lock.d.ts +1 -1
  60. package/dist/composables/use-websocket.d.ts +3 -3
  61. package/dist/composables/use-window.d.ts +1 -1
  62. package/dist/composables.d.ts +10 -7
  63. package/dist/composition-api.d.ts +1 -14
  64. package/dist/computed.d.ts +10 -4
  65. package/dist/conditionals.d.ts +1 -1
  66. package/dist/config.d.ts +1 -1
  67. package/dist/craft-bridge.d.ts +1 -1
  68. package/dist/craft-compiler.d.ts +6 -3
  69. package/dist/craft-components.d.ts +1 -8
  70. package/dist/craft-entry.d.ts +1 -1
  71. package/dist/craft-ssr.d.ts +1 -1
  72. package/dist/csp.d.ts +2 -2
  73. package/dist/csrf.d.ts +1 -1
  74. package/dist/custom-directives.d.ts +1 -1
  75. package/dist/database.d.ts +8 -26
  76. package/dist/defer.d.ts +1 -1
  77. package/dist/deploy/config-generators.d.ts +1 -1
  78. package/dist/deploy/index.d.ts +6 -3
  79. package/dist/deploy/netlify.d.ts +1 -1
  80. package/dist/dev-server/crosswind.d.ts +11 -1
  81. package/dist/dev-server/index.d.ts +16 -1
  82. package/dist/dev-server/keyboard-shortcuts.d.ts +1 -1
  83. package/dist/dev-server/native-window.d.ts +1 -1
  84. package/dist/dev-server/port-utils.d.ts +2 -2
  85. package/dist/dev-server/terminal-colors.d.ts +1 -5
  86. package/dist/dev-server/theme-selector.d.ts +1 -1
  87. package/dist/dev-server/types.d.ts +3 -8
  88. package/dist/dev-server.d.ts +1 -4
  89. package/dist/devtools.d.ts +4 -1
  90. package/dist/directive-api.d.ts +3 -3
  91. package/dist/docs.d.ts +2 -2
  92. package/dist/dynamic-components.d.ts +1 -1
  93. package/dist/edge-runtime.d.ts +3 -3
  94. package/dist/env.d.ts +1 -1
  95. package/dist/error-boundaries.d.ts +1 -1
  96. package/dist/error-handling.d.ts +14 -1
  97. package/dist/errors/codes.d.ts +2 -17
  98. package/dist/errors/formatter.d.ts +1 -1
  99. package/dist/errors/index.d.ts +13 -1
  100. package/dist/errors/logger.d.ts +2 -15
  101. package/dist/errors/sanitizer.d.ts +1 -1
  102. package/dist/errors/types.d.ts +1 -1
  103. package/dist/events.d.ts +1 -1
  104. package/dist/expressions.d.ts +64 -90
  105. package/dist/formatter.d.ts +1 -1
  106. package/dist/forms-validation.d.ts +23 -24
  107. package/dist/forms.d.ts +5 -22
  108. package/dist/head.d.ts +5 -1
  109. package/dist/heatmap.d.ts +4 -7
  110. package/dist/hot-reload.d.ts +3 -8
  111. package/dist/hydration-runtime.d.ts +1 -1
  112. package/dist/hydration.d.ts +5 -32
  113. package/dist/i18n.d.ts +1 -9
  114. package/dist/image-optimization/build-plugin.d.ts +2 -2
  115. package/dist/image-optimization/component.d.ts +2 -2
  116. package/dist/image-optimization/directive.d.ts +2 -2
  117. package/dist/image-optimization/index.d.ts +55 -1
  118. package/dist/image-optimization/processor.d.ts +9 -4
  119. package/dist/includes.d.ts +1 -1
  120. package/dist/index.d.ts +29 -1
  121. package/dist/index.js +1387 -542
  122. package/dist/init.d.ts +1 -1
  123. package/dist/interactive.d.ts +1 -1
  124. package/dist/internal-markdown.d.ts +1 -1
  125. package/dist/js-ts.d.ts +1 -1
  126. package/dist/jsx-runtime.d.ts +1 -20
  127. package/dist/keep-alive.d.ts +1 -1
  128. package/dist/lazy-loader.d.ts +3 -35
  129. package/dist/loading-indicator.d.ts +2 -1
  130. package/dist/loops.d.ts +1 -1
  131. package/dist/markdown.d.ts +1 -1
  132. package/dist/media/client/blur-up.d.ts +1 -1
  133. package/dist/media/client/index.d.ts +17 -1
  134. package/dist/media/client/lazy-load.d.ts +1 -1
  135. package/dist/media/client/upload-handler.d.ts +1 -1
  136. package/dist/media/image/component.d.ts +2 -4
  137. package/dist/media/image/directive.d.ts +1 -1
  138. package/dist/media/image/editing.d.ts +1 -1
  139. package/dist/media/image/index.d.ts +25 -1
  140. package/dist/media/image/placeholder.d.ts +1 -1
  141. package/dist/media/image/processor/cache.d.ts +3 -4
  142. package/dist/media/image/processor/index.d.ts +9 -1
  143. package/dist/media/image/processor/optimizer.d.ts +2 -2
  144. package/dist/media/image/processor/responsive.d.ts +3 -2
  145. package/dist/media/image/srcset.d.ts +6 -4
  146. package/dist/media/index.d.ts +37 -1
  147. package/dist/media/manager/embed.d.ts +1 -1
  148. package/dist/media/protected/component.d.ts +2 -3
  149. package/dist/media/protected/index.d.ts +14 -1
  150. package/dist/media/protected/signature.d.ts +2 -2
  151. package/dist/media/shared/cache.d.ts +1 -1
  152. package/dist/media/shared/hash.d.ts +1 -1
  153. package/dist/media/shared/index.d.ts +6 -1
  154. package/dist/media/types.d.ts +16 -72
  155. package/dist/media/upload/component.d.ts +2 -16
  156. package/dist/media/upload/index.d.ts +8 -1
  157. package/dist/media/video/directive.d.ts +1 -1
  158. package/dist/media/video/index.d.ts +11 -2
  159. package/dist/media/video/processor/cache.d.ts +3 -4
  160. package/dist/media/video/processor/index.d.ts +9 -1
  161. package/dist/media/video/processor/streaming.d.ts +2 -2
  162. package/dist/media/video/processor/thumbnail.d.ts +2 -2
  163. package/dist/media/video/processor/transcoder.d.ts +2 -2
  164. package/dist/method-spoofing.d.ts +1 -1
  165. package/dist/middleware.d.ts +1 -1
  166. package/dist/native-build.d.ts +3 -6
  167. package/dist/parser/directive-parser.d.ts +1 -1
  168. package/dist/parser/expression-parser.d.ts +2 -1
  169. package/dist/parser/index.d.ts +14 -1
  170. package/dist/parser/tokenizer.d.ts +2 -18
  171. package/dist/partial-hydration.d.ts +5 -6
  172. package/dist/performance-utils.d.ts +5 -18
  173. package/dist/plugin-system.d.ts +2 -8
  174. package/dist/plugin.d.ts +1 -1
  175. package/dist/precompiler.d.ts +2 -67
  176. package/dist/process.d.ts +12 -2
  177. package/dist/production-build.d.ts +1 -37
  178. package/dist/props.d.ts +3 -30
  179. package/dist/pwa/audit.d.ts +1 -1
  180. package/dist/pwa/directives.d.ts +1 -1
  181. package/dist/pwa/icons.d.ts +7 -4
  182. package/dist/pwa/index.d.ts +46 -1
  183. package/dist/pwa/inject.d.ts +1 -1
  184. package/dist/pwa/manifest.d.ts +1 -1
  185. package/dist/pwa/offline.d.ts +1 -1
  186. package/dist/pwa/precache.d.ts +1 -1
  187. package/dist/pwa/service-worker.d.ts +1 -1
  188. package/dist/pwa/workbox-strategies.d.ts +1 -1
  189. package/dist/pwa/workbox.d.ts +1 -10
  190. package/dist/pwa.d.ts +1 -1
  191. package/dist/pwa.js +1242 -430
  192. package/dist/reactive-bindings.d.ts +1 -1
  193. package/dist/reactive.d.ts +1 -1
  194. package/dist/reactivity.d.ts +6 -50
  195. package/dist/release.d.ts +1 -1
  196. package/dist/route-middleware.d.ts +3 -3
  197. package/dist/router.d.ts +1 -1
  198. package/dist/routes.d.ts +2 -2
  199. package/dist/runtime.d.ts +4 -4
  200. package/dist/safe-evaluator.d.ts +1 -4
  201. package/dist/scaffolding.d.ts +1 -1
  202. package/dist/seo.d.ts +1 -5
  203. package/dist/serve.d.ts +1 -1
  204. package/dist/server-components.d.ts +1 -1
  205. package/dist/signals.d.ts +8 -168
  206. package/dist/slots.d.ts +2 -2
  207. package/dist/source-maps.d.ts +3 -22
  208. package/dist/spa-shell.d.ts +20 -0
  209. package/dist/ssg.d.ts +4 -6
  210. package/dist/ssg.js +1242 -430
  211. package/dist/ssr.d.ts +6 -14
  212. package/dist/state-management.d.ts +5 -45
  213. package/dist/stores-client.d.ts +3 -3
  214. package/dist/story/addons.d.ts +1 -1
  215. package/dist/story/analytics.d.ts +4 -11
  216. package/dist/story/auto-stories.d.ts +1 -1
  217. package/dist/story/bookmarks.d.ts +2 -6
  218. package/dist/story/bun-test.d.ts +1 -1
  219. package/dist/story/cli.d.ts +0 -25
  220. package/dist/story/collect/analyzer.d.ts +1 -1
  221. package/dist/story/collect/index.d.ts +5 -1
  222. package/dist/story/collect/parser.d.ts +1 -1
  223. package/dist/story/collect/scanner.d.ts +1 -1
  224. package/dist/story/collect/tree.d.ts +2 -2
  225. package/dist/story/commands/build.d.ts +1 -1
  226. package/dist/story/commands/dev.d.ts +1 -1
  227. package/dist/story/commands/index.d.ts +4 -1
  228. package/dist/story/commands/preview.d.ts +1 -1
  229. package/dist/story/compiled-output.d.ts +1 -1
  230. package/dist/story/composition.d.ts +1 -1
  231. package/dist/story/config-watcher.d.ts +1 -1
  232. package/dist/story/config.d.ts +2 -2
  233. package/dist/story/context.d.ts +1 -1
  234. package/dist/story/controls/index.d.ts +1 -1
  235. package/dist/story/crosswind.d.ts +1 -1
  236. package/dist/story/desktop-preview.d.ts +1 -1
  237. package/dist/story/docs-generator.d.ts +1 -1
  238. package/dist/story/errors.d.ts +1 -1
  239. package/dist/story/figma-export.d.ts +2 -2
  240. package/dist/story/generator.d.ts +1 -1
  241. package/dist/story/hmr.d.ts +1 -1
  242. package/dist/story/hot-swap.d.ts +1 -1
  243. package/dist/story/index.d.ts +49 -1
  244. package/dist/story/interactions.d.ts +1 -1
  245. package/dist/story/keyboard-shortcuts.d.ts +1 -1
  246. package/dist/story/output.d.ts +1 -1
  247. package/dist/story/performance.d.ts +3 -12
  248. package/dist/story/presets.d.ts +3 -8
  249. package/dist/story/props-validation.d.ts +11 -1
  250. package/dist/story/renderer.d.ts +1 -1
  251. package/dist/story/search-index.d.ts +2 -2
  252. package/dist/story/search.d.ts +2 -2
  253. package/dist/story/server.d.ts +1 -1
  254. package/dist/story/setup.d.ts +1 -1
  255. package/dist/story/snapshots.d.ts +1 -1
  256. package/dist/story/testing.d.ts +1 -1
  257. package/dist/story/theme.d.ts +1 -1
  258. package/dist/story/types.d.ts +3 -12
  259. package/dist/story/ui/code-panel.d.ts +1 -1
  260. package/dist/story/ui/controls-panel.d.ts +1 -1
  261. package/dist/story/ui/index.d.ts +5 -1
  262. package/dist/story/ui/navigation.d.ts +1 -1
  263. package/dist/story/ui/preview.d.ts +1 -1
  264. package/dist/story/visual-testing.d.ts +1 -1
  265. package/dist/streaming.d.ts +0 -59
  266. package/dist/suspense.d.ts +1 -1
  267. package/dist/teleport.d.ts +1 -1
  268. package/dist/testing.d.ts +62 -80
  269. package/dist/transitions.d.ts +1 -1
  270. package/dist/type-checker.d.ts +2 -26
  271. package/dist/types/component-types.d.ts +3 -3
  272. package/dist/types/config-types.d.ts +15 -30
  273. package/dist/types/context-types.d.ts +6 -5
  274. package/dist/types/csp-types.d.ts +2 -2
  275. package/dist/types/directive-types.d.ts +5 -5
  276. package/dist/types/index.d.ts +21 -1
  277. package/dist/types/pwa-types.d.ts +1 -6
  278. package/dist/types.d.ts +28 -1
  279. package/dist/typescript-templates.d.ts +1 -34
  280. package/dist/utils.d.ts +2 -1
  281. package/dist/validator.d.ts +1 -1
  282. package/dist/variable-extractor.d.ts +1 -1
  283. package/dist/view-composers.d.ts +1 -1
  284. package/dist/virtual-scrolling.d.ts +4 -1
  285. package/dist/visual-editor.d.ts +2 -30
  286. package/dist/visual-testing.d.ts +4 -1
  287. package/dist/vue-template.d.ts +1 -1
  288. package/dist/web-components/css-scoping.d.ts +1 -1
  289. package/dist/web-components/index.d.ts +10 -1
  290. package/dist/web-components/reactive-generator.d.ts +1 -1
  291. package/dist/web-components.d.ts +1 -1
  292. package/dist/x-element.d.ts +13 -6
  293. package/package.json +4 -4
@@ -209,9 +209,7 @@ export declare interface VideoProps {
209
209
  /**
210
210
  * @video directive options
211
211
  */
212
- export declare interface VideoDirectiveOptions extends Omit<VideoProps, 'src'> {
213
-
214
- }
212
+ export declare interface VideoDirectiveOptions extends Omit<VideoProps, 'src'> {}
215
213
  /**
216
214
  * Video render result
217
215
  */
@@ -361,9 +359,7 @@ export declare interface ProtectedMediaProps {
361
359
  /**
362
360
  * @protected directive options
363
361
  */
364
- export declare interface ProtectedDirectiveOptions extends Omit<ProtectedMediaProps, 'src' | 'alt'> {
365
-
366
- }
362
+ export declare interface ProtectedDirectiveOptions extends Omit<ProtectedMediaProps, 'src' | 'alt'> {}
367
363
  /**
368
364
  * Media manager configuration
369
365
  */
@@ -544,17 +540,12 @@ export declare interface ArtDirectionConfig {
544
540
  export declare interface ImageTransformationConfig {
545
541
  type: ImageTransformation
546
542
  options?: {
547
- // Resize options
548
543
  width?: number
549
544
  height?: number
550
545
  fit?: ImageFit
551
- // Blur options
552
546
  sigma?: number
553
- // Sharpen options
554
547
  amount?: number
555
- // Rotation options
556
548
  angle?: number
557
- // Adjustment options
558
549
  value?: number
559
550
  }
560
551
  }
@@ -563,51 +554,33 @@ export declare interface ImageTransformationConfig {
563
554
  */
564
555
  export declare interface FormatQualitySettings {
565
556
  jpeg?: {
566
- /** Quality (1-100) */
567
557
  quality?: number
568
- /** Use MozJPEG encoder */
569
558
  mozjpeg?: boolean
570
- /** Chroma subsampling */
571
559
  chromaSubsampling?: '4:4:4' | '4:2:2' | '4:2:0'
572
- /** Progressive encoding */
573
560
  progressive?: boolean
574
- /** Optimize Huffman coding */
575
561
  optimizeCoding?: boolean
576
562
  }
577
563
  png?: {
578
- /** Quality (1-100) */
579
564
  quality?: number
580
- /** Compression level (0-9) */
581
565
  compressionLevel?: number
582
- /** Use palette mode */
583
566
  palette?: boolean
584
- /** Adaptive filtering */
585
567
  adaptiveFiltering?: boolean
586
- /** Progressive scan */
587
568
  progressive?: boolean
588
569
  }
589
570
  webp?: {
590
- /** Quality (1-100) */
591
571
  quality?: number
592
- /** Lossless encoding */
593
572
  lossless?: boolean
594
- /** Compression effort (0-6) */
595
573
  effort?: number
596
- /** Smart chroma subsampling */
597
574
  smartSubsample?: boolean
598
- /** Near-lossless mode (0-100) */
599
575
  nearLossless?: number
600
576
  }
601
577
  avif?: {
602
- /** Quality (1-100) */
603
578
  quality?: number
604
- /** Lossless encoding */
605
579
  lossless?: boolean
606
- /** Compression effort (0-9) */
607
580
  effort?: number
608
- /** Chroma subsampling */
609
581
  chromaSubsampling?: '4:4:4' | '4:2:2' | '4:2:0'
610
582
  }
583
+ [format: string]: Record<string, unknown> | undefined
611
584
  }
612
585
  /**
613
586
  * ts-images integration configuration
@@ -621,9 +594,7 @@ export declare interface TsImagesConfig {
621
594
  defaultFormats?: ImageFormat[]
622
595
  defaultQuality?: number
623
596
  batchOptions?: {
624
- /** Max concurrent processing */
625
597
  concurrency?: number
626
- /** Optimization preset */
627
598
  optimizationPreset?: ImageOptimizationPreset
628
599
  }
629
600
  placeholderStrategy?: string
@@ -654,19 +625,12 @@ export declare interface ProcessedImageResult {
654
625
  src: string
655
626
  processed: boolean
656
627
  variants?: Array<{
657
- /** Output path */
658
628
  path: string
659
- /** URL for srcset */
660
629
  url: string
661
- /** Width in pixels */
662
630
  width: number
663
- /** Height in pixels */
664
631
  height: number
665
- /** Output format */
666
632
  format: ImageFormat
667
- /** File size in bytes */
668
633
  size: number
669
- /** Device pixel ratio (for DPR-based srcsets) */
670
634
  dpr?: number
671
635
  }>
672
636
  placeholder?: string
@@ -772,33 +736,21 @@ export declare interface TsVideosConfig {
772
736
  baseUrl?: string
773
737
  defaultQuality?: VideoQualityPreset
774
738
  streaming?: {
775
- /** Enable streaming manifest generation */
776
739
  enabled: boolean
777
- /** Default format */
778
740
  format?: 'hls' | 'dash'
779
- /** Segment duration */
780
741
  segmentDuration?: number
781
- /** Default quality levels */
782
742
  defaultQualities?: StreamingQualityLevel[]
783
743
  }
784
744
  thumbnails?: {
785
- /** Enable thumbnail generation */
786
745
  enabled: boolean
787
- /** Number of thumbnails to generate */
788
746
  count?: number
789
- /** Interval between thumbnails in seconds */
790
747
  interval?: number
791
- /** Output format */
792
748
  format?: 'jpeg' | 'png' | 'webp'
793
- /** Thumbnail width */
794
749
  width?: number
795
750
  }
796
751
  transcoding?: {
797
- /** Default codec */
798
752
  defaultCodec?: VideoCodec
799
- /** Default audio codec */
800
753
  defaultAudioCodec?: AudioCodec
801
- /** Default speed preset */
802
754
  speedPreset?: TranscodeConfig['speedPreset']
803
755
  }
804
756
  }
@@ -928,14 +880,6 @@ export declare interface ProcessedVideoResult {
928
880
  hash?: string
929
881
  errors?: string[]
930
882
  }
931
- /**
932
- * STX Media Module Types
933
- *
934
- * Comprehensive type definitions for responsive images, video,
935
- * content protection, file upload, and media management.
936
- *
937
- * @module media/types
938
- */
939
883
  /**
940
884
  * Placeholder generation strategies for lazy loading
941
885
  */
@@ -944,15 +888,15 @@ export type PlaceholderStrategy = | 'blur' // Low-quality blurred image (LQIP)
944
888
  | 'blurhash' // Blurhash-based placeholder
945
889
  | 'pixelate' // Pixelated low-res version
946
890
  | 'dominant-color' // Solid dominant color
947
- | 'none'
891
+ | 'none' // No placeholder;
948
892
  /**
949
893
  * Supported image formats
950
894
  */
951
- export type ImageFormat = 'webp' | 'avif' | 'jpeg' | 'png' | 'gif'
895
+ export type ImageFormat = 'webp' | 'avif' | 'jpeg' | 'png' | 'gif';
952
896
  /**
953
897
  * Image fit modes (similar to CSS object-fit)
954
898
  */
955
- export type ImageFit = 'clip' | 'crop' | 'fill' | 'max' | 'min' | 'scale' | 'cover' | 'contain'
899
+ export type ImageFit = 'clip' | 'crop' | 'fill' | 'max' | 'min' | 'scale' | 'cover' | 'contain';
956
900
  /**
957
901
  * Image crop positions
958
902
  */
@@ -966,11 +910,11 @@ export type ImageCrop = | 'top'
966
910
  | 'bottom-left'
967
911
  | 'bottom-right'
968
912
  | 'faces' // AI face detection
969
- | 'entropy'
913
+ | 'entropy' // Maximum entropy region;
970
914
  /**
971
915
  * Video embed type
972
916
  */
973
- export type VideoEmbedType = 'video' | 'youtube' | 'vimeo' | 'dailymotion' | 'twitch'
917
+ export type VideoEmbedType = 'video' | 'youtube' | 'vimeo' | 'dailymotion' | 'twitch';
974
918
  /**
975
919
  * Plyr.js control options
976
920
  */
@@ -988,11 +932,11 @@ export type PlyrControl = | 'play-large'
988
932
  | 'settings'
989
933
  | 'pip'
990
934
  | 'airplay'
991
- | 'fullscreen'
935
+ | 'fullscreen';
992
936
  /**
993
937
  * Image optimization presets for ts-images
994
938
  */
995
- export type ImageOptimizationPreset = 'web' | 'quality' | 'performance'
939
+ export type ImageOptimizationPreset = 'web' | 'quality' | 'performance';
996
940
  /**
997
941
  * Image transformation types supported by ts-images
998
942
  */
@@ -1005,7 +949,7 @@ export type ImageTransformation = | 'resize'
1005
949
  | 'flop'
1006
950
  | 'brightness'
1007
951
  | 'contrast'
1008
- | 'saturation'
952
+ | 'saturation';
1009
953
  /**
1010
954
  * Watermark position options
1011
955
  */
@@ -1017,7 +961,7 @@ export type WatermarkPosition = | 'center'
1017
961
  | 'top-left'
1018
962
  | 'top-right'
1019
963
  | 'bottom-left'
1020
- | 'bottom-right'
964
+ | 'bottom-right';
1021
965
  /**
1022
966
  * Video quality presets
1023
967
  */
@@ -1026,7 +970,7 @@ export type VideoQualityPreset = | 'very-low'
1026
970
  | 'medium'
1027
971
  | 'high'
1028
972
  | 'very-high'
1029
- | 'lossless'
973
+ | 'lossless';
1030
974
  /**
1031
975
  * Platform-specific video presets
1032
976
  */
@@ -1040,12 +984,12 @@ export type VideoPlatformPreset = | 'youtube'
1040
984
  | 'linkedin'
1041
985
  | 'facebook'
1042
986
  | 'web-progressive'
1043
- | 'web-streaming'
987
+ | 'web-streaming';
1044
988
  /**
1045
989
  * Video codec options
1046
990
  */
1047
- export type VideoCodec = 'h264' | 'h265' | 'vp9' | 'av1'
991
+ export type VideoCodec = 'h264' | 'h265' | 'vp9' | 'av1';
1048
992
  /**
1049
993
  * Audio codec options
1050
994
  */
1051
- export type AudioCodec = 'aac' | 'opus' | 'mp3' | 'flac'
995
+ export type AudioCodec = 'aac' | 'opus' | 'mp3' | 'flac';
@@ -1,18 +1,4 @@
1
- import type { MediaUploadProps, } from '../types';
2
- /**
3
- * Render a file upload component
4
- *
5
- * @example
6
- * ```typescript
7
- * const html = renderMediaUpload({
8
- * endpoint: '/api/upload',
9
- * accept: 'image/*',
10
- * maxSize: 10 * 1024 * 1024, // 10MB
11
- * preview: true,
12
- * dropzone: true,
13
- * })
14
- * ```
15
- */
1
+ import type { MediaUploadProps } from '../types';
16
2
  /*',
17
3
  * maxSize: 10 * 1024 * 1024, // 10MB
18
4
  * preview: true,
@@ -20,4 +6,4 @@ import type { MediaUploadProps, } from '../types';
20
6
  * })
21
7
  * ```
22
8
  */
23
- export declare function renderMediaUpload(props: MediaUploadProps): { html: string; script: string; css: string };
9
+ export declare function renderMediaUpload(props: MediaUploadProps): { html: string; script: string; css: string };
@@ -1 +1,8 @@
1
- export { renderMediaUpload } from './component';
1
+ /**
2
+ * STX Media - Upload Module
3
+ *
4
+ * File upload components with validation and progress tracking.
5
+ *
6
+ * @module media/upload
7
+ */
8
+ export { renderMediaUpload } from './component';
@@ -6,4 +6,4 @@ export declare function createVideoDirective(): CustomDirective;
6
6
  /**
7
7
  * The @video directive instance
8
8
  */
9
- export declare const videoDirective: unknown;
9
+ export declare const videoDirective: unknown;
@@ -1,4 +1,4 @@
1
- import type { VideoProps, VideoRenderResult, EnhancedVideoProps, TsVideosConfig, ProcessedVideoResult, } from '../types';
1
+ import type { VideoProps, VideoRenderResult, EnhancedVideoProps, TsVideosConfig, ProcessedVideoResult } from '../types';
2
2
  /**
3
3
  * Render a video component
4
4
  *
@@ -44,4 +44,13 @@ export declare interface ExtendedVideoRenderContext {
44
44
  tsVideosConfig?: TsVideosConfig
45
45
  processedResult?: ProcessedVideoResult
46
46
  }
47
- export { createVideoDirective, videoDirective } from './directive';
47
+ declare type = : 'youtube' | 'vimeo' | 'dailymotion' | 'twitch',
48
+ props: VideoProps,
49
+ ): VideoRenderResult {;
50
+ /**
51
+ * Parse @video directive options
52
+ */
53
+ // =============================================================================
54
+ // Directive Exports
55
+ // =============================================================================
56
+ export { createVideoDirective, videoDirective } from './directive';
@@ -1,5 +1,5 @@
1
- import { } from '../../shared/cache';
2
- import type { EnhancedVideoProps, ProcessedVideoResult, TsVideosConfig, } from '../../types';
1
+ import { type CacheConfig } from '../../shared/cache';
2
+ import type { EnhancedVideoProps, ProcessedVideoResult, TsVideosConfig } from '../../types';
3
3
  /**
4
4
  * Get cached video processing result
5
5
  */
@@ -24,10 +24,9 @@ export declare interface VideoCacheConfig extends CacheConfig {
24
24
  * Video processor cache class
25
25
  */
26
26
  export declare class VideoProcessorCache {
27
- private config: VideoCacheConfig;
28
27
  constructor(config?: Partial<VideoCacheConfig>);
29
28
  get(src: string, options: Partial<EnhancedVideoProps>): Promise<ProcessedVideoResult | null>;
30
29
  set(src: string, options: Partial<EnhancedVideoProps>, result: ProcessedVideoResult): Promise<void>;
31
30
  clear(): Promise<void>;
32
31
  updateConfig(config: Partial<VideoCacheConfig>): void;
33
- }
32
+ }
@@ -1,3 +1,4 @@
1
+ // Re-export types for convenience
1
2
  export type {
2
3
  EnhancedVideoProps,
3
4
  ProcessedVideoResult,
@@ -15,7 +16,14 @@ export type {
15
16
  SpriteSheetConfig,
16
17
  WaveformConfig,
17
18
  } from '../../types';
19
+ /**
20
+ * STX Media - Video Processor
21
+ *
22
+ * Integration with ts-videos for build-time video processing.
23
+ *
24
+ * @module media/video/processor
25
+ */
18
26
  export { processVideo, analyzeVideo } from './transcoder';
19
27
  export { generatePoster, generateThumbnails, generateSpriteSheet } from './thumbnail';
20
28
  export { generateHLSManifest, generateDASHManifest } from './streaming';
21
- export { getCachedVideoResult, setCachedVideoResult, clearVideoCache, VideoProcessorCache } from './cache';
29
+ export { getCachedVideoResult, setCachedVideoResult, clearVideoCache, VideoProcessorCache } from './cache';
@@ -1,4 +1,4 @@
1
- import type { HLSResult, DASHResult, StreamingQualityLevel, } from '../../types';
1
+ import type { HLSResult, DASHResult, StreamingQualityLevel } from '../../types';
2
2
  /**
3
3
  * Generate HLS (HTTP Live Streaming) manifest and segments
4
4
  */
@@ -16,4 +16,4 @@ export declare function generateDASHManifest(src: string, qualities: StreamingQu
16
16
  /**
17
17
  * Default streaming quality levels
18
18
  */
19
- export declare const DEFAULT_STREAMING_QUALITIES: StreamingQualityLevel[];
19
+ export declare const DEFAULT_STREAMING_QUALITIES: StreamingQualityLevel[];
@@ -1,4 +1,4 @@
1
- import type { ThumbnailResult, PosterGenerationConfig, SpriteSheetConfig, } from '../../types';
1
+ import type { ThumbnailResult, PosterGenerationConfig, SpriteSheetConfig } from '../../types';
2
2
  /**
3
3
  * Generate poster/thumbnail from video at specific timestamp
4
4
  */
@@ -25,4 +25,4 @@ export declare function generateSpriteSheet(src: string, options: SpriteSheetCon
25
25
  thumbnailHeight: number
26
26
  interval: number
27
27
  totalFrames: number
28
- } | null>;
28
+ } | null>;
@@ -1,4 +1,4 @@
1
- import type { EnhancedVideoProps, ProcessedVideoResult, TsVideosConfig, } from '../../types';
1
+ import type { EnhancedVideoProps, ProcessedVideoResult, TsVideosConfig } from '../../types';
2
2
  /**
3
3
  * Analyze video to get metadata
4
4
  */
@@ -6,4 +6,4 @@ export declare function analyzeVideo(src: string): Promise<ProcessedVideoResult[
6
6
  /**
7
7
  * Process a video with ts-videos
8
8
  */
9
- export declare function processVideo(src: string, options: Partial<EnhancedVideoProps>, config: TsVideosConfig, onProgress?: (progress: { percentage: number; stage: string }) => void): Promise<ProcessedVideoResult>;
9
+ export declare function processVideo(src: string, options: Partial<EnhancedVideoProps>, config: TsVideosConfig, onProgress?: (progress: { percentage: number; stage: string }) => void): Promise<ProcessedVideoResult>;
@@ -10,4 +10,4 @@ export declare function processMethodDirectives(template: string): string;
10
10
  * Helper to get the original method from a request
11
11
  * For middleware implementations
12
12
  */
13
- export declare function getOriginalMethod(body: Record<string, any>, methodField?: string): string | null;
13
+ export declare function getOriginalMethod(body: Record<string, any>, methodField?: string): string | null;
@@ -49,4 +49,4 @@ export declare function runPreProcessingMiddleware(template: string, context: Re
49
49
  * @param options - STX processing options
50
50
  * @returns The post-processed template string
51
51
  */
52
- export declare function runPostProcessingMiddleware(template: string, context: Record<string, any>, filePath: string, options: StxOptions): Promise<string>;
52
+ export declare function runPostProcessingMiddleware(template: string, context: Record<string, any>, filePath: string, options: StxOptions): Promise<string>;
@@ -32,11 +32,8 @@ export declare interface NativeBuildConfig {
32
32
  fullscreen?: boolean
33
33
  }
34
34
  sidebar?: {
35
- /** Enable native macOS sidebar */
36
35
  enabled?: boolean
37
- /** Sidebar width in pixels */
38
36
  width?: number
39
- /** Sidebar sections and items */
40
37
  config?: {
41
38
  sections: Array<{
42
39
  id: string
@@ -69,6 +66,6 @@ export declare interface NativeBuildResult {
69
66
  error?: string
70
67
  duration?: number
71
68
  }
72
- export type NativeTarget = 'macos' | 'windows' | 'linux' | 'ios' | 'android'
73
- export type NativeFormat = 'app' | 'dmg' | 'pkg' | 'msi' | 'zip' | 'deb' | 'rpm' | 'appimage' | 'ipa' | 'apk'
74
- export default nativeBuild;
69
+ export type NativeTarget = 'macos' | 'windows' | 'linux' | 'ios' | 'android';
70
+ export type NativeFormat = 'app' | 'dmg' | 'pkg' | 'msi' | 'zip' | 'deb' | 'rpm' | 'appimage' | 'ipa' | 'apk';
71
+ export default nativeBuild;
@@ -76,4 +76,4 @@ export declare interface ParsedSwitch {
76
76
  cases: SwitchCase[]
77
77
  start: number
78
78
  end: number
79
- }
79
+ }
@@ -56,4 +56,5 @@ export declare interface ScriptDeclaration {
56
56
  start: number
57
57
  end: number
58
58
  }
59
- export { extractBalancedExpression, findMatchingDelimiter, splitByPipe, Tokenizer };
59
+ // Re-export tokenizer utilities
60
+ export { extractBalancedExpression, findMatchingDelimiter, splitByPipe, Tokenizer };
@@ -1,3 +1,13 @@
1
+ /**
2
+ * Parser Module
3
+ *
4
+ * Provides tokenization and expression parsing utilities for the stx framework.
5
+ * This module replaces regex-based parsing with proper tokenization for better
6
+ * handling of nested structures, strings, and template expressions.
7
+ *
8
+ * @module parser
9
+ */
10
+ // Directive parser
1
11
  export {
2
12
  type ConditionalBranch,
3
13
  type DirectiveMatch,
@@ -11,6 +21,7 @@ export {
11
21
  parseSwitchBlock,
12
22
  type SwitchCase,
13
23
  } from './directive-parser';
24
+ // Expression parser
14
25
  export {
15
26
  type ExpressionMatch,
16
27
  extractDirectiveParams,
@@ -22,14 +33,16 @@ export {
22
33
  parseScriptDeclarations,
23
34
  type ScriptDeclaration,
24
35
  } from './expression-parser';
36
+ // Tokenizer
25
37
  export {
26
38
  type Token,
27
39
  Tokenizer,
28
40
  type TokenizerState,
29
41
  type TokenType,
30
42
  } from './tokenizer';
43
+ // Expression parsing utilities
31
44
  export {
32
45
  extractBalancedExpression,
33
46
  findMatchingDelimiter,
34
47
  splitByPipe,
35
- } from './tokenizer';
48
+ } from './tokenizer';
@@ -53,29 +53,13 @@ export type TokenType = | 'STRING' // 'string' or "string"
53
53
  | 'RAW_START' // {!!
54
54
  | 'RAW_END' // !!}
55
55
  | 'DIRECTIVE' // @name
56
- | 'EOF'
56
+ | 'EOF';
57
57
  /**
58
58
  * Tokenizer for template expressions
59
59
  */
60
60
  export declare class Tokenizer {
61
- private source: string;
62
- private pos: number;
63
- private line: number;
64
- private column: number;
65
- private tokens: Token[];
66
61
  constructor(source: string);
67
62
  tokenize(): Token[];
68
- private nextToken(): Token | null;
69
- private readWhitespace(start: number, startLine: number, startColumn: number): Token;
70
- private readLineComment(start: number, startLine: number, startColumn: number): Token;
71
- private readBlockComment(start: number, startLine: number, startColumn: number): Token;
72
- private readString(quote: string, start: number, startLine: number, startColumn: number): Token;
73
- private readTemplateString(start: number, startLine: number, startColumn: number): Token;
74
- private readNumber(start: number, startLine: number, startColumn: number): Token;
75
- private readIdentifier(start: number, startLine: number, startColumn: number): Token;
76
- private readDirective(start: number, startLine: number, startColumn: number): Token;
77
- private advance(count?: number): void;
78
- private peek(offset: number): string | undefined;
79
63
  saveState(): TokenizerState;
80
64
  restoreState(state: TokenizerState): void;
81
- }
65
+ }
@@ -2,10 +2,6 @@
2
2
  * Create a registry for managing island components
3
3
  */
4
4
  export declare function createIslandRegistry(): IslandRegistry;
5
- /**
6
- * Process all partial hydration directives
7
- */
8
- export declare function processPartialHydrationDirectives(template: string, context?: Record<string, unknown>, _filePath?: string): string;
9
5
  /**
10
6
  * Generate CSS for partial hydration
11
7
  */
@@ -73,7 +69,10 @@ export type HydrationStrategy = | 'load'
73
69
  | 'media'
74
70
  | 'only'
75
71
  | 'hover'
76
- | 'event'
72
+ | 'event';
73
+ // ============================================================================
74
+ // Exports
75
+ // ============================================================================
77
76
  export default {
78
77
  processPartialHydrationDirectives,
79
78
  processStaticDirectives,
@@ -85,4 +84,4 @@ export default {
85
84
  hydrateAll,
86
85
  isHydrated,
87
86
  onHydrated,
88
- };
87
+ };
@@ -34,7 +34,7 @@ export declare function throttle<T extends (...args: any[]) => any>(func: T, del
34
34
  /**
35
35
  * Memoize function results to avoid repeated calculations
36
36
  */
37
- export declare function memoize<T extends (...args: any[]) => any>(func: T, maxCacheSize?: any): T;
37
+ export declare function memoize<T extends (...args: any[]) => any>(func: T, maxCacheSize?: number): T;
38
38
  /**
39
39
  * Optimized string replacement that reuses regex patterns with case-preserving support
40
40
  */
@@ -126,7 +126,7 @@ export declare interface BudgetViolation {
126
126
  /**
127
127
  * Performance budget violation handler type
128
128
  */
129
- export type BudgetViolationHandler = (violation: BudgetViolation) => void
129
+ export type BudgetViolationHandler = (violation: BudgetViolation) => void;
130
130
  /**
131
131
  * Performance optimization utilities for stx
132
132
  */
@@ -135,14 +135,13 @@ export type BudgetViolationHandler = (violation: BudgetViolation) => void
135
135
  * Automatically evicts least recently used items when capacity is reached
136
136
  */
137
137
  export declare class LRUCache<K, V> {
138
- private cache: any;
139
- readonly private maxSize: number;
140
138
  constructor(maxSize?: number);
141
139
  get(key: K): V | undefined;
142
140
  set(key: K, value: V): void;
143
141
  has(key: K): boolean;
144
142
  delete(key: K): boolean;
145
143
  clear(): void;
144
+ get size(): number;
146
145
  keys(): IterableIterator<K>;
147
146
  values(): IterableIterator<V>;
148
147
  }
@@ -150,10 +149,7 @@ export declare class LRUCache<K, V> {
150
149
  * Cache for template processing results
151
150
  */
152
151
  export declare class TemplateCache {
153
- private cache: any;
154
- private maxSize: number;
155
- private ttl: number;
156
- constructor(maxSize?: any, ttl?: number);
152
+ constructor(maxSize?: number, ttl?: number);
157
153
  get(key: string): string | null;
158
154
  set(key: string, result: string, dependencies?: Set<string>): void;
159
155
  invalidateDependency(filePath: string): number;
@@ -164,8 +160,6 @@ export declare class TemplateCache {
164
160
  * Pool of worker contexts to avoid creating new Function instances
165
161
  */
166
162
  declare class ExpressionEvaluatorPool {
167
- private pool: Array<{ func: (...args: any[]) => any, context: string[] }>;
168
- private maxPoolSize: any;
169
163
  getEvaluator(contextKeys: string[]): (...args: any[]) => any;
170
164
  clear(): void;
171
165
  }
@@ -173,12 +167,6 @@ declare class ExpressionEvaluatorPool {
173
167
  * Performance monitor for tracking processing times with budget support
174
168
  */
175
169
  export declare class PerformanceMonitor {
176
- private metrics: any;
177
- private budgets: any;
178
- private violations: BudgetViolation[];
179
- private maxViolations: any;
180
- private violationHandlers: BudgetViolationHandler[];
181
- private enabled: any;
182
170
  setEnabled(enabled: boolean): void;
183
171
  isEnabled(): boolean;
184
172
  setBudget(label: string, budget: PerformanceBudget): void;
@@ -189,7 +177,6 @@ export declare class PerformanceMonitor {
189
177
  offViolation(handler: BudgetViolationHandler): void;
190
178
  time<T>(label: string, fn: () => T): T;
191
179
  timeAsync<T>(label: string, fn: () => Promise<T>): Promise<T>;
192
- private checkBudget(label: string, duration: number): void;
193
180
  recordTime(label: string, duration: number): void;
194
181
  getStats(label?: string): Record<string, any>;
195
182
  getViolations(label?: string): BudgetViolation[];
@@ -198,4 +185,4 @@ export declare class PerformanceMonitor {
198
185
  clearViolations(): void;
199
186
  clearBudgets(): void;
200
187
  reset(): void;
201
- }
188
+ }
@@ -100,14 +100,11 @@ export type DirectivePhase = | 'comments'
100
100
  | 'i18n'
101
101
  | 'a11y'
102
102
  | 'seo'
103
- | 'expressions'
103
+ | 'expressions';
104
104
  /**
105
105
  * Plugin manager that handles registration, lifecycle, and execution
106
106
  */
107
107
  export declare class PluginManager {
108
- private plugins: Map<string, StxPlugin>;
109
- private sortedPlugins: StxPlugin[];
110
- private initialized: any;
111
108
  register(plugin: StxPlugin, options: StxOptions): Promise<void>;
112
109
  unregister(name: string): Promise<boolean>;
113
110
  get(name: string): StxPlugin | undefined;
@@ -122,7 +119,4 @@ export declare class PluginManager {
122
119
  runBeforeRender(ctx: PluginContext): Promise<PluginContext>;
123
120
  runAfterRender(ctx: PluginContext): Promise<PluginContext>;
124
121
  runOnError(ctx: PluginErrorContext): Promise<PluginContext | null>;
125
- private sortPlugins(): void;
126
- private runHooks(hookName: 'beforeProcess' | 'afterParse' | 'beforeRender' | 'afterRender', ctx: PluginContext): Promise<PluginContext>;
127
- private runDirectiveHooks(hookName: 'beforeDirective' | 'afterDirective', phase: DirectivePhase, ctx: PluginContext): Promise<PluginContext>;
128
- }
122
+ }
package/dist/plugin.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import type { BunPlugin } from 'bun';
2
2
  export declare const plugin: BunPlugin;
3
- export default plugin;
3
+ export default plugin;