UNPKG

@agility/web-studio-sdk

Version:

Standard Development Kit used to enable Web Studio features in Agility CMS

167 lines (156 loc) 7.14 kB
declare module '@agility/web-studio-sdk/index' { export {}; } declare module '@agility/web-studio-sdk/util/applyContentItem' { /** * Apply a content item to a component */ export const applyContentItem: (contentItem: any) => void; } declare module '@agility/web-studio-sdk/util/commentUtils' { export function getDeepestElementAtCoordinates(element: Element, x: number, y: number): Element | null; /** * This will get the index of the unique selector based on the selector and the x y * in cases where the unique selector isn't unique, we need to find the index of occurrence */ export function getSelectorIndex(sel: string, x: number, y: number): number; /** * Generates a unique CSS selector for a given DOM element. * * @param {Element} element - The DOM element for which to generate the selector. * @returns {string} - A unique CSS selector that can be used to select the element. * */ export function getUniqueSelector(element: Element): string; export function getRelativePercentage(deepestEle: Element, x: number, y: number): { percentageX: number; percentageY: number; } | null; export function getAbsolutePositionFromPercentage(deepestEle: Element, percentageX: number | undefined, percentageY: number | undefined): { x: number; y: number; } | null; } declare module '@agility/web-studio-sdk/util/frameEvents' { import { IUpdatedCommentDictionary } from "@agility/web-studio-sdk/util/initializePreview"; import { TDecoratorMap } from "@agility/web-studio-sdk/util/generateDecoratorMap"; export interface IReadyEventArgs { windowWidth?: number; windowScrollableHeight?: number; windowHeight?: number; url?: string; hasPageDecorators?: boolean; hasComponentDecorators?: boolean; hasFieldDecorators?: boolean; } export interface INavigationEventArgs { url: string; pageID: number | null; contentID: number | null; windowScrollableHeight?: number; windowHeight?: number; } export interface IEditComponentEventArgs { contentID: number | null; pageID: number | null; } export interface IEditFieldEventArgs { fieldName: string; contentID: number | null; pageID: number | null; } export interface IScrollEventArgs { scrollX: number; scrollY: number; windowScrollableHeight: number; windowWidth: number; windowHeight: number; } export interface ICommentDictionaryUpdatedEventArgs { updatedCommentDictionary: IUpdatedCommentDictionary; } export interface IWindowResizeEventArgs { windowWidth: number; windowHeight: number; } export interface IRefreshEventArgs { url: string; } export interface ISetCommentCoordsEventArgs { percentageOffsetX?: number; percentageOffsetY?: number; uniqueSelector: string; elementIndex: number; isDragEndEvent?: boolean; threadId?: string; calcFallbackX?: number; calcFallbackY?: number; originX?: number; originY?: number; } export interface IDecoratorMapUpdatedEventArgs { decoratorMap: TDecoratorMap; } export type TFrameEventArgs = IReadyEventArgs | INavigationEventArgs | IEditComponentEventArgs | IEditFieldEventArgs | IScrollEventArgs | IWindowResizeEventArgs | IRefreshEventArgs | ISetCommentCoordsEventArgs | ICommentDictionaryUpdatedEventArgs | IDecoratorMapUpdatedEventArgs | null; export const dispatchReadyEvent: ({ windowWidth, windowHeight, url, windowScrollableHeight, hasComponentDecorators, hasFieldDecorators, hasPageDecorators, }: IReadyEventArgs) => void; export const dispatchNavigationEvent: (args: INavigationEventArgs) => void; export const dispatchEditComponentEvent: ({ contentID, pageID, }: IEditComponentEventArgs) => void; export const dispatchEditFieldEvent: ({ fieldName, contentID, pageID, }: IEditFieldEventArgs) => void; export const dispatchScrollEvent: ({ scrollY, scrollX, windowWidth, windowHeight, }: IScrollEventArgs) => void; export const dispatchWindowResizeEvent: ({ windowWidth, windowHeight, }: IWindowResizeEventArgs) => void; export const dispatchSetCommentCoordsEvent: ({ percentageOffsetX, percentageOffsetY, uniqueSelector, elementIndex, isDragEndEvent, threadId, calcFallbackX, calcFallbackY, originX, originY }: ISetCommentCoordsEventArgs) => void; export const dispatchCommentDictionaryUpdatedEvent: ({ updatedCommentDictionary, }: ICommentDictionaryUpdatedEventArgs) => void; export const dispatchRefreshEvent: ({ url }: IRefreshEventArgs) => void; export const dispatchDecoratorMapUpdatedEvent: ({ decoratorMap, }: IDecoratorMapUpdatedEventArgs) => void; } declare module '@agility/web-studio-sdk/util/generateDecoratorMap' { export type TDecoratorMap = Map<number, string[]>; export const generateDecoratorMap: () => TDecoratorMap | undefined; } declare module '@agility/web-studio-sdk/util/getGuid' { export const getGuid: (file: string) => string | null; } declare module '@agility/web-studio-sdk/util/index' { import { initCSSAndPreviewPanel } from "@agility/web-studio-sdk/util/initCSSAndPreviewPanel"; import { initComponents } from "@agility/web-studio-sdk/util/initComponents"; import { applyContentItem } from "@agility/web-studio-sdk/util/applyContentItem"; import { initializePreview } from "@agility/web-studio-sdk/util/initializePreview"; import { invokeFrameEvent } from "@agility/web-studio-sdk/util/invokeFrameEvent"; import { getGuid } from "@agility/web-studio-sdk/util/getGuid"; export { initCSSAndPreviewPanel, initComponents, applyContentItem, initializePreview, invokeFrameEvent, getGuid, }; } declare module '@agility/web-studio-sdk/util/initCSSAndPreviewPanel' { export const initCSSAndPreviewPanel: () => void; } declare module '@agility/web-studio-sdk/util/initComponents' { /** * Initialize the components on the site */ export const initComponents: () => void; } declare module '@agility/web-studio-sdk/util/initializePreview' { interface initializePreviewArgs { setIsInitialized: (state: boolean) => void; } export interface IUpdatedCommentDictionary { [threadID: string]: { uniqueSelector?: string; percentageOffsetX?: number; percentageOffsetY?: number; x?: number; y?: number; elementIndex?: number; }; } export const initializePreview: ({ setIsInitialized, }: initializePreviewArgs) => void; export {}; } declare module '@agility/web-studio-sdk/util/invokeFrameEvent' { import { TFrameEventArgs } from "@agility/web-studio-sdk/util/frameEvents"; export type TFrameEvents = "ready" | "navigation" | "edit-component" | "edit-field" | "sdk-scroll" | "sdk-window-resize" | "sdk-refresh" | "set-comment-coords" | "comment-dictionary-updated" | "decorator-map-updated" | "set-comment-coords-on-drag-end"; export const invokeFrameEvent: (messageType: TFrameEvents, arg: TFrameEventArgs) => void; } declare module '@agility/web-studio-sdk' { import main = require('@agility/web-studio-sdk/src/index'); export = main; }