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 /** 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 /** Dev mode. */ DEV?: any } SkaBlocks?: SkaBlocks, __skaMockPluginSettings?: PluginOptions } } if(!window.ska_blocks) { throw new Error('`window.ska_blocks` is missing.') } export const isAdmin = window.ska_blocks.is_admin === '1' export const isElevated = window.ska_blocks.is_elevated === '1' export const canUnfilteredHtml = window.ska_blocks.can_unfiltered_html === '1' export const options = window.ska_blocks.options export const optionsSchema = window.ska_blocks.optionsSchema export const presetOptions = window.ska_blocks.presetOptions export const presetOptionsSchema = window.ska_blocks.presetOptionsSchema export const managedPresets = window.ska_blocks.managedPresets export const variationOptions = window.ska_blocks.variationOptions export const variationOptionsSchema = window.ska_blocks.variationOptionsSchema export const managedVariations = window.ska_blocks.managedVariations export const tailwind4 = window.ska_blocks.tailwind4 export const tailwind4Schema = window.ska_blocks.tailwind4Schema export const dynamicLinks = window.ska_blocks.dynamicLinks || [] export const queryFilters = window.ska_blocks.queryFilters export const inspectorControlsGroup = window.ska_blocks.inspectorControlsGroup || 'default' export const settingsInitialTabName = window.ska_blocks.settingsInitialTabName || '' export const PRIMARY_COLOR = '#2fa4e7' export const SYNCED_COLOR = '#7a00df' export const POSITIVE_COLOR = '#21ba45' export const NEGATIVE_COLOR = '#db2828'