@kustomizer/visual-editor 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kustomizer/visual-editor",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Angular visual page builder for Shopify storefronts — drag & drop editor with component registry, NgRx state, SSR support, and iframe preview",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "keywords": [
@@ -1448,7 +1448,7 @@ declare class VisualEditorComponent implements OnInit, OnDestroy {
1448
1448
  private readonly config;
1449
1449
  private readonly dndService;
1450
1450
  private readonly iframeBridge;
1451
- private readonly storefrontUrl;
1451
+ private readonly storefrontUrlService;
1452
1452
  private readonly sanitizer;
1453
1453
  private readonly destroy$;
1454
1454
  readonly showBackButton: _angular_core.Signal<boolean>;
@@ -2014,6 +2014,31 @@ declare class IframeBridgeService implements OnDestroy {
2014
2014
  static ɵprov: _angular_core.ɵɵInjectableDeclaration<IframeBridgeService>;
2015
2015
  }
2016
2016
 
2017
+ /**
2018
+ * Service that holds and dynamically loads the per-merchant storefront URL.
2019
+ *
2020
+ * Resolution order:
2021
+ * 1. Metafield value loaded from GET /api/storefront-url (per-shop)
2022
+ * 2. Static STOREFRONT_URL injection token (env var / window global fallback)
2023
+ * 3. Empty string (editor works with local components only)
2024
+ */
2025
+ declare class StorefrontUrlService {
2026
+ private readonly http;
2027
+ private readonly staticUrl;
2028
+ /** Current storefront URL — reactive signal used by the editor and iframe. */
2029
+ readonly url: _angular_core.WritableSignal<string>;
2030
+ /**
2031
+ * Load the storefront URL from the backend metafield.
2032
+ * Falls back to the static STOREFRONT_URL token if the endpoint
2033
+ * returns no value or fails.
2034
+ *
2035
+ * Called during APP_INITIALIZER.
2036
+ */
2037
+ load(): Promise<void>;
2038
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StorefrontUrlService, never>;
2039
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<StorefrontUrlService>;
2040
+ }
2041
+
2017
2042
  declare class DragDropService {
2018
2043
  private readonly store;
2019
2044
  private readonly registry;
@@ -2044,5 +2069,5 @@ declare class VisualEditor {
2044
2069
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<VisualEditor, "lib-visual-editor", never, {}, {}, never, never, true, never>;
2045
2070
  }
2046
2071
 
2047
- export { BlockTreeItemComponent, CREATE_METAFIELD_DEFINITION_MUTATION, ComponentRegistryService, DEFAULT_ROUTER_NAVIGATION_CONFIG, DEFAULT_VISUAL_EDITOR_CONFIG, DELETE_METAFIELDS_MUTATION, DELETE_METAFIELD_DEFINITION_MUTATION, DefaultRouterNavigationService, DragDropService, DynamicRendererComponent, EDITOR_COMPONENT_DEFINITIONS, FILES_QUERY, GET_METAFIELD_DEFINITION_QUERY, GET_SHOP_ID_QUERY, GET_SHOP_METAFIELD_QUERY, INDEX_KEY, IframeBridgeService, InputPageLoadingStrategy, MAX_METAFIELD_SIZE, ManifestLoaderService, NAMESPACE, PageLoadingStrategy, PageManagerComponent, PageService, PageShopifyRepository, PageStorefrontRepository, ROUTER_NAVIGATION_CONFIG, RoutePageLoadingStrategy, SET_METAFIELD_MUTATION, SHOPIFY_CONFIG, STOREFRONT_CONFIG, STOREFRONT_URL, ShopifyFilePickerComponent, ShopifyFilesService, ShopifyGraphQLClient, ShopifyMetafieldRepository, SlotRendererComponent, StorefrontGraphQLClient, StorefrontMetafieldRepository, USE_IN_MEMORY_PAGES, VISUAL_EDITOR_CONFIG, VISUAL_EDITOR_FEATURE_KEY, VisualEditor, VisualEditorActions, VisualEditorComponent, VisualEditorFacade, VisualEditorNavigation, initialVisualEditorState, provideEditorComponents, provideVisualEditor, provideVisualEditorStore, selectBlocksForSection, selectBlocksForSlot, selectCanRedo, selectCanUndo, selectCurrentPage, selectCurrentPageId, selectCurrentPageSlug, selectCurrentPageStatus, selectCurrentPageTitle, selectCurrentPageVersion, selectDraggedElementId, selectElementById, selectHistory, selectHistoryIndex, selectHistoryLength, selectIsDirty, selectIsDragging, selectIsPageLoaded, selectLastAction, selectSectionById, selectSections, selectSelectedBlock, selectSelectedBlockSlotName, selectSelectedElement, selectSelectedElementId, selectSelectedElementType, selectSelectedSection, selectSelectedSectionId, selectSelectedSectionType, selectVisualEditorState, visualEditorReducer };
2072
+ export { BlockTreeItemComponent, CREATE_METAFIELD_DEFINITION_MUTATION, ComponentRegistryService, DEFAULT_ROUTER_NAVIGATION_CONFIG, DEFAULT_VISUAL_EDITOR_CONFIG, DELETE_METAFIELDS_MUTATION, DELETE_METAFIELD_DEFINITION_MUTATION, DefaultRouterNavigationService, DragDropService, DynamicRendererComponent, EDITOR_COMPONENT_DEFINITIONS, FILES_QUERY, GET_METAFIELD_DEFINITION_QUERY, GET_SHOP_ID_QUERY, GET_SHOP_METAFIELD_QUERY, INDEX_KEY, IframeBridgeService, InputPageLoadingStrategy, MAX_METAFIELD_SIZE, ManifestLoaderService, NAMESPACE, PageLoadingStrategy, PageManagerComponent, PageService, PageShopifyRepository, PageStorefrontRepository, ROUTER_NAVIGATION_CONFIG, RoutePageLoadingStrategy, SET_METAFIELD_MUTATION, SHOPIFY_CONFIG, STOREFRONT_CONFIG, STOREFRONT_URL, ShopifyFilePickerComponent, ShopifyFilesService, ShopifyGraphQLClient, ShopifyMetafieldRepository, SlotRendererComponent, StorefrontGraphQLClient, StorefrontMetafieldRepository, StorefrontUrlService, USE_IN_MEMORY_PAGES, VISUAL_EDITOR_CONFIG, VISUAL_EDITOR_FEATURE_KEY, VisualEditor, VisualEditorActions, VisualEditorComponent, VisualEditorFacade, VisualEditorNavigation, initialVisualEditorState, provideEditorComponents, provideVisualEditor, provideVisualEditorStore, selectBlocksForSection, selectBlocksForSlot, selectCanRedo, selectCanUndo, selectCurrentPage, selectCurrentPageId, selectCurrentPageSlug, selectCurrentPageStatus, selectCurrentPageTitle, selectCurrentPageVersion, selectDraggedElementId, selectElementById, selectHistory, selectHistoryIndex, selectHistoryLength, selectIsDirty, selectIsDragging, selectIsPageLoaded, selectLastAction, selectSectionById, selectSections, selectSelectedBlock, selectSelectedBlockSlotName, selectSelectedElement, selectSelectedElementId, selectSelectedElementType, selectSelectedSection, selectSelectedSectionId, selectSelectedSectionType, selectVisualEditorState, visualEditorReducer };
2048
2073
  export type { BlockPickerTarget, BlockTreeContext, ComponentCategory, ComponentDefinition, ComponentManifest, ComponentManifestEntry, ComponentPreset, ConfirmDialogOptions, CreatePageRequest, DeselectMessage, DragItem, DragItemKind, DropTarget, DropZone, EditorElement, EditorSection, ElementClickedMessage, ElementHoverMessage, ElementMovedMessage, HistoryEntry, Metafield, Page, PageContext, PageIndexEntry, PageStatus, PageSummary, PageUpdateMessage, PagesIndex, PresetBlockConfig, PropCondition, PropSchema, PropSchemaMap, PropType, PropValidation, PublishPageRequest, ReadyMessage, ResolvedPreset, RouterNavigationConfig, SelectElementMessage, SelectOption, ShopifyConfig, ShopifyFile, ShopifyFilesPage, SlotConstraints, SlotDefinition, StorefrontConfig, UpdatePageRequest, VisualEditorConfig, VisualEditorNavigationTarget, VisualEditorState };