import type { OptionsSchema, } from '@ska/plugin' import type { PluginOptions, } from './plugins/options' import type { Tailwind4Options, } from './plugins/tailwind4' import type { PresetOptions, ManagedPresets, } from './supports/presets' import type { VariationOptions, ManagedVariations, } from './supports/variations' import type { DynamicLinkOption, } from './supports/link' import type { SkaBlocks, } from './types' declare global { interface Window { ska_blocks: { /** Current user has full control of plugin. */ is_admin: '1' | '0' /** Current user can use the plugin features but doesn't see settings. */ is_elevated: '1' | '0' /** Current user has "unfiltered_html" capabilities. */ can_unfiltered_html: '1' | '0' /** Plugin options as of page load. */ options: PluginOptions /** Plugin options schema. */ optionsSchema: OptionsSchema /** Preset options as of page load. */ presetOptions: PresetOptions /** Preset options schema. */ presetOptionsSchema: OptionsSchema /** Presets that can't be deleted but can be reset. */ managedPresets: ManagedPresets /** Variation options as of page load. */ variationOptions: VariationOptions /** Variation options schema. */ variationOptionsSchema: OptionsSchema /** Variations that can't be deleted but can be reset. */ managedVariations: ManagedVariations /** Tailwind options as of page load. */ tailwind4: Tailwind4Options /** Tailwind options schema. */ tailwind4Schema: OptionsSchema /** Tailwind version. */ TAILWIND_VER: string /** Registered dynamic links. */ dynamicLinks: DynamicLinkOption[] /** Registered query filters. */ queryFilters: {label: string, value: string}[] /** Where to render Tailwind InspectorControls. */ inspectorControlsGroup: 'default' | 'styles' | 'hidden' /** Initial tab to open in the settings plugin. */ settingsInitialTabName?: string /** URL for placeholder images, `%d` should be swapped with placeholder image index. */ placeholderImageUrl?: string /** Max index of placeholder image. */ maxPlaceholderImage?: string /** Current site home url. */ homeUrl?: string /** Image dimensions that `wp.data.select('core/editor').getEditorSettings().imageDimensions` doesn't include. */ intermediateImageDimensions?: Record /** `ska-icons` plugin version. */ SKA_ICONS_VER: string /** Dev mode. */ DEV?: any } SkaBlocks?: SkaBlocks, __skaMockPluginSettings?: PluginOptions } } if(!window.ska_blocks) { throw new Error('`window.ska_blocks` is missing.') } /** Current user has full control of plugin. */ export const isAdmin = window.ska_blocks.is_admin === '1' /** Current user can use the plugin features but doesn't see settings. */ export const isElevated = window.ska_blocks.is_elevated === '1' /** Current user has "unfiltered_html" capabilities. */ export const canUnfilteredHtml = window.ska_blocks.can_unfiltered_html === '1' /** Plugin options as of page load. */ export const options = window.ska_blocks.options /** Plugin options schema. */ export const optionsSchema = window.ska_blocks.optionsSchema /** Preset options as of page load. */ export const presetOptions = window.ska_blocks.presetOptions /** Preset options schema. */ export const presetOptionsSchema = window.ska_blocks.presetOptionsSchema /** Presets that can't be deleted but can be reset. */ export const managedPresets = window.ska_blocks.managedPresets /** Variation options as of page load. */ export const variationOptions = window.ska_blocks.variationOptions /** Variation options schema. */ export const variationOptionsSchema = window.ska_blocks.variationOptionsSchema /** Variations that can't be deleted but can be reset. */ export const managedVariations = window.ska_blocks.managedVariations /** Tailwind options as of page load. */ export const tailwind4 = window.ska_blocks.tailwind4 /** Tailwind options schema. */ export const tailwind4Schema = window.ska_blocks.tailwind4Schema /** Tailwind version. */ export const TAILWIND_VER = window.ska_blocks.TAILWIND_VER || '0.0.0' /** Registered dynamic links. */ export const dynamicLinks = window.ska_blocks.dynamicLinks || [] /** Registered query filters. */ export const queryFilters = window.ska_blocks.queryFilters /** Where to render Tailwind InspectorControls. */ export const inspectorControlsGroup = window.ska_blocks.inspectorControlsGroup || 'default' /** Initial tab to open in the settings plugin. */ export const settingsInitialTabName = window.ska_blocks.settingsInitialTabName || '' /** URL for placeholder images, `%d` should be swapped with placeholder image index. */ export const placeholderImageUrl = window.ska_blocks.placeholderImageUrl || '' /** Max index of placeholder image. */ export const maxPlaceholderImage = parseInt(window.ska_blocks.maxPlaceholderImage || '0') /** Current site home url. */ export const homeUrl = window.ska_blocks.homeUrl || '' /** Image dimensions that `wp.data.select('core/editor').getEditorSettings().imageDimensions` doesn't include. */ export const intermediateImageDimensions = window.ska_blocks.intermediateImageDimensions || {} /** `ska-icons` plugin version. */ export const SKA_ICONS_VER = window.ska_blocks.SKA_ICONS_VER || '0.0.0' export const PRIMARY_COLOR = '#2fa4e7' export const SYNCED_COLOR = '#7a00df' export const POSITIVE_COLOR = '#21ba45' export const NEGATIVE_COLOR = '#db2828'