API Reference Mishka Chelekom v#0.0.9-beta.2

Copy Markdown View Source

Modules

Tailwind-aware class composition with a swappable merge seam (Layer 3).

Convert chelekom .eex source into per-helper axis-value clauses that the MishkaCMS installer uses to narrow installs (e.g. base-only) without guessing positional-arg semantics.

HEEx parsing for the v3 bundle exporter. One public surface for three jobs

Converts a Mishka Chelekom .exs + .eex source pair into the final Runtime.Component create-params shape consumed by the MishkaCMS UI-kit installer (schema mishka.ui_kit.bundle.v3).

Handles configuration for Mishka Chelekom components. Manages user settings including prefixes, CSS variables, and component generation options.

Extract initial-render assigns from a demo <comp>_live.ex file.

Shared generator plumbing used by the styled (mix mishka.ui.gen.component(s)) and headless (mix mishka.ui.gen.headless) tasks.

One Spark DSL to reuse and customize your Mishka Chelekom components — never to build HTML from scratch. The styled and headless components stay normal components; the Kit is an additive, opt-in layer on top.

Reads the Mishka component catalog from the mishka_chelekom priv dir, for compile-time Kit validation (the verifier) and to decide whether a customize's from: is a real component before generating its wrapper. Styled names come from priv/components/*.exs, headless from priv/headless/*.exs.

The MishkaChelekom.Kit Spark DSL — one verb, customize, to reuse and restyle any existing Mishka Chelekom component (styled or headless). It never builds HTML from scratch.

Entity struct for one customize — a customization of an EXISTING component. The rules inside decide which world it targets: color/variant/size/… ⇒ a styled component, part ⇒ a headless one. Never both.

Entity struct for a headless part rule inside a customize: part :trigger, "…"%Part{name: :trigger, classes: "…"}.

Entity struct for a styled dimension rule inside a customize: color :brand, "…"%Rule{attr: :color, value: :brand, classes: "…"}.

Introspection for MishkaChelekom.Kit modules.

Runtime support for the wrappers the Kit generates — pure assigns (map) manipulation, so a wrapper stays a thin delegator to the real component. One transform/2 handles both worlds

Generates each customize's wrapper function from its rules, injected into the Kit module via Spark.Dsl.Transformer.eval/3. The rules decide the target: part rules ⇒ a headless component (<Web>.Components.Headless.<From>), otherwise styled (<Web>.Components.<From>). The wrapper transforms assigns through MishkaChelekom.Kit.Runtime and delegates to the real component.

Compile-time checks against the real Mishka catalog (via MishkaChelekom.Kit.Catalog)

Compile-time guards for each customize

Reads component configurations from priv/components/*.exs files.

Helper module for resolving file paths that works both when

Read the current Mishka Chelekom configuration from the user's project.

List all available color variants for Mishka Chelekom components.

List all available Mishka Chelekom components.

List all available CSS variables that can be overridden in Mishka Chelekom.

List all component dependencies for Mishka Chelekom components.

List the headless (unstyled + ARIA) Mishka Chelekom components, read dynamically from priv/headless/*.exs. Each entry includes its WAI-ARIA pattern, the JS behavior hooks it uses, its named-slot anatomy, and the data-* state attributes.

List all JavaScript dependencies for Mishka Chelekom components.

List all available size options for Mishka Chelekom components.

List all available space options for Mishka Chelekom components.

List all available style variants for Mishka Chelekom components.

HTTP Router for the Mishka Chelekom MCP Server.

MCP Server for Mishka Chelekom component library.

Supervisor for the Mishka Chelekom MCP Server.

Generate a Mishka Chelekom component with specific customization options.

Generate mix commands for creating multiple Mishka Chelekom components at once.

Get detailed information about a specific Mishka Chelekom component.

Fetch documentation from the Mishka Chelekom website.

Get HEEx code examples for a Mishka Chelekom component.

Get information about JavaScript hooks used by Mishka Chelekom components.

Get information about Mishka Chelekom Mix tasks.

Search Mishka Chelekom components by name, category, or functionality.

Generate mix commands for uninstalling Mishka Chelekom components.

Generate configuration updates for Mishka Chelekom.

Validate the Mishka Chelekom configuration file.

Centralized, Pyro-style overrides for component part classes (Layer 3, opt-in).

A bordered preset — emphasizes borders over shadows. Example/starting point.

The default theme preset — no overrides. Components render with their own generated classes. Conventionally appended last in config :mishka_chelekom, :overrides.

A flat preset — drops shadows and heavy borders. Example/starting point.

Pure Elixir CSS parser for handling imports and CSS manipulation. Supports Tailwind CSS 4.x directives and import management.

Mix Tasks

A Mix Task for installing and configuring JS dependencies for Phoenix

Starts the Mishka Chelekom MCP Server.

Sets up the Mishka Chelekom MCP Server in your Phoenix application.

A Mix Task for generating and configuring Phoenix components from a repo

Manages CSS configuration for Mishka Chelekom components

A Mix Task for generating a JSON file from a directory of components

A Mix Task for generating and configuring Phoenix components

A Mix Task for generating and configuring multi components of Phoenix

Generate an unstyled (headless) Phoenix component: ARIA + slots + behavior hook

Generate multiple (or all) headless components at once

A Mix Task for uninstalling Mishka Chelekom components

This task helps you easily install the Mishka Chelekom library directly using Igniter.