{
  "$schema": "./kineto.features.schema.json",
  "contractVersion": "1.3.0",
  "libraryVersion": "0.8.18",
  "moduleCount": 34,
  "modules": [
    {
      "name": "ambientMedia",
      "attribute": "data-kt-ambient-media",
      "defaultVariant": "image-clone",
      "variants": [
        "image-clone",
        "video-sample",
        "color"
      ],
      "publicOptions": [
        "allowOverflow",
        "ambientSrc",
        "ambientSrcset",
        "blur",
        "brightness",
        "color",
        "fallbackColor",
        "hideOnPause",
        "inset",
        "opacity",
        "radius",
        "sampleFps",
        "sampleHeight",
        "sampleWidth",
        "saturation",
        "scale",
        "source",
        "src"
      ]
    },
    {
      "name": "blurText",
      "attribute": "data-kt-blur-text",
      "defaultVariant": "blur",
      "variants": [
        "blur"
      ],
      "publicOptions": [
        "duration",
        "ease",
        "onComplete",
        "once",
        "stagger",
        "start"
      ]
    },
    {
      "name": "brushReveal",
      "attribute": "data-kt-brush-reveal",
      "defaultVariant": "brush",
      "variants": [
        "brush"
      ],
      "publicOptions": [
        "blur",
        "crossOrigin",
        "fade",
        "maxDpr",
        "onError",
        "opacity",
        "persist",
        "radius",
        "revealSrc",
        "softness",
        "src"
      ]
    },
    {
      "name": "cardGlow",
      "attribute": "data-kt-card-glow",
      "defaultVariant": "spotlight",
      "variants": [
        "spotlight",
        "pointer",
        "border",
        "comet",
        "aurora",
        "shine"
      ],
      "publicOptions": [
        "alwaysOn",
        "blendMode",
        "blur",
        "borderBlur",
        "borderColor",
        "borderColor2",
        "borderGlow",
        "borderInset",
        "borderOpacity",
        "borderRadius",
        "borderWidth",
        "color",
        "color1",
        "color2",
        "cycleDuration",
        "disableOnMobile",
        "duration",
        "ease",
        "follow",
        "halo",
        "intensity",
        "luminousBorder",
        "mode",
        "opacity",
        "preset",
        "radius",
        "reflection",
        "sensitivity",
        "smoothing",
        "speed",
        "spread",
        "surface",
        "surfaceBlend",
        "surfaceBlur",
        "surfaceColor",
        "surfaceColor2",
        "surfaceGradient",
        "surfaceInset",
        "surfaceOpacity",
        "surfaceSize"
      ]
    },
    {
      "name": "counter",
      "attribute": "data-kt-counter",
      "defaultVariant": "slot",
      "variants": [
        "slot",
        "plain",
        "digit",
        "pop",
        "flip",
        "clock"
      ],
      "publicOptions": [
        "bareBackground",
        "blink",
        "blinkSeparators",
        "clockSeparator",
        "clockStyle",
        "comma",
        "daysLabel",
        "decimals",
        "delay",
        "duration",
        "ease",
        "format",
        "from",
        "gap",
        "grouping",
        "hour12",
        "lineHeight",
        "locale",
        "loops",
        "mode",
        "onComplete",
        "once",
        "popAlign",
        "popDuration",
        "popScale",
        "prefix",
        "preset",
        "rollDirection",
        "rollDuration",
        "seamColor",
        "seconds",
        "separator",
        "separatorColor",
        "shadow",
        "showDays",
        "since",
        "stagger",
        "start",
        "style",
        "suffix",
        "tile",
        "tileColor",
        "tileRadius",
        "tileTextColor",
        "to",
        "until"
      ]
    },
    {
      "name": "cssScroll",
      "attribute": "data-kt-css-scroll",
      "defaultVariant": "progress-property",
      "variants": [
        "progress-property",
        "css-animation-timeline"
      ],
      "publicOptions": [
        "cssAnimation",
        "end",
        "onUpdate",
        "property",
        "rangeEnd",
        "rangeStart",
        "start"
      ]
    },
    {
      "name": "cursor",
      "attribute": "data-kt-cursor",
      "defaultVariant": "dot",
      "variants": [
        "dot",
        "ring",
        "blob",
        "crosshair",
        "text",
        "trail",
        "orbit",
        "snake",
        "sparkle",
        "image",
        "custom"
      ],
      "publicOptions": [
        "backdropFilter",
        "background",
        "blur",
        "borderColor",
        "borderWidth",
        "className",
        "clickImage",
        "clickImageDuration",
        "clickImageSize",
        "clickSprite",
        "clickSpriteDuration",
        "clickSpriteFrames",
        "clickSpriteHeight",
        "clickSpriteWidth",
        "color",
        "crosshairSize",
        "dot",
        "dotColor",
        "dotSize",
        "ease",
        "follower",
        "followerSize",
        "full",
        "global",
        "height",
        "hiddenSelector",
        "hideDotOnHover",
        "hoverBackground",
        "hoverClass",
        "hoverColor",
        "hoverDotOpacity",
        "hoverDotSize",
        "hoverEffect",
        "hoverLabel",
        "hoverScale",
        "hoverSelector",
        "hoverSrc",
        "hoverTemplate",
        "html",
        "label",
        "labelColor",
        "labelSize",
        "mixBlendMode",
        "onEnter",
        "onLeave",
        "opacity",
        "orbitHoverScale",
        "orbitRadius",
        "orbitSpeed",
        "orbitSquash",
        "orbitText",
        "preset",
        "pressScale",
        "radius",
        "rotate",
        "rotateDuration",
        "rotateText",
        "shadow",
        "shape",
        "smoothing",
        "snakeGap",
        "snakeMinScale",
        "snakeScaleEase",
        "snakeText",
        "sparkleColor",
        "sparkleColor2",
        "sparkleDuration",
        "sparkleSize",
        "sparkleSymbols",
        "sparkleThrottle",
        "speed",
        "spring",
        "src",
        "template",
        "text",
        "textColor",
        "trailColor",
        "trailCount",
        "trailSize",
        "type",
        "width",
        "zIndex"
      ]
    },
    {
      "name": "fullpage",
      "publicOptions": [
        "autoAdvance",
        "axis",
        "dots",
        "drag",
        "duration",
        "ease",
        "height",
        "initial",
        "keyboard",
        "loop",
        "mode",
        "onChange",
        "onLeave",
        "sectionSelector",
        "threshold",
        "touch",
        "wheel"
      ],
      "attribute": "data-kt-fullpage",
      "defaultVariant": "transform",
      "variants": [
        "transform",
        "snap"
      ]
    },
    {
      "name": "glitch",
      "attribute": "data-kt-glitch",
      "defaultVariant": "rgb",
      "variants": [
        "rgb",
        "noise",
        "crt",
        "digital",
        "image",
        "vcr"
      ],
      "publicOptions": [
        "blendMode",
        "colors",
        "delay",
        "duration",
        "intensity",
        "loop",
        "preset",
        "sliceCount",
        "speed",
        "trigger",
        "type"
      ]
    },
    {
      "name": "lazy",
      "attribute": "data-kt-lazy",
      "defaultVariant": "fade",
      "variants": [
        "fade",
        "blur-up",
        "skeleton",
        "pixelate",
        "print",
        "dissolve",
        "flicker",
        "polaroid"
      ],
      "publicOptions": [
        "animated",
        "aspectRatio",
        "blur",
        "crossOrigin",
        "delay",
        "direction",
        "display",
        "duration",
        "ease",
        "edgeOpacity",
        "edgeWidth",
        "effect",
        "fadeDuration",
        "fallbackSrc",
        "feather",
        "flickerBackground",
        "frame",
        "frameColor",
        "glitchStrength",
        "height",
        "holdDuration",
        "keepFrame",
        "maxDpr",
        "minDuration",
        "nativeLazy",
        "noise",
        "noiseBlend",
        "noiseContrast",
        "noiseFps",
        "noiseHeight",
        "noiseWidth",
        "objectFit",
        "objectPosition",
        "onError",
        "onLoad",
        "onProgress",
        "pixelEnd",
        "pixelStart",
        "pixelStepCount",
        "preset",
        "renderFps",
        "rootMargin",
        "rotate",
        "sizes",
        "skeletonAngle",
        "skeletonColor",
        "skeletonHighlight",
        "skeletonIcon",
        "skeletonSpeed",
        "skeletonVariant",
        "sliceCount",
        "src",
        "srcset",
        "startScale",
        "stepCount",
        "stepDuration",
        "steps",
        "threshold",
        "variant"
      ]
    },
    {
      "name": "lightbox",
      "attribute": "data-kt-lightbox",
      "defaultVariant": "viewer",
      "variants": [
        "viewer",
        "grouped"
      ],
      "publicOptions": [
        "alt",
        "backdropBlur",
        "backdropColor",
        "backdropOpacity",
        "caption",
        "className",
        "closeOnBackdrop",
        "cursor",
        "description",
        "doubleClickZoom",
        "duration",
        "exif",
        "group",
        "info",
        "lazyEffect",
        "lazyOptions",
        "lightboxDuration",
        "maxZoom",
        "metadata",
        "minZoom",
        "minimap",
        "onChange",
        "onClose",
        "onLoad",
        "onOpen",
        "radius",
        "renderUI",
        "share",
        "src",
        "title",
        "toolbar",
        "uiTemplate",
        "wheelStep",
        "zoom",
        "zoomStep"
      ]
    },
    {
      "name": "loader",
      "attribute": "data-kt-loader",
      "defaultVariant": "bar",
      "variants": [
        "slot",
        "circular",
        "bar"
      ],
      "publicOptions": [
        "ariaLabel",
        "barHeight",
        "barWidth",
        "className",
        "color",
        "completeHold",
        "completeOnError",
        "duration",
        "exit",
        "exitDirection",
        "exitDuration",
        "expectedResources",
        "fetch",
        "fetchOptions",
        "fill",
        "fillColor",
        "hideScrollbar",
        "label",
        "labelBlend",
        "labelColor",
        "manualDuration",
        "minDuration",
        "onComplete",
        "onError",
        "onProgress",
        "percent",
        "preset",
        "progress",
        "progressSource",
        "promise",
        "promiseCeiling",
        "promiseStart",
        "renderUI",
        "resourceSelector",
        "resources",
        "showPercent",
        "size",
        "smoothing",
        "source",
        "stroke",
        "trackColor",
        "transition",
        "type",
        "url"
      ]
    },
    {
      "name": "magnetic",
      "attribute": "data-kt-magnetic",
      "defaultVariant": "pointer",
      "variants": [
        "pointer"
      ],
      "publicOptions": [
        "ease",
        "radius",
        "strength"
      ]
    },
    {
      "name": "marquee",
      "attribute": "data-kt-marquee",
      "defaultVariant": "left",
      "variants": [
        "left",
        "right",
        "reverse-on-scroll"
      ],
      "publicOptions": [
        "clones",
        "direction",
        "pauseOnHover",
        "reverseOnScrollUp",
        "scrollAcceleration",
        "skew",
        "speed"
      ]
    },
    {
      "name": "mouseParallax",
      "attribute": "data-kt-mouse-parallax",
      "defaultVariant": "pointer",
      "variants": [
        "pointer",
        "gyro",
        "compass"
      ],
      "publicOptions": [
        "compassRange",
        "ease",
        "global",
        "gyro",
        "maxX",
        "maxY",
        "mode",
        "preset",
        "rotateOffset",
        "sensitivity",
        "smoothing",
        "speed"
      ]
    },
    {
      "name": "overflowText",
      "attribute": "data-kt-overflow-text",
      "defaultVariant": "loop",
      "variants": [
        "loop",
        "bounce",
        "rewind",
        "once",
        "page",
        "flip",
        "dissolve",
        "page-roll",
        "rolling"
      ],
      "publicOptions": [
        "ariaLive",
        "delay",
        "direction",
        "dissolveDuration",
        "easing",
        "ellipsis",
        "endPause",
        "flipDirection",
        "flipDuration",
        "force",
        "gap",
        "holdDuration",
        "items",
        "jitter",
        "maskDirection",
        "maskDuration",
        "maskEase",
        "mode",
        "onChange",
        "onPage",
        "pageDuration",
        "pageOverlap",
        "pauseOnHover",
        "perspective",
        "preset",
        "repeat",
        "restartDelay",
        "role",
        "rollDirection",
        "rollDuration",
        "speed",
        "text",
        "threshold",
        "title",
        "transitionDirection"
      ]
    },
    {
      "name": "pageReveal",
      "attribute": "data-kt-page-reveal",
      "defaultVariant": "curtain",
      "variants": [
        "curtain",
        "split",
        "circle",
        "wipe",
        "blinds",
        "diagonal",
        "fade"
      ],
      "publicOptions": [
        "angle",
        "axis",
        "color",
        "color2",
        "count",
        "delay",
        "direction",
        "duration",
        "ease",
        "effect",
        "onComplete",
        "preset",
        "stagger"
      ]
    },
    {
      "name": "pageTransition",
      "attribute": "data-kt-page-transition",
      "defaultVariant": "same-origin",
      "variants": [
        "same-origin"
      ],
      "publicOptions": [
        "animationSelector",
        "cache",
        "container",
        "executeScripts",
        "linkSelector",
        "minDuration",
        "onClick",
        "onEnter",
        "onError",
        "onLeave",
        "scrollTop"
      ]
    },
    {
      "name": "parallax",
      "attribute": "data-kt-parallax",
      "defaultVariant": "y",
      "variants": [
        "x",
        "y"
      ],
      "publicOptions": [
        "axis",
        "distance",
        "end",
        "onUpdate",
        "scrub",
        "speed",
        "start"
      ]
    },
    {
      "name": "progress",
      "attribute": "data-kt-progress",
      "defaultVariant": "page:scaleX",
      "variants": [
        "page:scaleX",
        "page:width",
        "element:scaleX",
        "element:width"
      ],
      "publicOptions": [
        "attach",
        "clickToTop",
        "color",
        "color2",
        "hideAtEnd",
        "label",
        "offset",
        "onUpdate",
        "position",
        "property",
        "radius",
        "showAfter",
        "showPercent",
        "size",
        "smoothing",
        "stroke",
        "target",
        "thickness",
        "trackColor",
        "ui",
        "zIndex"
      ]
    },
    {
      "name": "reveal",
      "attribute": "data-kt-reveal",
      "defaultVariant": "fade-up",
      "variants": [
        "fade",
        "fade-up",
        "fade-down",
        "fade-left",
        "fade-right",
        "slide-up",
        "slide-down",
        "slide-left",
        "slide-right",
        "zoom",
        "zoom-in",
        "zoom-out",
        "blur",
        "rise",
        "soft",
        "flip",
        "flip-x",
        "flip-y",
        "rotate",
        "mask",
        "wipe",
        "class",
        "clock"
      ],
      "publicOptions": [
        "activeClass",
        "classOnly",
        "clockDirection",
        "delay",
        "direction",
        "duration",
        "ease",
        "end",
        "enterClass",
        "leaveClass",
        "onClassChange",
        "onComplete",
        "onEnter",
        "onEnterBack",
        "onLeave",
        "onLeaveBack",
        "once",
        "preset",
        "removeClassOnLeave",
        "rootMargin",
        "spring",
        "stagger",
        "start",
        "startAngle",
        "threshold"
      ]
    },
    {
      "name": "ripple",
      "attribute": "data-kt-ripple",
      "defaultVariant": "material",
      "variants": [
        "material"
      ],
      "publicOptions": [
        "centered",
        "color",
        "disableInReducedMotion",
        "duration",
        "easing",
        "opacity",
        "scale",
        "unbounded"
      ]
    },
    {
      "name": "scrollSequence",
      "attribute": "data-kt-scroll-sequence",
      "defaultVariant": "cover",
      "variants": [
        "cover",
        "contain"
      ],
      "publicOptions": [
        "crossOrigin",
        "end",
        "extension",
        "fit",
        "frames",
        "height",
        "maxDpr",
        "onError",
        "onFrame",
        "padding",
        "preloadRadius",
        "scrollLength",
        "scrub",
        "start",
        "top",
        "urlPrefix",
        "urls",
        "vhPerFrame"
      ]
    },
    {
      "name": "scrollVelocity",
      "attribute": "data-kt-scroll-velocity",
      "defaultVariant": "skew",
      "variants": [
        "skew",
        "rotate",
        "scale",
        "blur",
        "translate"
      ],
      "publicOptions": [
        "axis",
        "damping",
        "decay",
        "distance",
        "effect",
        "elastic",
        "end",
        "global",
        "mass",
        "maxBlur",
        "maxRotate",
        "maxScale",
        "maxSkew",
        "mode",
        "onDirection",
        "onUpdate",
        "preset",
        "response",
        "reverse",
        "smoothing",
        "spring",
        "start",
        "stiffness",
        "velocityDivisor"
      ]
    },
    {
      "name": "shuffle",
      "attribute": "data-kt-shuffle",
      "defaultVariant": "decode",
      "variants": [
        "decode"
      ],
      "publicOptions": [
        "chars",
        "onComplete",
        "rainbow",
        "rainbowColors",
        "revealRate",
        "rootMargin",
        "scrambleFade",
        "speed",
        "text",
        "threshold"
      ]
    },
    {
      "name": "slider",
      "attribute": "data-kt-slider",
      "defaultVariant": "slide",
      "variants": [
        "slide",
        "coverflow"
      ],
      "publicOptions": [
        "align",
        "autoplay",
        "axis",
        "depth",
        "duration",
        "effect",
        "gap",
        "initial",
        "label",
        "loop",
        "minOpacity",
        "minScale",
        "nextSelector",
        "onChange",
        "opacityStep",
        "pauseOnHover",
        "perView",
        "perspective",
        "preset",
        "prevSelector",
        "rotate",
        "scaleStep",
        "smoothing",
        "spacing",
        "speed"
      ]
    },
    {
      "name": "stickyStack",
      "attribute": "data-kt-sticky-stack",
      "defaultVariant": "vertical",
      "variants": [
        "vertical",
        "horizontal",
        "zindex",
        "floating"
      ],
      "publicOptions": [
        "align",
        "blur",
        "bottomSpace",
        "distance",
        "ease",
        "effect",
        "end",
        "fadePrevious",
        "gap",
        "itemDuration",
        "itemHeight",
        "minHeight",
        "mode",
        "offset",
        "offsetTop",
        "offsetY",
        "onProgress",
        "overlap",
        "panelWidth",
        "perspective",
        "pin",
        "pinSpacing",
        "preset",
        "previousBlur",
        "previousOpacity",
        "previousScale",
        "previousY",
        "reverseZ",
        "rotate",
        "scaleFrom",
        "scalePrevious",
        "scrollLength",
        "scrub",
        "snap",
        "start",
        "top",
        "transformOrigin",
        "transitionStartOffset",
        "type"
      ]
    },
    {
      "name": "textFill",
      "attribute": "data-kt-text-fill",
      "defaultVariant": "scroll-fill",
      "variants": [
        "scroll-fill"
      ],
      "publicOptions": [
        "baseColor",
        "end",
        "fillColor",
        "onUpdate",
        "scrub",
        "start"
      ]
    },
    {
      "name": "textReveal",
      "attribute": "data-kt-text-reveal",
      "defaultVariant": "stream",
      "variants": [
        "stream",
        "char",
        "word",
        "line",
        "bounce",
        "hangul",
        "decode",
        "flicker"
      ],
      "publicOptions": [
        "chars",
        "delay",
        "duration",
        "ease",
        "flickerCount",
        "flickerLoop",
        "hold",
        "loop",
        "mode",
        "onComplete",
        "preset",
        "rainbow",
        "rainbowColors",
        "rootMargin",
        "scrambleFade",
        "speed",
        "stagger",
        "text",
        "threshold"
      ]
    },
    {
      "name": "textSplit",
      "attribute": "data-kt-text-split",
      "defaultVariant": "char",
      "variants": [
        "char",
        "word"
      ],
      "publicOptions": [
        "animation",
        "by",
        "delay",
        "duration",
        "ease",
        "hold",
        "onComplete",
        "onSwap",
        "once",
        "pause",
        "perspective",
        "preset",
        "stagger",
        "start",
        "swapEase",
        "swapOut",
        "texts"
      ]
    },
    {
      "name": "textTransition",
      "attribute": "data-kt-text-transition",
      "defaultVariant": "slide",
      "variants": [
        "slide-up",
        "slide",
        "rise",
        "fade",
        "blur",
        "scale",
        "clip",
        "dissolve",
        "shimmer"
      ],
      "publicOptions": [
        "ariaLive",
        "baseColor",
        "blur",
        "charMode",
        "duration",
        "ease",
        "effect",
        "endScale",
        "hold",
        "jitter",
        "loop",
        "minHeight",
        "onChange",
        "onComplete",
        "pause",
        "preset",
        "shimColor",
        "shimSpeed",
        "stagger",
        "startScale",
        "texts"
      ]
    },
    {
      "name": "tilt",
      "attribute": "data-kt-tilt",
      "defaultVariant": "tilt-glare",
      "variants": [
        "tilt-glare",
        "tilt",
        "x-only",
        "y-only",
        "reverse"
      ],
      "publicOptions": [
        "axis",
        "disableOnMobile",
        "ease",
        "glare",
        "glareBlur",
        "glareColor",
        "glareOpacity",
        "glareRadius",
        "gyro",
        "max",
        "maxX",
        "maxY",
        "perspective",
        "reset",
        "reverse",
        "scale",
        "sensitivity",
        "smoothing"
      ]
    },
    {
      "name": "typewriter",
      "attribute": "data-kt-typewriter",
      "defaultVariant": "type-erase",
      "variants": [
        "type-erase"
      ],
      "publicOptions": [
        "caret",
        "caretChar",
        "compose",
        "eraseSpeed",
        "hangul",
        "loop",
        "onComplete",
        "pauseAfter",
        "strings",
        "typeSpeed"
      ]
    },
    {
      "name": "vibrate",
      "attribute": "data-kt-vibrate",
      "defaultVariant": "tap",
      "variants": [
        "tap",
        "double-tap",
        "soft",
        "rigid",
        "heavy",
        "success",
        "warning",
        "error",
        "ratchet",
        "heartbeat",
        "long-press"
      ],
      "publicOptions": [
        "haptic",
        "pattern",
        "preset",
        "threshold",
        "trigger"
      ]
    }
  ],
  "coreProperties": [
    "version",
    "env",
    "performance",
    "registry",
    "instanceCount",
    "smoothEnabled",
    "lenis",
    "core"
  ],
  "coreApi": [
    "config",
    "setAnimationEngine",
    "enableSmooth",
    "disableSmooth",
    "toggleSmooth",
    "scrollTo",
    "register",
    "unregister",
    "create",
    "scan",
    "init",
    "initModules",
    "autoInit",
    "getInstance",
    "destroyModule",
    "replay",
    "destroy",
    "pause",
    "resume",
    "refresh"
  ],
  "compatibilityApi": [
    "core.initModules",
    "core.destroyModule",
    "core.getInstance",
    "core.replay",
    "core.scan",
    "core.enableSmooth",
    "core.disableSmooth",
    "core.toggleSmooth",
    "core.scrollTo"
  ],
  "additionalNamedExports": [
    "modules"
  ],
  "criticalBehaviors": {
    "duplicateInitialization": "Creating the same module on the same source element returns the existing instance.",
    "destroy": "Destroy removes listeners, observers, timers, RAF handles, generated UI and restores owned DOM state.",
    "replay": "Replay destroys and recreates the same module with prior or replacement options.",
    "reducedMotion": "Reduced-motion mode does not start nonessential infinite animation loops.",
    "animatedMedia": "GIF, APNG and animated WebP remain live media elements through Lazy, Ambient and Lightbox composition.",
    "lazyNoise": "Print and Dissolve use changing fine-noise frames rather than a repeating static pattern.",
    "loaderSources": "Loader accepts manual, promise, fetch, resource and window progress sources.",
    "lightboxViewer": "Lightbox covers the full viewport and supports grouped navigation, information, zoom, pan, minimap and custom UI.",
    "smoothScroll": "Lenis smooth scrolling is opt-in and can be enabled or disabled at runtime.",
    "boundedCardGlow": "Pointer glow remains clipped while optional surface reflection and luminous border are independently configurable."
  },
  "behaviorContractVersion": "1.2.0"
}