@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.
- package/dist/PixiFrameExporter-BTU38EVl.cjs +2 -0
- package/dist/PixiFrameExporter-BTU38EVl.cjs.map +1 -0
- package/dist/PixiFrameExporter-Bb3QNWP-.js +199 -0
- package/dist/PixiFrameExporter-Bb3QNWP-.js.map +1 -0
- package/dist/adapters/MediablesAdapter.d.ts +19 -0
- package/dist/adapters/SpatieAdapter.d.ts +18 -0
- package/dist/adapters/index.d.ts +18 -0
- package/dist/components/AdminMediaBrowser.vue.d.ts +11 -0
- package/dist/components/AdminMediaBrowserExample.vue.d.ts +2 -0
- package/dist/components/AdminMediaBulkActionsToolbar.vue.d.ts +2 -0
- package/dist/components/AdminMediaGrid.vue.d.ts +17 -0
- package/dist/components/AdminMediaListItem.vue.d.ts +10 -0
- package/dist/components/AdminMediaManager.vue.d.ts +25 -0
- package/dist/components/AdminMediaUploader.vue.d.ts +11 -0
- package/dist/components/AlbumBrowser.vue.d.ts +17 -0
- package/dist/components/AlbumManager.vue.d.ts +16 -0
- package/dist/components/AlbumMediaGrid.vue.d.ts +28 -0
- package/dist/components/AlbumTree.vue.d.ts +35 -0
- package/dist/components/BulkActionsToolbar.vue.d.ts +2 -0
- package/dist/components/ConversionProgressIndicator.vue.d.ts +2 -0
- package/dist/components/Editor.vue.d.ts +29 -0
- package/dist/components/ExampleGridAndList.vue.d.ts +2 -0
- package/dist/components/ExampleUsage.vue.d.ts +2 -0
- package/dist/components/Grid.vue.d.ts +2 -0
- package/dist/components/ImageEditor/ImageEditor.vue.d.ts +3 -0
- package/dist/components/ImageEditorModal.vue.d.ts +16 -0
- package/dist/components/ImagePicker.vue.d.ts +32 -0
- package/dist/components/ImageUploadZone.vue.d.ts +7 -0
- package/dist/components/Item.vue.d.ts +2 -0
- package/dist/components/Library.vue.d.ts +2 -0
- package/dist/components/ManagedMediaGallery.vue.d.ts +12 -0
- package/dist/components/MediaAttacher.vue.d.ts +21 -0
- package/dist/components/MediaBrowser.vue.d.ts +2 -0
- package/dist/components/MediaCard.vue.d.ts +2 -0
- package/dist/components/MediaFilters.vue.d.ts +2 -0
- package/dist/components/MediaGrid.vue.d.ts +31 -0
- package/dist/components/MediaInfoEditor.vue.d.ts +7 -0
- package/dist/components/MediaManager.vue.d.ts +2 -0
- package/dist/components/MediaUploadWithProgress.vue.d.ts +2 -0
- package/dist/components/MediaUploader.vue.d.ts +2 -0
- package/dist/components/MediaWorkspace.vue.d.ts +19 -0
- package/dist/components/Modal.vue.d.ts +2 -0
- package/dist/components/ModelMediaManager.vue.d.ts +80 -0
- package/dist/components/Pagination.vue.d.ts +2 -0
- package/dist/components/Search.vue.d.ts +2 -0
- package/dist/components/VideoEditorSimple.vue.d.ts +2 -0
- package/dist/components/VideoExportPanel.vue.d.ts +2 -0
- package/dist/components/VideoTimeline.vue.d.ts +2 -0
- package/dist/components/VideoTimelineSimple.vue.d.ts +2 -0
- package/dist/components/VideoToolsPanel.vue.d.ts +2 -0
- package/dist/components/albums/AlbumTreeNode.vue.d.ts +23 -0
- package/dist/components/attachment/MediaAttachment.vue.d.ts +23 -0
- package/dist/components/attachment/index.d.ts +4 -0
- package/dist/components/collection/MediaCollection.vue.d.ts +27 -0
- package/dist/components/collection/MediaCollectionDropzone.vue.d.ts +18 -0
- package/dist/components/collection/MediaCollectionItem.vue.d.ts +2 -0
- package/dist/components/collection/index.d.ts +6 -0
- package/dist/components/form/MediaHiddenFields.vue.d.ts +2 -0
- package/dist/components/form/index.d.ts +4 -0
- package/dist/components/image/ImageEditor.vue.d.ts +2 -0
- package/dist/components/image/ImageItem.vue.d.ts +2 -0
- package/dist/components/renderless/MediaAttachmentProvider.vue.d.ts +12 -0
- package/dist/components/renderless/MediaCollectionProvider.vue.d.ts +12 -0
- package/dist/components/renderless/index.d.ts +7 -0
- package/dist/components/timeline/TimeRuler.vue.d.ts +2 -0
- package/dist/components/timeline/VideoTrack.vue.d.ts +2 -0
- package/dist/components/tools/VideoFiltersPanel.vue.d.ts +7 -0
- package/dist/components/tools/VideoTextPanel.vue.d.ts +2 -0
- package/dist/components/video/AudioTrackManager.vue.d.ts +2 -0
- package/dist/components/video/EditorControls.vue.d.ts +2 -0
- package/dist/components/video/ExportPanel.vue.d.ts +2 -0
- package/dist/components/video/FilterSelector.vue.d.ts +2 -0
- package/dist/components/video/LiveStreamManager.vue.d.ts +2 -0
- package/dist/components/video/StreamCredentials.vue.d.ts +2 -0
- package/dist/components/video/StreamStatus.vue.d.ts +2 -0
- package/dist/components/video/TextOverlayPanel.vue.d.ts +2 -0
- package/dist/components/video/ThumbnailPicker.vue.d.ts +2 -0
- package/dist/components/video/TimelineClip.vue.d.ts +2 -0
- package/dist/components/video/TimelineControls.vue.d.ts +2 -0
- package/dist/components/video/TransitionSelector.vue.d.ts +2 -0
- package/dist/components/video/VideoControls.vue.d.ts +2 -0
- package/dist/components/video/VideoEditor.vue.d.ts +8 -0
- package/dist/components/video/VideoEditorDialog.vue.d.ts +12 -0
- package/dist/components/video/VideoFilterCarousel.vue.d.ts +2 -0
- package/dist/components/video/VideoFilterPreview.vue.d.ts +18 -0
- package/dist/components/video/VideoPlayer.vue.d.ts +2 -0
- package/dist/components/video/VideoPreview.vue.d.ts +3 -0
- package/dist/components/video/VideoPreviewCSS.vue.d.ts +2 -0
- package/dist/components/video/VideoPreviewEngine.vue.d.ts +3 -0
- package/dist/components/video/VideoTimeline.vue.d.ts +2 -0
- package/dist/components/video/VideoUploadProgress.vue.d.ts +2 -0
- package/dist/components/video/VideoUploader.vue.d.ts +29 -0
- package/dist/components/video/index.d.ts +19 -0
- package/dist/composables/useAccordion.d.ts +138 -0
- package/dist/composables/useAlbumDragDrop.d.ts +24 -0
- package/dist/composables/useAlbums.d.ts +17 -0
- package/dist/composables/useFloatingPills.d.ts +111 -0
- package/dist/composables/useHaptic.d.ts +10 -0
- package/dist/composables/useImageEditorModal.d.ts +277 -0
- package/dist/composables/useLiveStream.d.ts +66 -0
- package/dist/composables/useMediaAttachment.d.ts +105 -0
- package/dist/composables/useMediaCollection.d.ts +122 -0
- package/dist/composables/useMediaConversionProgress.d.ts +31 -0
- package/dist/composables/useMediaDragSort.d.ts +56 -0
- package/dist/composables/useMediaSelection.d.ts +27 -0
- package/dist/composables/useMediaUploadQueue.d.ts +61 -0
- package/dist/composables/useMediaValidation.d.ts +59 -0
- package/dist/composables/useRadialMenu.d.ts +116 -0
- package/dist/composables/useSanctumClient.d.ts +31 -0
- package/dist/composables/useTheme.d.ts +7 -0
- package/dist/composables/useToast.d.ts +25 -0
- package/dist/composables/useVideoEditor.d.ts +127 -0
- package/dist/composables/useVideoFilters.d.ts +176 -0
- package/dist/composables/useVideoPlayer.d.ts +50 -0
- package/dist/composables/useVideoUpload.d.ts +134 -0
- package/dist/filters/controlMapping.d.ts +31 -0
- package/dist/filters/css-registry.d.ts +83 -0
- package/dist/filters/definitions/adjustment.d.ts +2 -0
- package/dist/filters/definitions/adjustmentAdvanced.d.ts +2 -0
- package/dist/filters/definitions/advancedBloom.d.ts +2 -0
- package/dist/filters/definitions/alpha.d.ts +2 -0
- package/dist/filters/definitions/ascii.d.ts +2 -0
- package/dist/filters/definitions/backdropBlur.d.ts +2 -0
- package/dist/filters/definitions/bevel.d.ts +2 -0
- package/dist/filters/definitions/bloom.d.ts +2 -0
- package/dist/filters/definitions/blur.d.ts +2 -0
- package/dist/filters/definitions/bulgePinch.d.ts +2 -0
- package/dist/filters/definitions/colorGradient.d.ts +2 -0
- package/dist/filters/definitions/colorMap.d.ts +2 -0
- package/dist/filters/definitions/colorMatrix.d.ts +2 -0
- package/dist/filters/definitions/colorOverlay.d.ts +2 -0
- package/dist/filters/definitions/colorReplace.d.ts +2 -0
- package/dist/filters/definitions/convolution.d.ts +2 -0
- package/dist/filters/definitions/crossHatch.d.ts +2 -0
- package/dist/filters/definitions/crt.d.ts +2 -0
- package/dist/filters/definitions/displacement.d.ts +2 -0
- package/dist/filters/definitions/dot.d.ts +2 -0
- package/dist/filters/definitions/dropShadow.d.ts +2 -0
- package/dist/filters/definitions/emboss.d.ts +2 -0
- package/dist/filters/definitions/glitch.d.ts +2 -0
- package/dist/filters/definitions/glow.d.ts +2 -0
- package/dist/filters/definitions/godray.d.ts +2 -0
- package/dist/filters/definitions/grayscale.d.ts +2 -0
- package/dist/filters/definitions/hslAdjustment.d.ts +2 -0
- package/dist/filters/definitions/kawaseBlur.d.ts +2 -0
- package/dist/filters/definitions/lightmap.d.ts +2 -0
- package/dist/filters/definitions/motionBlur.d.ts +2 -0
- package/dist/filters/definitions/multiColorReplace.d.ts +2 -0
- package/dist/filters/definitions/noise.d.ts +2 -0
- package/dist/filters/definitions/oldFilm.d.ts +2 -0
- package/dist/filters/definitions/outline.d.ts +2 -0
- package/dist/filters/definitions/pixelate.d.ts +2 -0
- package/dist/filters/definitions/radialBlur.d.ts +2 -0
- package/dist/filters/definitions/reflection.d.ts +2 -0
- package/dist/filters/definitions/rgbSplit.d.ts +2 -0
- package/dist/filters/definitions/shockwave.d.ts +2 -0
- package/dist/filters/definitions/simplexNoise.d.ts +2 -0
- package/dist/filters/definitions/tiltShift.d.ts +2 -0
- package/dist/filters/definitions/twist.d.ts +2 -0
- package/dist/filters/definitions/vignette.d.ts +2 -0
- package/dist/filters/definitions/zoomBlur.d.ts +2 -0
- package/dist/filters/factory.d.ts +38 -0
- package/dist/filters/filters/controlMapping.d.ts +31 -0
- package/dist/filters/filters/definitions/adjustment.d.ts +2 -0
- package/dist/filters/filters/definitions/adjustmentAdvanced.d.ts +2 -0
- package/dist/filters/filters/definitions/advancedBloom.d.ts +2 -0
- package/dist/filters/filters/definitions/alpha.d.ts +2 -0
- package/dist/filters/filters/definitions/ascii.d.ts +2 -0
- package/dist/filters/filters/definitions/backdropBlur.d.ts +2 -0
- package/dist/filters/filters/definitions/bevel.d.ts +2 -0
- package/dist/filters/filters/definitions/bloom.d.ts +2 -0
- package/dist/filters/filters/definitions/blur.d.ts +2 -0
- package/dist/filters/filters/definitions/bulgePinch.d.ts +2 -0
- package/dist/filters/filters/definitions/colorGradient.d.ts +2 -0
- package/dist/filters/filters/definitions/colorMap.d.ts +2 -0
- package/dist/filters/filters/definitions/colorMatrix.d.ts +2 -0
- package/dist/filters/filters/definitions/colorOverlay.d.ts +2 -0
- package/dist/filters/filters/definitions/colorReplace.d.ts +2 -0
- package/dist/filters/filters/definitions/convolution.d.ts +2 -0
- package/dist/filters/filters/definitions/crossHatch.d.ts +2 -0
- package/dist/filters/filters/definitions/crt.d.ts +2 -0
- package/dist/filters/filters/definitions/displacement.d.ts +2 -0
- package/dist/filters/filters/definitions/dot.d.ts +2 -0
- package/dist/filters/filters/definitions/dropShadow.d.ts +2 -0
- package/dist/filters/filters/definitions/emboss.d.ts +2 -0
- package/dist/filters/filters/definitions/glitch.d.ts +2 -0
- package/dist/filters/filters/definitions/glow.d.ts +2 -0
- package/dist/filters/filters/definitions/godray.d.ts +2 -0
- package/dist/filters/filters/definitions/grayscale.d.ts +2 -0
- package/dist/filters/filters/definitions/hslAdjustment.d.ts +2 -0
- package/dist/filters/filters/definitions/kawaseBlur.d.ts +2 -0
- package/dist/filters/filters/definitions/lightmap.d.ts +2 -0
- package/dist/filters/filters/definitions/motionBlur.d.ts +2 -0
- package/dist/filters/filters/definitions/multiColorReplace.d.ts +2 -0
- package/dist/filters/filters/definitions/noise.d.ts +2 -0
- package/dist/filters/filters/definitions/oldFilm.d.ts +2 -0
- package/dist/filters/filters/definitions/outline.d.ts +2 -0
- package/dist/filters/filters/definitions/pixelate.d.ts +2 -0
- package/dist/filters/filters/definitions/radialBlur.d.ts +2 -0
- package/dist/filters/filters/definitions/reflection.d.ts +2 -0
- package/dist/filters/filters/definitions/rgbSplit.d.ts +2 -0
- package/dist/filters/filters/definitions/shockwave.d.ts +2 -0
- package/dist/filters/filters/definitions/simplexNoise.d.ts +2 -0
- package/dist/filters/filters/definitions/tiltShift.d.ts +2 -0
- package/dist/filters/filters/definitions/twist.d.ts +2 -0
- package/dist/filters/filters/definitions/vignette.d.ts +2 -0
- package/dist/filters/filters/definitions/zoomBlur.d.ts +2 -0
- package/dist/filters/filters/factory.d.ts +36 -0
- package/dist/filters/filters/index.d.ts +93 -0
- package/dist/filters/filters/registry.d.ts +89 -0
- package/dist/filters/index.d.ts +93 -0
- package/dist/filters/registry.d.ts +89 -0
- package/dist/filters/video-compatible.d.ts +77 -0
- package/dist/filters/video-css-filters.d.ts +153 -0
- package/dist/index-6yUGA--H.cjs +42 -0
- package/dist/index-6yUGA--H.cjs.map +1 -0
- package/dist/index-CcGWfCCV.js +7799 -0
- package/dist/index-CcGWfCCV.js.map +1 -0
- package/dist/index-DTUgsw7J.cjs +76 -0
- package/dist/index-DTUgsw7J.cjs.map +1 -0
- package/dist/index-VrUG0lmk.js +28655 -0
- package/dist/index-VrUG0lmk.js.map +1 -0
- package/dist/index.d.ts +62 -0
- package/dist/js/workers/material-color-extractor.js +215 -0
- package/dist/mediables-vanilla.cjs +2 -0
- package/dist/mediables-vanilla.cjs.map +1 -0
- package/dist/mediables-vanilla.mjs +12 -0
- package/dist/mediables-vanilla.mjs.map +1 -0
- package/dist/mediables-vue.cjs +2 -0
- package/dist/mediables-vue.cjs.map +1 -0
- package/dist/mediables-vue.mjs +67 -0
- package/dist/mediables-vue.mjs.map +1 -0
- package/dist/render-page/assets/index-hBfvGPpt.js +48933 -0
- package/dist/render-page/index.html +18 -0
- package/dist/services/VideoJobClient.d.ts +79 -0
- package/dist/stores/albumStore.d.ts +4 -0
- package/dist/stores/mediaVariantStore.d.ts +1 -0
- package/dist/stores/useAdminMediaStore.d.ts +16 -0
- package/dist/stores/useMediaStore.d.ts +25 -0
- package/dist/stores/useVideoStore.d.ts +21 -0
- package/dist/stores/variantPollStore.d.ts +5 -0
- package/dist/stores/video.d.ts +1 -0
- package/dist/style.css +1 -0
- package/dist/types/adapter.d.ts +181 -0
- package/dist/types/album.d.ts +28 -0
- package/dist/types/api.d.ts +88 -0
- package/dist/types/collection.d.ts +306 -0
- package/dist/types/editor.d.ts +172 -0
- package/dist/types/image.d.ts +210 -0
- package/dist/types/index.d.ts +5 -0
- package/dist/types/media.d.ts +107 -0
- package/dist/types/types/address.d.ts +66 -0
- package/dist/types/types/admin/intelligent-po.d.ts +47 -0
- package/dist/types/types/admin/products/index.d.ts +17 -0
- package/dist/types/types/admin/purchase-order.d.ts +50 -0
- package/dist/types/types/admin/receipt.d.ts +86 -0
- package/dist/types/types/admin/vendor.d.ts +61 -0
- package/dist/types/types/ai.d.ts +63 -0
- package/dist/types/types/aiActions.d.ts +42 -0
- package/dist/types/types/aiDesigner.d.ts +77 -0
- package/dist/types/types/api-errors.d.ts +6 -0
- package/dist/types/types/api.d.ts +109 -0
- package/dist/types/types/bundle.d.ts +131 -0
- package/dist/types/types/bundles/analytics.d.ts +64 -0
- package/dist/types/types/bundles.d.ts +108 -0
- package/dist/types/types/cart.d.ts +81 -0
- package/dist/types/types/checkout.d.ts +40 -0
- package/dist/types/types/component-config.d.ts +26 -0
- package/dist/types/types/components.d.ts +32 -0
- package/dist/types/types/content.d.ts +138 -0
- package/dist/types/types/coupon.d.ts +32 -0
- package/dist/types/types/customer-product-history.d.ts +210 -0
- package/dist/types/types/drag-contracts.d.ts +40 -0
- package/dist/types/types/drag-drop.d.ts +19 -0
- package/dist/types/types/editor.d.ts +127 -0
- package/dist/types/types/errors.d.ts +36 -0
- package/dist/types/types/feedback.d.ts +122 -0
- package/dist/types/types/image.d.ts +210 -0
- package/dist/types/types/index.d.ts +62 -0
- package/dist/types/types/instagram.d.ts +86 -0
- package/dist/types/types/ionic-components.d.ts +152 -0
- package/dist/types/types/layout.d.ts +127 -0
- package/dist/types/types/media-gateway.d.ts +34 -0
- package/dist/types/types/media.d.ts +178 -0
- package/dist/types/types/notifications.d.ts +123 -0
- package/dist/types/types/order-management.d.ts +245 -0
- package/dist/types/types/pageBuilder/block.d.ts +34 -0
- package/dist/types/types/pageBuilder/blocks.d.ts +82 -0
- package/dist/types/types/pageBuilder/cache.d.ts +33 -0
- package/dist/types/types/pageBuilder/editor.d.ts +15 -0
- package/dist/types/types/pageBuilder/field.d.ts +11 -0
- package/dist/types/types/pageBuilder/index.d.ts +24 -0
- package/dist/types/types/pageBuilder/revisions.d.ts +40 -0
- package/dist/types/types/pageBuilder/templates.d.ts +62 -0
- package/dist/types/types/pattern.d.ts +40 -0
- package/dist/types/types/payment.d.ts +21 -0
- package/dist/types/types/payments.d.ts +10 -0
- package/dist/types/types/pipeline.d.ts +12 -0
- package/dist/types/types/pixi/filter-args.d.ts +274 -0
- package/dist/types/types/pixi/filters-extended.d.ts +157 -0
- package/dist/types/types/pixi/filters.d.ts +38 -0
- package/dist/types/types/preview.d.ts +36 -0
- package/dist/types/types/pricing.d.ts +31 -0
- package/dist/types/types/quickbooks.d.ts +43 -0
- package/dist/types/types/receipt.d.ts +121 -0
- package/dist/types/types/rewards.d.ts +110 -0
- package/dist/types/types/saved-cart.d.ts +51 -0
- package/dist/types/types/settings.d.ts +63 -0
- package/dist/types/types/shipment.d.ts +62 -0
- package/dist/types/types/shipping.d.ts +98 -0
- package/dist/types/types/sidebar-variations.d.ts +226 -0
- package/dist/types/types/slots.d.ts +2 -0
- package/dist/types/types/specification-types.d.ts +70 -0
- package/dist/types/types/specifications.d.ts +163 -0
- package/dist/types/types/store.d.ts +64 -0
- package/dist/types/types/template.d.ts +8 -0
- package/dist/types/types/user.d.ts +47 -0
- package/dist/types/types/variant-groups.d.ts +158 -0
- package/dist/types/types/wishlist.d.ts +73 -0
- package/dist/types/types/workflow-wizard.d.ts +12 -0
- package/dist/types/video.d.ts +449 -0
- package/dist/utils/category-tree-constants.d.ts +42 -0
- package/dist/utils/cookies.d.ts +3 -0
- package/dist/utils/crypto-polyfill.d.ts +4 -0
- package/dist/utils/datetime.d.ts +43 -0
- package/dist/utils/debounce.d.ts +10 -0
- package/dist/utils/debugConsole.d.ts +69 -0
- package/dist/utils/editor/argHelpers.d.ts +6 -0
- package/dist/utils/formatters.d.ts +105 -0
- package/dist/utils/isPresignedAwsUrl.d.ts +67 -0
- package/dist/utils/media-helpers.d.ts +34 -0
- package/dist/utils/normalisePricing.d.ts +11 -0
- package/dist/utils/recipe-generator.d.ts +34 -0
- package/dist/utils/string.d.ts +29 -0
- package/dist/utils/unwrapApiResponse.d.ts +5 -0
- package/dist/utils/uuid.d.ts +30 -0
- package/dist/utils/validators.d.ts +28 -0
- package/dist/utils/video-export.d.ts +60 -0
- package/dist/v3-ionic-1-demo.html +440 -0
- package/dist/video-engine/VideoEngine.d.ts +267 -0
- package/dist/video-engine/adapters/AudioManager.d.ts +106 -0
- package/dist/video-engine/adapters/CSSFilterAdapter.d.ts +106 -0
- package/dist/video-engine/adapters/ExportManager.d.ts +88 -0
- package/dist/video-engine/adapters/FilterBridge.d.ts +96 -0
- package/dist/video-engine/adapters/MediablesCompositionAdapter.d.ts +56 -0
- package/dist/video-engine/adapters/PixiFrameExporter.d.ts +52 -0
- package/dist/video-engine/adapters/RenderQueue.d.ts +119 -0
- package/dist/video-engine/adapters/TextOverlayManager.d.ts +93 -0
- package/dist/video-engine/adapters/TimelineAdapter.d.ts +58 -0
- package/dist/video-engine/adapters/TransitionManager.d.ts +76 -0
- package/dist/video-engine/adapters/WebCodecsExport.d.ts +36 -0
- package/dist/video-engine/compositions/examples/example.d.ts +2 -0
- package/dist/video-engine/filters/CSSFilterSystem.d.ts +213 -0
- package/dist/video-engine/index.d.ts +14 -0
- package/dist/video-engine/presets/ExportPresets.d.ts +70 -0
- package/dist/video-engine/types/index.d.ts +96 -0
- package/dist/video-engine/types.d.ts +1 -0
- package/dist/video-engine/utils/EventEmitter.d.ts +12 -0
- package/dist/video-engine/utils/MediaSourceResolver.d.ts +9 -0
- package/dist/video-engine/utils/error-reporter.d.ts +159 -0
- package/dist/video-engine/utils/keyboard-shortcuts.d.ts +120 -0
- package/dist/video-engine/utils/pixi-video-fallback.d.ts +2 -0
- package/docs/video-subsystem/README.md +490 -0
- package/docs/video-subsystem/api-reference.md +747 -0
- package/docs/video-subsystem/component-examples.md +1477 -0
- package/docs/video-subsystem/integration-guide.md +1021 -0
- package/package.json +102 -0
|
@@ -0,0 +1,449 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Video Subsystem Type Definitions
|
|
3
|
+
* Provides comprehensive typing for video editing, playback, and export
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Core video media type extending base media
|
|
7
|
+
*/
|
|
8
|
+
export interface VideoMedia {
|
|
9
|
+
uuid: string;
|
|
10
|
+
filename: string;
|
|
11
|
+
/** Optional playback URL for editor/runtime (non-persisted helper) */
|
|
12
|
+
url?: string;
|
|
13
|
+
/** Optional local file reference for in-memory editing (non-persisted helper) */
|
|
14
|
+
file?: File;
|
|
15
|
+
mime_type: string;
|
|
16
|
+
size: number;
|
|
17
|
+
duration: number;
|
|
18
|
+
width: number;
|
|
19
|
+
height: number;
|
|
20
|
+
aspect_ratio: string;
|
|
21
|
+
frame_rate: number;
|
|
22
|
+
bitrate?: number;
|
|
23
|
+
has_audio: boolean;
|
|
24
|
+
has_captions?: boolean;
|
|
25
|
+
thumbnail_url?: string;
|
|
26
|
+
thumbnail_time?: number;
|
|
27
|
+
poster_url?: string;
|
|
28
|
+
playback_url?: string;
|
|
29
|
+
token_expires_at?: string;
|
|
30
|
+
provider: 'local' | 'bunny' | 'cloudflare';
|
|
31
|
+
provider_asset_id?: string;
|
|
32
|
+
playback_id?: string;
|
|
33
|
+
processing_status: 'pending' | 'processing' | 'ready' | 'failed';
|
|
34
|
+
processing_progress: number;
|
|
35
|
+
created_at: string;
|
|
36
|
+
updated_at: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Timeline clip representation
|
|
40
|
+
*/
|
|
41
|
+
export interface TimelineClip {
|
|
42
|
+
id: string;
|
|
43
|
+
type: 'clip' | 'video';
|
|
44
|
+
timelineStart: number;
|
|
45
|
+
timelineEnd: number;
|
|
46
|
+
startTime?: number;
|
|
47
|
+
endTime?: number;
|
|
48
|
+
track?: number;
|
|
49
|
+
sourceIn: number;
|
|
50
|
+
sourceOut: number;
|
|
51
|
+
/**
|
|
52
|
+
* Immutable source-domain bounds for this clip.
|
|
53
|
+
* - sourceMinIn: earliest allowed sourceIn (usually 0)
|
|
54
|
+
* - sourceMaxOut: latest allowed sourceOut (usually full media duration)
|
|
55
|
+
* Used to clamp trims independently of current timeline length.
|
|
56
|
+
*/
|
|
57
|
+
sourceMinIn?: number;
|
|
58
|
+
sourceMaxOut?: number;
|
|
59
|
+
speed?: number;
|
|
60
|
+
filters?: AppliedFilter[];
|
|
61
|
+
thumbnail?: string;
|
|
62
|
+
label?: string;
|
|
63
|
+
url?: string;
|
|
64
|
+
muted?: boolean;
|
|
65
|
+
scale?: number;
|
|
66
|
+
duration?: number;
|
|
67
|
+
transform?: {
|
|
68
|
+
x?: number;
|
|
69
|
+
y?: number;
|
|
70
|
+
rotation?: number;
|
|
71
|
+
opacity?: number;
|
|
72
|
+
scale?: number;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Filter definition for video processing
|
|
77
|
+
*/
|
|
78
|
+
export interface VideoFilterDefinition {
|
|
79
|
+
id: string;
|
|
80
|
+
name: string;
|
|
81
|
+
category: 'color' | 'blur' | 'stylize' | 'effects' | 'transform';
|
|
82
|
+
ffmpeg?: string;
|
|
83
|
+
pixiFilter?: string;
|
|
84
|
+
defaultParams?: Record<string, any>;
|
|
85
|
+
paramRanges?: Record<string, {
|
|
86
|
+
min: number;
|
|
87
|
+
max: number;
|
|
88
|
+
step: number;
|
|
89
|
+
}>;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Applied filter with parameters
|
|
93
|
+
*/
|
|
94
|
+
export interface AppliedFilter {
|
|
95
|
+
id: string;
|
|
96
|
+
filterId: string;
|
|
97
|
+
params: Record<string, any>;
|
|
98
|
+
intensity: number;
|
|
99
|
+
ffmpegCommand?: string;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Text overlay entry persisted in recipe
|
|
103
|
+
*/
|
|
104
|
+
export interface TextOverlayRecipe {
|
|
105
|
+
id?: string;
|
|
106
|
+
content: string;
|
|
107
|
+
fontFamily?: string;
|
|
108
|
+
fontSize?: number;
|
|
109
|
+
fontWeight?: string;
|
|
110
|
+
color?: string;
|
|
111
|
+
position?: 'center' | 'top' | 'bottom' | 'left' | 'right' | {
|
|
112
|
+
x: number | string;
|
|
113
|
+
y: number | string;
|
|
114
|
+
};
|
|
115
|
+
startTime?: number;
|
|
116
|
+
duration?: number;
|
|
117
|
+
animation?: {
|
|
118
|
+
type: 'fade-in' | 'fade-out' | 'rotate' | 'scale' | 'slide' | 'typewriter' | 'custom';
|
|
119
|
+
duration?: number;
|
|
120
|
+
easing?: 'linear' | 'easeIn' | 'easeOut' | 'easeInOut';
|
|
121
|
+
rotation?: {
|
|
122
|
+
from: number;
|
|
123
|
+
to: number;
|
|
124
|
+
};
|
|
125
|
+
scale?: {
|
|
126
|
+
from: number;
|
|
127
|
+
to: number;
|
|
128
|
+
};
|
|
129
|
+
translate?: {
|
|
130
|
+
fromX: number;
|
|
131
|
+
toX: number;
|
|
132
|
+
fromY: number;
|
|
133
|
+
toY: number;
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
textAlign?: 'left' | 'center' | 'right';
|
|
137
|
+
textBaseline?: 'top' | 'middle' | 'bottom';
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Audio track entry persisted in recipe (URL-based only)
|
|
141
|
+
*/
|
|
142
|
+
export interface AudioTrackRecipe {
|
|
143
|
+
id?: string;
|
|
144
|
+
source: string;
|
|
145
|
+
volume?: number;
|
|
146
|
+
startTime?: number;
|
|
147
|
+
duration?: number;
|
|
148
|
+
fadeIn?: number;
|
|
149
|
+
fadeOut?: number;
|
|
150
|
+
loop?: boolean;
|
|
151
|
+
name?: string;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Audio settings for export
|
|
155
|
+
*/
|
|
156
|
+
export interface AudioSettings {
|
|
157
|
+
volume: number;
|
|
158
|
+
fadeIn?: number;
|
|
159
|
+
fadeOut?: number;
|
|
160
|
+
muted?: boolean;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Output/export settings
|
|
164
|
+
*/
|
|
165
|
+
export interface OutputSettings {
|
|
166
|
+
format: 'mp4' | 'webm' | 'mov';
|
|
167
|
+
codec: 'h264' | 'h265' | 'vp9';
|
|
168
|
+
quality: '360p' | '480p' | '720p' | '1080p' | '1440p' | '2160p';
|
|
169
|
+
fps: number;
|
|
170
|
+
bitrate?: number;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Metadata attached to a locally rendered WebGL/PIXI export payload.
|
|
174
|
+
*/
|
|
175
|
+
export interface WebGLExportMeta {
|
|
176
|
+
duration?: number;
|
|
177
|
+
width?: number;
|
|
178
|
+
height?: number;
|
|
179
|
+
format?: string;
|
|
180
|
+
sizeBytes?: number;
|
|
181
|
+
size_bytes?: number;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Rendered export payload used by host apps to upload processed video outputs.
|
|
185
|
+
*/
|
|
186
|
+
export interface WebGLExportPayload {
|
|
187
|
+
file: File;
|
|
188
|
+
recipe: VideoRecipe;
|
|
189
|
+
meta?: WebGLExportMeta;
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Complete video export recipe
|
|
193
|
+
*/
|
|
194
|
+
export interface VideoRecipe {
|
|
195
|
+
version: '1.0';
|
|
196
|
+
duration?: number;
|
|
197
|
+
source: {
|
|
198
|
+
media_uuid: string;
|
|
199
|
+
duration: number;
|
|
200
|
+
original_width: number;
|
|
201
|
+
original_height: number;
|
|
202
|
+
};
|
|
203
|
+
timeline: TimelineClip[];
|
|
204
|
+
filters: AppliedFilter[];
|
|
205
|
+
audio: AudioSettings;
|
|
206
|
+
textOverlays?: TextOverlayRecipe[];
|
|
207
|
+
audioTracks?: AudioTrackRecipe[];
|
|
208
|
+
output: OutputSettings;
|
|
209
|
+
/** PIXI-rendered poster frame as a data URL (transient — not persisted to backend) */
|
|
210
|
+
posterFrame?: string;
|
|
211
|
+
metadata?: {
|
|
212
|
+
source_url?: string;
|
|
213
|
+
title?: string;
|
|
214
|
+
description?: string;
|
|
215
|
+
created_at: string;
|
|
216
|
+
editor_version: string;
|
|
217
|
+
};
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Video editor state
|
|
221
|
+
*/
|
|
222
|
+
export interface VideoEditorState {
|
|
223
|
+
mediaUuid: string;
|
|
224
|
+
media?: VideoMedia;
|
|
225
|
+
clips: TimelineClip[];
|
|
226
|
+
playheadPosition: number;
|
|
227
|
+
totalDuration: number;
|
|
228
|
+
originalDuration: number;
|
|
229
|
+
filters: AppliedFilter[];
|
|
230
|
+
activeFilterId?: string;
|
|
231
|
+
textOverlays?: TextOverlayRecipe[];
|
|
232
|
+
audioTracks?: AudioTrackRecipe[];
|
|
233
|
+
audioVolume: number;
|
|
234
|
+
audioFadeIn: number;
|
|
235
|
+
audioFadeOut: number;
|
|
236
|
+
exportQuality: OutputSettings['quality'];
|
|
237
|
+
exportFormat: OutputSettings['format'];
|
|
238
|
+
hasChanges: boolean;
|
|
239
|
+
isPlaying: boolean;
|
|
240
|
+
selectedClipId?: string;
|
|
241
|
+
zoomLevel: number;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Export job status
|
|
245
|
+
*/
|
|
246
|
+
export interface ExportJob {
|
|
247
|
+
id: string;
|
|
248
|
+
media_uuid: string;
|
|
249
|
+
recipe: VideoRecipe;
|
|
250
|
+
status: 'pending' | 'queued' | 'processing' | 'completed' | 'failed' | 'cancelled';
|
|
251
|
+
progress: number;
|
|
252
|
+
output_url?: string;
|
|
253
|
+
error?: string;
|
|
254
|
+
error_message?: string;
|
|
255
|
+
started_at?: string;
|
|
256
|
+
completed_at?: string;
|
|
257
|
+
meta?: {
|
|
258
|
+
is_cancelled?: boolean;
|
|
259
|
+
[key: string]: unknown;
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Live stream configuration
|
|
264
|
+
*/
|
|
265
|
+
export interface LiveStreamConfig {
|
|
266
|
+
low_latency: boolean;
|
|
267
|
+
auto_record: boolean;
|
|
268
|
+
max_duration?: number;
|
|
269
|
+
allowed_origins?: string[];
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Live stream instance
|
|
273
|
+
*/
|
|
274
|
+
export interface LiveStream {
|
|
275
|
+
id: string;
|
|
276
|
+
media_uuid: string;
|
|
277
|
+
stream_key: string;
|
|
278
|
+
rtmp_url: string;
|
|
279
|
+
playback_url?: string;
|
|
280
|
+
status: 'idle' | 'starting' | 'live' | 'stopping' | 'ended' | 'error';
|
|
281
|
+
started_at?: string;
|
|
282
|
+
ended_at?: string;
|
|
283
|
+
viewer_count: number;
|
|
284
|
+
peak_viewers: number;
|
|
285
|
+
auto_record: boolean;
|
|
286
|
+
low_latency: boolean;
|
|
287
|
+
vod_media_uuid?: string;
|
|
288
|
+
metadata?: Record<string, any>;
|
|
289
|
+
}
|
|
290
|
+
/**
|
|
291
|
+
* Live stream creation options
|
|
292
|
+
*/
|
|
293
|
+
export interface LiveStreamOptions {
|
|
294
|
+
title?: string;
|
|
295
|
+
low_latency?: boolean;
|
|
296
|
+
auto_record?: boolean;
|
|
297
|
+
reconnect_window?: number;
|
|
298
|
+
metadata?: Record<string, any>;
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Live stream statistics
|
|
302
|
+
*/
|
|
303
|
+
export interface LiveStreamStats {
|
|
304
|
+
status: LiveStream['status'];
|
|
305
|
+
viewer_count: number;
|
|
306
|
+
peak_viewers: number;
|
|
307
|
+
duration?: number;
|
|
308
|
+
started_at?: string;
|
|
309
|
+
ended_at?: string;
|
|
310
|
+
has_vod?: boolean;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Upload response from backend
|
|
314
|
+
*/
|
|
315
|
+
export interface VideoUploadResponse {
|
|
316
|
+
upload_url: string;
|
|
317
|
+
upload_id: string;
|
|
318
|
+
media_uuid: string;
|
|
319
|
+
expires_at: string;
|
|
320
|
+
method?: string;
|
|
321
|
+
headers?: Record<string, string>;
|
|
322
|
+
max_size?: number | null;
|
|
323
|
+
resumable?: boolean;
|
|
324
|
+
}
|
|
325
|
+
/**
|
|
326
|
+
* Playback response with signed URL
|
|
327
|
+
*/
|
|
328
|
+
export interface PlaybackResponse {
|
|
329
|
+
playback_url: string;
|
|
330
|
+
token_expires_at: string;
|
|
331
|
+
thumbnail_url?: string;
|
|
332
|
+
poster_url?: string;
|
|
333
|
+
}
|
|
334
|
+
/**
|
|
335
|
+
* Frame extraction options
|
|
336
|
+
*/
|
|
337
|
+
export interface FrameExtractionOptions {
|
|
338
|
+
time: number;
|
|
339
|
+
format?: 'jpeg' | 'png' | 'webp';
|
|
340
|
+
quality?: number;
|
|
341
|
+
width?: number;
|
|
342
|
+
height?: number;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Video player options
|
|
346
|
+
*/
|
|
347
|
+
export interface VideoPlayerOptions {
|
|
348
|
+
media?: VideoMedia;
|
|
349
|
+
playbackUrl?: string;
|
|
350
|
+
isLive?: boolean;
|
|
351
|
+
controls?: boolean;
|
|
352
|
+
autoplay?: boolean;
|
|
353
|
+
muted?: boolean;
|
|
354
|
+
loop?: boolean;
|
|
355
|
+
preload?: 'none' | 'metadata' | 'auto';
|
|
356
|
+
crossorigin?: 'anonymous' | 'use-credentials';
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Timeline interaction events
|
|
360
|
+
*/
|
|
361
|
+
export interface TimelineEvent {
|
|
362
|
+
type: 'trim' | 'split' | 'move' | 'delete';
|
|
363
|
+
clipId?: string;
|
|
364
|
+
position?: number;
|
|
365
|
+
edge?: 'start' | 'end';
|
|
366
|
+
delta?: number;
|
|
367
|
+
}
|
|
368
|
+
/**
|
|
369
|
+
* Filter preset
|
|
370
|
+
*/
|
|
371
|
+
export interface FilterPreset {
|
|
372
|
+
id: string;
|
|
373
|
+
name: string;
|
|
374
|
+
description?: string;
|
|
375
|
+
thumbnail?: string;
|
|
376
|
+
filters: AppliedFilter[];
|
|
377
|
+
category?: string;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Export preset for video export
|
|
381
|
+
*/
|
|
382
|
+
export interface ExportPreset {
|
|
383
|
+
id: string;
|
|
384
|
+
name: string;
|
|
385
|
+
description?: string;
|
|
386
|
+
format: 'mp4' | 'webm' | 'mov';
|
|
387
|
+
quality: 'low' | 'medium' | 'high' | 'max';
|
|
388
|
+
width: number;
|
|
389
|
+
height: number;
|
|
390
|
+
fps: number;
|
|
391
|
+
resolution?: {
|
|
392
|
+
width: number;
|
|
393
|
+
height: number;
|
|
394
|
+
};
|
|
395
|
+
framerate?: number;
|
|
396
|
+
bitrate?: number;
|
|
397
|
+
}
|
|
398
|
+
/**
|
|
399
|
+
* Touch gesture event
|
|
400
|
+
*/
|
|
401
|
+
export interface TouchGestureEvent {
|
|
402
|
+
type: 'pinch' | 'swipe' | 'tap' | 'long-press';
|
|
403
|
+
scale?: number;
|
|
404
|
+
direction?: 'left' | 'right' | 'up' | 'down';
|
|
405
|
+
position?: {
|
|
406
|
+
x: number;
|
|
407
|
+
y: number;
|
|
408
|
+
};
|
|
409
|
+
velocity?: number;
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Video upload progress tracking
|
|
413
|
+
*/
|
|
414
|
+
export interface VideoUploadProgress {
|
|
415
|
+
id: string;
|
|
416
|
+
file: File;
|
|
417
|
+
filename: string;
|
|
418
|
+
progress: number;
|
|
419
|
+
status: 'pending' | 'uploading' | 'processing' | 'completed' | 'error' | 'cancelled';
|
|
420
|
+
error?: string;
|
|
421
|
+
mediaUuid?: string;
|
|
422
|
+
media?: VideoMedia;
|
|
423
|
+
bytesTotal: number;
|
|
424
|
+
bytesUploaded: number;
|
|
425
|
+
startedAt: Date;
|
|
426
|
+
completedAt?: Date;
|
|
427
|
+
uploadSpeed?: number;
|
|
428
|
+
timeRemaining?: number;
|
|
429
|
+
}
|
|
430
|
+
/**
|
|
431
|
+
* Video upload options for API requests
|
|
432
|
+
*/
|
|
433
|
+
export interface VideoUploadOptions {
|
|
434
|
+
collection: string;
|
|
435
|
+
filename: string;
|
|
436
|
+
size: number;
|
|
437
|
+
mime_type: string;
|
|
438
|
+
ownerUuid?: string;
|
|
439
|
+
ownerType?: string;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Quality level for adaptive streaming
|
|
443
|
+
*/
|
|
444
|
+
export interface QualityLevel {
|
|
445
|
+
label: string;
|
|
446
|
+
resolution: string;
|
|
447
|
+
bitrate: number;
|
|
448
|
+
height: number;
|
|
449
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Category Tree Constants
|
|
3
|
+
*
|
|
4
|
+
* Default values and CSS class names for the hierarchical category tree system.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Default values and constants
|
|
8
|
+
*/
|
|
9
|
+
export declare const CATEGORY_TREE_DEFAULTS: {
|
|
10
|
+
readonly maxDepth: 10;
|
|
11
|
+
readonly multiSelect: true;
|
|
12
|
+
readonly showProductCounts: true;
|
|
13
|
+
readonly searchable: true;
|
|
14
|
+
readonly includeEmpty: false;
|
|
15
|
+
readonly sortByName: true;
|
|
16
|
+
readonly expandAll: false;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* CSS class names for consistent styling
|
|
20
|
+
*/
|
|
21
|
+
export declare const CATEGORY_TREE_CLASSES: {
|
|
22
|
+
readonly container: "category-tree-container";
|
|
23
|
+
readonly node: "category-tree-node";
|
|
24
|
+
readonly item: "category-tree-item";
|
|
25
|
+
readonly checkbox: "category-checkbox";
|
|
26
|
+
readonly label: "category-label";
|
|
27
|
+
readonly expandButton: "category-expand-button";
|
|
28
|
+
readonly expandIcon: "category-expand-icon";
|
|
29
|
+
readonly children: "category-children";
|
|
30
|
+
readonly count: "category-count";
|
|
31
|
+
readonly loading: "category-tree-loading";
|
|
32
|
+
readonly empty: "category-tree-empty";
|
|
33
|
+
readonly search: "category-tree-search";
|
|
34
|
+
};
|
|
35
|
+
export type CategoryTreeDefaults = typeof CATEGORY_TREE_DEFAULTS;
|
|
36
|
+
export type CategoryTreeClasses = typeof CATEGORY_TREE_CLASSES;
|
|
37
|
+
/**
|
|
38
|
+
* Type guards for runtime type checking
|
|
39
|
+
*/
|
|
40
|
+
import type { HierarchicalCategory, CategoryTreeNode } from '../types/types/category-hierarchy';
|
|
41
|
+
export declare const isHierarchicalCategory: (obj: any) => obj is HierarchicalCategory;
|
|
42
|
+
export declare const isCategoryTreeNode: (obj: any) => obj is CategoryTreeNode;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { formatDate, formatDateTime } from './formatters';
|
|
2
|
+
/**
|
|
3
|
+
* Composable for date formatting utilities
|
|
4
|
+
*/
|
|
5
|
+
export declare function useDateTime(): {
|
|
6
|
+
formatDate: typeof formatDate;
|
|
7
|
+
formatRelativeTime: typeof formatRelativeTime;
|
|
8
|
+
formatTime: typeof formatTime;
|
|
9
|
+
formatDateOnly: typeof formatDateOnly;
|
|
10
|
+
isFutureDate: typeof isFutureDate;
|
|
11
|
+
isPastDate: typeof isPastDate;
|
|
12
|
+
isToday: typeof isToday;
|
|
13
|
+
formatDuration: typeof formatDuration;
|
|
14
|
+
formatDateTime: typeof formatDateTime;
|
|
15
|
+
};
|
|
16
|
+
/**
|
|
17
|
+
* Format a date string or Date object into a relative time string (e.g., "2 hours ago")
|
|
18
|
+
*/
|
|
19
|
+
export declare function formatRelativeTime(date: string | Date): string;
|
|
20
|
+
/**
|
|
21
|
+
* Format a date string or Date object into a time string (e.g., "14:30")
|
|
22
|
+
*/
|
|
23
|
+
export declare function formatTime(date: string | Date): string;
|
|
24
|
+
/**
|
|
25
|
+
* Format a date string or Date object into a date-only string (e.g., "Jan 15, 2024")
|
|
26
|
+
*/
|
|
27
|
+
export declare function formatDateOnly(date: string | Date): string;
|
|
28
|
+
/**
|
|
29
|
+
* Check if a date is in the future
|
|
30
|
+
*/
|
|
31
|
+
export declare function isFutureDate(date: string | Date): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Check if a date is in the past
|
|
34
|
+
*/
|
|
35
|
+
export declare function isPastDate(date: string | Date): boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Check if a date is today
|
|
38
|
+
*/
|
|
39
|
+
export declare function isToday(date: string | Date): boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Format a duration in milliseconds into a human-readable string
|
|
42
|
+
*/
|
|
43
|
+
export declare function formatDuration(ms: number): string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a debounced function that delays invoking the provided function
|
|
3
|
+
* until after the specified wait time has elapsed since the last time it was invoked.
|
|
4
|
+
*
|
|
5
|
+
* @param fn The function to debounce
|
|
6
|
+
* @param wait The number of milliseconds to delay
|
|
7
|
+
* @param immediate Whether to invoke the function on the leading edge of the timeout
|
|
8
|
+
* @returns A debounced version of the function
|
|
9
|
+
*/
|
|
10
|
+
export declare function debounce<T extends (...args: any[]) => unknown>(fn: T, wait?: number, immediate?: boolean): (...args: Parameters<T>) => void;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Debug Console Utilities
|
|
3
|
+
*
|
|
4
|
+
* Types and utilities for the Vue Debug Console system
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Network request captured by the debug console
|
|
8
|
+
*/
|
|
9
|
+
export interface NetworkRequest {
|
|
10
|
+
id: string;
|
|
11
|
+
method: string;
|
|
12
|
+
url: string;
|
|
13
|
+
status?: number;
|
|
14
|
+
statusText?: string;
|
|
15
|
+
type: string;
|
|
16
|
+
duration?: number;
|
|
17
|
+
timestamp: number;
|
|
18
|
+
requestHeaders?: Record<string, string>;
|
|
19
|
+
responseHeaders?: Record<string, string>;
|
|
20
|
+
requestBody?: string | FormData | Record<string, unknown>;
|
|
21
|
+
responseBody?: string | Record<string, unknown>;
|
|
22
|
+
error?: string;
|
|
23
|
+
expanded?: boolean;
|
|
24
|
+
count?: number;
|
|
25
|
+
timestamps?: number[];
|
|
26
|
+
durations?: number[];
|
|
27
|
+
isGrouped?: boolean;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Console log entry captured by the debug console
|
|
31
|
+
*/
|
|
32
|
+
export interface ConsoleEntry {
|
|
33
|
+
id: string;
|
|
34
|
+
type: 'log' | 'error' | 'warn' | 'info' | 'debug';
|
|
35
|
+
message: string;
|
|
36
|
+
timestamp: number;
|
|
37
|
+
stack?: string;
|
|
38
|
+
args?: unknown[];
|
|
39
|
+
count?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Debug console state
|
|
43
|
+
*/
|
|
44
|
+
export interface DebugConsoleState {
|
|
45
|
+
isOpen: boolean;
|
|
46
|
+
activeTab: 'console' | 'network' | 'storage' | 'vue';
|
|
47
|
+
consoleLogs: ConsoleEntry[];
|
|
48
|
+
networkRequests: NetworkRequest[];
|
|
49
|
+
filters: {
|
|
50
|
+
console: string;
|
|
51
|
+
network: 'all' | 'success' | 'error';
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Utility function to generate unique IDs for debug entries
|
|
56
|
+
*/
|
|
57
|
+
export declare function generateDebugId(): string;
|
|
58
|
+
/**
|
|
59
|
+
* Format timestamp for display
|
|
60
|
+
*/
|
|
61
|
+
export declare function formatDebugTimestamp(timestamp: number): string;
|
|
62
|
+
/**
|
|
63
|
+
* Check if a network request has an error status
|
|
64
|
+
*/
|
|
65
|
+
export declare function isErrorRequest(request: NetworkRequest): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Check if a network request is successful
|
|
68
|
+
*/
|
|
69
|
+
export declare function isSuccessRequest(request: NetworkRequest): boolean;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Strips metadata (like min, max, step) from filter arguments,
|
|
3
|
+
* returning only the key-value pairs for the backend or PIXI.
|
|
4
|
+
* Corrected based on expert diff to handle hex color strings.
|
|
5
|
+
*/
|
|
6
|
+
export declare function stripMeta(obj: Record<string, unknown>): Record<string, string | number | boolean>;
|