@codingfactory/mediables-vue 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. package/dist/PixiFrameExporter-BTU38EVl.cjs +2 -0
  2. package/dist/PixiFrameExporter-BTU38EVl.cjs.map +1 -0
  3. package/dist/PixiFrameExporter-Bb3QNWP-.js +199 -0
  4. package/dist/PixiFrameExporter-Bb3QNWP-.js.map +1 -0
  5. package/dist/adapters/MediablesAdapter.d.ts +19 -0
  6. package/dist/adapters/SpatieAdapter.d.ts +18 -0
  7. package/dist/adapters/index.d.ts +18 -0
  8. package/dist/components/AdminMediaBrowser.vue.d.ts +11 -0
  9. package/dist/components/AdminMediaBrowserExample.vue.d.ts +2 -0
  10. package/dist/components/AdminMediaBulkActionsToolbar.vue.d.ts +2 -0
  11. package/dist/components/AdminMediaGrid.vue.d.ts +17 -0
  12. package/dist/components/AdminMediaListItem.vue.d.ts +10 -0
  13. package/dist/components/AdminMediaManager.vue.d.ts +25 -0
  14. package/dist/components/AdminMediaUploader.vue.d.ts +11 -0
  15. package/dist/components/AlbumBrowser.vue.d.ts +17 -0
  16. package/dist/components/AlbumManager.vue.d.ts +16 -0
  17. package/dist/components/AlbumMediaGrid.vue.d.ts +28 -0
  18. package/dist/components/AlbumTree.vue.d.ts +35 -0
  19. package/dist/components/BulkActionsToolbar.vue.d.ts +2 -0
  20. package/dist/components/ConversionProgressIndicator.vue.d.ts +2 -0
  21. package/dist/components/Editor.vue.d.ts +29 -0
  22. package/dist/components/ExampleGridAndList.vue.d.ts +2 -0
  23. package/dist/components/ExampleUsage.vue.d.ts +2 -0
  24. package/dist/components/Grid.vue.d.ts +2 -0
  25. package/dist/components/ImageEditor/ImageEditor.vue.d.ts +3 -0
  26. package/dist/components/ImageEditorModal.vue.d.ts +16 -0
  27. package/dist/components/ImagePicker.vue.d.ts +32 -0
  28. package/dist/components/ImageUploadZone.vue.d.ts +7 -0
  29. package/dist/components/Item.vue.d.ts +2 -0
  30. package/dist/components/Library.vue.d.ts +2 -0
  31. package/dist/components/ManagedMediaGallery.vue.d.ts +12 -0
  32. package/dist/components/MediaAttacher.vue.d.ts +21 -0
  33. package/dist/components/MediaBrowser.vue.d.ts +2 -0
  34. package/dist/components/MediaCard.vue.d.ts +2 -0
  35. package/dist/components/MediaFilters.vue.d.ts +2 -0
  36. package/dist/components/MediaGrid.vue.d.ts +31 -0
  37. package/dist/components/MediaInfoEditor.vue.d.ts +7 -0
  38. package/dist/components/MediaManager.vue.d.ts +2 -0
  39. package/dist/components/MediaUploadWithProgress.vue.d.ts +2 -0
  40. package/dist/components/MediaUploader.vue.d.ts +2 -0
  41. package/dist/components/MediaWorkspace.vue.d.ts +19 -0
  42. package/dist/components/Modal.vue.d.ts +2 -0
  43. package/dist/components/ModelMediaManager.vue.d.ts +80 -0
  44. package/dist/components/Pagination.vue.d.ts +2 -0
  45. package/dist/components/Search.vue.d.ts +2 -0
  46. package/dist/components/VideoEditorSimple.vue.d.ts +2 -0
  47. package/dist/components/VideoExportPanel.vue.d.ts +2 -0
  48. package/dist/components/VideoTimeline.vue.d.ts +2 -0
  49. package/dist/components/VideoTimelineSimple.vue.d.ts +2 -0
  50. package/dist/components/VideoToolsPanel.vue.d.ts +2 -0
  51. package/dist/components/albums/AlbumTreeNode.vue.d.ts +23 -0
  52. package/dist/components/attachment/MediaAttachment.vue.d.ts +23 -0
  53. package/dist/components/attachment/index.d.ts +4 -0
  54. package/dist/components/collection/MediaCollection.vue.d.ts +27 -0
  55. package/dist/components/collection/MediaCollectionDropzone.vue.d.ts +18 -0
  56. package/dist/components/collection/MediaCollectionItem.vue.d.ts +2 -0
  57. package/dist/components/collection/index.d.ts +6 -0
  58. package/dist/components/form/MediaHiddenFields.vue.d.ts +2 -0
  59. package/dist/components/form/index.d.ts +4 -0
  60. package/dist/components/image/ImageEditor.vue.d.ts +2 -0
  61. package/dist/components/image/ImageItem.vue.d.ts +2 -0
  62. package/dist/components/renderless/MediaAttachmentProvider.vue.d.ts +12 -0
  63. package/dist/components/renderless/MediaCollectionProvider.vue.d.ts +12 -0
  64. package/dist/components/renderless/index.d.ts +7 -0
  65. package/dist/components/timeline/TimeRuler.vue.d.ts +2 -0
  66. package/dist/components/timeline/VideoTrack.vue.d.ts +2 -0
  67. package/dist/components/tools/VideoFiltersPanel.vue.d.ts +7 -0
  68. package/dist/components/tools/VideoTextPanel.vue.d.ts +2 -0
  69. package/dist/components/video/AudioTrackManager.vue.d.ts +2 -0
  70. package/dist/components/video/EditorControls.vue.d.ts +2 -0
  71. package/dist/components/video/ExportPanel.vue.d.ts +2 -0
  72. package/dist/components/video/FilterSelector.vue.d.ts +2 -0
  73. package/dist/components/video/LiveStreamManager.vue.d.ts +2 -0
  74. package/dist/components/video/StreamCredentials.vue.d.ts +2 -0
  75. package/dist/components/video/StreamStatus.vue.d.ts +2 -0
  76. package/dist/components/video/TextOverlayPanel.vue.d.ts +2 -0
  77. package/dist/components/video/ThumbnailPicker.vue.d.ts +2 -0
  78. package/dist/components/video/TimelineClip.vue.d.ts +2 -0
  79. package/dist/components/video/TimelineControls.vue.d.ts +2 -0
  80. package/dist/components/video/TransitionSelector.vue.d.ts +2 -0
  81. package/dist/components/video/VideoControls.vue.d.ts +2 -0
  82. package/dist/components/video/VideoEditor.vue.d.ts +8 -0
  83. package/dist/components/video/VideoEditorDialog.vue.d.ts +12 -0
  84. package/dist/components/video/VideoFilterCarousel.vue.d.ts +2 -0
  85. package/dist/components/video/VideoFilterPreview.vue.d.ts +18 -0
  86. package/dist/components/video/VideoPlayer.vue.d.ts +2 -0
  87. package/dist/components/video/VideoPreview.vue.d.ts +3 -0
  88. package/dist/components/video/VideoPreviewCSS.vue.d.ts +2 -0
  89. package/dist/components/video/VideoPreviewEngine.vue.d.ts +3 -0
  90. package/dist/components/video/VideoTimeline.vue.d.ts +2 -0
  91. package/dist/components/video/VideoUploadProgress.vue.d.ts +2 -0
  92. package/dist/components/video/VideoUploader.vue.d.ts +29 -0
  93. package/dist/components/video/index.d.ts +19 -0
  94. package/dist/composables/useAccordion.d.ts +138 -0
  95. package/dist/composables/useAlbumDragDrop.d.ts +24 -0
  96. package/dist/composables/useAlbums.d.ts +17 -0
  97. package/dist/composables/useFloatingPills.d.ts +111 -0
  98. package/dist/composables/useHaptic.d.ts +10 -0
  99. package/dist/composables/useImageEditorModal.d.ts +277 -0
  100. package/dist/composables/useLiveStream.d.ts +66 -0
  101. package/dist/composables/useMediaAttachment.d.ts +105 -0
  102. package/dist/composables/useMediaCollection.d.ts +122 -0
  103. package/dist/composables/useMediaConversionProgress.d.ts +31 -0
  104. package/dist/composables/useMediaDragSort.d.ts +56 -0
  105. package/dist/composables/useMediaSelection.d.ts +27 -0
  106. package/dist/composables/useMediaUploadQueue.d.ts +61 -0
  107. package/dist/composables/useMediaValidation.d.ts +59 -0
  108. package/dist/composables/useRadialMenu.d.ts +116 -0
  109. package/dist/composables/useSanctumClient.d.ts +31 -0
  110. package/dist/composables/useTheme.d.ts +7 -0
  111. package/dist/composables/useToast.d.ts +25 -0
  112. package/dist/composables/useVideoEditor.d.ts +127 -0
  113. package/dist/composables/useVideoFilters.d.ts +176 -0
  114. package/dist/composables/useVideoPlayer.d.ts +50 -0
  115. package/dist/composables/useVideoUpload.d.ts +134 -0
  116. package/dist/filters/controlMapping.d.ts +31 -0
  117. package/dist/filters/css-registry.d.ts +83 -0
  118. package/dist/filters/definitions/adjustment.d.ts +2 -0
  119. package/dist/filters/definitions/adjustmentAdvanced.d.ts +2 -0
  120. package/dist/filters/definitions/advancedBloom.d.ts +2 -0
  121. package/dist/filters/definitions/alpha.d.ts +2 -0
  122. package/dist/filters/definitions/ascii.d.ts +2 -0
  123. package/dist/filters/definitions/backdropBlur.d.ts +2 -0
  124. package/dist/filters/definitions/bevel.d.ts +2 -0
  125. package/dist/filters/definitions/bloom.d.ts +2 -0
  126. package/dist/filters/definitions/blur.d.ts +2 -0
  127. package/dist/filters/definitions/bulgePinch.d.ts +2 -0
  128. package/dist/filters/definitions/colorGradient.d.ts +2 -0
  129. package/dist/filters/definitions/colorMap.d.ts +2 -0
  130. package/dist/filters/definitions/colorMatrix.d.ts +2 -0
  131. package/dist/filters/definitions/colorOverlay.d.ts +2 -0
  132. package/dist/filters/definitions/colorReplace.d.ts +2 -0
  133. package/dist/filters/definitions/convolution.d.ts +2 -0
  134. package/dist/filters/definitions/crossHatch.d.ts +2 -0
  135. package/dist/filters/definitions/crt.d.ts +2 -0
  136. package/dist/filters/definitions/displacement.d.ts +2 -0
  137. package/dist/filters/definitions/dot.d.ts +2 -0
  138. package/dist/filters/definitions/dropShadow.d.ts +2 -0
  139. package/dist/filters/definitions/emboss.d.ts +2 -0
  140. package/dist/filters/definitions/glitch.d.ts +2 -0
  141. package/dist/filters/definitions/glow.d.ts +2 -0
  142. package/dist/filters/definitions/godray.d.ts +2 -0
  143. package/dist/filters/definitions/grayscale.d.ts +2 -0
  144. package/dist/filters/definitions/hslAdjustment.d.ts +2 -0
  145. package/dist/filters/definitions/kawaseBlur.d.ts +2 -0
  146. package/dist/filters/definitions/lightmap.d.ts +2 -0
  147. package/dist/filters/definitions/motionBlur.d.ts +2 -0
  148. package/dist/filters/definitions/multiColorReplace.d.ts +2 -0
  149. package/dist/filters/definitions/noise.d.ts +2 -0
  150. package/dist/filters/definitions/oldFilm.d.ts +2 -0
  151. package/dist/filters/definitions/outline.d.ts +2 -0
  152. package/dist/filters/definitions/pixelate.d.ts +2 -0
  153. package/dist/filters/definitions/radialBlur.d.ts +2 -0
  154. package/dist/filters/definitions/reflection.d.ts +2 -0
  155. package/dist/filters/definitions/rgbSplit.d.ts +2 -0
  156. package/dist/filters/definitions/shockwave.d.ts +2 -0
  157. package/dist/filters/definitions/simplexNoise.d.ts +2 -0
  158. package/dist/filters/definitions/tiltShift.d.ts +2 -0
  159. package/dist/filters/definitions/twist.d.ts +2 -0
  160. package/dist/filters/definitions/vignette.d.ts +2 -0
  161. package/dist/filters/definitions/zoomBlur.d.ts +2 -0
  162. package/dist/filters/factory.d.ts +38 -0
  163. package/dist/filters/filters/controlMapping.d.ts +31 -0
  164. package/dist/filters/filters/definitions/adjustment.d.ts +2 -0
  165. package/dist/filters/filters/definitions/adjustmentAdvanced.d.ts +2 -0
  166. package/dist/filters/filters/definitions/advancedBloom.d.ts +2 -0
  167. package/dist/filters/filters/definitions/alpha.d.ts +2 -0
  168. package/dist/filters/filters/definitions/ascii.d.ts +2 -0
  169. package/dist/filters/filters/definitions/backdropBlur.d.ts +2 -0
  170. package/dist/filters/filters/definitions/bevel.d.ts +2 -0
  171. package/dist/filters/filters/definitions/bloom.d.ts +2 -0
  172. package/dist/filters/filters/definitions/blur.d.ts +2 -0
  173. package/dist/filters/filters/definitions/bulgePinch.d.ts +2 -0
  174. package/dist/filters/filters/definitions/colorGradient.d.ts +2 -0
  175. package/dist/filters/filters/definitions/colorMap.d.ts +2 -0
  176. package/dist/filters/filters/definitions/colorMatrix.d.ts +2 -0
  177. package/dist/filters/filters/definitions/colorOverlay.d.ts +2 -0
  178. package/dist/filters/filters/definitions/colorReplace.d.ts +2 -0
  179. package/dist/filters/filters/definitions/convolution.d.ts +2 -0
  180. package/dist/filters/filters/definitions/crossHatch.d.ts +2 -0
  181. package/dist/filters/filters/definitions/crt.d.ts +2 -0
  182. package/dist/filters/filters/definitions/displacement.d.ts +2 -0
  183. package/dist/filters/filters/definitions/dot.d.ts +2 -0
  184. package/dist/filters/filters/definitions/dropShadow.d.ts +2 -0
  185. package/dist/filters/filters/definitions/emboss.d.ts +2 -0
  186. package/dist/filters/filters/definitions/glitch.d.ts +2 -0
  187. package/dist/filters/filters/definitions/glow.d.ts +2 -0
  188. package/dist/filters/filters/definitions/godray.d.ts +2 -0
  189. package/dist/filters/filters/definitions/grayscale.d.ts +2 -0
  190. package/dist/filters/filters/definitions/hslAdjustment.d.ts +2 -0
  191. package/dist/filters/filters/definitions/kawaseBlur.d.ts +2 -0
  192. package/dist/filters/filters/definitions/lightmap.d.ts +2 -0
  193. package/dist/filters/filters/definitions/motionBlur.d.ts +2 -0
  194. package/dist/filters/filters/definitions/multiColorReplace.d.ts +2 -0
  195. package/dist/filters/filters/definitions/noise.d.ts +2 -0
  196. package/dist/filters/filters/definitions/oldFilm.d.ts +2 -0
  197. package/dist/filters/filters/definitions/outline.d.ts +2 -0
  198. package/dist/filters/filters/definitions/pixelate.d.ts +2 -0
  199. package/dist/filters/filters/definitions/radialBlur.d.ts +2 -0
  200. package/dist/filters/filters/definitions/reflection.d.ts +2 -0
  201. package/dist/filters/filters/definitions/rgbSplit.d.ts +2 -0
  202. package/dist/filters/filters/definitions/shockwave.d.ts +2 -0
  203. package/dist/filters/filters/definitions/simplexNoise.d.ts +2 -0
  204. package/dist/filters/filters/definitions/tiltShift.d.ts +2 -0
  205. package/dist/filters/filters/definitions/twist.d.ts +2 -0
  206. package/dist/filters/filters/definitions/vignette.d.ts +2 -0
  207. package/dist/filters/filters/definitions/zoomBlur.d.ts +2 -0
  208. package/dist/filters/filters/factory.d.ts +36 -0
  209. package/dist/filters/filters/index.d.ts +93 -0
  210. package/dist/filters/filters/registry.d.ts +89 -0
  211. package/dist/filters/index.d.ts +93 -0
  212. package/dist/filters/registry.d.ts +89 -0
  213. package/dist/filters/video-compatible.d.ts +77 -0
  214. package/dist/filters/video-css-filters.d.ts +153 -0
  215. package/dist/index-6yUGA--H.cjs +42 -0
  216. package/dist/index-6yUGA--H.cjs.map +1 -0
  217. package/dist/index-CcGWfCCV.js +7799 -0
  218. package/dist/index-CcGWfCCV.js.map +1 -0
  219. package/dist/index-DTUgsw7J.cjs +76 -0
  220. package/dist/index-DTUgsw7J.cjs.map +1 -0
  221. package/dist/index-VrUG0lmk.js +28655 -0
  222. package/dist/index-VrUG0lmk.js.map +1 -0
  223. package/dist/index.d.ts +62 -0
  224. package/dist/js/workers/material-color-extractor.js +215 -0
  225. package/dist/mediables-vanilla.cjs +2 -0
  226. package/dist/mediables-vanilla.cjs.map +1 -0
  227. package/dist/mediables-vanilla.mjs +12 -0
  228. package/dist/mediables-vanilla.mjs.map +1 -0
  229. package/dist/mediables-vue.cjs +2 -0
  230. package/dist/mediables-vue.cjs.map +1 -0
  231. package/dist/mediables-vue.mjs +67 -0
  232. package/dist/mediables-vue.mjs.map +1 -0
  233. package/dist/render-page/assets/index-hBfvGPpt.js +48933 -0
  234. package/dist/render-page/index.html +18 -0
  235. package/dist/services/VideoJobClient.d.ts +79 -0
  236. package/dist/stores/albumStore.d.ts +4 -0
  237. package/dist/stores/mediaVariantStore.d.ts +1 -0
  238. package/dist/stores/useAdminMediaStore.d.ts +16 -0
  239. package/dist/stores/useMediaStore.d.ts +25 -0
  240. package/dist/stores/useVideoStore.d.ts +21 -0
  241. package/dist/stores/variantPollStore.d.ts +5 -0
  242. package/dist/stores/video.d.ts +1 -0
  243. package/dist/style.css +1 -0
  244. package/dist/types/adapter.d.ts +181 -0
  245. package/dist/types/album.d.ts +28 -0
  246. package/dist/types/api.d.ts +88 -0
  247. package/dist/types/collection.d.ts +306 -0
  248. package/dist/types/editor.d.ts +172 -0
  249. package/dist/types/image.d.ts +210 -0
  250. package/dist/types/index.d.ts +5 -0
  251. package/dist/types/media.d.ts +107 -0
  252. package/dist/types/types/address.d.ts +66 -0
  253. package/dist/types/types/admin/intelligent-po.d.ts +47 -0
  254. package/dist/types/types/admin/products/index.d.ts +17 -0
  255. package/dist/types/types/admin/purchase-order.d.ts +50 -0
  256. package/dist/types/types/admin/receipt.d.ts +86 -0
  257. package/dist/types/types/admin/vendor.d.ts +61 -0
  258. package/dist/types/types/ai.d.ts +63 -0
  259. package/dist/types/types/aiActions.d.ts +42 -0
  260. package/dist/types/types/aiDesigner.d.ts +77 -0
  261. package/dist/types/types/api-errors.d.ts +6 -0
  262. package/dist/types/types/api.d.ts +109 -0
  263. package/dist/types/types/bundle.d.ts +131 -0
  264. package/dist/types/types/bundles/analytics.d.ts +64 -0
  265. package/dist/types/types/bundles.d.ts +108 -0
  266. package/dist/types/types/cart.d.ts +81 -0
  267. package/dist/types/types/checkout.d.ts +40 -0
  268. package/dist/types/types/component-config.d.ts +26 -0
  269. package/dist/types/types/components.d.ts +32 -0
  270. package/dist/types/types/content.d.ts +138 -0
  271. package/dist/types/types/coupon.d.ts +32 -0
  272. package/dist/types/types/customer-product-history.d.ts +210 -0
  273. package/dist/types/types/drag-contracts.d.ts +40 -0
  274. package/dist/types/types/drag-drop.d.ts +19 -0
  275. package/dist/types/types/editor.d.ts +127 -0
  276. package/dist/types/types/errors.d.ts +36 -0
  277. package/dist/types/types/feedback.d.ts +122 -0
  278. package/dist/types/types/image.d.ts +210 -0
  279. package/dist/types/types/index.d.ts +62 -0
  280. package/dist/types/types/instagram.d.ts +86 -0
  281. package/dist/types/types/ionic-components.d.ts +152 -0
  282. package/dist/types/types/layout.d.ts +127 -0
  283. package/dist/types/types/media-gateway.d.ts +34 -0
  284. package/dist/types/types/media.d.ts +178 -0
  285. package/dist/types/types/notifications.d.ts +123 -0
  286. package/dist/types/types/order-management.d.ts +245 -0
  287. package/dist/types/types/pageBuilder/block.d.ts +34 -0
  288. package/dist/types/types/pageBuilder/blocks.d.ts +82 -0
  289. package/dist/types/types/pageBuilder/cache.d.ts +33 -0
  290. package/dist/types/types/pageBuilder/editor.d.ts +15 -0
  291. package/dist/types/types/pageBuilder/field.d.ts +11 -0
  292. package/dist/types/types/pageBuilder/index.d.ts +24 -0
  293. package/dist/types/types/pageBuilder/revisions.d.ts +40 -0
  294. package/dist/types/types/pageBuilder/templates.d.ts +62 -0
  295. package/dist/types/types/pattern.d.ts +40 -0
  296. package/dist/types/types/payment.d.ts +21 -0
  297. package/dist/types/types/payments.d.ts +10 -0
  298. package/dist/types/types/pipeline.d.ts +12 -0
  299. package/dist/types/types/pixi/filter-args.d.ts +274 -0
  300. package/dist/types/types/pixi/filters-extended.d.ts +157 -0
  301. package/dist/types/types/pixi/filters.d.ts +38 -0
  302. package/dist/types/types/preview.d.ts +36 -0
  303. package/dist/types/types/pricing.d.ts +31 -0
  304. package/dist/types/types/quickbooks.d.ts +43 -0
  305. package/dist/types/types/receipt.d.ts +121 -0
  306. package/dist/types/types/rewards.d.ts +110 -0
  307. package/dist/types/types/saved-cart.d.ts +51 -0
  308. package/dist/types/types/settings.d.ts +63 -0
  309. package/dist/types/types/shipment.d.ts +62 -0
  310. package/dist/types/types/shipping.d.ts +98 -0
  311. package/dist/types/types/sidebar-variations.d.ts +226 -0
  312. package/dist/types/types/slots.d.ts +2 -0
  313. package/dist/types/types/specification-types.d.ts +70 -0
  314. package/dist/types/types/specifications.d.ts +163 -0
  315. package/dist/types/types/store.d.ts +64 -0
  316. package/dist/types/types/template.d.ts +8 -0
  317. package/dist/types/types/user.d.ts +47 -0
  318. package/dist/types/types/variant-groups.d.ts +158 -0
  319. package/dist/types/types/wishlist.d.ts +73 -0
  320. package/dist/types/types/workflow-wizard.d.ts +12 -0
  321. package/dist/types/video.d.ts +449 -0
  322. package/dist/utils/category-tree-constants.d.ts +42 -0
  323. package/dist/utils/cookies.d.ts +3 -0
  324. package/dist/utils/crypto-polyfill.d.ts +4 -0
  325. package/dist/utils/datetime.d.ts +43 -0
  326. package/dist/utils/debounce.d.ts +10 -0
  327. package/dist/utils/debugConsole.d.ts +69 -0
  328. package/dist/utils/editor/argHelpers.d.ts +6 -0
  329. package/dist/utils/formatters.d.ts +105 -0
  330. package/dist/utils/isPresignedAwsUrl.d.ts +67 -0
  331. package/dist/utils/media-helpers.d.ts +34 -0
  332. package/dist/utils/normalisePricing.d.ts +11 -0
  333. package/dist/utils/recipe-generator.d.ts +34 -0
  334. package/dist/utils/string.d.ts +29 -0
  335. package/dist/utils/unwrapApiResponse.d.ts +5 -0
  336. package/dist/utils/uuid.d.ts +30 -0
  337. package/dist/utils/validators.d.ts +28 -0
  338. package/dist/utils/video-export.d.ts +60 -0
  339. package/dist/v3-ionic-1-demo.html +440 -0
  340. package/dist/video-engine/VideoEngine.d.ts +267 -0
  341. package/dist/video-engine/adapters/AudioManager.d.ts +106 -0
  342. package/dist/video-engine/adapters/CSSFilterAdapter.d.ts +106 -0
  343. package/dist/video-engine/adapters/ExportManager.d.ts +88 -0
  344. package/dist/video-engine/adapters/FilterBridge.d.ts +96 -0
  345. package/dist/video-engine/adapters/MediablesCompositionAdapter.d.ts +56 -0
  346. package/dist/video-engine/adapters/PixiFrameExporter.d.ts +52 -0
  347. package/dist/video-engine/adapters/RenderQueue.d.ts +119 -0
  348. package/dist/video-engine/adapters/TextOverlayManager.d.ts +93 -0
  349. package/dist/video-engine/adapters/TimelineAdapter.d.ts +58 -0
  350. package/dist/video-engine/adapters/TransitionManager.d.ts +76 -0
  351. package/dist/video-engine/adapters/WebCodecsExport.d.ts +36 -0
  352. package/dist/video-engine/compositions/examples/example.d.ts +2 -0
  353. package/dist/video-engine/filters/CSSFilterSystem.d.ts +213 -0
  354. package/dist/video-engine/index.d.ts +14 -0
  355. package/dist/video-engine/presets/ExportPresets.d.ts +70 -0
  356. package/dist/video-engine/types/index.d.ts +96 -0
  357. package/dist/video-engine/types.d.ts +1 -0
  358. package/dist/video-engine/utils/EventEmitter.d.ts +12 -0
  359. package/dist/video-engine/utils/MediaSourceResolver.d.ts +9 -0
  360. package/dist/video-engine/utils/error-reporter.d.ts +159 -0
  361. package/dist/video-engine/utils/keyboard-shortcuts.d.ts +120 -0
  362. package/dist/video-engine/utils/pixi-video-fallback.d.ts +2 -0
  363. package/docs/video-subsystem/README.md +490 -0
  364. package/docs/video-subsystem/api-reference.md +747 -0
  365. package/docs/video-subsystem/component-examples.md +1477 -0
  366. package/docs/video-subsystem/integration-guide.md +1021 -0
  367. package/package.json +102 -0
