@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,62 @@
|
|
|
1
|
+
export interface BoxShipment {
|
|
2
|
+
box_id: string | number;
|
|
3
|
+
dimensions?: string;
|
|
4
|
+
quantity?: number;
|
|
5
|
+
is_inner_box?: boolean;
|
|
6
|
+
box?: {
|
|
7
|
+
id: string | number;
|
|
8
|
+
name?: string;
|
|
9
|
+
dimensions?: string;
|
|
10
|
+
is_inner_box?: boolean;
|
|
11
|
+
length?: number | string;
|
|
12
|
+
width?: number | string;
|
|
13
|
+
height?: number | string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export interface ShipmentItem {
|
|
17
|
+
id: string | number;
|
|
18
|
+
product_uuid?: string;
|
|
19
|
+
product_name: string;
|
|
20
|
+
sku?: string;
|
|
21
|
+
quantity: number;
|
|
22
|
+
weight?: number | string;
|
|
23
|
+
box_id?: string | number;
|
|
24
|
+
product?: {
|
|
25
|
+
name: string;
|
|
26
|
+
sku?: string;
|
|
27
|
+
uuid?: string;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface Shipment {
|
|
31
|
+
id: string | number;
|
|
32
|
+
uuid?: string;
|
|
33
|
+
order_id: string | number;
|
|
34
|
+
status?: string;
|
|
35
|
+
carrier?: string;
|
|
36
|
+
service?: string;
|
|
37
|
+
tracking_number?: string;
|
|
38
|
+
tracking_url?: string;
|
|
39
|
+
package_type?: string;
|
|
40
|
+
weight?: number | string;
|
|
41
|
+
shipped_at?: string;
|
|
42
|
+
estimated_delivery?: string;
|
|
43
|
+
delivered_at?: string;
|
|
44
|
+
shipping_cost?: number | string;
|
|
45
|
+
insurance_cost?: number | string;
|
|
46
|
+
boxShipments?: BoxShipment[];
|
|
47
|
+
items?: ShipmentItem[];
|
|
48
|
+
created_at?: string;
|
|
49
|
+
updated_at?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface BoxSearchResult {
|
|
52
|
+
id: string | number;
|
|
53
|
+
reference: string;
|
|
54
|
+
name?: string;
|
|
55
|
+
length: number;
|
|
56
|
+
width: number;
|
|
57
|
+
height: number;
|
|
58
|
+
max_weight: number;
|
|
59
|
+
empty_weight: number;
|
|
60
|
+
available_quantity: number;
|
|
61
|
+
outer_volume?: number;
|
|
62
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shipping type definitions for the application
|
|
3
|
+
*/
|
|
4
|
+
export interface ShippingRate {
|
|
5
|
+
rate_id: string;
|
|
6
|
+
id?: string | number;
|
|
7
|
+
carrier: string;
|
|
8
|
+
service?: string;
|
|
9
|
+
service_code?: string;
|
|
10
|
+
service_name?: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
delivery_days?: number | {
|
|
13
|
+
min: number;
|
|
14
|
+
max: number;
|
|
15
|
+
};
|
|
16
|
+
min_delivery_days?: number;
|
|
17
|
+
max_delivery_days?: number;
|
|
18
|
+
rate?: number;
|
|
19
|
+
total_price?: string | number;
|
|
20
|
+
currency?: string;
|
|
21
|
+
is_pickup?: boolean;
|
|
22
|
+
transit_time?: string;
|
|
23
|
+
guaranteed_service?: boolean;
|
|
24
|
+
uuid?: string;
|
|
25
|
+
sequence_id?: string | number;
|
|
26
|
+
sequence_name?: string;
|
|
27
|
+
is_combined_rate?: boolean;
|
|
28
|
+
mock?: boolean;
|
|
29
|
+
packages_details?: unknown[];
|
|
30
|
+
[key: string]: any;
|
|
31
|
+
}
|
|
32
|
+
export interface PickupLocation {
|
|
33
|
+
uuid: string;
|
|
34
|
+
name: string;
|
|
35
|
+
description?: string;
|
|
36
|
+
address_line1: string;
|
|
37
|
+
address_line2?: string;
|
|
38
|
+
city: string;
|
|
39
|
+
state: string;
|
|
40
|
+
state_code?: string;
|
|
41
|
+
postal_code: string;
|
|
42
|
+
country: string;
|
|
43
|
+
country_code: string;
|
|
44
|
+
phone?: string;
|
|
45
|
+
email?: string;
|
|
46
|
+
latitude?: number;
|
|
47
|
+
longitude?: number;
|
|
48
|
+
hours_of_operation?: string;
|
|
49
|
+
instructions?: string;
|
|
50
|
+
is_active: boolean;
|
|
51
|
+
sort_order?: number;
|
|
52
|
+
created_at: string;
|
|
53
|
+
updated_at: string;
|
|
54
|
+
}
|
|
55
|
+
export interface ShippingMethod {
|
|
56
|
+
id: string;
|
|
57
|
+
name: string;
|
|
58
|
+
description?: string;
|
|
59
|
+
price: number;
|
|
60
|
+
currency: string;
|
|
61
|
+
carrier: string;
|
|
62
|
+
service_code: string;
|
|
63
|
+
is_active: boolean;
|
|
64
|
+
sort_order?: number;
|
|
65
|
+
is_pickup?: boolean;
|
|
66
|
+
created_at: string;
|
|
67
|
+
updated_at: string;
|
|
68
|
+
}
|
|
69
|
+
export interface ShippingQuoteRequest {
|
|
70
|
+
destination: {
|
|
71
|
+
address1: string;
|
|
72
|
+
address2?: string;
|
|
73
|
+
city: string;
|
|
74
|
+
state: string;
|
|
75
|
+
postal_code: string;
|
|
76
|
+
country: string;
|
|
77
|
+
residential: boolean;
|
|
78
|
+
};
|
|
79
|
+
items: {
|
|
80
|
+
quantity: number;
|
|
81
|
+
weight: number;
|
|
82
|
+
length?: number;
|
|
83
|
+
width?: number;
|
|
84
|
+
height?: number;
|
|
85
|
+
price?: number;
|
|
86
|
+
}[];
|
|
87
|
+
options?: {
|
|
88
|
+
include_pickup?: boolean;
|
|
89
|
+
currency?: string;
|
|
90
|
+
delivery_confirmation?: boolean;
|
|
91
|
+
saturday_delivery?: boolean;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export interface ShippingQuoteResponse {
|
|
95
|
+
rates: ShippingRate[];
|
|
96
|
+
pickup_locations?: PickupLocation[];
|
|
97
|
+
errors?: string[];
|
|
98
|
+
}
|
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
export interface CardStats {
|
|
2
|
+
primary: string;
|
|
3
|
+
secondary: string;
|
|
4
|
+
trend?: string;
|
|
5
|
+
}
|
|
6
|
+
export interface QuickAction {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
icon?: string;
|
|
10
|
+
variant?: 'default' | 'primary' | 'secondary' | 'danger';
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
data?: any;
|
|
13
|
+
}
|
|
14
|
+
export interface MenuAction {
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
icon: string;
|
|
18
|
+
data?: any;
|
|
19
|
+
}
|
|
20
|
+
export interface ShopProduct {
|
|
21
|
+
id: number;
|
|
22
|
+
name: string;
|
|
23
|
+
price: string;
|
|
24
|
+
originalPrice?: string;
|
|
25
|
+
image: string;
|
|
26
|
+
onSale?: boolean;
|
|
27
|
+
salePercent?: number;
|
|
28
|
+
rating?: number;
|
|
29
|
+
reviewCount?: number;
|
|
30
|
+
isNew: boolean;
|
|
31
|
+
}
|
|
32
|
+
export interface ProductCategory {
|
|
33
|
+
id: number;
|
|
34
|
+
name: string;
|
|
35
|
+
icon: string;
|
|
36
|
+
newCount: number;
|
|
37
|
+
}
|
|
38
|
+
export interface WishlistItem {
|
|
39
|
+
id: number;
|
|
40
|
+
name: string;
|
|
41
|
+
price: string;
|
|
42
|
+
image: string;
|
|
43
|
+
onSale: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface DashboardMetric {
|
|
46
|
+
id: number;
|
|
47
|
+
label: string;
|
|
48
|
+
value: string;
|
|
49
|
+
change: string;
|
|
50
|
+
changeType: 'positive' | 'negative' | 'neutral';
|
|
51
|
+
changeIcon: string;
|
|
52
|
+
icon: string;
|
|
53
|
+
}
|
|
54
|
+
export interface DashboardActivity {
|
|
55
|
+
id: number;
|
|
56
|
+
type: string;
|
|
57
|
+
icon: string;
|
|
58
|
+
text: string;
|
|
59
|
+
timestamp: Date;
|
|
60
|
+
badge?: {
|
|
61
|
+
text: string;
|
|
62
|
+
type: 'success' | 'info' | 'warning' | 'error';
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export interface AdminAction {
|
|
66
|
+
id: number;
|
|
67
|
+
label: string;
|
|
68
|
+
icon: string;
|
|
69
|
+
variant: 'primary' | 'secondary' | 'danger';
|
|
70
|
+
count: number;
|
|
71
|
+
route: string;
|
|
72
|
+
}
|
|
73
|
+
export interface OrderPreview {
|
|
74
|
+
id: number;
|
|
75
|
+
number: string;
|
|
76
|
+
status: string;
|
|
77
|
+
total: string;
|
|
78
|
+
}
|
|
79
|
+
export interface NavigationItem {
|
|
80
|
+
id: string;
|
|
81
|
+
label: string;
|
|
82
|
+
icon: string;
|
|
83
|
+
route: string;
|
|
84
|
+
badge?: number | string;
|
|
85
|
+
children?: NavigationItem[];
|
|
86
|
+
}
|
|
87
|
+
export interface NavigationSection {
|
|
88
|
+
id: string;
|
|
89
|
+
title: string;
|
|
90
|
+
items: NavigationItem[];
|
|
91
|
+
collapsible?: boolean;
|
|
92
|
+
collapsed?: boolean;
|
|
93
|
+
}
|
|
94
|
+
export interface ClassicSidebarConfig {
|
|
95
|
+
showUserProfile: boolean;
|
|
96
|
+
showSearch: boolean;
|
|
97
|
+
collapsible: boolean;
|
|
98
|
+
theme: 'light' | 'dark' | 'auto';
|
|
99
|
+
}
|
|
100
|
+
export interface IconSidebarConfig {
|
|
101
|
+
showTooltips: boolean;
|
|
102
|
+
expandOnHover: boolean;
|
|
103
|
+
position: 'left' | 'right';
|
|
104
|
+
}
|
|
105
|
+
export interface GroupedSidebarConfig {
|
|
106
|
+
sections: NavigationSection[];
|
|
107
|
+
allowReorder: boolean;
|
|
108
|
+
showSectionIcons: boolean;
|
|
109
|
+
}
|
|
110
|
+
export interface FloatingSidebarConfig {
|
|
111
|
+
position: 'left' | 'right';
|
|
112
|
+
autoHide: boolean;
|
|
113
|
+
backdrop: boolean;
|
|
114
|
+
width: number;
|
|
115
|
+
}
|
|
116
|
+
export interface TabbedSidebarConfig {
|
|
117
|
+
tabs: TabConfig[];
|
|
118
|
+
defaultTab: string;
|
|
119
|
+
tabPosition: 'top' | 'bottom';
|
|
120
|
+
}
|
|
121
|
+
export interface TabConfig {
|
|
122
|
+
id: string;
|
|
123
|
+
label: string;
|
|
124
|
+
icon: string;
|
|
125
|
+
content: NavigationItem[];
|
|
126
|
+
badge?: number | string;
|
|
127
|
+
}
|
|
128
|
+
export interface CardSidebarConfig {
|
|
129
|
+
cards: CardConfig[];
|
|
130
|
+
layout: 'grid' | 'list';
|
|
131
|
+
allowCustomization: boolean;
|
|
132
|
+
}
|
|
133
|
+
export interface CardConfig {
|
|
134
|
+
id: string;
|
|
135
|
+
type: string;
|
|
136
|
+
title: string;
|
|
137
|
+
icon?: string;
|
|
138
|
+
color: string;
|
|
139
|
+
visible: boolean;
|
|
140
|
+
order: number;
|
|
141
|
+
stats?: CardStats;
|
|
142
|
+
actions?: QuickAction[];
|
|
143
|
+
}
|
|
144
|
+
export interface SidebarProps {
|
|
145
|
+
collapsed?: boolean;
|
|
146
|
+
variant?: 'classic' | 'icon' | 'grouped' | 'floating' | 'tabbed' | 'cards';
|
|
147
|
+
config?: any;
|
|
148
|
+
theme?: 'light' | 'dark' | 'auto';
|
|
149
|
+
width?: number;
|
|
150
|
+
position?: 'left' | 'right';
|
|
151
|
+
}
|
|
152
|
+
export interface SidebarState {
|
|
153
|
+
collapsed: boolean;
|
|
154
|
+
activeItem?: string;
|
|
155
|
+
activeTab?: string;
|
|
156
|
+
searchQuery: string;
|
|
157
|
+
customizations: Record<string, any>;
|
|
158
|
+
}
|
|
159
|
+
export interface LayoutConfig {
|
|
160
|
+
sidebar: SidebarProps;
|
|
161
|
+
header: {
|
|
162
|
+
show: boolean;
|
|
163
|
+
height: number;
|
|
164
|
+
sticky: boolean;
|
|
165
|
+
};
|
|
166
|
+
footer: {
|
|
167
|
+
show: boolean;
|
|
168
|
+
height: number;
|
|
169
|
+
};
|
|
170
|
+
content: {
|
|
171
|
+
padding: number;
|
|
172
|
+
maxWidth?: number;
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
export interface ThemeConfig {
|
|
176
|
+
colors: {
|
|
177
|
+
primary: string;
|
|
178
|
+
secondary: string;
|
|
179
|
+
accent: string;
|
|
180
|
+
background: string;
|
|
181
|
+
surface: string;
|
|
182
|
+
text: string;
|
|
183
|
+
border: string;
|
|
184
|
+
};
|
|
185
|
+
spacing: {
|
|
186
|
+
xs: string;
|
|
187
|
+
sm: string;
|
|
188
|
+
md: string;
|
|
189
|
+
lg: string;
|
|
190
|
+
xl: string;
|
|
191
|
+
};
|
|
192
|
+
borderRadius: {
|
|
193
|
+
sm: string;
|
|
194
|
+
md: string;
|
|
195
|
+
lg: string;
|
|
196
|
+
};
|
|
197
|
+
shadows: {
|
|
198
|
+
sm: string;
|
|
199
|
+
md: string;
|
|
200
|
+
lg: string;
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
export interface AnimationConfig {
|
|
204
|
+
duration: number;
|
|
205
|
+
easing: string;
|
|
206
|
+
disabled: boolean;
|
|
207
|
+
}
|
|
208
|
+
export interface BreakpointConfig {
|
|
209
|
+
mobile: number;
|
|
210
|
+
tablet: number;
|
|
211
|
+
desktop: number;
|
|
212
|
+
wide: number;
|
|
213
|
+
}
|
|
214
|
+
export interface AccessibilityConfig {
|
|
215
|
+
reduceMotion: boolean;
|
|
216
|
+
highContrast: boolean;
|
|
217
|
+
focusVisible: boolean;
|
|
218
|
+
screenReader: boolean;
|
|
219
|
+
}
|
|
220
|
+
export interface SidebarAnalytics {
|
|
221
|
+
clickCount: Record<string, number>;
|
|
222
|
+
timeSpent: Record<string, number>;
|
|
223
|
+
searchQueries: string[];
|
|
224
|
+
customizations: Record<string, any>;
|
|
225
|
+
}
|
|
226
|
+
export type { CardStats as Variation6CardStats, QuickAction as Variation6QuickAction, MenuAction as Variation6MenuAction, ShopProduct as Variation6ShopProduct, ProductCategory as Variation6ProductCategory, WishlistItem as Variation6WishlistItem, DashboardMetric as Variation6DashboardMetric, DashboardActivity as Variation6DashboardActivity, AdminAction as Variation6AdminAction, OrderPreview as Variation6OrderPreview, CardConfig as Variation6CardConfig, CardSidebarConfig as Variation6Config };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared specification types for component and storybook use
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Represents a value in a product specification
|
|
6
|
+
*/
|
|
7
|
+
export interface SpecificationValue {
|
|
8
|
+
/**
|
|
9
|
+
* The actual value of the specification
|
|
10
|
+
* @example '16' for RAM size
|
|
11
|
+
*/
|
|
12
|
+
value: string | number;
|
|
13
|
+
/**
|
|
14
|
+
* Optional unit for the value
|
|
15
|
+
* @example 'GB' for RAM size
|
|
16
|
+
*/
|
|
17
|
+
unit?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Optional highlight to show if this value is better/worse in comparison
|
|
20
|
+
*/
|
|
21
|
+
highlight?: 'better' | 'worse' | 'same';
|
|
22
|
+
/**
|
|
23
|
+
* Optional tooltip to explain the value
|
|
24
|
+
* @example 'More RAM allows for better multitasking'
|
|
25
|
+
*/
|
|
26
|
+
tooltip?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Represents a full product specification with metadata
|
|
30
|
+
*/
|
|
31
|
+
export interface Specification {
|
|
32
|
+
/**
|
|
33
|
+
* Icon name in the format 'collection:icon-name'
|
|
34
|
+
* @example 'heroicons:cpu-chip'
|
|
35
|
+
*/
|
|
36
|
+
icon: string;
|
|
37
|
+
/**
|
|
38
|
+
* Label for the specification
|
|
39
|
+
* @example 'Processor'
|
|
40
|
+
*/
|
|
41
|
+
label: string;
|
|
42
|
+
/**
|
|
43
|
+
* Value for the specification
|
|
44
|
+
* @example '16GB Unified Memory' or a SpecificationValue object
|
|
45
|
+
*/
|
|
46
|
+
value: string | SpecificationValue;
|
|
47
|
+
/**
|
|
48
|
+
* Optional group name for organizing specifications
|
|
49
|
+
* @example 'Performance'
|
|
50
|
+
*/
|
|
51
|
+
group?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Optional key for comparison matching
|
|
54
|
+
* @example 'ram_size'
|
|
55
|
+
*/
|
|
56
|
+
key?: string;
|
|
57
|
+
/**
|
|
58
|
+
* Optional comparison function for custom comparison logic
|
|
59
|
+
* @example (a, b) => Number(a.value) - Number(b.value)
|
|
60
|
+
*/
|
|
61
|
+
compare?: (a: SpecificationValue, b: SpecificationValue) => number;
|
|
62
|
+
/**
|
|
63
|
+
* Optional unit conversion functions
|
|
64
|
+
* @example {
|
|
65
|
+
* kg: (v) => v,
|
|
66
|
+
* lbs: (v) => v * 2.20462
|
|
67
|
+
* }
|
|
68
|
+
*/
|
|
69
|
+
conversions?: Record<string, (value: number) => number>;
|
|
70
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TypeScript types for dynamic specification faceting system
|
|
3
|
+
*
|
|
4
|
+
* These types support the unified specification loading pattern
|
|
5
|
+
* across SearchModal and CategoryInstantSearch components
|
|
6
|
+
*/
|
|
7
|
+
import type { Ref } from 'vue';
|
|
8
|
+
export interface SpecificationType {
|
|
9
|
+
uuid: string;
|
|
10
|
+
title: string;
|
|
11
|
+
slug: string;
|
|
12
|
+
name: string;
|
|
13
|
+
displayName: string;
|
|
14
|
+
field_type: 'text' | 'number' | 'select' | 'boolean' | 'color' | 'date';
|
|
15
|
+
searchable: boolean;
|
|
16
|
+
display_in_filters: boolean;
|
|
17
|
+
sort_order: number;
|
|
18
|
+
created_at: string;
|
|
19
|
+
updated_at: string;
|
|
20
|
+
}
|
|
21
|
+
export interface TransformedSpecificationType {
|
|
22
|
+
/** Slug for internal use (matches FilterSidebar expectations) */
|
|
23
|
+
name: string;
|
|
24
|
+
/** Title for UI display (matches FilterSidebar expectations) */
|
|
25
|
+
displayName: string;
|
|
26
|
+
/** Original slug from API */
|
|
27
|
+
slug: string;
|
|
28
|
+
/** Original title from API */
|
|
29
|
+
title: string;
|
|
30
|
+
/** Unique identifier */
|
|
31
|
+
uuid: string;
|
|
32
|
+
/** Field type for input hints */
|
|
33
|
+
field_type: string;
|
|
34
|
+
/** Whether this specification is searchable */
|
|
35
|
+
searchable: boolean;
|
|
36
|
+
/** Whether to display in filter sidebar */
|
|
37
|
+
display_in_filters: boolean;
|
|
38
|
+
/** Sort order for display */
|
|
39
|
+
sort_order: number;
|
|
40
|
+
}
|
|
41
|
+
export interface SpecificationError {
|
|
42
|
+
type: 'network' | 'api' | 'parsing' | 'cache' | 'timeout' | 'discovery' | 'typesense';
|
|
43
|
+
message: string;
|
|
44
|
+
context: Record<string, any>;
|
|
45
|
+
retryable: boolean;
|
|
46
|
+
userMessage: string;
|
|
47
|
+
timestamp: Date;
|
|
48
|
+
statusCode?: number;
|
|
49
|
+
}
|
|
50
|
+
export interface SpecificationLoadingState {
|
|
51
|
+
loading: boolean;
|
|
52
|
+
error: SpecificationError | null;
|
|
53
|
+
lastLoaded: Date | null;
|
|
54
|
+
retryCount: number;
|
|
55
|
+
}
|
|
56
|
+
export interface SpecificationCache {
|
|
57
|
+
specifications: TransformedSpecificationType[];
|
|
58
|
+
categoryUuid?: string;
|
|
59
|
+
timestamp: Date;
|
|
60
|
+
ttl: number;
|
|
61
|
+
}
|
|
62
|
+
export interface SpecificationDiscoveryResult {
|
|
63
|
+
/** Available spec_type_slugs fields found in Typesense schema */
|
|
64
|
+
availableFields: string[];
|
|
65
|
+
/** Fields that have actual data for the current category */
|
|
66
|
+
fieldsWithData: string[];
|
|
67
|
+
/** Discovery timestamp */
|
|
68
|
+
timestamp: Date;
|
|
69
|
+
/** Category this discovery applies to */
|
|
70
|
+
categoryUuid?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface RetryOptions {
|
|
73
|
+
maxRetries: number;
|
|
74
|
+
retryDelay: number;
|
|
75
|
+
retryBackoff: number;
|
|
76
|
+
retryableErrors: string[];
|
|
77
|
+
}
|
|
78
|
+
export interface FallbackStrategy {
|
|
79
|
+
type: 'cache' | 'empty' | 'hardcoded' | 'graceful';
|
|
80
|
+
data?: TransformedSpecificationType[];
|
|
81
|
+
message?: string;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Options for useSpecificationTypes composable
|
|
85
|
+
*/
|
|
86
|
+
export interface UseSpecificationTypesOptions {
|
|
87
|
+
/** Category UUID to filter specifications for */
|
|
88
|
+
categoryUuid?: string;
|
|
89
|
+
/** Cache key for storing results */
|
|
90
|
+
cacheKey?: string;
|
|
91
|
+
/** Retry configuration */
|
|
92
|
+
retryOptions?: Partial<RetryOptions>;
|
|
93
|
+
/** Fallback strategy when loading fails */
|
|
94
|
+
fallbackStrategy?: FallbackStrategy;
|
|
95
|
+
/** Cache duration in milliseconds */
|
|
96
|
+
cacheDuration?: number;
|
|
97
|
+
/** Whether to enable caching */
|
|
98
|
+
enableCache?: boolean;
|
|
99
|
+
/** Whether to load immediately on composable creation */
|
|
100
|
+
autoLoad?: boolean;
|
|
101
|
+
/** Whether to filter only specifications marked for display in filters */
|
|
102
|
+
filterDisplayOnly?: boolean;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Return type for useSpecificationTypes composable
|
|
106
|
+
*/
|
|
107
|
+
export interface UseSpecificationTypesReturn {
|
|
108
|
+
/** Reactive specifications array */
|
|
109
|
+
specifications: Ref<TransformedSpecificationType[]>;
|
|
110
|
+
/** Loading state */
|
|
111
|
+
loading: Ref<boolean>;
|
|
112
|
+
/** Current error state */
|
|
113
|
+
error: Ref<SpecificationError | null>;
|
|
114
|
+
/** Retry the last failed operation */
|
|
115
|
+
retry: () => Promise<void>;
|
|
116
|
+
/** Force refresh specifications */
|
|
117
|
+
refresh: () => Promise<void>;
|
|
118
|
+
/** Clear current error */
|
|
119
|
+
clearError: () => void;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Options for useSpecificationDiscovery composable
|
|
123
|
+
*/
|
|
124
|
+
export interface UseSpecificationDiscoveryOptions {
|
|
125
|
+
/** Category UUID to discover specifications for */
|
|
126
|
+
categoryUuid: string;
|
|
127
|
+
/** Maximum number of specifications to discover */
|
|
128
|
+
maxSpecifications?: number;
|
|
129
|
+
/** Whether to cache discovery results */
|
|
130
|
+
enableCache?: boolean;
|
|
131
|
+
/** Cache duration for discovery results */
|
|
132
|
+
cacheDuration?: number;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Return type for useSpecificationDiscovery composable
|
|
136
|
+
*/
|
|
137
|
+
export interface UseSpecificationDiscoveryReturn {
|
|
138
|
+
/** Available specification fields from Typesense */
|
|
139
|
+
availableSpecifications: Ref<string[]>;
|
|
140
|
+
/** Fields with actual data */
|
|
141
|
+
fieldsWithData: Ref<string[]>;
|
|
142
|
+
/** Discovery loading state */
|
|
143
|
+
loading: Ref<boolean>;
|
|
144
|
+
/** Discovery error state */
|
|
145
|
+
error: Ref<SpecificationError | null>;
|
|
146
|
+
/** Trigger discovery process */
|
|
147
|
+
discover: () => Promise<void>;
|
|
148
|
+
/** Clear discovery cache */
|
|
149
|
+
clearCache: () => void;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Recovery strategy options for error handling
|
|
153
|
+
*/
|
|
154
|
+
export interface RecoveryStrategy {
|
|
155
|
+
/** Strategy type */
|
|
156
|
+
type: 'retry' | 'fallback' | 'cache' | 'graceful' | 'none';
|
|
157
|
+
/** Whether to show user message */
|
|
158
|
+
showUserMessage: boolean;
|
|
159
|
+
/** Custom recovery function */
|
|
160
|
+
execute?: () => Promise<TransformedSpecificationType[]>;
|
|
161
|
+
/** Fallback data to use */
|
|
162
|
+
fallbackData?: TransformedSpecificationType[];
|
|
163
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Store-related type definitions
|
|
3
|
+
*/
|
|
4
|
+
export interface Store {
|
|
5
|
+
uuid: string;
|
|
6
|
+
name: string;
|
|
7
|
+
slug: string;
|
|
8
|
+
status: number;
|
|
9
|
+
type: string;
|
|
10
|
+
parent_store_uuid?: string | null;
|
|
11
|
+
contact_email?: string;
|
|
12
|
+
phone?: string;
|
|
13
|
+
profile?: {
|
|
14
|
+
description?: string;
|
|
15
|
+
address?: string;
|
|
16
|
+
city?: string;
|
|
17
|
+
state?: string;
|
|
18
|
+
zip?: string;
|
|
19
|
+
country?: string;
|
|
20
|
+
website?: string;
|
|
21
|
+
social_media?: Record<string, string>;
|
|
22
|
+
};
|
|
23
|
+
owner_uuid: string;
|
|
24
|
+
version: number;
|
|
25
|
+
theme_name?: string;
|
|
26
|
+
layout_config?: any;
|
|
27
|
+
created_at: string;
|
|
28
|
+
updated_at: string;
|
|
29
|
+
logo?: Media;
|
|
30
|
+
banner_url?: string;
|
|
31
|
+
products_count?: number;
|
|
32
|
+
rating?: number;
|
|
33
|
+
is_featured?: boolean;
|
|
34
|
+
return_policy?: string;
|
|
35
|
+
shipping_policy?: string;
|
|
36
|
+
warranty_policy?: string;
|
|
37
|
+
is_verified?: boolean;
|
|
38
|
+
fast_shipping?: boolean;
|
|
39
|
+
fulfillment_rate?: number;
|
|
40
|
+
avg_response_time?: number;
|
|
41
|
+
}
|
|
42
|
+
export interface StoreContextState {
|
|
43
|
+
currentStore: Store | null;
|
|
44
|
+
availableStores: Store[];
|
|
45
|
+
loading: boolean;
|
|
46
|
+
error: string | null;
|
|
47
|
+
resolutionMethod: StoreResolutionMethod | null;
|
|
48
|
+
}
|
|
49
|
+
export declare enum StoreResolutionMethod {
|
|
50
|
+
DOMAIN = "domain",
|
|
51
|
+
HEADER = "header",
|
|
52
|
+
SESSION = "session",
|
|
53
|
+
DEFAULT = "default",
|
|
54
|
+
MANUAL = "manual"
|
|
55
|
+
}
|
|
56
|
+
export interface StoreSettings {
|
|
57
|
+
store_uuid: string;
|
|
58
|
+
key: string;
|
|
59
|
+
value: any;
|
|
60
|
+
is_global: boolean;
|
|
61
|
+
created_at: string;
|
|
62
|
+
updated_at: string;
|
|
63
|
+
}
|
|
64
|
+
import type { Media } from './api';
|