import { GalleryDialogTab, PsdActionMode, SvgActionMode, BarcodeType, GallerySource, PdfActionMode } from "../ConfigurationTypes"; import { IGalleryDefaultConfig } from "../DefaultConfigurationInterfaces"; import { IColorPickerConfigParsed } from "./IColorPickerConfigParsed"; import { IObjectInspectorConfigParsed } from "./IObjectInspectorConfigParsed"; import { IToolboxConfigParsed } from "./IToolboxConfigParsed"; import { ITopToolbarConfigParsed } from "./ITopToolbarConfigParsed"; import { FitMode } from "@aurigma/design-atoms/Model/Product/Items/TextEnums"; export interface IWidgetsConfig { common: ICommonConfigParsed; FinishButton: IFinishButtonConfigParsed; BottomToolbar: IBottomToolbarConfigParsed; Toolbox: IToolboxConfigParsed; ObjectInspector: IObjectInspectorConfigParsed; ItemMenu: IItemMenuConfigParsed; TopToolbar: ITopToolbarConfigParsed; QrCodeDialog: IBarcodeDialogConfigParsed; LinearBarcodeDialog: IBarcodeDialogConfigParsed; RichTextDialog: IRichTextDialogConfigParsed; GalleryDialog: IGalleryDialogConfigParsed; GalleryDialogNG: IGalleryDialogNGConfigParsed; ColorPicker: IColorPickerConfigParsed; ImageEditorDialog: IImageEditorDialogConfigParsed; AssetManager: IAssetManagerConfig; } export interface IWidgetConfigsForSurface { Toolbox?: IToolboxConfigParsed; ObjectInspector?: IObjectInspectorConfigParsed; ColorPicker?: IColorPickerConfigParsed; } export interface IFinishButtonConfigParsed { } export interface IBottomToolbarConfigParsed { fullWindowButtonEnabled: boolean; fullScreenButtonEnabled: boolean; zoomValueEnabled: boolean; zoomButtonsEnabled: boolean; rotateButtonEnabled: boolean; safetyLinesCheckboxEnabled: boolean; gridCheckboxEnabled: boolean; snapLinesCheckboxEnabled: boolean; snapLinesPrintAreaCheckboxEnabled: boolean; snapLinesSafetyLinesCheckboxEnabled: boolean; snapLinesItemsCheckboxEnabled: boolean; surfaceSwitch: ISurfaceSwitchConfigParsed; } export interface ISurfaceSwitchConfigParsed { enabled?: boolean; showThumbnails?: boolean; showSurfaceNames?: boolean; scrollPageButtonsEnabled?: boolean; toggleSurfaceButtonsEnabled?: boolean; firstAndLastButtonsEnabled?: boolean; specificForSurfaceCount?: { [countOfSurfaces: number]: ISurfaceSwitchConfigParsed; }; } export interface ICommonConfigParsed { fontSize: IRangeParamsParsed; tracking: IRangeParamsParsed; leading: IRangeParamsParsed; gallery: IGalleryDefaultConfig; } export interface IItemMenuConfigParsed { objectManipulationEnabled: boolean; verticalAlignmentEnabled: boolean; horizontalAlignmentEnabled: boolean; changeZOrderEnabled: boolean; renameEnabled: boolean; } export interface IRangeParamsParsed { min: number; max: number; step: number; } export interface IBarcodeDialogConfigParsed { defaultType: BarcodeType; } export interface ITextOutlineParsed { enabled: boolean; hueThreshold: number; brightnessThreshold: number; color: string; } export interface IShowHintSettingsParsed { font: boolean; style: boolean; size: boolean; tracking: boolean; leading: boolean; firstLineIndent: boolean; paddingTop: boolean; paddingBottom: boolean; paddingLeft: boolean; paddingRight: boolean; } export interface IShowInputSettings { size: boolean; } export interface IRichComboValuesConfigParsed { indent: IRangeParamsParsed; padding: IRangeParamsParsed; } export interface IZoomConfigParsed { enabled: boolean; minZoomPct: number; maxZoomPct: number; autoZoom?: IAutoZoomConfigParsed; } export interface IAutoZoomConfigParsed { enabled: boolean; minFontSizeThresholdPt: number; maxFontSizeThresholdPt: number; } export interface IRichTextDialogConfigParsed { forcePasteAsPlainText: boolean; bgColor: string; createMultiColumnText: boolean; applyToAllTextMode: boolean; wysiwygMode: boolean; showHint: IShowHintSettingsParsed; showInput: IShowInputSettings; textOutline: ITextOutlineParsed; toolbarConfig: ({ name: string; items: string[]; } | string)[]; zoom: IZoomConfigParsed; richComboValues: IRichComboValuesConfigParsed; fitTextRectangle: IFitTextRectangleSettings; } export interface IFitTextRectangleSettings { onAdd?: FitMode; onUpdate?: FitMode; } export import TextRectangleFitMode = FitMode; export interface ITabDescriptorParsed { name: string; subFolderName?: string; type: GalleryDialogTab.GalleryDialogTabType; translationKey?: string; canEdit?: boolean; canUpload?: boolean; canDelete?: boolean; categoriesEnabled?: boolean; showFileName?: boolean; appKey?: string; actionMode?: IActionModeParsed; } export interface IActionModeParsed { psd?: PsdActionMode.PsdActionModeType; svg?: SvgActionMode.SvgActionModeType; pdf?: PdfActionMode.PdfActionModeType; } export interface IGalleryDialogConfigParsed { defaultTabName: string; allowedExtensions: string[]; overwriteExistingFiles: boolean; showTabsInRestrictedMode: boolean; backgroundColorPickerEnabled: boolean; insertToAllButtonEnabled: boolean; saveAllowedTabAfterInsert: boolean; autoInsertUploadedFile: boolean; tabs: ITabDescriptorParsed[]; } export interface IImageEditorDialogConfigParsed { colorAdjustButtonEnabled: boolean; cropButtonEnabled: boolean; backgroundEraseButtonEnabled: boolean; } export interface IGalleryDialogNGConfigParsed { defaultTabName?: string; tabs: IGalleryDialogNGConfigParsed.ITabDescriptor[]; } export declare namespace IGalleryDialogNGConfigParsed { interface ITabDescriptor { name: string; translationKey: string; allowedExtensions: string[]; overwriteExistingFiles: boolean; categoriesEnabled: boolean; showFileName: boolean; canEdit: boolean; canUpload: boolean; canDelete: boolean; insertToAllButtonEnabled: boolean; iconClassName: string; saveAllowedTabAfterInsert: boolean; downloadPsdAsImage: boolean; source: IGallerySource; } interface IGallerySource { type: GallerySource.GallerySourceType; name: string; categories: ICategory[]; items: IGalleryElement[]; } interface ICategory { name: string; items: IGalleryElement[]; childCategories: ICategory[]; } interface IGalleryElement { title: string; preview: string; source: string; } } export interface IAssetManagerConfig { defaultTabName?: string; saveAllowedTabAfterInsert?: boolean; tabs: IAssetManagerConfig.ITabConfig[]; maxUploadFileSize?: number; } export declare namespace IAssetManagerConfig { interface ITabConfig { name: string; assetSourceInstance: string; iconClassName: string; controls: { categoriesEnabled: boolean; assetNameEnabled: boolean; toolbarEnabled: boolean; canEdit?: boolean; canUpload?: boolean; canDelete?: boolean; insertToAllButtonEnabled: boolean; }; } }