@@ -0,0 +1,490 @@
1
+ # Mediables Video Subsystem
2
+
3
+ **Version**: 2.0.0
4
+ **Status**: Production Ready
5
+ **Last Updated**: January 2025
6
+
7
+ ## Overview
8
+
9
+ The Mediables Video Subsystem provides comprehensive video management capabilities for Laravel applications, treating video as a first-class media type alongside images. Built with a provider-agnostic architecture, it supports both Video on Demand (VOD) and live streaming through providers like Bunny, while maintaining the familiar patterns of the mediables package.
10
+
11
+ ## Key Features
12
+
13
+ ### 🎬 Video Management
14
+ - **Upload**: Direct-to-provider uploads with resumable support
15
+ - **Processing**: Automatic encoding with adaptive bitrate streaming
16
+ - **Playback**: Secure, token-based playback with automatic refresh
17
+ - **Storage**: Provider-based storage with CDN distribution
18
+
19
+ ### ✂️ Video Editor
20
+ - **Timeline Editing**: Trim, split, and rearrange clips
21
+ - **Filters**: 15 deterministic filters that work identically in preview and export
22
+ - **Export**: Server-side processing with FFmpeg
23
+ - **Real-time Preview**: PIXI.js-based frame filtering
24
+
25
+ ### 📡 Live Streaming
26
+ - **Low Latency**: 5-7 second delay option
27
+ - **Auto-Recording**: Automatic VOD archive creation
28
+ - **RTMP Support**: Standard streaming protocol support
29
+ - **Real-time Metrics**: Viewer count and stream health
30
+
31
+ ### 🔐 Security & Privacy
32
+ - **Signed URLs**: Time-limited, secure playback URLs
33
+ - **Token Refresh**: Automatic token renewal without interruption
34
+ - **Webhook Validation**: Cryptographic signature verification
35
+ - **Access Control**: Integration with application permissions
36
+
37
+ ## Architecture
38
+
39
+ ### Provider Abstraction
40
+
41
+ The video subsystem uses a provider-agnostic architecture that allows swapping video providers without changing application code:
42
+
43
+ ```
44
+ Application Code
45
+
46
+ VideoProviderInterface
47
+
48
+ Provider Implementation (Bunny, custom, etc.)
49
+ ```
50
+
51
+ ### Database Schema
52
+
53
+ Two main tables handle video data:
54
+
55
+ **Media Table Extensions**: Adds video-specific fields to existing media table
56
+ - `duration`, `aspect_ratio`, `width`, `height`
57
+ - `frame_rate`, `bitrate`, `has_audio`
58
+ - `provider`, `provider_asset_id`, `playback_id`
59
+ - `processing_status`, `processing_progress`
60
+
61
+ **Live Streams Table**: Dedicated table for streaming data
62
+ - Stream credentials (`stream_key`, `rtmp_url`)
63
+ - Stream state (`status`, `started_at`, `ended_at`)
64
+ - Metrics (`viewer_count`, `peak_viewers`)
65
+ - Configuration (`auto_record`, `low_latency`)
66
+
67
+ ## Technology Stack
68
+
69
+ ### Backend (Laravel)
70
+ - **Laravel 11/12**: Framework foundation
71
+ - **FFmpeg**: Server-side video processing
72
+ - **Bunny.net Video API**: Default provider integration
73
+ - **Queue Workers**: Background job processing
74
+ - **PostgreSQL**: Database with UUID primary keys
75
+
76
+ ### Frontend (Vue 3)
77
+ - **Vue 3**: Composition API with TypeScript
78
+ - **PIXI.js**: GPU-accelerated preview rendering
79
+ - **Ionic Framework**: Mobile-optimized UI components
80
+ - **Pinia**: State management
81
+ - **Vite**: Build tooling with HMR
82
+
83
+ ## Quick Start
84
+
85
+ ### Installation
86
+
87
+ 1. **Install the package**:
88
+ ```bash
89
+ composer require mediables/mediables:^2.0
90
+ npm install @mediables/vue@^2.0
91
+ ```
92
+
93
+ 2. **Run migrations**:
94
+ ```bash
95
+ php artisan migrate
96
+ ```
97
+
98
+ 3. **Configure provider** (`.env`):
99
+ ```env
100
+ VIDEO_PROVIDER=bunny
101
+ BUNNY_VIDEO_API_KEY=your-api-key
102
+ BUNNY_VIDEO_LIBRARY_ID=your-library-id
103
+ BUNNY_VIDEO_CDN_HOSTNAME=your-cdn.b-cdn.net
104
+ BUNNY_VIDEO_WEBHOOK_SECRET=your-secret
105
+ ```
106
+
107
+ ### Basic Usage
108
+
109
+ #### Upload a Video
110
+ ```vue
111
+ <template>
112
+ <VideoUploader
113
+ :collection="'videos'"
114
+ @uploaded="handleUploaded"
115
+ @error="handleError"
116
+ />
117
+ </template>
118
+
119
+ <script setup>
120
+ import { VideoUploader } from '@mediables/vue'
121
+
122
+ function handleUploaded(media) {
123
+ console.log('Video uploaded:', media.uuid)
124
+ }
125
+ </script>
126
+ ```
127
+
128
+ #### Play a Video
129
+ ```vue
130
+ <template>
131
+ <VideoPlayer
132
+ :media="videoMedia"
133
+ :controls="true"
134
+ :autoplay="false"
135
+ />
136
+ </template>
137
+
138
+ <script setup>
139
+ import { VideoPlayer } from '@mediables/vue'
140
+ import { ref } from 'vue'
141
+
142
+ const videoMedia = ref({
143
+ uuid: 'video-uuid-here',
144
+ playback_url: 'https://...'
145
+ })
146
+ </script>
147
+ ```
148
+
149
+ #### Edit a Video
150
+ ```vue
151
+ <template>
152
+ <VideoEditor
153
+ :media-uuid="videoUuid"
154
+ @export="handleExport"
155
+ />
156
+ </template>
157
+
158
+ <script setup>
159
+ import { VideoEditor } from '@mediables/vue'
160
+
161
+ const videoUuid = 'your-video-uuid'
162
+
163
+ async function handleExport(recipe) {
164
+ // Recipe contains timeline edits and filters
165
+ const response = await api.post(`/video/${videoUuid}/export`, { recipe })
166
+ console.log('Export job started:', response.job_id)
167
+ }
168
+ </script>
169
+ ```
170
+
171
+ ## Component Reference
172
+
173
+ ### VideoUploader
174
+ Handles direct-to-provider video uploads with progress tracking.
175
+
176
+ **Props**:
177
+ - `collection` (string): Media collection name
178
+ - `multiple` (boolean): Allow multiple file selection
179
+ - `maxSize` (number): Maximum file size in bytes
180
+ - `acceptedFormats` (array): Allowed video formats
181
+
182
+ **Events**:
183
+ - `@uploaded`: Fired when upload completes
184
+ - `@progress`: Upload progress updates
185
+ - `@error`: Upload errors
186
+
187
+ ### VideoPlayer
188
+ Provider-agnostic video player with automatic token refresh.
189
+
190
+ **Props**:
191
+ - `media` (object): Media object with playback URL
192
+ - `playbackUrl` (string): Direct playback URL
193
+ - `controls` (boolean): Show player controls
194
+ - `autoplay` (boolean): Start playing automatically
195
+ - `muted` (boolean): Start muted
196
+ - `isLive` (boolean): Live stream mode
197
+
198
+ **Events**:
199
+ - `@play`: Playback started
200
+ - `@pause`: Playback paused
201
+ - `@ended`: Playback completed
202
+ - `@error`: Playback error
203
+
204
+ ### VideoEditor
205
+ Full-featured video editor with timeline and filters.
206
+
207
+ **Props**:
208
+ - `mediaUuid` (string): UUID of video to edit
209
+ - `initialRecipe` (object): Pre-load edit recipe
210
+
211
+ **Events**:
212
+ - `@export`: Export requested with recipe
213
+ - `@save-draft`: Draft save requested
214
+ - `@change`: Edit state changed
215
+
216
+ ### LiveStreamManager
217
+ Manages live streaming setup and monitoring.
218
+
219
+ **Props**:
220
+ - `mediaUuid` (string): Media UUID for stream
221
+
222
+ **Events**:
223
+ - `@stream-created`: Stream credentials ready
224
+ - `@stream-started`: Stream went live
225
+ - `@stream-ended`: Stream stopped
226
+
227
+ ## Filter Reference
228
+
229
+ The video subsystem includes 15 deterministic filters that produce identical results in both preview (PIXI.js) and export (FFmpeg):
230
+
231
+ ### Color Adjustments
232
+ - `brightness`: Adjust brightness (-1 to 1)
233
+ - `contrast`: Adjust contrast (0 to 2)
234
+ - `saturation`: Adjust color saturation (0 to 2)
235
+ - `hue`: Rotate hue angle (-180 to 180)
236
+
237
+ ### Blur Effects
238
+ - `gaussian-blur`: Gaussian blur (sigma: 0 to 10)
239
+ - `motion-blur`: Motion blur effect
240
+
241
+ ### Stylize Filters
242
+ - `vintage`: Vintage film look
243
+ - `sepia`: Sepia tone effect
244
+ - `grayscale`: Convert to grayscale
245
+
246
+ ### Effects
247
+ - `vignette`: Add vignette overlay
248
+ - `sharpen`: Sharpen details
249
+ - `denoise`: Reduce noise
250
+
251
+ ### Transform
252
+ - `flip-horizontal`: Mirror horizontally
253
+ - `flip-vertical`: Mirror vertically
254
+ - `rotate`: Rotate by degrees
255
+
256
+ ## Recipe Format
257
+
258
+ The video editor generates a JSON recipe that describes all edits:
259
+
260
+ ```json
261
+ {
262
+ "version": "1.0",
263
+ "source": {
264
+ "media_uuid": "uuid-here",
265
+ "duration": 120.5
266
+ },
267
+ "timeline": [
268
+ {
269
+ "type": "clip",
270
+ "id": "clip-1",
271
+ "start": 0,
272
+ "end": 30,
273
+ "source_in": 10,
274
+ "source_out": 40,
275
+ "speed": 1.0
276
+ }
277
+ ],
278
+ "filters": [
279
+ {
280
+ "id": "vintage",
281
+ "params": {},
282
+ "intensity": 0.8,
283
+ "ffmpeg": "curves=preset=vintage"
284
+ }
285
+ ],
286
+ "audio": {
287
+ "volume": 1.0,
288
+ "fade_in": 0,
289
+ "fade_out": 0
290
+ },
291
+ "output": {
292
+ "format": "mp4",
293
+ "codec": "h264",
294
+ "quality": "1080p",
295
+ "fps": 30
296
+ }
297
+ }
298
+ ```
299
+
300
+ ## Performance Considerations
301
+
302
+ ### Upload Performance
303
+ - **Resumable Uploads**: Automatic retry on network failure
304
+ - **Direct Upload**: Bypass application server for large files
305
+ - **Background Processing**: Non-blocking asset processing
306
+
307
+ ### Playback Performance
308
+ - **Adaptive Bitrate**: Automatic quality adjustment
309
+ - **CDN Delivery**: Global edge caching
310
+ - **Token Caching**: Minimize API calls
311
+
312
+ ### Editor Performance
313
+ - **Frame Sampling**: Process every 3rd frame on mobile
314
+ - **GPU Acceleration**: PIXI.js WebGL rendering
315
+ - **Lazy Loading**: Load components on demand
316
+
317
+ ### Mobile Optimization
318
+ - **Touch Gestures**: Native gesture support
319
+ - **Reduced Quality**: Lower preview quality on mobile
320
+ - **Battery Awareness**: Throttle processing on low battery
321
+
322
+ ## Security Best Practices
323
+
324
+ ### API Security
325
+ - Always validate webhook signatures
326
+ - Use time-limited signed URLs
327
+ - Implement rate limiting on endpoints
328
+ - Validate file types and sizes
329
+
330
+ ### Token Management
331
+ - Tokens expire after 60 minutes
332
+ - Automatic refresh at 50-minute mark
333
+ - Secure token storage in memory
334
+ - No token persistence to disk
335
+
336
+ ### Access Control
337
+ ```php
338
+ // Example policy integration
339
+ class VideoPolicy
340
+ {
341
+ public function view(User $user, Media $media): bool
342
+ {
343
+ return $media->user_id === $user->id ||
344
+ $media->visibility === 'public';
345
+ }
346
+
347
+ public function edit(User $user, Media $media): bool
348
+ {
349
+ return $media->user_id === $user->id;
350
+ }
351
+ }
352
+ ```
353
+
354
+ ## Troubleshooting
355
+
356
+ ### Common Issues
357
+
358
+ **Upload fails immediately**
359
+ - Check CORS configuration on provider
360
+ - Verify API credentials
361
+ - Check file size limits
362
+
363
+ **Playback shows black screen**
364
+ - Video still processing
365
+ - Token expired (check console)
366
+ - Unsupported codec
367
+
368
+ **Export never completes**
369
+ - Check queue worker is running
370
+ - Verify FFmpeg installation
371
+ - Check disk space
372
+
373
+ **Live stream won't connect**
374
+ - Verify RTMP URL format
375
+ - Check firewall settings
376
+ - Confirm stream key
377
+
378
+ ### Debug Mode
379
+
380
+ Enable debug logging:
381
+ ```php
382
+ // config/mediables.php
383
+ 'video' => [
384
+ 'debug' => env('MEDIABLES_VIDEO_DEBUG', false),
385
+ 'log_webhooks' => env('MEDIABLES_LOG_WEBHOOKS', false),
386
+ ]
387
+ ```
388
+
389
+ ### Health Checks
390
+
391
+ ```php
392
+ // Check provider connectivity
393
+ app(VideoProviderInterface::class)->healthCheck();
394
+
395
+ // Verify FFmpeg
396
+ app(VideoProcessor::class)->verifyFFmpeg();
397
+
398
+ // Test webhook signature
399
+ app(WebhookValidator::class)->testSignature($payload, $signature);
400
+ ```
401
+
402
+ ## Migration Guide
403
+
404
+ ### From v1.x to v2.0
405
+
406
+ 1. **Database Migration**:
407
+ ```bash
408
+ php artisan migrate
409
+ ```
410
+
411
+ 2. **Update Imports**:
412
+ ```javascript
413
+ // Old
414
+ import { ImageEditor } from '@mediables/vue'
415
+
416
+ // New
417
+ import { ImageEditor, VideoEditor, VideoPlayer } from '@mediables/vue'
418
+ ```
419
+
420
+ 3. **Configuration Changes**:
421
+ ```env
422
+ VIDEO_PROVIDER=bunny
423
+ BUNNY_VIDEO_API_KEY=your-api-key
424
+ BUNNY_VIDEO_LIBRARY_ID=your-library-id
425
+ BUNNY_VIDEO_CDN_HOSTNAME=your-cdn.b-cdn.net
426
+ BUNNY_VIDEO_WEBHOOK_SECRET=your-secret
427
+ ```
428
+
429
+ ## Browser Compatibility
430
+
431
+ ### Supported Browsers
432
+ - Chrome 90+ (recommended)
433
+ - Safari 14+ (iOS 14+)
434
+ - Firefox 88+
435
+ - Edge 90+
436
+
437
+ ### Required Features
438
+ - WebGL 2.0 (for editor)
439
+ - Media Source Extensions
440
+ - Web Workers
441
+ - IndexedDB
442
+
443
+ ### Progressive Enhancement
444
+ The video subsystem gracefully degrades:
445
+ - No WebGL: Disable preview filters
446
+ - No MSE: Fallback to progressive download
447
+ - No Workers: Process on main thread
448
+ - Mobile: Reduced quality settings
449
+
450
+ ## Contributing
451
+
452
+ We welcome contributions! Please see our [Contributing Guide](../CONTRIBUTING.md) for details.
453
+
454
+ ### Development Setup
455
+ ```bash
456
+ # Clone repository
457
+ git clone https://github.com/mediables/mediables.git
458
+
459
+ # Install dependencies
460
+ composer install
461
+ npm install
462
+
463
+ # Run tests
464
+ composer test
465
+ npm run test
466
+
467
+ # Build assets
468
+ npm run build
469
+ ```
470
+
471
+ ## License
472
+
473
+ The Mediables package is open-sourced software licensed under the [MIT license](../../LICENSE.md).
474
+
475
+ ## Support
476
+
477
+ - **Documentation**: [Full Documentation](https://mediables.dev/docs)
478
+ - **Issues**: [GitHub Issues](https://github.com/mediables/mediables/issues)
479
+ - **Discord**: [Community Discord](https://discord.gg/mediables)
480
+ - **Email**: support@mediables.dev
481
+
482
+ ## Credits
483
+
484
+ Created and maintained by the Mediables Team.
485
+
486
+ Special thanks to:
487
+ - Laravel team for the framework
488
+ - Bunny.net for video infrastructure
489
+ - PIXI.js team for rendering engine
490
+ - FFmpeg project for video processing