@marwes-ui/core 1.0.5 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -2
- package/dist/index.d.ts +253 -4
- package/dist/index.js +477 -57
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/theme/theme-types.ts","../src/theme/theme-mode.ts","../src/theme/density.ts","../src/theme/theme-css.ts","../src/theme/color-utils.ts","../src/theme/color-resolve.ts","../src/theme/theme-defaults.ts","../src/theme/tone.ts","../src/theme/theme-normalize.ts","../src/theme/theme-ssr.ts","../src/theme/theme-vars.ts","../src/theme/font-loader.ts","../src/semantics/semantic-types.ts","../src/semantics/semantic-attributes.ts","../src/semantics/semantic-constants.ts","../src/semantics/family-semantics.ts","../src/semantics/purpose-semantics.ts","../src/semantics/semantic-builders.ts","../src/semantics/semantic-validators.ts","../src/data/currency-symbols-complete.ts","../src/data/currency-symbols.ts","../src/shared/field-helpers.ts","../src/storybook/docs-copy.ts","../src/components/atoms/accordion/accordion-a11y.ts","../src/components/atoms/accordion/accordion-recipe.ts","../src/components/atoms/avatar/avatar-types.ts","../src/components/atoms/avatar/avatar-a11y.ts","../src/components/atoms/avatar/avatar-recipe.ts","../src/components/atoms/card/card-recipe.ts","../src/components/atoms/dialog/dialog-a11y.ts","../src/components/atoms/dialog/dialog-recipe.ts","../src/components/atoms/toast/toast-a11y.ts","../src/components/atoms/toast/toast-recipe.ts","../src/components/atoms/tooltip/tooltip-a11y.ts","../src/components/atoms/tooltip/tooltip-recipe.ts","../src/components/atoms/badge/badge-a11y.ts","../src/components/atoms/badge/badge-recipe.ts","../src/components/atoms/badge/badge-types.ts","../src/components/atoms/button/button-types.ts","../src/components/atoms/spinner/spinner-types.ts","../src/components/atoms/button/button-loading.ts","../src/components/atoms/button/button-a11y.ts","../src/components/atoms/button/button-recipe.ts","../src/components/atoms/radio/radio-a11y.ts","../src/components/atoms/radio/radio-recipe.ts","../src/components/atoms/switch/switch-a11y.ts","../src/components/atoms/switch/switch-types.ts","../src/components/atoms/switch/switch-recipe.ts","../src/components/atoms/slider/slider-a11y.ts","../src/components/atoms/slider/slider-recipe.ts","../src/components/atoms/checkbox/checkbox-a11y.ts","../src/components/atoms/checkbox/checkbox-recipe.ts","../src/components/atoms/divider/divider-recipe.ts","../src/components/atoms/spinner/spinner-a11y.ts","../src/components/atoms/spinner/spinner-svg.ts","../src/components/atoms/spinner/spinner-recipe.ts","../src/components/atoms/icon/icon-registry.ts","../src/components/atoms/icon/icon-names.ts","../src/components/atoms/icon/icon-scales.ts","../src/components/atoms/icon/icon-types.ts","../src/components/atoms/icon/icon-a11y.ts","../src/components/atoms/icon/icon-recipe.ts","../src/components/atoms/input/input-a11y.ts","../src/components/atoms/input/input-recipe.ts","../src/components/atoms/input/input-otp-a11y.ts","../src/components/atoms/input/input-otp-recipe.ts","../src/components/atoms/input/select-a11y.ts","../src/components/atoms/input/select-types.ts","../src/components/atoms/input/select-recipe.ts","../src/components/atoms/input/textarea-a11y.ts","../src/components/atoms/input/textarea-recipe.ts","../src/components/atoms/input/rich-text-a11y.ts","../src/components/atoms/input/rich-text-styles.ts","../src/components/atoms/input/rich-text-recipe.ts","../src/components/atoms/input/rich-text-html.ts","../src/components/atoms/heading/heading-a11y.ts","../src/components/atoms/heading/heading-recipe.ts","../src/components/atoms/paragraph/paragraph-recipe.ts","../src/components/atoms/tab/tab-a11y.ts","../src/components/atoms/tab/tab-recipe.ts","../src/components/atoms/tab/tab-group-a11y.ts","../src/components/atoms/spacing/spacing.recipe.ts","../src/components/atoms/spacing/spacing.types.ts","../src/storybook/storybook-fixtures.ts"],"names":["cx","isDev","__DEV__","a11y"],"mappings":"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","file":"index.js","sourcesContent":["// Re-export color role types so consumers import from one place\nexport type { ColorInput, ColorRole, SecondaryColorRole } from \"./color-resolve\"\nexport type { ToneName } from \"./tone\"\n\nexport type Density = \"compact\" | \"comfortable\" | \"spacious\"\n\n/**\n * @deprecated UiVariant has been removed. Button variants (primary|secondary|text)\n * are unrelated. Remove any references to UiVariant from your code.\n */\nexport type UiVariant = \"solid\" | \"soft\" | \"outline\" | \"ghost\"\n\nexport type IconStrokeWidth = \"xs\" | \"sm\" | \"md\" | \"lg\"\nexport type IconSize = \"xs\" | \"sm\" | \"md\" | \"lg\"\nexport type HeadingSize = \"h1\" | \"h2\" | \"h3\"\nexport type ParagraphSize = \"sm\" | \"md\" | \"lg\"\n\n/**\n * Theme mode determines which default color palette is used.\n * - 'light': Uses light mode color defaults (dark text on light backgrounds)\n * - 'dark': Uses dark mode color defaults (light text on dark backgrounds)\n */\nexport const ThemeMode = {\n light: \"light\",\n dark: \"dark\",\n} as const\nexport type ThemeMode = (typeof ThemeMode)[keyof typeof ThemeMode]\nexport type ThemePreference = ThemeMode | \"system\"\nexport type ThemeVariableStrategy = \"inline\" | \"style-tag\"\n\nexport type Theme = {\n /**\n * The current theme mode. This determines which color defaults are applied.\n * Changing the mode will swap color values (e.g., surface ↔ surfaceInverted).\n */\n mode: ThemeMode\n\n color: {\n // Primary\n primary: string\n\n // Background & Surface\n background: string\n surface: string\n surfaceSubtle: string\n surfaceElevated: string\n surfaceDisabled: string\n surfaceInverted: string\n\n // Text\n text: string\n textMuted: string\n textSubtle: string\n textDisabled: string\n textInverted: string\n\n // Borders\n border: string\n borderSubtle: string\n borderStrong: string\n borderDisabled: string\n\n /**\n * Focus color used for focus-visible outlines on interactive elements.\n * Accessible blue (#2684FF) from Figma node 120:927.\n */\n focus: string\n\n // Semantic colors\n danger: string\n success: string\n warning: string\n }\n font: {\n primary: string\n secondary: string\n mono: string\n }\n ui: {\n radius: number\n density: Density\n }\n typography: {\n h1: {\n fontSize: number\n lineHeight: number\n fontWeight: number\n letterSpacing: number\n }\n h2: {\n fontSize: number\n lineHeight: number\n fontWeight: number\n letterSpacing: number\n }\n h3: {\n fontSize: number\n lineHeight: number\n fontWeight: number\n letterSpacing: number\n }\n paragraph: {\n sm: {\n fontSize: number\n lineHeight: number\n }\n md: {\n fontSize: number\n lineHeight: number\n }\n lg: {\n fontSize: number\n lineHeight: number\n }\n }\n }\n}\n\n// ─── V3 Input API ─────────────────────────────────────────────────────────────\n// ThemeInput is the consumer-facing input type for the Phase 0 theme engine.\n// Derivable roles (primary, danger, success, warning) accept ColorInput — a\n// plain hex string or an override object. The on* fields and secondary are\n// intentionally absent: they are derived automatically by resolveColorRole /\n// resolveSecondaryRole. Object-form ColorInput is the sanctioned way to keep\n// automatic role derivation while overriding fields such as label/labelDisabled\n// for brand-specific filled surfaces.\n\nimport type { ColorInput } from \"./color-resolve\"\nimport type { ToneName } from \"./tone\"\n\nexport interface ThemeInputColor {\n primary: ColorInput\n danger: ColorInput\n success: ColorInput\n warning: ColorInput\n // Surface and semantic tokens — not derived, configured directly\n background: string\n surface: string\n surfaceSubtle: string\n surfaceElevated: string\n surfaceDisabled: string\n surfaceInverted: string\n text: string\n textMuted: string\n textSubtle: string\n textDisabled: string\n textInverted: string\n border: string\n borderSubtle: string\n borderStrong: string\n borderDisabled: string\n focus: string\n\n // Removed in v3 — typed never so consumers get a descriptive TS error\n /** @deprecated Removed in v3. Label color is now derived via WCAG contrast. Remove this field. */\n onPrimary?: never\n /** @deprecated Removed in v3. Secondary is always derived from primary. Remove this field. */\n secondary?: never\n onSecondary?: never\n onDanger?: never\n onSuccess?: never\n onWarning?: never\n}\n\nexport interface ThemeInput {\n mode?: ThemeMode\n tone?: ToneName\n color?: Partial<ThemeInputColor>\n font?: Partial<Theme[\"font\"]>\n ui?: Partial<Theme[\"ui\"]>\n typography?: Partial<{\n h1?: Partial<Theme[\"typography\"][\"h1\"]>\n h2?: Partial<Theme[\"typography\"][\"h2\"]>\n h3?: Partial<Theme[\"typography\"][\"h3\"]>\n paragraph?: Partial<{\n sm?: Partial<Theme[\"typography\"][\"paragraph\"][\"sm\"]>\n md?: Partial<Theme[\"typography\"][\"paragraph\"][\"md\"]>\n lg?: Partial<Theme[\"typography\"][\"paragraph\"][\"lg\"]>\n }>\n }>\n}\n","import { ThemeMode } from \"./theme-types\"\nimport type { ThemePreference } from \"./theme-types\"\n\nexport type SystemThemeMode = ThemeMode\n\nexport function isThemeMode(value: unknown): value is ThemeMode {\n return value === ThemeMode.light || value === ThemeMode.dark\n}\n\nexport function isThemePreference(value: unknown): value is ThemePreference {\n return isThemeMode(value) || value === \"system\"\n}\n\nexport function resolveThemePreference(\n preference: ThemePreference,\n systemMode: SystemThemeMode,\n): ThemeMode {\n return preference === \"system\" ? systemMode : preference\n}\n\nexport function nextThemeMode(mode: ThemeMode): ThemeMode {\n return mode === ThemeMode.dark ? ThemeMode.light : ThemeMode.dark\n}\n","import type { Density } from \"./theme-types\"\n\nexport interface DensityScale {\n height: number\n paddingX: number\n paddingY: number\n gap: number\n fontSize: number\n iconSize: number\n checkboxSize: number\n fieldGap: number\n spacingMultiplier: number\n fontSizeSm: number\n}\n\nexport const DENSITY_SCALES: Record<Density, DensityScale> = {\n compact: {\n height: 34,\n paddingX: 10,\n paddingY: 6,\n gap: 4,\n fontSize: 13,\n iconSize: 16,\n checkboxSize: 16,\n fieldGap: 2,\n spacingMultiplier: 0.75,\n fontSizeSm: 12,\n },\n comfortable: {\n height: 40,\n paddingX: 16,\n paddingY: 12,\n gap: 8,\n fontSize: 14,\n iconSize: 20,\n checkboxSize: 18,\n fieldGap: 4,\n spacingMultiplier: 1,\n fontSizeSm: 13,\n },\n spacious: {\n height: 48,\n paddingX: 20,\n paddingY: 16,\n gap: 12,\n fontSize: 15,\n iconSize: 24,\n checkboxSize: 22,\n fieldGap: 6,\n spacingMultiplier: 1.25,\n fontSizeSm: 14,\n },\n}\n\n/**\n * Maps a density level to CSS custom properties.\n * These vars are consumed by preset CSS to control component sizing.\n */\nexport function densityToCSSVars(density: Density): Record<string, string> {\n const scale = DENSITY_SCALES[density]\n\n return {\n \"--mw-density-height\": `${scale.height}px`,\n \"--mw-density-padding-x\": `${scale.paddingX}px`,\n \"--mw-density-padding-y\": `${scale.paddingY}px`,\n \"--mw-density-gap\": `${scale.gap}px`,\n \"--mw-density-font-size\": `${scale.fontSize}px`,\n \"--mw-density-icon-size\": `${scale.iconSize}px`,\n \"--mw-density-checkbox-size\": `${scale.checkboxSize}px`,\n \"--mw-density-field-gap\": `${scale.fieldGap}px`,\n \"--mw-density-spacing-multiplier\": `${scale.spacingMultiplier}`,\n \"--mw-density-font-size-sm\": `${scale.fontSizeSm}px`,\n }\n}\n","import type { ColorRole, SecondaryColorRole } from \"./color-resolve\"\nimport { densityToCSSVars } from \"./density\"\nimport { ThemeMode } from \"./theme-types\"\nimport type { Density, ThemeMode as ThemeModeValue } from \"./theme-types\"\n\n// ─── ResolvedTheme ────────────────────────────────────────────────────────────\n// Post-derivation theme shape: color fields hold resolved ColorRole objects,\n// not raw hex strings. Moved to theme-types.ts in Case 4.\n\nexport interface ResolvedTheme {\n mode: ThemeModeValue\n color: {\n primary: ColorRole\n secondary: SecondaryColorRole\n danger: ColorRole\n success: ColorRole\n warning: ColorRole\n info: ColorRole // always mirrors primary (D3)\n background: string\n surface: string\n surfaceSubtle: string\n surfaceElevated: string\n surfaceDisabled: string\n surfaceInverted: string\n text: string\n textMuted: string\n textSubtle: string\n textDisabled: string\n textInverted: string\n border: string\n borderSubtle: string\n borderStrong: string\n borderDisabled: string\n focus: string\n }\n font: {\n primary: string\n secondary: string\n mono: string\n }\n ui: {\n radius: number\n density: Density\n }\n typography: {\n h1: { fontSize: number; lineHeight: number; fontWeight: number; letterSpacing: number }\n h2: { fontSize: number; lineHeight: number; fontWeight: number; letterSpacing: number }\n h3: { fontSize: number; lineHeight: number; fontWeight: number; letterSpacing: number }\n paragraph: {\n sm: { fontSize: number; lineHeight: number }\n md: { fontSize: number; lineHeight: number }\n lg: { fontSize: number; lineHeight: number }\n }\n }\n}\n\n// ─── Helpers ──────────────────────────────────────────────────────────────────\n\nfunction colorRoleVars(role: string, cr: ColorRole): Record<string, string> {\n return {\n [`--mw-color-${role}-base`]: cr.base,\n [`--mw-color-${role}-hover`]: cr.hover,\n [`--mw-color-${role}-pressed`]: cr.pressed,\n [`--mw-color-${role}-disabled`]: cr.disabled,\n [`--mw-color-${role}-label`]: cr.label,\n [`--mw-color-${role}-label-disabled`]: cr.labelDisabled,\n }\n}\n\n// ─── themeToCSSVars ───────────────────────────────────────────────────────────\n\n/**\n * Maps every field of a resolved theme to its CSS custom property name.\n * Returns 86 entries total. `variant` is excluded — it is deprecated.\n * Density is emitted as 10 `--mw-density-*` vars via densityToCSSVars.\n *\n * Variable naming follows D11: --mw-color-{role}-{state}, --mw-font-*, etc.\n */\nexport function themeToCSSVars(theme: ResolvedTheme): Record<string, string> {\n const { color, font, ui, typography } = theme\n\n return {\n // Color roles: primary, danger, success, warning, info (5 × 6 = 30)\n ...colorRoleVars(\"primary\", color.primary),\n ...colorRoleVars(\"danger\", color.danger),\n ...colorRoleVars(\"success\", color.success),\n ...colorRoleVars(\"warning\", color.warning),\n ...colorRoleVars(\"info\", color.info),\n\n // Secondary: 6 standard fields + 2 border fields (= 8)\n ...colorRoleVars(\"secondary\", color.secondary),\n \"--mw-color-secondary-border\": color.secondary.border,\n \"--mw-color-secondary-border-disabled\": color.secondary.borderDisabled,\n\n // Surface / semantic neutrals (16)\n \"--mw-color-background\": color.background,\n \"--mw-color-surface\": color.surface,\n \"--mw-color-surface-subtle\": color.surfaceSubtle,\n \"--mw-color-surface-elevated\": color.surfaceElevated,\n \"--mw-color-surface-disabled\": color.surfaceDisabled,\n \"--mw-color-surface-inverted\": color.surfaceInverted,\n \"--mw-color-text\": color.text,\n \"--mw-color-text-muted\": color.textMuted,\n \"--mw-color-text-subtle\": color.textSubtle,\n \"--mw-color-text-disabled\": color.textDisabled,\n \"--mw-color-text-inverted\": color.textInverted,\n \"--mw-color-border\": color.border,\n \"--mw-color-border-subtle\": color.borderSubtle,\n \"--mw-color-border-strong\": color.borderStrong,\n \"--mw-color-border-disabled\": color.borderDisabled,\n \"--mw-color-focus\": color.focus,\n\n // Font (3)\n \"--mw-font-primary\": font.primary,\n \"--mw-font-secondary\": font.secondary,\n \"--mw-font-mono\": font.mono,\n\n // UI (1)\n \"--mw-ui-radius\": `${ui.radius}px`,\n\n // Density (10)\n ...densityToCSSVars(ui.density),\n\n // Typography — headings (3 × 4 = 12)\n \"--mw-typography-h1-font-size\": `${typography.h1.fontSize}px`,\n \"--mw-typography-h1-line-height\": `${typography.h1.lineHeight}`,\n \"--mw-typography-h1-font-weight\": `${typography.h1.fontWeight}`,\n \"--mw-typography-h1-letter-spacing\": `${typography.h1.letterSpacing}px`,\n\n \"--mw-typography-h2-font-size\": `${typography.h2.fontSize}px`,\n \"--mw-typography-h2-line-height\": `${typography.h2.lineHeight}`,\n \"--mw-typography-h2-font-weight\": `${typography.h2.fontWeight}`,\n \"--mw-typography-h2-letter-spacing\": `${typography.h2.letterSpacing}px`,\n\n \"--mw-typography-h3-font-size\": `${typography.h3.fontSize}px`,\n \"--mw-typography-h3-line-height\": `${typography.h3.lineHeight}`,\n \"--mw-typography-h3-font-weight\": `${typography.h3.fontWeight}`,\n \"--mw-typography-h3-letter-spacing\": `${typography.h3.letterSpacing}px`,\n\n // Typography — paragraph (3 × 2 = 6)\n \"--mw-typography-paragraph-sm-font-size\": `${typography.paragraph.sm.fontSize}px`,\n \"--mw-typography-paragraph-sm-line-height\": `${typography.paragraph.sm.lineHeight}`,\n \"--mw-typography-paragraph-md-font-size\": `${typography.paragraph.md.fontSize}px`,\n \"--mw-typography-paragraph-md-line-height\": `${typography.paragraph.md.lineHeight}`,\n \"--mw-typography-paragraph-lg-font-size\": `${typography.paragraph.lg.fontSize}px`,\n \"--mw-typography-paragraph-lg-line-height\": `${typography.paragraph.lg.lineHeight}`,\n }\n}\n\nexport type ThemeModeAttribute = \"class\" | \"data-theme\" | \"data-mode\"\nexport type ThemeModeRootTarget = \"html\" | \"body\"\n\nexport type ThemeModeCSSRulesOptions = {\n light: ResolvedTheme\n dark: ResolvedTheme\n selector?: string\n rootTarget?: ThemeModeRootTarget\n rootAttribute?: ThemeModeAttribute\n}\n\nconst defaultThemeSelector = \"[data-marwes-theme]\"\n\nexport function themeToCSSRule(selector: string, theme: ResolvedTheme): string {\n const declarations = Object.entries(themeToCSSVars(theme))\n .map(([property, value]) => ` ${property}: ${serializeCSSDeclarationValue(value)};`)\n .join(\"\\n\")\n\n return `${selector} {\\n${declarations}\\n background-color: var(--mw-color-background);\\n color: var(--mw-color-text);\\n}`\n}\n\nexport function themeModesToCSSRules({\n light,\n dark,\n selector = defaultThemeSelector,\n rootTarget,\n rootAttribute = \"class\",\n}: ThemeModeCSSRulesOptions): string {\n return [\n themeToCSSRule(buildModeSelector(selector, ThemeMode.light, rootTarget, rootAttribute), light),\n themeToCSSRule(buildModeSelector(selector, ThemeMode.dark, rootTarget, rootAttribute), dark),\n ].join(\"\\n\\n\")\n}\n\nfunction buildModeSelector(\n selector: string,\n mode: ThemeModeValue,\n rootTarget: ThemeModeRootTarget | undefined,\n rootAttribute: ThemeModeAttribute,\n): string {\n const providerSelector = `${selector}[data-marwes-mode=\"${mode}\"]`\n const rootSelector =\n rootTarget === undefined\n ? undefined\n : `${buildRootModeSelector(rootTarget, rootAttribute, mode)} ${selector}`\n\n return rootSelector === undefined ? providerSelector : `${providerSelector},\\n${rootSelector}`\n}\n\nfunction buildRootModeSelector(\n target: ThemeModeRootTarget,\n attribute: ThemeModeAttribute,\n mode: ThemeModeValue,\n): string {\n if (attribute === \"class\") return `${target}.${mode}`\n return `${target}[${attribute}=\"${mode}\"]`\n}\n\nfunction serializeCSSDeclarationValue(value: string): string {\n return value.replace(/[\\n\\r\\t]+/g, \" \").replace(/[;{}]/g, \"\")\n}\n","// ─── Matrix type ─────────────────────────────────────────────────────────────\ntype Mat3 = readonly [\n readonly [number, number, number],\n readonly [number, number, number],\n readonly [number, number, number],\n]\n\n// ─── Matrix constants (Björn Ottosson's Oklab, 2020) ─────────────────────────\n// sRGB linear → XYZ-D65\nconst M_RGB_TO_XYZ: Mat3 = [\n [0.4124564, 0.3575761, 0.1804375],\n [0.2126729, 0.7151522, 0.072175],\n [0.0193339, 0.119192, 0.9503041],\n]\n\n// XYZ-D65 → Oklab LMS cone responses\nconst M_XYZ_TO_LMS: Mat3 = [\n [0.8189330101, 0.3618667424, -0.1288597137],\n [0.0329845436, 0.9293118715, 0.0361456387],\n [0.0482003018, 0.2643662691, 0.633851707],\n]\n\n// Oklab LMS (after cube-root) → Lab\nconst M_LMS_TO_LAB: Mat3 = [\n [0.2104542553, 0.793617785, -0.0040720468],\n [1.9779984951, -2.428592205, 0.4505937099],\n [0.0259040371, 0.7827717662, -0.808675766],\n]\n\n// Inverse matrices (pre-computed exact inverses)\nconst M_LAB_TO_LMS: Mat3 = [\n [1.0, 0.3963377774, 0.2158037573],\n [1.0, -0.1055613458, -0.0638541728],\n [1.0, -0.0894841775, -1.291485548],\n]\n\nconst M_LMS_TO_XYZ: Mat3 = [\n [1.2270138511, -0.5577999807, 0.281256149],\n [-0.0405801784, 1.1122568696, -0.0716766787],\n [-0.0763812845, -0.4214819784, 1.5861632204],\n]\n\nconst M_XYZ_TO_RGB: Mat3 = [\n [3.2404542, -1.5371385, -0.4985314],\n [-0.969266, 1.8760108, 0.041556],\n [0.0556434, -0.2040259, 1.0572252],\n]\n\n// ─── Matrix helper ────────────────────────────────────────────────────────────\n\nfunction matMul(matrix: Mat3, vec: [number, number, number]): [number, number, number] {\n const [row0, row1, row2] = matrix\n return [\n row0[0] * vec[0] + row0[1] * vec[1] + row0[2] * vec[2],\n row1[0] * vec[0] + row1[1] * vec[1] + row1[2] * vec[2],\n row2[0] * vec[0] + row2[1] * vec[1] + row2[2] * vec[2],\n ]\n}\n\n// ─── Ticket 1: parseHex + rgbToHex ───────────────────────────────────────────\n\n/**\n * Parses a #RRGGBB or #RGB hex string into [r, g, b] integers (0–255).\n */\nexport function parseHex(hex: string): [number, number, number] {\n const cleaned = hex.replace(\"#\", \"\")\n const expanded =\n cleaned.length === 3\n ? cleaned.charAt(0).repeat(2) + cleaned.charAt(1).repeat(2) + cleaned.charAt(2).repeat(2)\n : cleaned\n return [\n Number.parseInt(expanded.slice(0, 2), 16),\n Number.parseInt(expanded.slice(2, 4), 16),\n Number.parseInt(expanded.slice(4, 6), 16),\n ]\n}\n\n/**\n * Converts a [r, g, b] tuple (0–255) to an uppercase #RRGGBB hex string.\n * Channels are clamped to [0, 255] before conversion.\n */\nexport function rgbToHex(rgb: [number, number, number]): string {\n const toHexChannel = (channel: number): string =>\n Math.round(Math.max(0, Math.min(255, channel)))\n .toString(16)\n .toUpperCase()\n .padStart(2, \"0\")\n return `#${toHexChannel(rgb[0])}${toHexChannel(rgb[1])}${toHexChannel(rgb[2])}`\n}\n\n// ─── Ticket 2: OKLCH pipeline + adjustLightness ──────────────────────────────\n\n/**\n * Expands an sRGB channel (0–1) to linear light (removes gamma compression).\n * IEC 61966-2-1 transfer function.\n */\nexport function linearize(channel: number): number {\n return channel <= 0.04045 ? channel / 12.92 : ((channel + 0.055) / 1.055) ** 2.4\n}\n\n/**\n * Compresses a linear-light channel (0–1) back to sRGB (applies gamma).\n * IEC 61966-2-1 inverse transfer function.\n */\nexport function delinearize(channel: number): number {\n return channel <= 0.0031308 ? 12.92 * channel : 1.055 * channel ** (1 / 2.4) - 0.055\n}\n\n/**\n * Converts sRGB [r, g, b] (0–255) to OKLCH [L, C, h].\n * L: perceptual lightness (0–1), C: chroma (≥0), h: hue angle (radians).\n */\nexport function rgbToOklch(r: number, g: number, b: number): [number, number, number] {\n const linearRgb: [number, number, number] = [\n linearize(r / 255),\n linearize(g / 255),\n linearize(b / 255),\n ]\n const xyz = matMul(M_RGB_TO_XYZ, linearRgb)\n const lms = matMul(M_XYZ_TO_LMS, xyz)\n const lmsCubeRoot: [number, number, number] = [\n Math.cbrt(lms[0]),\n Math.cbrt(lms[1]),\n Math.cbrt(lms[2]),\n ]\n const [labL, labA, labB] = matMul(M_LMS_TO_LAB, lmsCubeRoot)\n const chroma = Math.sqrt(labA * labA + labB * labB)\n // Treat near-zero chroma as achromatic (hue is undefined — set to 0)\n const hue = chroma < 0.0001 ? 0 : Math.atan2(labB, labA)\n return [labL, chroma, hue]\n}\n\n/**\n * Converts OKLCH [L, C, h] back to sRGB [r, g, b] (0–255, clamped).\n */\nexport function oklchToRgb(L: number, C: number, h: number): [number, number, number] {\n const labA = C * Math.cos(h)\n const labB = C * Math.sin(h)\n const lmsCubeRoot = matMul(M_LAB_TO_LMS, [L, labA, labB])\n const lms: [number, number, number] = [\n lmsCubeRoot[0] ** 3,\n lmsCubeRoot[1] ** 3,\n lmsCubeRoot[2] ** 3,\n ]\n const xyz = matMul(M_LMS_TO_XYZ, lms)\n const linearRgb = matMul(M_XYZ_TO_RGB, xyz)\n return [\n Math.round(Math.max(0, Math.min(255, delinearize(linearRgb[0]) * 255))),\n Math.round(Math.max(0, Math.min(255, delinearize(linearRgb[1]) * 255))),\n Math.round(Math.max(0, Math.min(255, delinearize(linearRgb[2]) * 255))),\n ]\n}\n\n/**\n * Shifts the OKLCH lightness of a hex color by `delta` (−1 to +1).\n * Negative delta = darker, positive delta = lighter.\n * Equal deltas produce equal perceived lightness changes regardless of hue.\n */\nexport function adjustLightness(hex: string, delta: number): string {\n const [r, g, b] = parseHex(hex)\n const [L, C, h] = rgbToOklch(r, g, b)\n const newL = Math.max(0, Math.min(1, L + delta))\n return rgbToHex(oklchToRgb(newL, C, h))\n}\n\n// ─── Ticket 3: setAlpha ───────────────────────────────────────────────────────\n\n/**\n * Returns an rgba() CSS string for the given hex color at the specified alpha (0–1).\n */\nexport function setAlpha(hex: string, alpha: number): string {\n const [r, g, b] = parseHex(hex)\n return `rgba(${r},${g},${b},${alpha})`\n}\n\n// ─── Ticket 4: WCAG functions + pickContrastColor ────────────────────────────\n\n/**\n * Computes WCAG relative luminance (0–1) for a hex color.\n * Formula: IEC 61966-2-1 — 0.2126R + 0.7152G + 0.0722B (linear channels).\n */\nexport function relativeLuminance(hex: string): number {\n const [r, g, b] = parseHex(hex)\n const linearR = linearize(r / 255)\n const linearG = linearize(g / 255)\n const linearB = linearize(b / 255)\n return 0.2126 * linearR + 0.7152 * linearG + 0.0722 * linearB\n}\n\n/**\n * Computes the WCAG contrast ratio between two hex colors (1–21).\n * Order-independent: contrastRatio(a, b) === contrastRatio(b, a).\n */\nexport function contrastRatio(hex1: string, hex2: string): number {\n const L1 = relativeLuminance(hex1)\n const L2 = relativeLuminance(hex2)\n const lighter = Math.max(L1, L2)\n const darker = Math.min(L1, L2)\n return (lighter + 0.05) / (darker + 0.05)\n}\n\n/**\n * Returns the label color (#141414 or #FFFFFF) that achieves higher contrast\n * against the given base color. Uses WCAG relative luminance — mathematically\n * correct for accessibility, unlike a flat lightness threshold.\n */\nexport function pickContrastColor(base: string): \"#141414\" | \"#FFFFFF\" {\n const contrastWithDark = contrastRatio(base, \"#141414\")\n const contrastWithLight = contrastRatio(base, \"#FFFFFF\")\n return contrastWithDark >= contrastWithLight ? \"#141414\" : \"#FFFFFF\"\n}\n","import { adjustLightness, pickContrastColor, setAlpha } from \"./color-utils\"\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface ColorRole {\n base: string\n hover: string\n pressed: string\n disabled: string\n label: string\n labelDisabled: string\n}\n\nexport interface SecondaryColorRole extends ColorRole {\n border: string\n borderDisabled: string\n}\n\nexport type ColorInput =\n | string\n | {\n base: string\n hover?: string\n pressed?: string\n disabled?: string\n label?: string\n labelDisabled?: string\n }\n\n// ─── resolveColorRole ────────────────────────────────────────────────────────\n\n/**\n * Derives a full interaction palette from a single base hex color.\n * Hover/pressed shifts use OKLCH for perceptual uniformity (D1).\n * Label contrast uses WCAG relative luminance (D2).\n * Any field in `overrides` replaces the derived value for that field only.\n */\nexport function resolveColorRole(base: string, overrides?: Partial<ColorRole>): ColorRole {\n const isLight = pickContrastColor(base) === \"#141414\"\n const label = pickContrastColor(base)\n\n const derived: ColorRole = {\n base,\n hover: adjustLightness(base, isLight ? -0.08 : -0.1),\n pressed: adjustLightness(base, isLight ? -0.15 : -0.2),\n disabled: setAlpha(base, 0.35),\n label,\n labelDisabled: setAlpha(label, 0.5),\n }\n\n return overrides ? { ...derived, ...overrides } : derived\n}\n\n// ─── resolveSecondaryRole ─────────────────────────────────────────────────────\n\n/**\n * Derives the outline/secondary role from the primary ColorRole (D4).\n * Secondary has a transparent base with alpha-tinted interaction states,\n * and extra border fields not present on a standard ColorRole.\n */\nexport function resolveSecondaryRole(primary: ColorRole): SecondaryColorRole {\n return {\n base: \"transparent\",\n hover: setAlpha(primary.base, 0.08),\n pressed: setAlpha(primary.base, 0.15),\n disabled: \"transparent\",\n label: primary.base,\n labelDisabled: setAlpha(primary.base, 0.5),\n border: primary.base,\n borderDisabled: primary.disabled,\n }\n}\n\n// ─── resolveInfoRole ──────────────────────────────────────────────────────────\n\n/**\n * Info is a structural alias of primary (D3) — all fields mirror primary.\n */\nexport function resolveInfoRole(primary: ColorRole): ColorRole {\n return { ...primary }\n}\n\n// ─── normalizeColorInput ──────────────────────────────────────────────────────\n\n/**\n * Accepts either a hex string or an override object and returns a resolved ColorRole.\n * String input is equivalent to resolveColorRole(string).\n * Object input passes all non-base fields as overrides to resolveColorRole.\n */\nexport function normalizeColorInput(input: ColorInput): ColorRole {\n if (typeof input === \"string\") {\n return resolveColorRole(input)\n }\n const { base, ...overrides } = input\n return resolveColorRole(base, overrides)\n}\n","import { type Theme, ThemeMode } from \"./theme-types\"\n\n/**\n * Light theme defaults (default mode).\n * Uses dark text on light backgrounds.\n * Colors mapped from Figma design tokens (node 1:120).\n */\nexport const lightThemeDefaults: Theme = {\n mode: ThemeMode.light,\n\n color: {\n // Primary (firstEdition brand blue)\n primary: \"#2F31FC\",\n\n // Background & Surface (from Figma: Neutrals)\n background: \"#FFFFFF\",\n surface: \"#F9FAFB\",\n surfaceSubtle: \"#F3F4F6\",\n surfaceElevated: \"#FFFFFF\",\n surfaceDisabled: \"#F3F4F6\",\n surfaceInverted: \"#141414\",\n\n // Text (from Figma: Colours/Text)\n text: \"#141414\",\n textMuted: \"#9CA3AF\",\n textSubtle: \"#9CA3AF\",\n textDisabled: \"rgba(20,20,20,0.4)\",\n textInverted: \"#F9FAFB\",\n\n // Borders (from Figma: Colours/Border and Neutrals)\n border: \"rgba(0,0,0,0.4)\",\n borderSubtle: \"#00000033\",\n borderStrong: \"#141414\",\n borderDisabled: \"rgba(20,20,20,0.16)\",\n\n // Focus color (from Figma: node 120:927 - Accessible blue)\n focus: \"#2684FF\",\n\n // Semantic colors\n danger: \"#D90429\",\n success: \"#00875A\",\n warning: \"#FFB703\",\n },\n font: {\n primary: \"'Instrument Sans', Inter, system-ui, sans-serif\",\n secondary: \"Helvetica\",\n mono: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace\",\n },\n ui: {\n radius: 4,\n density: \"comfortable\",\n },\n typography: {\n h1: {\n fontSize: 32,\n lineHeight: 1.1875,\n fontWeight: 700,\n letterSpacing: -0.96,\n },\n h2: {\n fontSize: 24,\n lineHeight: 1.25,\n fontWeight: 500,\n letterSpacing: -0.72,\n },\n h3: {\n fontSize: 20,\n lineHeight: 1.3,\n fontWeight: 500,\n letterSpacing: -0.6,\n },\n paragraph: {\n sm: {\n fontSize: 14,\n lineHeight: 1.5,\n },\n md: {\n fontSize: 16,\n lineHeight: 1.6,\n },\n lg: {\n fontSize: 18,\n lineHeight: 1.7,\n },\n },\n },\n}\n\n/**\n * Dark theme defaults.\n * Uses light text on dark backgrounds.\n * Colors are inverted from light theme for optimal dark mode experience.\n */\nexport const darkThemeDefaults: Theme = {\n mode: ThemeMode.dark,\n\n color: {\n // Primary — firstEdition brand blue in dark mode as well\n primary: \"#2F31FC\",\n\n // Background & Surface - Inverted\n background: \"#141414\",\n surface: \"#141414\",\n surfaceSubtle: \"#111827\",\n surfaceElevated: \"#1F2937\",\n surfaceDisabled: \"#3E3E3E\",\n surfaceInverted: \"#F9FAFB\",\n\n // Text - Inverted\n text: \"#F9FAFB\",\n textMuted: \"#9CA3AF\",\n textSubtle: \"#6B7280\",\n textDisabled: \"rgba(249,250,251,0.4)\",\n textInverted: \"#141414\",\n\n // Borders - Adjusted for dark mode\n border: \"#d9d9d9\",\n borderSubtle: \"#d4d4d433\",\n borderStrong: \"#F9FAFB\",\n borderDisabled: \"rgba(255,255,255,0.16)\",\n\n // Focus color - Same accessible blue works in both modes\n focus: \"#2684FF\",\n\n // Semantic colors\n danger: \"#D90429\",\n success: \"#00875A\",\n warning: \"#FFB703\",\n },\n\n font: {\n primary: \"'Instrument Sans', Inter, system-ui, sans-serif\",\n secondary: \"Helvetica\",\n mono: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace\",\n },\n\n ui: {\n radius: 4,\n density: \"comfortable\",\n },\n\n typography: {\n h1: {\n fontSize: 32,\n lineHeight: 1.1875,\n fontWeight: 700,\n letterSpacing: -0.96,\n },\n h2: {\n fontSize: 24,\n lineHeight: 1.25,\n fontWeight: 500,\n letterSpacing: -0.72,\n },\n h3: {\n fontSize: 20,\n lineHeight: 1.3,\n fontWeight: 500,\n letterSpacing: -0.6,\n },\n paragraph: {\n sm: {\n fontSize: 14,\n lineHeight: 1.5,\n },\n md: {\n fontSize: 16,\n lineHeight: 1.6,\n },\n lg: {\n fontSize: 18,\n lineHeight: 1.7,\n },\n },\n },\n}\n","import type { ThemeInput } from \"./theme-types\"\n\nexport type ToneName = \"default\" | \"digital\" | \"playful\" | \"editorial\"\n\nexport type ToneDefinition = Pick<Partial<ThemeInput>, \"font\" | \"ui\" | \"typography\">\n\nconst digitalTone: ToneDefinition = {\n font: {\n primary: \"Fira Code, ui-monospace, monospace\",\n secondary: \"Fira Code, monospace\",\n },\n ui: { radius: 0 },\n typography: {\n h1: { fontWeight: 500, letterSpacing: 0, lineHeight: 1.1 },\n h2: { fontWeight: 500, letterSpacing: 0, lineHeight: 1.15 },\n h3: { fontWeight: 500, letterSpacing: 0, lineHeight: 1.2 },\n paragraph: {\n sm: { lineHeight: 1.4 },\n md: { lineHeight: 1.5 },\n lg: { lineHeight: 1.5 },\n },\n },\n}\n\nconst playfulTone: ToneDefinition = {\n font: {\n primary: \"Nunito, system-ui, sans-serif\",\n secondary: \"Nunito, sans-serif\",\n },\n ui: { radius: 16 },\n typography: {\n h1: { fontWeight: 800, lineHeight: 1.3, letterSpacing: -0.5 },\n h2: { fontWeight: 800, lineHeight: 1.35, letterSpacing: -0.3 },\n h3: { fontWeight: 700, lineHeight: 1.4, letterSpacing: 0 },\n paragraph: {\n sm: { lineHeight: 1.6 },\n md: { lineHeight: 1.7 },\n lg: { lineHeight: 1.8 },\n },\n },\n}\n\nconst editorialTone: ToneDefinition = {\n font: {\n primary: \"Playfair Display, Georgia, serif\",\n secondary: \"Lora, Georgia, serif\",\n },\n ui: { radius: 2 },\n typography: {\n h1: { fontWeight: 400, letterSpacing: 0.5, lineHeight: 1.3 },\n h2: { fontWeight: 400, letterSpacing: 0.3, lineHeight: 1.35 },\n h3: { fontWeight: 500, letterSpacing: 0.1, lineHeight: 1.4 },\n paragraph: {\n sm: { lineHeight: 1.6 },\n md: { lineHeight: 1.7 },\n lg: { lineHeight: 1.8 },\n },\n },\n}\n\nconst TONE_MAP: Record<ToneName, ToneDefinition> = {\n default: {},\n digital: digitalTone,\n playful: playfulTone,\n editorial: editorialTone,\n}\n\n/**\n * Returns theme overrides for a given tone.\n * \"default\" returns an empty object (no overrides).\n * Consumer-supplied ThemeInput values should be merged on top of tone overrides.\n */\nexport function resolveTone(tone: ToneName): ToneDefinition {\n return TONE_MAP[tone]\n}\n","import { normalizeColorInput, resolveInfoRole, resolveSecondaryRole } from \"./color-resolve\"\nimport type { ResolvedTheme } from \"./theme-css\"\nimport { darkThemeDefaults, lightThemeDefaults } from \"./theme-defaults\"\nimport { type ThemeInput, ThemeMode } from \"./theme-types\"\nimport { resolveTone } from \"./tone\"\n\n/**\n * Converts a consumer ThemeInput into a fully-resolved ResolvedTheme.\n * Derivable color roles (primary, danger, success, warning) are run through\n * normalizeColorInput. Secondary and info are always derived — never configured.\n * Font, ui, and typography merge against lightThemeDefaults (same for both modes).\n *\n * Merge order: defaults ← tone overrides ← explicit user overrides.\n * This ensures user-supplied values always win over tone defaults.\n */\nexport function resolveThemeInput(input: ThemeInput): ResolvedTheme {\n const mode = input.mode ?? ThemeMode.light\n const colorBase = mode === ThemeMode.dark ? darkThemeDefaults.color : lightThemeDefaults.color\n const base = lightThemeDefaults\n\n const tone = resolveTone(input.tone ?? \"default\")\n\n const primary = normalizeColorInput(input.color?.primary ?? colorBase.primary)\n const danger = normalizeColorInput(input.color?.danger ?? colorBase.danger)\n const success = normalizeColorInput(input.color?.success ?? colorBase.success)\n const warning = normalizeColorInput(input.color?.warning ?? colorBase.warning)\n\n return {\n mode,\n color: {\n primary,\n secondary: resolveSecondaryRole(primary),\n danger,\n success,\n warning,\n info: resolveInfoRole(primary),\n background: input.color?.background ?? colorBase.background,\n surface: input.color?.surface ?? colorBase.surface,\n surfaceSubtle: input.color?.surfaceSubtle ?? colorBase.surfaceSubtle,\n surfaceElevated: input.color?.surfaceElevated ?? colorBase.surfaceElevated,\n surfaceDisabled: input.color?.surfaceDisabled ?? colorBase.surfaceDisabled,\n surfaceInverted: input.color?.surfaceInverted ?? colorBase.surfaceInverted,\n text: input.color?.text ?? colorBase.text,\n textMuted: input.color?.textMuted ?? colorBase.textMuted,\n textSubtle: input.color?.textSubtle ?? colorBase.textSubtle,\n textDisabled: input.color?.textDisabled ?? colorBase.textDisabled,\n textInverted: input.color?.textInverted ?? colorBase.textInverted,\n border: input.color?.border ?? colorBase.border,\n borderSubtle: input.color?.borderSubtle ?? colorBase.borderSubtle,\n borderStrong: input.color?.borderStrong ?? colorBase.borderStrong,\n borderDisabled: input.color?.borderDisabled ?? colorBase.borderDisabled,\n focus: input.color?.focus ?? colorBase.focus,\n },\n font: { ...base.font, ...tone.font, ...input.font },\n ui: { ...base.ui, ...tone.ui, ...input.ui },\n typography: {\n h1: { ...base.typography.h1, ...tone.typography?.h1, ...input.typography?.h1 },\n h2: { ...base.typography.h2, ...tone.typography?.h2, ...input.typography?.h2 },\n h3: { ...base.typography.h3, ...tone.typography?.h3, ...input.typography?.h3 },\n paragraph: {\n sm: {\n ...base.typography.paragraph.sm,\n ...tone.typography?.paragraph?.sm,\n ...input.typography?.paragraph?.sm,\n },\n md: {\n ...base.typography.paragraph.md,\n ...tone.typography?.paragraph?.md,\n ...input.typography?.paragraph?.md,\n },\n lg: {\n ...base.typography.paragraph.lg,\n ...tone.typography?.paragraph?.lg,\n ...input.typography?.paragraph?.lg,\n },\n },\n },\n }\n}\n","import { themeModesToCSSRules } from \"./theme-css\"\nimport type { ThemeModeAttribute, ThemeModeRootTarget } from \"./theme-css\"\nimport { resolveThemeInput } from \"./theme-normalize\"\nimport { ThemeMode } from \"./theme-types\"\nimport type { ThemeInput, ThemeMode as ThemeModeValue, ThemePreference } from \"./theme-types\"\n\nexport type MarwesThemeScriptOptions = {\n storageKey?: string | false\n defaultPreference?: ThemePreference\n enableSystem?: boolean\n target?: ThemeModeRootTarget\n attribute?: ThemeModeAttribute\n}\n\nexport type MarwesThemeStyleOptions = {\n lightTheme?: ThemeInput\n darkTheme?: ThemeInput\n selector?: string\n target?: ThemeModeRootTarget\n attribute?: ThemeModeAttribute\n}\n\nconst mediaQuery = \"(prefers-color-scheme: dark)\"\n\nexport function createMarwesThemeScript({\n storageKey = false,\n defaultPreference = ThemeMode.light,\n enableSystem = true,\n target,\n attribute = \"class\",\n}: MarwesThemeScriptOptions = {}): string {\n const config = serializeScriptData({\n storageKey,\n defaultPreference,\n enableSystem,\n target,\n attribute,\n mediaQuery,\n })\n\n return `(function(){try{var c=${config};var p=c.defaultPreference;if(c.storageKey){try{var s=window.localStorage.getItem(c.storageKey);if(s===\"light\"||s===\"dark\"||s===\"system\")p=s;}catch(_){}}var m=\"light\";if(p===\"light\"||p===\"dark\"){m=p;}else if(c.enableSystem&&window.matchMedia&&window.matchMedia(c.mediaQuery).matches){m=\"dark\";}function a(e){if(!e)return;if(c.attribute===\"class\"){e.classList.remove(m===\"dark\"?\"light\":\"dark\");e.classList.add(m);}else{e.setAttribute(c.attribute,m);}}if(c.target===\"html\")a(document.documentElement);else if(c.target===\"body\")a(document.body);var r=document.querySelectorAll(\"[data-marwes-theme]\");for(var i=0;i<r.length;i++){var e=r[i];e.setAttribute(\"data-marwes-mode\",m);e.classList.remove(m===\"dark\"?\"mw-theme--light\":\"mw-theme--dark\");e.classList.add(\"mw-theme--\"+m);}}catch(_){}})();`\n}\n\nexport function createMarwesThemeStyle({\n lightTheme,\n darkTheme,\n selector,\n target,\n attribute,\n}: MarwesThemeStyleOptions = {}): string {\n const options = {\n light: resolveThemeInput({ ...(lightTheme ?? {}), mode: ThemeMode.light }),\n dark: resolveThemeInput({ ...(darkTheme ?? {}), mode: ThemeMode.dark }),\n }\n\n return themeModesToCSSRules({\n ...options,\n ...(selector === undefined ? {} : { selector }),\n ...(target === undefined ? {} : { rootTarget: target }),\n ...(attribute === undefined ? {} : { rootAttribute: attribute }),\n })\n}\n\nexport function resolveServerThemeMode({\n preference = ThemeMode.light,\n systemFallback = ThemeMode.light,\n}: {\n preference?: ThemePreference\n systemFallback?: ThemeModeValue\n} = {}): ThemeModeValue {\n return preference === \"system\" ? systemFallback : preference\n}\n\nfunction serializeScriptData(value: unknown): string {\n return JSON.stringify(value)\n .replace(/</g, \"\\\\u003c\")\n .replace(/\\u2028/g, \"\\\\u2028\")\n .replace(/\\u2029/g, \"\\\\u2029\")\n}\n","export type MwThemeVarName = `--mw-${string}`\nexport type MwThemeVarReference = `var(${MwThemeVarName})` | `var(${MwThemeVarName}, ${string})`\n\n/**\n * Wraps a Marwes CSS custom property name in `var(...)`, with an optional fallback.\n * Use this as the escape hatch for custom or advanced `--mw-*` variables.\n */\nexport function mwVar<const TName extends MwThemeVarName>(name: TName): `var(${TName})`\nexport function mwVar<const TName extends MwThemeVarName>(\n name: TName,\n fallback: string,\n): `var(${TName}, ${string})`\nexport function mwVar(name: MwThemeVarName, fallback?: string): string {\n return fallback === undefined ? `var(${name})` : `var(${name}, ${fallback})`\n}\n\n/**\n * Raw Marwes CSS custom property names, without `var(...)`.\n * Use these when assigning variables, inspecting tokens, writing tests, or building adapter/tooling bridges.\n */\nexport const mwThemeVarNames = {\n color: {\n primary: {\n base: \"--mw-color-primary-base\",\n hover: \"--mw-color-primary-hover\",\n pressed: \"--mw-color-primary-pressed\",\n disabled: \"--mw-color-primary-disabled\",\n label: \"--mw-color-primary-label\",\n labelDisabled: \"--mw-color-primary-label-disabled\",\n },\n secondary: {\n base: \"--mw-color-secondary-base\",\n hover: \"--mw-color-secondary-hover\",\n pressed: \"--mw-color-secondary-pressed\",\n disabled: \"--mw-color-secondary-disabled\",\n label: \"--mw-color-secondary-label\",\n labelDisabled: \"--mw-color-secondary-label-disabled\",\n border: \"--mw-color-secondary-border\",\n borderDisabled: \"--mw-color-secondary-border-disabled\",\n },\n danger: {\n base: \"--mw-color-danger-base\",\n hover: \"--mw-color-danger-hover\",\n pressed: \"--mw-color-danger-pressed\",\n disabled: \"--mw-color-danger-disabled\",\n label: \"--mw-color-danger-label\",\n labelDisabled: \"--mw-color-danger-label-disabled\",\n },\n success: {\n base: \"--mw-color-success-base\",\n hover: \"--mw-color-success-hover\",\n pressed: \"--mw-color-success-pressed\",\n disabled: \"--mw-color-success-disabled\",\n label: \"--mw-color-success-label\",\n labelDisabled: \"--mw-color-success-label-disabled\",\n },\n warning: {\n base: \"--mw-color-warning-base\",\n hover: \"--mw-color-warning-hover\",\n pressed: \"--mw-color-warning-pressed\",\n disabled: \"--mw-color-warning-disabled\",\n label: \"--mw-color-warning-label\",\n labelDisabled: \"--mw-color-warning-label-disabled\",\n },\n info: {\n base: \"--mw-color-info-base\",\n hover: \"--mw-color-info-hover\",\n pressed: \"--mw-color-info-pressed\",\n disabled: \"--mw-color-info-disabled\",\n label: \"--mw-color-info-label\",\n labelDisabled: \"--mw-color-info-label-disabled\",\n },\n background: \"--mw-color-background\",\n surface: \"--mw-color-surface\",\n surfaceSubtle: \"--mw-color-surface-subtle\",\n surfaceElevated: \"--mw-color-surface-elevated\",\n surfaceDisabled: \"--mw-color-surface-disabled\",\n surfaceInverted: \"--mw-color-surface-inverted\",\n text: \"--mw-color-text\",\n textMuted: \"--mw-color-text-muted\",\n textSubtle: \"--mw-color-text-subtle\",\n textDisabled: \"--mw-color-text-disabled\",\n textInverted: \"--mw-color-text-inverted\",\n border: \"--mw-color-border\",\n borderSubtle: \"--mw-color-border-subtle\",\n borderStrong: \"--mw-color-border-strong\",\n borderDisabled: \"--mw-color-border-disabled\",\n focus: \"--mw-color-focus\",\n },\n spacing: {\n sp0: \"--mw-spacing-sp-0\",\n sp2: \"--mw-spacing-sp-2\",\n sp4: \"--mw-spacing-sp-4\",\n sp8: \"--mw-spacing-sp-8\",\n sp16: \"--mw-spacing-sp-16\",\n sp24: \"--mw-spacing-sp-24\",\n sp32: \"--mw-spacing-sp-32\",\n sp40: \"--mw-spacing-sp-40\",\n sp48: \"--mw-spacing-sp-48\",\n sp56: \"--mw-spacing-sp-56\",\n sp64: \"--mw-spacing-sp-64\",\n sp72: \"--mw-spacing-sp-72\",\n sp80: \"--mw-spacing-sp-80\",\n sp88: \"--mw-spacing-sp-88\",\n sp96: \"--mw-spacing-sp-96\",\n sp104: \"--mw-spacing-sp-104\",\n sp112: \"--mw-spacing-sp-112\",\n sp120: \"--mw-spacing-sp-120\",\n },\n font: {\n primary: \"--mw-font-primary\",\n secondary: \"--mw-font-secondary\",\n mono: \"--mw-font-mono\",\n },\n ui: {\n radius: \"--mw-ui-radius\",\n },\n density: {\n height: \"--mw-density-height\",\n paddingX: \"--mw-density-padding-x\",\n paddingY: \"--mw-density-padding-y\",\n gap: \"--mw-density-gap\",\n fontSize: \"--mw-density-font-size\",\n iconSize: \"--mw-density-icon-size\",\n checkboxSize: \"--mw-density-checkbox-size\",\n fieldGap: \"--mw-density-field-gap\",\n spacingMultiplier: \"--mw-density-spacing-multiplier\",\n fontSizeSm: \"--mw-density-font-size-sm\",\n },\n typography: {\n h1: {\n fontSize: \"--mw-typography-h1-font-size\",\n lineHeight: \"--mw-typography-h1-line-height\",\n fontWeight: \"--mw-typography-h1-font-weight\",\n letterSpacing: \"--mw-typography-h1-letter-spacing\",\n },\n h2: {\n fontSize: \"--mw-typography-h2-font-size\",\n lineHeight: \"--mw-typography-h2-line-height\",\n fontWeight: \"--mw-typography-h2-font-weight\",\n letterSpacing: \"--mw-typography-h2-letter-spacing\",\n },\n h3: {\n fontSize: \"--mw-typography-h3-font-size\",\n lineHeight: \"--mw-typography-h3-line-height\",\n fontWeight: \"--mw-typography-h3-font-weight\",\n letterSpacing: \"--mw-typography-h3-letter-spacing\",\n },\n paragraph: {\n sm: {\n fontSize: \"--mw-typography-paragraph-sm-font-size\",\n lineHeight: \"--mw-typography-paragraph-sm-line-height\",\n },\n md: {\n fontSize: \"--mw-typography-paragraph-md-font-size\",\n lineHeight: \"--mw-typography-paragraph-md-line-height\",\n },\n lg: {\n fontSize: \"--mw-typography-paragraph-lg-font-size\",\n lineHeight: \"--mw-typography-paragraph-lg-line-height\",\n },\n },\n },\n} as const\n\n/**\n * Marwes theme tokens as CSS `var(...)` references.\n * Use this as the default custom styling API for CSS-in-JS, style objects, config files, and framework adapters.\n */\nexport const mwThemeVars = {\n color: {\n primary: {\n base: \"var(--mw-color-primary-base)\",\n hover: \"var(--mw-color-primary-hover)\",\n pressed: \"var(--mw-color-primary-pressed)\",\n disabled: \"var(--mw-color-primary-disabled)\",\n label: \"var(--mw-color-primary-label)\",\n labelDisabled: \"var(--mw-color-primary-label-disabled)\",\n },\n secondary: {\n base: \"var(--mw-color-secondary-base)\",\n hover: \"var(--mw-color-secondary-hover)\",\n pressed: \"var(--mw-color-secondary-pressed)\",\n disabled: \"var(--mw-color-secondary-disabled)\",\n label: \"var(--mw-color-secondary-label)\",\n labelDisabled: \"var(--mw-color-secondary-label-disabled)\",\n border: \"var(--mw-color-secondary-border)\",\n borderDisabled: \"var(--mw-color-secondary-border-disabled)\",\n },\n danger: {\n base: \"var(--mw-color-danger-base)\",\n hover: \"var(--mw-color-danger-hover)\",\n pressed: \"var(--mw-color-danger-pressed)\",\n disabled: \"var(--mw-color-danger-disabled)\",\n label: \"var(--mw-color-danger-label)\",\n labelDisabled: \"var(--mw-color-danger-label-disabled)\",\n },\n success: {\n base: \"var(--mw-color-success-base)\",\n hover: \"var(--mw-color-success-hover)\",\n pressed: \"var(--mw-color-success-pressed)\",\n disabled: \"var(--mw-color-success-disabled)\",\n label: \"var(--mw-color-success-label)\",\n labelDisabled: \"var(--mw-color-success-label-disabled)\",\n },\n warning: {\n base: \"var(--mw-color-warning-base)\",\n hover: \"var(--mw-color-warning-hover)\",\n pressed: \"var(--mw-color-warning-pressed)\",\n disabled: \"var(--mw-color-warning-disabled)\",\n label: \"var(--mw-color-warning-label)\",\n labelDisabled: \"var(--mw-color-warning-label-disabled)\",\n },\n info: {\n base: \"var(--mw-color-info-base)\",\n hover: \"var(--mw-color-info-hover)\",\n pressed: \"var(--mw-color-info-pressed)\",\n disabled: \"var(--mw-color-info-disabled)\",\n label: \"var(--mw-color-info-label)\",\n labelDisabled: \"var(--mw-color-info-label-disabled)\",\n },\n background: \"var(--mw-color-background)\",\n surface: \"var(--mw-color-surface)\",\n surfaceSubtle: \"var(--mw-color-surface-subtle)\",\n surfaceElevated: \"var(--mw-color-surface-elevated)\",\n surfaceDisabled: \"var(--mw-color-surface-disabled)\",\n surfaceInverted: \"var(--mw-color-surface-inverted)\",\n text: \"var(--mw-color-text)\",\n textMuted: \"var(--mw-color-text-muted)\",\n textSubtle: \"var(--mw-color-text-subtle)\",\n textDisabled: \"var(--mw-color-text-disabled)\",\n textInverted: \"var(--mw-color-text-inverted)\",\n border: \"var(--mw-color-border)\",\n borderSubtle: \"var(--mw-color-border-subtle)\",\n borderStrong: \"var(--mw-color-border-strong)\",\n borderDisabled: \"var(--mw-color-border-disabled)\",\n focus: \"var(--mw-color-focus)\",\n },\n spacing: {\n sp0: \"var(--mw-spacing-sp-0)\",\n sp2: \"var(--mw-spacing-sp-2)\",\n sp4: \"var(--mw-spacing-sp-4)\",\n sp8: \"var(--mw-spacing-sp-8)\",\n sp16: \"var(--mw-spacing-sp-16)\",\n sp24: \"var(--mw-spacing-sp-24)\",\n sp32: \"var(--mw-spacing-sp-32)\",\n sp40: \"var(--mw-spacing-sp-40)\",\n sp48: \"var(--mw-spacing-sp-48)\",\n sp56: \"var(--mw-spacing-sp-56)\",\n sp64: \"var(--mw-spacing-sp-64)\",\n sp72: \"var(--mw-spacing-sp-72)\",\n sp80: \"var(--mw-spacing-sp-80)\",\n sp88: \"var(--mw-spacing-sp-88)\",\n sp96: \"var(--mw-spacing-sp-96)\",\n sp104: \"var(--mw-spacing-sp-104)\",\n sp112: \"var(--mw-spacing-sp-112)\",\n sp120: \"var(--mw-spacing-sp-120)\",\n },\n font: {\n primary: \"var(--mw-font-primary)\",\n secondary: \"var(--mw-font-secondary)\",\n mono: \"var(--mw-font-mono)\",\n },\n ui: {\n radius: \"var(--mw-ui-radius)\",\n },\n density: {\n height: \"var(--mw-density-height)\",\n paddingX: \"var(--mw-density-padding-x)\",\n paddingY: \"var(--mw-density-padding-y)\",\n gap: \"var(--mw-density-gap)\",\n fontSize: \"var(--mw-density-font-size)\",\n iconSize: \"var(--mw-density-icon-size)\",\n checkboxSize: \"var(--mw-density-checkbox-size)\",\n fieldGap: \"var(--mw-density-field-gap)\",\n spacingMultiplier: \"var(--mw-density-spacing-multiplier)\",\n fontSizeSm: \"var(--mw-density-font-size-sm)\",\n },\n typography: {\n h1: {\n fontSize: \"var(--mw-typography-h1-font-size)\",\n lineHeight: \"var(--mw-typography-h1-line-height)\",\n fontWeight: \"var(--mw-typography-h1-font-weight)\",\n letterSpacing: \"var(--mw-typography-h1-letter-spacing)\",\n },\n h2: {\n fontSize: \"var(--mw-typography-h2-font-size)\",\n lineHeight: \"var(--mw-typography-h2-line-height)\",\n fontWeight: \"var(--mw-typography-h2-font-weight)\",\n letterSpacing: \"var(--mw-typography-h2-letter-spacing)\",\n },\n h3: {\n fontSize: \"var(--mw-typography-h3-font-size)\",\n lineHeight: \"var(--mw-typography-h3-line-height)\",\n fontWeight: \"var(--mw-typography-h3-font-weight)\",\n letterSpacing: \"var(--mw-typography-h3-letter-spacing)\",\n },\n paragraph: {\n sm: {\n fontSize: \"var(--mw-typography-paragraph-sm-font-size)\",\n lineHeight: \"var(--mw-typography-paragraph-sm-line-height)\",\n },\n md: {\n fontSize: \"var(--mw-typography-paragraph-md-font-size)\",\n lineHeight: \"var(--mw-typography-paragraph-md-line-height)\",\n },\n lg: {\n fontSize: \"var(--mw-typography-paragraph-lg-font-size)\",\n lineHeight: \"var(--mw-typography-paragraph-lg-line-height)\",\n },\n },\n },\n} as const\n\n/**\n * Plain ThemeProvider-friendly object for styled-components and Emotion.\n * It mirrors `mwThemeVars` without adding a dependency on any CSS-in-JS library.\n */\nexport const mwStyledTheme = mwThemeVars\n\nexport type MwThemeVarNames = typeof mwThemeVarNames\nexport type MwThemeVars = typeof mwThemeVars\nexport type MwStyledTheme = typeof mwStyledTheme\n","/**\n * Pure font utilities shared by adapter runtime layers.\n * Browser-side font injection lives in framework adapters.\n */\n\nexport const mwFontFallbacks = {\n sans: 'system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',\n serif: 'Georgia, \"Times New Roman\", serif',\n mono: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace\",\n rounded: 'ui-rounded, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',\n} as const\n\nexport type MwFontFallback = keyof typeof mwFontFallbacks\n\nexport const mwGoogleFontFamilies = [\n \"Roboto\",\n \"Open Sans\",\n \"Source Sans 3\",\n \"Noto Sans\",\n \"DM Sans\",\n \"Manrope\",\n \"Geist\",\n \"Poppins\",\n \"Montserrat\",\n \"Nunito\",\n \"Lora\",\n \"Merriweather\",\n \"Playfair Display\",\n \"Fira Code\",\n \"JetBrains Mono\",\n] as const\n\nexport type MwGoogleFontFamily = (typeof mwGoogleFontFamilies)[number]\n\nexport function createFontStack(\n family: string,\n fallback: MwFontFallback | string = \"sans\",\n): string {\n const fallbackStack =\n fallback in mwFontFallbacks ? mwFontFallbacks[fallback as MwFontFallback] : fallback\n return `${family}, ${fallbackStack}`\n}\n\nexport const mwAvailableFonts = {\n SystemSans: mwFontFallbacks.sans,\n SystemSerif: mwFontFallbacks.serif,\n SystemMono: mwFontFallbacks.mono,\n Inter: createFontStack(\"Inter\"),\n InstrumentSans: createFontStack(\"Instrument Sans\"),\n Roboto: createFontStack(\"Roboto\"),\n OpenSans: createFontStack(\"Open Sans\"),\n SourceSans3: createFontStack(\"Source Sans 3\"),\n NotoSans: createFontStack(\"Noto Sans\"),\n DmSans: createFontStack(\"DM Sans\"),\n Manrope: createFontStack(\"Manrope\"),\n Geist: createFontStack(\"Geist\"),\n Poppins: createFontStack(\"Poppins\"),\n Montserrat: createFontStack(\"Montserrat\"),\n Nunito: createFontStack(\"Nunito\"),\n Lora: createFontStack(\"Lora\", \"serif\"),\n Merriweather: createFontStack(\"Merriweather\", \"serif\"),\n PlayfairDisplay: createFontStack(\"Playfair Display\", \"serif\"),\n FiraCode: createFontStack(\"Fira Code\", \"mono\"),\n JetBrainsMono: createFontStack(\"JetBrains Mono\", \"mono\"),\n BrandSans: createFontStack(\"Brand Sans\"),\n BrandSerif: createFontStack(\"Brand Serif\", \"serif\"),\n BrandMono: createFontStack(\"Brand Mono\", \"mono\"),\n} as const\n\nexport type MwAvailableFont = keyof typeof mwAvailableFonts\n\n// Fonts that should NOT trigger a Google Fonts load: CSS generics,\n// platform-installed system fonts, project-bundled @fontsource families, and\n// Marwes custom placeholders that consumers are expected to self-host.\nconst KNOWN_FONTS = new Set([\n \"system-ui\",\n \"ui-monospace\",\n \"ui-sans-serif\",\n \"ui-serif\",\n \"ui-rounded\",\n \"-apple-system\",\n \"blinkmacsystemfont\",\n \"segoe ui\",\n \"helvetica\",\n \"arial\",\n \"sans-serif\",\n \"serif\",\n \"monospace\",\n \"cursive\",\n \"fantasy\",\n \"inter\",\n \"instrument sans\",\n \"sfmono-regular\",\n \"menlo\",\n \"monaco\",\n \"consolas\",\n \"georgia\",\n \"times new roman\",\n \"courier new\",\n \"lucida console\",\n \"brand sans\",\n \"brand serif\",\n \"brand mono\",\n])\n\nconst MW_GOOGLE_FONT_FAMILY_SET = new Set(mwGoogleFontFamilies.map(normalizeFontFamilyForMatch))\n\nexport type FontLoadingMode = \"auto\" | \"none\"\n\nexport interface FontLoadingOptions {\n /**\n * auto: load non-system font families from Google Fonts.\n * none: do not inject font links; consumers load fonts with CSS/framework tooling.\n */\n mode?: FontLoadingMode\n /**\n * Optional allowlist for Google Fonts loading. When provided, only these\n * family names are loaded from Google Fonts.\n */\n googleFamilies?: readonly string[]\n /**\n * Optional denylist for locally installed, bundled, or self-hosted fonts.\n */\n skipFamilies?: readonly string[]\n}\n\nexport type FontLoadingConfig = FontLoadingMode | FontLoadingOptions\n\nfunction normalizeFontFamilyForMatch(name: string): string {\n return name\n .trim()\n .replace(/^['\"]|['\"]$/g, \"\")\n .toLowerCase()\n}\n\n/**\n * Builds a Google Fonts CSS2 API URL for a given font family and weights.\n * Weights are sorted ascending in the output.\n */\nexport function buildGoogleFontsUrl(family: string, weights: number[]): string {\n const encodedFamily = family.replace(/ /g, \"+\")\n const sortedWeights = [...weights].sort((a, b) => a - b)\n const weightParam = sortedWeights.join(\";\")\n return `https://fonts.googleapis.com/css2?family=${encodedFamily}:wght@${weightParam}&display=swap`\n}\n\n/**\n * Extracts the first font family name from a CSS font-family stack.\n * Strips single and double quotes, trims whitespace.\n *\n * \"Fira Code', ui-monospace, monospace\" → \"Fira Code\"\n * \"Instrument Sans, system-ui, sans-serif\" → \"Instrument Sans\"\n */\nexport function extractFontFamilyName(fontStack: string): string {\n const firstFont = fontStack.split(\",\")[0] ?? \"\"\n return firstFont.trim().replace(/^['\"]|['\"]$/g, \"\")\n}\n\n/**\n * Returns true if the font name is a known system/generic font\n * that should not trigger a Google Fonts load.\n * Comparison is case-insensitive.\n */\nexport function isSystemFont(name: string): boolean {\n return KNOWN_FONTS.has(normalizeFontFamilyForMatch(name))\n}\n\n/**\n * Determines whether a font family should be loaded from Google Fonts.\n *\n * The default mode is registry-first: known Marwes Google font families load\n * automatically, while custom/self-hosted family names do not.\n */\nexport function shouldLoadGoogleFont(name: string, config: FontLoadingConfig = \"auto\"): boolean {\n const options: FontLoadingOptions = typeof config === \"string\" ? { mode: config } : config\n const mode = options.mode ?? \"auto\"\n\n if (mode === \"none\" || isSystemFont(name)) return false\n\n const normalizedName = normalizeFontFamilyForMatch(name)\n const skipFamilies = new Set((options.skipFamilies ?? []).map(normalizeFontFamilyForMatch))\n if (skipFamilies.has(normalizedName)) return false\n\n if (options.googleFamilies) {\n const googleFamilies = new Set(options.googleFamilies.map(normalizeFontFamilyForMatch))\n return googleFamilies.has(normalizedName)\n }\n\n return MW_GOOGLE_FONT_FAMILY_SET.has(normalizedName)\n}\n\ninterface TypographyForWeightExtraction {\n h1: { fontWeight: number }\n h2: { fontWeight: number }\n h3: { fontWeight: number }\n}\n\n/**\n * Collects unique fontWeight values from typography config.\n * Always includes 400 and 500 as baseline weights.\n * Returns sorted ascending, deduplicated.\n */\nexport function extractUsedWeights(typography: TypographyForWeightExtraction): number[] {\n const weights = new Set([400, 500])\n weights.add(typography.h1.fontWeight)\n weights.add(typography.h2.fontWeight)\n weights.add(typography.h3.fontWeight)\n return [...weights].sort((a, b) => a - b)\n}\n","export const canonicalSemanticAttributeNames = [\n \"data-component\",\n \"data-layer\",\n \"data-variant\",\n \"data-state\",\n \"data-action\",\n \"data-purpose\",\n \"data-context\",\n \"data-intent\",\n \"data-outcome\",\n \"data-destructive\",\n \"data-confirmation-required\",\n \"data-size\",\n \"data-orientation\",\n] as const\n\nexport type SemanticAttributeName = (typeof canonicalSemanticAttributeNames)[number]\n\nexport const semanticLayers = [\"atom\", \"molecule\", \"purpose\"] as const\nexport type SemanticLayer = (typeof semanticLayers)[number]\n\nexport const semanticFamilies = [\"button\", \"badge\", \"avatar\", \"toast\", \"dialog\"] as const\nexport type SemanticFamily = (typeof semanticFamilies)[number]\n\nexport const semanticIntents = [\n \"success\",\n \"error\",\n \"warning\",\n \"info\",\n \"confirm\",\n \"destructive\",\n] as const\nexport type SemanticIntent = (typeof semanticIntents)[number]\n\nexport const semanticOutcomes = [\"positive\", \"negative\", \"neutral\"] as const\nexport type SemanticOutcome = (typeof semanticOutcomes)[number]\n\nexport const semanticOrientations = [\"horizontal\", \"vertical\"] as const\nexport type SemanticOrientation = (typeof semanticOrientations)[number]\n\nexport const buttonPurposes = [\n \"destructive\",\n \"create\",\n \"submit\",\n \"cancel\",\n \"navigation\",\n \"save\",\n \"confirm\",\n \"verify\",\n \"edit\",\n \"close\",\n \"refresh\",\n \"upload\",\n \"download\",\n \"copy\",\n \"search\",\n \"filter\",\n \"sort\",\n \"dropdown\",\n \"success\",\n] as const\n\nexport const badgePurposes = [\"status\", \"priority\", \"notification\"] as const\n\nexport const avatarPurposes = [\"profile\", \"presence\", \"team\"] as const\n\nexport const toastPurposes = [\n \"success-toast\",\n \"error-toast\",\n \"warning-toast\",\n \"info-toast\",\n] as const\n\nexport const dialogPurposes = [\"confirm-dialog\", \"destructive-dialog\", \"info-dialog\"] as const\n\nexport const semanticPurposes = [\n ...buttonPurposes,\n ...badgePurposes,\n ...avatarPurposes,\n ...toastPurposes,\n ...dialogPurposes,\n] as const\nexport type SemanticPurpose = (typeof semanticPurposes)[number]\n\nexport type SemanticAttributeValue = string\n\nexport interface SemanticAttributeDefinition {\n name: SemanticAttributeName\n description: string\n allowedValues?: readonly string[]\n applicableLayers?: readonly SemanticLayer[]\n applicableFamilies?: readonly SemanticFamily[]\n requiredWhenApplicable?: boolean\n}\n\nexport interface FamilySemanticDefinition {\n family: SemanticFamily\n defaultLayer: Exclude<SemanticLayer, \"purpose\">\n baseAttributes: Partial<Record<SemanticAttributeName, SemanticAttributeValue>>\n canonicalAttributes: readonly SemanticAttributeName[]\n allowedPurposes: readonly SemanticPurpose[]\n notes?: string\n}\n\nexport interface PurposeSemanticDefinition {\n purpose: SemanticPurpose\n family: SemanticFamily\n layer: \"purpose\"\n attributes: Partial<Record<SemanticAttributeName, SemanticAttributeValue>>\n supportedFrameworks: readonly [\"react\", \"vue\"]\n notes?: string\n}\n\nexport type SemanticAttributes = Partial<Record<SemanticAttributeName, SemanticAttributeValue>>\n","import {\n type SemanticAttributeDefinition,\n canonicalSemanticAttributeNames,\n semanticFamilies,\n semanticIntents,\n semanticLayers,\n semanticOrientations,\n semanticOutcomes,\n} from \"./semantic-types\"\n\nexport const canonicalSemanticAttributes: Record<string, SemanticAttributeDefinition> = {\n \"data-component\": {\n name: \"data-component\",\n description: \"Stable family identity for the rendered UI surface.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n requiredWhenApplicable: true,\n },\n \"data-layer\": {\n name: \"data-layer\",\n description: \"Architectural UI layer for the rendered API surface.\",\n allowedValues: semanticLayers,\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n \"data-variant\": {\n name: \"data-variant\",\n description: \"Visual or structural variant for a component family.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n \"data-state\": {\n name: \"data-state\",\n description: \"Stable UI state abstraction such as open, closed, or loading.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n \"data-action\": {\n name: \"data-action\",\n description: \"Canonical user-action intent for actionable controls.\",\n applicableFamilies: [\"button\"],\n applicableLayers: semanticLayers,\n },\n \"data-purpose\": {\n name: \"data-purpose\",\n description: \"Semantic usage intent above raw family and variant.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: [\"purpose\"],\n requiredWhenApplicable: true,\n },\n \"data-context\": {\n name: \"data-context\",\n description: \"Narrow contextual qualifier for a semantic purpose.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n \"data-intent\": {\n name: \"data-intent\",\n description: \"Message or workflow intent such as success, error, or destructive.\",\n allowedValues: semanticIntents,\n applicableFamilies: [\"toast\", \"dialog\"],\n applicableLayers: semanticLayers,\n },\n \"data-outcome\": {\n name: \"data-outcome\",\n description: \"Expected result polarity for a purpose surface.\",\n allowedValues: semanticOutcomes,\n applicableFamilies: [\"button\"],\n applicableLayers: semanticLayers,\n },\n \"data-destructive\": {\n name: \"data-destructive\",\n description: \"Boolean marker for destructive actions or flows.\",\n allowedValues: [\"true\", \"false\"],\n applicableFamilies: [\"button\", \"dialog\"],\n applicableLayers: semanticLayers,\n },\n \"data-confirmation-required\": {\n name: \"data-confirmation-required\",\n description: \"Boolean marker for actions that require explicit confirmation.\",\n allowedValues: [\"true\", \"false\"],\n applicableFamilies: [\"button\", \"dialog\"],\n applicableLayers: semanticLayers,\n },\n \"data-size\": {\n name: \"data-size\",\n description: \"Stable size token for a component family.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n \"data-orientation\": {\n name: \"data-orientation\",\n description: \"Stable orientation token for directional families.\",\n allowedValues: semanticOrientations,\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n}\n\nexport const canonicalSemanticAttributeRegistry = canonicalSemanticAttributeNames.map(\n (attributeName) => canonicalSemanticAttributes[attributeName],\n)\n","import type { SemanticAttributes } from \"./semantic-types\"\n\nexport const semanticFrameworkSupport = [\"react\", \"vue\"] as const\n\nexport const emptySemanticAttributes: SemanticAttributes = {}\n","import type { FamilySemanticDefinition } from \"./semantic-types\"\n\nexport const familySemanticsRegistry = {\n button: {\n family: \"button\",\n defaultLayer: \"atom\",\n baseAttributes: {\n \"data-component\": \"button\",\n },\n canonicalAttributes: [\"data-component\", \"data-action\", \"data-variant\", \"data-size\"],\n allowedPurposes: [\n \"destructive\",\n \"create\",\n \"submit\",\n \"cancel\",\n \"navigation\",\n \"save\",\n \"confirm\",\n \"verify\",\n \"edit\",\n \"close\",\n \"refresh\",\n \"upload\",\n \"download\",\n \"copy\",\n \"search\",\n \"filter\",\n \"sort\",\n \"dropdown\",\n \"success\",\n ],\n notes: \"Button already has the strongest base semantic surface in core.\",\n },\n badge: {\n family: \"badge\",\n defaultLayer: \"atom\",\n baseAttributes: {\n \"data-component\": \"badge\",\n },\n canonicalAttributes: [\"data-component\", \"data-variant\"],\n allowedPurposes: [\"status\", \"priority\", \"notification\"],\n notes: \"Badge needs base family identity normalized before full parity governance.\",\n },\n avatar: {\n family: \"avatar\",\n defaultLayer: \"atom\",\n baseAttributes: {\n \"data-component\": \"avatar\",\n },\n canonicalAttributes: [\"data-component\", \"data-size\"],\n allowedPurposes: [\"profile\", \"presence\", \"team\"],\n notes: \"Avatar has simple purpose semantics but multiple rendered identities across molecules.\",\n },\n toast: {\n family: \"toast\",\n defaultLayer: \"atom\",\n baseAttributes: {\n \"data-component\": \"toast\",\n },\n canonicalAttributes: [\"data-component\", \"data-variant\", \"data-intent\"],\n allowedPurposes: [\"success-toast\", \"error-toast\", \"warning-toast\", \"info-toast\"],\n notes:\n \"Toast keeps canonical family identity in core while delivery timing and queue orchestration stay adapter-owned.\",\n },\n dialog: {\n family: \"dialog\",\n defaultLayer: \"atom\",\n baseAttributes: {\n \"data-component\": \"dialog\",\n },\n canonicalAttributes: [\"data-component\", \"data-size\", \"data-intent\"],\n allowedPurposes: [\"confirm-dialog\", \"destructive-dialog\", \"info-dialog\"],\n notes: \"Dialog already has a strong purpose mapping and workflow semantics in adapters.\",\n },\n} satisfies Record<string, FamilySemanticDefinition>\n","import type { PurposeSemanticDefinition } from \"./semantic-types\"\n\nconst frameworks = [\"react\", \"vue\"] as const\n\nexport const buttonPurposeSemantics = {\n destructive: {\n purpose: \"destructive\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"destructive\",\n \"data-action\": \"delete\",\n \"data-destructive\": \"true\",\n \"data-confirmation-required\": \"true\",\n },\n supportedFrameworks: frameworks,\n },\n create: {\n purpose: \"create\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"create\",\n \"data-action\": \"create\",\n },\n supportedFrameworks: frameworks,\n },\n submit: {\n purpose: \"submit\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"submit\",\n \"data-action\": \"submit\",\n \"data-context\": \"form-submit\",\n },\n supportedFrameworks: frameworks,\n },\n cancel: {\n purpose: \"cancel\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"cancel\",\n \"data-action\": \"cancel\",\n },\n supportedFrameworks: frameworks,\n },\n navigation: {\n purpose: \"navigation\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"navigation\",\n \"data-action\": \"navigate\",\n },\n supportedFrameworks: frameworks,\n },\n save: {\n purpose: \"save\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"save\",\n \"data-action\": \"submit\",\n },\n supportedFrameworks: frameworks,\n },\n confirm: {\n purpose: \"confirm\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"confirm\",\n \"data-action\": \"button\",\n \"data-outcome\": \"positive\",\n },\n supportedFrameworks: frameworks,\n },\n verify: {\n purpose: \"verify\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"verify\",\n \"data-action\": \"button\",\n \"data-outcome\": \"positive\",\n },\n supportedFrameworks: frameworks,\n },\n edit: {\n purpose: \"edit\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"edit\",\n \"data-action\": \"edit\",\n },\n supportedFrameworks: frameworks,\n },\n close: {\n purpose: \"close\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"close\",\n \"data-action\": \"cancel\",\n },\n supportedFrameworks: frameworks,\n },\n refresh: {\n purpose: \"refresh\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"refresh\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n upload: {\n purpose: \"upload\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"upload\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n download: {\n purpose: \"download\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"download\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n copy: {\n purpose: \"copy\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"copy\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n search: {\n purpose: \"search\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"search\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n filter: {\n purpose: \"filter\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"filter\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n sort: {\n purpose: \"sort\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"sort\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n dropdown: {\n purpose: \"dropdown\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"dropdown\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n success: {\n purpose: \"success\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"success\",\n \"data-action\": \"button\",\n \"data-outcome\": \"positive\",\n },\n supportedFrameworks: frameworks,\n },\n} satisfies Record<string, PurposeSemanticDefinition>\n\nexport const badgePurposeSemantics = {\n status: {\n purpose: \"status\",\n family: \"badge\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"status\",\n },\n supportedFrameworks: frameworks,\n },\n priority: {\n purpose: \"priority\",\n family: \"badge\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"priority\",\n },\n supportedFrameworks: frameworks,\n },\n notification: {\n purpose: \"notification\",\n family: \"badge\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"notification\",\n },\n supportedFrameworks: frameworks,\n },\n} satisfies Record<string, PurposeSemanticDefinition>\n\nexport const avatarPurposeSemantics = {\n profile: {\n purpose: \"profile\",\n family: \"avatar\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"profile\",\n },\n supportedFrameworks: frameworks,\n },\n presence: {\n purpose: \"presence\",\n family: \"avatar\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"presence\",\n },\n supportedFrameworks: frameworks,\n },\n team: {\n purpose: \"team\",\n family: \"avatar\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"team\",\n },\n supportedFrameworks: frameworks,\n },\n} satisfies Record<string, PurposeSemanticDefinition>\n\nexport const toastPurposeSemantics = {\n successToast: {\n purpose: \"success-toast\",\n family: \"toast\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"success-toast\",\n \"data-intent\": \"success\",\n },\n supportedFrameworks: frameworks,\n },\n errorToast: {\n purpose: \"error-toast\",\n family: \"toast\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"error-toast\",\n \"data-intent\": \"error\",\n },\n supportedFrameworks: frameworks,\n },\n warningToast: {\n purpose: \"warning-toast\",\n family: \"toast\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"warning-toast\",\n \"data-intent\": \"warning\",\n },\n supportedFrameworks: frameworks,\n },\n infoToast: {\n purpose: \"info-toast\",\n family: \"toast\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"info-toast\",\n \"data-intent\": \"info\",\n },\n supportedFrameworks: frameworks,\n },\n} satisfies Record<string, PurposeSemanticDefinition>\n\nexport const dialogPurposeSemantics = {\n confirmDialog: {\n purpose: \"confirm-dialog\",\n family: \"dialog\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"confirm-dialog\",\n \"data-intent\": \"confirm\",\n },\n supportedFrameworks: frameworks,\n },\n destructiveDialog: {\n purpose: \"destructive-dialog\",\n family: \"dialog\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"destructive-dialog\",\n \"data-intent\": \"destructive\",\n \"data-destructive\": \"true\",\n \"data-confirmation-required\": \"true\",\n },\n supportedFrameworks: frameworks,\n },\n infoDialog: {\n purpose: \"info-dialog\",\n family: \"dialog\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"info-dialog\",\n \"data-intent\": \"info\",\n },\n supportedFrameworks: frameworks,\n },\n} satisfies Record<string, PurposeSemanticDefinition>\n\nexport const purposeSemanticsRegistry = {\n ...buttonPurposeSemantics,\n ...badgePurposeSemantics,\n ...avatarPurposeSemantics,\n ...toastPurposeSemantics,\n ...dialogPurposeSemantics,\n} satisfies Record<string, PurposeSemanticDefinition>\n","import { familySemanticsRegistry } from \"./family-semantics\"\nimport { purposeSemanticsRegistry } from \"./purpose-semantics\"\nimport { emptySemanticAttributes } from \"./semantic-constants\"\nimport type { SemanticAttributes, SemanticFamily, SemanticPurpose } from \"./semantic-types\"\n\nexport function filterUndefinedSemanticAttributes(\n semanticAttributes: SemanticAttributes,\n): Record<string, string> {\n return Object.fromEntries(\n Object.entries(semanticAttributes).filter(\n (entry): entry is [string, string] => typeof entry[1] === \"string\",\n ),\n )\n}\n\nexport function mergeSemanticAttributes(\n baseSemanticAttributes: SemanticAttributes,\n overrideSemanticAttributes: SemanticAttributes = emptySemanticAttributes,\n): Record<string, string> {\n return filterUndefinedSemanticAttributes({\n ...baseSemanticAttributes,\n ...overrideSemanticAttributes,\n })\n}\n\nexport function createFamilySemanticAttributes(\n family: SemanticFamily,\n overrideSemanticAttributes: SemanticAttributes = emptySemanticAttributes,\n): Record<string, string> {\n const familySemantics = familySemanticsRegistry[family]\n\n return mergeSemanticAttributes(familySemantics.baseAttributes, overrideSemanticAttributes)\n}\n\nexport function createPurposeSemanticAttributes(\n purpose: SemanticPurpose,\n overrideSemanticAttributes: SemanticAttributes = emptySemanticAttributes,\n): Record<string, string> {\n const purposeSemantics = Object.values(purposeSemanticsRegistry).find(\n (definition) => definition.purpose === purpose,\n )\n\n if (!purposeSemantics) {\n throw new Error(`Unknown Marwes semantic purpose: ${purpose}`)\n }\n\n return mergeSemanticAttributes(purposeSemantics.attributes, overrideSemanticAttributes)\n}\n","import { familySemanticsRegistry } from \"./family-semantics\"\nimport { purposeSemanticsRegistry } from \"./purpose-semantics\"\nimport { canonicalSemanticAttributes } from \"./semantic-attributes\"\n\nexport function validateSemanticRegistry(): void {\n for (const familySemantics of Object.values(familySemanticsRegistry)) {\n for (const canonicalAttributeName of familySemantics.canonicalAttributes) {\n if (!canonicalSemanticAttributes[canonicalAttributeName]) {\n throw new Error(\n `Family ${familySemantics.family} references unknown canonical attribute ${canonicalAttributeName}`,\n )\n }\n }\n }\n\n for (const purposeSemantics of Object.values(purposeSemanticsRegistry)) {\n const familySemantics = familySemanticsRegistry[purposeSemantics.family]\n\n if (!familySemantics) {\n throw new Error(`Purpose ${purposeSemantics.purpose} references unknown family`)\n }\n\n const familyAllowsPurpose = familySemantics.allowedPurposes.some(\n (allowedPurpose) => allowedPurpose === purposeSemantics.purpose,\n )\n\n if (!familyAllowsPurpose) {\n throw new Error(\n `Purpose ${purposeSemantics.purpose} is missing from family ${purposeSemantics.family} allowedPurposes`,\n )\n }\n\n for (const attributeName of Object.keys(purposeSemantics.attributes)) {\n if (!(attributeName in canonicalSemanticAttributes)) {\n throw new Error(\n `Purpose ${purposeSemantics.purpose} references unknown canonical attribute ${attributeName}`,\n )\n }\n }\n }\n}\n","/** All known currency entries (fiat, crypto, commodity). Single source of truth for CurrencyCode type. */\nexport default [\n {\n country: \"United States\",\n currency: \"Dollar\",\n code: \"USD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Euro Member Countries\",\n currency: \"Euro\",\n code: \"EUR\",\n symbol: \"€\",\n unicode_decimal: [8364],\n unicode_hex: [\"20ac\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"United Kingdom\",\n currency: \"Pound\",\n code: \"GBP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Canada\",\n currency: \"Dollar\",\n code: \"CAD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Australia\",\n currency: \"Dollar\",\n code: \"AUD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Japan\",\n currency: \"Yen\",\n code: \"JPY\",\n symbol: \"¥\",\n unicode_decimal: [165],\n unicode_hex: [\"a5\"],\n type: \"fiat\",\n region: \"Asia\",\n note: \"Same symbol as CNY China Yuan Renminbi.\",\n },\n {\n country: \"Afghanistan\",\n currency: \"Afghani\",\n code: \"AFN\",\n symbol: \"؋\",\n unicode_decimal: [1547],\n unicode_hex: [\"60b\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Albania\",\n currency: \"Lek\",\n code: \"ALL\",\n symbol: \"Lek\",\n unicode_decimal: [76, 101, 107],\n unicode_hex: [\"4c\", \"65\", \"6b\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Armenia\",\n currency: \"Dram\",\n code: \"AMD\",\n symbol: \"֏\",\n unicode_decimal: [1423],\n unicode_hex: [\"58f\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Netherlands Antilles\",\n currency: \"Guilder\",\n code: \"ANG\",\n symbol: \"ƒ\",\n unicode_decimal: [402],\n unicode_hex: [\"192\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Angola\",\n currency: \"Kwanza\",\n code: \"AOA\",\n symbol: \"Kz\",\n unicode_decimal: [75, 122],\n unicode_hex: [\"4b\", \"7a\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Argentina\",\n currency: \"Peso\",\n code: \"ARS\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n note: \"Standard dollar sign is generally used to signify peso amounts.\",\n },\n {\n country: \"Aruba\",\n currency: \"Guilder\",\n code: \"AWG\",\n symbol: \"ƒ\",\n unicode_decimal: [402],\n unicode_hex: [\"192\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Azerbaijan\",\n currency: \"Manat\",\n code: \"AZN\",\n symbol: \"₼\",\n unicode_decimal: [8380],\n unicode_hex: [\"20bc\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Bosnia and Herzegovina\",\n currency: \"Convertible Mark\",\n code: \"BAM\",\n symbol: \"KM\",\n unicode_decimal: [75, 77],\n unicode_hex: [\"4b\", \"4d\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Barbados\",\n currency: \"Dollar\",\n code: \"BBD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Bangladesh\",\n currency: \"Taka\",\n code: \"BDT\",\n symbol: \"৳\",\n unicode_decimal: [2547],\n unicode_hex: [\"9f3\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Bulgaria\",\n currency: \"Lev\",\n code: \"BGN\",\n symbol: \"лв\",\n unicode_decimal: [1083, 1074],\n unicode_hex: [\"43b\", \"432\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Bahrain\",\n currency: \"Dinar\",\n code: \"BHD\",\n symbol: \"BD\",\n unicode_decimal: [66, 68],\n unicode_hex: [\"42\", \"44\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Burundi\",\n currency: \"Franc\",\n code: \"BIF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Bermuda\",\n currency: \"Dollar\",\n code: \"BMD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Brunei Darussalam\",\n currency: \"Dollar\",\n code: \"BND\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Bolivia\",\n currency: \"Bolíviano\",\n code: \"BOB\",\n symbol: \"$b\",\n unicode_decimal: [36, 98],\n unicode_hex: [\"24\", \"62\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Brazil\",\n currency: \"Real\",\n code: \"BRL\",\n symbol: \"R$\",\n unicode_decimal: [82, 36],\n unicode_hex: [\"52\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n note: \"Composed of an upper case 'R' followed by standard dollar sign '$'.\",\n },\n {\n country: \"Bahamas\",\n currency: \"Dollar\",\n code: \"BSD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Bhutan\",\n currency: \"Ngultrum\",\n code: \"BTN\",\n symbol: \"Nu\",\n unicode_decimal: [78, 117],\n unicode_hex: [\"4e\", \"75\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Botswana\",\n currency: \"Pula\",\n code: \"BWP\",\n symbol: \"P\",\n unicode_decimal: [80],\n unicode_hex: [\"50\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Belarus\",\n currency: \"Ruble\",\n code: \"BYN\",\n symbol: \"Br\",\n unicode_decimal: [66, 114],\n unicode_hex: [\"42\", \"72\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Belize\",\n currency: \"Dollar\",\n code: \"BZD\",\n symbol: \"BZ$\",\n unicode_decimal: [66, 90, 36],\n unicode_hex: [\"42\", \"5a\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Congo\",\n currency: \"Franc\",\n code: \"CDF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Switzerland\",\n currency: \"Franc\",\n code: \"CHF\",\n symbol: \"CHF\",\n unicode_decimal: [67, 72, 70],\n unicode_hex: [\"43\", \"48\", \"46\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Chile\",\n currency: \"Peso\",\n code: \"CLP\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n note: \"Standard dollar sign is generally used to signify peso amounts.\",\n },\n {\n country: \"China\",\n currency: \"Yuan Renminbi\",\n code: \"CNY\",\n symbol: \"¥\",\n unicode_decimal: [165],\n unicode_hex: [\"a5\"],\n type: \"fiat\",\n region: \"Asia\",\n note: \"Same symbol as JPY Japan Yen.\",\n },\n {\n country: \"Colombia\",\n currency: \"Peso\",\n code: \"COP\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Costa Rica\",\n currency: \"Colon\",\n code: \"CRC\",\n symbol: \"₡\",\n unicode_decimal: [8353],\n unicode_hex: [\"20a1\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Cuba\",\n currency: \"Convertible Peso\",\n code: \"CUC\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Cuba\",\n currency: \"Peso\",\n code: \"CUP\",\n symbol: \"₱\",\n unicode_decimal: [8369],\n unicode_hex: [\"20b1\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Cape Verde\",\n currency: \"Escudo\",\n code: \"CVE\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Czech Republic\",\n currency: \"Koruna\",\n code: \"CZK\",\n symbol: \"Kč\",\n unicode_decimal: [75, 269],\n unicode_hex: [\"4b\", \"10d\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Djibouti\",\n currency: \"Franc\",\n code: \"DJF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Denmark\",\n currency: \"Krone\",\n code: \"DKK\",\n symbol: \"kr\",\n unicode_decimal: [107, 114],\n unicode_hex: [\"6b\", \"72\"],\n type: \"fiat\",\n region: \"Europe\",\n note: \"Composed of a lower case 'k' followed by a lower case 'r'.\",\n },\n {\n country: \"Dominican Republic\",\n currency: \"Peso\",\n code: \"DOP\",\n symbol: \"RD$\",\n unicode_decimal: [82, 68, 36],\n unicode_hex: [\"52\", \"44\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Algeria\",\n currency: \"Dinar\",\n code: \"DZD\",\n symbol: \"دج\",\n unicode_decimal: [1583, 1580],\n unicode_hex: [\"62f\", \"62c\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Egypt\",\n currency: \"Pound\",\n code: \"EGP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Eritrea\",\n currency: \"Nakfa\",\n code: \"ERN\",\n symbol: \"Nfk\",\n unicode_decimal: [78, 102, 107],\n unicode_hex: [\"4e\", \"66\", \"6b\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Ethiopia\",\n currency: \"Birr\",\n code: \"ETB\",\n symbol: \"Br\",\n unicode_decimal: [66, 114],\n unicode_hex: [\"42\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Fiji\",\n currency: \"Dollar\",\n code: \"FJD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Falkland Islands\",\n currency: \"Pound\",\n code: \"FKP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Georgia\",\n currency: \"Lari\",\n code: \"GEL\",\n symbol: \"₾\",\n unicode_decimal: [8382],\n unicode_hex: [\"20be\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Guernsey\",\n currency: \"Pound\",\n code: \"GGP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Ghana\",\n currency: \"Cedi\",\n code: \"GHS\",\n symbol: \"₵\",\n unicode_decimal: [8373],\n unicode_hex: [\"20b5\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Gibraltar\",\n currency: \"Pound\",\n code: \"GIP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Gambia\",\n currency: \"Dalasi\",\n code: \"GMD\",\n symbol: \"D\",\n unicode_decimal: [68],\n unicode_hex: [\"44\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Guinea\",\n currency: \"Franc\",\n code: \"GNF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Guatemala\",\n currency: \"Quetzal\",\n code: \"GTQ\",\n symbol: \"Q\",\n unicode_decimal: [81],\n unicode_hex: [\"51\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Guyana\",\n currency: \"Dollar\",\n code: \"GYD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Hong Kong\",\n currency: \"Dollar\",\n code: \"HKD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Asia\",\n note: \"Standard dollar sign is generally used. Sometimes written HK$ for clarity.\",\n },\n {\n country: \"Honduras\",\n currency: \"Lempira\",\n code: \"HNL\",\n symbol: \"L\",\n unicode_decimal: [76],\n unicode_hex: [\"4c\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Croatia\",\n currency: \"Kuna\",\n code: \"HRK\",\n symbol: \"kn\",\n unicode_decimal: [107, 110],\n unicode_hex: [\"6b\", \"6e\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Haiti\",\n currency: \"Gourde\",\n code: \"HTG\",\n symbol: \"G\",\n unicode_decimal: [71],\n unicode_hex: [\"47\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Hungary\",\n currency: \"Forint\",\n code: \"HUF\",\n symbol: \"Ft\",\n unicode_decimal: [70, 116],\n unicode_hex: [\"46\", \"74\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Indonesia\",\n currency: \"Rupiah\",\n code: \"IDR\",\n symbol: \"Rp\",\n unicode_decimal: [82, 112],\n unicode_hex: [\"52\", \"70\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Israel\",\n currency: \"Shekel\",\n code: \"ILS\",\n symbol: \"₪\",\n unicode_decimal: [8362],\n unicode_hex: [\"20aa\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Isle of Man\",\n currency: \"Pound\",\n code: \"IMP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"India\",\n currency: \"Rupee\",\n code: \"INR\",\n symbol: \"₹\",\n unicode_decimal: [8377],\n unicode_hex: [\"20b9\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Iraq\",\n currency: \"Dinar\",\n code: \"IQD\",\n symbol: \"ع.د\",\n unicode_decimal: [1593, 46, 1583],\n unicode_hex: [\"639\", \"2e\", \"62f\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Iran\",\n currency: \"Rial\",\n code: \"IRR\",\n symbol: \"﷼\",\n unicode_decimal: [65020],\n unicode_hex: [\"fdfc\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Iceland\",\n currency: \"Krona\",\n code: \"ISK\",\n symbol: \"kr\",\n unicode_decimal: [107, 114],\n unicode_hex: [\"6b\", \"72\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Jersey\",\n currency: \"Pound\",\n code: \"JEP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Jamaica\",\n currency: \"Dollar\",\n code: \"JMD\",\n symbol: \"J$\",\n unicode_decimal: [74, 36],\n unicode_hex: [\"4a\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Jordan\",\n currency: \"Dinar\",\n code: \"JOD\",\n symbol: \"JD\",\n unicode_decimal: [74, 68],\n unicode_hex: [\"4a\", \"44\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Kenya\",\n currency: \"Shilling\",\n code: \"KES\",\n symbol: \"KSh\",\n unicode_decimal: [75, 83, 104],\n unicode_hex: [\"4b\", \"53\", \"68\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Kyrgyzstan\",\n currency: \"Som\",\n code: \"KGS\",\n symbol: \"лв\",\n unicode_decimal: [1083, 1074],\n unicode_hex: [\"43b\", \"432\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Cambodia\",\n currency: \"Riel\",\n code: \"KHR\",\n symbol: \"៛\",\n unicode_decimal: [6107],\n unicode_hex: [\"17db\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Comoros\",\n currency: \"Franc\",\n code: \"KMF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Korea (North)\",\n currency: \"Won\",\n code: \"KPW\",\n symbol: \"₩\",\n unicode_decimal: [8361],\n unicode_hex: [\"20a9\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Korea (South)\",\n currency: \"Won\",\n code: \"KRW\",\n symbol: \"₩\",\n unicode_decimal: [8361],\n unicode_hex: [\"20a9\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Kuwait\",\n currency: \"Dinar\",\n code: \"KWD\",\n symbol: \"KD\",\n unicode_decimal: [75, 68],\n unicode_hex: [\"4b\", \"44\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Cayman Islands\",\n currency: \"Dollar\",\n code: \"KYD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Kazakhstan\",\n currency: \"Tenge\",\n code: \"KZT\",\n symbol: \"₸\",\n unicode_decimal: [8376],\n unicode_hex: [\"20b8\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Laos\",\n currency: \"Kip\",\n code: \"LAK\",\n symbol: \"₭\",\n unicode_decimal: [8365],\n unicode_hex: [\"20ad\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Lebanon\",\n currency: \"Pound\",\n code: \"LBP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Sri Lanka\",\n currency: \"Rupee\",\n code: \"LKR\",\n symbol: \"₨\",\n unicode_decimal: [8360],\n unicode_hex: [\"20a8\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Liberia\",\n currency: \"Dollar\",\n code: \"LRD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Lesotho\",\n currency: \"Loti\",\n code: \"LSL\",\n symbol: \"L\",\n unicode_decimal: [76],\n unicode_hex: [\"4c\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Libya\",\n currency: \"Dinar\",\n code: \"LYD\",\n symbol: \"LD\",\n unicode_decimal: [76, 68],\n unicode_hex: [\"4c\", \"44\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Morocco\",\n currency: \"Dirham\",\n code: \"MAD\",\n symbol: \"MAD\",\n unicode_decimal: [77, 65, 68],\n unicode_hex: [\"4d\", \"41\", \"44\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Moldova\",\n currency: \"Leu\",\n code: \"MDL\",\n symbol: \"L\",\n unicode_decimal: [76],\n unicode_hex: [\"4c\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Madagascar\",\n currency: \"Ariary\",\n code: \"MGA\",\n symbol: \"Ar\",\n unicode_decimal: [65, 114],\n unicode_hex: [\"41\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Macedonia\",\n currency: \"Denar\",\n code: \"MKD\",\n symbol: \"ден\",\n unicode_decimal: [1076, 1077, 1085],\n unicode_hex: [\"434\", \"435\", \"43d\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Myanmar\",\n currency: \"Kyat\",\n code: \"MMK\",\n symbol: \"K\",\n unicode_decimal: [75],\n unicode_hex: [\"4b\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Mongolia\",\n currency: \"Tughrik\",\n code: \"MNT\",\n symbol: \"₮\",\n unicode_decimal: [8366],\n unicode_hex: [\"20ae\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Macau\",\n currency: \"Pataca\",\n code: \"MOP\",\n symbol: \"P\",\n unicode_decimal: [80],\n unicode_hex: [\"50\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Mauritania\",\n currency: \"Ouguiya\",\n code: \"MRU\",\n symbol: \"UM\",\n unicode_decimal: [85, 77],\n unicode_hex: [\"55\", \"4d\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Mauritius\",\n currency: \"Rupee\",\n code: \"MUR\",\n symbol: \"₨\",\n unicode_decimal: [8360],\n unicode_hex: [\"20a8\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Maldives\",\n currency: \"Rufiyaa\",\n code: \"MVR\",\n symbol: \"Rf\",\n unicode_decimal: [82, 102],\n unicode_hex: [\"52\", \"66\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Malawi\",\n currency: \"Kwacha\",\n code: \"MWK\",\n symbol: \"MK\",\n unicode_decimal: [77, 75],\n unicode_hex: [\"4d\", \"4b\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Mexico\",\n currency: \"Peso\",\n code: \"MXN\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n note: \"Standard dollar sign is generally used to signify peso amounts.\",\n },\n {\n country: \"Malaysia\",\n currency: \"Ringgit\",\n code: \"MYR\",\n symbol: \"RM\",\n unicode_decimal: [82, 77],\n unicode_hex: [\"52\", \"4d\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Mozambique\",\n currency: \"Metical\",\n code: \"MZN\",\n symbol: \"MT\",\n unicode_decimal: [77, 84],\n unicode_hex: [\"4d\", \"54\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Namibia\",\n currency: \"Dollar\",\n code: \"NAD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Nigeria\",\n currency: \"Naira\",\n code: \"NGN\",\n symbol: \"₦\",\n unicode_decimal: [8358],\n unicode_hex: [\"20a6\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Nicaragua\",\n currency: \"Cordoba\",\n code: \"NIO\",\n symbol: \"C$\",\n unicode_decimal: [67, 36],\n unicode_hex: [\"43\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Norway\",\n currency: \"Krone\",\n code: \"NOK\",\n symbol: \"kr\",\n unicode_decimal: [107, 114],\n unicode_hex: [\"6b\", \"72\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Nepal\",\n currency: \"Rupee\",\n code: \"NPR\",\n symbol: \"₨\",\n unicode_decimal: [8360],\n unicode_hex: [\"20a8\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"New Zealand\",\n currency: \"Dollar\",\n code: \"NZD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Oman\",\n currency: \"Rial\",\n code: \"OMR\",\n symbol: \"﷼\",\n unicode_decimal: [65020],\n unicode_hex: [\"fdfc\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Panama\",\n currency: \"Balboa\",\n code: \"PAB\",\n symbol: \"B/.\",\n unicode_decimal: [66, 47, 46],\n unicode_hex: [\"42\", \"2f\", \"2e\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Peru\",\n currency: \"Sol\",\n code: \"PEN\",\n symbol: \"S/.\",\n unicode_decimal: [83, 47, 46],\n unicode_hex: [\"53\", \"2f\", \"2e\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Papua New Guinea\",\n currency: \"Kina\",\n code: \"PGK\",\n symbol: \"K\",\n unicode_decimal: [75],\n unicode_hex: [\"4b\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Philippines\",\n currency: \"Peso\",\n code: \"PHP\",\n symbol: \"₱\",\n unicode_decimal: [8369],\n unicode_hex: [\"20b1\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Pakistan\",\n currency: \"Rupee\",\n code: \"PKR\",\n symbol: \"₨\",\n unicode_decimal: [8360],\n unicode_hex: [\"20a8\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Poland\",\n currency: \"Zloty\",\n code: \"PLN\",\n symbol: \"zł\",\n unicode_decimal: [122, 322],\n unicode_hex: [\"7a\", \"142\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Paraguay\",\n currency: \"Guarani\",\n code: \"PYG\",\n symbol: \"Gs\",\n unicode_decimal: [71, 115],\n unicode_hex: [\"47\", \"73\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Qatar\",\n currency: \"Riyal\",\n code: \"QAR\",\n symbol: \"﷼\",\n unicode_decimal: [65020],\n unicode_hex: [\"fdfc\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Romania\",\n currency: \"Leu\",\n code: \"RON\",\n symbol: \"lei\",\n unicode_decimal: [108, 101, 105],\n unicode_hex: [\"6c\", \"65\", \"69\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Serbia\",\n currency: \"Dinar\",\n code: \"RSD\",\n symbol: \"Дин.\",\n unicode_decimal: [1044, 1080, 1085, 46],\n unicode_hex: [\"414\", \"438\", \"43d\", \"2e\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Russia\",\n currency: \"Ruble\",\n code: \"RUB\",\n symbol: \"₽\",\n unicode_decimal: [8381],\n unicode_hex: [\"20bd\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Rwanda\",\n currency: \"Franc\",\n code: \"RWF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Saudi Arabia\",\n currency: \"Riyal\",\n code: \"SAR\",\n symbol: \"﷼\",\n unicode_decimal: [65020],\n unicode_hex: [\"fdfc\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Solomon Islands\",\n currency: \"Dollar\",\n code: \"SBD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Seychelles\",\n currency: \"Rupee\",\n code: \"SCR\",\n symbol: \"₨\",\n unicode_decimal: [8360],\n unicode_hex: [\"20a8\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Sudan\",\n currency: \"Pound\",\n code: \"SDG\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Sweden\",\n currency: \"Krona\",\n code: \"SEK\",\n symbol: \"kr\",\n unicode_decimal: [107, 114],\n unicode_hex: [\"6b\", \"72\"],\n type: \"fiat\",\n region: \"Europe\",\n note: \"Composed of a lower case 'k' followed by a lower case 'r'.\",\n },\n {\n country: \"Singapore\",\n currency: \"Dollar\",\n code: \"SGD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Saint Helena\",\n currency: \"Pound\",\n code: \"SHP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Sierra Leone\",\n currency: \"Leone\",\n code: \"SLE\",\n symbol: \"Le\",\n unicode_decimal: [76, 101],\n unicode_hex: [\"4c\", \"65\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Somalia\",\n currency: \"Shilling\",\n code: \"SOS\",\n symbol: \"S\",\n unicode_decimal: [83],\n unicode_hex: [\"53\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Suriname\",\n currency: \"Dollar\",\n code: \"SRD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Sao Tome and Principe\",\n currency: \"Dobra\",\n code: \"STN\",\n symbol: \"Db\",\n unicode_decimal: [68, 98],\n unicode_hex: [\"44\", \"62\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"El Salvador\",\n currency: \"Colon\",\n code: \"SVC\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Syria\",\n currency: \"Pound\",\n code: \"SYP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Eswatini\",\n currency: \"Lilangeni\",\n code: \"SZL\",\n symbol: \"L\",\n unicode_decimal: [76],\n unicode_hex: [\"4c\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Thailand\",\n currency: \"Baht\",\n code: \"THB\",\n symbol: \"฿\",\n unicode_decimal: [3647],\n unicode_hex: [\"e3f\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Tajikistan\",\n currency: \"Somoni\",\n code: \"TJS\",\n symbol: \"SM\",\n unicode_decimal: [83, 77],\n unicode_hex: [\"53\", \"4d\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Turkmenistan\",\n currency: \"Manat\",\n code: \"TMT\",\n symbol: \"T\",\n unicode_decimal: [84],\n unicode_hex: [\"54\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Tunisia\",\n currency: \"Dinar\",\n code: \"TND\",\n symbol: \"DT\",\n unicode_decimal: [68, 84],\n unicode_hex: [\"44\", \"54\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Tonga\",\n currency: \"Pa'anga\",\n code: \"TOP\",\n symbol: \"T$\",\n unicode_decimal: [84, 36],\n unicode_hex: [\"54\", \"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Turkey\",\n currency: \"Lira\",\n code: \"TRY\",\n symbol: \"₺\",\n unicode_decimal: [8378],\n unicode_hex: [\"20ba\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Trinidad and Tobago\",\n currency: \"Dollar\",\n code: \"TTD\",\n symbol: \"TT$\",\n unicode_decimal: [84, 84, 36],\n unicode_hex: [\"54\", \"54\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Tuvalu\",\n currency: \"Dollar\",\n code: \"TVD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Taiwan\",\n currency: \"New Dollar\",\n code: \"TWD\",\n symbol: \"NT$\",\n unicode_decimal: [78, 84, 36],\n unicode_hex: [\"4e\", \"54\", \"24\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Tanzania\",\n currency: \"Shilling\",\n code: \"TZS\",\n symbol: \"Sh\",\n unicode_decimal: [83, 104],\n unicode_hex: [\"53\", \"68\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Ukraine\",\n currency: \"Hryvnia\",\n code: \"UAH\",\n symbol: \"₴\",\n unicode_decimal: [8372],\n unicode_hex: [\"20b4\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Uganda\",\n currency: \"Shilling\",\n code: \"UGX\",\n symbol: \"Sh\",\n unicode_decimal: [83, 104],\n unicode_hex: [\"53\", \"68\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Uruguay\",\n currency: \"Peso\",\n code: \"UYU\",\n symbol: \"$U\",\n unicode_decimal: [36, 85],\n unicode_hex: [\"24\", \"55\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Uzbekistan\",\n currency: \"Som\",\n code: \"UZS\",\n symbol: \"лв\",\n unicode_decimal: [1083, 1074],\n unicode_hex: [\"43b\", \"432\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Venezuela\",\n currency: \"Bolívar\",\n code: \"VEF\",\n symbol: \"Bs\",\n unicode_decimal: [66, 115],\n unicode_hex: [\"42\", \"73\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Venezuela\",\n currency: \"Bolívar Soberano\",\n code: \"VES\",\n symbol: \"Bs.S\",\n unicode_decimal: [66, 115, 46, 83],\n unicode_hex: [\"42\", \"73\", \"2e\", \"53\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Viet Nam\",\n currency: \"Dong\",\n code: \"VND\",\n symbol: \"₫\",\n unicode_decimal: [8363],\n unicode_hex: [\"20ab\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Vanuatu\",\n currency: \"Vatu\",\n code: \"VUV\",\n symbol: \"Vt\",\n unicode_decimal: [86, 116],\n unicode_hex: [\"56\", \"74\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Samoa\",\n currency: \"Tala\",\n code: \"WST\",\n symbol: \"T\",\n unicode_decimal: [84],\n unicode_hex: [\"54\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Central Africa\",\n currency: \"CFA Franc BEAC\",\n code: \"XAF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"East Caribbean\",\n currency: \"Dollar\",\n code: \"XCD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Caribbean\",\n currency: \"Guilder\",\n code: \"XCG\",\n symbol: \"ƒ\",\n unicode_decimal: [402],\n unicode_hex: [\"192\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"IMF\",\n currency: \"Special Drawing Rights\",\n code: \"XDR\",\n symbol: \"SDR\",\n unicode_decimal: [83, 68, 82],\n unicode_hex: [\"53\", \"44\", \"52\"],\n type: \"fiat\",\n region: \"Global\",\n },\n {\n country: \"West Africa\",\n currency: \"CFA Franc\",\n code: \"XOF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Pacific\",\n currency: \"CFP Franc\",\n code: \"XPF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Yemen\",\n currency: \"Rial\",\n code: \"YER\",\n symbol: \"﷼\",\n unicode_decimal: [65020],\n unicode_hex: [\"fdfc\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"South Africa\",\n currency: \"Rand\",\n code: \"ZAR\",\n symbol: \"R\",\n unicode_decimal: [82],\n unicode_hex: [\"52\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Zambia\",\n currency: \"Kwacha\",\n code: \"ZMW\",\n symbol: \"ZK\",\n unicode_decimal: [90, 75],\n unicode_hex: [\"5a\", \"4b\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Zimbabwe\",\n currency: \"Dollar\",\n code: \"ZWD\",\n symbol: \"Z$\",\n unicode_decimal: [90, 36],\n unicode_hex: [\"5a\", \"24\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Zimbabwe\",\n currency: \"Dollar\",\n code: \"ZWG\",\n symbol: \"ZiG\",\n unicode_decimal: [90, 105, 71],\n unicode_hex: [\"5a\", \"69\", \"47\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Zimbabwe\",\n currency: \"Dollar\",\n code: \"ZWL\",\n symbol: \"Z$\",\n unicode_decimal: [90, 36],\n unicode_hex: [\"5a\", \"24\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n\n {\n country: null,\n currency: \"Bitcoin\",\n code: \"BTC\",\n symbol: \"₿\",\n unicode_decimal: [8383],\n unicode_hex: [\"20bf\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Ethereum\",\n code: \"ETH\",\n symbol: \"Ξ\",\n unicode_decimal: [926],\n unicode_hex: [\"39e\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Bitcoin Cash\",\n code: \"BCH\",\n symbol: \"BCH\",\n unicode_decimal: [66, 67, 72],\n unicode_hex: [\"42\", \"43\", \"48\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Cardano\",\n code: \"ADA\",\n symbol: \"ADA\",\n unicode_decimal: [65, 68, 65],\n unicode_hex: [\"41\", \"44\", \"41\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Dogecoin\",\n code: \"DOGE\",\n symbol: \"Ð\",\n unicode_decimal: [208],\n unicode_hex: [\"d0\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Polkadot\",\n code: \"DOT\",\n symbol: \"DOT\",\n unicode_decimal: [68, 79, 84],\n unicode_hex: [\"44\", \"4f\", \"54\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Chainlink\",\n code: \"LINK\",\n symbol: \"LINK\",\n unicode_decimal: [76, 73, 78, 75],\n unicode_hex: [\"4c\", \"49\", \"4e\", \"4b\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Litecoin\",\n code: \"LTC\",\n symbol: \"Ł\",\n unicode_decimal: [321],\n unicode_hex: [\"141\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Terra\",\n code: \"LUNA\",\n symbol: \"LUNA\",\n unicode_decimal: [76, 85, 78, 65],\n unicode_hex: [\"4c\", \"55\", \"4e\", \"41\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Stellar Lumen\",\n code: \"XLM\",\n symbol: \"XLM\",\n unicode_decimal: [88, 76, 77],\n unicode_hex: [\"58\", \"4c\", \"4d\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Ripple\",\n code: \"XRP\",\n symbol: \"XRP\",\n unicode_decimal: [88, 82, 80],\n unicode_hex: [\"58\", \"52\", \"50\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Uniswap\",\n code: \"UNI\",\n symbol: \"UNI\",\n unicode_decimal: [85, 78, 73],\n unicode_hex: [\"55\", \"4e\", \"49\"],\n type: \"crypto\",\n region: \"Global\",\n },\n\n {\n country: null,\n currency: \"Gold Ounce\",\n code: \"XAU\",\n symbol: \"XAU\",\n unicode_decimal: [88, 65, 85],\n unicode_hex: [\"58\", \"41\", \"55\"],\n type: \"commodity\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Silver Ounce\",\n code: \"XAG\",\n symbol: \"XAG\",\n unicode_decimal: [88, 65, 71],\n unicode_hex: [\"58\", \"41\", \"47\"],\n type: \"commodity\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Palladium Ounce\",\n code: \"XPD\",\n symbol: \"XPD\",\n unicode_decimal: [88, 80, 68],\n unicode_hex: [\"58\", \"50\", \"44\"],\n type: \"commodity\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Platinum Ounce\",\n code: \"XPT\",\n symbol: \"XPT\",\n unicode_decimal: [88, 80, 84],\n unicode_hex: [\"58\", \"50\", \"54\"],\n type: \"commodity\",\n region: \"Global\",\n },\n] as const\n","import currencyData from \"./currency-symbols-complete\"\n\n/**\n * Union of all known currency codes (fiat, crypto, commodity),\n * derived automatically from the data source.\n *\n * Adding a new entry to currency-symbols-complete.ts updates this type\n * at compile time — no manual maintenance required.\n */\nexport type CurrencyCode = (typeof currencyData)[number][\"code\"]\n\n/**\n * Array of all known currency codes, useful for Storybook argTypes and validation.\n */\nexport const currencyCodes: CurrencyCode[] = currencyData.map((entry) => entry.code)\n\n/**\n * Lookup map from uppercase ISO 4217 currency code to its text symbol.\n * Built at module load from the data source (~180 entries).\n *\n * Examples: `{ USD: \"$\", EUR: \"€\", SEK: \"kr\", BTC: \"₿\" }`\n */\nexport const currencySymbolMap: Record<string, string> = Object.fromEntries(\n currencyData.map((entry) => [entry.code, entry.symbol]),\n)\n\n/**\n * Returns the text symbol for a given currency code (e.g. \"USD\" → \"$\", \"SEK\" → \"kr\").\n * Case-insensitive. Returns undefined for unknown or missing codes.\n */\nexport function getCurrencySymbol(code: CurrencyCode | string | undefined): string | undefined {\n if (!code) {\n return undefined\n }\n return currencySymbolMap[code.toUpperCase()]\n}\n","export function mergeIdRefs(...refs: Array<string | undefined | null | false>): string | undefined {\n const filtered = refs.filter(Boolean) as string[]\n return filtered.length > 0 ? filtered.join(\" \") : undefined\n}\n\nexport type InputFieldA11yIds = {\n helperTextId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport type RichTextFieldA11yIds = {\n labelId: string\n helperTextId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildInputFieldA11yIds(args: {\n id: string\n hasHelperText: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): InputFieldA11yIds {\n const helperTextId = args.hasHelperText ? `${args.id}-helper` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, helperTextId, errorId)\n const result: InputFieldA11yIds = {}\n if (helperTextId) result.helperTextId = helperTextId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport function buildRichTextFieldA11yIds(args: {\n id: string\n hasHelperText: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): RichTextFieldA11yIds {\n const labelId = `${args.id}-label`\n const helperTextId = args.hasHelperText ? `${args.id}-helper` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, helperTextId, errorId)\n const result: RichTextFieldA11yIds = { labelId }\n if (helperTextId) result.helperTextId = helperTextId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type CheckboxFieldA11yIds = {\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildCheckboxFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): CheckboxFieldA11yIds {\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: CheckboxFieldA11yIds = {}\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type CheckboxGroupFieldA11yIds = {\n labelId: string\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildCheckboxGroupFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): CheckboxGroupFieldA11yIds {\n const labelId = `${args.id}-label`\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: CheckboxGroupFieldA11yIds = { labelId }\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type RadioGroupFieldA11yIds = {\n labelId: string\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildRadioGroupFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): RadioGroupFieldA11yIds {\n const labelId = `${args.id}-label`\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: RadioGroupFieldA11yIds = { labelId }\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type AccordionFieldA11yIds = {\n labelId: string\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildAccordionFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): AccordionFieldA11yIds {\n const labelId = `${args.id}-label`\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: AccordionFieldA11yIds = { labelId }\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type SwitchFieldA11yIds = {\n labelId: string\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildSwitchFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): SwitchFieldA11yIds {\n const labelId = `${args.id}-label`\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: SwitchFieldA11yIds = { labelId }\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type SliderFieldA11yIds = {\n labelId: string\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildSliderFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): SliderFieldA11yIds {\n const labelId = `${args.id}-label`\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: SliderFieldA11yIds = { labelId }\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport function buildCurrencyHelperText(\n helperText: string | undefined,\n currency: string | undefined,\n): string | undefined {\n if (!currency) {\n return helperText\n }\n\n return helperText ? `${helperText} (${currency})` : `Amount in ${currency}`\n}\n\nexport { getCurrencySymbol, currencyCodes } from \"../data/currency-symbols\"\nexport type { CurrencyCode } from \"../data/currency-symbols\"\n\n/**\n * Strips non-numeric characters from a currency input value.\n * Allows digits, a single decimal point, and an optional leading minus sign.\n */\nexport function sanitizeCurrencyValue(rawValue: string): string {\n let hasDecimal = false\n let result = \"\"\n\n for (let i = 0; i < rawValue.length; i++) {\n const character = rawValue.charAt(i)\n\n if (character === \"-\" && i === 0) {\n result += character\n } else if (character === \".\" && !hasDecimal) {\n hasDecimal = true\n result += character\n } else if (character >= \"0\" && character <= \"9\") {\n result += character\n }\n }\n\n return result\n}\n","export type LabeledCopy = {\n label: string\n text: string\n}\n\nexport type FieldComparisonRow = {\n field: string\n type: string\n inputMode: string\n autoComplete: string\n features: string\n}\n\nexport const buttonWhySemanticComponents: LabeledCopy[] = [\n { label: \"Guaranteed AI context\", text: \"action metadata is always set correctly\" },\n { label: \"Consistent UX\", text: \"enforces design patterns across your app\" },\n { label: \"Less boilerplate\", text: \"no need to remember which props to set\" },\n { label: \"Self-documenting\", text: \"code intent is clear from component name\" },\n]\n\nexport const buttonVariantVisualStyles: LabeledCopy[] = [\n { label: \"primary\", text: \"Filled, high emphasis (main actions)\" },\n { label: \"secondary\", text: \"Outlined, brand-accent emphasis (action utilities)\" },\n { label: \"neutral\", text: \"Outlined, low-chroma emphasis (cancel/close/filter actions)\" },\n { label: \"text\", text: \"Minimal, low emphasis (tertiary/inline actions)\" },\n { label: \"success\", text: \"Filled, positive emphasis (confirm actions)\" },\n]\n\nexport const buttonActionSemanticPurposes: LabeledCopy[] = [\n { label: \"submit\", text: \"Form submission\" },\n { label: \"cancel\", text: \"Dismiss/cancel operation\" },\n { label: \"create\", text: \"Create new item\" },\n { label: \"delete\", text: \"Remove/destroy item\" },\n { label: \"navigate\", text: \"Go to another page\" },\n { label: \"edit\", text: \"Modify existing item\" },\n { label: \"reset\", text: \"Reset form state\" },\n { label: \"button\", text: \"Generic action (default)\" },\n]\n\nexport const fieldWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Automatic semantic attributes\",\n text: \"Correct type, inputMode, autoComplete set automatically\",\n },\n { label: \"Built-in functionality\", text: \"Password toggle, search clear button, etc. included\" },\n { label: \"Mobile-optimized\", text: \"Proper keyboard layouts on mobile devices\" },\n { label: \"AI-friendly\", text: \"data-purpose attributes for AI parsing and understanding\" },\n { label: \"Less boilerplate\", text: \"No need to remember which attributes to set\" },\n { label: \"Self-documenting\", text: \"Code intent is clear from component name\" },\n]\n\nexport const richTextWhyUseIt: LabeledCopy[] = [\n {\n label: \"Inline emphasis\",\n text: \"Bold, italic, and underline can be applied directly inside the editor surface\",\n },\n {\n label: \"Textarea-like layout\",\n text: \"Uses the same field framing as other input controls while supporting formatted content\",\n },\n {\n label: \"Accessible editing surface\",\n text: \"Role, labels, descriptions, and error wiring stay aligned with the Marwes field contract\",\n },\n {\n label: \"Separate plain-text boundary\",\n text: \"Textarea remains the plain-text choice, so rich formatting is explicit in the component name\",\n },\n]\n\nexport const richTextFormattingReference: LabeledCopy[] = [\n { label: \"Bold\", text: \"Highlights important words or short phrases\" },\n { label: \"Italic\", text: \"Adds emphasis or styling nuance without changing structure\" },\n { label: \"Underline\", text: \"Signals extra emphasis when the design language calls for it\" },\n]\n\nexport const fieldComparisonRows: FieldComparisonRow[] = [\n {\n field: \"SearchField\",\n type: \"search\",\n inputMode: \"search\",\n autoComplete: \"-\",\n features: \"Search icon by default, clear button (X icon) when has value\",\n },\n {\n field: \"PasswordField\",\n type: \"password\",\n inputMode: \"-\",\n autoComplete: \"current-password or new-password\",\n features: \"Show/hide toggle (eye icon)\",\n },\n {\n field: \"EmailField\",\n type: \"email\",\n inputMode: \"email\",\n autoComplete: \"email\",\n features: \"Email validation, @ keyboard\",\n },\n {\n field: \"DateOfBirthField\",\n type: \"date\",\n inputMode: \"-\",\n autoComplete: \"bday\",\n features: \"Native date picker, birthday autofill\",\n },\n {\n field: \"ZipCodeField\",\n type: \"text\",\n inputMode: \"numeric\",\n autoComplete: \"postal-code\",\n features: \"Numeric keypad, preserves leading zeros\",\n },\n {\n field: \"PhoneField\",\n type: \"tel\",\n inputMode: \"tel\",\n autoComplete: \"tel\",\n features: \"Phone keyboard, accepts any format\",\n },\n {\n field: \"URLField\",\n type: \"url\",\n inputMode: \"url\",\n autoComplete: \"url\",\n features: \"URL validation, .com keyboard\",\n },\n {\n field: \"CurrencyField\",\n type: \"text\",\n inputMode: \"decimal\",\n autoComplete: \"-\",\n features: \"Decimal keyboard, currency label\",\n },\n]\n\nexport const radioWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Pre-built options\",\n text: \"no need to manually create option lists for common patterns\",\n },\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n { label: \"Consistent UX\", text: \"enforces accessible radio group patterns across your app\" },\n { label: \"Less boilerplate\", text: \"one component replaces a RadioGroupField + options array\" },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (YesNoRadioGroup vs generic options)\",\n },\n]\n\nexport const radioPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"YesNoRadioGroup\",\n text: \"Binary yes/no choices — accept terms, opt in/out, enable/disable\",\n },\n {\n label: \"RatingRadioGroup\",\n text: \"Numeric scale selection — satisfaction ratings, priority levels, scores\",\n },\n { label: \"OptionRadioGroup\", text: \"General labeled options — preferences, categories, modes\" },\n]\n\nexport const accordionWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Pre-configured behaviour\",\n text: \"single-open or multi-open is set automatically based on the use case\",\n },\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"enforces accessible accordion group patterns across your app\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces an AccordionField with preconfigured props\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (FAQAccordion vs generic field)\",\n },\n]\n\nexport const accordionPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"FAQAccordion\",\n text: 'Question-and-answer sections — single-open, data-purpose=\"faq\"',\n },\n {\n label: \"SettingsAccordion\",\n text: 'Configuration panels — multi-open, data-purpose=\"settings\"',\n },\n {\n label: \"SectionsAccordion\",\n text: 'Generic collapsible sections — flexible open mode, data-purpose=\"sections\"',\n },\n]\n\nexport const badgeWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"enforces accessible badge patterns across your app\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces a Badge with preconfigured data attributes\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (StatusBadge vs generic Badge)\",\n },\n]\n\nexport const badgePurposeComponentReference: LabeledCopy[] = [\n {\n label: \"StatusBadge\",\n text: 'Operational or lifecycle status — active/inactive, online/offline, data-purpose=\"status\"',\n },\n {\n label: \"PriorityBadge\",\n text: 'Urgency or importance levels — critical/high/medium/low, data-purpose=\"priority\"',\n },\n {\n label: \"NotificationBadge\",\n text: 'Notification counts and alerts — unread counts, new items, data-purpose=\"notification\"',\n },\n]\n\nexport const switchWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"enforces accessible switch patterns across your app\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces a SwitchField with preconfigured data attributes\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (FeatureToggle vs generic SwitchField)\",\n },\n]\n\nexport const switchPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"FeatureToggle\",\n text: 'Enables/disables product features — data-purpose=\"feature-toggle\"',\n },\n {\n label: \"PreferenceSwitch\",\n text: 'User preference or settings toggle — data-purpose=\"preference\"',\n },\n {\n label: \"PermissionSwitch\",\n text: 'Access control or permissions toggle — data-purpose=\"permission\"',\n },\n]\n\nexport const sliderWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"common slider semantics ship with clear labels, bounds, and tooltip defaults\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces repeated SliderField setup for standard controls\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (RadiusSlider vs generic SliderField)\",\n },\n]\n\nexport const sliderPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"VolumeSlider\",\n text: 'Audio and media level controls — data-purpose=\"volume\"',\n },\n {\n label: \"BrightnessSlider\",\n text: 'Display and visual intensity adjustments — data-purpose=\"brightness\"',\n },\n {\n label: \"RadiusSlider\",\n text: 'Design-system radius and corner-rounding controls — data-purpose=\"radius\"',\n },\n]\n\nexport const cardWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"enforces semantic card patterns across your app\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces a Card with preconfigured data attributes\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (ProductCard vs generic Card)\",\n },\n]\n\nexport const cardPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"ProductCard\",\n text: 'Product summaries and catalog surfaces — data-purpose=\"product-card\"',\n },\n {\n label: \"ProfileCard\",\n text: 'People, team, or identity summaries — data-purpose=\"profile-card\"',\n },\n {\n label: \"StatCard\",\n text: 'Metric snapshots and KPI highlights — data-purpose=\"stat-card\"',\n },\n]\n\nexport const tabWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Pre-configured tab sets\",\n text: \"common navigation patterns ship with labels, order, and metadata already in place\",\n },\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"enforces accessible tablist, roving focus, and tabpanel wiring across your app\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces a TabGroup plus repeated panel and keyboard setup\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (SettingsTabs vs generic TabGroup)\",\n },\n]\n\nexport const tabPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"NavigationTabs\",\n text: 'Section switching for peer views — data-purpose=\"navigation-tabs\"',\n },\n {\n label: \"ContentTabs\",\n text: 'Segmented content presentation — data-purpose=\"content-tabs\"',\n },\n {\n label: \"SettingsTabs\",\n text: 'Grouped settings surfaces and admin sections — data-purpose=\"settings-tabs\"',\n },\n]\n\nexport const toastWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Status semantics built in\",\n text: \"success, error, warning, and info toasts ship with matching icons and urgency defaults\",\n },\n {\n label: \"Consistent feedback UX\",\n text: \"keeps transient messaging visually and behaviorally consistent across surfaces\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces repeated icon, aria-live, and metadata setup\",\n },\n {\n label: \"Imperative workflow support\",\n text: \"pairs naturally with ToastProvider and useToast for action-driven feedback flows\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (ErrorToast vs generic Toast)\",\n },\n]\n\nexport const toastPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"SuccessToast\",\n text: 'Positive completion and confirmation feedback — data-purpose=\"success-toast\"',\n },\n {\n label: \"ErrorToast\",\n text: 'Failed actions, blocking issues, and urgent alerts — data-purpose=\"error-toast\"',\n },\n {\n label: \"WarningToast\",\n text: 'Cautionary states and risky follow-up actions — data-purpose=\"warning-toast\"',\n },\n {\n label: \"InfoToast\",\n text: 'Contextual notices and neutral updates — data-purpose=\"info-toast\"',\n },\n]\n\nexport const dialogWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Modal semantics built in\",\n text: \"confirmation, destructive, and informational dialogs ship with consistent actions and dismiss patterns\",\n },\n {\n label: \"Consistent overlay UX\",\n text: \"keeps scrim, escape handling, focus restoration, and footer actions aligned across products\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces repeated open state, button wiring, and aria-modal setup\",\n },\n {\n label: \"Safe defaults\",\n text: \"purpose wrappers make the expected primary and secondary actions obvious for the workflow\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (DestructiveDialog vs generic DialogModal)\",\n },\n]\n\nexport const dialogPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"ConfirmDialog\",\n text: 'Neutral confirmation flows and approval prompts — data-purpose=\"confirm-dialog\"',\n },\n {\n label: \"DestructiveDialog\",\n text: 'Irreversible or risky actions that require explicit confirmation — data-purpose=\"destructive-dialog\"',\n },\n {\n label: \"InfoDialog\",\n text: 'Read-and-acknowledge messaging with a single follow-up action — data-purpose=\"info-dialog\"',\n },\n]\n","import type { AccordionA11yProps, AccordionOptions } from \"./accordion-types\"\n\nexport function resolveAccordionA11y(opts: AccordionOptions): AccordionA11yProps {\n const a11y: AccordionA11yProps = {\n triggerId: `${opts.id}-trigger`,\n panelId: `${opts.id}-panel`,\n ariaExpanded: opts.open ?? false,\n }\n\n if (opts.disabled) a11y.ariaDisabled = true\n\n return a11y\n}\n","/**\n * Accordion core recipe:\n * - returns a render kit for adapters\n * - stable classnames, modifier classes, aria IDs\n */\n\nimport { resolveAccordionA11y } from \"./accordion-a11y\"\nimport type { AccordionOptions, AccordionRenderKit } from \"./accordion-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createAccordionRecipe(opts: AccordionOptions): AccordionRenderKit {\n return {\n tag: \"div\",\n className: cx(\n \"mw-accordion\",\n opts.open && \"mw-accordion--open\",\n opts.disabled && \"mw-accordion--disabled\",\n ),\n vars: {},\n a11y: resolveAccordionA11y(opts),\n }\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport type { IconName } from \"../icon/icon-types\"\n\nexport const AvatarSize = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n} as const\nexport type AvatarSize = (typeof AvatarSize)[keyof typeof AvatarSize]\n\nexport const AvatarType = {\n initials: \"initials\",\n icon: \"icon\",\n image: \"image\",\n} as const\nexport type AvatarType = (typeof AvatarType)[keyof typeof AvatarType]\n\nexport interface AvatarOptions {\n size?: AvatarSize\n type?: AvatarType\n initials?: string\n src?: string\n alt?: string\n iconName?: IconName\n decorative?: boolean\n ariaLabel?: string\n}\n\nexport interface AvatarA11yProps {\n role?: \"img\"\n ariaHidden?: true\n ariaLabel?: string\n}\n\nexport interface AvatarDataAttributes extends Record<string, string> {\n \"data-component\": \"avatar\"\n \"data-size\": AvatarSize\n \"data-type\": AvatarType\n}\n\nexport interface AvatarRenderContent {\n type: AvatarType\n initials?: string\n src?: string\n alt?: string\n iconName?: IconName\n}\n\nexport interface AvatarRenderKit {\n tag: \"span\"\n className: string\n vars: CssVars\n a11y: AvatarA11yProps\n dataAttributes: AvatarDataAttributes\n content: AvatarRenderContent\n}\n","import { AvatarType } from \"./avatar-types\"\nimport type { AvatarA11yProps, AvatarOptions, AvatarType as AvatarTypeValue } from \"./avatar-types\"\n\nfunction isDev(): boolean {\n const p = (\n globalThis as unknown as {\n process?: { env?: Record<string, string | undefined> }\n }\n ).process\n\n const nodeEnv = p?.env?.NODE_ENV\n if (nodeEnv) return nodeEnv !== \"production\"\n\n const meta = import.meta as unknown as {\n env?: { MODE?: string; PROD?: boolean }\n }\n if (typeof meta.env?.PROD === \"boolean\") return !meta.env.PROD\n if (meta.env?.MODE) return meta.env.MODE !== \"production\"\n\n return true\n}\n\nconst __DEV__ = isDev()\n\nexport function resolveAvatarA11y(\n options: AvatarOptions,\n resolvedType: AvatarTypeValue,\n normalizedInitials?: string,\n): AvatarA11yProps {\n if (options.decorative) {\n return {\n ariaHidden: true,\n }\n }\n\n if (resolvedType === AvatarType.image) {\n // Image avatars rely on the <img alt> attribute in the adapter.\n // Warn in development when neither alt nor ariaLabel is provided so the\n // image silently becomes decorative without the team intending it.\n if (__DEV__ && !options.alt && !options.ariaLabel) {\n console.warn(\n \"[marwes] Avatar: an image avatar was rendered without alt text or ariaLabel. \" +\n \"Provide alt to describe the person, or ariaLabel as a fallback, or use \" +\n \"decorative={true} to explicitly mark it as presentational.\",\n )\n }\n\n return {}\n }\n\n const accessibleLabel = options.ariaLabel ?? normalizedInitials ?? \"Avatar\"\n\n return {\n role: \"img\",\n ariaLabel: accessibleLabel,\n }\n}\n","import { createFamilySemanticAttributes } from \"../../../semantics\"\nimport { resolveAvatarA11y } from \"./avatar-a11y\"\nimport { AvatarSize, AvatarType } from \"./avatar-types\"\nimport type {\n AvatarOptions,\n AvatarRenderContent,\n AvatarRenderKit,\n AvatarSize as AvatarSizeValue,\n AvatarType as AvatarTypeValue,\n} from \"./avatar-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nfunction normalizeAvatarInitials(initials?: string): string | undefined {\n if (!initials) {\n return undefined\n }\n\n const compactInitials = initials.trim().replace(/\\s+/g, \"\")\n if (!compactInitials) {\n return undefined\n }\n\n return Array.from(compactInitials).slice(0, 2).join(\"\").toUpperCase()\n}\n\nfunction resolveAvatarType(options: AvatarOptions, normalizedInitials?: string): AvatarTypeValue {\n if (options.type === AvatarType.image && options.src) {\n return AvatarType.image\n }\n\n if (options.type === AvatarType.initials && normalizedInitials) {\n return AvatarType.initials\n }\n\n if (options.type === AvatarType.icon) {\n return AvatarType.icon\n }\n\n if (options.src) {\n return AvatarType.image\n }\n\n if (normalizedInitials) {\n return AvatarType.initials\n }\n\n return AvatarType.icon\n}\n\nfunction createAvatarRenderContent(\n options: AvatarOptions,\n resolvedType: AvatarTypeValue,\n normalizedInitials?: string,\n): AvatarRenderContent {\n if (resolvedType === AvatarType.image) {\n const imageContent: AvatarRenderContent = {\n type: AvatarType.image,\n }\n\n if (options.src) {\n imageContent.src = options.src\n }\n\n const imageAlt = options.alt ?? options.ariaLabel\n if (imageAlt) {\n imageContent.alt = imageAlt\n }\n\n return imageContent\n }\n\n if (resolvedType === AvatarType.initials) {\n const initialsContent: AvatarRenderContent = {\n type: AvatarType.initials,\n }\n\n if (normalizedInitials) {\n initialsContent.initials = normalizedInitials\n }\n\n return initialsContent\n }\n\n return {\n type: AvatarType.icon,\n iconName: options.iconName ?? \"user\",\n }\n}\n\nexport function createAvatarRecipe(options: AvatarOptions = {}): AvatarRenderKit {\n const size: AvatarSizeValue = options.size ?? AvatarSize.medium\n const normalizedInitials = normalizeAvatarInitials(options.initials)\n const resolvedType = resolveAvatarType(options, normalizedInitials)\n const familySemanticAttributes = createFamilySemanticAttributes(\"avatar\", {\n \"data-size\": size,\n })\n\n return {\n tag: \"span\",\n className: cx(\"mw-avatar\", `mw-avatar--${size}`, `mw-avatar--${resolvedType}`),\n vars: {},\n a11y: resolveAvatarA11y(options, resolvedType, normalizedInitials),\n dataAttributes: {\n \"data-component\": familySemanticAttributes[\"data-component\"] as \"avatar\",\n \"data-size\": familySemanticAttributes[\"data-size\"] as AvatarSizeValue,\n \"data-type\": resolvedType,\n },\n content: createAvatarRenderContent(options, resolvedType, normalizedInitials),\n }\n}\n","/**\n * Card core recipe:\n * - returns a render kit for adapters\n * - single stable classname; no modifiers in current Figma spec\n */\n\nimport type { CardOptions, CardRenderKit } from \"./card-types\"\n\nexport function createCardRecipe(opts: CardOptions = {}): CardRenderKit {\n return {\n tag: \"div\",\n className: \"mw-card\",\n vars: {},\n dataAttributes: {\n ...opts.dataAttributes,\n \"data-component\": \"card\",\n },\n }\n}\n","import type { DialogA11yProps, DialogOptions } from \"./dialog-types\"\n\nexport function resolveDialogA11y(opts: DialogOptions): DialogA11yProps {\n const a11y: DialogA11yProps = {\n role: \"dialog\",\n }\n\n if (opts.modal) {\n a11y.ariaModal = true\n }\n\n if (opts.ariaLabel) {\n a11y.ariaLabel = opts.ariaLabel\n }\n\n if (opts.ariaLabelledBy) {\n a11y.ariaLabelledBy = opts.ariaLabelledBy\n }\n\n if (opts.ariaDescribedBy) {\n a11y.ariaDescribedBy = opts.ariaDescribedBy\n }\n\n return a11y\n}\n","import { createFamilySemanticAttributes } from \"../../../semantics\"\nimport { resolveDialogA11y } from \"./dialog-a11y\"\nimport type { DialogOptions, DialogRenderKit } from \"./dialog-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createDialogRecipe(opts: DialogOptions = {}): DialogRenderKit {\n const size = opts.size ?? \"medium\"\n const showFooter = opts.showFooter ?? true\n const showCloseButton = opts.dismissible ?? true\n\n return {\n tag: \"section\",\n className: cx(\n \"mw-dialog\",\n `mw-dialog--${size}`,\n showFooter ? \"mw-dialog--with-footer\" : \"mw-dialog--without-footer\",\n showCloseButton && \"mw-dialog--dismissible\",\n ),\n vars: {},\n size,\n showFooter,\n showCloseButton,\n a11y: resolveDialogA11y(opts),\n dataAttributes: {\n ...createFamilySemanticAttributes(\"dialog\", {\n \"data-size\": size,\n }),\n \"data-footer\": showFooter ? \"true\" : \"false\",\n \"data-dismissible\": showCloseButton ? \"true\" : \"false\",\n ...opts.dataAttributes,\n },\n }\n}\n","import type { ToastA11yProps, ToastOptions } from \"./toast-types\"\n\nexport function resolveToastA11y(opts: ToastOptions): ToastA11yProps {\n const ariaLive = opts.ariaLive ?? \"polite\"\n return {\n role: ariaLive === \"assertive\" ? \"alert\" : \"status\",\n ariaLive,\n ariaAtomic: true,\n }\n}\n","/**\n * Toast core recipe:\n * - returns a render kit for adapters\n * - stable classnames, variant modifier classes, aria-live wiring\n */\n\nimport { createFamilySemanticAttributes } from \"../../../semantics\"\nimport { resolveToastA11y } from \"./toast-a11y\"\nimport type { ToastOptions, ToastRenderKit } from \"./toast-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createToastRecipe(opts: ToastOptions): ToastRenderKit {\n const variant = opts.variant ?? \"outline\"\n return {\n tag: \"div\",\n className: cx(\"mw-toast\", `mw-toast--${variant}`),\n vars: {},\n a11y: resolveToastA11y(opts),\n dataAttributes: createFamilySemanticAttributes(\"toast\", {\n \"data-variant\": variant,\n }),\n }\n}\n","import type { TooltipA11yProps, TooltipOptions } from \"./tooltip-types\"\n\nexport function resolveTooltipA11y(options: TooltipOptions = {}): TooltipA11yProps {\n return {\n ...(options.id ? { id: options.id } : {}),\n role: \"tooltip\",\n }\n}\n","import { resolveTooltipA11y } from \"./tooltip-a11y\"\nimport type { TooltipOptions, TooltipRenderKit } from \"./tooltip-types\"\n\nexport function createTooltipRecipe(options: TooltipOptions = {}): TooltipRenderKit {\n return {\n tag: \"span\",\n className: \"mw-tooltip\",\n vars: {},\n a11y: resolveTooltipA11y(options),\n dataAttributes: {\n \"data-component\": \"tooltip\",\n },\n }\n}\n","import type { BadgeA11yProps, BadgeOptions } from \"./badge-types\"\n\nexport function resolveBadgeA11y(opts: BadgeOptions): BadgeA11yProps {\n const a11y: BadgeA11yProps = {}\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n return a11y\n}\n","/**\n * Badge core recipe:\n * - returns a render kit for adapters\n * - stable classnames, variant modifier classes\n */\n\nimport { createFamilySemanticAttributes } from \"../../../semantics\"\nimport { resolveBadgeA11y } from \"./badge-a11y\"\nimport type { BadgeOptions, BadgeRenderKit } from \"./badge-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createBadgeRecipe(opts: BadgeOptions): BadgeRenderKit {\n const variant = opts.variant ?? \"neutral\"\n return {\n tag: \"span\",\n className: cx(\"mw-badge\", `mw-badge--${variant}`),\n vars: {},\n a11y: resolveBadgeA11y(opts),\n dataAttributes: createFamilySemanticAttributes(\"badge\", {\n \"data-variant\": variant,\n }),\n }\n}\n","/**\n * Core types for Badge.\n * - Core never renders; it returns a render kit consumed by adapters (React/Vue).\n */\n\n/**\n * Badge visual variant.\n * Use `BadgeVariant.success` for type-safe access.\n */\nexport const BadgeVariant = {\n neutral: \"neutral\",\n info: \"info\",\n success: \"success\",\n warning: \"warning\",\n error: \"error\",\n} as const\nexport type BadgeVariant = (typeof BadgeVariant)[keyof typeof BadgeVariant]\n\nexport interface BadgeOptions {\n variant?: BadgeVariant\n /** For numeric/icon-only badges without visible text context */\n ariaLabel?: string\n}\n\nexport interface BadgeA11yProps {\n ariaLabel?: string\n}\n\nexport interface BadgeRenderKit {\n tag: \"span\"\n className: string\n vars: Record<string, string>\n a11y: BadgeA11yProps\n dataAttributes: Record<string, string>\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport type { IconName } from \"../icon/icon-types\"\nimport type { SpinnerVariant } from \"../spinner/spinner-types\"\n\n/**\n * Button size options.\n * Use `ButtonSize.md` for type-safe access.\n */\nexport const ButtonSize = {\n xs: \"xs\",\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n} as const\nexport type ButtonSize = (typeof ButtonSize)[keyof typeof ButtonSize]\n\n/**\n * Button visual variant.\n * Use `ButtonVariant.primary` for type-safe access.\n *\n * @property primary - High-emphasis buttons for primary actions (e.g., \"Save\", \"Submit\", \"Create\").\n * Use sparingly - typically one primary action per view.\n * @property secondary - Medium-emphasis outlined buttons for secondary actions.\n * @property neutral - Low-chroma outlined buttons for neutral utility actions.\n * @property text - Minimal text-like buttons for tertiary or inline actions.\n * @property success - Positive emphasis buttons for confirm-style actions.\n *\n * @example\n * ```tsx\n * import { ButtonVariant } from \"@marwes-ui/core\"\n *\n * <Button variant={ButtonVariant.primary}>Save</Button>\n * <Button variant={ButtonVariant.secondary}>Cancel</Button>\n * ```\n */\nexport const ButtonVariant = {\n primary: \"primary\",\n secondary: \"secondary\",\n neutral: \"neutral\",\n text: \"text\",\n success: \"success\",\n} as const\nexport type ButtonVariant = (typeof ButtonVariant)[keyof typeof ButtonVariant]\n\n/**\n * Button semantic action for AI-friendly context.\n * Prefer using semantic components (CancelButton, SubmitButton, etc.) which set this automatically.\n * Use `ButtonAction.submit` directly only for advanced/dynamic cases.\n *\n * These values are used to:\n * - Set appropriate `data-action` attributes for AI parsing\n * - Provide semantic context for accessibility tools\n * - Enable smart defaults in semantic button variants\n *\n * @property submit - Form submissions. Automatically sets `type=\"submit\"`. Recommended icon: `IconName.Check`\n * @property reset - Form resets. Recommended icon: `IconName.RotateLeft`\n * @property button - Generic button action (default for `<button>` elements)\n * @property navigate - Navigation/routing actions. Used with `<a>` elements and native link semantics. Recommended icon: `IconName.ArrowRight`\n * @property delete - Destructive operations (delete, remove). Should trigger confirmation. Recommended icon: `IconName.Trash` or `IconName.Minus`\n * @property create - Creation actions (add, new). Recommended icon: `IconName.Plus`\n * @property edit - Edit/modify actions. Recommended icon: `IconName.Edit`\n * @property cancel - Cancel/dismiss actions. Recommended icon: `IconName.X`\n *\n * @example\n * ```tsx\n * import { ButtonAction, IconName } from \"@marwes-ui/core\"\n *\n * // For advanced/dynamic use cases:\n * <Button action={ButtonAction.delete} iconRight={IconName.Trash}>Delete</Button>\n *\n * // Prefer semantic variants when possible:\n * <DestructiveButton>Delete Project</DestructiveButton> // Sets action=\"delete\" automatically\n * ```\n */\nexport const ButtonAction = {\n submit: \"submit\",\n reset: \"reset\",\n button: \"button\",\n navigate: \"navigate\",\n delete: \"delete\",\n create: \"create\",\n edit: \"edit\",\n cancel: \"cancel\",\n} as const\nexport type ButtonAction = (typeof ButtonAction)[keyof typeof ButtonAction]\n\nexport interface ButtonLoadingOptions {\n isLoading: boolean\n disableWhileLoading?: boolean\n spinnerVariant?: SpinnerVariant\n loadingLabel?: string\n}\n\nexport interface ResolvedButtonLoading {\n isLoading: boolean\n disableWhileLoading: boolean\n spinnerVariant: SpinnerVariant\n loadingLabel?: string\n}\n\nexport type ButtonOptions = {\n as?: \"button\" | \"a\"\n href?: string\n\n size?: ButtonSize\n variant?: ButtonVariant\n\n disabled?: boolean\n loading?: boolean | ButtonLoadingOptions\n error?: boolean\n\n toggle?: boolean\n pressed?: boolean\n\n ariaLabel?: string\n hasVisibleText?: boolean\n\n ariaExpanded?: boolean\n ariaControls?: string\n\n // Icon support\n iconLeft?: IconName\n iconRight?: IconName\n iconOnly?: boolean\n\n // AI-Friendly attributes (Level 3)\n action?: ButtonAction\n tooltip?: string\n confirmation?: boolean\n\n // Custom data attributes for semantic variants\n dataAttributes?: Record<string, string | boolean | undefined>\n}\n\nexport type ButtonA11yProps = {\n ariaLabel?: string\n ariaBusy?: boolean\n ariaDisabled?: boolean\n ariaPressed?: boolean\n ariaExpanded?: boolean\n ariaControls?: string\n title?: string | undefined\n\n // <button>\n disabled?: boolean\n type?: \"button\" | \"submit\" | \"reset\"\n\n // <a>\n href?: string\n role?: \"link\"\n tabIndex?: 0 | -1\n}\n\nexport type ButtonRenderKit = {\n tag: \"button\" | \"a\"\n className: string\n vars: CssVars\n a11y: ButtonA11yProps\n loading: ResolvedButtonLoading\n blockClick: boolean\n dataAttributes?: Record<string, string | boolean | undefined>\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\n\nexport const SpinnerVariants = {\n classic: \"classic\",\n ring: \"ring\",\n dual: \"dual\",\n dotsRound: \"dots-round\",\n dotsSquare: \"dots-square\",\n lines: \"lines\",\n cross: \"cross\",\n} as const\n\nexport const SpinnerVariant = SpinnerVariants\nexport type SpinnerVariant = (typeof SpinnerVariants)[keyof typeof SpinnerVariants]\n\nexport const spinnerVariants = Object.values(SpinnerVariants) as SpinnerVariant[]\n\nexport const spinnerSizeScale = {\n xs: 16,\n sm: 24,\n md: 32,\n lg: 40,\n} as const\nexport type SpinnerSize = keyof typeof spinnerSizeScale\n\nexport const spinnerSizes = Object.keys(spinnerSizeScale) as SpinnerSize[]\n\nexport function resolveSpinnerSize(size: SpinnerSize | number): number {\n if (typeof size === \"number\") {\n return size\n }\n\n return spinnerSizeScale[size]\n}\n\nexport interface SpinnerOptions {\n /**\n * Visual style from the synced Spinner showcase.\n * Defaults to `classic`, which is also the loading-button treatment in Figma.\n */\n variant?: SpinnerVariant\n\n /**\n * Spinner scale token (`xs`/`sm`/`md`/`lg`) or an explicit pixel size.\n * Scale mapping: xs=16, sm=24, md=32, lg=40.\n */\n size?: SpinnerSize | number\n\n /**\n * Hide the spinner from assistive technology when nearby text already explains loading.\n * Defaults to `true` unless an explicit `ariaLabel` is provided.\n */\n decorative?: boolean\n\n /**\n * Accessible name when the spinner should announce loading state on its own.\n */\n ariaLabel?: string\n\n id?: string\n}\n\nexport interface SpinnerA11yProps {\n id?: string\n role?: \"status\"\n ariaHidden?: true\n ariaLabel?: string\n ariaLive?: \"polite\"\n}\n\nexport interface SpinnerDataAttributes {\n \"data-component\": \"spinner\"\n \"data-variant\": SpinnerVariant\n \"data-size\": SpinnerSize | \"custom\"\n}\n\nexport type SpinnerSvgElement = \"circle\" | \"path\" | \"rect\"\n\nexport interface SpinnerSvgNode {\n tag: SpinnerSvgElement\n attrs: Record<string, string>\n}\n\nexport interface SpinnerSvgDefinition {\n viewBox: \"0 0 24 24\"\n nodes: readonly SpinnerSvgNode[]\n}\n\nexport interface SpinnerRenderKit {\n tag: \"span\"\n className: string\n vars: CssVars\n a11y: SpinnerA11yProps\n dataAttributes: SpinnerDataAttributes\n svg: SpinnerSvgDefinition\n}\n","import { SpinnerVariants } from \"../spinner/spinner-types\"\nimport type { ButtonLoadingOptions, ResolvedButtonLoading } from \"./button-types\"\n\nexport function resolveButtonLoading(\n loading?: boolean | ButtonLoadingOptions,\n): ResolvedButtonLoading {\n if (!loading) {\n return {\n isLoading: false,\n disableWhileLoading: true,\n spinnerVariant: SpinnerVariants.classic,\n }\n }\n\n if (loading === true) {\n return {\n isLoading: true,\n disableWhileLoading: true,\n spinnerVariant: SpinnerVariants.classic,\n }\n }\n\n return {\n isLoading: loading.isLoading,\n disableWhileLoading: loading.disableWhileLoading ?? true,\n spinnerVariant: loading.spinnerVariant ?? SpinnerVariants.classic,\n ...(loading.loadingLabel !== undefined ? { loadingLabel: loading.loadingLabel } : {}),\n }\n}\n","// packages/core/src/components/button/button-a11y.ts\nimport type { ButtonA11yProps, ButtonOptions, ResolvedButtonLoading } from \"./button-types\"\n\nfunction isDev(): boolean {\n // Works in Node + bundlers without requiring @types/node\n const p = (\n globalThis as unknown as {\n process?: { env?: Record<string, string | undefined> }\n }\n ).process\n\n const nodeEnv = p?.env?.NODE_ENV\n if (nodeEnv) return nodeEnv !== \"production\"\n\n // Fallback for some bundlers (typed as unknown to avoid depending on Vite types)\n const meta = import.meta as unknown as {\n env?: { MODE?: string; PROD?: boolean }\n }\n if (typeof meta.env?.PROD === \"boolean\") return !meta.env.PROD\n if (meta.env?.MODE) return meta.env.MODE !== \"production\"\n\n // Default to dev-like behavior if unknown\n return true\n}\n\nconst __DEV__ = isDev()\n\nexport function resolveButtonA11y(\n opts: ButtonOptions,\n resolvedLoading: ResolvedButtonLoading,\n): {\n tag: \"button\" | \"a\"\n a11y: ButtonA11yProps\n blockClick: boolean\n} {\n const tag: \"button\" | \"a\" = opts.as === \"a\" || !!opts.href ? \"a\" : \"button\"\n const isDisabled =\n !!opts.disabled || (resolvedLoading.isLoading && resolvedLoading.disableWhileLoading)\n\n if (__DEV__) {\n const iconOnly = opts.iconOnly || opts.hasVisibleText === false\n const loadingAccessibleLabel = resolvedLoading.isLoading\n ? resolvedLoading.loadingLabel\n : undefined\n\n if (iconOnly && !opts.ariaLabel && !loadingAccessibleLabel) {\n // Development warning for accessibility\n console.warn(\"[marwes] Icon-only Button requires ariaLabel, or loadingLabel while loading.\")\n }\n }\n\n // Build common props without assigning `undefined` (exactOptionalPropertyTypes-safe)\n const common: ButtonA11yProps = {}\n\n if (opts.ariaLabel) common.ariaLabel = opts.ariaLabel\n if (resolvedLoading.isLoading) common.ariaBusy = true\n if (isDisabled) common.ariaDisabled = true\n\n if (opts.toggle) common.ariaPressed = !!opts.pressed\n if (opts.ariaExpanded !== undefined) common.ariaExpanded = opts.ariaExpanded\n if (opts.ariaControls) common.ariaControls = opts.ariaControls\n\n if (tag === \"button\") {\n const nativeButtonType =\n opts.action === \"submit\" ? \"submit\" : opts.action === \"reset\" ? \"reset\" : \"button\"\n\n const a11y: ButtonA11yProps = { ...common, type: nativeButtonType }\n if (isDisabled) a11y.disabled = true\n\n return { tag, a11y, blockClick: false }\n }\n\n const a11y: ButtonA11yProps = {\n ...common,\n }\n\n if (!isDisabled && opts.href) {\n a11y.href = opts.href\n } else {\n a11y.role = \"link\"\n a11y.tabIndex = isDisabled ? -1 : 0\n }\n\n return { tag: \"a\", a11y, blockClick: isDisabled }\n}\n","import { createFamilySemanticAttributes } from \"../../../semantics\"\nimport { resolveButtonA11y } from \"./button-a11y\"\nimport { resolveButtonLoading } from \"./button-loading\"\nimport type { ButtonOptions, ButtonRenderKit } from \"./button-types\"\n\nexport function createButtonRecipe(opts: ButtonOptions): ButtonRenderKit {\n const resolvedLoading = resolveButtonLoading(opts.loading)\n const { tag, a11y, blockClick } = resolveButtonA11y(opts, resolvedLoading)\n\n const size = opts.size ?? \"md\"\n const variant = opts.variant ?? \"primary\"\n const action = opts.action ?? (tag === \"button\" ? \"button\" : \"navigate\")\n\n return {\n tag,\n blockClick,\n loading: resolvedLoading,\n a11y: {\n ...a11y,\n title:\n opts.tooltip ||\n (opts.iconOnly\n ? (a11y.ariaLabel ??\n (resolvedLoading.isLoading ? resolvedLoading.loadingLabel : undefined))\n : undefined),\n },\n className: [\n \"mw-btn\",\n `mw-btn--${size}`,\n `mw-btn--${variant}`,\n opts.error ? \"mw-btn--error\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \"),\n dataAttributes: {\n ...createFamilySemanticAttributes(\"button\", {\n \"data-action\": action,\n \"data-variant\": variant,\n \"data-size\": size,\n }),\n \"data-error\": opts.error ? \"true\" : undefined,\n ...opts.dataAttributes,\n },\n vars: {},\n }\n}\n","import type { RadioA11y, RadioOptions } from \"./radio-types\"\n\nexport function buildRadioA11y(opts: RadioOptions): RadioA11y {\n const a11y: RadioA11y = { type: \"radio\" }\n\n if (opts.id) a11y.id = opts.id\n if (opts.name) a11y.name = opts.name\n if (opts.value) a11y.value = opts.value\n if (opts.disabled) a11y.disabled = true\n if (opts.required) a11y.required = true\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.ariaLabelledBy) a11y.ariaLabelledBy = opts.ariaLabelledBy\n if (opts.ariaDescribedBy) a11y.ariaDescribedBy = opts.ariaDescribedBy\n if (opts.invalid) a11y.ariaInvalid = true\n\n return a11y\n}\n","/**\n * Radio core recipe:\n * - returns a render kit for adapters\n * - stable classnames, modifier classes, strict a11y\n */\n\nimport { buildRadioA11y } from \"./radio-a11y\"\nimport type { RadioOptions, RadioRenderKit } from \"./radio-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function radioRecipe({\n disabled = false,\n invalid = false,\n ...opts\n}: RadioOptions): RadioRenderKit {\n const className = cx(\"mw-radio\", disabled && \"mw-radio--disabled\", invalid && \"mw-radio--invalid\")\n\n const kit: RadioRenderKit = {\n tag: \"input\",\n className,\n vars: {},\n a11y: buildRadioA11y({ disabled, invalid, ...opts }),\n }\n\n if (opts.checked !== undefined) {\n kit.checked = opts.checked\n } else if (opts.defaultChecked !== undefined) {\n kit.defaultChecked = opts.defaultChecked\n }\n\n return kit\n}\n","import type { SwitchA11yProps, SwitchOptions } from \"./switch-types\"\n\nexport function resolveSwitchA11y(opts: SwitchOptions): SwitchA11yProps {\n const a11y: SwitchA11yProps = {\n role: \"switch\",\n ariaChecked: opts.checked ?? false,\n }\n\n if (opts.disabled) a11y.ariaDisabled = true\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.ariaLabelledby) a11y.ariaLabelledby = opts.ariaLabelledby\n if (opts.ariaDescribedBy) a11y.ariaDescribedBy = opts.ariaDescribedBy\n\n return a11y\n}\n","/**\n * Core types for Switch.\n * - Core never renders; it returns a render kit consumed by adapters (React/Vue).\n */\n\nexport const SwitchSize = {\n compact: \"compact\",\n wide: \"wide\",\n rich: \"rich\",\n} as const\nexport type SwitchSize = (typeof SwitchSize)[keyof typeof SwitchSize]\n\nexport interface SwitchOptions {\n size?: SwitchSize\n checked?: boolean\n disabled?: boolean\n /** Required when no visible label text is provided */\n ariaLabel?: string\n ariaLabelledby?: string\n ariaDescribedBy?: string\n}\n\nexport interface SwitchA11yProps {\n role: \"switch\"\n ariaChecked: boolean\n ariaDisabled?: true\n ariaLabel?: string\n ariaLabelledby?: string\n ariaDescribedBy?: string\n}\n\nexport interface SwitchRenderKit {\n tag: \"button\"\n className: string\n vars: Record<string, string>\n a11y: SwitchA11yProps\n}\n","/**\n * Switch core recipe:\n * - returns a render kit for adapters\n * - stable classnames, modifier classes, strict a11y (role=\"switch\")\n */\n\nimport { resolveSwitchA11y } from \"./switch-a11y\"\nimport { SwitchSize } from \"./switch-types\"\nimport type { SwitchOptions, SwitchRenderKit } from \"./switch-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createSwitchRecipe(opts: SwitchOptions): SwitchRenderKit {\n const size = opts.size ?? SwitchSize.compact\n\n return {\n tag: \"button\",\n className: cx(\n \"mw-switch\",\n `mw-switch--${size}`,\n opts.checked && \"mw-switch--checked\",\n opts.disabled && \"mw-switch--disabled\",\n ),\n vars: {},\n a11y: resolveSwitchA11y(opts),\n }\n}\n","import type { SliderA11yProps, SliderOptions } from \"./slider-types\"\n\nconst DEFAULT_SLIDER_MIN = 0\nconst DEFAULT_SLIDER_MAX = 100\nconst DEFAULT_SLIDER_STEP = 1\n\nfunction resolveSliderMin(value: number | undefined): number {\n if (value === undefined || !Number.isFinite(value)) {\n return DEFAULT_SLIDER_MIN\n }\n\n return value\n}\n\nfunction resolveSliderMax(value: number | undefined, min: number): number {\n if (value === undefined || !Number.isFinite(value)) {\n return DEFAULT_SLIDER_MAX >= min ? DEFAULT_SLIDER_MAX : min\n }\n\n return value >= min ? value : min\n}\n\nfunction resolveSliderStep(value: number | undefined): number {\n if (value === undefined || !Number.isFinite(value) || value <= 0) {\n return DEFAULT_SLIDER_STEP\n }\n\n return value\n}\n\nexport function resolveSliderA11y(opts: SliderOptions): SliderA11yProps {\n const min = resolveSliderMin(opts.min)\n const max = resolveSliderMax(opts.max, min)\n const step = resolveSliderStep(opts.step)\n\n const a11y: SliderA11yProps = {\n type: \"range\",\n min,\n max,\n step,\n }\n\n if (opts.id) a11y.id = opts.id\n if (opts.name) a11y.name = opts.name\n if (opts.disabled) a11y.disabled = true\n if (opts.required) a11y.required = true\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.ariaLabelledBy) a11y.ariaLabelledBy = opts.ariaLabelledBy\n if (opts.ariaDescribedBy) a11y.ariaDescribedBy = opts.ariaDescribedBy\n if (opts.ariaValueText) a11y.ariaValueText = opts.ariaValueText\n if (opts.orientation === \"vertical\") a11y.ariaOrientation = \"vertical\"\n\n return a11y\n}\n","import { resolveSliderA11y } from \"./slider-a11y\"\nimport type { SliderOptions, SliderRenderKit } from \"./slider-types\"\n\nfunction clampSliderValue(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value))\n}\n\nfunction resolveSliderCurrentValue(opts: SliderOptions, min: number, max: number): number {\n const fallbackValue = min + (max - min) / 2\n const candidateValue = opts.value ?? opts.defaultValue ?? fallbackValue\n\n if (!Number.isFinite(candidateValue)) {\n return fallbackValue\n }\n\n return clampSliderValue(candidateValue, min, max)\n}\n\nfunction resolveSliderFillPercentage(currentValue: number, min: number, max: number): number {\n const range = max - min\n\n if (range <= 0) {\n return 0\n }\n\n return ((currentValue - min) / range) * 100\n}\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createSliderRecipe(opts: SliderOptions = {}): SliderRenderKit {\n const a11y = resolveSliderA11y(opts)\n const currentValue = resolveSliderCurrentValue(opts, a11y.min, a11y.max)\n const fillPercentage = resolveSliderFillPercentage(currentValue, a11y.min, a11y.max)\n const showTooltip = opts.showTooltip === true\n const showTouchArea = opts.showTouchArea === true\n const orientation = opts.orientation ?? \"horizontal\"\n\n return {\n tag: \"div\",\n className: cx(\n \"mw-slider\",\n `mw-slider--${orientation}`,\n opts.disabled && \"mw-slider--disabled\",\n showTooltip && \"mw-slider--with-tooltip\",\n showTouchArea && \"mw-slider--with-touch-area\",\n ),\n inputClassName: \"mw-slider__native\",\n vars: {\n \"--mw-slider-fill-percentage\": `${fillPercentage}%`,\n },\n a11y,\n dataAttributes: {\n \"data-component\": \"slider\",\n \"data-orientation\": orientation,\n ...(showTooltip ? { \"data-show-tooltip\": \"true\" } : {}),\n ...(showTouchArea ? { \"data-show-touch-area\": \"true\" } : {}),\n },\n value: currentValue,\n showTooltip,\n showTouchArea,\n orientation,\n }\n}\n","/**\n * Builds strict a11y output for Checkbox.\n * - Avoid assigning `undefined` to optional fields (exactOptionalPropertyTypes).\n */\n\nimport type { CheckboxA11y, CheckboxProps } from \"./checkbox-types\"\n\nexport function buildCheckboxA11y(props: CheckboxProps): CheckboxA11y {\n const a11y: CheckboxA11y = {\n type: \"checkbox\",\n }\n\n if (props.id) a11y.id = props.id\n if (props.name) a11y.name = props.name\n if (props.value) a11y.value = props.value\n\n if (props.disabled) a11y.disabled = true\n if (props.required) a11y.required = true\n\n if (props.ariaLabel) a11y.ariaLabel = props.ariaLabel\n if (props.ariaLabelledBy) a11y.ariaLabelledBy = props.ariaLabelledBy\n if (props.ariaDescribedBy) a11y.ariaDescribedBy = props.ariaDescribedBy\n\n // Mixed state: use aria-checked=\"mixed\".\n // For checked/unchecked we omit ariaChecked and rely on native input semantics.\n if (props.indeterminate) a11y.ariaChecked = \"mixed\"\n\n if (props.invalid) a11y.ariaInvalid = true\n\n return a11y\n}\n","/**\n * Checkbox core recipe:\n * - returns a render kit for adapters\n * - stable classnames, modifier classes, css vars, strict a11y\n */\n\nimport { buildCheckboxA11y } from \"./checkbox-a11y\"\nimport type { CheckboxProps, CheckboxRenderKit } from \"./checkbox-types\"\n\nfunction cx(...parts: Array<string | false>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function checkboxRecipe({\n disabled = false,\n invalid = false,\n ...props\n}: CheckboxProps): CheckboxRenderKit {\n const size = props.size ?? \"md\"\n\n const className = cx(\n \"mw-checkbox\",\n size === \"sm\" && \"mw-checkbox--sm\",\n size === \"md\" && \"mw-checkbox--md\",\n size === \"lg\" && \"mw-checkbox--lg\",\n disabled && \"mw-checkbox--disabled\",\n invalid && \"mw-checkbox--invalid\",\n )\n\n const a11y = buildCheckboxA11y({ disabled, invalid, ...props })\n const vars = {}\n\n // Controlled vs uncontrolled:\n // - If `checked` is present, adapter should pass it through and handle onChange.\n // - Otherwise adapter can use `defaultChecked` or leave it uncontrolled.\n const kit: CheckboxRenderKit = {\n tag: \"input\",\n className,\n vars,\n a11y,\n indeterminate: props.indeterminate ?? false,\n }\n\n if (props.checked !== undefined) {\n kit.checked = props.checked\n } else if (props.defaultChecked !== undefined) {\n kit.defaultChecked = props.defaultChecked\n }\n\n return kit\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport type {\n DividerOptions,\n DividerOrientation,\n DividerRenderKit,\n DividerSize,\n} from \"./divider-types\"\n\nconst DIVIDER_LINE_THICKNESS_PX = 1\n\nconst DIVIDER_SPACING_BY_SIZE: Record<DividerSize, number> = {\n xxs: 1,\n xs: 8,\n sm: 16,\n md: 32,\n lg: 48,\n xl: 64,\n xxl: 80,\n}\n\nexport function createDividerRecipe(options: DividerOptions = {}): DividerRenderKit {\n const size: DividerSize = options.size ?? \"md\"\n const orientation: DividerOrientation = options.orientation ?? \"horizontal\"\n\n const vars: CssVars = {\n \"--mw-divider-line-thickness\": `${DIVIDER_LINE_THICKNESS_PX}px`,\n \"--mw-divider-spacing\": `${DIVIDER_SPACING_BY_SIZE[size]}px`,\n }\n\n return {\n tag: \"hr\",\n className: [\"mw-divider\", `mw-divider--${orientation}`, `mw-divider--${size}`].join(\" \"),\n vars,\n a11y: {\n ...(options.id ? { id: options.id } : {}),\n role: \"separator\",\n \"aria-orientation\": orientation,\n },\n dataAttributes: {\n \"data-component\": \"divider\",\n \"data-orientation\": orientation,\n \"data-size\": size,\n },\n }\n}\n","import type { SpinnerA11yProps, SpinnerOptions } from \"./spinner-types\"\n\nfunction isDev(): boolean {\n const p = (\n globalThis as unknown as {\n process?: { env?: Record<string, string | undefined> }\n }\n ).process\n\n const nodeEnv = p?.env?.NODE_ENV\n if (nodeEnv) return nodeEnv !== \"production\"\n\n const meta = import.meta as unknown as {\n env?: { MODE?: string; PROD?: boolean }\n }\n if (typeof meta.env?.PROD === \"boolean\") return !meta.env.PROD\n if (meta.env?.MODE) return meta.env.MODE !== \"production\"\n\n return true\n}\n\nconst __DEV__ = isDev()\n\nexport function resolveSpinnerA11y(options: SpinnerOptions = {}): SpinnerA11yProps {\n if (options.decorative === true) {\n return {\n ...(options.id ? { id: options.id } : {}),\n ariaHidden: true,\n }\n }\n\n if (options.ariaLabel) {\n return {\n ...(options.id ? { id: options.id } : {}),\n role: \"status\",\n ariaLabel: options.ariaLabel,\n ariaLive: \"polite\",\n }\n }\n\n // decorative={false} without ariaLabel still hides the spinner because there\n // is no fallback announced text. Warn in development so teams catch this early.\n if (__DEV__ && options.decorative === false) {\n console.warn(\n \"[marwes] Spinner: decorative={false} was passed without ariaLabel. \" +\n \"The spinner stays hidden from assistive technology unless ariaLabel is also provided.\",\n )\n }\n\n return {\n ...(options.id ? { id: options.id } : {}),\n ariaHidden: true,\n }\n}\n","import { SpinnerVariant } from \"./spinner-types\"\nimport type {\n SpinnerSvgDefinition,\n SpinnerSvgNode,\n SpinnerVariant as SpinnerVariantValue,\n} from \"./spinner-types\"\n\nconst INDICATOR_COLOR = \"var(--mw-spinner-indicator-color)\"\nconst TRACK_COLOR = \"var(--mw-spinner-track-color)\"\n\nfunction createCircleNode(attrs: Record<string, string>): SpinnerSvgNode {\n return {\n tag: \"circle\",\n attrs,\n }\n}\n\nfunction createRectNode(attrs: Record<string, string>): SpinnerSvgNode {\n return {\n tag: \"rect\",\n attrs,\n }\n}\n\nfunction createClassicNodes(): readonly SpinnerSvgNode[] {\n return [\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: TRACK_COLOR,\n strokeWidth: \"2\",\n }),\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: INDICATOR_COLOR,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeDasharray: \"15.7 47.1\",\n }),\n ]\n}\n\nfunction createRingNodes(): readonly SpinnerSvgNode[] {\n return [\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: INDICATOR_COLOR,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeDasharray: \"31.4 31.4\",\n }),\n ]\n}\n\nfunction createDualNodes(): readonly SpinnerSvgNode[] {\n return [\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: TRACK_COLOR,\n strokeWidth: \"2\",\n }),\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: INDICATOR_COLOR,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeDasharray: \"15.7 47.1\",\n }),\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: INDICATOR_COLOR,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeDasharray: \"15.7 47.1\",\n strokeDashoffset: \"-31.4\",\n opacity: \"0.5\",\n }),\n ]\n}\n\nfunction createDotsRoundNodes(): readonly SpinnerSvgNode[] {\n const segmentDefinitions = [\n { cx: \"12\", cy: \"3.5\", opacity: \"1\" },\n { cx: \"18.5\", cy: \"5.5\", opacity: \"0.46875\" },\n { cx: \"20.5\", cy: \"12\", opacity: \"0.3625\" },\n { cx: \"18.5\", cy: \"18.5\", opacity: \"0.15\" },\n { cx: \"12\", cy: \"20.5\", opacity: \"0.575\" },\n { cx: \"5.5\", cy: \"18.5\", opacity: \"0.7875\" },\n { cx: \"3.5\", cy: \"12\", opacity: \"0.68125\" },\n { cx: \"5.5\", cy: \"5.5\", opacity: \"0.25625\" },\n ]\n\n return segmentDefinitions.map((segmentDefinition) =>\n createCircleNode({\n ...segmentDefinition,\n r: \"2\",\n fill: INDICATOR_COLOR,\n }),\n )\n}\n\nfunction createDotsSquareNodes(): readonly SpinnerSvgNode[] {\n return [\n createRectNode({\n x: \"10\",\n y: \"1.5\",\n width: \"4\",\n height: \"5\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.89375\",\n }),\n createRectNode({\n x: \"15.1\",\n y: \"4.4\",\n width: \"4.8\",\n height: \"4.8\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.46875\",\n }),\n createRectNode({\n x: \"18.5\",\n y: \"10\",\n width: \"5\",\n height: \"4\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.3625\",\n }),\n createRectNode({\n x: \"15.1\",\n y: \"14.8\",\n width: \"4.8\",\n height: \"4.8\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.15\",\n }),\n createRectNode({\n x: \"10\",\n y: \"17.5\",\n width: \"4\",\n height: \"5\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.575\",\n }),\n createRectNode({\n x: \"4.1\",\n y: \"14.8\",\n width: \"4.8\",\n height: \"4.8\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.7875\",\n }),\n createRectNode({\n x: \"0.5\",\n y: \"10\",\n width: \"5\",\n height: \"4\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.68125\",\n }),\n createRectNode({\n x: \"4.1\",\n y: \"4.4\",\n width: \"4.8\",\n height: \"4.8\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.25625\",\n }),\n ]\n}\n\nfunction createLinesNodes(): readonly SpinnerSvgNode[] {\n const lineDefinitions = [\n { angle: 0, opacity: \"0.89375\" },\n { angle: 45, opacity: \"0.15\" },\n { angle: 90, opacity: \"0.25625\" },\n { angle: 135, opacity: \"0.3625\" },\n { angle: 180, opacity: \"0.46875\" },\n { angle: 225, opacity: \"0.575\" },\n { angle: 270, opacity: \"0.68125\" },\n { angle: 315, opacity: \"0.7875\" },\n ]\n\n return lineDefinitions.map((lineDefinition) =>\n createRectNode({\n x: \"11\",\n y: \"1.5\",\n width: \"2\",\n height: \"5.5\",\n rx: \"1\",\n fill: INDICATOR_COLOR,\n opacity: lineDefinition.opacity,\n transform: `rotate(${lineDefinition.angle} 12 12)`,\n }),\n )\n}\n\nfunction createCrossNodes(): readonly SpinnerSvgNode[] {\n return [\n createRectNode({\n x: \"10.25\",\n y: \"1.5\",\n width: \"3.5\",\n height: \"7\",\n rx: \"1\",\n fill: INDICATOR_COLOR,\n opacity: \"1\",\n }),\n createRectNode({\n x: \"15.5\",\n y: \"10.25\",\n width: \"7\",\n height: \"3.5\",\n rx: \"1\",\n fill: INDICATOR_COLOR,\n opacity: \"0.6\",\n }),\n createRectNode({\n x: \"10.25\",\n y: \"15.5\",\n width: \"3.5\",\n height: \"7\",\n rx: \"1\",\n fill: INDICATOR_COLOR,\n opacity: \"0.4\",\n }),\n createRectNode({\n x: \"1.5\",\n y: \"10.25\",\n width: \"7\",\n height: \"3.5\",\n rx: \"1\",\n fill: INDICATOR_COLOR,\n opacity: \"0.2\",\n }),\n ]\n}\n\nfunction createSpinnerSvgNodes(variant: SpinnerVariantValue): readonly SpinnerSvgNode[] {\n switch (variant) {\n case SpinnerVariant.ring:\n return createRingNodes()\n case SpinnerVariant.dual:\n return createDualNodes()\n case SpinnerVariant.dotsRound:\n return createDotsRoundNodes()\n case SpinnerVariant.dotsSquare:\n return createDotsSquareNodes()\n case SpinnerVariant.lines:\n return createLinesNodes()\n case SpinnerVariant.cross:\n return createCrossNodes()\n default:\n return createClassicNodes()\n }\n}\n\nexport function createSpinnerSvgDefinition(variant: SpinnerVariantValue): SpinnerSvgDefinition {\n return {\n viewBox: \"0 0 24 24\",\n nodes: createSpinnerSvgNodes(variant),\n }\n}\n","import { resolveSpinnerA11y } from \"./spinner-a11y\"\nimport { createSpinnerSvgDefinition } from \"./spinner-svg\"\nimport { SpinnerVariant, resolveSpinnerSize } from \"./spinner-types\"\nimport type {\n SpinnerOptions,\n SpinnerRenderKit,\n SpinnerSize,\n SpinnerVariant as SpinnerVariantValue,\n} from \"./spinner-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nfunction resolveSpinnerDataSize(size: SpinnerOptions[\"size\"]): SpinnerSize | \"custom\" {\n if (typeof size === \"number\") {\n return \"custom\"\n }\n\n return size ?? \"sm\"\n}\n\nexport function createSpinnerRecipe(options: SpinnerOptions = {}): SpinnerRenderKit {\n const variant: SpinnerVariantValue = options.variant ?? SpinnerVariant.classic\n const requestedSize = options.size ?? \"sm\"\n const resolvedSize = resolveSpinnerSize(requestedSize)\n\n return {\n tag: \"span\",\n className: cx(\"mw-spinner\", `mw-spinner--${variant}`),\n vars: {\n \"--mw-spinner-size\": `${resolvedSize}px`,\n \"--mw-spinner-rotation-duration\": \"800ms\",\n },\n a11y: resolveSpinnerA11y(options),\n dataAttributes: {\n \"data-component\": \"spinner\",\n \"data-variant\": variant,\n \"data-size\": resolveSpinnerDataSize(options.size),\n },\n svg: createSpinnerSvgDefinition(variant),\n }\n}\n","export const iconRegistry = {\n airplay: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1\",\n },\n },\n {\n tag: \"polygon\",\n attrs: {\n points: \"12 15 17 21 7 21 12 15\",\n },\n },\n ],\n },\n alertCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"16\",\n x2: \"12.01\",\n y2: \"16\",\n },\n },\n ],\n },\n alertOctagon: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"16\",\n x2: \"12.01\",\n y2: \"16\",\n },\n },\n ],\n },\n alertTriangle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"9\",\n x2: \"12\",\n y2: \"13\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"17\",\n x2: \"12.01\",\n y2: \"17\",\n },\n },\n ],\n },\n alignCenter: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M19 9.5H5M21 4.5H3M21 14.5H3M19 19.5H5\",\n },\n },\n ],\n },\n alignJustify: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 9.5H3M21 4.5H3M21 14.5H3M21 19.5H3\",\n },\n },\n ],\n },\n alignLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 9.5H3M21 4.5H3M21 14.5H3M17 19.5H3\",\n },\n },\n ],\n },\n alignRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 9.5H7M21 4.5H3M21 14.5H3M21 19.5H7\",\n },\n },\n ],\n },\n arrowDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 5v13M5 12l7 7 7-7\",\n },\n },\n ],\n },\n arrowDownCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16 12l-4 4-4-4M12 8v7\",\n },\n },\n ],\n },\n arrowDownLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 7l-9.2 9.2M7 7v10h10\",\n },\n },\n ],\n },\n arrowDownRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M7 7l9.2 9.2M17 7v10H7\",\n },\n },\n ],\n },\n arrowIn: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4M10 17l5-5-5-5M13.8 12H3\",\n },\n },\n ],\n },\n arrowInCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 17l5-5-5-5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M13.8 12H3m9 10a10 10 0 1 0 0-20\",\n },\n },\n ],\n },\n arrowInSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 3h6v18h-6M10 17l5-5-5-5M13.8 12H3\",\n },\n },\n ],\n },\n arrowLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M19 12H6M12 5l-7 7 7 7\",\n },\n },\n ],\n },\n arrowLeftCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M12 8l-4 4 4 4M16 12H9\",\n },\n },\n ],\n },\n arrowOut: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 3H6a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h4M16 17l5-5-5-5M19.8 12H9\",\n },\n },\n ],\n },\n arrowOutCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 17l5-5-5-5M19.8 12H9M13 22a10 10 0 1 1 0-20\",\n },\n },\n ],\n },\n arrowOutSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 17l5-5-5-5M19.8 12H9M10 3H4v18h6\",\n },\n },\n ],\n },\n arrowRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M5 12h13M12 5l7 7-7 7\",\n },\n },\n ],\n },\n arrowRightCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M12 8l4 4-4 4M8 12h7\",\n },\n },\n ],\n },\n arrowUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 19V6M5 12l7-7 7 7\",\n },\n },\n ],\n },\n arrowUpCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16 12l-4-4-4 4M12 16V9\",\n },\n },\n ],\n },\n arrowUpLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 17L7.8 7.7M7 17V7h10\",\n },\n },\n ],\n },\n arrowUpRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M7 17l9.2-9.2M17 17V7H7\",\n },\n },\n ],\n },\n atSign: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"4\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\",\n },\n },\n ],\n },\n barChart: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"20\",\n x2: \"12\",\n y2: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"20\",\n x2: \"18\",\n y2: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"20\",\n x2: \"6\",\n y2: \"16\",\n },\n },\n ],\n },\n barChart2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"20\",\n x2: \"18\",\n y2: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"20\",\n x2: \"12\",\n y2: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"20\",\n x2: \"6\",\n y2: \"14\",\n },\n },\n ],\n },\n barChart3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 20V10M6 20V4M18 20v-4\",\n },\n },\n ],\n },\n barChart4: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 20v-6M6 20V10M18 20V4\",\n },\n },\n ],\n },\n bell: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 17H2a3 3 0 0 0 3-3V9a7 7 0 0 1 14 0v5a3 3 0 0 0 3 3zm-8.27 4a2 2 0 0 1-3.46 0\",\n },\n },\n ],\n },\n bluetooth: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5\",\n },\n },\n ],\n },\n bold: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\",\n },\n },\n ],\n },\n bookmark: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\",\n },\n },\n ],\n },\n calendar: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"4\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"16\",\n y1: \"2\",\n x2: \"16\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"2\",\n x2: \"8\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"10\",\n x2: \"21\",\n y2: \"10\",\n },\n },\n ],\n },\n camera: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3l2-3h6l2 3h3a2 2 0 0 1 2 2v11z\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"10\",\n cy: \"10\",\n r: \"4\",\n },\n },\n ],\n },\n cast: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"2\",\n y1: \"20\",\n x2: \"2.01\",\n y2: \"20\",\n },\n },\n ],\n },\n check: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"20 6 9 17 4 12\",\n },\n },\n ],\n },\n checkCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 11.08V12a10 10 0 1 1-5.93-9.14\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"22 4 12 14.01 9 11.01\",\n },\n },\n ],\n },\n checkSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"9 11 12 14 22 4\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\",\n },\n },\n ],\n },\n chevronDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M6 9l6 6 6-6\",\n },\n },\n ],\n },\n chevronLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 18l-6-6 6-6\",\n },\n },\n ],\n },\n chevronRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M9 18l6-6-6-6\",\n },\n },\n ],\n },\n chevronsDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M7 13l5 5 5-5M7 6l5 5 5-5\",\n },\n },\n ],\n },\n chevronsLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M11 17l-5-5 5-5M18 17l-5-5 5-5\",\n },\n },\n ],\n },\n chevronsRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M13 17l5-5-5-5M6 17l5-5-5-5\",\n },\n },\n ],\n },\n chevronsUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 11l-5-5-5 5M17 18l-5-5-5 5\",\n },\n },\n ],\n },\n chevronUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18 15l-6-6-6 6\",\n },\n },\n ],\n },\n circle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n ],\n },\n clipboard: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"8\",\n y: \"2\",\n width: \"8\",\n height: \"4\",\n rx: \"1\",\n ry: \"1\",\n },\n },\n ],\n },\n clock: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"12 6 12 12 16 14\",\n },\n },\n ],\n },\n code: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"16 18 22 12 16 6\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"8 6 2 12 8 18\",\n },\n },\n ],\n },\n command: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z\",\n },\n },\n ],\n },\n compass: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16.2 7.8l-2 6.3-6.4 2.1 2-6.3z\",\n },\n },\n ],\n },\n copy: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"9\",\n y: \"9\",\n width: \"13\",\n height: \"13\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\",\n },\n },\n ],\n },\n cornerDownLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 9l-6 6 6 6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M20 4v7a4 4 0 0 1-4 4H5\",\n },\n },\n ],\n },\n cornerDownRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 9l6 6-6 6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M4 4v7a4 4 0 0 0 4 4h11\",\n },\n },\n ],\n },\n cornerLeftDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 14l-6 6-6-6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M20 4h-7a4 4 0 0 0-4 4v11\",\n },\n },\n ],\n },\n cornerLeftUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 10L9 4l-6 6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M20 20h-7a4 4 0 0 1-4-4V5\",\n },\n },\n ],\n },\n cornerRightDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M9 14l6 6 6-6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M4 4h7a4 4 0 0 1 4 4v11\",\n },\n },\n ],\n },\n cornerRightUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M9 10l6-6 6 6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M4 20h7a4 4 0 0 0 4-4V5\",\n },\n },\n ],\n },\n cornerUpLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 16l-6-6 6-6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M20 21v-7a4 4 0 0 0-4-4H5\",\n },\n },\n ],\n },\n cornerUpRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 16l6-6-6-6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M4 21v-7a4 4 0 0 1 4-4h11\",\n },\n },\n ],\n },\n cpu: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"4\",\n y: \"4\",\n width: \"16\",\n height: \"16\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"9\",\n y: \"9\",\n width: \"6\",\n height: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"1\",\n x2: \"9\",\n y2: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"15\",\n y1: \"1\",\n x2: \"15\",\n y2: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"20\",\n x2: \"9\",\n y2: \"23\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"15\",\n y1: \"20\",\n x2: \"15\",\n y2: \"23\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"9\",\n x2: \"23\",\n y2: \"9\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"14\",\n x2: \"23\",\n y2: \"14\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"1\",\n y1: \"9\",\n x2: \"4\",\n y2: \"9\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"1\",\n y1: \"14\",\n x2: \"4\",\n y2: \"14\",\n },\n },\n ],\n },\n creditCard: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"4\",\n width: \"20\",\n height: \"16\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M7 15h0M2 9.5h20\",\n },\n },\n ],\n },\n database: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"ellipse\",\n attrs: {\n cx: \"12\",\n cy: \"5\",\n rx: \"9\",\n ry: \"3\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M21 12c0 1.66-4 3-9 3s-9-1.34-9-3\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\",\n },\n },\n ],\n },\n delete: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"9\",\n x2: \"12\",\n y2: \"15\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"9\",\n x2: \"18\",\n y2: \"15\",\n },\n },\n ],\n },\n disc: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"3\",\n },\n },\n ],\n },\n dollarSign: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"1\",\n x2: \"12\",\n y2: \"23\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\",\n },\n },\n ],\n },\n download: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 15v4c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-4M17 9l-5 5-5-5M12 12.8V2.5\",\n },\n },\n ],\n },\n downloadCloud: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.2 15c.7-1.2 1-2.5.7-3.9-.6-2-2.4-3.5-4.4-3.5h-1.2c-.7-3-3.2-5.2-6.2-5.6-3-.3-5.9 1.3-7.3 4-1.2 2.5-1 6.5.5 8.8M12 19.8V12M16 17l-4 4-4-4\",\n },\n },\n ],\n },\n edit: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34\",\n },\n },\n {\n tag: \"polygon\",\n attrs: {\n points: \"18 2 22 6 12 16 8 16 8 12 18 2\",\n },\n },\n ],\n },\n edit2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"16 3 21 8 8 21 3 21 3 16 16 3\",\n },\n },\n ],\n },\n edit3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"14 2 18 6 7 17 3 17 3 13 14 2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"22\",\n x2: \"21\",\n y2: \"22\",\n },\n },\n ],\n },\n expand: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3.8 3.8l16.4 16.4M20.2 3.8L3.8 20.2M15 3h6v6M9 3H3v6M15 21h6v-6M9 21H3v-6\",\n },\n },\n ],\n },\n externalLink: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8c0-1.1.9-2 2-2h5M15 3h6v6M10 14L20.2 3.8\",\n },\n },\n ],\n },\n eye: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"3\",\n },\n },\n ],\n },\n eyeOff: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"1\",\n y1: \"1\",\n x2: \"23\",\n y2: \"23\",\n },\n },\n ],\n },\n facebook: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\",\n },\n },\n ],\n },\n fastForward: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"13 19 22 12 13 5 13 19\",\n },\n },\n {\n tag: \"polygon\",\n attrs: {\n points: \"2 19 11 12 2 5 2 19\",\n },\n },\n ],\n },\n file: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M13 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V9l-7-7z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M13 3v6h6\",\n },\n },\n ],\n },\n fileMinus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M9 15h6\",\n },\n },\n ],\n },\n fileMinus2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 11.08V8l-6-6H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M15 18h6\",\n },\n },\n ],\n },\n filePlus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M12 18v-6M9 15h6\",\n },\n },\n ],\n },\n filePlus2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 11.08V8l-6-6H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M18 21v-6M15 18h6\",\n },\n },\n ],\n },\n fileText: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M16 13H8M16 17H8M10 9H8\",\n },\n },\n ],\n },\n fileX: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M9.9 17.1L14 13M9.9 12.9L14 17\",\n },\n },\n ],\n },\n fileX2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 11.08V8l-6-6H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M15.88 20.12l4.24-4.24M15.88 15.88l4.24 4.24\",\n },\n },\n ],\n },\n film: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"2\",\n width: \"20\",\n height: \"20\",\n rx: \"2.18\",\n ry: \"2.18\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"7\",\n y1: \"2\",\n x2: \"7\",\n y2: \"22\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"17\",\n y1: \"2\",\n x2: \"17\",\n y2: \"22\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"2\",\n y1: \"12\",\n x2: \"22\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"2\",\n y1: \"7\",\n x2: \"7\",\n y2: \"7\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"2\",\n y1: \"17\",\n x2: \"7\",\n y2: \"17\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"17\",\n y1: \"17\",\n x2: \"22\",\n y2: \"17\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"17\",\n y1: \"7\",\n x2: \"22\",\n y2: \"7\",\n },\n },\n ],\n },\n flag: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"22\",\n x2: \"4\",\n y2: \"15\",\n },\n },\n ],\n },\n folder: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\",\n },\n },\n ],\n },\n folderMinus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"14\",\n x2: \"15\",\n y2: \"14\",\n },\n },\n ],\n },\n folderMinus2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M11 21H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h5l2 3h9a2 2 0 0 1 2 2v2M16 18h6\",\n },\n },\n ],\n },\n folderPlus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"11\",\n x2: \"12\",\n y2: \"17\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"14\",\n x2: \"15\",\n y2: \"14\",\n },\n },\n ],\n },\n folderPlus2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M11 21H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h5l2 3h9a2 2 0 0 1 2 2v2M19 15v6M16 18h6\",\n },\n },\n ],\n },\n folderX: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h5l2 3h9a2 2 0 0 1 2 2v11zM9.9 16.1L14 12M9.9 11.9L14 16\",\n },\n },\n ],\n },\n folderX2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M11 21H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h5l2 3h9a2 2 0 0 1 2 2v2M21.12 15.88l-4.24 4.24M16.88 15.88l4.24 4.24\",\n },\n },\n ],\n },\n grid: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"7\",\n height: \"7\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"14\",\n y: \"3\",\n width: \"7\",\n height: \"7\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"14\",\n y: \"14\",\n width: \"7\",\n height: \"7\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"14\",\n width: \"7\",\n height: \"7\",\n },\n },\n ],\n },\n hardDrive: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"22\",\n y1: \"12\",\n x2: \"2\",\n y2: \"12\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"16\",\n x2: \"6\",\n y2: \"16\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"10\",\n y1: \"16\",\n x2: \"10\",\n y2: \"16\",\n },\n },\n ],\n },\n hash: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"9\",\n x2: \"20\",\n y2: \"9\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"15\",\n x2: \"20\",\n y2: \"15\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"10\",\n y1: \"3\",\n x2: \"8\",\n y2: \"21\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"16\",\n y1: \"3\",\n x2: \"14\",\n y2: \"21\",\n },\n },\n ],\n },\n headphones: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 18v-6a9 9 0 0 1 18 0v6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\",\n },\n },\n ],\n },\n heart: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\",\n },\n },\n ],\n },\n helpCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"17\",\n x2: \"12.01\",\n y2: \"17\",\n },\n },\n ],\n },\n hexagon: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 2l9 4.9V17L12 22l-9-4.9V7z\",\n },\n },\n ],\n },\n home: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"9 22 9 12 15 12 15 22\",\n },\n },\n ],\n },\n home2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 9v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M9 22V12h6v10M2 10.6L12 2l10 8.6\",\n },\n },\n ],\n },\n image: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"8.5\",\n cy: \"8.5\",\n r: \"1.5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M20.4 14.5L16 10 4 20\",\n },\n },\n ],\n },\n inbox: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.5 12H16c-.7 2-2 3-4 3s-3.3-1-4-3H2.5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M5.5 5.1L2 12v6c0 1.1.9 2 2 2h16a2 2 0 002-2v-6l-3.4-6.9A2 2 0 0016.8 4H7.2a2 2 0 00-1.8 1.1z\",\n },\n },\n ],\n },\n info: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"16\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"8\",\n x2: \"12.01\",\n y2: \"8\",\n },\n },\n ],\n },\n italic: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M19 4h-9M14 20H5M14.7 4.7L9.2 19.4\",\n },\n },\n ],\n },\n layout: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 9h18M9 21V9\",\n },\n },\n ],\n },\n layout2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 9h18M15 21V9\",\n },\n },\n ],\n },\n layout3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 9h18\",\n },\n },\n ],\n },\n layout4: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 15h18\",\n },\n },\n ],\n },\n layout5: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M9 3v18\",\n },\n },\n ],\n },\n layout6: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M15 3v18\",\n },\n },\n ],\n },\n lineChart: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3v18h18\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M18.7 8l-5.1 5.2-2.8-2.7L7 14.3\",\n },\n },\n ],\n },\n lineChart2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3v18h18\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M18.7 14.3L15 10.5l-2.7 2.7L7 8\",\n },\n },\n ],\n },\n link: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\",\n },\n },\n ],\n },\n list: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"6\",\n x2: \"21\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"12\",\n x2: \"21\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"18\",\n x2: \"21\",\n y2: \"18\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"6\",\n x2: \"3.01\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"12\",\n x2: \"3.01\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"18\",\n x2: \"3.01\",\n y2: \"18\",\n },\n },\n ],\n },\n loader: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"2\",\n x2: \"12\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"18\",\n x2: \"12\",\n y2: \"22\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4.93\",\n y1: \"4.93\",\n x2: \"7.76\",\n y2: \"7.76\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"16.24\",\n y1: \"16.24\",\n x2: \"19.07\",\n y2: \"19.07\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"2\",\n y1: \"12\",\n x2: \"6\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"12\",\n x2: \"22\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4.93\",\n y1: \"19.07\",\n x2: \"7.76\",\n y2: \"16.24\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"16.24\",\n y1: \"7.76\",\n x2: \"19.07\",\n y2: \"4.93\",\n },\n },\n ],\n },\n lock: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"11\",\n width: \"18\",\n height: \"11\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M7 11V7a5 5 0 0 1 10 0v4\",\n },\n },\n ],\n },\n mail: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"22,6 12,13 2,6\",\n },\n },\n ],\n },\n mapMarker1: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 22s-8-4.5-8-11.8A8 8 0 0 1 12 2a8 8 0 0 1 8 8.2c0 7.3-8 11.8-8 11.8z\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"10\",\n r: \"3\",\n },\n },\n ],\n },\n mapMarker2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"10\",\n r: \"3\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M12 21.7C17.3 17 20 13 20 10a8 8 0 1 0-16 0c0 3 2.7 6.9 8 11.7z\",\n },\n },\n ],\n },\n mapMarker3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"11.5\",\n cy: \"8.5\",\n r: \"5.5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M11.5 14v7\",\n },\n },\n ],\n },\n maximize: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 3h6v6M14 10l6.1-6.1M9 21H3v-6M10 14l-6.1 6.1\",\n },\n },\n ],\n },\n maximize2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\",\n },\n },\n ],\n },\n menu: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"12\",\n x2: \"21\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"6\",\n x2: \"21\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"18\",\n x2: \"21\",\n y2: \"18\",\n },\n },\n ],\n },\n messageCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\",\n },\n },\n ],\n },\n messageSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\",\n },\n },\n ],\n },\n mic: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 2c-1.7 0-3 1.2-3 2.6v6.8c0 1.4 1.3 2.6 3 2.6s3-1.2 3-2.6V4.6C15 3.2 13.7 2 12 2z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M19 10v1a7 7 0 0 1-14 0v-1M12 18.4v3.3M8 22h8\",\n },\n },\n ],\n },\n minimize: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M4 14h6v6M3 21l6.1-6.1M20 10h-6V4M21 3l-6.1 6.1\",\n },\n },\n ],\n },\n minimize3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3\",\n },\n },\n ],\n },\n minus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"5\",\n y1: \"12\",\n x2: \"19\",\n y2: \"12\",\n },\n },\n ],\n },\n minusCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"12\",\n x2: \"16\",\n y2: \"12\",\n },\n },\n ],\n },\n minusSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3h18v18H3zM8 12h8\",\n },\n },\n ],\n },\n monitor: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"3\",\n width: \"20\",\n height: \"14\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"21\",\n x2: \"16\",\n y2: \"21\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"17\",\n x2: \"12\",\n y2: \"21\",\n },\n },\n ],\n },\n moon: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\",\n },\n },\n ],\n },\n moreHorizontal: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"1\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"19\",\n cy: \"12\",\n r: \"1\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"5\",\n cy: \"12\",\n r: \"1\",\n },\n },\n ],\n },\n moreVertical: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"1\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"5\",\n r: \"1\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"19\",\n r: \"1\",\n },\n },\n ],\n },\n move: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M5.2 9l-3 3 3 3M9 5.2l3-3 3 3M15 18.9l-3 3-3-3M18.9 9l3 3-3 3M3.3 12h17.4M12 3.2v17.6\",\n },\n },\n ],\n },\n music: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"5.5\",\n cy: \"17.5\",\n r: \"2.5\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"17.5\",\n cy: \"15.5\",\n r: \"2.5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M8 17V5l12-2v12\",\n },\n },\n ],\n },\n octagon: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\",\n },\n },\n ],\n },\n paperclip: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\",\n },\n },\n ],\n },\n pause: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"6\",\n y: \"4\",\n width: \"4\",\n height: \"16\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"14\",\n y: \"4\",\n width: \"4\",\n height: \"16\",\n },\n },\n ],\n },\n pauseCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"10\",\n y1: \"15\",\n x2: \"10\",\n y2: \"9\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"14\",\n y1: \"15\",\n x2: \"14\",\n y2: \"9\",\n },\n },\n ],\n },\n percent: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"19\",\n y1: \"5\",\n x2: \"5\",\n y2: \"19\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"6.5\",\n cy: \"6.5\",\n r: \"2.5\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"17.5\",\n cy: \"17.5\",\n r: \"2.5\",\n },\n },\n ],\n },\n phone: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\",\n },\n },\n ],\n },\n pieChart: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.21 15.89A10 10 0 1 1 8 2.83\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M22 12A10 10 0 0 0 12 2v10z\",\n },\n },\n ],\n },\n pieChart2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 2a10 10 0 1 0 10 10H12V2zM21.18 8.02c-1-2.3-2.85-4.17-5.16-5.18\",\n },\n },\n ],\n },\n pieChart3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M19 6l-7 6V2.5\",\n },\n },\n ],\n },\n pieChart4: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.5 12H12V2.5\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n ],\n },\n pieChart5: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18.6 18.6L12 12V2.5\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n ],\n },\n play: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"5 3 19 12 5 21 5 3\",\n },\n },\n ],\n },\n playCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"polygon\",\n attrs: {\n points: \"10 8 16 12 10 16 10 8\",\n },\n },\n ],\n },\n plus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"5\",\n x2: \"12\",\n y2: \"19\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"5\",\n y1: \"12\",\n x2: \"19\",\n y2: \"12\",\n },\n },\n ],\n },\n plusCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"16\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"12\",\n x2: \"16\",\n y2: \"12\",\n },\n },\n ],\n },\n plusSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3h18v18H3zM12 8v8m-4-4h8\",\n },\n },\n ],\n },\n power: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18.36 6.64a9 9 0 1 1-12.73 0\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"2\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n ],\n },\n printer: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"6 9 6 2 18 2 18 9\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"6\",\n y: \"14\",\n width: \"12\",\n height: \"8\",\n },\n },\n ],\n },\n radio: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14\",\n },\n },\n ],\n },\n refreshCcw: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M2.5 2v6h6M21.5 22v-6h-6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M22 11.5A10 10 0 0 0 3.2 7.2M2 12.5a10 10 0 0 0 18.8 4.2\",\n },\n },\n ],\n },\n refreshCw: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.5 2v6h-6M2.5 22v-6h6M2 11.5a10 10 0 0 1 18.8-4.3M22 12.5a10 10 0 0 1-18.8 4.2\",\n },\n },\n ],\n },\n repeat: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 2.1l4 4-4 4\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 12.2v-2a4 4 0 0 1 4-4h12.8M7 21.9l-4-4 4-4\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M21 11.8v2a4 4 0 0 1-4 4H4.2\",\n },\n },\n ],\n },\n rewind: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"11 19 2 12 11 5 11 19\",\n },\n },\n {\n tag: \"polygon\",\n attrs: {\n points: \"22 19 13 12 22 5 22 19\",\n },\n },\n ],\n },\n rotateLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M2.5 2v6h6M2.66 15.57a10 10 0 1 0 .57-8.38\",\n },\n },\n ],\n },\n rotateRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.5 2v6h-6M21.34 15.57a10 10 0 1 1-.57-8.38\",\n },\n },\n ],\n },\n rss: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M4 11a9 9 0 0 1 9 9\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M4 4a16 16 0 0 1 16 16\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"5\",\n cy: \"19\",\n r: \"1\",\n },\n },\n ],\n },\n save: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"17 21 17 13 7 13 7 21\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"7 3 7 8 15 8\",\n },\n },\n ],\n },\n scissors: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"6\",\n cy: \"6\",\n r: \"3\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"6\",\n cy: \"18\",\n r: \"3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"4\",\n x2: \"8.12\",\n y2: \"15.88\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"14.47\",\n y1: \"14.48\",\n x2: \"20\",\n y2: \"20\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8.12\",\n y1: \"8.12\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n ],\n },\n search: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"11\",\n cy: \"11\",\n r: \"8\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"21\",\n y1: \"21\",\n x2: \"16.65\",\n y2: \"16.65\",\n },\n },\n ],\n },\n server: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"2\",\n width: \"20\",\n height: \"8\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"14\",\n width: \"20\",\n height: \"8\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"6\",\n x2: \"6.01\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"18\",\n x2: \"6.01\",\n y2: \"18\",\n },\n },\n ],\n },\n settings: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"3\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\",\n },\n },\n ],\n },\n share: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"18\",\n cy: \"5\",\n r: \"3\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"6\",\n cy: \"12\",\n r: \"3\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"18\",\n cy: \"19\",\n r: \"3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8.59\",\n y1: \"13.51\",\n x2: \"15.42\",\n y2: \"17.49\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"15.41\",\n y1: \"6.51\",\n x2: \"8.59\",\n y2: \"10.49\",\n },\n },\n ],\n },\n shoppingBag: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M6 2L3 6v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V6l-3-4H6zM3.8 6h16.4M16 10a4 4 0 1 1-8 0\",\n },\n },\n ],\n },\n shoppingCart: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"10\",\n cy: \"20.5\",\n r: \"1\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"18\",\n cy: \"20.5\",\n r: \"1\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M2.5 2.5h3l2.7 12.4a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.6l1.6-8.4H7.1\",\n },\n },\n ],\n },\n shuffle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 3h5v5M4 20L20.2 3.8M21 16v5h-5M15 15l5.1 5.1M4 4l5 5\",\n },\n },\n ],\n },\n skipBack: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"19 20 9 12 19 4 19 20\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"5\",\n y1: \"19\",\n x2: \"5\",\n y2: \"5\",\n },\n },\n ],\n },\n skipForward: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"5 4 15 12 5 20 5 4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"19\",\n y1: \"5\",\n x2: \"19\",\n y2: \"19\",\n },\n },\n ],\n },\n slash: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4.93\",\n y1: \"4.93\",\n x2: \"19.07\",\n y2: \"19.07\",\n },\n },\n ],\n },\n sliders: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"21\",\n x2: \"4\",\n y2: \"14\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"10\",\n x2: \"4\",\n y2: \"3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"21\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"21\",\n x2: \"20\",\n y2: \"16\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"12\",\n x2: \"20\",\n y2: \"3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"1\",\n y1: \"14\",\n x2: \"7\",\n y2: \"14\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"8\",\n x2: \"15\",\n y2: \"8\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"17\",\n y1: \"16\",\n x2: \"23\",\n y2: \"16\",\n },\n },\n ],\n },\n smartphone: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"5\",\n y: \"2\",\n width: \"14\",\n height: \"20\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"18\",\n x2: \"12.01\",\n y2: \"18\",\n },\n },\n ],\n },\n speaker: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"4\",\n y: \"2\",\n width: \"16\",\n height: \"20\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"14\",\n r: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"6\",\n x2: \"12.01\",\n y2: \"6\",\n },\n },\n ],\n },\n square: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n ],\n },\n star: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points:\n \"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\",\n },\n },\n ],\n },\n stopCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"9\",\n y: \"9\",\n width: \"6\",\n height: \"6\",\n },\n },\n ],\n },\n strikethrough: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17.3 4.9c-2.3-.6-4.4-1-6.2-.9-2.7 0-5.3.7-5.3 3.6 0 1.5 1.8 3.3 3.6 3.9h.2m8.2 3.7c.3.4.4.8.4 1.3 0 2.9-2.7 3.6-6.2 3.6-2.3 0-4.4-.3-6.2-.9M4 11.5h16\",\n },\n },\n ],\n },\n sun: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M12 1v2M12 21v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M1 12h2M21 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4\",\n },\n },\n ],\n },\n table: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M21 12H3M12 3v18\",\n },\n },\n ],\n },\n table2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3h18v18H3zM21 9H3M21 15H3M12 3v18\",\n },\n },\n ],\n },\n tablet: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"4\",\n y: \"2\",\n width: \"16\",\n height: \"20\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"18\",\n x2: \"12.01\",\n y2: \"18\",\n },\n },\n ],\n },\n tag: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"7\",\n y1: \"7\",\n x2: \"7.01\",\n y2: \"7\",\n },\n },\n ],\n },\n thumbsDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\",\n },\n },\n ],\n },\n thumbsUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\",\n },\n },\n ],\n },\n trash: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"3 6 5 6 21 6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"10\",\n y1: \"11\",\n x2: \"10\",\n y2: \"17\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"14\",\n y1: \"11\",\n x2: \"14\",\n y2: \"17\",\n },\n },\n ],\n },\n trendingDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20.2 17.2l-7.7-7.7-4 4-5.7-5.7\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M15 18h6v-6\",\n },\n },\n ],\n },\n trendingUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20.2 7.8l-7.7 7.7-4-4-5.7 5.7\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M15 7h6v6\",\n },\n },\n ],\n },\n triangle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 20h18L12 4z\",\n },\n },\n ],\n },\n tv: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"7\",\n width: \"20\",\n height: \"15\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"17 2 12 7 7 2\",\n },\n },\n ],\n },\n twitter: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\",\n },\n },\n ],\n },\n type: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"4 7 4 4 20 4 20 7\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"20\",\n x2: \"15\",\n y2: \"20\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"4\",\n x2: \"12\",\n y2: \"20\",\n },\n },\n ],\n },\n underline: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"21\",\n x2: \"20\",\n y2: \"21\",\n },\n },\n ],\n },\n unlock: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"11\",\n width: \"18\",\n height: \"11\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M7 11V7a5 5 0 0 1 9.9-1\",\n },\n },\n ],\n },\n upload: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 15v4c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-4M17 8l-5-5-5 5M12 4.2v10.3\",\n },\n },\n ],\n },\n uploadCloud: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.2 15c.7-1.2 1-2.5.7-3.9-.6-2-2.4-3.5-4.4-3.5h-1.2c-.7-3-3.2-5.2-6.2-5.6-3-.3-5.9 1.3-7.3 4-1.2 2.5-1 6.5.5 8.8m8.7-1.6V21\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16 16l-4-4-4 4\",\n },\n },\n ],\n },\n user: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"7\",\n r: \"4\",\n },\n },\n ],\n },\n userCheck: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"8.5\",\n cy: \"7\",\n r: \"4\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"17 11 19 13 23 9\",\n },\n },\n ],\n },\n userCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M5.52 19c.64-2.2 1.84-3 3.22-3h6.52c1.38 0 2.58.8 3.22 3\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"10\",\n r: \"3\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n ],\n },\n userMinus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"8.5\",\n cy: \"7\",\n r: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"23\",\n y1: \"11\",\n x2: \"17\",\n y2: \"11\",\n },\n },\n ],\n },\n userPlus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"8.5\",\n cy: \"7\",\n r: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"8\",\n x2: \"20\",\n y2: \"14\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"23\",\n y1: \"11\",\n x2: \"17\",\n y2: \"11\",\n },\n },\n ],\n },\n users: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"9\",\n cy: \"7\",\n r: \"4\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M23 21v-2a4 4 0 0 0-3-3.87\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16 3.13a4 4 0 0 1 0 7.75\",\n },\n },\n ],\n },\n userX: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"8.5\",\n cy: \"7\",\n r: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"8\",\n x2: \"23\",\n y2: \"13\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"23\",\n y1: \"8\",\n x2: \"18\",\n y2: \"13\",\n },\n },\n ],\n },\n video: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15.6 11.6L22 7v10l-6.4-4.5v-1zM4 5h9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2z\",\n },\n },\n ],\n },\n videoOff: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M2 2l19.8 19.8M15 15.7V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h.3m5.4 0H13a2 2 0 0 1 2 2v3.3l1 1L22 7v10\",\n },\n },\n ],\n },\n volume: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"11 5 6 9 2 9 2 15 6 15 11 19 11 5\",\n },\n },\n ],\n },\n volume1: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"11 5 6 9 2 9 2 15 6 15 11 19 11 5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M15.54 8.46a5 5 0 0 1 0 7.07\",\n },\n },\n ],\n },\n volume2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"11 5 6 9 2 9 2 15 6 15 11 19 11 5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\",\n },\n },\n ],\n },\n volumeX: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M11 5L6 9H2v6h4l5 4zM22 9l-6 6M16 9l6 6\",\n },\n },\n ],\n },\n watch: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"7\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"12 9 12 12 13.5 13.5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83\",\n },\n },\n ],\n },\n wifi: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M5 12.55a11 11 0 0 1 14.08 0\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M1.42 9a16 16 0 0 1 21.16 0\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M8.53 16.11a6 6 0 0 1 6.95 0\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"20\",\n x2: \"12.01\",\n y2: \"20\",\n },\n },\n ],\n },\n x: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"6\",\n x2: \"6\",\n y2: \"18\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"6\",\n x2: \"18\",\n y2: \"18\",\n },\n },\n ],\n },\n xCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"15\",\n y1: \"9\",\n x2: \"9\",\n y2: \"15\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"9\",\n x2: \"15\",\n y2: \"15\",\n },\n },\n ],\n },\n xSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3h18v18H3zM15 9l-6 6m0-6l6 6\",\n },\n },\n ],\n },\n zoomIn: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"11\",\n cy: \"11\",\n r: \"8\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"21\",\n y1: \"21\",\n x2: \"16.65\",\n y2: \"16.65\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"11\",\n y1: \"8\",\n x2: \"11\",\n y2: \"14\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"11\",\n x2: \"14\",\n y2: \"11\",\n },\n },\n ],\n },\n zoomOut: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"11\",\n cy: \"11\",\n r: \"8\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"21\",\n y1: \"21\",\n x2: \"16.65\",\n y2: \"16.65\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"11\",\n x2: \"14\",\n y2: \"11\",\n },\n },\n ],\n },\n} as const\n","/**\n * IconName - Enum-like constant for all available icons\n *\n * @generated This file is auto-generated by scripts/generate-icon-names.ts\n * Do not edit manually. Run `pnpm generate:icons` to regenerate.\n *\n * Usage:\n * ```tsx\n * import { IconName } from \"@marwes-ui/core\"\n *\n * <Icon name={IconName.AlertCircle} />\n * <Button iconRight={IconName.Minus}>Delete</Button>\n * ```\n */\n\nexport const IconName = {\n Airplay: \"airplay\",\n AlertCircle: \"alertCircle\",\n AlertOctagon: \"alertOctagon\",\n AlertTriangle: \"alertTriangle\",\n AlignCenter: \"alignCenter\",\n AlignJustify: \"alignJustify\",\n AlignLeft: \"alignLeft\",\n AlignRight: \"alignRight\",\n ArrowDown: \"arrowDown\",\n ArrowDownCircle: \"arrowDownCircle\",\n ArrowDownLeft: \"arrowDownLeft\",\n ArrowDownRight: \"arrowDownRight\",\n ArrowIn: \"arrowIn\",\n ArrowInCircle: \"arrowInCircle\",\n ArrowInSquare: \"arrowInSquare\",\n ArrowLeft: \"arrowLeft\",\n ArrowLeftCircle: \"arrowLeftCircle\",\n ArrowOut: \"arrowOut\",\n ArrowOutCircle: \"arrowOutCircle\",\n ArrowOutSquare: \"arrowOutSquare\",\n ArrowRight: \"arrowRight\",\n ArrowRightCircle: \"arrowRightCircle\",\n ArrowUp: \"arrowUp\",\n ArrowUpCircle: \"arrowUpCircle\",\n ArrowUpLeft: \"arrowUpLeft\",\n ArrowUpRight: \"arrowUpRight\",\n AtSign: \"atSign\",\n BarChart: \"barChart\",\n BarChart2: \"barChart2\",\n BarChart3: \"barChart3\",\n BarChart4: \"barChart4\",\n Bell: \"bell\",\n Bluetooth: \"bluetooth\",\n Bold: \"bold\",\n Bookmark: \"bookmark\",\n Calendar: \"calendar\",\n Camera: \"camera\",\n Cast: \"cast\",\n Check: \"check\",\n CheckCircle: \"checkCircle\",\n CheckSquare: \"checkSquare\",\n ChevronDown: \"chevronDown\",\n ChevronLeft: \"chevronLeft\",\n ChevronRight: \"chevronRight\",\n ChevronUp: \"chevronUp\",\n ChevronsDown: \"chevronsDown\",\n ChevronsLeft: \"chevronsLeft\",\n ChevronsRight: \"chevronsRight\",\n ChevronsUp: \"chevronsUp\",\n Circle: \"circle\",\n Clipboard: \"clipboard\",\n Clock: \"clock\",\n Code: \"code\",\n Command: \"command\",\n Compass: \"compass\",\n Copy: \"copy\",\n CornerDownLeft: \"cornerDownLeft\",\n CornerDownRight: \"cornerDownRight\",\n CornerLeftDown: \"cornerLeftDown\",\n CornerLeftUp: \"cornerLeftUp\",\n CornerRightDown: \"cornerRightDown\",\n CornerRightUp: \"cornerRightUp\",\n CornerUpLeft: \"cornerUpLeft\",\n CornerUpRight: \"cornerUpRight\",\n Cpu: \"cpu\",\n CreditCard: \"creditCard\",\n Database: \"database\",\n Delete: \"delete\",\n Disc: \"disc\",\n DollarSign: \"dollarSign\",\n Download: \"download\",\n DownloadCloud: \"downloadCloud\",\n Edit: \"edit\",\n Edit2: \"edit2\",\n Edit3: \"edit3\",\n Expand: \"expand\",\n ExternalLink: \"externalLink\",\n Eye: \"eye\",\n EyeOff: \"eyeOff\",\n Facebook: \"facebook\",\n FastForward: \"fastForward\",\n File: \"file\",\n FileMinus: \"fileMinus\",\n FileMinus2: \"fileMinus2\",\n FilePlus: \"filePlus\",\n FilePlus2: \"filePlus2\",\n FileText: \"fileText\",\n FileX: \"fileX\",\n FileX2: \"fileX2\",\n Film: \"film\",\n Flag: \"flag\",\n Folder: \"folder\",\n FolderMinus: \"folderMinus\",\n FolderMinus2: \"folderMinus2\",\n FolderPlus: \"folderPlus\",\n FolderPlus2: \"folderPlus2\",\n FolderX: \"folderX\",\n FolderX2: \"folderX2\",\n Grid: \"grid\",\n HardDrive: \"hardDrive\",\n Hash: \"hash\",\n Headphones: \"headphones\",\n Heart: \"heart\",\n HelpCircle: \"helpCircle\",\n Hexagon: \"hexagon\",\n Home: \"home\",\n Home2: \"home2\",\n Image: \"image\",\n Inbox: \"inbox\",\n Info: \"info\",\n Italic: \"italic\",\n Layout: \"layout\",\n Layout2: \"layout2\",\n Layout3: \"layout3\",\n Layout4: \"layout4\",\n Layout5: \"layout5\",\n Layout6: \"layout6\",\n LineChart: \"lineChart\",\n LineChart2: \"lineChart2\",\n Link: \"link\",\n List: \"list\",\n Loader: \"loader\",\n Lock: \"lock\",\n Mail: \"mail\",\n MapMarker1: \"mapMarker1\",\n MapMarker2: \"mapMarker2\",\n MapMarker3: \"mapMarker3\",\n Maximize: \"maximize\",\n Maximize2: \"maximize2\",\n Menu: \"menu\",\n MessageCircle: \"messageCircle\",\n MessageSquare: \"messageSquare\",\n Mic: \"mic\",\n Minimize: \"minimize\",\n Minimize3: \"minimize3\",\n Minus: \"minus\",\n MinusCircle: \"minusCircle\",\n MinusSquare: \"minusSquare\",\n Monitor: \"monitor\",\n Moon: \"moon\",\n MoreHorizontal: \"moreHorizontal\",\n MoreVertical: \"moreVertical\",\n Move: \"move\",\n Music: \"music\",\n Octagon: \"octagon\",\n Paperclip: \"paperclip\",\n Pause: \"pause\",\n PauseCircle: \"pauseCircle\",\n Percent: \"percent\",\n Phone: \"phone\",\n PieChart: \"pieChart\",\n PieChart2: \"pieChart2\",\n PieChart3: \"pieChart3\",\n PieChart4: \"pieChart4\",\n PieChart5: \"pieChart5\",\n Play: \"play\",\n PlayCircle: \"playCircle\",\n Plus: \"plus\",\n PlusCircle: \"plusCircle\",\n PlusSquare: \"plusSquare\",\n Power: \"power\",\n Printer: \"printer\",\n Radio: \"radio\",\n RefreshCcw: \"refreshCcw\",\n RefreshCw: \"refreshCw\",\n Repeat: \"repeat\",\n Rewind: \"rewind\",\n RotateLeft: \"rotateLeft\",\n RotateRight: \"rotateRight\",\n Rss: \"rss\",\n Save: \"save\",\n Scissors: \"scissors\",\n Search: \"search\",\n Server: \"server\",\n Settings: \"settings\",\n Share: \"share\",\n ShoppingBag: \"shoppingBag\",\n ShoppingCart: \"shoppingCart\",\n Shuffle: \"shuffle\",\n SkipBack: \"skipBack\",\n SkipForward: \"skipForward\",\n Slash: \"slash\",\n Sliders: \"sliders\",\n Smartphone: \"smartphone\",\n Speaker: \"speaker\",\n Square: \"square\",\n Star: \"star\",\n StopCircle: \"stopCircle\",\n Strikethrough: \"strikethrough\",\n Sun: \"sun\",\n Table: \"table\",\n Table2: \"table2\",\n Tablet: \"tablet\",\n Tag: \"tag\",\n ThumbsDown: \"thumbsDown\",\n ThumbsUp: \"thumbsUp\",\n Trash: \"trash\",\n TrendingDown: \"trendingDown\",\n TrendingUp: \"trendingUp\",\n Triangle: \"triangle\",\n Tv: \"tv\",\n Twitter: \"twitter\",\n Type: \"type\",\n Underline: \"underline\",\n Unlock: \"unlock\",\n Upload: \"upload\",\n UploadCloud: \"uploadCloud\",\n User: \"user\",\n UserCheck: \"userCheck\",\n UserCircle: \"userCircle\",\n UserMinus: \"userMinus\",\n UserPlus: \"userPlus\",\n UserX: \"userX\",\n Users: \"users\",\n Video: \"video\",\n VideoOff: \"videoOff\",\n Volume: \"volume\",\n Volume1: \"volume1\",\n Volume2: \"volume2\",\n VolumeX: \"volumeX\",\n Watch: \"watch\",\n Wifi: \"wifi\",\n X: \"x\",\n XCircle: \"xCircle\",\n XSquare: \"xSquare\",\n ZoomIn: \"zoomIn\",\n ZoomOut: \"zoomOut\",\n} as const\n\nexport type IconName = (typeof IconName)[keyof typeof IconName]\n\n/**\n * Runtime list of all icon names (useful for docs, search, etc.)\n */\nexport const iconNamesList = Object.values(IconName)\n","export const iconSizeScale = {\n xs: 16,\n sm: 24,\n md: 32,\n lg: 40,\n} as const\n\nexport const iconStrokeWidthScale = {\n xs: 1,\n sm: 2,\n md: 3,\n lg: 4,\n} as const\n\nexport type IconSizeKey = keyof typeof iconSizeScale\nexport type IconStrokeWidthKey = keyof typeof iconStrokeWidthScale\n\nexport function resolveIconSize(input: IconSizeKey | number): number {\n if (typeof input === \"number\") return input\n return iconSizeScale[input]\n}\n\nexport function resolveIconStrokeWidth(input: IconStrokeWidthKey | number): number {\n if (typeof input === \"number\") return input\n return iconStrokeWidthScale[input]\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport { IconName, iconNamesList } from \"./icon-names\"\nimport type { IconName as IconNameType } from \"./icon-names\"\n\n// Re-export from generated file\nexport { IconName, iconNamesList }\nexport type { IconNameType }\n\nexport type IconSize = \"xs\" | \"sm\" | \"md\" | \"lg\"\nexport type IconStrokeWidth = \"xs\" | \"sm\" | \"md\" | \"lg\"\nexport type IconColor = \"currentColor\" | \"primary\" | \"secondary\" | \"muted\"\n\n/**\n * @deprecated Use `iconNamesList` instead\n */\nexport const iconNames = iconNamesList\n\nexport type IconOptions = {\n name: IconNameType\n size?: IconSize\n strokeWidth?: IconStrokeWidth\n color?: IconColor\n\n // Accessibility\n ariaLabel?: string\n ariaHidden?: boolean\n decorative?: boolean\n}\n\nexport type IconA11yProps = {\n ariaLabel?: string\n ariaHidden?: boolean\n role?: \"img\"\n}\n\n/**\n * Valid SVG element types used in icon definitions.\n * This ensures type safety when rendering icon nodes.\n */\nexport type SvgElementType =\n | \"path\"\n | \"circle\"\n | \"line\"\n | \"polygon\"\n | \"polyline\"\n | \"rect\"\n | \"ellipse\"\n\nexport type SvgNode = {\n tag: SvgElementType\n attrs: Record<string, string>\n}\n\nexport type IconRenderKit = {\n tag: \"svg\"\n className: string\n vars: CssVars\n a11y: IconA11yProps\n svg: {\n viewBox: string\n nodes: readonly SvgNode[]\n width: number\n height: number\n type: \"stroke\"\n }\n}\n","import type { IconA11yProps, IconOptions } from \"./icon-types\"\n\nfunction isDev(): boolean {\n const p = (\n globalThis as unknown as {\n process?: { env?: Record<string, string | undefined> }\n }\n ).process\n\n const nodeEnv = p?.env?.NODE_ENV\n if (nodeEnv) return nodeEnv !== \"production\"\n\n const meta = import.meta as unknown as {\n env?: { MODE?: string; PROD?: boolean }\n }\n if (typeof meta.env?.PROD === \"boolean\") return !meta.env.PROD\n if (meta.env?.MODE) return meta.env.MODE !== \"production\"\n\n return true\n}\n\nconst __DEV__ = isDev()\n\nexport function resolveIconA11y(\n options: Pick<IconOptions, \"ariaLabel\" | \"decorative\">,\n): IconA11yProps {\n if (options.ariaLabel) {\n return {\n role: \"img\",\n ariaLabel: options.ariaLabel,\n }\n }\n\n if (__DEV__ && options.decorative === false) {\n console.warn(\n \"[marwes] Icon: decorative={false} was passed without ariaLabel. \" +\n \"The icon stays hidden from assistive technology unless ariaLabel is also provided.\",\n )\n }\n\n return { ariaHidden: true }\n}\n","import { resolveIconA11y } from \"./icon-a11y\"\nimport { iconRegistry } from \"./icon-registry\"\nimport { resolveIconSize, resolveIconStrokeWidth } from \"./icon-scales\"\nimport type { IconOptions, IconRenderKit } from \"./icon-types\"\n\nexport function createIconRecipe(opts: IconOptions): IconRenderKit {\n const def = iconRegistry[opts.name]\n\n if (!def) {\n throw new Error(`Icon \"${opts.name}\" not found in registry`)\n }\n\n // Defaults are hardcoded — icon size and stroke are not theme-derived\n const px = resolveIconSize(opts.size ?? \"sm\")\n const sw = resolveIconStrokeWidth(opts.strokeWidth ?? \"md\")\n const color = opts.color ?? \"currentColor\"\n\n return {\n tag: \"svg\",\n className: [\"mw-icon\", `mw-icon--${px}`, `mw-icon--${color}`].join(\" \"),\n vars: {\n \"--mw-icon-size\": `${px}px`,\n \"--mw-icon-stroke-width\": String(sw),\n },\n a11y: resolveIconA11y(opts),\n svg: {\n viewBox: def.viewBox,\n nodes: def.nodes,\n width: px,\n height: px,\n type: \"stroke\",\n },\n }\n}\n","import type { InputA11yProps, InputOptions } from \"./input-types\"\n\nexport function resolveInputA11y(opts: InputOptions): InputA11yProps {\n const a11y: InputA11yProps = {}\n\n if (opts.id) a11y.id = opts.id\n if (opts.name) a11y.name = opts.name\n\n if (opts.disabled) a11y.disabled = true\n if (opts.readOnly) a11y.readOnly = true\n if (opts.required) a11y.required = true\n\n if (opts.type) a11y.type = opts.type\n if (opts.inputMode) a11y.inputMode = opts.inputMode\n if (opts.autoComplete) a11y.autoComplete = opts.autoComplete\n if (opts.placeholder) a11y.placeholder = opts.placeholder\n\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.invalid) a11y.ariaInvalid = true\n if (opts.describedBy) a11y.ariaDescribedBy = opts.describedBy\n\n return a11y\n}\n","import { resolveInputA11y } from \"./input-a11y\"\nimport type { InputOptions, InputRenderKit } from \"./input-types\"\n\nexport function createInputRecipe(opts: InputOptions): InputRenderKit {\n const tone = opts.tone ?? \"default\"\n const invalid = opts.invalid === true ? \"is-invalid\" : \"is-valid\"\n\n return {\n tag: \"input\",\n className: [\"mw-input\", `mw-input--${tone}`, invalid].join(\" \"),\n vars: {},\n a11y: resolveInputA11y(opts),\n }\n}\n","import type { InputOtpA11yProps, InputOtpOptions } from \"./input-otp-types\"\n\nexport function resolveInputOtpA11y(options: InputOtpOptions): InputOtpA11yProps {\n const otpLength = Math.max(1, options.length ?? 6)\n const a11yProps: InputOtpA11yProps = {\n inputMode: \"numeric\",\n autoComplete: \"one-time-code\",\n maxLength: otpLength,\n pattern: \"[0-9]*\",\n }\n\n if (options.id) {\n a11yProps.id = options.id\n }\n\n if (options.name) {\n a11yProps.name = options.name\n }\n\n if (options.disabled) {\n a11yProps.disabled = true\n }\n\n if (options.readOnly) {\n a11yProps.readOnly = true\n }\n\n if (options.required) {\n a11yProps.required = true\n }\n\n if (options.ariaLabel) {\n a11yProps.ariaLabel = options.ariaLabel\n }\n\n if (options.invalid) {\n a11yProps.ariaInvalid = true\n }\n\n if (options.describedBy) {\n a11yProps.ariaDescribedBy = options.describedBy\n }\n\n return a11yProps\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport { resolveInputOtpA11y } from \"./input-otp-a11y\"\nimport type { InputOtpOptions, InputOtpRenderKit } from \"./input-otp-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function sanitizeInputOtpValue(rawValue: string | undefined, length: number): string {\n if (!rawValue) {\n return \"\"\n }\n\n let sanitizedValue = \"\"\n\n for (const character of rawValue) {\n if (character < \"0\" || character > \"9\") {\n continue\n }\n\n sanitizedValue += character\n\n if (sanitizedValue.length >= length) {\n return sanitizedValue\n }\n }\n\n return sanitizedValue\n}\n\nexport function createInputOtpRecipe(options: InputOtpOptions): InputOtpRenderKit {\n const otpLength = Math.max(1, options.length ?? 6)\n const placeholderCharacter = options.placeholderCharacter ?? \"·\"\n const displayValue = sanitizeInputOtpValue(options.value ?? options.defaultValue, otpLength)\n const displayCharacters = Array.from({ length: otpLength }, (_, index) => {\n return displayValue[index] ?? placeholderCharacter\n })\n const displayCells = displayCharacters.map((character, index) => ({\n key: `otp-cell-${index + 1}`,\n character,\n filled: index < displayValue.length,\n }))\n\n const vars: CssVars = {\n \"--mw-input-otp-cell-count\": String(otpLength),\n }\n\n return {\n tag: \"div\",\n className: cx(\n \"mw-input-otp\",\n options.invalid && \"mw-input-otp--invalid\",\n options.disabled && \"mw-input-otp--disabled\",\n options.readOnly && \"mw-input-otp--readonly\",\n ),\n vars,\n a11y: resolveInputOtpA11y({ ...options, length: otpLength }),\n displayValue,\n displayCharacters,\n displayCells,\n }\n}\n","import type { SelectA11yProps, SelectOptions } from \"./select-types\"\n\nexport function resolveSelectA11y(opts: SelectOptions): SelectA11yProps {\n const a11y: SelectA11yProps = {}\n\n if (opts.id) a11y.id = opts.id\n if (opts.name) a11y.name = opts.name\n\n if (opts.disabled) a11y.disabled = true\n if (opts.required) a11y.required = true\n\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.invalid) a11y.ariaInvalid = true\n if (opts.describedBy) a11y.ariaDescribedBy = opts.describedBy\n\n return a11y\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport type { InputTone } from \"./input-types\"\n\nexport type SelectAppearance = \"marwes\" | \"native\"\nexport type SelectMode = SelectAppearance\n\nexport type SelectOption = {\n value: string\n label: string\n disabled?: boolean\n}\n\nexport type SelectOptions = {\n id?: string\n name?: string\n\n value?: string\n defaultValue?: string\n\n options: SelectOption[]\n placeholder?: string\n disabled?: boolean\n required?: boolean\n\n native?: boolean\n tone?: InputTone\n appearance?: SelectAppearance\n invalid?: boolean\n describedBy?: string\n\n ariaLabel?: string\n}\n\nexport type SelectA11yProps = {\n id?: string\n name?: string\n disabled?: true\n required?: true\n ariaLabel?: string\n ariaInvalid?: true\n ariaDescribedBy?: string\n}\n\nexport type SelectRenderKit = {\n tag: \"select\"\n className: string\n vars: CssVars\n a11y: SelectA11yProps\n}\n\nexport function resolveSelectMode(args: Pick<SelectOptions, \"native\" | \"appearance\">): SelectMode {\n if (args.native === true) {\n return \"native\"\n }\n\n if (args.native === false) {\n return \"marwes\"\n }\n\n return args.appearance ?? \"marwes\"\n}\n","import { resolveSelectA11y } from \"./select-a11y\"\nimport { type SelectOptions, type SelectRenderKit, resolveSelectMode } from \"./select-types\"\n\nexport function createSelectRecipe(opts: SelectOptions): SelectRenderKit {\n const tone = opts.tone ?? \"default\"\n const appearance = resolveSelectMode(opts)\n const invalid = opts.invalid === true ? \"is-invalid\" : \"is-valid\"\n\n return {\n tag: \"select\",\n className: [\"mw-select\", `mw-select--${tone}`, `mw-select--${appearance}`, invalid].join(\" \"),\n vars: {},\n a11y: resolveSelectA11y(opts),\n }\n}\n","import type { TextareaA11yProps, TextareaOptions } from \"./textarea-types\"\n\nexport function resolveTextareaA11y(opts: TextareaOptions): TextareaA11yProps {\n const a11y: TextareaA11yProps = {}\n\n if (opts.id) a11y.id = opts.id\n if (opts.name) a11y.name = opts.name\n\n if (opts.disabled) a11y.disabled = true\n if (opts.readOnly) a11y.readOnly = true\n if (opts.required) a11y.required = true\n\n if (opts.inputMode) a11y.inputMode = opts.inputMode\n if (opts.autoComplete) a11y.autoComplete = opts.autoComplete\n if (opts.placeholder) a11y.placeholder = opts.placeholder\n if (opts.rows !== undefined) a11y.rows = opts.rows\n if (opts.cols !== undefined) a11y.cols = opts.cols\n\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.invalid) a11y.ariaInvalid = true\n if (opts.describedBy) a11y.ariaDescribedBy = opts.describedBy\n\n return a11y\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport { resolveTextareaA11y } from \"./textarea-a11y\"\nimport type { TextareaOptions, TextareaRenderKit } from \"./textarea-types\"\n\nexport function createTextareaRecipe(opts: TextareaOptions): TextareaRenderKit {\n const tone = opts.tone ?? \"default\"\n const invalid = opts.invalid === true ? \"is-invalid\" : \"is-valid\"\n const vars: CssVars = {}\n\n if (opts.resize) {\n vars[\"--mw-textarea-resize\"] = opts.resize\n }\n\n return {\n tag: \"textarea\",\n className: [\"mw-textarea\", `mw-textarea--${tone}`, invalid].join(\" \"),\n vars,\n a11y: resolveTextareaA11y(opts),\n }\n}\n","import type { RichTextA11yProps, RichTextOptions } from \"./rich-text-types\"\n\nexport function resolveRichTextA11y(opts: RichTextOptions): RichTextA11yProps {\n const a11y: RichTextA11yProps = {\n role: \"textbox\",\n tabIndex: opts.disabled ? -1 : 0,\n ariaMultiline: true,\n }\n\n if (opts.id) a11y.id = opts.id\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.labelledBy) a11y.ariaLabelledBy = opts.labelledBy\n if (opts.describedBy) a11y.ariaDescribedBy = opts.describedBy\n if (opts.invalid) a11y.ariaInvalid = true\n if (opts.disabled) a11y.ariaDisabled = true\n if (opts.readOnly) a11y.ariaReadOnly = true\n if (opts.required) a11y.ariaRequired = true\n\n return a11y\n}\n","import type { RichTextFormat, RichTextOptions } from \"./rich-text-types\"\n\nconst richTextFormats: RichTextFormat[] = [\"bold\", \"italic\", \"underline\"]\n\nexport function resolveRichTextAllowedFormats(\n allowedFormats: RichTextOptions[\"allowedFormats\"],\n): RichTextFormat[] {\n if (!allowedFormats || allowedFormats.length === 0) {\n return richTextFormats\n }\n\n const nextFormats = allowedFormats.filter((format): format is RichTextFormat =>\n richTextFormats.includes(format),\n )\n\n return nextFormats.length > 0 ? Array.from(new Set(nextFormats)) : richTextFormats\n}\n\nexport function resolveRichTextClassName(opts: RichTextOptions): string {\n const tone = opts.tone ?? \"default\"\n const invalid = opts.invalid === true ? \"is-invalid\" : \"is-valid\"\n\n return [\"mw-rich-text\", `mw-rich-text--${tone}`, invalid].join(\" \")\n}\n\nexport function resolveRichTextDataAttributes(\n opts: RichTextOptions,\n allowedFormats: RichTextFormat[],\n): Record<string, string | boolean | undefined> {\n return {\n \"data-component\": \"rich-text\",\n \"data-disabled\": opts.disabled ? \"true\" : undefined,\n \"data-readonly\": opts.readOnly ? \"true\" : undefined,\n \"data-invalid\": opts.invalid ? \"true\" : undefined,\n \"data-formats\": allowedFormats.join(\" \"),\n }\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport { resolveRichTextA11y } from \"./rich-text-a11y\"\nimport {\n resolveRichTextAllowedFormats,\n resolveRichTextClassName,\n resolveRichTextDataAttributes,\n} from \"./rich-text-styles\"\nimport type { RichTextOptions, RichTextRenderKit } from \"./rich-text-types\"\n\nexport function createRichTextRecipe(opts: RichTextOptions): RichTextRenderKit {\n const vars: CssVars = {}\n const allowedFormats = resolveRichTextAllowedFormats(opts.allowedFormats)\n\n return {\n tag: \"div\",\n className: resolveRichTextClassName(opts),\n vars,\n a11y: resolveRichTextA11y(opts),\n dataAttributes: resolveRichTextDataAttributes(opts, allowedFormats),\n }\n}\n","import type { RichTextFormat } from \"./rich-text-types\"\n\nconst blockTagPattern = /<(?:div|section|article|header|footer|main)(?:\\s[^>]*)?>/gi\nconst closingBlockTagPattern = /<\\/(?:div|section|article|header|footer|main)>/gi\nconst disallowedTagPattern =\n /<\\/(?!(?:p|br|strong|em|u)\\b)[^>]+>|<(?!\\/)(?!(?:p|br|strong|em|u)\\b)[^>]+>/gi\nconst openingParagraphPattern = /<p(?:\\s[^>]*)?>/gi\nconst openingStrongPattern = /<strong(?:\\s[^>]*)?>/gi\nconst openingEmphasisPattern = /<em(?:\\s[^>]*)?>/gi\nconst openingUnderlinePattern = /<u(?:\\s[^>]*)?>/gi\nconst lineBreakPattern = /<br\\s*\\/?>/gi\nconst unsupportedAnglePattern = /<(?!\\/?(?:p|br|strong|em|u)\\b)/gi\n\nexport const richTextCommandByFormat: Record<RichTextFormat, string> = {\n bold: \"bold\",\n italic: \"italic\",\n underline: \"underline\",\n}\n\nexport function escapeRichTextHtml(value: string): string {\n return value\n .replaceAll(\"&\", \"&\")\n .replaceAll(\"<\", \"<\")\n .replaceAll(\">\", \">\")\n .replaceAll('\"', \""\")\n .replaceAll(\"'\", \"'\")\n}\n\nexport function normalizeRichTextHtml(rawHtml: string | undefined): string {\n if (!rawHtml) {\n return \"\"\n }\n\n const trimmedHtml = rawHtml.replaceAll(\"\\u200B\", \"\").trim()\n\n if (trimmedHtml.length === 0) {\n return \"\"\n }\n\n if (!trimmedHtml.includes(\"<\")) {\n return escapeRichTextHtml(trimmedHtml)\n }\n\n const normalizedHtml = trimmedHtml\n .replace(/<b(?:\\s[^>]*)?>/gi, \"<strong>\")\n .replace(/<\\/b>/gi, \"</strong>\")\n .replace(/<i(?:\\s[^>]*)?>/gi, \"<em>\")\n .replace(/<\\/i>/gi, \"</em>\")\n .replace(blockTagPattern, \"<p>\")\n .replace(closingBlockTagPattern, \"</p>\")\n .replace(openingParagraphPattern, \"<p>\")\n .replace(openingStrongPattern, \"<strong>\")\n .replace(openingEmphasisPattern, \"<em>\")\n .replace(openingUnderlinePattern, \"<u>\")\n .replace(lineBreakPattern, \"<br>\")\n .replace(disallowedTagPattern, \"\")\n .replace(unsupportedAnglePattern, \"<\")\n .replace(/\\s+/g, \" \")\n .trim()\n\n return isRichTextHtmlEmpty(normalizedHtml) ? \"\" : normalizedHtml\n}\n\nexport function isRichTextHtmlEmpty(rawHtml: string | undefined): boolean {\n if (!rawHtml) {\n return true\n }\n\n const collapsedText = rawHtml\n .replace(/<br\\s*\\/?>/gi, \"\")\n .replace(/<\\/?p>/gi, \"\")\n .replace(/<\\/?strong>/gi, \"\")\n .replace(/<\\/?em>/gi, \"\")\n .replace(/<\\/?u>/gi, \"\")\n .replace(/ /gi, \"\")\n .replaceAll(\"\\u200B\", \"\")\n .replace(/\\s+/g, \"\")\n .trim()\n\n return collapsedText.length === 0\n}\n","/**\n * Builds strict a11y output for Heading.\n * - Headings are semantic by default, minimal a11y needed.\n */\n\nimport type { HeadingA11y, HeadingOptions } from \"./heading-types\"\n\nexport function buildHeadingA11y(opts: HeadingOptions): HeadingA11y {\n const a11y: HeadingA11y = {}\n\n if (opts.id) a11y.id = opts.id\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n\n return a11y\n}\n","/**\n * Heading recipe: theme + options → render kit.\n * - Determines semantic tag from level.\n * - Allows visual size override.\n * - No spacing/margin (user-controlled).\n */\n\nimport type { CssVars } from \"../../../shared/css-vars\"\nimport type { ResolvedTheme } from \"../../../theme/theme-css\"\nimport type { HeadingSize } from \"../../../theme/theme-types\"\nimport { buildHeadingA11y } from \"./heading-a11y\"\nimport type { HeadingOptions, HeadingRenderKit } from \"./heading-types\"\n\nexport function headingRecipe(opts: HeadingOptions, theme: ResolvedTheme): HeadingRenderKit {\n const { level } = opts\n\n // Default size to match level (h1 → \"h1\", h2 → \"h2\", h3 → \"h3\").\n const size: HeadingSize = opts.size ?? (`h${level}` as HeadingSize)\n\n // Semantic tag based on level.\n const tag = `h${level}` as \"h1\" | \"h2\" | \"h3\"\n\n // Build class name.\n const className = [\"mw-heading\", `mw-heading--${size}`].filter(Boolean).join(\" \")\n\n // Typography settings from theme.\n const typo = theme.typography[size]\n\n // CSS variables.\n const vars: CssVars = {\n \"--mw-heading-size\": `${typo.fontSize}px`,\n \"--mw-heading-line-height\": `${typo.lineHeight}`,\n \"--mw-heading-weight\": `${typo.fontWeight}`,\n \"--mw-heading-letter-spacing\": `${typo.letterSpacing}px`,\n }\n\n // Build a11y props.\n const a11y = buildHeadingA11y(opts)\n\n return {\n tag,\n className,\n vars,\n a11y,\n }\n}\n","/**\n * Paragraph recipe: theme + options → render kit.\n * - Supports size variants: sm/md/lg.\n * - No spacing/margin (user-controlled).\n */\n\nimport type { CssVars } from \"../../../shared/css-vars\"\nimport type { ResolvedTheme } from \"../../../theme/theme-css\"\nimport type { ParagraphSize } from \"../../../theme/theme-types\"\nimport type { ParagraphOptions, ParagraphRenderKit } from \"./paragraph-types\"\n\nexport function paragraphRecipe(opts: ParagraphOptions, theme: ResolvedTheme): ParagraphRenderKit {\n // Default size to \"md\".\n const size: ParagraphSize = opts.size ?? \"md\"\n\n // Build class name.\n const className = [\"mw-p\", `mw-p--${size}`].filter(Boolean).join(\" \")\n\n // Typography settings from theme.\n const typo = theme.typography.paragraph[size]\n\n // CSS variables.\n const vars: CssVars = {\n \"--mw-p-size\": `${typo.fontSize}px`,\n \"--mw-p-line-height\": `${typo.lineHeight}`,\n }\n\n // Build a11y props (minimal).\n const a11y: ParagraphRenderKit[\"a11y\"] = {}\n if (opts.id) a11y.id = opts.id\n\n return {\n tag: \"p\",\n className,\n vars,\n a11y,\n }\n}\n","import type { TabA11yProps, TabOptions } from \"./tab-types\"\n\nexport function resolveTabA11y(opts: TabOptions): TabA11yProps {\n const a11y: TabA11yProps = {\n role: \"tab\",\n ariaSelected: opts.selected ?? false,\n // Only the selected enabled tab participates in roving focus.\n // Disabled tabs are rendered as disabled controls and skipped by TabGroup navigation.\n tabIndex: opts.selected && !opts.disabled ? 0 : -1,\n }\n\n if (opts.disabled) a11y.ariaDisabled = true\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.ariaControls) a11y.ariaControls = opts.ariaControls\n\n return a11y\n}\n","/**\n * Tab core recipe:\n * - returns a render kit for adapters\n * - stable classnames, modifier classes, strict a11y\n */\n\nimport { resolveTabA11y } from \"./tab-a11y\"\nimport type { TabOptions, TabRenderKit } from \"./tab-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createTabRecipe(opts: TabOptions): TabRenderKit {\n return {\n tag: \"button\",\n className: cx(\n \"mw-tab\",\n opts.selected && \"mw-tab--selected\",\n opts.disabled && \"mw-tab--disabled\",\n ),\n vars: {},\n a11y: resolveTabA11y(opts),\n }\n}\n","import type { TabGroupA11yIds, TabGroupItemState } from \"./tab-group-types\"\n\nexport type TabNavigationDirection = \"next\" | \"previous\" | \"start\" | \"end\"\n\nexport function buildTabGroupA11yIds(args: {\n id: string\n itemValues: string[]\n hasLabel?: boolean\n}): TabGroupA11yIds {\n const tabIds = Object.fromEntries(\n args.itemValues.map((value) => [value, `${args.id}-tab-${value}`]),\n )\n const panelIds = Object.fromEntries(\n args.itemValues.map((value) => [value, `${args.id}-panel-${value}`]),\n )\n\n const result: TabGroupA11yIds = {\n tabListId: `${args.id}-tablist`,\n tabIds,\n panelIds,\n }\n\n if (args.hasLabel) {\n result.labelId = `${args.id}-label`\n }\n\n return result\n}\n\nexport function resolveTabValue(\n items: TabGroupItemState[],\n requestedValue?: string,\n): string | undefined {\n if (items.length === 0) {\n return undefined\n }\n\n if (requestedValue) {\n const requestedItem = items.find((item) => item.value === requestedValue && !item.disabled)\n if (requestedItem) {\n return requestedItem.value\n }\n }\n\n return items.find((item) => !item.disabled)?.value\n}\n\nexport function moveTabSelection(\n items: TabGroupItemState[],\n currentValue: string | undefined,\n direction: TabNavigationDirection,\n): string | undefined {\n const enabledItems = items.filter((item) => !item.disabled)\n\n if (enabledItems.length === 0) {\n return undefined\n }\n\n if (direction === \"start\") {\n return enabledItems[0]?.value\n }\n\n if (direction === \"end\") {\n return enabledItems[enabledItems.length - 1]?.value\n }\n\n const currentIndex = enabledItems.findIndex((item) => item.value === currentValue)\n\n if (currentIndex === -1) {\n return enabledItems[0]?.value\n }\n\n const delta = direction === \"next\" ? 1 : -1\n const nextIndex = (currentIndex + delta + enabledItems.length) % enabledItems.length\n return enabledItems[nextIndex]?.value\n}\n","/**\n * Spacing recipe: options → render kit.\n * - Delegates size to the --mw-spacing-* token scale via a single CSS variable.\n * - Default size: \"sp-24\" (24px).\n */\n\nimport type { CssVars } from \"../../../shared/css-vars\"\nimport type { SpacingOptions, SpacingRenderKit, Spacings } from \"./spacing.types\"\n\nexport function createSpacingRecipe(opts: SpacingOptions = {}): SpacingRenderKit {\n const size: Spacings = opts.size ?? \"sp-24\"\n const scale = opts.scale ?? 1\n\n const className = \"mw-spacing\"\n\n // scale=1 emits a plain var(); anything else wraps in calc() to multiply.\n const tokenRef = `var(--mw-spacing-${size})`\n const vars: CssVars = {\n \"--mw-spacing-value\": scale === 1 ? tokenRef : `calc(${tokenRef} * ${scale})`,\n }\n\n const a11y: SpacingRenderKit[\"a11y\"] = {\n \"aria-hidden\": \"true\",\n }\n\n const dataAttributes: SpacingRenderKit[\"dataAttributes\"] = {\n \"data-component\": \"spacing\",\n \"data-size\": size,\n }\n\n return {\n tag: \"div\",\n className,\n vars,\n a11y,\n dataAttributes,\n }\n}\n","/**\n * Core types for Spacing component.\n * - Pure layout primitive that inserts vertical space between elements.\n * - 18 sizes mapped to the --mw-spacing-* token scale.\n * - Renders as an aria-hidden div.\n */\n\nimport type { CssVars } from \"../../../shared/css-vars\"\n\n/**\n * Spacing token accessor and type — same import, two uses.\n *\n * Preferred value access:\n * ```ts\n * Spacings.sp24 // \"sp-24\"\n * ```\n *\n * Legacy key access also works:\n * ```ts\n * Spacings[\"sp-24\"] // \"sp-24\"\n * ```\n *\n * Type use:\n * ```ts\n * size?: Spacings\n * ```\n *\n * Pixel scale:\n * sp-0→0 | sp-2→2 | sp-4→4 | sp-8→8 | sp-16→16 | sp-24→24 | sp-32→32\n * sp-40→40 | sp-48→48 | sp-56→56 | sp-64→64 | sp-72→72 | sp-80→80\n * sp-88→88 | sp-96→96 | sp-104→104 | sp-112→112 | sp-120→120\n */\nexport const Spacings = {\n sp0: \"sp-0\",\n sp2: \"sp-2\",\n sp4: \"sp-4\",\n sp8: \"sp-8\",\n sp16: \"sp-16\",\n sp24: \"sp-24\",\n sp32: \"sp-32\",\n sp40: \"sp-40\",\n sp48: \"sp-48\",\n sp56: \"sp-56\",\n sp64: \"sp-64\",\n sp72: \"sp-72\",\n sp80: \"sp-80\",\n sp88: \"sp-88\",\n sp96: \"sp-96\",\n sp104: \"sp-104\",\n sp112: \"sp-112\",\n sp120: \"sp-120\",\n \"sp-0\": \"sp-0\",\n \"sp-2\": \"sp-2\",\n \"sp-4\": \"sp-4\",\n \"sp-8\": \"sp-8\",\n \"sp-16\": \"sp-16\",\n \"sp-24\": \"sp-24\",\n \"sp-32\": \"sp-32\",\n \"sp-40\": \"sp-40\",\n \"sp-48\": \"sp-48\",\n \"sp-56\": \"sp-56\",\n \"sp-64\": \"sp-64\",\n \"sp-72\": \"sp-72\",\n \"sp-80\": \"sp-80\",\n \"sp-88\": \"sp-88\",\n \"sp-96\": \"sp-96\",\n \"sp-104\": \"sp-104\",\n \"sp-112\": \"sp-112\",\n \"sp-120\": \"sp-120\",\n} as const\n\nexport type Spacings = (typeof Spacings)[keyof typeof Spacings]\n\n/**\n * Alias for `Spacings` type — kept for internal and backward-compat use.\n * Prefer `Spacings` in public-facing code.\n */\nexport type SpacingSize = Spacings\n\n/** Public props the adapter can pass into core. */\nexport type SpacingOptions = {\n /**\n * Token size for the spacing.\n * Prefer `Spacings.sp24` for type-safe dot access.\n *\n * ```ts\n * import { Spacings } from \"@marwes-ui/react\"\n * <Spacing size={Spacings.sp24} />\n * ```\n * @default \"sp-24\" (24px)\n */\n size?: Spacings\n\n /**\n * Multiplies the token value. `scale={2}` doubles any size.\n * Computed as `calc(var(--mw-spacing-{size}) * scale)`.\n * @default 1\n */\n scale?: number\n}\n\n/** A11y output — spacing is decorative, hidden from assistive tech. */\nexport type SpacingA11y = {\n \"aria-hidden\": \"true\"\n}\n\n/** Data attributes for styling hooks. */\nexport type SpacingDataAttributes = {\n \"data-component\": \"spacing\"\n \"data-size\": Spacings\n}\n\n/** Render kit output. */\nexport type SpacingRenderKit = {\n /** Always a <div> — spacing is decorative, not semantic. */\n tag: \"div\"\n\n /** CSS class names. */\n className: string\n\n /** CSS variables for theming. */\n vars: CssVars\n\n /** Accessibility props. */\n a11y: SpacingA11y\n\n /** Data attributes for styling hooks. */\n dataAttributes: SpacingDataAttributes\n}\n","import { iconNames } from \"../components/atoms\"\n\nexport const storybookLayout = {\n centered: { layout: \"centered\" },\n padded: { layout: \"padded\" },\n fullscreen: { layout: \"fullscreen\" },\n} as const\n\nexport const storybookA11yPolicy = {\n off: {\n a11y: { test: \"off\" as const },\n },\n smoke: {\n a11y: { test: \"error\" as const },\n },\n} as const\n\nexport const storybookIconNames = [...iconNames]\nexport const storybookOptionalIconNames = [undefined, ...storybookIconNames]\n\nexport const storybookButtonIconArgTypes = {\n iconLeft: {\n control: \"select\",\n options: storybookOptionalIconNames,\n },\n iconRight: {\n control: \"select\",\n options: storybookOptionalIconNames,\n },\n disabled: {\n control: \"boolean\",\n },\n} as const\n\nexport const storybookButtonGeneralArgTypes = {\n ...storybookButtonIconArgTypes,\n} as const\n\nexport const storybookButtonPurposeArgTypes = {\n ...storybookButtonIconArgTypes,\n} as const\n\nexport const storybookCheckboxArgTypes = {\n size: { control: \"radio\", options: [\"sm\", \"md\", \"lg\"] },\n disabled: { control: \"boolean\" },\n required: { control: \"boolean\" },\n invalid: { control: \"boolean\" },\n checked: { control: \"boolean\" },\n defaultChecked: { control: \"boolean\" },\n indeterminate: { control: \"boolean\" },\n ariaLabel: { control: \"text\" },\n} as const\n\nexport const storybookDividerArgTypes = {\n size: {\n control: \"select\",\n options: [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\", \"xxl\"],\n description: \"Size variant (xxs=1px, xs=8px, sm=16px, md=32px, lg=48px, xl=64px, xxl=80px)\",\n },\n orientation: {\n control: \"select\",\n options: [\"horizontal\", \"vertical\"],\n description: \"Orientation of the divider\",\n },\n} as const\n\nexport const storybookSpinnerArgTypes = {\n variant: {\n control: \"select\",\n options: [\"classic\", \"ring\", \"dual\", \"dots-round\", \"dots-square\", \"lines\", \"cross\"],\n description: \"Visual style from the synced Spinner showcase\",\n },\n size: {\n control: \"select\",\n options: [\"xs\", \"sm\", \"md\", \"lg\"],\n description: \"Spinner scale token (xs=16px, sm=24px, md=32px, lg=40px)\",\n },\n decorative: {\n control: \"boolean\",\n description:\n \"Hide the spinner from assistive technology when nearby text already communicates loading\",\n },\n ariaLabel: {\n control: \"text\",\n description: \"Accessible label for standalone loading indicators\",\n },\n} as const\n\nexport const storybookSpacingArgTypes = {\n size: {\n control: \"select\",\n options: [\n \"sp-0\",\n \"sp-2\",\n \"sp-4\",\n \"sp-8\",\n \"sp-16\",\n \"sp-24\",\n \"sp-32\",\n \"sp-40\",\n \"sp-48\",\n \"sp-56\",\n \"sp-64\",\n \"sp-72\",\n \"sp-80\",\n \"sp-88\",\n \"sp-96\",\n \"sp-104\",\n \"sp-112\",\n \"sp-120\",\n ],\n description: \"Size variant (sp-0=0 … sp-24=24 … sp-80=80 … sp-120=120px)\",\n },\n scale: {\n control: { type: \"number\", min: 1, max: 8, step: 0.5 },\n description: \"Multiplies the token value. scale=2 doubles any size.\",\n },\n} as const\n\nexport const storybookIconGalleryDefaults = {\n size: \"sm\",\n strokeWidth: \"md\",\n search: \"\",\n columns: 8,\n} as const\n\nexport const storybookIconGalleryArgTypes = {\n size: {\n control: \"inline-radio\",\n options: [\"xs\", \"sm\", \"md\", \"lg\"],\n },\n strokeWidth: {\n control: \"inline-radio\",\n options: [\"xs\", \"sm\", \"md\", \"lg\"],\n },\n search: { control: \"text\" },\n columns: {\n control: { type: \"range\", min: 4, max: 14, step: 1 },\n },\n} as const\n\nexport const storybookRadioArgTypes = {\n checked: { control: \"boolean\" },\n defaultChecked: { control: \"boolean\" },\n disabled: { control: \"boolean\" },\n required: { control: \"boolean\" },\n invalid: { control: \"boolean\" },\n name: { control: \"text\" },\n value: { control: \"text\" },\n ariaLabel: { control: \"text\" },\n} as const\n\nexport const storybookSliderArgTypes = {\n min: { control: { type: \"number\", min: -1000, max: 1000, step: 1 } },\n max: { control: { type: \"number\", min: -1000, max: 1000, step: 1 } },\n step: { control: { type: \"number\", min: 0.1, max: 100, step: 0.1 } },\n value: { control: { type: \"number\", min: -1000, max: 1000, step: 1 } },\n defaultValue: { control: { type: \"number\", min: -1000, max: 1000, step: 1 } },\n disabled: { control: \"boolean\" },\n required: { control: \"boolean\" },\n showTooltip: { control: \"boolean\" },\n showTouchArea: { control: \"boolean\" },\n ariaLabel: { control: \"text\" },\n ariaValueText: { control: \"text\" },\n} as const\n\nexport const storybookDocsDescription = {\n linkButton:\n \"LinkButton locks navigation semantics, renders as an anchor, and keeps the canonical text treatment. Use Button for intentional visual deviations.\",\n destructiveButton:\n \"DestructiveButton locks destructive semantics, uses the canonical primary + error treatment, and requires confirmation by default. Use Button for intentional exceptions.\",\n submitButton:\n \"SubmitButton locks form-submit semantics, always renders as a button, and keeps the canonical primary treatment.\",\n saveButton:\n \"SaveButton locks save semantics and the canonical primary treatment. Use Button if you need a different visual hierarchy.\",\n confirmButton:\n \"ConfirmButton locks affirmative confirmation semantics, always renders as a button, and keeps the canonical success treatment.\",\n verifyButton:\n \"VerifyButton locks verification semantics, always renders as a button, and keeps the canonical secondary treatment with a check-circle icon by default.\",\n editButton:\n \"EditButton locks edit semantics and the canonical secondary treatment with an edit icon by default.\",\n uploadButton:\n \"UploadButton locks upload semantics and the canonical secondary treatment with an upload icon by default.\",\n downloadButton:\n \"DownloadButton locks download semantics and the canonical secondary treatment with a download icon by default.\",\n copyButton: \"CopyButton locks copy semantics and the canonical neutral treatment.\",\n searchButton:\n \"SearchButton locks search semantics and the canonical primary treatment with a search icon by default.\",\n filterButton: \"FilterButton locks filter semantics and the canonical neutral treatment.\",\n sortButton: \"SortButton locks sort semantics and the canonical neutral treatment.\",\n dropdownButton:\n \"DropdownButton locks disclosure semantics and the canonical secondary treatment with a chevron-down icon by default.\",\n closeButton: \"CloseButton locks dismiss semantics and the canonical neutral treatment.\",\n refreshButton:\n \"RefreshButton locks refresh semantics and the canonical neutral treatment with a refresh icon by default.\",\n colors:\n \"Complete color palette from the design system. Semantic roles map to CSS variables, with label colors auto-derived by default and overrideable for brand-specific fills.\",\n} as const\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/theme/theme-types.ts","../src/theme/theme-mode.ts","../src/theme/density.ts","../src/theme/theme-css.ts","../src/theme/color-utils.ts","../src/theme/color-resolve.ts","../src/theme/theme-defaults.ts","../src/theme/tone.ts","../src/theme/theme-normalize.ts","../src/theme/theme-ssr.ts","../src/theme/theme-vars.ts","../src/theme/font-loader.ts","../src/semantics/semantic-types.ts","../src/semantics/semantic-attributes.ts","../src/semantics/semantic-constants.ts","../src/semantics/family-semantics.ts","../src/semantics/purpose-semantics.ts","../src/semantics/semantic-builders.ts","../src/semantics/semantic-validators.ts","../src/data/currency-symbols-complete.ts","../src/data/currency-symbols.ts","../src/shared/field-helpers.ts","../src/storybook/docs-copy.ts","../src/components/atoms/accordion/accordion-a11y.ts","../src/components/atoms/accordion/accordion-recipe.ts","../src/components/atoms/avatar/avatar-types.ts","../src/components/atoms/avatar/avatar-a11y.ts","../src/components/atoms/avatar/avatar-recipe.ts","../src/components/atoms/card/card-recipe.ts","../src/components/atoms/dialog/dialog-a11y.ts","../src/components/atoms/dialog/dialog-recipe.ts","../src/components/atoms/toast/toast-a11y.ts","../src/components/atoms/toast/toast-recipe.ts","../src/components/atoms/tooltip/tooltip-a11y.ts","../src/components/atoms/tooltip/tooltip-recipe.ts","../src/components/atoms/badge/badge-a11y.ts","../src/components/atoms/badge/badge-recipe.ts","../src/components/atoms/badge/badge-types.ts","../src/components/atoms/button/button-types.ts","../src/components/atoms/spinner/spinner-types.ts","../src/components/atoms/button/button-loading.ts","../src/components/atoms/button/button-a11y.ts","../src/components/atoms/button/button-recipe.ts","../src/components/atoms/radio/radio-a11y.ts","../src/components/atoms/radio/radio-recipe.ts","../src/components/atoms/switch/switch-a11y.ts","../src/components/atoms/switch/switch-types.ts","../src/components/atoms/switch/switch-recipe.ts","../src/components/atoms/slider/slider-a11y.ts","../src/components/atoms/slider/slider-recipe.ts","../src/components/atoms/checkbox/checkbox-a11y.ts","../src/components/atoms/checkbox/checkbox-recipe.ts","../src/components/atoms/divider/divider-recipe.ts","../src/components/atoms/spinner/spinner-a11y.ts","../src/components/atoms/spinner/spinner-svg.ts","../src/components/atoms/spinner/spinner-recipe.ts","../src/components/atoms/skeleton/skeleton-a11y.ts","../src/components/atoms/skeleton/skeleton-types.ts","../src/components/atoms/skeleton/skeleton-recipe.ts","../src/components/atoms/stat-tile/stat-tile-a11y.ts","../src/components/atoms/stat-tile/stat-tile-recipe.ts","../src/components/atoms/date-picker/date-picker-a11y.ts","../src/components/atoms/date-picker/date-picker-recipe.ts","../src/components/atoms/icon/icon-registry.ts","../src/components/atoms/icon/icon-names.ts","../src/components/atoms/icon/icon-scales.ts","../src/components/atoms/icon/icon-types.ts","../src/components/atoms/icon/icon-a11y.ts","../src/components/atoms/icon/icon-recipe.ts","../src/components/atoms/input/input-a11y.ts","../src/components/atoms/input/input-recipe.ts","../src/components/atoms/input/input-otp-a11y.ts","../src/components/atoms/input/input-otp-recipe.ts","../src/components/atoms/input/select-a11y.ts","../src/components/atoms/input/select-types.ts","../src/components/atoms/input/select-recipe.ts","../src/components/atoms/input/textarea-a11y.ts","../src/components/atoms/input/textarea-recipe.ts","../src/components/atoms/input/rich-text-a11y.ts","../src/components/atoms/input/rich-text-styles.ts","../src/components/atoms/input/rich-text-recipe.ts","../src/components/atoms/input/rich-text-html.ts","../src/components/atoms/heading/heading-a11y.ts","../src/components/atoms/heading/heading-recipe.ts","../src/components/atoms/paragraph/paragraph-recipe.ts","../src/components/atoms/tab/tab-a11y.ts","../src/components/atoms/tab/tab-recipe.ts","../src/components/atoms/tab/tab-group-a11y.ts","../src/components/atoms/spacing/spacing.recipe.ts","../src/components/atoms/spacing/spacing.types.ts","../src/storybook/storybook-fixtures.ts"],"names":["cx","isDev","__DEV__","a11y","resolveTone"],"mappings":"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","file":"index.js","sourcesContent":["// Re-export color role types so consumers import from one place\nexport type { ColorInput, ColorRole, SecondaryColorRole } from \"./color-resolve\"\nexport type { ToneName } from \"./tone\"\n\nexport type Density = \"compact\" | \"comfortable\" | \"spacious\"\n\n/**\n * @deprecated UiVariant has been removed. Button variants (primary|secondary|text)\n * are unrelated. Remove any references to UiVariant from your code.\n */\nexport type UiVariant = \"solid\" | \"soft\" | \"outline\" | \"ghost\"\n\nexport type IconStrokeWidth = \"xs\" | \"sm\" | \"md\" | \"lg\"\nexport type IconSize = \"xs\" | \"sm\" | \"md\" | \"lg\"\nexport type HeadingSize = \"h1\" | \"h2\" | \"h3\"\nexport type ParagraphSize = \"sm\" | \"md\" | \"lg\"\n\n/**\n * Theme mode determines which default color palette is used.\n * - 'light': Uses light mode color defaults (dark text on light backgrounds)\n * - 'dark': Uses dark mode color defaults (light text on dark backgrounds)\n */\nexport const ThemeMode = {\n light: \"light\",\n dark: \"dark\",\n} as const\nexport type ThemeMode = (typeof ThemeMode)[keyof typeof ThemeMode]\nexport type ThemePreference = ThemeMode | \"system\"\nexport type ThemeVariableStrategy = \"inline\" | \"style-tag\"\n\nexport type Theme = {\n /**\n * The current theme mode. This determines which color defaults are applied.\n * Changing the mode will swap color values (e.g., surface ↔ surfaceInverted).\n */\n mode: ThemeMode\n\n color: {\n // Primary\n primary: string\n\n // Background & Surface\n background: string\n surface: string\n surfaceSubtle: string\n surfaceElevated: string\n surfaceDisabled: string\n surfaceInverted: string\n\n // Text\n text: string\n textMuted: string\n textSubtle: string\n textDisabled: string\n textInverted: string\n\n // Borders\n border: string\n borderSubtle: string\n borderStrong: string\n borderDisabled: string\n\n /**\n * Focus color used for focus-visible outlines on interactive elements.\n * Defaults to the source focus ring token from docs/marwes-colors.json.\n */\n focus: string\n\n // Semantic colors\n danger: string\n success: string\n warning: string\n }\n font: {\n primary: string\n secondary: string\n mono: string\n }\n ui: {\n radius: number\n density: Density\n }\n typography: {\n h1: {\n fontSize: number\n lineHeight: number\n fontWeight: number\n letterSpacing: number\n }\n h2: {\n fontSize: number\n lineHeight: number\n fontWeight: number\n letterSpacing: number\n }\n h3: {\n fontSize: number\n lineHeight: number\n fontWeight: number\n letterSpacing: number\n }\n paragraph: {\n sm: {\n fontSize: number\n lineHeight: number\n }\n md: {\n fontSize: number\n lineHeight: number\n }\n lg: {\n fontSize: number\n lineHeight: number\n }\n }\n }\n}\n\n// ─── V3 Input API ─────────────────────────────────────────────────────────────\n// ThemeInput is the consumer-facing input type for the Phase 0 theme engine.\n// Derivable roles (primary, danger, success, warning) accept ColorInput — a\n// plain hex string or an override object. The on* fields and secondary are\n// intentionally absent: they are derived automatically by resolveColorRole /\n// resolveSecondaryRole. Object-form ColorInput is the sanctioned way to keep\n// automatic role derivation while overriding fields such as label/labelDisabled\n// for brand-specific filled surfaces.\n\nimport type { ColorInput } from \"./color-resolve\"\nimport type { ToneName } from \"./tone\"\n\nexport interface ThemeInputColor {\n primary: ColorInput\n danger: ColorInput\n success: ColorInput\n warning: ColorInput\n // Surface and semantic tokens — not derived, configured directly\n background: string\n surface: string\n surfaceSubtle: string\n surfaceElevated: string\n surfaceDisabled: string\n surfaceInverted: string\n text: string\n textMuted: string\n textSubtle: string\n textDisabled: string\n textInverted: string\n border: string\n borderSubtle: string\n borderStrong: string\n borderDisabled: string\n focus: string\n\n // Removed in v3 — typed never so consumers get a descriptive TS error\n /** @deprecated Removed in v3. Label color is now derived via WCAG contrast. Remove this field. */\n onPrimary?: never\n /** @deprecated Removed in v3. Secondary is always derived from primary. Remove this field. */\n secondary?: never\n onSecondary?: never\n onDanger?: never\n onSuccess?: never\n onWarning?: never\n}\n\nexport interface ThemeInput {\n mode?: ThemeMode\n tone?: ToneName\n color?: Partial<ThemeInputColor>\n font?: Partial<Theme[\"font\"]>\n ui?: Partial<Theme[\"ui\"]>\n typography?: Partial<{\n h1?: Partial<Theme[\"typography\"][\"h1\"]>\n h2?: Partial<Theme[\"typography\"][\"h2\"]>\n h3?: Partial<Theme[\"typography\"][\"h3\"]>\n paragraph?: Partial<{\n sm?: Partial<Theme[\"typography\"][\"paragraph\"][\"sm\"]>\n md?: Partial<Theme[\"typography\"][\"paragraph\"][\"md\"]>\n lg?: Partial<Theme[\"typography\"][\"paragraph\"][\"lg\"]>\n }>\n }>\n}\n","import { ThemeMode } from \"./theme-types\"\nimport type { ThemePreference } from \"./theme-types\"\n\nexport type SystemThemeMode = ThemeMode\n\nexport function isThemeMode(value: unknown): value is ThemeMode {\n return value === ThemeMode.light || value === ThemeMode.dark\n}\n\nexport function isThemePreference(value: unknown): value is ThemePreference {\n return isThemeMode(value) || value === \"system\"\n}\n\nexport function resolveThemePreference(\n preference: ThemePreference,\n systemMode: SystemThemeMode,\n): ThemeMode {\n return preference === \"system\" ? systemMode : preference\n}\n\nexport function nextThemeMode(mode: ThemeMode): ThemeMode {\n return mode === ThemeMode.dark ? ThemeMode.light : ThemeMode.dark\n}\n","import type { Density } from \"./theme-types\"\n\nexport interface DensityScale {\n height: number\n paddingX: number\n paddingY: number\n gap: number\n fontSize: number\n iconSize: number\n checkboxSize: number\n fieldGap: number\n spacingMultiplier: number\n fontSizeSm: number\n}\n\nexport const DENSITY_SCALES: Record<Density, DensityScale> = {\n compact: {\n height: 34,\n paddingX: 10,\n paddingY: 6,\n gap: 4,\n fontSize: 13,\n iconSize: 16,\n checkboxSize: 16,\n fieldGap: 2,\n spacingMultiplier: 0.75,\n fontSizeSm: 12,\n },\n comfortable: {\n height: 40,\n paddingX: 16,\n paddingY: 12,\n gap: 8,\n fontSize: 14,\n iconSize: 20,\n checkboxSize: 18,\n fieldGap: 4,\n spacingMultiplier: 1,\n fontSizeSm: 13,\n },\n spacious: {\n height: 48,\n paddingX: 20,\n paddingY: 16,\n gap: 12,\n fontSize: 15,\n iconSize: 24,\n checkboxSize: 22,\n fieldGap: 6,\n spacingMultiplier: 1.25,\n fontSizeSm: 14,\n },\n}\n\n/**\n * Maps a density level to CSS custom properties.\n * These vars are consumed by preset CSS to control component sizing.\n */\nexport function densityToCSSVars(density: Density): Record<string, string> {\n const scale = DENSITY_SCALES[density]\n\n return {\n \"--mw-density-height\": `${scale.height}px`,\n \"--mw-density-padding-x\": `${scale.paddingX}px`,\n \"--mw-density-padding-y\": `${scale.paddingY}px`,\n \"--mw-density-gap\": `${scale.gap}px`,\n \"--mw-density-font-size\": `${scale.fontSize}px`,\n \"--mw-density-icon-size\": `${scale.iconSize}px`,\n \"--mw-density-checkbox-size\": `${scale.checkboxSize}px`,\n \"--mw-density-field-gap\": `${scale.fieldGap}px`,\n \"--mw-density-spacing-multiplier\": `${scale.spacingMultiplier}`,\n \"--mw-density-font-size-sm\": `${scale.fontSizeSm}px`,\n }\n}\n","import type { ColorRole, SecondaryColorRole } from \"./color-resolve\"\nimport { densityToCSSVars } from \"./density\"\nimport { ThemeMode } from \"./theme-types\"\nimport type { Density, ThemeMode as ThemeModeValue } from \"./theme-types\"\n\n// ─── ResolvedTheme ────────────────────────────────────────────────────────────\n// Post-derivation theme shape: color fields hold resolved ColorRole objects,\n// not raw hex strings. Moved to theme-types.ts in Case 4.\n\nexport interface ResolvedTheme {\n mode: ThemeModeValue\n color: {\n primary: ColorRole\n secondary: SecondaryColorRole\n danger: ColorRole\n success: ColorRole\n warning: ColorRole\n info: ColorRole // always mirrors primary (D3)\n background: string\n surface: string\n surfaceSubtle: string\n surfaceElevated: string\n surfaceDisabled: string\n surfaceInverted: string\n text: string\n textMuted: string\n textSubtle: string\n textDisabled: string\n textInverted: string\n border: string\n borderSubtle: string\n borderStrong: string\n borderDisabled: string\n focus: string\n }\n font: {\n primary: string\n secondary: string\n mono: string\n }\n ui: {\n radius: number\n density: Density\n }\n typography: {\n h1: { fontSize: number; lineHeight: number; fontWeight: number; letterSpacing: number }\n h2: { fontSize: number; lineHeight: number; fontWeight: number; letterSpacing: number }\n h3: { fontSize: number; lineHeight: number; fontWeight: number; letterSpacing: number }\n paragraph: {\n sm: { fontSize: number; lineHeight: number }\n md: { fontSize: number; lineHeight: number }\n lg: { fontSize: number; lineHeight: number }\n }\n }\n}\n\n// ─── Helpers ──────────────────────────────────────────────────────────────────\n\nfunction colorRoleVars(role: string, cr: ColorRole): Record<string, string> {\n return {\n [`--mw-color-${role}-base`]: cr.base,\n [`--mw-color-${role}-hover`]: cr.hover,\n [`--mw-color-${role}-pressed`]: cr.pressed,\n [`--mw-color-${role}-disabled`]: cr.disabled,\n [`--mw-color-${role}-label`]: cr.label,\n [`--mw-color-${role}-label-disabled`]: cr.labelDisabled,\n }\n}\n\n// ─── themeToCSSVars ───────────────────────────────────────────────────────────\n\n/**\n * Maps every field of a resolved theme to its CSS custom property name.\n * Returns 86 entries total. `variant` is excluded — it is deprecated.\n * Density is emitted as 10 `--mw-density-*` vars via densityToCSSVars.\n *\n * Variable naming follows D11: --mw-color-{role}-{state}, --mw-font-*, etc.\n */\nexport function themeToCSSVars(theme: ResolvedTheme): Record<string, string> {\n const { color, font, ui, typography } = theme\n\n return {\n // Color roles: primary, danger, success, warning, info (5 × 6 = 30)\n ...colorRoleVars(\"primary\", color.primary),\n ...colorRoleVars(\"danger\", color.danger),\n ...colorRoleVars(\"success\", color.success),\n ...colorRoleVars(\"warning\", color.warning),\n ...colorRoleVars(\"info\", color.info),\n\n // Secondary: 6 standard fields + 2 border fields (= 8)\n ...colorRoleVars(\"secondary\", color.secondary),\n \"--mw-color-secondary-border\": color.secondary.border,\n \"--mw-color-secondary-border-disabled\": color.secondary.borderDisabled,\n\n // Surface / semantic neutrals (16)\n \"--mw-color-background\": color.background,\n \"--mw-color-surface\": color.surface,\n \"--mw-color-surface-subtle\": color.surfaceSubtle,\n \"--mw-color-surface-elevated\": color.surfaceElevated,\n \"--mw-color-surface-disabled\": color.surfaceDisabled,\n \"--mw-color-surface-inverted\": color.surfaceInverted,\n \"--mw-color-text\": color.text,\n \"--mw-color-text-muted\": color.textMuted,\n \"--mw-color-text-subtle\": color.textSubtle,\n \"--mw-color-text-disabled\": color.textDisabled,\n \"--mw-color-text-inverted\": color.textInverted,\n \"--mw-color-border\": color.border,\n \"--mw-color-border-subtle\": color.borderSubtle,\n \"--mw-color-border-strong\": color.borderStrong,\n \"--mw-color-border-disabled\": color.borderDisabled,\n \"--mw-color-focus\": color.focus,\n\n // Font (3)\n \"--mw-font-primary\": font.primary,\n \"--mw-font-secondary\": font.secondary,\n \"--mw-font-mono\": font.mono,\n\n // UI (1)\n \"--mw-ui-radius\": `${ui.radius}px`,\n\n // Density (10)\n ...densityToCSSVars(ui.density),\n\n // Typography — headings (3 × 4 = 12)\n \"--mw-typography-h1-font-size\": `${typography.h1.fontSize}px`,\n \"--mw-typography-h1-line-height\": `${typography.h1.lineHeight}`,\n \"--mw-typography-h1-font-weight\": `${typography.h1.fontWeight}`,\n \"--mw-typography-h1-letter-spacing\": `${typography.h1.letterSpacing}px`,\n\n \"--mw-typography-h2-font-size\": `${typography.h2.fontSize}px`,\n \"--mw-typography-h2-line-height\": `${typography.h2.lineHeight}`,\n \"--mw-typography-h2-font-weight\": `${typography.h2.fontWeight}`,\n \"--mw-typography-h2-letter-spacing\": `${typography.h2.letterSpacing}px`,\n\n \"--mw-typography-h3-font-size\": `${typography.h3.fontSize}px`,\n \"--mw-typography-h3-line-height\": `${typography.h3.lineHeight}`,\n \"--mw-typography-h3-font-weight\": `${typography.h3.fontWeight}`,\n \"--mw-typography-h3-letter-spacing\": `${typography.h3.letterSpacing}px`,\n\n // Typography — paragraph (3 × 2 = 6)\n \"--mw-typography-paragraph-sm-font-size\": `${typography.paragraph.sm.fontSize}px`,\n \"--mw-typography-paragraph-sm-line-height\": `${typography.paragraph.sm.lineHeight}`,\n \"--mw-typography-paragraph-md-font-size\": `${typography.paragraph.md.fontSize}px`,\n \"--mw-typography-paragraph-md-line-height\": `${typography.paragraph.md.lineHeight}`,\n \"--mw-typography-paragraph-lg-font-size\": `${typography.paragraph.lg.fontSize}px`,\n \"--mw-typography-paragraph-lg-line-height\": `${typography.paragraph.lg.lineHeight}`,\n }\n}\n\nexport type ThemeModeAttribute = \"class\" | \"data-theme\" | \"data-mode\"\nexport type ThemeModeRootTarget = \"html\" | \"body\"\n\nexport type ThemeModeCSSRulesOptions = {\n light: ResolvedTheme\n dark: ResolvedTheme\n selector?: string\n rootTarget?: ThemeModeRootTarget\n rootAttribute?: ThemeModeAttribute\n}\n\nconst defaultThemeSelector = \"[data-marwes-theme]\"\n\nexport function themeToCSSRule(selector: string, theme: ResolvedTheme): string {\n const declarations = Object.entries(themeToCSSVars(theme))\n .map(([property, value]) => ` ${property}: ${serializeCSSDeclarationValue(value)};`)\n .join(\"\\n\")\n\n return `${selector} {\\n${declarations}\\n background-color: var(--mw-color-background);\\n color: var(--mw-color-text);\\n}`\n}\n\nexport function themeModesToCSSRules({\n light,\n dark,\n selector = defaultThemeSelector,\n rootTarget,\n rootAttribute = \"class\",\n}: ThemeModeCSSRulesOptions): string {\n return [\n themeToCSSRule(buildModeSelector(selector, ThemeMode.light, rootTarget, rootAttribute), light),\n themeToCSSRule(buildModeSelector(selector, ThemeMode.dark, rootTarget, rootAttribute), dark),\n ].join(\"\\n\\n\")\n}\n\nfunction buildModeSelector(\n selector: string,\n mode: ThemeModeValue,\n rootTarget: ThemeModeRootTarget | undefined,\n rootAttribute: ThemeModeAttribute,\n): string {\n const providerSelector = `${selector}[data-marwes-mode=\"${mode}\"]`\n const rootSelector =\n rootTarget === undefined\n ? undefined\n : `${buildRootModeSelector(rootTarget, rootAttribute, mode)} ${selector}`\n\n return rootSelector === undefined ? providerSelector : `${providerSelector},\\n${rootSelector}`\n}\n\nfunction buildRootModeSelector(\n target: ThemeModeRootTarget,\n attribute: ThemeModeAttribute,\n mode: ThemeModeValue,\n): string {\n if (attribute === \"class\") return `${target}.${mode}`\n return `${target}[${attribute}=\"${mode}\"]`\n}\n\nfunction serializeCSSDeclarationValue(value: string): string {\n return value.replace(/[\\n\\r\\t]+/g, \" \").replace(/[;{}]/g, \"\")\n}\n","// ─── Matrix type ─────────────────────────────────────────────────────────────\ntype Mat3 = readonly [\n readonly [number, number, number],\n readonly [number, number, number],\n readonly [number, number, number],\n]\n\n// ─── Matrix constants (Björn Ottosson's Oklab, 2020) ─────────────────────────\n// sRGB linear → XYZ-D65\nconst M_RGB_TO_XYZ: Mat3 = [\n [0.4124564, 0.3575761, 0.1804375],\n [0.2126729, 0.7151522, 0.072175],\n [0.0193339, 0.119192, 0.9503041],\n]\n\n// XYZ-D65 → Oklab LMS cone responses\nconst M_XYZ_TO_LMS: Mat3 = [\n [0.8189330101, 0.3618667424, -0.1288597137],\n [0.0329845436, 0.9293118715, 0.0361456387],\n [0.0482003018, 0.2643662691, 0.633851707],\n]\n\n// Oklab LMS (after cube-root) → Lab\nconst M_LMS_TO_LAB: Mat3 = [\n [0.2104542553, 0.793617785, -0.0040720468],\n [1.9779984951, -2.428592205, 0.4505937099],\n [0.0259040371, 0.7827717662, -0.808675766],\n]\n\n// Inverse matrices (pre-computed exact inverses)\nconst M_LAB_TO_LMS: Mat3 = [\n [1.0, 0.3963377774, 0.2158037573],\n [1.0, -0.1055613458, -0.0638541728],\n [1.0, -0.0894841775, -1.291485548],\n]\n\nconst M_LMS_TO_XYZ: Mat3 = [\n [1.2270138511, -0.5577999807, 0.281256149],\n [-0.0405801784, 1.1122568696, -0.0716766787],\n [-0.0763812845, -0.4214819784, 1.5861632204],\n]\n\nconst M_XYZ_TO_RGB: Mat3 = [\n [3.2404542, -1.5371385, -0.4985314],\n [-0.969266, 1.8760108, 0.041556],\n [0.0556434, -0.2040259, 1.0572252],\n]\n\n// ─── Matrix helper ────────────────────────────────────────────────────────────\n\nfunction matMul(matrix: Mat3, vec: [number, number, number]): [number, number, number] {\n const [row0, row1, row2] = matrix\n return [\n row0[0] * vec[0] + row0[1] * vec[1] + row0[2] * vec[2],\n row1[0] * vec[0] + row1[1] * vec[1] + row1[2] * vec[2],\n row2[0] * vec[0] + row2[1] * vec[1] + row2[2] * vec[2],\n ]\n}\n\n// ─── Ticket 1: parseHex + rgbToHex ───────────────────────────────────────────\n\n/**\n * Parses a #RRGGBB or #RGB hex string into [r, g, b] integers (0–255).\n */\nexport function parseHex(hex: string): [number, number, number] {\n const cleaned = hex.replace(\"#\", \"\")\n const expanded =\n cleaned.length === 3\n ? cleaned.charAt(0).repeat(2) + cleaned.charAt(1).repeat(2) + cleaned.charAt(2).repeat(2)\n : cleaned\n return [\n Number.parseInt(expanded.slice(0, 2), 16),\n Number.parseInt(expanded.slice(2, 4), 16),\n Number.parseInt(expanded.slice(4, 6), 16),\n ]\n}\n\n/**\n * Converts a [r, g, b] tuple (0–255) to an uppercase #RRGGBB hex string.\n * Channels are clamped to [0, 255] before conversion.\n */\nexport function rgbToHex(rgb: [number, number, number]): string {\n const toHexChannel = (channel: number): string =>\n Math.round(Math.max(0, Math.min(255, channel)))\n .toString(16)\n .toUpperCase()\n .padStart(2, \"0\")\n return `#${toHexChannel(rgb[0])}${toHexChannel(rgb[1])}${toHexChannel(rgb[2])}`\n}\n\n// ─── Ticket 2: OKLCH pipeline + adjustLightness ──────────────────────────────\n\n/**\n * Expands an sRGB channel (0–1) to linear light (removes gamma compression).\n * IEC 61966-2-1 transfer function.\n */\nexport function linearize(channel: number): number {\n return channel <= 0.04045 ? channel / 12.92 : ((channel + 0.055) / 1.055) ** 2.4\n}\n\n/**\n * Compresses a linear-light channel (0–1) back to sRGB (applies gamma).\n * IEC 61966-2-1 inverse transfer function.\n */\nexport function delinearize(channel: number): number {\n return channel <= 0.0031308 ? 12.92 * channel : 1.055 * channel ** (1 / 2.4) - 0.055\n}\n\n/**\n * Converts sRGB [r, g, b] (0–255) to OKLCH [L, C, h].\n * L: perceptual lightness (0–1), C: chroma (≥0), h: hue angle (radians).\n */\nexport function rgbToOklch(r: number, g: number, b: number): [number, number, number] {\n const linearRgb: [number, number, number] = [\n linearize(r / 255),\n linearize(g / 255),\n linearize(b / 255),\n ]\n const xyz = matMul(M_RGB_TO_XYZ, linearRgb)\n const lms = matMul(M_XYZ_TO_LMS, xyz)\n const lmsCubeRoot: [number, number, number] = [\n Math.cbrt(lms[0]),\n Math.cbrt(lms[1]),\n Math.cbrt(lms[2]),\n ]\n const [labL, labA, labB] = matMul(M_LMS_TO_LAB, lmsCubeRoot)\n const chroma = Math.sqrt(labA * labA + labB * labB)\n // Treat near-zero chroma as achromatic (hue is undefined — set to 0)\n const hue = chroma < 0.0001 ? 0 : Math.atan2(labB, labA)\n return [labL, chroma, hue]\n}\n\n/**\n * Converts OKLCH [L, C, h] back to sRGB [r, g, b] (0–255, clamped).\n */\nexport function oklchToRgb(L: number, C: number, h: number): [number, number, number] {\n const labA = C * Math.cos(h)\n const labB = C * Math.sin(h)\n const lmsCubeRoot = matMul(M_LAB_TO_LMS, [L, labA, labB])\n const lms: [number, number, number] = [\n lmsCubeRoot[0] ** 3,\n lmsCubeRoot[1] ** 3,\n lmsCubeRoot[2] ** 3,\n ]\n const xyz = matMul(M_LMS_TO_XYZ, lms)\n const linearRgb = matMul(M_XYZ_TO_RGB, xyz)\n return [\n Math.round(Math.max(0, Math.min(255, delinearize(linearRgb[0]) * 255))),\n Math.round(Math.max(0, Math.min(255, delinearize(linearRgb[1]) * 255))),\n Math.round(Math.max(0, Math.min(255, delinearize(linearRgb[2]) * 255))),\n ]\n}\n\n/**\n * Shifts the OKLCH lightness of a hex color by `delta` (−1 to +1).\n * Negative delta = darker, positive delta = lighter.\n * Equal deltas produce equal perceived lightness changes regardless of hue.\n */\nexport function adjustLightness(hex: string, delta: number): string {\n const [r, g, b] = parseHex(hex)\n const [L, C, h] = rgbToOklch(r, g, b)\n const newL = Math.max(0, Math.min(1, L + delta))\n return rgbToHex(oklchToRgb(newL, C, h))\n}\n\n// ─── Ticket 3: setAlpha ───────────────────────────────────────────────────────\n\n/**\n * Returns an rgba() CSS string for the given hex color at the specified alpha (0–1).\n */\nexport function setAlpha(hex: string, alpha: number): string {\n const [r, g, b] = parseHex(hex)\n return `rgba(${r},${g},${b},${alpha})`\n}\n\n// ─── Ticket 4: WCAG functions + pickContrastColor ────────────────────────────\n\n/**\n * Computes WCAG relative luminance (0–1) for a hex color.\n * Formula: IEC 61966-2-1 — 0.2126R + 0.7152G + 0.0722B (linear channels).\n */\nexport function relativeLuminance(hex: string): number {\n const [r, g, b] = parseHex(hex)\n const linearR = linearize(r / 255)\n const linearG = linearize(g / 255)\n const linearB = linearize(b / 255)\n return 0.2126 * linearR + 0.7152 * linearG + 0.0722 * linearB\n}\n\n/**\n * Computes the WCAG contrast ratio between two hex colors (1–21).\n * Order-independent: contrastRatio(a, b) === contrastRatio(b, a).\n */\nexport function contrastRatio(hex1: string, hex2: string): number {\n const L1 = relativeLuminance(hex1)\n const L2 = relativeLuminance(hex2)\n const lighter = Math.max(L1, L2)\n const darker = Math.min(L1, L2)\n return (lighter + 0.05) / (darker + 0.05)\n}\n\n/**\n * Returns the label color (#141414 or #FFFFFF) that achieves higher contrast\n * against the given base color. Uses WCAG relative luminance — mathematically\n * correct for accessibility, unlike a flat lightness threshold.\n */\nexport function pickContrastColor(base: string): \"#141414\" | \"#FFFFFF\" {\n const contrastWithDark = contrastRatio(base, \"#141414\")\n const contrastWithLight = contrastRatio(base, \"#FFFFFF\")\n return contrastWithDark >= contrastWithLight ? \"#141414\" : \"#FFFFFF\"\n}\n","import { adjustLightness, pickContrastColor, setAlpha } from \"./color-utils\"\n\n// ─── Types ────────────────────────────────────────────────────────────────────\n\nexport interface ColorRole {\n base: string\n hover: string\n pressed: string\n disabled: string\n label: string\n labelDisabled: string\n}\n\nexport interface SecondaryColorRole extends ColorRole {\n border: string\n borderDisabled: string\n}\n\nexport type ColorInput =\n | string\n | {\n base: string\n hover?: string\n pressed?: string\n disabled?: string\n label?: string\n labelDisabled?: string\n }\n\n// ─── resolveColorRole ────────────────────────────────────────────────────────\n\n/**\n * Derives a full interaction palette from a single base hex color.\n * Hover/pressed shifts use OKLCH for perceptual uniformity (D1).\n * Label contrast uses WCAG relative luminance (D2).\n * Any field in `overrides` replaces the derived value for that field only.\n */\nexport function resolveColorRole(base: string, overrides?: Partial<ColorRole>): ColorRole {\n const isLight = pickContrastColor(base) === \"#141414\"\n const label = pickContrastColor(base)\n\n const derived: ColorRole = {\n base,\n hover: adjustLightness(base, isLight ? -0.08 : -0.1),\n pressed: adjustLightness(base, isLight ? -0.15 : -0.2),\n disabled: setAlpha(base, 0.35),\n label,\n labelDisabled: setAlpha(label, 0.5),\n }\n\n return overrides ? { ...derived, ...overrides } : derived\n}\n\n// ─── resolveSecondaryRole ─────────────────────────────────────────────────────\n\n/**\n * Derives the outline/secondary role from the primary ColorRole (D4).\n * Secondary has a transparent base with alpha-tinted interaction states,\n * and extra border fields not present on a standard ColorRole.\n */\nexport function resolveSecondaryRole(\n primary: ColorRole,\n overrides?: Partial<SecondaryColorRole>,\n): SecondaryColorRole {\n const derived: SecondaryColorRole = {\n base: \"transparent\",\n hover: setAlpha(primary.base, 0.08),\n pressed: setAlpha(primary.base, 0.15),\n disabled: \"transparent\",\n label: primary.base,\n labelDisabled: setAlpha(primary.base, 0.5),\n border: primary.base,\n borderDisabled: primary.disabled,\n }\n\n return overrides ? { ...derived, ...overrides } : derived\n}\n\n// ─── resolveInfoRole ──────────────────────────────────────────────────────────\n\n/**\n * Info is a structural alias of primary (D3) — all fields mirror primary.\n */\nexport function resolveInfoRole(primary: ColorRole): ColorRole {\n return { ...primary }\n}\n\n// ─── normalizeColorInput ──────────────────────────────────────────────────────\n\n/**\n * Accepts either a hex string or an override object and returns a resolved ColorRole.\n * String input is equivalent to resolveColorRole(string).\n * Object input passes all non-base fields as overrides to resolveColorRole.\n */\nexport function normalizeColorInput(input: ColorInput): ColorRole {\n if (typeof input === \"string\") {\n return resolveColorRole(input)\n }\n const { base, ...overrides } = input\n return resolveColorRole(base, overrides)\n}\n","import { type Theme, ThemeMode } from \"./theme-types\"\n\n/**\n * Light theme defaults (default mode).\n * Uses dark text on light backgrounds.\n * Colors mapped from docs/marwes-colors.json.\n */\nexport const lightThemeDefaults: Theme = {\n mode: ThemeMode.light,\n\n color: {\n // Primary (firstEdition brand blue)\n primary: \"#2F31FC\",\n\n // Background & Surface\n background: \"#FFFFFF\",\n surface: \"#F8F8F8\",\n surfaceSubtle: \"#F5F5F5\",\n surfaceElevated: \"#FFFFFF\",\n surfaceDisabled: \"#F5F5F5\",\n surfaceInverted: \"#141414\",\n\n // Text\n text: \"#141414\",\n textMuted: \"#595959\",\n textSubtle: \"#737373\",\n textDisabled: \"#737373\",\n textInverted: \"#FFFFFF\",\n\n // Borders\n border: \"#D8D8D8\",\n borderSubtle: \"#D8D8D8\",\n borderStrong: \"#A3A3A3\",\n borderDisabled: \"#D8D8D8\",\n\n // Focus\n focus: \"#2F31FC\",\n\n // Semantic colors\n danger: \"#D90429\",\n success: \"#006633\",\n warning: \"#B45309\",\n },\n font: {\n primary: \"'Instrument Sans', Inter, system-ui, sans-serif\",\n secondary: \"Helvetica\",\n mono: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace\",\n },\n ui: {\n radius: 4,\n density: \"comfortable\",\n },\n typography: {\n h1: {\n fontSize: 32,\n lineHeight: 1.1875,\n fontWeight: 700,\n letterSpacing: -0.96,\n },\n h2: {\n fontSize: 24,\n lineHeight: 1.25,\n fontWeight: 500,\n letterSpacing: -0.72,\n },\n h3: {\n fontSize: 20,\n lineHeight: 1.3,\n fontWeight: 500,\n letterSpacing: -0.6,\n },\n paragraph: {\n sm: {\n fontSize: 14,\n lineHeight: 1.5,\n },\n md: {\n fontSize: 16,\n lineHeight: 1.6,\n },\n lg: {\n fontSize: 18,\n lineHeight: 1.7,\n },\n },\n },\n}\n\n/**\n * Dark theme defaults.\n * Uses light text on dark backgrounds.\n * Colors mapped from docs/marwes-colors.json.\n */\nexport const darkThemeDefaults: Theme = {\n mode: ThemeMode.dark,\n\n color: {\n // Primary\n primary: \"#5859FC\",\n\n // Background & Surface\n background: \"#0F0F0F\",\n surface: \"#1A1A1A\",\n surfaceSubtle: \"#050505\",\n surfaceElevated: \"#2B2B2B\",\n surfaceDisabled: \"#1A1A1A\",\n surfaceInverted: \"#FFFFFF\",\n\n // Text\n text: \"#F9FAFB\",\n textMuted: \"#A3A3A3\",\n textSubtle: \"#595959\",\n textDisabled: \"#595959\",\n textInverted: \"#141414\",\n\n // Borders\n border: \"#474747\",\n borderSubtle: \"#474747\",\n borderStrong: \"#A3A3A3\",\n borderDisabled: \"#474747\",\n\n // Focus\n focus: \"#8182FC\",\n\n // Semantic colors\n danger: \"#FF002C\",\n success: \"#90CAAD\",\n warning: \"#FCC94A\",\n },\n\n font: {\n primary: \"'Instrument Sans', Inter, system-ui, sans-serif\",\n secondary: \"Helvetica\",\n mono: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace\",\n },\n\n ui: {\n radius: 4,\n density: \"comfortable\",\n },\n\n typography: {\n h1: {\n fontSize: 32,\n lineHeight: 1.1875,\n fontWeight: 700,\n letterSpacing: -0.96,\n },\n h2: {\n fontSize: 24,\n lineHeight: 1.25,\n fontWeight: 500,\n letterSpacing: -0.72,\n },\n h3: {\n fontSize: 20,\n lineHeight: 1.3,\n fontWeight: 500,\n letterSpacing: -0.6,\n },\n paragraph: {\n sm: {\n fontSize: 14,\n lineHeight: 1.5,\n },\n md: {\n fontSize: 16,\n lineHeight: 1.6,\n },\n lg: {\n fontSize: 18,\n lineHeight: 1.7,\n },\n },\n },\n}\n","import type { ThemeInput } from \"./theme-types\"\n\nexport type ToneName = \"default\" | \"digital\" | \"playful\" | \"editorial\"\n\nexport type ToneDefinition = Pick<Partial<ThemeInput>, \"font\" | \"ui\" | \"typography\">\n\nconst digitalTone: ToneDefinition = {\n font: {\n primary: \"Fira Code, ui-monospace, monospace\",\n secondary: \"Fira Code, monospace\",\n },\n ui: { radius: 0 },\n typography: {\n h1: { fontWeight: 500, letterSpacing: 0, lineHeight: 1.1 },\n h2: { fontWeight: 500, letterSpacing: 0, lineHeight: 1.15 },\n h3: { fontWeight: 500, letterSpacing: 0, lineHeight: 1.2 },\n paragraph: {\n sm: { lineHeight: 1.4 },\n md: { lineHeight: 1.5 },\n lg: { lineHeight: 1.5 },\n },\n },\n}\n\nconst playfulTone: ToneDefinition = {\n font: {\n primary: \"Nunito, system-ui, sans-serif\",\n secondary: \"Nunito, sans-serif\",\n },\n ui: { radius: 16 },\n typography: {\n h1: { fontWeight: 800, lineHeight: 1.3, letterSpacing: -0.5 },\n h2: { fontWeight: 800, lineHeight: 1.35, letterSpacing: -0.3 },\n h3: { fontWeight: 700, lineHeight: 1.4, letterSpacing: 0 },\n paragraph: {\n sm: { lineHeight: 1.6 },\n md: { lineHeight: 1.7 },\n lg: { lineHeight: 1.8 },\n },\n },\n}\n\nconst editorialTone: ToneDefinition = {\n font: {\n primary: \"Playfair Display, Georgia, serif\",\n secondary: \"Lora, Georgia, serif\",\n },\n ui: { radius: 2 },\n typography: {\n h1: { fontWeight: 400, letterSpacing: 0.5, lineHeight: 1.3 },\n h2: { fontWeight: 400, letterSpacing: 0.3, lineHeight: 1.35 },\n h3: { fontWeight: 500, letterSpacing: 0.1, lineHeight: 1.4 },\n paragraph: {\n sm: { lineHeight: 1.6 },\n md: { lineHeight: 1.7 },\n lg: { lineHeight: 1.8 },\n },\n },\n}\n\nconst TONE_MAP: Record<ToneName, ToneDefinition> = {\n default: {},\n digital: digitalTone,\n playful: playfulTone,\n editorial: editorialTone,\n}\n\n/**\n * Returns theme overrides for a given tone.\n * \"default\" returns an empty object (no overrides).\n * Consumer-supplied ThemeInput values should be merged on top of tone overrides.\n */\nexport function resolveTone(tone: ToneName): ToneDefinition {\n return TONE_MAP[tone]\n}\n","import {\n type ColorInput,\n normalizeColorInput,\n resolveInfoRole,\n resolveSecondaryRole,\n} from \"./color-resolve\"\nimport type { ResolvedTheme } from \"./theme-css\"\nimport { darkThemeDefaults, lightThemeDefaults } from \"./theme-defaults\"\nimport { type ThemeInput, ThemeMode } from \"./theme-types\"\nimport { resolveTone } from \"./tone\"\n\nconst lightDefaultColorRoles = {\n primary: {\n base: \"#2F31FC\",\n hover: \"#2527CA\",\n pressed: \"#1B1D97\",\n disabled: \"#8182FC\",\n label: \"#FFFFFF\",\n labelDisabled: \"rgba(255,255,255,0.5)\",\n },\n secondary: {\n hover: \"#EEEEFF\",\n pressed: \"#D4D5FE\",\n label: \"#2F31FC\",\n labelDisabled: \"rgba(47,49,252,0.5)\",\n border: \"#2F31FC\",\n borderDisabled: \"#8182FC\",\n },\n danger: {\n base: \"#D90429\",\n hover: \"#A8031F\",\n pressed: \"#780215\",\n disabled: \"#FF8A95\",\n label: \"#FFFFFF\",\n labelDisabled: \"rgba(255,255,255,0.5)\",\n },\n success: {\n base: \"#006633\",\n },\n warning: {\n base: \"#B45309\",\n },\n info: {\n base: \"#2F31FC\",\n },\n} satisfies Record<\"primary\" | \"danger\" | \"success\" | \"warning\" | \"info\", ColorInput> & {\n secondary: Partial<ReturnType<typeof resolveSecondaryRole>>\n}\n\nconst darkDefaultColorRoles = {\n primary: {\n base: \"#2F31FC\",\n hover: \"#5859FC\",\n pressed: \"#8182FC\",\n disabled: \"#121365\",\n label: \"#FFFFFF\",\n labelDisabled: \"rgba(255,255,255,0.5)\",\n },\n secondary: {\n hover: \"#090A32\",\n pressed: \"#121365\",\n label: \"#8182FC\",\n labelDisabled: \"rgba(129,130,252,0.5)\",\n border: \"#8182FC\",\n borderDisabled: \"#121365\",\n },\n danger: {\n base: \"#FF002C\",\n hover: \"#FF2847\",\n pressed: \"#FF5566\",\n disabled: \"#48010D\",\n label: \"#FFFFFF\",\n labelDisabled: \"rgba(255,255,255,0.5)\",\n },\n success: {\n base: \"#90CAAD\",\n },\n warning: {\n base: \"#FCC94A\",\n },\n info: {\n base: \"#8182FC\",\n },\n} satisfies Record<\"primary\" | \"danger\" | \"success\" | \"warning\" | \"info\", ColorInput> & {\n secondary: Partial<ReturnType<typeof resolveSecondaryRole>>\n}\n\n/**\n * Converts a consumer ThemeInput into a fully-resolved ResolvedTheme.\n * Derivable color roles (primary, danger, success, warning) are run through\n * normalizeColorInput. Secondary and info are always derived — never configured.\n * Font, ui, and typography merge against lightThemeDefaults (same for both modes).\n *\n * Merge order: defaults ← tone overrides ← explicit user overrides.\n * This ensures user-supplied values always win over tone defaults.\n */\nexport function resolveThemeInput(input: ThemeInput): ResolvedTheme {\n const mode = input.mode ?? ThemeMode.light\n const colorBase = mode === ThemeMode.dark ? darkThemeDefaults.color : lightThemeDefaults.color\n const defaultColorRoles = mode === ThemeMode.dark ? darkDefaultColorRoles : lightDefaultColorRoles\n const base = lightThemeDefaults\n\n const tone = resolveTone(input.tone ?? \"default\")\n\n const primary = normalizeColorInput(input.color?.primary ?? defaultColorRoles.primary)\n const secondary =\n input.color?.primary === undefined\n ? resolveSecondaryRole(primary, defaultColorRoles.secondary)\n : resolveSecondaryRole(primary)\n const danger = normalizeColorInput(input.color?.danger ?? defaultColorRoles.danger)\n const success = normalizeColorInput(input.color?.success ?? defaultColorRoles.success)\n const warning = normalizeColorInput(input.color?.warning ?? defaultColorRoles.warning)\n const info =\n input.color?.primary === undefined\n ? normalizeColorInput(defaultColorRoles.info)\n : resolveInfoRole(primary)\n\n return {\n mode,\n color: {\n primary,\n secondary,\n danger,\n success,\n warning,\n info,\n background: input.color?.background ?? colorBase.background,\n surface: input.color?.surface ?? colorBase.surface,\n surfaceSubtle: input.color?.surfaceSubtle ?? colorBase.surfaceSubtle,\n surfaceElevated: input.color?.surfaceElevated ?? colorBase.surfaceElevated,\n surfaceDisabled: input.color?.surfaceDisabled ?? colorBase.surfaceDisabled,\n surfaceInverted: input.color?.surfaceInverted ?? colorBase.surfaceInverted,\n text: input.color?.text ?? colorBase.text,\n textMuted: input.color?.textMuted ?? colorBase.textMuted,\n textSubtle: input.color?.textSubtle ?? colorBase.textSubtle,\n textDisabled: input.color?.textDisabled ?? colorBase.textDisabled,\n textInverted: input.color?.textInverted ?? colorBase.textInverted,\n border: input.color?.border ?? colorBase.border,\n borderSubtle: input.color?.borderSubtle ?? colorBase.borderSubtle,\n borderStrong: input.color?.borderStrong ?? colorBase.borderStrong,\n borderDisabled: input.color?.borderDisabled ?? colorBase.borderDisabled,\n focus: input.color?.focus ?? colorBase.focus,\n },\n font: { ...base.font, ...tone.font, ...input.font },\n ui: { ...base.ui, ...tone.ui, ...input.ui },\n typography: {\n h1: { ...base.typography.h1, ...tone.typography?.h1, ...input.typography?.h1 },\n h2: { ...base.typography.h2, ...tone.typography?.h2, ...input.typography?.h2 },\n h3: { ...base.typography.h3, ...tone.typography?.h3, ...input.typography?.h3 },\n paragraph: {\n sm: {\n ...base.typography.paragraph.sm,\n ...tone.typography?.paragraph?.sm,\n ...input.typography?.paragraph?.sm,\n },\n md: {\n ...base.typography.paragraph.md,\n ...tone.typography?.paragraph?.md,\n ...input.typography?.paragraph?.md,\n },\n lg: {\n ...base.typography.paragraph.lg,\n ...tone.typography?.paragraph?.lg,\n ...input.typography?.paragraph?.lg,\n },\n },\n },\n }\n}\n","import { themeModesToCSSRules } from \"./theme-css\"\nimport type { ThemeModeAttribute, ThemeModeRootTarget } from \"./theme-css\"\nimport { resolveThemeInput } from \"./theme-normalize\"\nimport { ThemeMode } from \"./theme-types\"\nimport type { ThemeInput, ThemeMode as ThemeModeValue, ThemePreference } from \"./theme-types\"\n\nexport type MarwesThemeScriptOptions = {\n storageKey?: string | false\n defaultPreference?: ThemePreference\n enableSystem?: boolean\n target?: ThemeModeRootTarget\n attribute?: ThemeModeAttribute\n}\n\nexport type MarwesThemeStyleOptions = {\n lightTheme?: ThemeInput\n darkTheme?: ThemeInput\n selector?: string\n target?: ThemeModeRootTarget\n attribute?: ThemeModeAttribute\n}\n\nconst mediaQuery = \"(prefers-color-scheme: dark)\"\n\nexport function createMarwesThemeScript({\n storageKey = false,\n defaultPreference = ThemeMode.light,\n enableSystem = true,\n target,\n attribute = \"class\",\n}: MarwesThemeScriptOptions = {}): string {\n const config = serializeScriptData({\n storageKey,\n defaultPreference,\n enableSystem,\n target,\n attribute,\n mediaQuery,\n })\n\n return `(function(){try{var c=${config};var p=c.defaultPreference;if(c.storageKey){try{var s=window.localStorage.getItem(c.storageKey);if(s===\"light\"||s===\"dark\"||s===\"system\")p=s;}catch(_){}}var m=\"light\";if(p===\"light\"||p===\"dark\"){m=p;}else if(c.enableSystem&&window.matchMedia&&window.matchMedia(c.mediaQuery).matches){m=\"dark\";}function a(e){if(!e)return;if(c.attribute===\"class\"){e.classList.remove(m===\"dark\"?\"light\":\"dark\");e.classList.add(m);}else{e.setAttribute(c.attribute,m);}}if(c.target===\"html\")a(document.documentElement);else if(c.target===\"body\")a(document.body);var r=document.querySelectorAll(\"[data-marwes-theme]\");for(var i=0;i<r.length;i++){var e=r[i];e.setAttribute(\"data-marwes-mode\",m);e.classList.remove(m===\"dark\"?\"mw-theme--light\":\"mw-theme--dark\");e.classList.add(\"mw-theme--\"+m);}}catch(_){}})();`\n}\n\nexport function createMarwesThemeStyle({\n lightTheme,\n darkTheme,\n selector,\n target,\n attribute,\n}: MarwesThemeStyleOptions = {}): string {\n const options = {\n light: resolveThemeInput({ ...(lightTheme ?? {}), mode: ThemeMode.light }),\n dark: resolveThemeInput({ ...(darkTheme ?? {}), mode: ThemeMode.dark }),\n }\n\n return themeModesToCSSRules({\n ...options,\n ...(selector === undefined ? {} : { selector }),\n ...(target === undefined ? {} : { rootTarget: target }),\n ...(attribute === undefined ? {} : { rootAttribute: attribute }),\n })\n}\n\nexport function resolveServerThemeMode({\n preference = ThemeMode.light,\n systemFallback = ThemeMode.light,\n}: {\n preference?: ThemePreference\n systemFallback?: ThemeModeValue\n} = {}): ThemeModeValue {\n return preference === \"system\" ? systemFallback : preference\n}\n\nfunction serializeScriptData(value: unknown): string {\n return JSON.stringify(value)\n .replace(/</g, \"\\\\u003c\")\n .replace(/\\u2028/g, \"\\\\u2028\")\n .replace(/\\u2029/g, \"\\\\u2029\")\n}\n","export type MwThemeVarName = `--mw-${string}`\nexport type MwThemeVarReference = `var(${MwThemeVarName})` | `var(${MwThemeVarName}, ${string})`\n\n/**\n * Wraps a Marwes CSS custom property name in `var(...)`, with an optional fallback.\n * Use this as the escape hatch for custom or advanced `--mw-*` variables.\n */\nexport function mwVar<const TName extends MwThemeVarName>(name: TName): `var(${TName})`\nexport function mwVar<const TName extends MwThemeVarName>(\n name: TName,\n fallback: string,\n): `var(${TName}, ${string})`\nexport function mwVar(name: MwThemeVarName, fallback?: string): string {\n return fallback === undefined ? `var(${name})` : `var(${name}, ${fallback})`\n}\n\n/**\n * Raw Marwes CSS custom property names, without `var(...)`.\n * Use these when assigning variables, inspecting tokens, writing tests, or building adapter/tooling bridges.\n */\nexport const mwThemeVarNames = {\n color: {\n primary: {\n base: \"--mw-color-primary-base\",\n hover: \"--mw-color-primary-hover\",\n pressed: \"--mw-color-primary-pressed\",\n disabled: \"--mw-color-primary-disabled\",\n label: \"--mw-color-primary-label\",\n labelDisabled: \"--mw-color-primary-label-disabled\",\n },\n secondary: {\n base: \"--mw-color-secondary-base\",\n hover: \"--mw-color-secondary-hover\",\n pressed: \"--mw-color-secondary-pressed\",\n disabled: \"--mw-color-secondary-disabled\",\n label: \"--mw-color-secondary-label\",\n labelDisabled: \"--mw-color-secondary-label-disabled\",\n border: \"--mw-color-secondary-border\",\n borderDisabled: \"--mw-color-secondary-border-disabled\",\n },\n danger: {\n base: \"--mw-color-danger-base\",\n hover: \"--mw-color-danger-hover\",\n pressed: \"--mw-color-danger-pressed\",\n disabled: \"--mw-color-danger-disabled\",\n label: \"--mw-color-danger-label\",\n labelDisabled: \"--mw-color-danger-label-disabled\",\n },\n success: {\n base: \"--mw-color-success-base\",\n hover: \"--mw-color-success-hover\",\n pressed: \"--mw-color-success-pressed\",\n disabled: \"--mw-color-success-disabled\",\n label: \"--mw-color-success-label\",\n labelDisabled: \"--mw-color-success-label-disabled\",\n },\n warning: {\n base: \"--mw-color-warning-base\",\n hover: \"--mw-color-warning-hover\",\n pressed: \"--mw-color-warning-pressed\",\n disabled: \"--mw-color-warning-disabled\",\n label: \"--mw-color-warning-label\",\n labelDisabled: \"--mw-color-warning-label-disabled\",\n },\n info: {\n base: \"--mw-color-info-base\",\n hover: \"--mw-color-info-hover\",\n pressed: \"--mw-color-info-pressed\",\n disabled: \"--mw-color-info-disabled\",\n label: \"--mw-color-info-label\",\n labelDisabled: \"--mw-color-info-label-disabled\",\n },\n background: \"--mw-color-background\",\n surface: \"--mw-color-surface\",\n surfaceSubtle: \"--mw-color-surface-subtle\",\n surfaceElevated: \"--mw-color-surface-elevated\",\n surfaceDisabled: \"--mw-color-surface-disabled\",\n surfaceInverted: \"--mw-color-surface-inverted\",\n text: \"--mw-color-text\",\n textMuted: \"--mw-color-text-muted\",\n textSubtle: \"--mw-color-text-subtle\",\n textDisabled: \"--mw-color-text-disabled\",\n textInverted: \"--mw-color-text-inverted\",\n border: \"--mw-color-border\",\n borderSubtle: \"--mw-color-border-subtle\",\n borderStrong: \"--mw-color-border-strong\",\n borderDisabled: \"--mw-color-border-disabled\",\n focus: \"--mw-color-focus\",\n },\n spacing: {\n sp0: \"--mw-spacing-sp-0\",\n sp2: \"--mw-spacing-sp-2\",\n sp4: \"--mw-spacing-sp-4\",\n sp8: \"--mw-spacing-sp-8\",\n sp16: \"--mw-spacing-sp-16\",\n sp24: \"--mw-spacing-sp-24\",\n sp32: \"--mw-spacing-sp-32\",\n sp40: \"--mw-spacing-sp-40\",\n sp48: \"--mw-spacing-sp-48\",\n sp56: \"--mw-spacing-sp-56\",\n sp64: \"--mw-spacing-sp-64\",\n sp72: \"--mw-spacing-sp-72\",\n sp80: \"--mw-spacing-sp-80\",\n sp88: \"--mw-spacing-sp-88\",\n sp96: \"--mw-spacing-sp-96\",\n sp104: \"--mw-spacing-sp-104\",\n sp112: \"--mw-spacing-sp-112\",\n sp120: \"--mw-spacing-sp-120\",\n },\n font: {\n primary: \"--mw-font-primary\",\n secondary: \"--mw-font-secondary\",\n mono: \"--mw-font-mono\",\n },\n ui: {\n radius: \"--mw-ui-radius\",\n },\n density: {\n height: \"--mw-density-height\",\n paddingX: \"--mw-density-padding-x\",\n paddingY: \"--mw-density-padding-y\",\n gap: \"--mw-density-gap\",\n fontSize: \"--mw-density-font-size\",\n iconSize: \"--mw-density-icon-size\",\n checkboxSize: \"--mw-density-checkbox-size\",\n fieldGap: \"--mw-density-field-gap\",\n spacingMultiplier: \"--mw-density-spacing-multiplier\",\n fontSizeSm: \"--mw-density-font-size-sm\",\n },\n typography: {\n h1: {\n fontSize: \"--mw-typography-h1-font-size\",\n lineHeight: \"--mw-typography-h1-line-height\",\n fontWeight: \"--mw-typography-h1-font-weight\",\n letterSpacing: \"--mw-typography-h1-letter-spacing\",\n },\n h2: {\n fontSize: \"--mw-typography-h2-font-size\",\n lineHeight: \"--mw-typography-h2-line-height\",\n fontWeight: \"--mw-typography-h2-font-weight\",\n letterSpacing: \"--mw-typography-h2-letter-spacing\",\n },\n h3: {\n fontSize: \"--mw-typography-h3-font-size\",\n lineHeight: \"--mw-typography-h3-line-height\",\n fontWeight: \"--mw-typography-h3-font-weight\",\n letterSpacing: \"--mw-typography-h3-letter-spacing\",\n },\n paragraph: {\n sm: {\n fontSize: \"--mw-typography-paragraph-sm-font-size\",\n lineHeight: \"--mw-typography-paragraph-sm-line-height\",\n },\n md: {\n fontSize: \"--mw-typography-paragraph-md-font-size\",\n lineHeight: \"--mw-typography-paragraph-md-line-height\",\n },\n lg: {\n fontSize: \"--mw-typography-paragraph-lg-font-size\",\n lineHeight: \"--mw-typography-paragraph-lg-line-height\",\n },\n },\n },\n} as const\n\n/**\n * Marwes theme tokens as CSS `var(...)` references.\n * Use this as the default custom styling API for CSS-in-JS, style objects, config files, and framework adapters.\n */\nexport const mwThemeVars = {\n color: {\n primary: {\n base: \"var(--mw-color-primary-base)\",\n hover: \"var(--mw-color-primary-hover)\",\n pressed: \"var(--mw-color-primary-pressed)\",\n disabled: \"var(--mw-color-primary-disabled)\",\n label: \"var(--mw-color-primary-label)\",\n labelDisabled: \"var(--mw-color-primary-label-disabled)\",\n },\n secondary: {\n base: \"var(--mw-color-secondary-base)\",\n hover: \"var(--mw-color-secondary-hover)\",\n pressed: \"var(--mw-color-secondary-pressed)\",\n disabled: \"var(--mw-color-secondary-disabled)\",\n label: \"var(--mw-color-secondary-label)\",\n labelDisabled: \"var(--mw-color-secondary-label-disabled)\",\n border: \"var(--mw-color-secondary-border)\",\n borderDisabled: \"var(--mw-color-secondary-border-disabled)\",\n },\n danger: {\n base: \"var(--mw-color-danger-base)\",\n hover: \"var(--mw-color-danger-hover)\",\n pressed: \"var(--mw-color-danger-pressed)\",\n disabled: \"var(--mw-color-danger-disabled)\",\n label: \"var(--mw-color-danger-label)\",\n labelDisabled: \"var(--mw-color-danger-label-disabled)\",\n },\n success: {\n base: \"var(--mw-color-success-base)\",\n hover: \"var(--mw-color-success-hover)\",\n pressed: \"var(--mw-color-success-pressed)\",\n disabled: \"var(--mw-color-success-disabled)\",\n label: \"var(--mw-color-success-label)\",\n labelDisabled: \"var(--mw-color-success-label-disabled)\",\n },\n warning: {\n base: \"var(--mw-color-warning-base)\",\n hover: \"var(--mw-color-warning-hover)\",\n pressed: \"var(--mw-color-warning-pressed)\",\n disabled: \"var(--mw-color-warning-disabled)\",\n label: \"var(--mw-color-warning-label)\",\n labelDisabled: \"var(--mw-color-warning-label-disabled)\",\n },\n info: {\n base: \"var(--mw-color-info-base)\",\n hover: \"var(--mw-color-info-hover)\",\n pressed: \"var(--mw-color-info-pressed)\",\n disabled: \"var(--mw-color-info-disabled)\",\n label: \"var(--mw-color-info-label)\",\n labelDisabled: \"var(--mw-color-info-label-disabled)\",\n },\n background: \"var(--mw-color-background)\",\n surface: \"var(--mw-color-surface)\",\n surfaceSubtle: \"var(--mw-color-surface-subtle)\",\n surfaceElevated: \"var(--mw-color-surface-elevated)\",\n surfaceDisabled: \"var(--mw-color-surface-disabled)\",\n surfaceInverted: \"var(--mw-color-surface-inverted)\",\n text: \"var(--mw-color-text)\",\n textMuted: \"var(--mw-color-text-muted)\",\n textSubtle: \"var(--mw-color-text-subtle)\",\n textDisabled: \"var(--mw-color-text-disabled)\",\n textInverted: \"var(--mw-color-text-inverted)\",\n border: \"var(--mw-color-border)\",\n borderSubtle: \"var(--mw-color-border-subtle)\",\n borderStrong: \"var(--mw-color-border-strong)\",\n borderDisabled: \"var(--mw-color-border-disabled)\",\n focus: \"var(--mw-color-focus)\",\n },\n spacing: {\n sp0: \"var(--mw-spacing-sp-0)\",\n sp2: \"var(--mw-spacing-sp-2)\",\n sp4: \"var(--mw-spacing-sp-4)\",\n sp8: \"var(--mw-spacing-sp-8)\",\n sp16: \"var(--mw-spacing-sp-16)\",\n sp24: \"var(--mw-spacing-sp-24)\",\n sp32: \"var(--mw-spacing-sp-32)\",\n sp40: \"var(--mw-spacing-sp-40)\",\n sp48: \"var(--mw-spacing-sp-48)\",\n sp56: \"var(--mw-spacing-sp-56)\",\n sp64: \"var(--mw-spacing-sp-64)\",\n sp72: \"var(--mw-spacing-sp-72)\",\n sp80: \"var(--mw-spacing-sp-80)\",\n sp88: \"var(--mw-spacing-sp-88)\",\n sp96: \"var(--mw-spacing-sp-96)\",\n sp104: \"var(--mw-spacing-sp-104)\",\n sp112: \"var(--mw-spacing-sp-112)\",\n sp120: \"var(--mw-spacing-sp-120)\",\n },\n font: {\n primary: \"var(--mw-font-primary)\",\n secondary: \"var(--mw-font-secondary)\",\n mono: \"var(--mw-font-mono)\",\n },\n ui: {\n radius: \"var(--mw-ui-radius)\",\n },\n density: {\n height: \"var(--mw-density-height)\",\n paddingX: \"var(--mw-density-padding-x)\",\n paddingY: \"var(--mw-density-padding-y)\",\n gap: \"var(--mw-density-gap)\",\n fontSize: \"var(--mw-density-font-size)\",\n iconSize: \"var(--mw-density-icon-size)\",\n checkboxSize: \"var(--mw-density-checkbox-size)\",\n fieldGap: \"var(--mw-density-field-gap)\",\n spacingMultiplier: \"var(--mw-density-spacing-multiplier)\",\n fontSizeSm: \"var(--mw-density-font-size-sm)\",\n },\n typography: {\n h1: {\n fontSize: \"var(--mw-typography-h1-font-size)\",\n lineHeight: \"var(--mw-typography-h1-line-height)\",\n fontWeight: \"var(--mw-typography-h1-font-weight)\",\n letterSpacing: \"var(--mw-typography-h1-letter-spacing)\",\n },\n h2: {\n fontSize: \"var(--mw-typography-h2-font-size)\",\n lineHeight: \"var(--mw-typography-h2-line-height)\",\n fontWeight: \"var(--mw-typography-h2-font-weight)\",\n letterSpacing: \"var(--mw-typography-h2-letter-spacing)\",\n },\n h3: {\n fontSize: \"var(--mw-typography-h3-font-size)\",\n lineHeight: \"var(--mw-typography-h3-line-height)\",\n fontWeight: \"var(--mw-typography-h3-font-weight)\",\n letterSpacing: \"var(--mw-typography-h3-letter-spacing)\",\n },\n paragraph: {\n sm: {\n fontSize: \"var(--mw-typography-paragraph-sm-font-size)\",\n lineHeight: \"var(--mw-typography-paragraph-sm-line-height)\",\n },\n md: {\n fontSize: \"var(--mw-typography-paragraph-md-font-size)\",\n lineHeight: \"var(--mw-typography-paragraph-md-line-height)\",\n },\n lg: {\n fontSize: \"var(--mw-typography-paragraph-lg-font-size)\",\n lineHeight: \"var(--mw-typography-paragraph-lg-line-height)\",\n },\n },\n },\n} as const\n\n/**\n * Plain ThemeProvider-friendly object for styled-components and Emotion.\n * It mirrors `mwThemeVars` without adding a dependency on any CSS-in-JS library.\n */\nexport const mwStyledTheme = mwThemeVars\n\nexport type MwThemeVarNames = typeof mwThemeVarNames\nexport type MwThemeVars = typeof mwThemeVars\nexport type MwStyledTheme = typeof mwStyledTheme\n","/**\n * Pure font utilities shared by adapter runtime layers.\n * Browser-side font injection lives in framework adapters.\n */\n\nexport const mwFontFallbacks = {\n sans: 'system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',\n serif: 'Georgia, \"Times New Roman\", serif',\n mono: \"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace\",\n rounded: 'ui-rounded, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif',\n} as const\n\nexport type MwFontFallback = keyof typeof mwFontFallbacks\n\nexport const mwGoogleFontFamilies = [\n \"Roboto\",\n \"Open Sans\",\n \"Source Sans 3\",\n \"Noto Sans\",\n \"DM Sans\",\n \"Manrope\",\n \"Geist\",\n \"Poppins\",\n \"Montserrat\",\n \"Nunito\",\n \"Lora\",\n \"Merriweather\",\n \"Playfair Display\",\n \"Fira Code\",\n \"JetBrains Mono\",\n] as const\n\nexport type MwGoogleFontFamily = (typeof mwGoogleFontFamilies)[number]\n\nexport function createFontStack(\n family: string,\n fallback: MwFontFallback | string = \"sans\",\n): string {\n const fallbackStack =\n fallback in mwFontFallbacks ? mwFontFallbacks[fallback as MwFontFallback] : fallback\n return `${family}, ${fallbackStack}`\n}\n\nexport const mwAvailableFonts = {\n SystemSans: mwFontFallbacks.sans,\n SystemSerif: mwFontFallbacks.serif,\n SystemMono: mwFontFallbacks.mono,\n Inter: createFontStack(\"Inter\"),\n InstrumentSans: createFontStack(\"Instrument Sans\"),\n Roboto: createFontStack(\"Roboto\"),\n OpenSans: createFontStack(\"Open Sans\"),\n SourceSans3: createFontStack(\"Source Sans 3\"),\n NotoSans: createFontStack(\"Noto Sans\"),\n DmSans: createFontStack(\"DM Sans\"),\n Manrope: createFontStack(\"Manrope\"),\n Geist: createFontStack(\"Geist\"),\n Poppins: createFontStack(\"Poppins\"),\n Montserrat: createFontStack(\"Montserrat\"),\n Nunito: createFontStack(\"Nunito\"),\n Lora: createFontStack(\"Lora\", \"serif\"),\n Merriweather: createFontStack(\"Merriweather\", \"serif\"),\n PlayfairDisplay: createFontStack(\"Playfair Display\", \"serif\"),\n FiraCode: createFontStack(\"Fira Code\", \"mono\"),\n JetBrainsMono: createFontStack(\"JetBrains Mono\", \"mono\"),\n BrandSans: createFontStack(\"Brand Sans\"),\n BrandSerif: createFontStack(\"Brand Serif\", \"serif\"),\n BrandMono: createFontStack(\"Brand Mono\", \"mono\"),\n} as const\n\nexport type MwAvailableFont = keyof typeof mwAvailableFonts\n\n// Fonts that should NOT trigger a Google Fonts load: CSS generics,\n// platform-installed system fonts, project-bundled @fontsource families, and\n// Marwes custom placeholders that consumers are expected to self-host.\nconst KNOWN_FONTS = new Set([\n \"system-ui\",\n \"ui-monospace\",\n \"ui-sans-serif\",\n \"ui-serif\",\n \"ui-rounded\",\n \"-apple-system\",\n \"blinkmacsystemfont\",\n \"segoe ui\",\n \"helvetica\",\n \"arial\",\n \"sans-serif\",\n \"serif\",\n \"monospace\",\n \"cursive\",\n \"fantasy\",\n \"inter\",\n \"instrument sans\",\n \"sfmono-regular\",\n \"menlo\",\n \"monaco\",\n \"consolas\",\n \"georgia\",\n \"times new roman\",\n \"courier new\",\n \"lucida console\",\n \"brand sans\",\n \"brand serif\",\n \"brand mono\",\n])\n\nconst MW_GOOGLE_FONT_FAMILY_SET = new Set(mwGoogleFontFamilies.map(normalizeFontFamilyForMatch))\n\nexport type FontLoadingMode = \"auto\" | \"none\"\n\nexport interface FontLoadingOptions {\n /**\n * auto: load non-system font families from Google Fonts.\n * none: do not inject font links; consumers load fonts with CSS/framework tooling.\n */\n mode?: FontLoadingMode\n /**\n * Optional allowlist for Google Fonts loading. When provided, only these\n * family names are loaded from Google Fonts.\n */\n googleFamilies?: readonly string[]\n /**\n * Optional denylist for locally installed, bundled, or self-hosted fonts.\n */\n skipFamilies?: readonly string[]\n}\n\nexport type FontLoadingConfig = FontLoadingMode | FontLoadingOptions\n\nfunction normalizeFontFamilyForMatch(name: string): string {\n return name\n .trim()\n .replace(/^['\"]|['\"]$/g, \"\")\n .toLowerCase()\n}\n\n/**\n * Builds a Google Fonts CSS2 API URL for a given font family and weights.\n * Weights are sorted ascending in the output.\n */\nexport function buildGoogleFontsUrl(family: string, weights: number[]): string {\n const encodedFamily = family.replace(/ /g, \"+\")\n const sortedWeights = [...weights].sort((a, b) => a - b)\n const weightParam = sortedWeights.join(\";\")\n return `https://fonts.googleapis.com/css2?family=${encodedFamily}:wght@${weightParam}&display=swap`\n}\n\n/**\n * Extracts the first font family name from a CSS font-family stack.\n * Strips single and double quotes, trims whitespace.\n *\n * \"Fira Code', ui-monospace, monospace\" → \"Fira Code\"\n * \"Instrument Sans, system-ui, sans-serif\" → \"Instrument Sans\"\n */\nexport function extractFontFamilyName(fontStack: string): string {\n const firstFont = fontStack.split(\",\")[0] ?? \"\"\n return firstFont.trim().replace(/^['\"]|['\"]$/g, \"\")\n}\n\n/**\n * Returns true if the font name is a known system/generic font\n * that should not trigger a Google Fonts load.\n * Comparison is case-insensitive.\n */\nexport function isSystemFont(name: string): boolean {\n return KNOWN_FONTS.has(normalizeFontFamilyForMatch(name))\n}\n\n/**\n * Determines whether a font family should be loaded from Google Fonts.\n *\n * The default mode is registry-first: known Marwes Google font families load\n * automatically, while custom/self-hosted family names do not.\n */\nexport function shouldLoadGoogleFont(name: string, config: FontLoadingConfig = \"auto\"): boolean {\n const options: FontLoadingOptions = typeof config === \"string\" ? { mode: config } : config\n const mode = options.mode ?? \"auto\"\n\n if (mode === \"none\" || isSystemFont(name)) return false\n\n const normalizedName = normalizeFontFamilyForMatch(name)\n const skipFamilies = new Set((options.skipFamilies ?? []).map(normalizeFontFamilyForMatch))\n if (skipFamilies.has(normalizedName)) return false\n\n if (options.googleFamilies) {\n const googleFamilies = new Set(options.googleFamilies.map(normalizeFontFamilyForMatch))\n return googleFamilies.has(normalizedName)\n }\n\n return MW_GOOGLE_FONT_FAMILY_SET.has(normalizedName)\n}\n\ninterface TypographyForWeightExtraction {\n h1: { fontWeight: number }\n h2: { fontWeight: number }\n h3: { fontWeight: number }\n}\n\n/**\n * Collects unique fontWeight values from typography config.\n * Always includes 400 and 500 as baseline weights.\n * Returns sorted ascending, deduplicated.\n */\nexport function extractUsedWeights(typography: TypographyForWeightExtraction): number[] {\n const weights = new Set([400, 500])\n weights.add(typography.h1.fontWeight)\n weights.add(typography.h2.fontWeight)\n weights.add(typography.h3.fontWeight)\n return [...weights].sort((a, b) => a - b)\n}\n","export const canonicalSemanticAttributeNames = [\n \"data-component\",\n \"data-layer\",\n \"data-variant\",\n \"data-state\",\n \"data-action\",\n \"data-purpose\",\n \"data-context\",\n \"data-intent\",\n \"data-outcome\",\n \"data-destructive\",\n \"data-confirmation-required\",\n \"data-size\",\n \"data-orientation\",\n] as const\n\nexport type SemanticAttributeName = (typeof canonicalSemanticAttributeNames)[number]\n\nexport const semanticLayers = [\"atom\", \"molecule\", \"purpose\"] as const\nexport type SemanticLayer = (typeof semanticLayers)[number]\n\nexport const semanticFamilies = [\"button\", \"badge\", \"avatar\", \"toast\", \"dialog\"] as const\nexport type SemanticFamily = (typeof semanticFamilies)[number]\n\nexport const semanticIntents = [\n \"success\",\n \"error\",\n \"warning\",\n \"info\",\n \"confirm\",\n \"destructive\",\n] as const\nexport type SemanticIntent = (typeof semanticIntents)[number]\n\nexport const semanticOutcomes = [\"positive\", \"negative\", \"neutral\"] as const\nexport type SemanticOutcome = (typeof semanticOutcomes)[number]\n\nexport const semanticOrientations = [\"horizontal\", \"vertical\"] as const\nexport type SemanticOrientation = (typeof semanticOrientations)[number]\n\nexport const buttonPurposes = [\n \"destructive\",\n \"create\",\n \"submit\",\n \"cancel\",\n \"navigation\",\n \"save\",\n \"confirm\",\n \"verify\",\n \"edit\",\n \"close\",\n \"refresh\",\n \"upload\",\n \"download\",\n \"copy\",\n \"search\",\n \"filter\",\n \"sort\",\n \"dropdown\",\n \"success\",\n] as const\n\nexport const badgePurposes = [\"status\", \"priority\", \"notification\"] as const\n\nexport const avatarPurposes = [\"profile\", \"presence\", \"team\"] as const\n\nexport const toastPurposes = [\n \"success-toast\",\n \"error-toast\",\n \"warning-toast\",\n \"info-toast\",\n] as const\n\nexport const dialogPurposes = [\"confirm-dialog\", \"destructive-dialog\", \"info-dialog\"] as const\n\nexport const semanticPurposes = [\n ...buttonPurposes,\n ...badgePurposes,\n ...avatarPurposes,\n ...toastPurposes,\n ...dialogPurposes,\n] as const\nexport type SemanticPurpose = (typeof semanticPurposes)[number]\n\nexport type SemanticAttributeValue = string\n\nexport interface SemanticAttributeDefinition {\n name: SemanticAttributeName\n description: string\n allowedValues?: readonly string[]\n applicableLayers?: readonly SemanticLayer[]\n applicableFamilies?: readonly SemanticFamily[]\n requiredWhenApplicable?: boolean\n}\n\nexport interface FamilySemanticDefinition {\n family: SemanticFamily\n defaultLayer: Exclude<SemanticLayer, \"purpose\">\n baseAttributes: Partial<Record<SemanticAttributeName, SemanticAttributeValue>>\n canonicalAttributes: readonly SemanticAttributeName[]\n allowedPurposes: readonly SemanticPurpose[]\n notes?: string\n}\n\nexport interface PurposeSemanticDefinition {\n purpose: SemanticPurpose\n family: SemanticFamily\n layer: \"purpose\"\n attributes: Partial<Record<SemanticAttributeName, SemanticAttributeValue>>\n supportedFrameworks: readonly [\"react\", \"vue\"]\n notes?: string\n}\n\nexport type SemanticAttributes = Partial<Record<SemanticAttributeName, SemanticAttributeValue>>\n","import {\n type SemanticAttributeDefinition,\n canonicalSemanticAttributeNames,\n semanticFamilies,\n semanticIntents,\n semanticLayers,\n semanticOrientations,\n semanticOutcomes,\n} from \"./semantic-types\"\n\nexport const canonicalSemanticAttributes: Record<string, SemanticAttributeDefinition> = {\n \"data-component\": {\n name: \"data-component\",\n description: \"Stable family identity for the rendered UI surface.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n requiredWhenApplicable: true,\n },\n \"data-layer\": {\n name: \"data-layer\",\n description: \"Architectural UI layer for the rendered API surface.\",\n allowedValues: semanticLayers,\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n \"data-variant\": {\n name: \"data-variant\",\n description: \"Visual or structural variant for a component family.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n \"data-state\": {\n name: \"data-state\",\n description: \"Stable UI state abstraction such as open, closed, or loading.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n \"data-action\": {\n name: \"data-action\",\n description: \"Canonical user-action intent for actionable controls.\",\n applicableFamilies: [\"button\"],\n applicableLayers: semanticLayers,\n },\n \"data-purpose\": {\n name: \"data-purpose\",\n description: \"Semantic usage intent above raw family and variant.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: [\"purpose\"],\n requiredWhenApplicable: true,\n },\n \"data-context\": {\n name: \"data-context\",\n description: \"Narrow contextual qualifier for a semantic purpose.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n \"data-intent\": {\n name: \"data-intent\",\n description: \"Message or workflow intent such as success, error, or destructive.\",\n allowedValues: semanticIntents,\n applicableFamilies: [\"toast\", \"dialog\"],\n applicableLayers: semanticLayers,\n },\n \"data-outcome\": {\n name: \"data-outcome\",\n description: \"Expected result polarity for a purpose surface.\",\n allowedValues: semanticOutcomes,\n applicableFamilies: [\"button\"],\n applicableLayers: semanticLayers,\n },\n \"data-destructive\": {\n name: \"data-destructive\",\n description: \"Boolean marker for destructive actions or flows.\",\n allowedValues: [\"true\", \"false\"],\n applicableFamilies: [\"button\", \"dialog\"],\n applicableLayers: semanticLayers,\n },\n \"data-confirmation-required\": {\n name: \"data-confirmation-required\",\n description: \"Boolean marker for actions that require explicit confirmation.\",\n allowedValues: [\"true\", \"false\"],\n applicableFamilies: [\"button\", \"dialog\"],\n applicableLayers: semanticLayers,\n },\n \"data-size\": {\n name: \"data-size\",\n description: \"Stable size token for a component family.\",\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n \"data-orientation\": {\n name: \"data-orientation\",\n description: \"Stable orientation token for directional families.\",\n allowedValues: semanticOrientations,\n applicableFamilies: semanticFamilies,\n applicableLayers: semanticLayers,\n },\n}\n\nexport const canonicalSemanticAttributeRegistry = canonicalSemanticAttributeNames.map(\n (attributeName) => canonicalSemanticAttributes[attributeName],\n)\n","import type { SemanticAttributes } from \"./semantic-types\"\n\nexport const semanticFrameworkSupport = [\"react\", \"vue\"] as const\n\nexport const emptySemanticAttributes: SemanticAttributes = {}\n","import type { FamilySemanticDefinition } from \"./semantic-types\"\n\nexport const familySemanticsRegistry = {\n button: {\n family: \"button\",\n defaultLayer: \"atom\",\n baseAttributes: {\n \"data-component\": \"button\",\n },\n canonicalAttributes: [\"data-component\", \"data-action\", \"data-variant\", \"data-size\"],\n allowedPurposes: [\n \"destructive\",\n \"create\",\n \"submit\",\n \"cancel\",\n \"navigation\",\n \"save\",\n \"confirm\",\n \"verify\",\n \"edit\",\n \"close\",\n \"refresh\",\n \"upload\",\n \"download\",\n \"copy\",\n \"search\",\n \"filter\",\n \"sort\",\n \"dropdown\",\n \"success\",\n ],\n notes: \"Button already has the strongest base semantic surface in core.\",\n },\n badge: {\n family: \"badge\",\n defaultLayer: \"atom\",\n baseAttributes: {\n \"data-component\": \"badge\",\n },\n canonicalAttributes: [\"data-component\", \"data-variant\"],\n allowedPurposes: [\"status\", \"priority\", \"notification\"],\n notes: \"Badge needs base family identity normalized before full parity governance.\",\n },\n avatar: {\n family: \"avatar\",\n defaultLayer: \"atom\",\n baseAttributes: {\n \"data-component\": \"avatar\",\n },\n canonicalAttributes: [\"data-component\", \"data-size\"],\n allowedPurposes: [\"profile\", \"presence\", \"team\"],\n notes: \"Avatar has simple purpose semantics but multiple rendered identities across molecules.\",\n },\n toast: {\n family: \"toast\",\n defaultLayer: \"atom\",\n baseAttributes: {\n \"data-component\": \"toast\",\n },\n canonicalAttributes: [\"data-component\", \"data-variant\", \"data-intent\"],\n allowedPurposes: [\"success-toast\", \"error-toast\", \"warning-toast\", \"info-toast\"],\n notes:\n \"Toast keeps canonical family identity in core while delivery timing and queue orchestration stay adapter-owned.\",\n },\n dialog: {\n family: \"dialog\",\n defaultLayer: \"atom\",\n baseAttributes: {\n \"data-component\": \"dialog\",\n },\n canonicalAttributes: [\"data-component\", \"data-size\", \"data-intent\"],\n allowedPurposes: [\"confirm-dialog\", \"destructive-dialog\", \"info-dialog\"],\n notes: \"Dialog already has a strong purpose mapping and workflow semantics in adapters.\",\n },\n} satisfies Record<string, FamilySemanticDefinition>\n","import type { PurposeSemanticDefinition } from \"./semantic-types\"\n\nconst frameworks = [\"react\", \"vue\"] as const\n\nexport const buttonPurposeSemantics = {\n destructive: {\n purpose: \"destructive\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"destructive\",\n \"data-action\": \"delete\",\n \"data-destructive\": \"true\",\n \"data-confirmation-required\": \"true\",\n },\n supportedFrameworks: frameworks,\n },\n create: {\n purpose: \"create\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"create\",\n \"data-action\": \"create\",\n },\n supportedFrameworks: frameworks,\n },\n submit: {\n purpose: \"submit\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"submit\",\n \"data-action\": \"submit\",\n \"data-context\": \"form-submit\",\n },\n supportedFrameworks: frameworks,\n },\n cancel: {\n purpose: \"cancel\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"cancel\",\n \"data-action\": \"cancel\",\n },\n supportedFrameworks: frameworks,\n },\n navigation: {\n purpose: \"navigation\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"navigation\",\n \"data-action\": \"navigate\",\n },\n supportedFrameworks: frameworks,\n },\n save: {\n purpose: \"save\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"save\",\n \"data-action\": \"submit\",\n },\n supportedFrameworks: frameworks,\n },\n confirm: {\n purpose: \"confirm\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"confirm\",\n \"data-action\": \"button\",\n \"data-outcome\": \"positive\",\n },\n supportedFrameworks: frameworks,\n },\n verify: {\n purpose: \"verify\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"verify\",\n \"data-action\": \"button\",\n \"data-outcome\": \"positive\",\n },\n supportedFrameworks: frameworks,\n },\n edit: {\n purpose: \"edit\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"edit\",\n \"data-action\": \"edit\",\n },\n supportedFrameworks: frameworks,\n },\n close: {\n purpose: \"close\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"close\",\n \"data-action\": \"cancel\",\n },\n supportedFrameworks: frameworks,\n },\n refresh: {\n purpose: \"refresh\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"refresh\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n upload: {\n purpose: \"upload\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"upload\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n download: {\n purpose: \"download\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"download\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n copy: {\n purpose: \"copy\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"copy\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n search: {\n purpose: \"search\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"search\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n filter: {\n purpose: \"filter\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"filter\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n sort: {\n purpose: \"sort\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"sort\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n dropdown: {\n purpose: \"dropdown\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"dropdown\",\n \"data-action\": \"button\",\n },\n supportedFrameworks: frameworks,\n },\n success: {\n purpose: \"success\",\n family: \"button\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"success\",\n \"data-action\": \"button\",\n \"data-outcome\": \"positive\",\n },\n supportedFrameworks: frameworks,\n },\n} satisfies Record<string, PurposeSemanticDefinition>\n\nexport const badgePurposeSemantics = {\n status: {\n purpose: \"status\",\n family: \"badge\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"status\",\n },\n supportedFrameworks: frameworks,\n },\n priority: {\n purpose: \"priority\",\n family: \"badge\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"priority\",\n },\n supportedFrameworks: frameworks,\n },\n notification: {\n purpose: \"notification\",\n family: \"badge\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"notification\",\n },\n supportedFrameworks: frameworks,\n },\n} satisfies Record<string, PurposeSemanticDefinition>\n\nexport const avatarPurposeSemantics = {\n profile: {\n purpose: \"profile\",\n family: \"avatar\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"profile\",\n },\n supportedFrameworks: frameworks,\n },\n presence: {\n purpose: \"presence\",\n family: \"avatar\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"presence\",\n },\n supportedFrameworks: frameworks,\n },\n team: {\n purpose: \"team\",\n family: \"avatar\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"team\",\n },\n supportedFrameworks: frameworks,\n },\n} satisfies Record<string, PurposeSemanticDefinition>\n\nexport const toastPurposeSemantics = {\n successToast: {\n purpose: \"success-toast\",\n family: \"toast\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"success-toast\",\n \"data-intent\": \"success\",\n },\n supportedFrameworks: frameworks,\n },\n errorToast: {\n purpose: \"error-toast\",\n family: \"toast\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"error-toast\",\n \"data-intent\": \"error\",\n },\n supportedFrameworks: frameworks,\n },\n warningToast: {\n purpose: \"warning-toast\",\n family: \"toast\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"warning-toast\",\n \"data-intent\": \"warning\",\n },\n supportedFrameworks: frameworks,\n },\n infoToast: {\n purpose: \"info-toast\",\n family: \"toast\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"info-toast\",\n \"data-intent\": \"info\",\n },\n supportedFrameworks: frameworks,\n },\n} satisfies Record<string, PurposeSemanticDefinition>\n\nexport const dialogPurposeSemantics = {\n confirmDialog: {\n purpose: \"confirm-dialog\",\n family: \"dialog\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"confirm-dialog\",\n \"data-intent\": \"confirm\",\n },\n supportedFrameworks: frameworks,\n },\n destructiveDialog: {\n purpose: \"destructive-dialog\",\n family: \"dialog\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"destructive-dialog\",\n \"data-intent\": \"destructive\",\n \"data-destructive\": \"true\",\n \"data-confirmation-required\": \"true\",\n },\n supportedFrameworks: frameworks,\n },\n infoDialog: {\n purpose: \"info-dialog\",\n family: \"dialog\",\n layer: \"purpose\",\n attributes: {\n \"data-purpose\": \"info-dialog\",\n \"data-intent\": \"info\",\n },\n supportedFrameworks: frameworks,\n },\n} satisfies Record<string, PurposeSemanticDefinition>\n\nexport const purposeSemanticsRegistry = {\n ...buttonPurposeSemantics,\n ...badgePurposeSemantics,\n ...avatarPurposeSemantics,\n ...toastPurposeSemantics,\n ...dialogPurposeSemantics,\n} satisfies Record<string, PurposeSemanticDefinition>\n","import { familySemanticsRegistry } from \"./family-semantics\"\nimport { purposeSemanticsRegistry } from \"./purpose-semantics\"\nimport { emptySemanticAttributes } from \"./semantic-constants\"\nimport type { SemanticAttributes, SemanticFamily, SemanticPurpose } from \"./semantic-types\"\n\nexport function filterUndefinedSemanticAttributes(\n semanticAttributes: SemanticAttributes,\n): Record<string, string> {\n return Object.fromEntries(\n Object.entries(semanticAttributes).filter(\n (entry): entry is [string, string] => typeof entry[1] === \"string\",\n ),\n )\n}\n\nexport function mergeSemanticAttributes(\n baseSemanticAttributes: SemanticAttributes,\n overrideSemanticAttributes: SemanticAttributes = emptySemanticAttributes,\n): Record<string, string> {\n return filterUndefinedSemanticAttributes({\n ...baseSemanticAttributes,\n ...overrideSemanticAttributes,\n })\n}\n\nexport function createFamilySemanticAttributes(\n family: SemanticFamily,\n overrideSemanticAttributes: SemanticAttributes = emptySemanticAttributes,\n): Record<string, string> {\n const familySemantics = familySemanticsRegistry[family]\n\n return mergeSemanticAttributes(familySemantics.baseAttributes, overrideSemanticAttributes)\n}\n\nexport function createPurposeSemanticAttributes(\n purpose: SemanticPurpose,\n overrideSemanticAttributes: SemanticAttributes = emptySemanticAttributes,\n): Record<string, string> {\n const purposeSemantics = Object.values(purposeSemanticsRegistry).find(\n (definition) => definition.purpose === purpose,\n )\n\n if (!purposeSemantics) {\n throw new Error(`Unknown Marwes semantic purpose: ${purpose}`)\n }\n\n return mergeSemanticAttributes(purposeSemantics.attributes, overrideSemanticAttributes)\n}\n","import { familySemanticsRegistry } from \"./family-semantics\"\nimport { purposeSemanticsRegistry } from \"./purpose-semantics\"\nimport { canonicalSemanticAttributes } from \"./semantic-attributes\"\n\nexport function validateSemanticRegistry(): void {\n for (const familySemantics of Object.values(familySemanticsRegistry)) {\n for (const canonicalAttributeName of familySemantics.canonicalAttributes) {\n if (!canonicalSemanticAttributes[canonicalAttributeName]) {\n throw new Error(\n `Family ${familySemantics.family} references unknown canonical attribute ${canonicalAttributeName}`,\n )\n }\n }\n }\n\n for (const purposeSemantics of Object.values(purposeSemanticsRegistry)) {\n const familySemantics = familySemanticsRegistry[purposeSemantics.family]\n\n if (!familySemantics) {\n throw new Error(`Purpose ${purposeSemantics.purpose} references unknown family`)\n }\n\n const familyAllowsPurpose = familySemantics.allowedPurposes.some(\n (allowedPurpose) => allowedPurpose === purposeSemantics.purpose,\n )\n\n if (!familyAllowsPurpose) {\n throw new Error(\n `Purpose ${purposeSemantics.purpose} is missing from family ${purposeSemantics.family} allowedPurposes`,\n )\n }\n\n for (const attributeName of Object.keys(purposeSemantics.attributes)) {\n if (!(attributeName in canonicalSemanticAttributes)) {\n throw new Error(\n `Purpose ${purposeSemantics.purpose} references unknown canonical attribute ${attributeName}`,\n )\n }\n }\n }\n}\n","/** All known currency entries (fiat, crypto, commodity). Single source of truth for CurrencyCode type. */\nexport default [\n {\n country: \"United States\",\n currency: \"Dollar\",\n code: \"USD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Euro Member Countries\",\n currency: \"Euro\",\n code: \"EUR\",\n symbol: \"€\",\n unicode_decimal: [8364],\n unicode_hex: [\"20ac\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"United Kingdom\",\n currency: \"Pound\",\n code: \"GBP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Canada\",\n currency: \"Dollar\",\n code: \"CAD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Australia\",\n currency: \"Dollar\",\n code: \"AUD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Japan\",\n currency: \"Yen\",\n code: \"JPY\",\n symbol: \"¥\",\n unicode_decimal: [165],\n unicode_hex: [\"a5\"],\n type: \"fiat\",\n region: \"Asia\",\n note: \"Same symbol as CNY China Yuan Renminbi.\",\n },\n {\n country: \"Afghanistan\",\n currency: \"Afghani\",\n code: \"AFN\",\n symbol: \"؋\",\n unicode_decimal: [1547],\n unicode_hex: [\"60b\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Albania\",\n currency: \"Lek\",\n code: \"ALL\",\n symbol: \"Lek\",\n unicode_decimal: [76, 101, 107],\n unicode_hex: [\"4c\", \"65\", \"6b\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Armenia\",\n currency: \"Dram\",\n code: \"AMD\",\n symbol: \"֏\",\n unicode_decimal: [1423],\n unicode_hex: [\"58f\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Netherlands Antilles\",\n currency: \"Guilder\",\n code: \"ANG\",\n symbol: \"ƒ\",\n unicode_decimal: [402],\n unicode_hex: [\"192\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Angola\",\n currency: \"Kwanza\",\n code: \"AOA\",\n symbol: \"Kz\",\n unicode_decimal: [75, 122],\n unicode_hex: [\"4b\", \"7a\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Argentina\",\n currency: \"Peso\",\n code: \"ARS\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n note: \"Standard dollar sign is generally used to signify peso amounts.\",\n },\n {\n country: \"Aruba\",\n currency: \"Guilder\",\n code: \"AWG\",\n symbol: \"ƒ\",\n unicode_decimal: [402],\n unicode_hex: [\"192\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Azerbaijan\",\n currency: \"Manat\",\n code: \"AZN\",\n symbol: \"₼\",\n unicode_decimal: [8380],\n unicode_hex: [\"20bc\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Bosnia and Herzegovina\",\n currency: \"Convertible Mark\",\n code: \"BAM\",\n symbol: \"KM\",\n unicode_decimal: [75, 77],\n unicode_hex: [\"4b\", \"4d\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Barbados\",\n currency: \"Dollar\",\n code: \"BBD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Bangladesh\",\n currency: \"Taka\",\n code: \"BDT\",\n symbol: \"৳\",\n unicode_decimal: [2547],\n unicode_hex: [\"9f3\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Bulgaria\",\n currency: \"Lev\",\n code: \"BGN\",\n symbol: \"лв\",\n unicode_decimal: [1083, 1074],\n unicode_hex: [\"43b\", \"432\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Bahrain\",\n currency: \"Dinar\",\n code: \"BHD\",\n symbol: \"BD\",\n unicode_decimal: [66, 68],\n unicode_hex: [\"42\", \"44\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Burundi\",\n currency: \"Franc\",\n code: \"BIF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Bermuda\",\n currency: \"Dollar\",\n code: \"BMD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Brunei Darussalam\",\n currency: \"Dollar\",\n code: \"BND\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Bolivia\",\n currency: \"Bolíviano\",\n code: \"BOB\",\n symbol: \"$b\",\n unicode_decimal: [36, 98],\n unicode_hex: [\"24\", \"62\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Brazil\",\n currency: \"Real\",\n code: \"BRL\",\n symbol: \"R$\",\n unicode_decimal: [82, 36],\n unicode_hex: [\"52\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n note: \"Composed of an upper case 'R' followed by standard dollar sign '$'.\",\n },\n {\n country: \"Bahamas\",\n currency: \"Dollar\",\n code: \"BSD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Bhutan\",\n currency: \"Ngultrum\",\n code: \"BTN\",\n symbol: \"Nu\",\n unicode_decimal: [78, 117],\n unicode_hex: [\"4e\", \"75\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Botswana\",\n currency: \"Pula\",\n code: \"BWP\",\n symbol: \"P\",\n unicode_decimal: [80],\n unicode_hex: [\"50\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Belarus\",\n currency: \"Ruble\",\n code: \"BYN\",\n symbol: \"Br\",\n unicode_decimal: [66, 114],\n unicode_hex: [\"42\", \"72\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Belize\",\n currency: \"Dollar\",\n code: \"BZD\",\n symbol: \"BZ$\",\n unicode_decimal: [66, 90, 36],\n unicode_hex: [\"42\", \"5a\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Congo\",\n currency: \"Franc\",\n code: \"CDF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Switzerland\",\n currency: \"Franc\",\n code: \"CHF\",\n symbol: \"CHF\",\n unicode_decimal: [67, 72, 70],\n unicode_hex: [\"43\", \"48\", \"46\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Chile\",\n currency: \"Peso\",\n code: \"CLP\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n note: \"Standard dollar sign is generally used to signify peso amounts.\",\n },\n {\n country: \"China\",\n currency: \"Yuan Renminbi\",\n code: \"CNY\",\n symbol: \"¥\",\n unicode_decimal: [165],\n unicode_hex: [\"a5\"],\n type: \"fiat\",\n region: \"Asia\",\n note: \"Same symbol as JPY Japan Yen.\",\n },\n {\n country: \"Colombia\",\n currency: \"Peso\",\n code: \"COP\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Costa Rica\",\n currency: \"Colon\",\n code: \"CRC\",\n symbol: \"₡\",\n unicode_decimal: [8353],\n unicode_hex: [\"20a1\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Cuba\",\n currency: \"Convertible Peso\",\n code: \"CUC\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Cuba\",\n currency: \"Peso\",\n code: \"CUP\",\n symbol: \"₱\",\n unicode_decimal: [8369],\n unicode_hex: [\"20b1\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Cape Verde\",\n currency: \"Escudo\",\n code: \"CVE\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Czech Republic\",\n currency: \"Koruna\",\n code: \"CZK\",\n symbol: \"Kč\",\n unicode_decimal: [75, 269],\n unicode_hex: [\"4b\", \"10d\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Djibouti\",\n currency: \"Franc\",\n code: \"DJF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Denmark\",\n currency: \"Krone\",\n code: \"DKK\",\n symbol: \"kr\",\n unicode_decimal: [107, 114],\n unicode_hex: [\"6b\", \"72\"],\n type: \"fiat\",\n region: \"Europe\",\n note: \"Composed of a lower case 'k' followed by a lower case 'r'.\",\n },\n {\n country: \"Dominican Republic\",\n currency: \"Peso\",\n code: \"DOP\",\n symbol: \"RD$\",\n unicode_decimal: [82, 68, 36],\n unicode_hex: [\"52\", \"44\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Algeria\",\n currency: \"Dinar\",\n code: \"DZD\",\n symbol: \"دج\",\n unicode_decimal: [1583, 1580],\n unicode_hex: [\"62f\", \"62c\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Egypt\",\n currency: \"Pound\",\n code: \"EGP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Eritrea\",\n currency: \"Nakfa\",\n code: \"ERN\",\n symbol: \"Nfk\",\n unicode_decimal: [78, 102, 107],\n unicode_hex: [\"4e\", \"66\", \"6b\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Ethiopia\",\n currency: \"Birr\",\n code: \"ETB\",\n symbol: \"Br\",\n unicode_decimal: [66, 114],\n unicode_hex: [\"42\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Fiji\",\n currency: \"Dollar\",\n code: \"FJD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Falkland Islands\",\n currency: \"Pound\",\n code: \"FKP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Georgia\",\n currency: \"Lari\",\n code: \"GEL\",\n symbol: \"₾\",\n unicode_decimal: [8382],\n unicode_hex: [\"20be\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Guernsey\",\n currency: \"Pound\",\n code: \"GGP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Ghana\",\n currency: \"Cedi\",\n code: \"GHS\",\n symbol: \"₵\",\n unicode_decimal: [8373],\n unicode_hex: [\"20b5\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Gibraltar\",\n currency: \"Pound\",\n code: \"GIP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Gambia\",\n currency: \"Dalasi\",\n code: \"GMD\",\n symbol: \"D\",\n unicode_decimal: [68],\n unicode_hex: [\"44\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Guinea\",\n currency: \"Franc\",\n code: \"GNF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Guatemala\",\n currency: \"Quetzal\",\n code: \"GTQ\",\n symbol: \"Q\",\n unicode_decimal: [81],\n unicode_hex: [\"51\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Guyana\",\n currency: \"Dollar\",\n code: \"GYD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Hong Kong\",\n currency: \"Dollar\",\n code: \"HKD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Asia\",\n note: \"Standard dollar sign is generally used. Sometimes written HK$ for clarity.\",\n },\n {\n country: \"Honduras\",\n currency: \"Lempira\",\n code: \"HNL\",\n symbol: \"L\",\n unicode_decimal: [76],\n unicode_hex: [\"4c\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Croatia\",\n currency: \"Kuna\",\n code: \"HRK\",\n symbol: \"kn\",\n unicode_decimal: [107, 110],\n unicode_hex: [\"6b\", \"6e\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Haiti\",\n currency: \"Gourde\",\n code: \"HTG\",\n symbol: \"G\",\n unicode_decimal: [71],\n unicode_hex: [\"47\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Hungary\",\n currency: \"Forint\",\n code: \"HUF\",\n symbol: \"Ft\",\n unicode_decimal: [70, 116],\n unicode_hex: [\"46\", \"74\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Indonesia\",\n currency: \"Rupiah\",\n code: \"IDR\",\n symbol: \"Rp\",\n unicode_decimal: [82, 112],\n unicode_hex: [\"52\", \"70\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Israel\",\n currency: \"Shekel\",\n code: \"ILS\",\n symbol: \"₪\",\n unicode_decimal: [8362],\n unicode_hex: [\"20aa\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Isle of Man\",\n currency: \"Pound\",\n code: \"IMP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"India\",\n currency: \"Rupee\",\n code: \"INR\",\n symbol: \"₹\",\n unicode_decimal: [8377],\n unicode_hex: [\"20b9\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Iraq\",\n currency: \"Dinar\",\n code: \"IQD\",\n symbol: \"ع.د\",\n unicode_decimal: [1593, 46, 1583],\n unicode_hex: [\"639\", \"2e\", \"62f\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Iran\",\n currency: \"Rial\",\n code: \"IRR\",\n symbol: \"﷼\",\n unicode_decimal: [65020],\n unicode_hex: [\"fdfc\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Iceland\",\n currency: \"Krona\",\n code: \"ISK\",\n symbol: \"kr\",\n unicode_decimal: [107, 114],\n unicode_hex: [\"6b\", \"72\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Jersey\",\n currency: \"Pound\",\n code: \"JEP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Jamaica\",\n currency: \"Dollar\",\n code: \"JMD\",\n symbol: \"J$\",\n unicode_decimal: [74, 36],\n unicode_hex: [\"4a\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Jordan\",\n currency: \"Dinar\",\n code: \"JOD\",\n symbol: \"JD\",\n unicode_decimal: [74, 68],\n unicode_hex: [\"4a\", \"44\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Kenya\",\n currency: \"Shilling\",\n code: \"KES\",\n symbol: \"KSh\",\n unicode_decimal: [75, 83, 104],\n unicode_hex: [\"4b\", \"53\", \"68\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Kyrgyzstan\",\n currency: \"Som\",\n code: \"KGS\",\n symbol: \"лв\",\n unicode_decimal: [1083, 1074],\n unicode_hex: [\"43b\", \"432\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Cambodia\",\n currency: \"Riel\",\n code: \"KHR\",\n symbol: \"៛\",\n unicode_decimal: [6107],\n unicode_hex: [\"17db\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Comoros\",\n currency: \"Franc\",\n code: \"KMF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Korea (North)\",\n currency: \"Won\",\n code: \"KPW\",\n symbol: \"₩\",\n unicode_decimal: [8361],\n unicode_hex: [\"20a9\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Korea (South)\",\n currency: \"Won\",\n code: \"KRW\",\n symbol: \"₩\",\n unicode_decimal: [8361],\n unicode_hex: [\"20a9\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Kuwait\",\n currency: \"Dinar\",\n code: \"KWD\",\n symbol: \"KD\",\n unicode_decimal: [75, 68],\n unicode_hex: [\"4b\", \"44\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Cayman Islands\",\n currency: \"Dollar\",\n code: \"KYD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Kazakhstan\",\n currency: \"Tenge\",\n code: \"KZT\",\n symbol: \"₸\",\n unicode_decimal: [8376],\n unicode_hex: [\"20b8\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Laos\",\n currency: \"Kip\",\n code: \"LAK\",\n symbol: \"₭\",\n unicode_decimal: [8365],\n unicode_hex: [\"20ad\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Lebanon\",\n currency: \"Pound\",\n code: \"LBP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Sri Lanka\",\n currency: \"Rupee\",\n code: \"LKR\",\n symbol: \"₨\",\n unicode_decimal: [8360],\n unicode_hex: [\"20a8\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Liberia\",\n currency: \"Dollar\",\n code: \"LRD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Lesotho\",\n currency: \"Loti\",\n code: \"LSL\",\n symbol: \"L\",\n unicode_decimal: [76],\n unicode_hex: [\"4c\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Libya\",\n currency: \"Dinar\",\n code: \"LYD\",\n symbol: \"LD\",\n unicode_decimal: [76, 68],\n unicode_hex: [\"4c\", \"44\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Morocco\",\n currency: \"Dirham\",\n code: \"MAD\",\n symbol: \"MAD\",\n unicode_decimal: [77, 65, 68],\n unicode_hex: [\"4d\", \"41\", \"44\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Moldova\",\n currency: \"Leu\",\n code: \"MDL\",\n symbol: \"L\",\n unicode_decimal: [76],\n unicode_hex: [\"4c\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Madagascar\",\n currency: \"Ariary\",\n code: \"MGA\",\n symbol: \"Ar\",\n unicode_decimal: [65, 114],\n unicode_hex: [\"41\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Macedonia\",\n currency: \"Denar\",\n code: \"MKD\",\n symbol: \"ден\",\n unicode_decimal: [1076, 1077, 1085],\n unicode_hex: [\"434\", \"435\", \"43d\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Myanmar\",\n currency: \"Kyat\",\n code: \"MMK\",\n symbol: \"K\",\n unicode_decimal: [75],\n unicode_hex: [\"4b\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Mongolia\",\n currency: \"Tughrik\",\n code: \"MNT\",\n symbol: \"₮\",\n unicode_decimal: [8366],\n unicode_hex: [\"20ae\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Macau\",\n currency: \"Pataca\",\n code: \"MOP\",\n symbol: \"P\",\n unicode_decimal: [80],\n unicode_hex: [\"50\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Mauritania\",\n currency: \"Ouguiya\",\n code: \"MRU\",\n symbol: \"UM\",\n unicode_decimal: [85, 77],\n unicode_hex: [\"55\", \"4d\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Mauritius\",\n currency: \"Rupee\",\n code: \"MUR\",\n symbol: \"₨\",\n unicode_decimal: [8360],\n unicode_hex: [\"20a8\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Maldives\",\n currency: \"Rufiyaa\",\n code: \"MVR\",\n symbol: \"Rf\",\n unicode_decimal: [82, 102],\n unicode_hex: [\"52\", \"66\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Malawi\",\n currency: \"Kwacha\",\n code: \"MWK\",\n symbol: \"MK\",\n unicode_decimal: [77, 75],\n unicode_hex: [\"4d\", \"4b\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Mexico\",\n currency: \"Peso\",\n code: \"MXN\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n note: \"Standard dollar sign is generally used to signify peso amounts.\",\n },\n {\n country: \"Malaysia\",\n currency: \"Ringgit\",\n code: \"MYR\",\n symbol: \"RM\",\n unicode_decimal: [82, 77],\n unicode_hex: [\"52\", \"4d\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Mozambique\",\n currency: \"Metical\",\n code: \"MZN\",\n symbol: \"MT\",\n unicode_decimal: [77, 84],\n unicode_hex: [\"4d\", \"54\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Namibia\",\n currency: \"Dollar\",\n code: \"NAD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Nigeria\",\n currency: \"Naira\",\n code: \"NGN\",\n symbol: \"₦\",\n unicode_decimal: [8358],\n unicode_hex: [\"20a6\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Nicaragua\",\n currency: \"Cordoba\",\n code: \"NIO\",\n symbol: \"C$\",\n unicode_decimal: [67, 36],\n unicode_hex: [\"43\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Norway\",\n currency: \"Krone\",\n code: \"NOK\",\n symbol: \"kr\",\n unicode_decimal: [107, 114],\n unicode_hex: [\"6b\", \"72\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Nepal\",\n currency: \"Rupee\",\n code: \"NPR\",\n symbol: \"₨\",\n unicode_decimal: [8360],\n unicode_hex: [\"20a8\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"New Zealand\",\n currency: \"Dollar\",\n code: \"NZD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Oman\",\n currency: \"Rial\",\n code: \"OMR\",\n symbol: \"﷼\",\n unicode_decimal: [65020],\n unicode_hex: [\"fdfc\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Panama\",\n currency: \"Balboa\",\n code: \"PAB\",\n symbol: \"B/.\",\n unicode_decimal: [66, 47, 46],\n unicode_hex: [\"42\", \"2f\", \"2e\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Peru\",\n currency: \"Sol\",\n code: \"PEN\",\n symbol: \"S/.\",\n unicode_decimal: [83, 47, 46],\n unicode_hex: [\"53\", \"2f\", \"2e\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Papua New Guinea\",\n currency: \"Kina\",\n code: \"PGK\",\n symbol: \"K\",\n unicode_decimal: [75],\n unicode_hex: [\"4b\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Philippines\",\n currency: \"Peso\",\n code: \"PHP\",\n symbol: \"₱\",\n unicode_decimal: [8369],\n unicode_hex: [\"20b1\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Pakistan\",\n currency: \"Rupee\",\n code: \"PKR\",\n symbol: \"₨\",\n unicode_decimal: [8360],\n unicode_hex: [\"20a8\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Poland\",\n currency: \"Zloty\",\n code: \"PLN\",\n symbol: \"zł\",\n unicode_decimal: [122, 322],\n unicode_hex: [\"7a\", \"142\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Paraguay\",\n currency: \"Guarani\",\n code: \"PYG\",\n symbol: \"Gs\",\n unicode_decimal: [71, 115],\n unicode_hex: [\"47\", \"73\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Qatar\",\n currency: \"Riyal\",\n code: \"QAR\",\n symbol: \"﷼\",\n unicode_decimal: [65020],\n unicode_hex: [\"fdfc\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Romania\",\n currency: \"Leu\",\n code: \"RON\",\n symbol: \"lei\",\n unicode_decimal: [108, 101, 105],\n unicode_hex: [\"6c\", \"65\", \"69\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Serbia\",\n currency: \"Dinar\",\n code: \"RSD\",\n symbol: \"Дин.\",\n unicode_decimal: [1044, 1080, 1085, 46],\n unicode_hex: [\"414\", \"438\", \"43d\", \"2e\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Russia\",\n currency: \"Ruble\",\n code: \"RUB\",\n symbol: \"₽\",\n unicode_decimal: [8381],\n unicode_hex: [\"20bd\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Rwanda\",\n currency: \"Franc\",\n code: \"RWF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Saudi Arabia\",\n currency: \"Riyal\",\n code: \"SAR\",\n symbol: \"﷼\",\n unicode_decimal: [65020],\n unicode_hex: [\"fdfc\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Solomon Islands\",\n currency: \"Dollar\",\n code: \"SBD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Seychelles\",\n currency: \"Rupee\",\n code: \"SCR\",\n symbol: \"₨\",\n unicode_decimal: [8360],\n unicode_hex: [\"20a8\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Sudan\",\n currency: \"Pound\",\n code: \"SDG\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Sweden\",\n currency: \"Krona\",\n code: \"SEK\",\n symbol: \"kr\",\n unicode_decimal: [107, 114],\n unicode_hex: [\"6b\", \"72\"],\n type: \"fiat\",\n region: \"Europe\",\n note: \"Composed of a lower case 'k' followed by a lower case 'r'.\",\n },\n {\n country: \"Singapore\",\n currency: \"Dollar\",\n code: \"SGD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Saint Helena\",\n currency: \"Pound\",\n code: \"SHP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Sierra Leone\",\n currency: \"Leone\",\n code: \"SLE\",\n symbol: \"Le\",\n unicode_decimal: [76, 101],\n unicode_hex: [\"4c\", \"65\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Somalia\",\n currency: \"Shilling\",\n code: \"SOS\",\n symbol: \"S\",\n unicode_decimal: [83],\n unicode_hex: [\"53\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Suriname\",\n currency: \"Dollar\",\n code: \"SRD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Sao Tome and Principe\",\n currency: \"Dobra\",\n code: \"STN\",\n symbol: \"Db\",\n unicode_decimal: [68, 98],\n unicode_hex: [\"44\", \"62\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"El Salvador\",\n currency: \"Colon\",\n code: \"SVC\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Syria\",\n currency: \"Pound\",\n code: \"SYP\",\n symbol: \"£\",\n unicode_decimal: [163],\n unicode_hex: [\"a3\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"Eswatini\",\n currency: \"Lilangeni\",\n code: \"SZL\",\n symbol: \"L\",\n unicode_decimal: [76],\n unicode_hex: [\"4c\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Thailand\",\n currency: \"Baht\",\n code: \"THB\",\n symbol: \"฿\",\n unicode_decimal: [3647],\n unicode_hex: [\"e3f\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Tajikistan\",\n currency: \"Somoni\",\n code: \"TJS\",\n symbol: \"SM\",\n unicode_decimal: [83, 77],\n unicode_hex: [\"53\", \"4d\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Turkmenistan\",\n currency: \"Manat\",\n code: \"TMT\",\n symbol: \"T\",\n unicode_decimal: [84],\n unicode_hex: [\"54\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Tunisia\",\n currency: \"Dinar\",\n code: \"TND\",\n symbol: \"DT\",\n unicode_decimal: [68, 84],\n unicode_hex: [\"44\", \"54\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Tonga\",\n currency: \"Pa'anga\",\n code: \"TOP\",\n symbol: \"T$\",\n unicode_decimal: [84, 36],\n unicode_hex: [\"54\", \"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Turkey\",\n currency: \"Lira\",\n code: \"TRY\",\n symbol: \"₺\",\n unicode_decimal: [8378],\n unicode_hex: [\"20ba\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Trinidad and Tobago\",\n currency: \"Dollar\",\n code: \"TTD\",\n symbol: \"TT$\",\n unicode_decimal: [84, 84, 36],\n unicode_hex: [\"54\", \"54\", \"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Tuvalu\",\n currency: \"Dollar\",\n code: \"TVD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Taiwan\",\n currency: \"New Dollar\",\n code: \"TWD\",\n symbol: \"NT$\",\n unicode_decimal: [78, 84, 36],\n unicode_hex: [\"4e\", \"54\", \"24\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Tanzania\",\n currency: \"Shilling\",\n code: \"TZS\",\n symbol: \"Sh\",\n unicode_decimal: [83, 104],\n unicode_hex: [\"53\", \"68\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Ukraine\",\n currency: \"Hryvnia\",\n code: \"UAH\",\n symbol: \"₴\",\n unicode_decimal: [8372],\n unicode_hex: [\"20b4\"],\n type: \"fiat\",\n region: \"Europe\",\n },\n {\n country: \"Uganda\",\n currency: \"Shilling\",\n code: \"UGX\",\n symbol: \"Sh\",\n unicode_decimal: [83, 104],\n unicode_hex: [\"53\", \"68\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Uruguay\",\n currency: \"Peso\",\n code: \"UYU\",\n symbol: \"$U\",\n unicode_decimal: [36, 85],\n unicode_hex: [\"24\", \"55\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Uzbekistan\",\n currency: \"Som\",\n code: \"UZS\",\n symbol: \"лв\",\n unicode_decimal: [1083, 1074],\n unicode_hex: [\"43b\", \"432\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Venezuela\",\n currency: \"Bolívar\",\n code: \"VEF\",\n symbol: \"Bs\",\n unicode_decimal: [66, 115],\n unicode_hex: [\"42\", \"73\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Venezuela\",\n currency: \"Bolívar Soberano\",\n code: \"VES\",\n symbol: \"Bs.S\",\n unicode_decimal: [66, 115, 46, 83],\n unicode_hex: [\"42\", \"73\", \"2e\", \"53\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Viet Nam\",\n currency: \"Dong\",\n code: \"VND\",\n symbol: \"₫\",\n unicode_decimal: [8363],\n unicode_hex: [\"20ab\"],\n type: \"fiat\",\n region: \"Asia\",\n },\n {\n country: \"Vanuatu\",\n currency: \"Vatu\",\n code: \"VUV\",\n symbol: \"Vt\",\n unicode_decimal: [86, 116],\n unicode_hex: [\"56\", \"74\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Samoa\",\n currency: \"Tala\",\n code: \"WST\",\n symbol: \"T\",\n unicode_decimal: [84],\n unicode_hex: [\"54\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Central Africa\",\n currency: \"CFA Franc BEAC\",\n code: \"XAF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"East Caribbean\",\n currency: \"Dollar\",\n code: \"XCD\",\n symbol: \"$\",\n unicode_decimal: [36],\n unicode_hex: [\"24\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"Caribbean\",\n currency: \"Guilder\",\n code: \"XCG\",\n symbol: \"ƒ\",\n unicode_decimal: [402],\n unicode_hex: [\"192\"],\n type: \"fiat\",\n region: \"Americas\",\n },\n {\n country: \"IMF\",\n currency: \"Special Drawing Rights\",\n code: \"XDR\",\n symbol: \"SDR\",\n unicode_decimal: [83, 68, 82],\n unicode_hex: [\"53\", \"44\", \"52\"],\n type: \"fiat\",\n region: \"Global\",\n },\n {\n country: \"West Africa\",\n currency: \"CFA Franc\",\n code: \"XOF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Pacific\",\n currency: \"CFP Franc\",\n code: \"XPF\",\n symbol: \"Fr\",\n unicode_decimal: [70, 114],\n unicode_hex: [\"46\", \"72\"],\n type: \"fiat\",\n region: \"Oceania\",\n },\n {\n country: \"Yemen\",\n currency: \"Rial\",\n code: \"YER\",\n symbol: \"﷼\",\n unicode_decimal: [65020],\n unicode_hex: [\"fdfc\"],\n type: \"fiat\",\n region: \"Middle East\",\n },\n {\n country: \"South Africa\",\n currency: \"Rand\",\n code: \"ZAR\",\n symbol: \"R\",\n unicode_decimal: [82],\n unicode_hex: [\"52\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Zambia\",\n currency: \"Kwacha\",\n code: \"ZMW\",\n symbol: \"ZK\",\n unicode_decimal: [90, 75],\n unicode_hex: [\"5a\", \"4b\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Zimbabwe\",\n currency: \"Dollar\",\n code: \"ZWD\",\n symbol: \"Z$\",\n unicode_decimal: [90, 36],\n unicode_hex: [\"5a\", \"24\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Zimbabwe\",\n currency: \"Dollar\",\n code: \"ZWG\",\n symbol: \"ZiG\",\n unicode_decimal: [90, 105, 71],\n unicode_hex: [\"5a\", \"69\", \"47\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n {\n country: \"Zimbabwe\",\n currency: \"Dollar\",\n code: \"ZWL\",\n symbol: \"Z$\",\n unicode_decimal: [90, 36],\n unicode_hex: [\"5a\", \"24\"],\n type: \"fiat\",\n region: \"Africa\",\n },\n\n {\n country: null,\n currency: \"Bitcoin\",\n code: \"BTC\",\n symbol: \"₿\",\n unicode_decimal: [8383],\n unicode_hex: [\"20bf\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Ethereum\",\n code: \"ETH\",\n symbol: \"Ξ\",\n unicode_decimal: [926],\n unicode_hex: [\"39e\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Bitcoin Cash\",\n code: \"BCH\",\n symbol: \"BCH\",\n unicode_decimal: [66, 67, 72],\n unicode_hex: [\"42\", \"43\", \"48\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Cardano\",\n code: \"ADA\",\n symbol: \"ADA\",\n unicode_decimal: [65, 68, 65],\n unicode_hex: [\"41\", \"44\", \"41\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Dogecoin\",\n code: \"DOGE\",\n symbol: \"Ð\",\n unicode_decimal: [208],\n unicode_hex: [\"d0\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Polkadot\",\n code: \"DOT\",\n symbol: \"DOT\",\n unicode_decimal: [68, 79, 84],\n unicode_hex: [\"44\", \"4f\", \"54\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Chainlink\",\n code: \"LINK\",\n symbol: \"LINK\",\n unicode_decimal: [76, 73, 78, 75],\n unicode_hex: [\"4c\", \"49\", \"4e\", \"4b\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Litecoin\",\n code: \"LTC\",\n symbol: \"Ł\",\n unicode_decimal: [321],\n unicode_hex: [\"141\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Terra\",\n code: \"LUNA\",\n symbol: \"LUNA\",\n unicode_decimal: [76, 85, 78, 65],\n unicode_hex: [\"4c\", \"55\", \"4e\", \"41\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Stellar Lumen\",\n code: \"XLM\",\n symbol: \"XLM\",\n unicode_decimal: [88, 76, 77],\n unicode_hex: [\"58\", \"4c\", \"4d\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Ripple\",\n code: \"XRP\",\n symbol: \"XRP\",\n unicode_decimal: [88, 82, 80],\n unicode_hex: [\"58\", \"52\", \"50\"],\n type: \"crypto\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Uniswap\",\n code: \"UNI\",\n symbol: \"UNI\",\n unicode_decimal: [85, 78, 73],\n unicode_hex: [\"55\", \"4e\", \"49\"],\n type: \"crypto\",\n region: \"Global\",\n },\n\n {\n country: null,\n currency: \"Gold Ounce\",\n code: \"XAU\",\n symbol: \"XAU\",\n unicode_decimal: [88, 65, 85],\n unicode_hex: [\"58\", \"41\", \"55\"],\n type: \"commodity\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Silver Ounce\",\n code: \"XAG\",\n symbol: \"XAG\",\n unicode_decimal: [88, 65, 71],\n unicode_hex: [\"58\", \"41\", \"47\"],\n type: \"commodity\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Palladium Ounce\",\n code: \"XPD\",\n symbol: \"XPD\",\n unicode_decimal: [88, 80, 68],\n unicode_hex: [\"58\", \"50\", \"44\"],\n type: \"commodity\",\n region: \"Global\",\n },\n {\n country: null,\n currency: \"Platinum Ounce\",\n code: \"XPT\",\n symbol: \"XPT\",\n unicode_decimal: [88, 80, 84],\n unicode_hex: [\"58\", \"50\", \"54\"],\n type: \"commodity\",\n region: \"Global\",\n },\n] as const\n","import currencyData from \"./currency-symbols-complete\"\n\n/**\n * Union of all known currency codes (fiat, crypto, commodity),\n * derived automatically from the data source.\n *\n * Adding a new entry to currency-symbols-complete.ts updates this type\n * at compile time — no manual maintenance required.\n */\nexport type CurrencyCode = (typeof currencyData)[number][\"code\"]\n\n/**\n * Array of all known currency codes, useful for Storybook argTypes and validation.\n */\nexport const currencyCodes: CurrencyCode[] = currencyData.map((entry) => entry.code)\n\n/**\n * Lookup map from uppercase ISO 4217 currency code to its text symbol.\n * Built at module load from the data source (~180 entries).\n *\n * Examples: `{ USD: \"$\", EUR: \"€\", SEK: \"kr\", BTC: \"₿\" }`\n */\nexport const currencySymbolMap: Record<string, string> = Object.fromEntries(\n currencyData.map((entry) => [entry.code, entry.symbol]),\n)\n\n/**\n * Returns the text symbol for a given currency code (e.g. \"USD\" → \"$\", \"SEK\" → \"kr\").\n * Case-insensitive. Returns undefined for unknown or missing codes.\n */\nexport function getCurrencySymbol(code: CurrencyCode | string | undefined): string | undefined {\n if (!code) {\n return undefined\n }\n return currencySymbolMap[code.toUpperCase()]\n}\n","export function mergeIdRefs(...refs: Array<string | undefined | null | false>): string | undefined {\n const filtered = refs.filter(Boolean) as string[]\n return filtered.length > 0 ? filtered.join(\" \") : undefined\n}\n\nexport type InputFieldA11yIds = {\n helperTextId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport type RichTextFieldA11yIds = {\n labelId: string\n helperTextId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildInputFieldA11yIds(args: {\n id: string\n hasHelperText: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): InputFieldA11yIds {\n const helperTextId = args.hasHelperText ? `${args.id}-helper` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, helperTextId, errorId)\n const result: InputFieldA11yIds = {}\n if (helperTextId) result.helperTextId = helperTextId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport function buildRichTextFieldA11yIds(args: {\n id: string\n hasHelperText: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): RichTextFieldA11yIds {\n const labelId = `${args.id}-label`\n const helperTextId = args.hasHelperText ? `${args.id}-helper` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, helperTextId, errorId)\n const result: RichTextFieldA11yIds = { labelId }\n if (helperTextId) result.helperTextId = helperTextId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type CheckboxFieldA11yIds = {\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildCheckboxFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): CheckboxFieldA11yIds {\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: CheckboxFieldA11yIds = {}\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type CheckboxGroupFieldA11yIds = {\n labelId: string\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildCheckboxGroupFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): CheckboxGroupFieldA11yIds {\n const labelId = `${args.id}-label`\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: CheckboxGroupFieldA11yIds = { labelId }\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type RadioGroupFieldA11yIds = {\n labelId: string\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildRadioGroupFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): RadioGroupFieldA11yIds {\n const labelId = `${args.id}-label`\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: RadioGroupFieldA11yIds = { labelId }\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type AccordionFieldA11yIds = {\n labelId: string\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildAccordionFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): AccordionFieldA11yIds {\n const labelId = `${args.id}-label`\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: AccordionFieldA11yIds = { labelId }\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type SwitchFieldA11yIds = {\n labelId: string\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildSwitchFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): SwitchFieldA11yIds {\n const labelId = `${args.id}-label`\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: SwitchFieldA11yIds = { labelId }\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport type SliderFieldA11yIds = {\n labelId: string\n descriptionId?: string\n errorId?: string\n describedBy?: string\n}\n\nexport function buildSliderFieldA11yIds(args: {\n id: string\n hasDescription: boolean\n hasError: boolean\n externalDescribedBy?: string | undefined\n}): SliderFieldA11yIds {\n const labelId = `${args.id}-label`\n const descriptionId = args.hasDescription ? `${args.id}-desc` : undefined\n const errorId = args.hasError ? `${args.id}-error` : undefined\n const describedBy = mergeIdRefs(args.externalDescribedBy, descriptionId, errorId)\n const result: SliderFieldA11yIds = { labelId }\n if (descriptionId) result.descriptionId = descriptionId\n if (errorId) result.errorId = errorId\n if (describedBy) result.describedBy = describedBy\n return result\n}\n\nexport function buildCurrencyHelperText(\n helperText: string | undefined,\n currency: string | undefined,\n): string | undefined {\n if (!currency) {\n return helperText\n }\n\n return helperText ? `${helperText} (${currency})` : `Amount in ${currency}`\n}\n\nexport { getCurrencySymbol, currencyCodes } from \"../data/currency-symbols\"\nexport type { CurrencyCode } from \"../data/currency-symbols\"\n\n/**\n * Strips non-numeric characters from a currency input value.\n * Allows digits, a single decimal point, and an optional leading minus sign.\n */\nexport function sanitizeCurrencyValue(rawValue: string): string {\n let hasDecimal = false\n let result = \"\"\n\n for (let i = 0; i < rawValue.length; i++) {\n const character = rawValue.charAt(i)\n\n if (character === \"-\" && i === 0) {\n result += character\n } else if (character === \".\" && !hasDecimal) {\n hasDecimal = true\n result += character\n } else if (character >= \"0\" && character <= \"9\") {\n result += character\n }\n }\n\n return result\n}\n","export type LabeledCopy = {\n label: string\n text: string\n}\n\nexport type FieldComparisonRow = {\n field: string\n type: string\n inputMode: string\n autoComplete: string\n features: string\n}\n\nexport const buttonWhySemanticComponents: LabeledCopy[] = [\n { label: \"Guaranteed AI context\", text: \"action metadata is always set correctly\" },\n { label: \"Consistent UX\", text: \"enforces design patterns across your app\" },\n { label: \"Less boilerplate\", text: \"no need to remember which props to set\" },\n { label: \"Self-documenting\", text: \"code intent is clear from component name\" },\n]\n\nexport const buttonVariantVisualStyles: LabeledCopy[] = [\n { label: \"primary\", text: \"Filled, high emphasis (main actions)\" },\n { label: \"secondary\", text: \"Outlined, brand-accent emphasis (action utilities)\" },\n { label: \"neutral\", text: \"Outlined, low-chroma emphasis (cancel/close/filter actions)\" },\n { label: \"text\", text: \"Minimal, low emphasis (tertiary/inline actions)\" },\n { label: \"success\", text: \"Filled, positive emphasis (confirm actions)\" },\n]\n\nexport const buttonActionSemanticPurposes: LabeledCopy[] = [\n { label: \"submit\", text: \"Form submission\" },\n { label: \"cancel\", text: \"Dismiss/cancel operation\" },\n { label: \"create\", text: \"Create new item\" },\n { label: \"delete\", text: \"Remove/destroy item\" },\n { label: \"navigate\", text: \"Go to another page\" },\n { label: \"edit\", text: \"Modify existing item\" },\n { label: \"reset\", text: \"Reset form state\" },\n { label: \"button\", text: \"Generic action (default)\" },\n]\n\nexport const fieldWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Automatic semantic attributes\",\n text: \"Correct type, inputMode, autoComplete set automatically\",\n },\n { label: \"Built-in functionality\", text: \"Password toggle, search clear button, etc. included\" },\n { label: \"Mobile-optimized\", text: \"Proper keyboard layouts on mobile devices\" },\n { label: \"AI-friendly\", text: \"data-purpose attributes for AI parsing and understanding\" },\n { label: \"Less boilerplate\", text: \"No need to remember which attributes to set\" },\n { label: \"Self-documenting\", text: \"Code intent is clear from component name\" },\n]\n\nexport const richTextWhyUseIt: LabeledCopy[] = [\n {\n label: \"Inline emphasis\",\n text: \"Bold, italic, and underline can be applied directly inside the editor surface\",\n },\n {\n label: \"Textarea-like layout\",\n text: \"Uses the same field framing as other input controls while supporting formatted content\",\n },\n {\n label: \"Accessible editing surface\",\n text: \"Role, labels, descriptions, and error wiring stay aligned with the Marwes field contract\",\n },\n {\n label: \"Separate plain-text boundary\",\n text: \"Textarea remains the plain-text choice, so rich formatting is explicit in the component name\",\n },\n]\n\nexport const richTextFormattingReference: LabeledCopy[] = [\n { label: \"Bold\", text: \"Highlights important words or short phrases\" },\n { label: \"Italic\", text: \"Adds emphasis or styling nuance without changing structure\" },\n { label: \"Underline\", text: \"Signals extra emphasis when the design language calls for it\" },\n]\n\nexport const fieldComparisonRows: FieldComparisonRow[] = [\n {\n field: \"SearchField\",\n type: \"search\",\n inputMode: \"search\",\n autoComplete: \"-\",\n features: \"Search icon by default, clear button (X icon) when has value\",\n },\n {\n field: \"PasswordField\",\n type: \"password\",\n inputMode: \"-\",\n autoComplete: \"current-password or new-password\",\n features: \"Show/hide toggle (eye icon)\",\n },\n {\n field: \"EmailField\",\n type: \"email\",\n inputMode: \"email\",\n autoComplete: \"email\",\n features: \"Email validation, @ keyboard\",\n },\n {\n field: \"DateOfBirthField\",\n type: \"date\",\n inputMode: \"-\",\n autoComplete: \"bday\",\n features: \"Native date picker, birthday autofill\",\n },\n {\n field: \"ZipCodeField\",\n type: \"text\",\n inputMode: \"numeric\",\n autoComplete: \"postal-code\",\n features: \"Numeric keypad, preserves leading zeros\",\n },\n {\n field: \"PhoneField\",\n type: \"tel\",\n inputMode: \"tel\",\n autoComplete: \"tel\",\n features: \"Phone keyboard, accepts any format\",\n },\n {\n field: \"URLField\",\n type: \"url\",\n inputMode: \"url\",\n autoComplete: \"url\",\n features: \"URL validation, .com keyboard\",\n },\n {\n field: \"CurrencyField\",\n type: \"text\",\n inputMode: \"decimal\",\n autoComplete: \"-\",\n features: \"Decimal keyboard, currency label\",\n },\n]\n\nexport const radioWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Pre-built options\",\n text: \"no need to manually create option lists for common patterns\",\n },\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n { label: \"Consistent UX\", text: \"enforces accessible radio group patterns across your app\" },\n { label: \"Less boilerplate\", text: \"one component replaces a RadioGroupField + options array\" },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (YesNoRadioGroup vs generic options)\",\n },\n]\n\nexport const radioPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"YesNoRadioGroup\",\n text: \"Binary yes/no choices — accept terms, opt in/out, enable/disable\",\n },\n {\n label: \"RatingRadioGroup\",\n text: \"Numeric scale selection — satisfaction ratings, priority levels, scores\",\n },\n { label: \"OptionRadioGroup\", text: \"General labeled options — preferences, categories, modes\" },\n]\n\nexport const accordionWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Pre-configured behaviour\",\n text: \"single-open or multi-open is set automatically based on the use case\",\n },\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"enforces accessible accordion group patterns across your app\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces an AccordionField with preconfigured props\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (FAQAccordion vs generic field)\",\n },\n]\n\nexport const accordionPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"FAQAccordion\",\n text: 'Question-and-answer sections — single-open, data-purpose=\"faq\"',\n },\n {\n label: \"SettingsAccordion\",\n text: 'Configuration panels — multi-open, data-purpose=\"settings\"',\n },\n {\n label: \"SectionsAccordion\",\n text: 'Generic collapsible sections — flexible open mode, data-purpose=\"sections\"',\n },\n]\n\nexport const badgeWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"enforces accessible badge patterns across your app\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces a Badge with preconfigured data attributes\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (StatusBadge vs generic Badge)\",\n },\n]\n\nexport const badgePurposeComponentReference: LabeledCopy[] = [\n {\n label: \"StatusBadge\",\n text: 'Operational or lifecycle status — active/inactive, online/offline, data-purpose=\"status\"',\n },\n {\n label: \"PriorityBadge\",\n text: 'Urgency or importance levels — critical/high/medium/low, data-purpose=\"priority\"',\n },\n {\n label: \"NotificationBadge\",\n text: 'Notification counts and alerts — unread counts, new items, data-purpose=\"notification\"',\n },\n]\n\nexport const switchWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"enforces accessible switch patterns across your app\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces a SwitchField with preconfigured data attributes\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (FeatureToggle vs generic SwitchField)\",\n },\n]\n\nexport const switchPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"FeatureToggle\",\n text: 'Enables/disables product features — data-purpose=\"feature-toggle\"',\n },\n {\n label: \"PreferenceSwitch\",\n text: 'User preference or settings toggle — data-purpose=\"preference\"',\n },\n {\n label: \"PermissionSwitch\",\n text: 'Access control or permissions toggle — data-purpose=\"permission\"',\n },\n]\n\nexport const sliderWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"common slider semantics ship with clear labels, bounds, and tooltip defaults\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces repeated SliderField setup for standard controls\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (RadiusSlider vs generic SliderField)\",\n },\n]\n\nexport const sliderPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"VolumeSlider\",\n text: 'Audio and media level controls — data-purpose=\"volume\"',\n },\n {\n label: \"BrightnessSlider\",\n text: 'Display and visual intensity adjustments — data-purpose=\"brightness\"',\n },\n {\n label: \"RadiusSlider\",\n text: 'Design-system radius and corner-rounding controls — data-purpose=\"radius\"',\n },\n]\n\nexport const cardWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"enforces semantic card patterns across your app\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces a Card with preconfigured data attributes\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (ProductCard vs generic Card)\",\n },\n]\n\nexport const cardPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"ProductCard\",\n text: 'Product summaries and catalog surfaces — data-purpose=\"product-card\"',\n },\n {\n label: \"ProfileCard\",\n text: 'People, team, or identity summaries — data-purpose=\"profile-card\"',\n },\n {\n label: \"StatCard\",\n text: 'Metric snapshots and KPI highlights — data-purpose=\"stat-card\"',\n },\n]\n\nexport const tabWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Pre-configured tab sets\",\n text: \"common navigation patterns ship with labels, order, and metadata already in place\",\n },\n {\n label: \"AI-friendly metadata\",\n text: \"data-purpose attributes are set automatically for AI parsing\",\n },\n {\n label: \"Consistent UX\",\n text: \"enforces accessible tablist, roving focus, and tabpanel wiring across your app\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces a TabGroup plus repeated panel and keyboard setup\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (SettingsTabs vs generic TabGroup)\",\n },\n]\n\nexport const tabPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"NavigationTabs\",\n text: 'Section switching for peer views — data-purpose=\"navigation-tabs\"',\n },\n {\n label: \"ContentTabs\",\n text: 'Segmented content presentation — data-purpose=\"content-tabs\"',\n },\n {\n label: \"SettingsTabs\",\n text: 'Grouped settings surfaces and admin sections — data-purpose=\"settings-tabs\"',\n },\n]\n\nexport const toastWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Status semantics built in\",\n text: \"success, error, warning, and info toasts ship with matching icons and urgency defaults\",\n },\n {\n label: \"Consistent feedback UX\",\n text: \"keeps transient messaging visually and behaviorally consistent across surfaces\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces repeated icon, aria-live, and metadata setup\",\n },\n {\n label: \"Imperative workflow support\",\n text: \"pairs naturally with ToastProvider and useToast for action-driven feedback flows\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (ErrorToast vs generic Toast)\",\n },\n]\n\nexport const toastPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"SuccessToast\",\n text: 'Positive completion and confirmation feedback — data-purpose=\"success-toast\"',\n },\n {\n label: \"ErrorToast\",\n text: 'Failed actions, blocking issues, and urgent alerts — data-purpose=\"error-toast\"',\n },\n {\n label: \"WarningToast\",\n text: 'Cautionary states and risky follow-up actions — data-purpose=\"warning-toast\"',\n },\n {\n label: \"InfoToast\",\n text: 'Contextual notices and neutral updates — data-purpose=\"info-toast\"',\n },\n]\n\nexport const dialogWhyPurposeComponents: LabeledCopy[] = [\n {\n label: \"Modal semantics built in\",\n text: \"confirmation, destructive, and informational dialogs ship with consistent actions and dismiss patterns\",\n },\n {\n label: \"Consistent overlay UX\",\n text: \"keeps scrim, escape handling, focus restoration, and footer actions aligned across products\",\n },\n {\n label: \"Less boilerplate\",\n text: \"one component replaces repeated open state, button wiring, and aria-modal setup\",\n },\n {\n label: \"Safe defaults\",\n text: \"purpose wrappers make the expected primary and secondary actions obvious for the workflow\",\n },\n {\n label: \"Self-documenting\",\n text: \"component name communicates intent (DestructiveDialog vs generic DialogModal)\",\n },\n]\n\nexport const dialogPurposeComponentReference: LabeledCopy[] = [\n {\n label: \"ConfirmDialog\",\n text: 'Neutral confirmation flows and approval prompts — data-purpose=\"confirm-dialog\"',\n },\n {\n label: \"DestructiveDialog\",\n text: 'Irreversible or risky actions that require explicit confirmation — data-purpose=\"destructive-dialog\"',\n },\n {\n label: \"InfoDialog\",\n text: 'Read-and-acknowledge messaging with a single follow-up action — data-purpose=\"info-dialog\"',\n },\n]\n","import type { AccordionA11yProps, AccordionOptions } from \"./accordion-types\"\n\nexport function resolveAccordionA11y(opts: AccordionOptions): AccordionA11yProps {\n const a11y: AccordionA11yProps = {\n triggerId: `${opts.id}-trigger`,\n panelId: `${opts.id}-panel`,\n ariaExpanded: opts.open ?? false,\n }\n\n if (opts.disabled) a11y.ariaDisabled = true\n\n return a11y\n}\n","/**\n * Accordion core recipe:\n * - returns a render kit for adapters\n * - stable classnames, modifier classes, aria IDs\n */\n\nimport { resolveAccordionA11y } from \"./accordion-a11y\"\nimport type { AccordionOptions, AccordionRenderKit } from \"./accordion-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createAccordionRecipe(opts: AccordionOptions): AccordionRenderKit {\n return {\n tag: \"div\",\n className: cx(\n \"mw-accordion\",\n opts.open && \"mw-accordion--open\",\n opts.disabled && \"mw-accordion--disabled\",\n ),\n vars: {},\n a11y: resolveAccordionA11y(opts),\n }\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport type { IconName } from \"../icon/icon-types\"\n\nexport const AvatarSize = {\n small: \"small\",\n medium: \"medium\",\n large: \"large\",\n} as const\nexport type AvatarSize = (typeof AvatarSize)[keyof typeof AvatarSize]\n\nexport const AvatarType = {\n initials: \"initials\",\n icon: \"icon\",\n image: \"image\",\n} as const\nexport type AvatarType = (typeof AvatarType)[keyof typeof AvatarType]\n\nexport interface AvatarOptions {\n size?: AvatarSize\n type?: AvatarType\n initials?: string\n src?: string\n alt?: string\n iconName?: IconName\n decorative?: boolean\n ariaLabel?: string\n}\n\nexport interface AvatarA11yProps {\n role?: \"img\"\n ariaHidden?: true\n ariaLabel?: string\n}\n\nexport interface AvatarDataAttributes extends Record<string, string> {\n \"data-component\": \"avatar\"\n \"data-size\": AvatarSize\n \"data-type\": AvatarType\n}\n\nexport interface AvatarRenderContent {\n type: AvatarType\n initials?: string\n src?: string\n alt?: string\n iconName?: IconName\n}\n\nexport interface AvatarRenderKit {\n tag: \"span\"\n className: string\n vars: CssVars\n a11y: AvatarA11yProps\n dataAttributes: AvatarDataAttributes\n content: AvatarRenderContent\n}\n","import { AvatarType } from \"./avatar-types\"\nimport type { AvatarA11yProps, AvatarOptions, AvatarType as AvatarTypeValue } from \"./avatar-types\"\n\nfunction isDev(): boolean {\n const p = (\n globalThis as unknown as {\n process?: { env?: Record<string, string | undefined> }\n }\n ).process\n\n const nodeEnv = p?.env?.NODE_ENV\n if (nodeEnv) return nodeEnv !== \"production\"\n\n const meta = import.meta as unknown as {\n env?: { MODE?: string; PROD?: boolean }\n }\n if (typeof meta.env?.PROD === \"boolean\") return !meta.env.PROD\n if (meta.env?.MODE) return meta.env.MODE !== \"production\"\n\n return true\n}\n\nconst __DEV__ = isDev()\n\nexport function resolveAvatarA11y(\n options: AvatarOptions,\n resolvedType: AvatarTypeValue,\n normalizedInitials?: string,\n): AvatarA11yProps {\n if (options.decorative) {\n return {\n ariaHidden: true,\n }\n }\n\n if (resolvedType === AvatarType.image) {\n // Image avatars rely on the <img alt> attribute in the adapter.\n // Warn in development when neither alt nor ariaLabel is provided so the\n // image silently becomes decorative without the team intending it.\n if (__DEV__ && !options.alt && !options.ariaLabel) {\n console.warn(\n \"[marwes] Avatar: an image avatar was rendered without alt text or ariaLabel. \" +\n \"Provide alt to describe the person, or ariaLabel as a fallback, or use \" +\n \"decorative={true} to explicitly mark it as presentational.\",\n )\n }\n\n return {}\n }\n\n const accessibleLabel = options.ariaLabel ?? normalizedInitials ?? \"Avatar\"\n\n return {\n role: \"img\",\n ariaLabel: accessibleLabel,\n }\n}\n","import { createFamilySemanticAttributes } from \"../../../semantics\"\nimport { resolveAvatarA11y } from \"./avatar-a11y\"\nimport { AvatarSize, AvatarType } from \"./avatar-types\"\nimport type {\n AvatarOptions,\n AvatarRenderContent,\n AvatarRenderKit,\n AvatarSize as AvatarSizeValue,\n AvatarType as AvatarTypeValue,\n} from \"./avatar-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nfunction normalizeAvatarInitials(initials?: string): string | undefined {\n if (!initials) {\n return undefined\n }\n\n const compactInitials = initials.trim().replace(/\\s+/g, \"\")\n if (!compactInitials) {\n return undefined\n }\n\n return Array.from(compactInitials).slice(0, 2).join(\"\").toUpperCase()\n}\n\nfunction resolveAvatarType(options: AvatarOptions, normalizedInitials?: string): AvatarTypeValue {\n if (options.type === AvatarType.image && options.src) {\n return AvatarType.image\n }\n\n if (options.type === AvatarType.initials && normalizedInitials) {\n return AvatarType.initials\n }\n\n if (options.type === AvatarType.icon) {\n return AvatarType.icon\n }\n\n if (options.src) {\n return AvatarType.image\n }\n\n if (normalizedInitials) {\n return AvatarType.initials\n }\n\n return AvatarType.icon\n}\n\nfunction createAvatarRenderContent(\n options: AvatarOptions,\n resolvedType: AvatarTypeValue,\n normalizedInitials?: string,\n): AvatarRenderContent {\n if (resolvedType === AvatarType.image) {\n const imageContent: AvatarRenderContent = {\n type: AvatarType.image,\n }\n\n if (options.src) {\n imageContent.src = options.src\n }\n\n const imageAlt = options.alt ?? options.ariaLabel\n if (imageAlt) {\n imageContent.alt = imageAlt\n }\n\n return imageContent\n }\n\n if (resolvedType === AvatarType.initials) {\n const initialsContent: AvatarRenderContent = {\n type: AvatarType.initials,\n }\n\n if (normalizedInitials) {\n initialsContent.initials = normalizedInitials\n }\n\n return initialsContent\n }\n\n return {\n type: AvatarType.icon,\n iconName: options.iconName ?? \"user\",\n }\n}\n\nexport function createAvatarRecipe(options: AvatarOptions = {}): AvatarRenderKit {\n const size: AvatarSizeValue = options.size ?? AvatarSize.medium\n const normalizedInitials = normalizeAvatarInitials(options.initials)\n const resolvedType = resolveAvatarType(options, normalizedInitials)\n const familySemanticAttributes = createFamilySemanticAttributes(\"avatar\", {\n \"data-size\": size,\n })\n\n return {\n tag: \"span\",\n className: cx(\"mw-avatar\", `mw-avatar--${size}`, `mw-avatar--${resolvedType}`),\n vars: {},\n a11y: resolveAvatarA11y(options, resolvedType, normalizedInitials),\n dataAttributes: {\n \"data-component\": familySemanticAttributes[\"data-component\"] as \"avatar\",\n \"data-size\": familySemanticAttributes[\"data-size\"] as AvatarSizeValue,\n \"data-type\": resolvedType,\n },\n content: createAvatarRenderContent(options, resolvedType, normalizedInitials),\n }\n}\n","/**\n * Card core recipe:\n * - returns a render kit for adapters\n * - single stable classname; no modifiers in current Figma spec\n */\n\nimport type { CardOptions, CardRenderKit } from \"./card-types\"\n\nexport function createCardRecipe(opts: CardOptions = {}): CardRenderKit {\n return {\n tag: \"div\",\n className: \"mw-card\",\n vars: {},\n dataAttributes: {\n ...opts.dataAttributes,\n \"data-component\": \"card\",\n },\n }\n}\n","import type { DialogA11yProps, DialogOptions } from \"./dialog-types\"\n\nexport function resolveDialogA11y(opts: DialogOptions): DialogA11yProps {\n const a11y: DialogA11yProps = {\n role: \"dialog\",\n }\n\n if (opts.modal) {\n a11y.ariaModal = true\n }\n\n if (opts.ariaLabel) {\n a11y.ariaLabel = opts.ariaLabel\n }\n\n if (opts.ariaLabelledBy) {\n a11y.ariaLabelledBy = opts.ariaLabelledBy\n }\n\n if (opts.ariaDescribedBy) {\n a11y.ariaDescribedBy = opts.ariaDescribedBy\n }\n\n return a11y\n}\n","import { createFamilySemanticAttributes } from \"../../../semantics\"\nimport { resolveDialogA11y } from \"./dialog-a11y\"\nimport type { DialogOptions, DialogRenderKit } from \"./dialog-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createDialogRecipe(opts: DialogOptions = {}): DialogRenderKit {\n const size = opts.size ?? \"medium\"\n const showFooter = opts.showFooter ?? true\n const showCloseButton = opts.dismissible ?? true\n\n return {\n tag: \"section\",\n className: cx(\n \"mw-dialog\",\n `mw-dialog--${size}`,\n showFooter ? \"mw-dialog--with-footer\" : \"mw-dialog--without-footer\",\n showCloseButton && \"mw-dialog--dismissible\",\n ),\n vars: {},\n size,\n showFooter,\n showCloseButton,\n a11y: resolveDialogA11y(opts),\n dataAttributes: {\n ...createFamilySemanticAttributes(\"dialog\", {\n \"data-size\": size,\n }),\n \"data-footer\": showFooter ? \"true\" : \"false\",\n \"data-dismissible\": showCloseButton ? \"true\" : \"false\",\n ...opts.dataAttributes,\n },\n }\n}\n","import type { ToastA11yProps, ToastOptions } from \"./toast-types\"\n\nexport function resolveToastA11y(opts: ToastOptions): ToastA11yProps {\n const ariaLive = opts.ariaLive ?? \"polite\"\n return {\n role: ariaLive === \"assertive\" ? \"alert\" : \"status\",\n ariaLive,\n ariaAtomic: true,\n }\n}\n","/**\n * Toast core recipe:\n * - returns a render kit for adapters\n * - stable classnames, variant modifier classes, aria-live wiring\n */\n\nimport { createFamilySemanticAttributes } from \"../../../semantics\"\nimport { resolveToastA11y } from \"./toast-a11y\"\nimport type { ToastOptions, ToastRenderKit } from \"./toast-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createToastRecipe(opts: ToastOptions): ToastRenderKit {\n const variant = opts.variant ?? \"outline\"\n return {\n tag: \"div\",\n className: cx(\"mw-toast\", `mw-toast--${variant}`),\n vars: {},\n a11y: resolveToastA11y(opts),\n dataAttributes: createFamilySemanticAttributes(\"toast\", {\n \"data-variant\": variant,\n }),\n }\n}\n","import type { TooltipA11yProps, TooltipOptions } from \"./tooltip-types\"\n\nexport function resolveTooltipA11y(options: TooltipOptions = {}): TooltipA11yProps {\n return {\n ...(options.id ? { id: options.id } : {}),\n role: \"tooltip\",\n }\n}\n","import { resolveTooltipA11y } from \"./tooltip-a11y\"\nimport type { TooltipOptions, TooltipRenderKit } from \"./tooltip-types\"\n\nexport function createTooltipRecipe(options: TooltipOptions = {}): TooltipRenderKit {\n return {\n tag: \"span\",\n className: \"mw-tooltip\",\n vars: {},\n a11y: resolveTooltipA11y(options),\n dataAttributes: {\n \"data-component\": \"tooltip\",\n },\n }\n}\n","import type { BadgeA11yProps, BadgeOptions } from \"./badge-types\"\n\nexport function resolveBadgeA11y(opts: BadgeOptions): BadgeA11yProps {\n const a11y: BadgeA11yProps = {}\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n return a11y\n}\n","/**\n * Badge core recipe:\n * - returns a render kit for adapters\n * - stable classnames, variant modifier classes\n */\n\nimport { createFamilySemanticAttributes } from \"../../../semantics\"\nimport { resolveBadgeA11y } from \"./badge-a11y\"\nimport type { BadgeOptions, BadgeRenderKit } from \"./badge-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createBadgeRecipe(opts: BadgeOptions): BadgeRenderKit {\n const variant = opts.variant ?? \"neutral\"\n return {\n tag: \"span\",\n className: cx(\"mw-badge\", `mw-badge--${variant}`),\n vars: {},\n a11y: resolveBadgeA11y(opts),\n dataAttributes: createFamilySemanticAttributes(\"badge\", {\n \"data-variant\": variant,\n }),\n }\n}\n","/**\n * Core types for Badge.\n * - Core never renders; it returns a render kit consumed by adapters (React/Vue).\n */\n\n/**\n * Badge visual variant.\n * Use `BadgeVariant.success` for type-safe access.\n */\nexport const BadgeVariant = {\n neutral: \"neutral\",\n info: \"info\",\n success: \"success\",\n warning: \"warning\",\n error: \"error\",\n} as const\nexport type BadgeVariant = (typeof BadgeVariant)[keyof typeof BadgeVariant]\n\nexport interface BadgeOptions {\n variant?: BadgeVariant\n /** For numeric/icon-only badges without visible text context */\n ariaLabel?: string\n}\n\nexport interface BadgeA11yProps {\n ariaLabel?: string\n}\n\nexport interface BadgeRenderKit {\n tag: \"span\"\n className: string\n vars: Record<string, string>\n a11y: BadgeA11yProps\n dataAttributes: Record<string, string>\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport type { IconName } from \"../icon/icon-types\"\nimport type { SpinnerVariant } from \"../spinner/spinner-types\"\n\n/**\n * Button size options.\n * Use `ButtonSize.md` for type-safe access.\n */\nexport const ButtonSize = {\n xs: \"xs\",\n sm: \"sm\",\n md: \"md\",\n lg: \"lg\",\n} as const\nexport type ButtonSize = (typeof ButtonSize)[keyof typeof ButtonSize]\n\n/**\n * Button visual variant.\n * Use `ButtonVariant.primary` for type-safe access.\n *\n * @property primary - High-emphasis buttons for primary actions (e.g., \"Save\", \"Submit\", \"Create\").\n * Use sparingly - typically one primary action per view.\n * @property secondary - Medium-emphasis outlined buttons for secondary actions.\n * @property neutral - Low-chroma outlined buttons for neutral utility actions.\n * @property text - Minimal text-like buttons for tertiary or inline actions.\n * @property success - Positive emphasis buttons for confirm-style actions.\n *\n * @example\n * ```tsx\n * import { ButtonVariant } from \"@marwes-ui/core\"\n *\n * <Button variant={ButtonVariant.primary}>Save</Button>\n * <Button variant={ButtonVariant.secondary}>Cancel</Button>\n * ```\n */\nexport const ButtonVariant = {\n primary: \"primary\",\n secondary: \"secondary\",\n neutral: \"neutral\",\n text: \"text\",\n success: \"success\",\n} as const\nexport type ButtonVariant = (typeof ButtonVariant)[keyof typeof ButtonVariant]\n\n/**\n * Button semantic action for AI-friendly context.\n * Prefer using semantic components (CancelButton, SubmitButton, etc.) which set this automatically.\n * Use `ButtonAction.submit` directly only for advanced/dynamic cases.\n *\n * These values are used to:\n * - Set appropriate `data-action` attributes for AI parsing\n * - Provide semantic context for accessibility tools\n * - Enable smart defaults in semantic button variants\n *\n * @property submit - Form submissions. Automatically sets `type=\"submit\"`. Recommended icon: `IconName.Check`\n * @property reset - Form resets. Recommended icon: `IconName.RotateLeft`\n * @property button - Generic button action (default for `<button>` elements)\n * @property navigate - Navigation/routing actions. Used with `<a>` elements and native link semantics. Recommended icon: `IconName.ArrowRight`\n * @property delete - Destructive operations (delete, remove). Should trigger confirmation. Recommended icon: `IconName.Trash` or `IconName.Minus`\n * @property create - Creation actions (add, new). Recommended icon: `IconName.Plus`\n * @property edit - Edit/modify actions. Recommended icon: `IconName.Edit`\n * @property cancel - Cancel/dismiss actions. Recommended icon: `IconName.X`\n *\n * @example\n * ```tsx\n * import { ButtonAction, IconName } from \"@marwes-ui/core\"\n *\n * // For advanced/dynamic use cases:\n * <Button action={ButtonAction.delete} iconRight={IconName.Trash}>Delete</Button>\n *\n * // Prefer semantic variants when possible:\n * <DestructiveButton>Delete Project</DestructiveButton> // Sets action=\"delete\" automatically\n * ```\n */\nexport const ButtonAction = {\n submit: \"submit\",\n reset: \"reset\",\n button: \"button\",\n navigate: \"navigate\",\n delete: \"delete\",\n create: \"create\",\n edit: \"edit\",\n cancel: \"cancel\",\n} as const\nexport type ButtonAction = (typeof ButtonAction)[keyof typeof ButtonAction]\n\nexport interface ButtonLoadingOptions {\n isLoading: boolean\n disableWhileLoading?: boolean\n spinnerVariant?: SpinnerVariant\n loadingLabel?: string\n}\n\nexport interface ResolvedButtonLoading {\n isLoading: boolean\n disableWhileLoading: boolean\n spinnerVariant: SpinnerVariant\n loadingLabel?: string\n}\n\nexport type ButtonOptions = {\n as?: \"button\" | \"a\"\n href?: string\n\n size?: ButtonSize\n variant?: ButtonVariant\n\n disabled?: boolean\n loading?: boolean | ButtonLoadingOptions\n error?: boolean\n\n toggle?: boolean\n pressed?: boolean\n\n ariaLabel?: string\n hasVisibleText?: boolean\n\n ariaExpanded?: boolean\n ariaControls?: string\n\n // Icon support\n iconLeft?: IconName\n iconRight?: IconName\n iconOnly?: boolean\n\n // AI-Friendly attributes (Level 3)\n action?: ButtonAction\n tooltip?: string\n confirmation?: boolean\n\n // Custom data attributes for semantic variants\n dataAttributes?: Record<string, string | boolean | undefined>\n}\n\nexport type ButtonA11yProps = {\n ariaLabel?: string\n ariaBusy?: boolean\n ariaDisabled?: boolean\n ariaPressed?: boolean\n ariaExpanded?: boolean\n ariaControls?: string\n title?: string | undefined\n\n // <button>\n disabled?: boolean\n type?: \"button\" | \"submit\" | \"reset\"\n\n // <a>\n href?: string\n role?: \"link\"\n tabIndex?: 0 | -1\n}\n\nexport type ButtonRenderKit = {\n tag: \"button\" | \"a\"\n className: string\n vars: CssVars\n a11y: ButtonA11yProps\n loading: ResolvedButtonLoading\n blockClick: boolean\n dataAttributes?: Record<string, string | boolean | undefined>\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\n\nexport const SpinnerVariants = {\n classic: \"classic\",\n ring: \"ring\",\n dual: \"dual\",\n dotsRound: \"dots-round\",\n dotsSquare: \"dots-square\",\n lines: \"lines\",\n cross: \"cross\",\n} as const\n\nexport const SpinnerVariant = SpinnerVariants\nexport type SpinnerVariant = (typeof SpinnerVariants)[keyof typeof SpinnerVariants]\n\nexport const spinnerVariants = Object.values(SpinnerVariants) as SpinnerVariant[]\n\nexport const spinnerSizeScale = {\n xs: 16,\n sm: 24,\n md: 32,\n lg: 40,\n} as const\nexport type SpinnerSize = keyof typeof spinnerSizeScale\n\nexport const spinnerSizes = Object.keys(spinnerSizeScale) as SpinnerSize[]\n\nexport function resolveSpinnerSize(size: SpinnerSize | number): number {\n if (typeof size === \"number\") {\n return size\n }\n\n return spinnerSizeScale[size]\n}\n\nexport interface SpinnerOptions {\n /**\n * Visual style from the synced Spinner showcase.\n * Defaults to `classic`, which is also the loading-button treatment in Figma.\n */\n variant?: SpinnerVariant\n\n /**\n * Spinner scale token (`xs`/`sm`/`md`/`lg`) or an explicit pixel size.\n * Scale mapping: xs=16, sm=24, md=32, lg=40.\n */\n size?: SpinnerSize | number\n\n /**\n * Hide the spinner from assistive technology when nearby text already explains loading.\n * Defaults to `true` unless an explicit `ariaLabel` is provided.\n */\n decorative?: boolean\n\n /**\n * Accessible name when the spinner should announce loading state on its own.\n */\n ariaLabel?: string\n\n id?: string\n}\n\nexport interface SpinnerA11yProps {\n id?: string\n role?: \"status\"\n ariaHidden?: true\n ariaLabel?: string\n ariaLive?: \"polite\"\n}\n\nexport interface SpinnerDataAttributes {\n \"data-component\": \"spinner\"\n \"data-variant\": SpinnerVariant\n \"data-size\": SpinnerSize | \"custom\"\n}\n\nexport type SpinnerSvgElement = \"circle\" | \"path\" | \"rect\"\n\nexport interface SpinnerSvgNode {\n tag: SpinnerSvgElement\n attrs: Record<string, string>\n}\n\nexport interface SpinnerSvgDefinition {\n viewBox: \"0 0 24 24\"\n nodes: readonly SpinnerSvgNode[]\n}\n\nexport interface SpinnerRenderKit {\n tag: \"span\"\n className: string\n vars: CssVars\n a11y: SpinnerA11yProps\n dataAttributes: SpinnerDataAttributes\n svg: SpinnerSvgDefinition\n}\n","import { SpinnerVariants } from \"../spinner/spinner-types\"\nimport type { ButtonLoadingOptions, ResolvedButtonLoading } from \"./button-types\"\n\nexport function resolveButtonLoading(\n loading?: boolean | ButtonLoadingOptions,\n): ResolvedButtonLoading {\n if (!loading) {\n return {\n isLoading: false,\n disableWhileLoading: true,\n spinnerVariant: SpinnerVariants.classic,\n }\n }\n\n if (loading === true) {\n return {\n isLoading: true,\n disableWhileLoading: true,\n spinnerVariant: SpinnerVariants.classic,\n }\n }\n\n return {\n isLoading: loading.isLoading,\n disableWhileLoading: loading.disableWhileLoading ?? true,\n spinnerVariant: loading.spinnerVariant ?? SpinnerVariants.classic,\n ...(loading.loadingLabel !== undefined ? { loadingLabel: loading.loadingLabel } : {}),\n }\n}\n","// packages/core/src/components/button/button-a11y.ts\nimport type { ButtonA11yProps, ButtonOptions, ResolvedButtonLoading } from \"./button-types\"\n\nfunction isDev(): boolean {\n // Works in Node + bundlers without requiring @types/node\n const p = (\n globalThis as unknown as {\n process?: { env?: Record<string, string | undefined> }\n }\n ).process\n\n const nodeEnv = p?.env?.NODE_ENV\n if (nodeEnv) return nodeEnv !== \"production\"\n\n // Fallback for some bundlers (typed as unknown to avoid depending on Vite types)\n const meta = import.meta as unknown as {\n env?: { MODE?: string; PROD?: boolean }\n }\n if (typeof meta.env?.PROD === \"boolean\") return !meta.env.PROD\n if (meta.env?.MODE) return meta.env.MODE !== \"production\"\n\n // Default to dev-like behavior if unknown\n return true\n}\n\nconst __DEV__ = isDev()\n\nexport function resolveButtonA11y(\n opts: ButtonOptions,\n resolvedLoading: ResolvedButtonLoading,\n): {\n tag: \"button\" | \"a\"\n a11y: ButtonA11yProps\n blockClick: boolean\n} {\n const tag: \"button\" | \"a\" = opts.as === \"a\" || !!opts.href ? \"a\" : \"button\"\n const isDisabled =\n !!opts.disabled || (resolvedLoading.isLoading && resolvedLoading.disableWhileLoading)\n\n if (__DEV__) {\n const iconOnly = opts.iconOnly || opts.hasVisibleText === false\n const loadingAccessibleLabel = resolvedLoading.isLoading\n ? resolvedLoading.loadingLabel\n : undefined\n\n if (iconOnly && !opts.ariaLabel && !loadingAccessibleLabel) {\n // Development warning for accessibility\n console.warn(\"[marwes] Icon-only Button requires ariaLabel, or loadingLabel while loading.\")\n }\n }\n\n // Build common props without assigning `undefined` (exactOptionalPropertyTypes-safe)\n const common: ButtonA11yProps = {}\n\n if (opts.ariaLabel) common.ariaLabel = opts.ariaLabel\n if (resolvedLoading.isLoading) common.ariaBusy = true\n if (isDisabled) common.ariaDisabled = true\n\n if (opts.toggle) common.ariaPressed = !!opts.pressed\n if (opts.ariaExpanded !== undefined) common.ariaExpanded = opts.ariaExpanded\n if (opts.ariaControls) common.ariaControls = opts.ariaControls\n\n if (tag === \"button\") {\n const nativeButtonType =\n opts.action === \"submit\" ? \"submit\" : opts.action === \"reset\" ? \"reset\" : \"button\"\n\n const a11y: ButtonA11yProps = { ...common, type: nativeButtonType }\n if (isDisabled) a11y.disabled = true\n\n return { tag, a11y, blockClick: false }\n }\n\n const a11y: ButtonA11yProps = {\n ...common,\n }\n\n if (!isDisabled && opts.href) {\n a11y.href = opts.href\n } else {\n a11y.role = \"link\"\n a11y.tabIndex = isDisabled ? -1 : 0\n }\n\n return { tag: \"a\", a11y, blockClick: isDisabled }\n}\n","import { createFamilySemanticAttributes } from \"../../../semantics\"\nimport { resolveButtonA11y } from \"./button-a11y\"\nimport { resolveButtonLoading } from \"./button-loading\"\nimport type { ButtonOptions, ButtonRenderKit } from \"./button-types\"\n\nexport function createButtonRecipe(opts: ButtonOptions): ButtonRenderKit {\n const resolvedLoading = resolveButtonLoading(opts.loading)\n const { tag, a11y, blockClick } = resolveButtonA11y(opts, resolvedLoading)\n\n const size = opts.size ?? \"md\"\n const variant = opts.variant ?? \"primary\"\n const action = opts.action ?? (tag === \"button\" ? \"button\" : \"navigate\")\n\n return {\n tag,\n blockClick,\n loading: resolvedLoading,\n a11y: {\n ...a11y,\n title:\n opts.tooltip ||\n (opts.iconOnly\n ? (a11y.ariaLabel ??\n (resolvedLoading.isLoading ? resolvedLoading.loadingLabel : undefined))\n : undefined),\n },\n className: [\n \"mw-btn\",\n `mw-btn--${size}`,\n `mw-btn--${variant}`,\n opts.error ? \"mw-btn--error\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \"),\n dataAttributes: {\n ...createFamilySemanticAttributes(\"button\", {\n \"data-action\": action,\n \"data-variant\": variant,\n \"data-size\": size,\n }),\n \"data-error\": opts.error ? \"true\" : undefined,\n ...opts.dataAttributes,\n },\n vars: {},\n }\n}\n","import type { RadioA11y, RadioOptions } from \"./radio-types\"\n\nexport function buildRadioA11y(opts: RadioOptions): RadioA11y {\n const a11y: RadioA11y = { type: \"radio\" }\n\n if (opts.id) a11y.id = opts.id\n if (opts.name) a11y.name = opts.name\n if (opts.value) a11y.value = opts.value\n if (opts.disabled) a11y.disabled = true\n if (opts.required) a11y.required = true\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.ariaLabelledBy) a11y.ariaLabelledBy = opts.ariaLabelledBy\n if (opts.ariaDescribedBy) a11y.ariaDescribedBy = opts.ariaDescribedBy\n if (opts.invalid) a11y.ariaInvalid = true\n\n return a11y\n}\n","/**\n * Radio core recipe:\n * - returns a render kit for adapters\n * - stable classnames, modifier classes, strict a11y\n */\n\nimport { buildRadioA11y } from \"./radio-a11y\"\nimport type { RadioOptions, RadioRenderKit } from \"./radio-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function radioRecipe({\n disabled = false,\n invalid = false,\n ...opts\n}: RadioOptions): RadioRenderKit {\n const className = cx(\"mw-radio\", disabled && \"mw-radio--disabled\", invalid && \"mw-radio--invalid\")\n\n const kit: RadioRenderKit = {\n tag: \"input\",\n className,\n vars: {},\n a11y: buildRadioA11y({ disabled, invalid, ...opts }),\n }\n\n if (opts.checked !== undefined) {\n kit.checked = opts.checked\n } else if (opts.defaultChecked !== undefined) {\n kit.defaultChecked = opts.defaultChecked\n }\n\n return kit\n}\n","import type { SwitchA11yProps, SwitchOptions } from \"./switch-types\"\n\nexport function resolveSwitchA11y(opts: SwitchOptions): SwitchA11yProps {\n const a11y: SwitchA11yProps = {\n role: \"switch\",\n ariaChecked: opts.checked ?? false,\n }\n\n if (opts.disabled) a11y.ariaDisabled = true\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.ariaLabelledby) a11y.ariaLabelledby = opts.ariaLabelledby\n if (opts.ariaDescribedBy) a11y.ariaDescribedBy = opts.ariaDescribedBy\n\n return a11y\n}\n","/**\n * Core types for Switch.\n * - Core never renders; it returns a render kit consumed by adapters (React/Vue).\n */\n\nexport const SwitchSize = {\n compact: \"compact\",\n wide: \"wide\",\n rich: \"rich\",\n} as const\nexport type SwitchSize = (typeof SwitchSize)[keyof typeof SwitchSize]\n\nexport interface SwitchOptions {\n size?: SwitchSize\n checked?: boolean\n disabled?: boolean\n /** Required when no visible label text is provided */\n ariaLabel?: string\n ariaLabelledby?: string\n ariaDescribedBy?: string\n}\n\nexport interface SwitchA11yProps {\n role: \"switch\"\n ariaChecked: boolean\n ariaDisabled?: true\n ariaLabel?: string\n ariaLabelledby?: string\n ariaDescribedBy?: string\n}\n\nexport interface SwitchRenderKit {\n tag: \"button\"\n className: string\n vars: Record<string, string>\n a11y: SwitchA11yProps\n}\n","/**\n * Switch core recipe:\n * - returns a render kit for adapters\n * - stable classnames, modifier classes, strict a11y (role=\"switch\")\n */\n\nimport { resolveSwitchA11y } from \"./switch-a11y\"\nimport { SwitchSize } from \"./switch-types\"\nimport type { SwitchOptions, SwitchRenderKit } from \"./switch-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createSwitchRecipe(opts: SwitchOptions): SwitchRenderKit {\n const size = opts.size ?? SwitchSize.compact\n\n return {\n tag: \"button\",\n className: cx(\n \"mw-switch\",\n `mw-switch--${size}`,\n opts.checked && \"mw-switch--checked\",\n opts.disabled && \"mw-switch--disabled\",\n ),\n vars: {},\n a11y: resolveSwitchA11y(opts),\n }\n}\n","import type { SliderA11yProps, SliderOptions } from \"./slider-types\"\n\nconst DEFAULT_SLIDER_MIN = 0\nconst DEFAULT_SLIDER_MAX = 100\nconst DEFAULT_SLIDER_STEP = 1\n\nfunction resolveSliderMin(value: number | undefined): number {\n if (value === undefined || !Number.isFinite(value)) {\n return DEFAULT_SLIDER_MIN\n }\n\n return value\n}\n\nfunction resolveSliderMax(value: number | undefined, min: number): number {\n if (value === undefined || !Number.isFinite(value)) {\n return DEFAULT_SLIDER_MAX >= min ? DEFAULT_SLIDER_MAX : min\n }\n\n return value >= min ? value : min\n}\n\nfunction resolveSliderStep(value: number | undefined): number {\n if (value === undefined || !Number.isFinite(value) || value <= 0) {\n return DEFAULT_SLIDER_STEP\n }\n\n return value\n}\n\nexport function resolveSliderA11y(opts: SliderOptions): SliderA11yProps {\n const min = resolveSliderMin(opts.min)\n const max = resolveSliderMax(opts.max, min)\n const step = resolveSliderStep(opts.step)\n\n const a11y: SliderA11yProps = {\n type: \"range\",\n min,\n max,\n step,\n }\n\n if (opts.id) a11y.id = opts.id\n if (opts.name) a11y.name = opts.name\n if (opts.disabled) a11y.disabled = true\n if (opts.required) a11y.required = true\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.ariaLabelledBy) a11y.ariaLabelledBy = opts.ariaLabelledBy\n if (opts.ariaDescribedBy) a11y.ariaDescribedBy = opts.ariaDescribedBy\n if (opts.ariaValueText) a11y.ariaValueText = opts.ariaValueText\n if (opts.orientation === \"vertical\") a11y.ariaOrientation = \"vertical\"\n\n return a11y\n}\n","import { resolveSliderA11y } from \"./slider-a11y\"\nimport type { SliderOptions, SliderRenderKit } from \"./slider-types\"\n\nfunction clampSliderValue(value: number, min: number, max: number): number {\n return Math.min(max, Math.max(min, value))\n}\n\nfunction resolveSliderCurrentValue(opts: SliderOptions, min: number, max: number): number {\n const fallbackValue = min + (max - min) / 2\n const candidateValue = opts.value ?? opts.defaultValue ?? fallbackValue\n\n if (!Number.isFinite(candidateValue)) {\n return fallbackValue\n }\n\n return clampSliderValue(candidateValue, min, max)\n}\n\nfunction resolveSliderFillPercentage(currentValue: number, min: number, max: number): number {\n const range = max - min\n\n if (range <= 0) {\n return 0\n }\n\n return ((currentValue - min) / range) * 100\n}\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createSliderRecipe(opts: SliderOptions = {}): SliderRenderKit {\n const a11y = resolveSliderA11y(opts)\n const currentValue = resolveSliderCurrentValue(opts, a11y.min, a11y.max)\n const fillPercentage = resolveSliderFillPercentage(currentValue, a11y.min, a11y.max)\n const showTooltip = opts.showTooltip === true\n const showTouchArea = opts.showTouchArea === true\n const orientation = opts.orientation ?? \"horizontal\"\n\n return {\n tag: \"div\",\n className: cx(\n \"mw-slider\",\n `mw-slider--${orientation}`,\n opts.disabled && \"mw-slider--disabled\",\n showTooltip && \"mw-slider--with-tooltip\",\n showTouchArea && \"mw-slider--with-touch-area\",\n ),\n inputClassName: \"mw-slider__native\",\n vars: {\n \"--mw-slider-fill-percentage\": `${fillPercentage}%`,\n },\n a11y,\n dataAttributes: {\n \"data-component\": \"slider\",\n \"data-orientation\": orientation,\n ...(showTooltip ? { \"data-show-tooltip\": \"true\" } : {}),\n ...(showTouchArea ? { \"data-show-touch-area\": \"true\" } : {}),\n },\n value: currentValue,\n showTooltip,\n showTouchArea,\n orientation,\n }\n}\n","/**\n * Builds strict a11y output for Checkbox.\n * - Avoid assigning `undefined` to optional fields (exactOptionalPropertyTypes).\n */\n\nimport type { CheckboxA11y, CheckboxProps } from \"./checkbox-types\"\n\nexport function buildCheckboxA11y(props: CheckboxProps): CheckboxA11y {\n const a11y: CheckboxA11y = {\n type: \"checkbox\",\n }\n\n if (props.id) a11y.id = props.id\n if (props.name) a11y.name = props.name\n if (props.value) a11y.value = props.value\n\n if (props.disabled) a11y.disabled = true\n if (props.required) a11y.required = true\n\n if (props.ariaLabel) a11y.ariaLabel = props.ariaLabel\n if (props.ariaLabelledBy) a11y.ariaLabelledBy = props.ariaLabelledBy\n if (props.ariaDescribedBy) a11y.ariaDescribedBy = props.ariaDescribedBy\n\n // Mixed state: use aria-checked=\"mixed\".\n // For checked/unchecked we omit ariaChecked and rely on native input semantics.\n if (props.indeterminate) a11y.ariaChecked = \"mixed\"\n\n if (props.invalid) a11y.ariaInvalid = true\n\n return a11y\n}\n","/**\n * Checkbox core recipe:\n * - returns a render kit for adapters\n * - stable classnames, modifier classes, css vars, strict a11y\n */\n\nimport { buildCheckboxA11y } from \"./checkbox-a11y\"\nimport type { CheckboxProps, CheckboxRenderKit } from \"./checkbox-types\"\n\nfunction cx(...parts: Array<string | false>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function checkboxRecipe({\n disabled = false,\n invalid = false,\n ...props\n}: CheckboxProps): CheckboxRenderKit {\n const size = props.size ?? \"md\"\n\n const className = cx(\n \"mw-checkbox\",\n size === \"sm\" && \"mw-checkbox--sm\",\n size === \"md\" && \"mw-checkbox--md\",\n size === \"lg\" && \"mw-checkbox--lg\",\n disabled && \"mw-checkbox--disabled\",\n invalid && \"mw-checkbox--invalid\",\n )\n\n const a11y = buildCheckboxA11y({ disabled, invalid, ...props })\n const vars = {}\n\n // Controlled vs uncontrolled:\n // - If `checked` is present, adapter should pass it through and handle onChange.\n // - Otherwise adapter can use `defaultChecked` or leave it uncontrolled.\n const kit: CheckboxRenderKit = {\n tag: \"input\",\n className,\n vars,\n a11y,\n indeterminate: props.indeterminate ?? false,\n }\n\n if (props.checked !== undefined) {\n kit.checked = props.checked\n } else if (props.defaultChecked !== undefined) {\n kit.defaultChecked = props.defaultChecked\n }\n\n return kit\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport type {\n DividerOptions,\n DividerOrientation,\n DividerRenderKit,\n DividerSize,\n} from \"./divider-types\"\n\nconst DIVIDER_LINE_THICKNESS_PX = 1\n\nconst DIVIDER_SPACING_BY_SIZE: Record<DividerSize, number> = {\n xxs: 1,\n xs: 8,\n sm: 16,\n md: 32,\n lg: 48,\n xl: 64,\n xxl: 80,\n}\n\nexport function createDividerRecipe(options: DividerOptions = {}): DividerRenderKit {\n const size: DividerSize = options.size ?? \"md\"\n const orientation: DividerOrientation = options.orientation ?? \"horizontal\"\n\n const vars: CssVars = {\n \"--mw-divider-line-thickness\": `${DIVIDER_LINE_THICKNESS_PX}px`,\n \"--mw-divider-spacing\": `${DIVIDER_SPACING_BY_SIZE[size]}px`,\n }\n\n return {\n tag: \"hr\",\n className: [\"mw-divider\", `mw-divider--${orientation}`, `mw-divider--${size}`].join(\" \"),\n vars,\n a11y: {\n ...(options.id ? { id: options.id } : {}),\n role: \"separator\",\n \"aria-orientation\": orientation,\n },\n dataAttributes: {\n \"data-component\": \"divider\",\n \"data-orientation\": orientation,\n \"data-size\": size,\n },\n }\n}\n","import type { SpinnerA11yProps, SpinnerOptions } from \"./spinner-types\"\n\nfunction isDev(): boolean {\n const p = (\n globalThis as unknown as {\n process?: { env?: Record<string, string | undefined> }\n }\n ).process\n\n const nodeEnv = p?.env?.NODE_ENV\n if (nodeEnv) return nodeEnv !== \"production\"\n\n const meta = import.meta as unknown as {\n env?: { MODE?: string; PROD?: boolean }\n }\n if (typeof meta.env?.PROD === \"boolean\") return !meta.env.PROD\n if (meta.env?.MODE) return meta.env.MODE !== \"production\"\n\n return true\n}\n\nconst __DEV__ = isDev()\n\nexport function resolveSpinnerA11y(options: SpinnerOptions = {}): SpinnerA11yProps {\n if (options.decorative === true) {\n return {\n ...(options.id ? { id: options.id } : {}),\n ariaHidden: true,\n }\n }\n\n if (options.ariaLabel) {\n return {\n ...(options.id ? { id: options.id } : {}),\n role: \"status\",\n ariaLabel: options.ariaLabel,\n ariaLive: \"polite\",\n }\n }\n\n // decorative={false} without ariaLabel still hides the spinner because there\n // is no fallback announced text. Warn in development so teams catch this early.\n if (__DEV__ && options.decorative === false) {\n console.warn(\n \"[marwes] Spinner: decorative={false} was passed without ariaLabel. \" +\n \"The spinner stays hidden from assistive technology unless ariaLabel is also provided.\",\n )\n }\n\n return {\n ...(options.id ? { id: options.id } : {}),\n ariaHidden: true,\n }\n}\n","import { SpinnerVariant } from \"./spinner-types\"\nimport type {\n SpinnerSvgDefinition,\n SpinnerSvgNode,\n SpinnerVariant as SpinnerVariantValue,\n} from \"./spinner-types\"\n\nconst INDICATOR_COLOR = \"var(--mw-spinner-indicator-color)\"\nconst TRACK_COLOR = \"var(--mw-spinner-track-color)\"\n\nfunction createCircleNode(attrs: Record<string, string>): SpinnerSvgNode {\n return {\n tag: \"circle\",\n attrs,\n }\n}\n\nfunction createRectNode(attrs: Record<string, string>): SpinnerSvgNode {\n return {\n tag: \"rect\",\n attrs,\n }\n}\n\nfunction createClassicNodes(): readonly SpinnerSvgNode[] {\n return [\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: TRACK_COLOR,\n strokeWidth: \"2\",\n }),\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: INDICATOR_COLOR,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeDasharray: \"15.7 47.1\",\n }),\n ]\n}\n\nfunction createRingNodes(): readonly SpinnerSvgNode[] {\n return [\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: INDICATOR_COLOR,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeDasharray: \"31.4 31.4\",\n }),\n ]\n}\n\nfunction createDualNodes(): readonly SpinnerSvgNode[] {\n return [\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: TRACK_COLOR,\n strokeWidth: \"2\",\n }),\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: INDICATOR_COLOR,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeDasharray: \"15.7 47.1\",\n }),\n createCircleNode({\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n fill: \"none\",\n stroke: INDICATOR_COLOR,\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeDasharray: \"15.7 47.1\",\n strokeDashoffset: \"-31.4\",\n opacity: \"0.5\",\n }),\n ]\n}\n\nfunction createDotsRoundNodes(): readonly SpinnerSvgNode[] {\n const segmentDefinitions = [\n { cx: \"12\", cy: \"3.5\", opacity: \"1\" },\n { cx: \"18.5\", cy: \"5.5\", opacity: \"0.46875\" },\n { cx: \"20.5\", cy: \"12\", opacity: \"0.3625\" },\n { cx: \"18.5\", cy: \"18.5\", opacity: \"0.15\" },\n { cx: \"12\", cy: \"20.5\", opacity: \"0.575\" },\n { cx: \"5.5\", cy: \"18.5\", opacity: \"0.7875\" },\n { cx: \"3.5\", cy: \"12\", opacity: \"0.68125\" },\n { cx: \"5.5\", cy: \"5.5\", opacity: \"0.25625\" },\n ]\n\n return segmentDefinitions.map((segmentDefinition) =>\n createCircleNode({\n ...segmentDefinition,\n r: \"2\",\n fill: INDICATOR_COLOR,\n }),\n )\n}\n\nfunction createDotsSquareNodes(): readonly SpinnerSvgNode[] {\n return [\n createRectNode({\n x: \"10\",\n y: \"1.5\",\n width: \"4\",\n height: \"5\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.89375\",\n }),\n createRectNode({\n x: \"15.1\",\n y: \"4.4\",\n width: \"4.8\",\n height: \"4.8\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.46875\",\n }),\n createRectNode({\n x: \"18.5\",\n y: \"10\",\n width: \"5\",\n height: \"4\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.3625\",\n }),\n createRectNode({\n x: \"15.1\",\n y: \"14.8\",\n width: \"4.8\",\n height: \"4.8\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.15\",\n }),\n createRectNode({\n x: \"10\",\n y: \"17.5\",\n width: \"4\",\n height: \"5\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.575\",\n }),\n createRectNode({\n x: \"4.1\",\n y: \"14.8\",\n width: \"4.8\",\n height: \"4.8\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.7875\",\n }),\n createRectNode({\n x: \"0.5\",\n y: \"10\",\n width: \"5\",\n height: \"4\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.68125\",\n }),\n createRectNode({\n x: \"4.1\",\n y: \"4.4\",\n width: \"4.8\",\n height: \"4.8\",\n rx: \"1.5\",\n fill: INDICATOR_COLOR,\n opacity: \"0.25625\",\n }),\n ]\n}\n\nfunction createLinesNodes(): readonly SpinnerSvgNode[] {\n const lineDefinitions = [\n { angle: 0, opacity: \"0.89375\" },\n { angle: 45, opacity: \"0.15\" },\n { angle: 90, opacity: \"0.25625\" },\n { angle: 135, opacity: \"0.3625\" },\n { angle: 180, opacity: \"0.46875\" },\n { angle: 225, opacity: \"0.575\" },\n { angle: 270, opacity: \"0.68125\" },\n { angle: 315, opacity: \"0.7875\" },\n ]\n\n return lineDefinitions.map((lineDefinition) =>\n createRectNode({\n x: \"11\",\n y: \"1.5\",\n width: \"2\",\n height: \"5.5\",\n rx: \"1\",\n fill: INDICATOR_COLOR,\n opacity: lineDefinition.opacity,\n transform: `rotate(${lineDefinition.angle} 12 12)`,\n }),\n )\n}\n\nfunction createCrossNodes(): readonly SpinnerSvgNode[] {\n return [\n createRectNode({\n x: \"10.25\",\n y: \"1.5\",\n width: \"3.5\",\n height: \"7\",\n rx: \"1\",\n fill: INDICATOR_COLOR,\n opacity: \"1\",\n }),\n createRectNode({\n x: \"15.5\",\n y: \"10.25\",\n width: \"7\",\n height: \"3.5\",\n rx: \"1\",\n fill: INDICATOR_COLOR,\n opacity: \"0.6\",\n }),\n createRectNode({\n x: \"10.25\",\n y: \"15.5\",\n width: \"3.5\",\n height: \"7\",\n rx: \"1\",\n fill: INDICATOR_COLOR,\n opacity: \"0.4\",\n }),\n createRectNode({\n x: \"1.5\",\n y: \"10.25\",\n width: \"7\",\n height: \"3.5\",\n rx: \"1\",\n fill: INDICATOR_COLOR,\n opacity: \"0.2\",\n }),\n ]\n}\n\nfunction createSpinnerSvgNodes(variant: SpinnerVariantValue): readonly SpinnerSvgNode[] {\n switch (variant) {\n case SpinnerVariant.ring:\n return createRingNodes()\n case SpinnerVariant.dual:\n return createDualNodes()\n case SpinnerVariant.dotsRound:\n return createDotsRoundNodes()\n case SpinnerVariant.dotsSquare:\n return createDotsSquareNodes()\n case SpinnerVariant.lines:\n return createLinesNodes()\n case SpinnerVariant.cross:\n return createCrossNodes()\n default:\n return createClassicNodes()\n }\n}\n\nexport function createSpinnerSvgDefinition(variant: SpinnerVariantValue): SpinnerSvgDefinition {\n return {\n viewBox: \"0 0 24 24\",\n nodes: createSpinnerSvgNodes(variant),\n }\n}\n","import { resolveSpinnerA11y } from \"./spinner-a11y\"\nimport { createSpinnerSvgDefinition } from \"./spinner-svg\"\nimport { SpinnerVariant, resolveSpinnerSize } from \"./spinner-types\"\nimport type {\n SpinnerOptions,\n SpinnerRenderKit,\n SpinnerSize,\n SpinnerVariant as SpinnerVariantValue,\n} from \"./spinner-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nfunction resolveSpinnerDataSize(size: SpinnerOptions[\"size\"]): SpinnerSize | \"custom\" {\n if (typeof size === \"number\") {\n return \"custom\"\n }\n\n return size ?? \"sm\"\n}\n\nexport function createSpinnerRecipe(options: SpinnerOptions = {}): SpinnerRenderKit {\n const variant: SpinnerVariantValue = options.variant ?? SpinnerVariant.classic\n const requestedSize = options.size ?? \"sm\"\n const resolvedSize = resolveSpinnerSize(requestedSize)\n\n return {\n tag: \"span\",\n className: cx(\"mw-spinner\", `mw-spinner--${variant}`),\n vars: {\n \"--mw-spinner-size\": `${resolvedSize}px`,\n \"--mw-spinner-rotation-duration\": \"800ms\",\n },\n a11y: resolveSpinnerA11y(options),\n dataAttributes: {\n \"data-component\": \"spinner\",\n \"data-variant\": variant,\n \"data-size\": resolveSpinnerDataSize(options.size),\n },\n svg: createSpinnerSvgDefinition(variant),\n }\n}\n","import type { SkeletonA11yProps, SkeletonOptions } from \"./skeleton-types\"\n\nfunction isDev(): boolean {\n const p = (\n globalThis as unknown as {\n process?: { env?: Record<string, string | undefined> }\n }\n ).process\n\n const nodeEnv = p?.env?.NODE_ENV\n if (nodeEnv) return nodeEnv !== \"production\"\n\n const meta = import.meta as unknown as {\n env?: { MODE?: string; PROD?: boolean }\n }\n if (typeof meta.env?.PROD === \"boolean\") return !meta.env.PROD\n if (meta.env?.MODE) return meta.env.MODE !== \"production\"\n\n return true\n}\n\nconst __DEV__ = isDev()\n\nexport function resolveSkeletonA11y(options: SkeletonOptions = {}): SkeletonA11yProps {\n if (options.decorative === true) {\n return {\n ...(options.id ? { id: options.id } : {}),\n ariaHidden: true,\n }\n }\n\n if (options.ariaLabel) {\n return {\n ...(options.id ? { id: options.id } : {}),\n role: \"status\",\n ariaLabel: options.ariaLabel,\n ariaLive: \"polite\",\n }\n }\n\n if (__DEV__ && options.decorative === false) {\n console.warn(\n \"[marwes] Skeleton: decorative={false} was passed without ariaLabel. \" +\n \"The skeleton stays hidden from assistive technology unless ariaLabel is also provided.\",\n )\n }\n\n return {\n ...(options.id ? { id: options.id } : {}),\n ariaHidden: true,\n }\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\n\nexport const SkeletonVariant = {\n text: \"text\",\n circular: \"circular\",\n rectangular: \"rectangular\",\n} as const\nexport type SkeletonVariant = (typeof SkeletonVariant)[keyof typeof SkeletonVariant]\n\nexport const skeletonVariants = Object.values(SkeletonVariant) as SkeletonVariant[]\n\nexport const SkeletonAnimation = {\n pulse: \"pulse\",\n wave: \"wave\",\n none: \"none\",\n} as const\nexport type SkeletonAnimation = (typeof SkeletonAnimation)[keyof typeof SkeletonAnimation]\n\nexport const skeletonAnimations = Object.values(SkeletonAnimation) as SkeletonAnimation[]\n\nexport type SkeletonDimension = number | string\n\nexport interface SkeletonOptions {\n /** Visual shape from the synced Skeleton page. */\n variant?: SkeletonVariant\n\n /** Width of the placeholder. Numbers are interpreted as pixels. */\n width?: SkeletonDimension\n\n /** Height of the placeholder. Numbers are interpreted as pixels. */\n height?: SkeletonDimension\n\n /** Corner radius override. Numbers are interpreted as pixels. Circular skeletons force a full radius. */\n radius?: SkeletonDimension\n\n /** Visual animation. Defaults to `pulse`; use `none` for static placeholders. */\n animation?: SkeletonAnimation\n\n /** Hide the placeholder from assistive technology. Defaults to true unless `ariaLabel` is provided. */\n decorative?: boolean\n\n /** Accessible label for standalone loading placeholder groups. */\n ariaLabel?: string\n\n id?: string\n}\n\nexport interface SkeletonA11yProps {\n id?: string\n role?: \"status\"\n ariaHidden?: true\n ariaLabel?: string\n ariaLive?: \"polite\"\n}\n\nexport interface SkeletonDataAttributes {\n \"data-component\": \"skeleton\"\n \"data-variant\": SkeletonVariant\n \"data-animation\": SkeletonAnimation\n}\n\nexport interface SkeletonRenderKit {\n tag: \"span\"\n className: string\n vars: CssVars\n a11y: SkeletonA11yProps\n dataAttributes: SkeletonDataAttributes\n}\n","import { resolveSkeletonA11y } from \"./skeleton-a11y\"\nimport { SkeletonAnimation, SkeletonVariant } from \"./skeleton-types\"\nimport type {\n SkeletonAnimation as SkeletonAnimationValue,\n SkeletonDimension,\n SkeletonOptions,\n SkeletonRenderKit,\n SkeletonVariant as SkeletonVariantValue,\n} from \"./skeleton-types\"\n\nconst FIGMA_TEXT_WIDTH = 120\nconst FIGMA_TEXT_HEIGHT = 12\nconst FIGMA_CIRCULAR_SIZE = 40\nconst FIGMA_RECTANGULAR_SIZE = 120\nconst FIGMA_RADIUS = 4\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nfunction toCssDimension(value: SkeletonDimension | undefined): string | undefined {\n if (value === undefined) return undefined\n return typeof value === \"number\" ? `${value}px` : value\n}\n\nfunction resolveDefaultWidth(variant: SkeletonVariantValue): string {\n if (variant === SkeletonVariant.circular) return `${FIGMA_CIRCULAR_SIZE}px`\n return `${variant === SkeletonVariant.text ? FIGMA_TEXT_WIDTH : FIGMA_RECTANGULAR_SIZE}px`\n}\n\nfunction resolveDefaultHeight(variant: SkeletonVariantValue): string {\n if (variant === SkeletonVariant.text) return `${FIGMA_TEXT_HEIGHT}px`\n if (variant === SkeletonVariant.circular) return `${FIGMA_CIRCULAR_SIZE}px`\n return `${FIGMA_RECTANGULAR_SIZE}px`\n}\n\nfunction resolveRadius(\n variant: SkeletonVariantValue,\n radius: SkeletonDimension | undefined,\n): string {\n if (variant === SkeletonVariant.circular) return \"9999px\"\n return toCssDimension(radius) ?? `${FIGMA_RADIUS}px`\n}\n\nexport function createSkeletonRecipe(options: SkeletonOptions = {}): SkeletonRenderKit {\n const variant: SkeletonVariantValue = options.variant ?? SkeletonVariant.text\n const animation: SkeletonAnimationValue = options.animation ?? SkeletonAnimation.pulse\n\n return {\n tag: \"span\",\n className: cx(\n \"mw-skeleton\",\n `mw-skeleton--${variant}`,\n animation !== SkeletonAnimation.none && `mw-skeleton--${animation}`,\n ),\n vars: {\n \"--mw-skeleton-width\": toCssDimension(options.width) ?? resolveDefaultWidth(variant),\n \"--mw-skeleton-height\": toCssDimension(options.height) ?? resolveDefaultHeight(variant),\n \"--mw-skeleton-radius\": resolveRadius(variant, options.radius),\n },\n a11y: resolveSkeletonA11y(options),\n dataAttributes: {\n \"data-component\": \"skeleton\",\n \"data-variant\": variant,\n \"data-animation\": animation,\n },\n }\n}\n","import type { StatTileTrendDirection } from \"./stat-tile-types\"\n\nexport function resolveStatTileTrendLabel(\n direction: StatTileTrendDirection | undefined,\n trendValue: string | undefined,\n): string | undefined {\n if (!direction || !trendValue) return undefined\n return direction === \"positive\" ? `Increased by ${trendValue}` : `Decreased by ${trendValue}`\n}\n","import { resolveStatTileTrendLabel } from \"./stat-tile-a11y\"\nimport type { StatTileOptions, StatTileRenderKit, StatTileTone } from \"./stat-tile-types\"\n\nconst statTileTones = [\"neutral\", \"brand\", \"success\", \"warning\", \"danger\"] as const\n\nfunction resolveTone(tone: StatTileTone | undefined): StatTileTone {\n return tone && statTileTones.includes(tone) ? tone : \"neutral\"\n}\n\nexport function createStatTileRecipe(\n opts: StatTileOptions & { trendValue?: string } = {},\n): StatTileRenderKit {\n const tone = resolveTone(opts.tone)\n const trendDirection = opts.trendDirection\n const trendClassName = [\n \"mw-stat-tile__trend\",\n trendDirection ? `mw-stat-tile__trend--${trendDirection}` : null,\n ]\n .filter(Boolean)\n .join(\" \")\n\n const trendAriaLabel = resolveStatTileTrendLabel(trendDirection, opts.trendValue)\n\n return {\n tag: \"article\",\n className: [\"mw-stat-tile\", `mw-stat-tile--${tone}`].join(\" \"),\n slots: {\n headerClassName: \"mw-stat-tile__header\",\n labelClassName: \"mw-stat-tile__label\",\n trendClassName,\n trendIconClassName: \"mw-stat-tile__trend-icon\",\n trendValueClassName: \"mw-stat-tile__trend-value\",\n valueClassName: \"mw-stat-tile__value\",\n subtitleClassName: \"mw-stat-tile__subtitle\",\n },\n dataAttributes: {\n ...opts.dataAttributes,\n \"data-component\": \"stat-tile\",\n \"data-tone\": tone,\n ...(trendDirection ? { \"data-trend\": trendDirection } : {}),\n },\n trendDataAttributes: {\n \"data-component\": \"stat-tile-trend\",\n ...(trendDirection ? { \"data-trend\": trendDirection } : {}),\n },\n trendIcon: trendDirection === \"positive\" ? \"↑\" : trendDirection === \"negative\" ? \"↓\" : null,\n a11y: {\n ...(trendAriaLabel ? { trendAriaLabel } : {}),\n },\n }\n}\n","import type { DatePickerDay } from \"./date-picker-types\"\n\nexport function resolveDatePickerDayLabel(day: DatePickerDay): string {\n if (day.ariaLabel) return day.ariaLabel\n if (day.date) return day.date\n return day.label\n}\n","import { resolveDatePickerDayLabel } from \"./date-picker-a11y\"\nimport type {\n DatePickerDay,\n DatePickerDayRenderKit,\n DatePickerDevice,\n DatePickerOptions,\n DatePickerRenderKit,\n} from \"./date-picker-types\"\n\nconst datePickerDevices = [\"desktop\", \"mobile\"] as const\n\nconst defaultWeekdayLabels = [\"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\", \"Su\"] as const\nconst defaultWeeks: readonly (readonly DatePickerDay[])[] = [\n [\n { label: \"\", state: \"null\" },\n { label: \"\", state: \"null\" },\n { label: \"\", state: \"null\" },\n { label: \"\", state: \"null\" },\n { label: \"\", state: \"null\" },\n { label: \"\", state: \"null\" },\n { label: \"01\", date: \"2026-03-01\" },\n ],\n [\n { label: \"02\", date: \"2026-03-02\" },\n { label: \"03\", date: \"2026-03-03\" },\n { label: \"04\", date: \"2026-03-04\", state: \"selected\" },\n { label: \"05\", date: \"2026-03-05\", state: \"range\" },\n { label: \"06\", date: \"2026-03-06\", state: \"range\" },\n { label: \"07\", date: \"2026-03-07\", state: \"range\" },\n { label: \"08\", date: \"2026-03-08\", state: \"selected\" },\n ],\n [\n { label: \"09\", date: \"2026-03-09\" },\n { label: \"10\", date: \"2026-03-10\" },\n { label: \"11\", date: \"2026-03-11\" },\n { label: \"12\", date: \"2026-03-12\" },\n { label: \"13\", date: \"2026-03-13\" },\n { label: \"14\", date: \"2026-03-14\" },\n { label: \"15\", date: \"2026-03-15\" },\n ],\n [\n { label: \"16\", date: \"2026-03-16\" },\n { label: \"17\", date: \"2026-03-17\" },\n { label: \"18\", date: \"2026-03-18\" },\n { label: \"19\", date: \"2026-03-19\" },\n { label: \"20\", date: \"2026-03-20\" },\n { label: \"21\", date: \"2026-03-21\" },\n { label: \"22\", date: \"2026-03-22\" },\n ],\n [\n { label: \"23\", date: \"2026-03-23\" },\n { label: \"24\", date: \"2026-03-24\" },\n { label: \"25\", date: \"2026-03-25\" },\n { label: \"26\", date: \"2026-03-26\" },\n { label: \"27\", date: \"2026-03-27\" },\n { label: \"28\", date: \"2026-03-28\" },\n { label: \"29\", date: \"2026-03-29\" },\n ],\n [\n { label: \"30\", date: \"2026-03-30\" },\n { label: \"31\", date: \"2026-03-31\" },\n { label: \"\", state: \"null\" },\n { label: \"\", state: \"null\" },\n { label: \"\", state: \"null\" },\n { label: \"\", state: \"null\" },\n { label: \"\", state: \"null\" },\n ],\n] as const\n\nfunction resolveDevice(device: DatePickerDevice | undefined): DatePickerDevice {\n return device && datePickerDevices.includes(device) ? device : \"desktop\"\n}\n\nfunction createDayKit(day: DatePickerDay): DatePickerDayRenderKit {\n const state = day.state ?? \"default\"\n const isEmpty = state === \"null\" || day.label === \"\"\n const disabled = state === \"disabled\" || isEmpty\n const selected = state === \"selected\"\n\n return {\n className: [\n \"mw-date-picker__day\",\n `mw-date-picker__day--${state}`,\n day.isToday ? \"mw-date-picker__day--today\" : null,\n ]\n .filter(Boolean)\n .join(\" \"),\n dataAttributes: {\n \"data-component\": \"date-picker-day\",\n \"data-state\": state,\n ...(day.date ? { \"data-date\": day.date } : {}),\n ...(day.isToday ? { \"data-today\": \"true\" } : {}),\n },\n ariaLabel: resolveDatePickerDayLabel(day),\n disabled,\n selected,\n isEmpty,\n }\n}\n\nexport function createDatePickerRecipe(opts: DatePickerOptions = {}): DatePickerRenderKit {\n const device = resolveDevice(opts.device)\n const weeks = opts.weeks ?? defaultWeeks\n\n return {\n className: [\"mw-date-picker\", `mw-date-picker--${device}`].join(\" \"),\n dataAttributes: {\n ...opts.dataAttributes,\n \"data-component\": \"date-picker\",\n \"data-device\": device,\n },\n monthLabel: opts.monthLabel ?? \"March 2026\",\n weekdayLabels: opts.weekdayLabels ?? defaultWeekdayLabels,\n weeks,\n dayKits: weeks.map((week) => week.map(createDayKit)),\n slots: {\n headerClassName: \"mw-date-picker__header\",\n navGroupClassName: \"mw-date-picker__nav-group\",\n navButtonClassName: \"mw-date-picker__nav-button\",\n monthLabelClassName: \"mw-date-picker__month-label\",\n gridClassName: \"mw-date-picker__grid\",\n weekdayClassName: \"mw-date-picker__weekday\",\n weekClassName: \"mw-date-picker__week\",\n cellClassName: \"mw-date-picker__cell\",\n dayClassName: \"mw-date-picker__day\",\n footerClassName: \"mw-date-picker__footer\",\n footerButtonClassName: \"mw-date-picker__footer-button\",\n },\n labels: {\n calendar: opts.calendarLabel ?? \"Choose date\",\n previousYear: opts.previousYearLabel ?? \"Previous year\",\n previousMonth: opts.previousMonthLabel ?? \"Previous month\",\n nextMonth: opts.nextMonthLabel ?? \"Next month\",\n nextYear: opts.nextYearLabel ?? \"Next year\",\n cancel: opts.cancelLabel ?? \"Today\",\n apply: opts.applyLabel ?? \"\",\n },\n }\n}\n","export const iconRegistry = {\n airplay: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M5 17H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-1\",\n },\n },\n {\n tag: \"polygon\",\n attrs: {\n points: \"12 15 17 21 7 21 12 15\",\n },\n },\n ],\n },\n alertCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"16\",\n x2: \"12.01\",\n y2: \"16\",\n },\n },\n ],\n },\n alertOctagon: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"16\",\n x2: \"12.01\",\n y2: \"16\",\n },\n },\n ],\n },\n alertTriangle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"9\",\n x2: \"12\",\n y2: \"13\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"17\",\n x2: \"12.01\",\n y2: \"17\",\n },\n },\n ],\n },\n alignCenter: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M19 9.5H5M21 4.5H3M21 14.5H3M19 19.5H5\",\n },\n },\n ],\n },\n alignJustify: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 9.5H3M21 4.5H3M21 14.5H3M21 19.5H3\",\n },\n },\n ],\n },\n alignLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 9.5H3M21 4.5H3M21 14.5H3M17 19.5H3\",\n },\n },\n ],\n },\n alignRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 9.5H7M21 4.5H3M21 14.5H3M21 19.5H7\",\n },\n },\n ],\n },\n arrowDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 5v13M5 12l7 7 7-7\",\n },\n },\n ],\n },\n arrowDownCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16 12l-4 4-4-4M12 8v7\",\n },\n },\n ],\n },\n arrowDownLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 7l-9.2 9.2M7 7v10h10\",\n },\n },\n ],\n },\n arrowDownRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M7 7l9.2 9.2M17 7v10H7\",\n },\n },\n ],\n },\n arrowIn: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4M10 17l5-5-5-5M13.8 12H3\",\n },\n },\n ],\n },\n arrowInCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 17l5-5-5-5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M13.8 12H3m9 10a10 10 0 1 0 0-20\",\n },\n },\n ],\n },\n arrowInSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 3h6v18h-6M10 17l5-5-5-5M13.8 12H3\",\n },\n },\n ],\n },\n arrowLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M19 12H6M12 5l-7 7 7 7\",\n },\n },\n ],\n },\n arrowLeftCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M12 8l-4 4 4 4M16 12H9\",\n },\n },\n ],\n },\n arrowOut: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 3H6a2 2 0 0 0-2 2v14c0 1.1.9 2 2 2h4M16 17l5-5-5-5M19.8 12H9\",\n },\n },\n ],\n },\n arrowOutCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 17l5-5-5-5M19.8 12H9M13 22a10 10 0 1 1 0-20\",\n },\n },\n ],\n },\n arrowOutSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 17l5-5-5-5M19.8 12H9M10 3H4v18h6\",\n },\n },\n ],\n },\n arrowRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M5 12h13M12 5l7 7-7 7\",\n },\n },\n ],\n },\n arrowRightCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M12 8l4 4-4 4M8 12h7\",\n },\n },\n ],\n },\n arrowUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 19V6M5 12l7-7 7 7\",\n },\n },\n ],\n },\n arrowUpCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16 12l-4-4-4 4M12 16V9\",\n },\n },\n ],\n },\n arrowUpLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 17L7.8 7.7M7 17V7h10\",\n },\n },\n ],\n },\n arrowUpRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M7 17l9.2-9.2M17 17V7H7\",\n },\n },\n ],\n },\n atSign: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"4\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\",\n },\n },\n ],\n },\n barChart: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"20\",\n x2: \"12\",\n y2: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"20\",\n x2: \"18\",\n y2: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"20\",\n x2: \"6\",\n y2: \"16\",\n },\n },\n ],\n },\n barChart2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"20\",\n x2: \"18\",\n y2: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"20\",\n x2: \"12\",\n y2: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"20\",\n x2: \"6\",\n y2: \"14\",\n },\n },\n ],\n },\n barChart3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 20V10M6 20V4M18 20v-4\",\n },\n },\n ],\n },\n barChart4: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 20v-6M6 20V10M18 20V4\",\n },\n },\n ],\n },\n bell: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 17H2a3 3 0 0 0 3-3V9a7 7 0 0 1 14 0v5a3 3 0 0 0 3 3zm-8.27 4a2 2 0 0 1-3.46 0\",\n },\n },\n ],\n },\n bluetooth: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"6.5 6.5 17.5 17.5 12 23 12 1 17.5 6.5 6.5 17.5\",\n },\n },\n ],\n },\n bold: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z\",\n },\n },\n ],\n },\n bookmark: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M19 21l-7-5-7 5V5a2 2 0 0 1 2-2h10a2 2 0 0 1 2 2z\",\n },\n },\n ],\n },\n calendar: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"4\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"16\",\n y1: \"2\",\n x2: \"16\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"2\",\n x2: \"8\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"10\",\n x2: \"21\",\n y2: \"10\",\n },\n },\n ],\n },\n camera: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 16a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h3l2-3h6l2 3h3a2 2 0 0 1 2 2v11z\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"10\",\n cy: \"10\",\n r: \"4\",\n },\n },\n ],\n },\n cast: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M2 16.1A5 5 0 0 1 5.9 20M2 12.05A9 9 0 0 1 9.95 20M2 8V6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"2\",\n y1: \"20\",\n x2: \"2.01\",\n y2: \"20\",\n },\n },\n ],\n },\n check: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"20 6 9 17 4 12\",\n },\n },\n ],\n },\n checkCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 11.08V12a10 10 0 1 1-5.93-9.14\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"22 4 12 14.01 9 11.01\",\n },\n },\n ],\n },\n checkSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"9 11 12 14 22 4\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11\",\n },\n },\n ],\n },\n chevronDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M6 9l6 6 6-6\",\n },\n },\n ],\n },\n chevronLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 18l-6-6 6-6\",\n },\n },\n ],\n },\n chevronRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M9 18l6-6-6-6\",\n },\n },\n ],\n },\n chevronsDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M7 13l5 5 5-5M7 6l5 5 5-5\",\n },\n },\n ],\n },\n chevronsLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M11 17l-5-5 5-5M18 17l-5-5 5-5\",\n },\n },\n ],\n },\n chevronsRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M13 17l5-5-5-5M6 17l5-5-5-5\",\n },\n },\n ],\n },\n chevronsUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 11l-5-5-5 5M17 18l-5-5-5 5\",\n },\n },\n ],\n },\n chevronUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18 15l-6-6-6 6\",\n },\n },\n ],\n },\n circle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n ],\n },\n clipboard: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"8\",\n y: \"2\",\n width: \"8\",\n height: \"4\",\n rx: \"1\",\n ry: \"1\",\n },\n },\n ],\n },\n clock: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"12 6 12 12 16 14\",\n },\n },\n ],\n },\n code: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"16 18 22 12 16 6\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"8 6 2 12 8 18\",\n },\n },\n ],\n },\n command: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18 3a3 3 0 0 0-3 3v12a3 3 0 0 0 3 3 3 3 0 0 0 3-3 3 3 0 0 0-3-3H6a3 3 0 0 0-3 3 3 3 0 0 0 3 3 3 3 0 0 0 3-3V6a3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3h12a3 3 0 0 0 3-3 3 3 0 0 0-3-3z\",\n },\n },\n ],\n },\n compass: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16.2 7.8l-2 6.3-6.4 2.1 2-6.3z\",\n },\n },\n ],\n },\n copy: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"9\",\n y: \"9\",\n width: \"13\",\n height: \"13\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1\",\n },\n },\n ],\n },\n cornerDownLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 9l-6 6 6 6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M20 4v7a4 4 0 0 1-4 4H5\",\n },\n },\n ],\n },\n cornerDownRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 9l6 6-6 6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M4 4v7a4 4 0 0 0 4 4h11\",\n },\n },\n ],\n },\n cornerLeftDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 14l-6 6-6-6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M20 4h-7a4 4 0 0 0-4 4v11\",\n },\n },\n ],\n },\n cornerLeftUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 10L9 4l-6 6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M20 20h-7a4 4 0 0 1-4-4V5\",\n },\n },\n ],\n },\n cornerRightDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M9 14l6 6 6-6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M4 4h7a4 4 0 0 1 4 4v11\",\n },\n },\n ],\n },\n cornerRightUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M9 10l6-6 6 6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M4 20h7a4 4 0 0 0 4-4V5\",\n },\n },\n ],\n },\n cornerUpLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 16l-6-6 6-6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M20 21v-7a4 4 0 0 0-4-4H5\",\n },\n },\n ],\n },\n cornerUpRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 16l6-6-6-6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M4 21v-7a4 4 0 0 1 4-4h11\",\n },\n },\n ],\n },\n cpu: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"4\",\n y: \"4\",\n width: \"16\",\n height: \"16\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"9\",\n y: \"9\",\n width: \"6\",\n height: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"1\",\n x2: \"9\",\n y2: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"15\",\n y1: \"1\",\n x2: \"15\",\n y2: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"20\",\n x2: \"9\",\n y2: \"23\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"15\",\n y1: \"20\",\n x2: \"15\",\n y2: \"23\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"9\",\n x2: \"23\",\n y2: \"9\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"14\",\n x2: \"23\",\n y2: \"14\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"1\",\n y1: \"9\",\n x2: \"4\",\n y2: \"9\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"1\",\n y1: \"14\",\n x2: \"4\",\n y2: \"14\",\n },\n },\n ],\n },\n creditCard: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"4\",\n width: \"20\",\n height: \"16\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M7 15h0M2 9.5h20\",\n },\n },\n ],\n },\n database: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"ellipse\",\n attrs: {\n cx: \"12\",\n cy: \"5\",\n rx: \"9\",\n ry: \"3\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M21 12c0 1.66-4 3-9 3s-9-1.34-9-3\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 5v14c0 1.66 4 3 9 3s9-1.34 9-3V5\",\n },\n },\n ],\n },\n delete: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 4H8l-7 8 7 8h13a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"9\",\n x2: \"12\",\n y2: \"15\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"9\",\n x2: \"18\",\n y2: \"15\",\n },\n },\n ],\n },\n disc: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"3\",\n },\n },\n ],\n },\n dollarSign: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"1\",\n x2: \"12\",\n y2: \"23\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\",\n },\n },\n ],\n },\n download: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 15v4c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-4M17 9l-5 5-5-5M12 12.8V2.5\",\n },\n },\n ],\n },\n downloadCloud: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.2 15c.7-1.2 1-2.5.7-3.9-.6-2-2.4-3.5-4.4-3.5h-1.2c-.7-3-3.2-5.2-6.2-5.6-3-.3-5.9 1.3-7.3 4-1.2 2.5-1 6.5.5 8.8M12 19.8V12M16 17l-4 4-4-4\",\n },\n },\n ],\n },\n edit: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 14.66V20a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h5.34\",\n },\n },\n {\n tag: \"polygon\",\n attrs: {\n points: \"18 2 22 6 12 16 8 16 8 12 18 2\",\n },\n },\n ],\n },\n edit2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"16 3 21 8 8 21 3 21 3 16 16 3\",\n },\n },\n ],\n },\n edit3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"14 2 18 6 7 17 3 17 3 13 14 2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"22\",\n x2: \"21\",\n y2: \"22\",\n },\n },\n ],\n },\n expand: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3.8 3.8l16.4 16.4M20.2 3.8L3.8 20.2M15 3h6v6M9 3H3v6M15 21h6v-6M9 21H3v-6\",\n },\n },\n ],\n },\n externalLink: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18 14v5a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8c0-1.1.9-2 2-2h5M15 3h6v6M10 14L20.2 3.8\",\n },\n },\n ],\n },\n eye: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"3\",\n },\n },\n ],\n },\n eyeOff: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"1\",\n y1: \"1\",\n x2: \"23\",\n y2: \"23\",\n },\n },\n ],\n },\n facebook: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18 2h-3a5 5 0 0 0-5 5v3H7v4h3v8h4v-8h3l1-4h-4V7a1 1 0 0 1 1-1h3z\",\n },\n },\n ],\n },\n fastForward: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"13 19 22 12 13 5 13 19\",\n },\n },\n {\n tag: \"polygon\",\n attrs: {\n points: \"2 19 11 12 2 5 2 19\",\n },\n },\n ],\n },\n file: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M13 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V9l-7-7z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M13 3v6h6\",\n },\n },\n ],\n },\n fileMinus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M9 15h6\",\n },\n },\n ],\n },\n fileMinus2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 11.08V8l-6-6H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M15 18h6\",\n },\n },\n ],\n },\n filePlus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M12 18v-6M9 15h6\",\n },\n },\n ],\n },\n filePlus2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 11.08V8l-6-6H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M18 21v-6M15 18h6\",\n },\n },\n ],\n },\n fileText: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M16 13H8M16 17H8M10 9H8\",\n },\n },\n ],\n },\n fileX: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 2H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h12a2 2 0 0 0 2-2V8l-6-6z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M9.9 17.1L14 13M9.9 12.9L14 17\",\n },\n },\n ],\n },\n fileX2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 11.08V8l-6-6H6a2 2 0 0 0-2 2v16c0 1.1.9 2 2 2h6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 3v5h5M15.88 20.12l4.24-4.24M15.88 15.88l4.24 4.24\",\n },\n },\n ],\n },\n film: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"2\",\n width: \"20\",\n height: \"20\",\n rx: \"2.18\",\n ry: \"2.18\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"7\",\n y1: \"2\",\n x2: \"7\",\n y2: \"22\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"17\",\n y1: \"2\",\n x2: \"17\",\n y2: \"22\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"2\",\n y1: \"12\",\n x2: \"22\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"2\",\n y1: \"7\",\n x2: \"7\",\n y2: \"7\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"2\",\n y1: \"17\",\n x2: \"7\",\n y2: \"17\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"17\",\n y1: \"17\",\n x2: \"22\",\n y2: \"17\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"17\",\n y1: \"7\",\n x2: \"22\",\n y2: \"7\",\n },\n },\n ],\n },\n flag: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M4 15s1-1 4-1 5 2 8 2 4-1 4-1V3s-1 1-4 1-5-2-8-2-4 1-4 1z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"22\",\n x2: \"4\",\n y2: \"15\",\n },\n },\n ],\n },\n folder: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\",\n },\n },\n ],\n },\n folderMinus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"14\",\n x2: \"15\",\n y2: \"14\",\n },\n },\n ],\n },\n folderMinus2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M11 21H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h5l2 3h9a2 2 0 0 1 2 2v2M16 18h6\",\n },\n },\n ],\n },\n folderPlus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"11\",\n x2: \"12\",\n y2: \"17\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"14\",\n x2: \"15\",\n y2: \"14\",\n },\n },\n ],\n },\n folderPlus2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M11 21H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h5l2 3h9a2 2 0 0 1 2 2v2M19 15v6M16 18h6\",\n },\n },\n ],\n },\n folderX: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h5l2 3h9a2 2 0 0 1 2 2v11zM9.9 16.1L14 12M9.9 11.9L14 16\",\n },\n },\n ],\n },\n folderX2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M11 21H4a2 2 0 0 1-2-2V5c0-1.1.9-2 2-2h5l2 3h9a2 2 0 0 1 2 2v2M21.12 15.88l-4.24 4.24M16.88 15.88l4.24 4.24\",\n },\n },\n ],\n },\n grid: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"7\",\n height: \"7\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"14\",\n y: \"3\",\n width: \"7\",\n height: \"7\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"14\",\n y: \"14\",\n width: \"7\",\n height: \"7\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"14\",\n width: \"7\",\n height: \"7\",\n },\n },\n ],\n },\n hardDrive: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"22\",\n y1: \"12\",\n x2: \"2\",\n y2: \"12\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M5.45 5.11L2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"16\",\n x2: \"6\",\n y2: \"16\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"10\",\n y1: \"16\",\n x2: \"10\",\n y2: \"16\",\n },\n },\n ],\n },\n hash: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"9\",\n x2: \"20\",\n y2: \"9\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"15\",\n x2: \"20\",\n y2: \"15\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"10\",\n y1: \"3\",\n x2: \"8\",\n y2: \"21\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"16\",\n y1: \"3\",\n x2: \"14\",\n y2: \"21\",\n },\n },\n ],\n },\n headphones: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 18v-6a9 9 0 0 1 18 0v6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M21 19a2 2 0 0 1-2 2h-1a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3zM3 19a2 2 0 0 0 2 2h1a2 2 0 0 0 2-2v-3a2 2 0 0 0-2-2H3z\",\n },\n },\n ],\n },\n heart: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z\",\n },\n },\n ],\n },\n helpCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"17\",\n x2: \"12.01\",\n y2: \"17\",\n },\n },\n ],\n },\n hexagon: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 2l9 4.9V17L12 22l-9-4.9V7z\",\n },\n },\n ],\n },\n home: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 9l9-7 9 7v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"9 22 9 12 15 12 15 22\",\n },\n },\n ],\n },\n home2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 9v11a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V9\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M9 22V12h6v10M2 10.6L12 2l10 8.6\",\n },\n },\n ],\n },\n image: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"8.5\",\n cy: \"8.5\",\n r: \"1.5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M20.4 14.5L16 10 4 20\",\n },\n },\n ],\n },\n inbox: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.5 12H16c-.7 2-2 3-4 3s-3.3-1-4-3H2.5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M5.5 5.1L2 12v6c0 1.1.9 2 2 2h16a2 2 0 002-2v-6l-3.4-6.9A2 2 0 0016.8 4H7.2a2 2 0 00-1.8 1.1z\",\n },\n },\n ],\n },\n info: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"16\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"8\",\n x2: \"12.01\",\n y2: \"8\",\n },\n },\n ],\n },\n italic: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M19 4h-9M14 20H5M14.7 4.7L9.2 19.4\",\n },\n },\n ],\n },\n layout: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 9h18M9 21V9\",\n },\n },\n ],\n },\n layout2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 9h18M15 21V9\",\n },\n },\n ],\n },\n layout3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 9h18\",\n },\n },\n ],\n },\n layout4: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 15h18\",\n },\n },\n ],\n },\n layout5: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M9 3v18\",\n },\n },\n ],\n },\n layout6: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M15 3v18\",\n },\n },\n ],\n },\n lineChart: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3v18h18\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M18.7 8l-5.1 5.2-2.8-2.7L7 14.3\",\n },\n },\n ],\n },\n lineChart2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3v18h18\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M18.7 14.3L15 10.5l-2.7 2.7L7 8\",\n },\n },\n ],\n },\n link: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\",\n },\n },\n ],\n },\n list: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"6\",\n x2: \"21\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"12\",\n x2: \"21\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"18\",\n x2: \"21\",\n y2: \"18\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"6\",\n x2: \"3.01\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"12\",\n x2: \"3.01\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"18\",\n x2: \"3.01\",\n y2: \"18\",\n },\n },\n ],\n },\n loader: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"2\",\n x2: \"12\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"18\",\n x2: \"12\",\n y2: \"22\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4.93\",\n y1: \"4.93\",\n x2: \"7.76\",\n y2: \"7.76\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"16.24\",\n y1: \"16.24\",\n x2: \"19.07\",\n y2: \"19.07\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"2\",\n y1: \"12\",\n x2: \"6\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"12\",\n x2: \"22\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4.93\",\n y1: \"19.07\",\n x2: \"7.76\",\n y2: \"16.24\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"16.24\",\n y1: \"7.76\",\n x2: \"19.07\",\n y2: \"4.93\",\n },\n },\n ],\n },\n lock: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"11\",\n width: \"18\",\n height: \"11\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M7 11V7a5 5 0 0 1 10 0v4\",\n },\n },\n ],\n },\n mail: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"22,6 12,13 2,6\",\n },\n },\n ],\n },\n mapMarker1: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 22s-8-4.5-8-11.8A8 8 0 0 1 12 2a8 8 0 0 1 8 8.2c0 7.3-8 11.8-8 11.8z\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"10\",\n r: \"3\",\n },\n },\n ],\n },\n mapMarker2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"10\",\n r: \"3\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M12 21.7C17.3 17 20 13 20 10a8 8 0 1 0-16 0c0 3 2.7 6.9 8 11.7z\",\n },\n },\n ],\n },\n mapMarker3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"11.5\",\n cy: \"8.5\",\n r: \"5.5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M11.5 14v7\",\n },\n },\n ],\n },\n maximize: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15 3h6v6M14 10l6.1-6.1M9 21H3v-6M10 14l-6.1 6.1\",\n },\n },\n ],\n },\n maximize2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3\",\n },\n },\n ],\n },\n menu: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"12\",\n x2: \"21\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"6\",\n x2: \"21\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"3\",\n y1: \"18\",\n x2: \"21\",\n y2: \"18\",\n },\n },\n ],\n },\n messageCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 11.5a8.38 8.38 0 0 1-.9 3.8 8.5 8.5 0 0 1-7.6 4.7 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 0 1-.9-3.8 8.5 8.5 0 0 1 4.7-7.6 8.38 8.38 0 0 1 3.8-.9h.5a8.48 8.48 0 0 1 8 8v.5z\",\n },\n },\n ],\n },\n messageSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\",\n },\n },\n ],\n },\n mic: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 2c-1.7 0-3 1.2-3 2.6v6.8c0 1.4 1.3 2.6 3 2.6s3-1.2 3-2.6V4.6C15 3.2 13.7 2 12 2z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M19 10v1a7 7 0 0 1-14 0v-1M12 18.4v3.3M8 22h8\",\n },\n },\n ],\n },\n minimize: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M4 14h6v6M3 21l6.1-6.1M20 10h-6V4M21 3l-6.1 6.1\",\n },\n },\n ],\n },\n minimize3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3\",\n },\n },\n ],\n },\n minus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"5\",\n y1: \"12\",\n x2: \"19\",\n y2: \"12\",\n },\n },\n ],\n },\n minusCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"12\",\n x2: \"16\",\n y2: \"12\",\n },\n },\n ],\n },\n minusSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3h18v18H3zM8 12h8\",\n },\n },\n ],\n },\n monitor: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"3\",\n width: \"20\",\n height: \"14\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"21\",\n x2: \"16\",\n y2: \"21\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"17\",\n x2: \"12\",\n y2: \"21\",\n },\n },\n ],\n },\n moon: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z\",\n },\n },\n ],\n },\n moreHorizontal: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"1\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"19\",\n cy: \"12\",\n r: \"1\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"5\",\n cy: \"12\",\n r: \"1\",\n },\n },\n ],\n },\n moreVertical: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"1\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"5\",\n r: \"1\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"19\",\n r: \"1\",\n },\n },\n ],\n },\n move: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M5.2 9l-3 3 3 3M9 5.2l3-3 3 3M15 18.9l-3 3-3-3M18.9 9l3 3-3 3M3.3 12h17.4M12 3.2v17.6\",\n },\n },\n ],\n },\n music: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"5.5\",\n cy: \"17.5\",\n r: \"2.5\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"17.5\",\n cy: \"15.5\",\n r: \"2.5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M8 17V5l12-2v12\",\n },\n },\n ],\n },\n octagon: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"7.86 2 16.14 2 22 7.86 22 16.14 16.14 22 7.86 22 2 16.14 2 7.86 7.86 2\",\n },\n },\n ],\n },\n paperclip: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.44 11.05l-9.19 9.19a6 6 0 0 1-8.49-8.49l9.19-9.19a4 4 0 0 1 5.66 5.66l-9.2 9.19a2 2 0 0 1-2.83-2.83l8.49-8.48\",\n },\n },\n ],\n },\n pause: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"6\",\n y: \"4\",\n width: \"4\",\n height: \"16\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"14\",\n y: \"4\",\n width: \"4\",\n height: \"16\",\n },\n },\n ],\n },\n pauseCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"10\",\n y1: \"15\",\n x2: \"10\",\n y2: \"9\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"14\",\n y1: \"15\",\n x2: \"14\",\n y2: \"9\",\n },\n },\n ],\n },\n percent: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"19\",\n y1: \"5\",\n x2: \"5\",\n y2: \"19\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"6.5\",\n cy: \"6.5\",\n r: \"2.5\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"17.5\",\n cy: \"17.5\",\n r: \"2.5\",\n },\n },\n ],\n },\n phone: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z\",\n },\n },\n ],\n },\n pieChart: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.21 15.89A10 10 0 1 1 8 2.83\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M22 12A10 10 0 0 0 12 2v10z\",\n },\n },\n ],\n },\n pieChart2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 2a10 10 0 1 0 10 10H12V2zM21.18 8.02c-1-2.3-2.85-4.17-5.16-5.18\",\n },\n },\n ],\n },\n pieChart3: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20z\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M19 6l-7 6V2.5\",\n },\n },\n ],\n },\n pieChart4: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.5 12H12V2.5\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n ],\n },\n pieChart5: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18.6 18.6L12 12V2.5\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n ],\n },\n play: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"5 3 19 12 5 21 5 3\",\n },\n },\n ],\n },\n playCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"polygon\",\n attrs: {\n points: \"10 8 16 12 10 16 10 8\",\n },\n },\n ],\n },\n plus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"5\",\n x2: \"12\",\n y2: \"19\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"5\",\n y1: \"12\",\n x2: \"19\",\n y2: \"12\",\n },\n },\n ],\n },\n plusCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"16\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"12\",\n x2: \"16\",\n y2: \"12\",\n },\n },\n ],\n },\n plusSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3h18v18H3zM12 8v8m-4-4h8\",\n },\n },\n ],\n },\n power: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M18.36 6.64a9 9 0 1 1-12.73 0\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"2\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n ],\n },\n printer: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"6 9 6 2 18 2 18 9\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M6 18H4a2 2 0 0 1-2-2v-5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v5a2 2 0 0 1-2 2h-2\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"6\",\n y: \"14\",\n width: \"12\",\n height: \"8\",\n },\n },\n ],\n },\n radio: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16.24 7.76a6 6 0 0 1 0 8.49m-8.48-.01a6 6 0 0 1 0-8.49m11.31-2.82a10 10 0 0 1 0 14.14m-14.14 0a10 10 0 0 1 0-14.14\",\n },\n },\n ],\n },\n refreshCcw: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M2.5 2v6h6M21.5 22v-6h-6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M22 11.5A10 10 0 0 0 3.2 7.2M2 12.5a10 10 0 0 0 18.8 4.2\",\n },\n },\n ],\n },\n refreshCw: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.5 2v6h-6M2.5 22v-6h6M2 11.5a10 10 0 0 1 18.8-4.3M22 12.5a10 10 0 0 1-18.8 4.2\",\n },\n },\n ],\n },\n repeat: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 2.1l4 4-4 4\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M3 12.2v-2a4 4 0 0 1 4-4h12.8M7 21.9l-4-4 4-4\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M21 11.8v2a4 4 0 0 1-4 4H4.2\",\n },\n },\n ],\n },\n rewind: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"11 19 2 12 11 5 11 19\",\n },\n },\n {\n tag: \"polygon\",\n attrs: {\n points: \"22 19 13 12 22 5 22 19\",\n },\n },\n ],\n },\n rotateLeft: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M2.5 2v6h6M2.66 15.57a10 10 0 1 0 .57-8.38\",\n },\n },\n ],\n },\n rotateRight: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.5 2v6h-6M21.34 15.57a10 10 0 1 1-.57-8.38\",\n },\n },\n ],\n },\n rss: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M4 11a9 9 0 0 1 9 9\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M4 4a16 16 0 0 1 16 16\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"5\",\n cy: \"19\",\n r: \"1\",\n },\n },\n ],\n },\n save: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"17 21 17 13 7 13 7 21\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"7 3 7 8 15 8\",\n },\n },\n ],\n },\n scissors: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"6\",\n cy: \"6\",\n r: \"3\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"6\",\n cy: \"18\",\n r: \"3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"4\",\n x2: \"8.12\",\n y2: \"15.88\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"14.47\",\n y1: \"14.48\",\n x2: \"20\",\n y2: \"20\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8.12\",\n y1: \"8.12\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n ],\n },\n search: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"11\",\n cy: \"11\",\n r: \"8\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"21\",\n y1: \"21\",\n x2: \"16.65\",\n y2: \"16.65\",\n },\n },\n ],\n },\n server: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"2\",\n width: \"20\",\n height: \"8\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"14\",\n width: \"20\",\n height: \"8\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"6\",\n x2: \"6.01\",\n y2: \"6\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"18\",\n x2: \"6.01\",\n y2: \"18\",\n },\n },\n ],\n },\n settings: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"3\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06a1.65 1.65 0 0 0 .33-1.82 1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06a1.65 1.65 0 0 0 1.82.33H9a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06a1.65 1.65 0 0 0-.33 1.82V9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z\",\n },\n },\n ],\n },\n share: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"18\",\n cy: \"5\",\n r: \"3\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"6\",\n cy: \"12\",\n r: \"3\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"18\",\n cy: \"19\",\n r: \"3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8.59\",\n y1: \"13.51\",\n x2: \"15.42\",\n y2: \"17.49\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"15.41\",\n y1: \"6.51\",\n x2: \"8.59\",\n y2: \"10.49\",\n },\n },\n ],\n },\n shoppingBag: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M6 2L3 6v14c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2V6l-3-4H6zM3.8 6h16.4M16 10a4 4 0 1 1-8 0\",\n },\n },\n ],\n },\n shoppingCart: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"10\",\n cy: \"20.5\",\n r: \"1\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"18\",\n cy: \"20.5\",\n r: \"1\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M2.5 2.5h3l2.7 12.4a2 2 0 0 0 2 1.6h7.7a2 2 0 0 0 2-1.6l1.6-8.4H7.1\",\n },\n },\n ],\n },\n shuffle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 3h5v5M4 20L20.2 3.8M21 16v5h-5M15 15l5.1 5.1M4 4l5 5\",\n },\n },\n ],\n },\n skipBack: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"19 20 9 12 19 4 19 20\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"5\",\n y1: \"19\",\n x2: \"5\",\n y2: \"5\",\n },\n },\n ],\n },\n skipForward: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"5 4 15 12 5 20 5 4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"19\",\n y1: \"5\",\n x2: \"19\",\n y2: \"19\",\n },\n },\n ],\n },\n slash: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4.93\",\n y1: \"4.93\",\n x2: \"19.07\",\n y2: \"19.07\",\n },\n },\n ],\n },\n sliders: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"21\",\n x2: \"4\",\n y2: \"14\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"10\",\n x2: \"4\",\n y2: \"3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"21\",\n x2: \"12\",\n y2: \"12\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"21\",\n x2: \"20\",\n y2: \"16\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"12\",\n x2: \"20\",\n y2: \"3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"1\",\n y1: \"14\",\n x2: \"7\",\n y2: \"14\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"8\",\n x2: \"15\",\n y2: \"8\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"17\",\n y1: \"16\",\n x2: \"23\",\n y2: \"16\",\n },\n },\n ],\n },\n smartphone: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"5\",\n y: \"2\",\n width: \"14\",\n height: \"20\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"18\",\n x2: \"12.01\",\n y2: \"18\",\n },\n },\n ],\n },\n speaker: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"4\",\n y: \"2\",\n width: \"16\",\n height: \"20\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"14\",\n r: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"6\",\n x2: \"12.01\",\n y2: \"6\",\n },\n },\n ],\n },\n square: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n ],\n },\n star: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points:\n \"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\",\n },\n },\n ],\n },\n stopCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"rect\",\n attrs: {\n x: \"9\",\n y: \"9\",\n width: \"6\",\n height: \"6\",\n },\n },\n ],\n },\n strikethrough: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17.3 4.9c-2.3-.6-4.4-1-6.2-.9-2.7 0-5.3.7-5.3 3.6 0 1.5 1.8 3.3 3.6 3.9h.2m8.2 3.7c.3.4.4.8.4 1.3 0 2.9-2.7 3.6-6.2 3.6-2.3 0-4.4-.3-6.2-.9M4 11.5h16\",\n },\n },\n ],\n },\n sun: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M12 1v2M12 21v2M4.2 4.2l1.4 1.4M18.4 18.4l1.4 1.4M1 12h2M21 12h2M4.2 19.8l1.4-1.4M18.4 5.6l1.4-1.4\",\n },\n },\n ],\n },\n table: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"3\",\n width: \"18\",\n height: \"18\",\n rx: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M21 12H3M12 3v18\",\n },\n },\n ],\n },\n table2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3h18v18H3zM21 9H3M21 15H3M12 3v18\",\n },\n },\n ],\n },\n tablet: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"4\",\n y: \"2\",\n width: \"16\",\n height: \"20\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"18\",\n x2: \"12.01\",\n y2: \"18\",\n },\n },\n ],\n },\n tag: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20.59 13.41l-7.17 7.17a2 2 0 0 1-2.83 0L2 12V2h10l8.59 8.59a2 2 0 0 1 0 2.82z\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"7\",\n y1: \"7\",\n x2: \"7.01\",\n y2: \"7\",\n },\n },\n ],\n },\n thumbsDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M10 15v4a3 3 0 0 0 3 3l4-9V2H5.72a2 2 0 0 0-2 1.7l-1.38 9a2 2 0 0 0 2 2.3zm7-13h2.67A2.31 2.31 0 0 1 22 4v7a2.31 2.31 0 0 1-2.33 2H17\",\n },\n },\n ],\n },\n thumbsUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M14 9V5a3 3 0 0 0-3-3l-4 9v11h11.28a2 2 0 0 0 2-1.7l1.38-9a2 2 0 0 0-2-2.3zM7 22H4a2 2 0 0 1-2-2v-7a2 2 0 0 1 2-2h3\",\n },\n },\n ],\n },\n trash: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"3 6 5 6 21 6\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"10\",\n y1: \"11\",\n x2: \"10\",\n y2: \"17\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"14\",\n y1: \"11\",\n x2: \"14\",\n y2: \"17\",\n },\n },\n ],\n },\n trendingDown: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20.2 17.2l-7.7-7.7-4 4-5.7-5.7\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M15 18h6v-6\",\n },\n },\n ],\n },\n trendingUp: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20.2 7.8l-7.7 7.7-4-4-5.7 5.7\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M15 7h6v6\",\n },\n },\n ],\n },\n triangle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 20h18L12 4z\",\n },\n },\n ],\n },\n tv: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"2\",\n y: \"7\",\n width: \"20\",\n height: \"15\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"17 2 12 7 7 2\",\n },\n },\n ],\n },\n twitter: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M23 3a10.9 10.9 0 0 1-3.14 1.53 4.48 4.48 0 0 0-7.86 3v1A10.66 10.66 0 0 1 3 4s-4 9 5 13a11.64 11.64 0 0 1-7 2c9 5 20 0 20-11.5a4.5 4.5 0 0 0-.08-.83A7.72 7.72 0 0 0 23 3z\",\n },\n },\n ],\n },\n type: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polyline\",\n attrs: {\n points: \"4 7 4 4 20 4 20 7\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"20\",\n x2: \"15\",\n y2: \"20\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"4\",\n x2: \"12\",\n y2: \"20\",\n },\n },\n ],\n },\n underline: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M6 3v7a6 6 0 0 0 6 6 6 6 0 0 0 6-6V3\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"4\",\n y1: \"21\",\n x2: \"20\",\n y2: \"21\",\n },\n },\n ],\n },\n unlock: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"rect\",\n attrs: {\n x: \"3\",\n y: \"11\",\n width: \"18\",\n height: \"11\",\n rx: \"2\",\n ry: \"2\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M7 11V7a5 5 0 0 1 9.9-1\",\n },\n },\n ],\n },\n upload: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 15v4c0 1.1.9 2 2 2h14a2 2 0 0 0 2-2v-4M17 8l-5-5-5 5M12 4.2v10.3\",\n },\n },\n ],\n },\n uploadCloud: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M21.2 15c.7-1.2 1-2.5.7-3.9-.6-2-2.4-3.5-4.4-3.5h-1.2c-.7-3-3.2-5.2-6.2-5.6-3-.3-5.9 1.3-7.3 4-1.2 2.5-1 6.5.5 8.8m8.7-1.6V21\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16 16l-4-4-4 4\",\n },\n },\n ],\n },\n user: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"7\",\n r: \"4\",\n },\n },\n ],\n },\n userCheck: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"8.5\",\n cy: \"7\",\n r: \"4\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"17 11 19 13 23 9\",\n },\n },\n ],\n },\n userCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M5.52 19c.64-2.2 1.84-3 3.22-3h6.52c1.38 0 2.58.8 3.22 3\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"10\",\n r: \"3\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n ],\n },\n userMinus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"8.5\",\n cy: \"7\",\n r: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"23\",\n y1: \"11\",\n x2: \"17\",\n y2: \"11\",\n },\n },\n ],\n },\n userPlus: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"8.5\",\n cy: \"7\",\n r: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"20\",\n y1: \"8\",\n x2: \"20\",\n y2: \"14\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"23\",\n y1: \"11\",\n x2: \"17\",\n y2: \"11\",\n },\n },\n ],\n },\n users: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"9\",\n cy: \"7\",\n r: \"4\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M23 21v-2a4 4 0 0 0-3-3.87\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16 3.13a4 4 0 0 1 0 7.75\",\n },\n },\n ],\n },\n userX: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\",\n },\n },\n {\n tag: \"circle\",\n attrs: {\n cx: \"8.5\",\n cy: \"7\",\n r: \"4\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"8\",\n x2: \"23\",\n y2: \"13\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"23\",\n y1: \"8\",\n x2: \"18\",\n y2: \"13\",\n },\n },\n ],\n },\n video: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M15.6 11.6L22 7v10l-6.4-4.5v-1zM4 5h9a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2z\",\n },\n },\n ],\n },\n videoOff: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M2 2l19.8 19.8M15 15.7V17a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7c0-1.1.9-2 2-2h.3m5.4 0H13a2 2 0 0 1 2 2v3.3l1 1L22 7v10\",\n },\n },\n ],\n },\n volume: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"11 5 6 9 2 9 2 15 6 15 11 19 11 5\",\n },\n },\n ],\n },\n volume1: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"11 5 6 9 2 9 2 15 6 15 11 19 11 5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M15.54 8.46a5 5 0 0 1 0 7.07\",\n },\n },\n ],\n },\n volume2: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"polygon\",\n attrs: {\n points: \"11 5 6 9 2 9 2 15 6 15 11 19 11 5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M19.07 4.93a10 10 0 0 1 0 14.14M15.54 8.46a5 5 0 0 1 0 7.07\",\n },\n },\n ],\n },\n volumeX: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M11 5L6 9H2v6h4l5 4zM22 9l-6 6M16 9l6 6\",\n },\n },\n ],\n },\n watch: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"7\",\n },\n },\n {\n tag: \"polyline\",\n attrs: {\n points: \"12 9 12 12 13.5 13.5\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M16.51 17.35l-.35 3.83a2 2 0 0 1-2 1.82H9.83a2 2 0 0 1-2-1.82l-.35-3.83m.01-10.7l.35-3.83A2 2 0 0 1 9.83 1h4.35a2 2 0 0 1 2 1.82l.35 3.83\",\n },\n },\n ],\n },\n wifi: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M5 12.55a11 11 0 0 1 14.08 0\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M1.42 9a16 16 0 0 1 21.16 0\",\n },\n },\n {\n tag: \"path\",\n attrs: {\n d: \"M8.53 16.11a6 6 0 0 1 6.95 0\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"12\",\n y1: \"20\",\n x2: \"12.01\",\n y2: \"20\",\n },\n },\n ],\n },\n x: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"line\",\n attrs: {\n x1: \"18\",\n y1: \"6\",\n x2: \"6\",\n y2: \"18\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"6\",\n y1: \"6\",\n x2: \"18\",\n y2: \"18\",\n },\n },\n ],\n },\n xCircle: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"12\",\n cy: \"12\",\n r: \"10\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"15\",\n y1: \"9\",\n x2: \"9\",\n y2: \"15\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"9\",\n y1: \"9\",\n x2: \"15\",\n y2: \"15\",\n },\n },\n ],\n },\n xSquare: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"path\",\n attrs: {\n d: \"M3 3h18v18H3zM15 9l-6 6m0-6l6 6\",\n },\n },\n ],\n },\n zoomIn: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"11\",\n cy: \"11\",\n r: \"8\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"21\",\n y1: \"21\",\n x2: \"16.65\",\n y2: \"16.65\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"11\",\n y1: \"8\",\n x2: \"11\",\n y2: \"14\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"11\",\n x2: \"14\",\n y2: \"11\",\n },\n },\n ],\n },\n zoomOut: {\n viewBox: \"0 0 24 24\",\n nodes: [\n {\n tag: \"circle\",\n attrs: {\n cx: \"11\",\n cy: \"11\",\n r: \"8\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"21\",\n y1: \"21\",\n x2: \"16.65\",\n y2: \"16.65\",\n },\n },\n {\n tag: \"line\",\n attrs: {\n x1: \"8\",\n y1: \"11\",\n x2: \"14\",\n y2: \"11\",\n },\n },\n ],\n },\n} as const\n","/**\n * IconName - Enum-like constant for all available icons\n *\n * @generated This file is auto-generated by scripts/generate-icon-names.ts\n * Do not edit manually. Run `pnpm generate:icons` to regenerate.\n *\n * Usage:\n * ```tsx\n * import { IconName } from \"@marwes-ui/core\"\n *\n * <Icon name={IconName.AlertCircle} />\n * <Button iconRight={IconName.Minus}>Delete</Button>\n * ```\n */\n\nexport const IconName = {\n Airplay: \"airplay\",\n AlertCircle: \"alertCircle\",\n AlertOctagon: \"alertOctagon\",\n AlertTriangle: \"alertTriangle\",\n AlignCenter: \"alignCenter\",\n AlignJustify: \"alignJustify\",\n AlignLeft: \"alignLeft\",\n AlignRight: \"alignRight\",\n ArrowDown: \"arrowDown\",\n ArrowDownCircle: \"arrowDownCircle\",\n ArrowDownLeft: \"arrowDownLeft\",\n ArrowDownRight: \"arrowDownRight\",\n ArrowIn: \"arrowIn\",\n ArrowInCircle: \"arrowInCircle\",\n ArrowInSquare: \"arrowInSquare\",\n ArrowLeft: \"arrowLeft\",\n ArrowLeftCircle: \"arrowLeftCircle\",\n ArrowOut: \"arrowOut\",\n ArrowOutCircle: \"arrowOutCircle\",\n ArrowOutSquare: \"arrowOutSquare\",\n ArrowRight: \"arrowRight\",\n ArrowRightCircle: \"arrowRightCircle\",\n ArrowUp: \"arrowUp\",\n ArrowUpCircle: \"arrowUpCircle\",\n ArrowUpLeft: \"arrowUpLeft\",\n ArrowUpRight: \"arrowUpRight\",\n AtSign: \"atSign\",\n BarChart: \"barChart\",\n BarChart2: \"barChart2\",\n BarChart3: \"barChart3\",\n BarChart4: \"barChart4\",\n Bell: \"bell\",\n Bluetooth: \"bluetooth\",\n Bold: \"bold\",\n Bookmark: \"bookmark\",\n Calendar: \"calendar\",\n Camera: \"camera\",\n Cast: \"cast\",\n Check: \"check\",\n CheckCircle: \"checkCircle\",\n CheckSquare: \"checkSquare\",\n ChevronDown: \"chevronDown\",\n ChevronLeft: \"chevronLeft\",\n ChevronRight: \"chevronRight\",\n ChevronUp: \"chevronUp\",\n ChevronsDown: \"chevronsDown\",\n ChevronsLeft: \"chevronsLeft\",\n ChevronsRight: \"chevronsRight\",\n ChevronsUp: \"chevronsUp\",\n Circle: \"circle\",\n Clipboard: \"clipboard\",\n Clock: \"clock\",\n Code: \"code\",\n Command: \"command\",\n Compass: \"compass\",\n Copy: \"copy\",\n CornerDownLeft: \"cornerDownLeft\",\n CornerDownRight: \"cornerDownRight\",\n CornerLeftDown: \"cornerLeftDown\",\n CornerLeftUp: \"cornerLeftUp\",\n CornerRightDown: \"cornerRightDown\",\n CornerRightUp: \"cornerRightUp\",\n CornerUpLeft: \"cornerUpLeft\",\n CornerUpRight: \"cornerUpRight\",\n Cpu: \"cpu\",\n CreditCard: \"creditCard\",\n Database: \"database\",\n Delete: \"delete\",\n Disc: \"disc\",\n DollarSign: \"dollarSign\",\n Download: \"download\",\n DownloadCloud: \"downloadCloud\",\n Edit: \"edit\",\n Edit2: \"edit2\",\n Edit3: \"edit3\",\n Expand: \"expand\",\n ExternalLink: \"externalLink\",\n Eye: \"eye\",\n EyeOff: \"eyeOff\",\n Facebook: \"facebook\",\n FastForward: \"fastForward\",\n File: \"file\",\n FileMinus: \"fileMinus\",\n FileMinus2: \"fileMinus2\",\n FilePlus: \"filePlus\",\n FilePlus2: \"filePlus2\",\n FileText: \"fileText\",\n FileX: \"fileX\",\n FileX2: \"fileX2\",\n Film: \"film\",\n Flag: \"flag\",\n Folder: \"folder\",\n FolderMinus: \"folderMinus\",\n FolderMinus2: \"folderMinus2\",\n FolderPlus: \"folderPlus\",\n FolderPlus2: \"folderPlus2\",\n FolderX: \"folderX\",\n FolderX2: \"folderX2\",\n Grid: \"grid\",\n HardDrive: \"hardDrive\",\n Hash: \"hash\",\n Headphones: \"headphones\",\n Heart: \"heart\",\n HelpCircle: \"helpCircle\",\n Hexagon: \"hexagon\",\n Home: \"home\",\n Home2: \"home2\",\n Image: \"image\",\n Inbox: \"inbox\",\n Info: \"info\",\n Italic: \"italic\",\n Layout: \"layout\",\n Layout2: \"layout2\",\n Layout3: \"layout3\",\n Layout4: \"layout4\",\n Layout5: \"layout5\",\n Layout6: \"layout6\",\n LineChart: \"lineChart\",\n LineChart2: \"lineChart2\",\n Link: \"link\",\n List: \"list\",\n Loader: \"loader\",\n Lock: \"lock\",\n Mail: \"mail\",\n MapMarker1: \"mapMarker1\",\n MapMarker2: \"mapMarker2\",\n MapMarker3: \"mapMarker3\",\n Maximize: \"maximize\",\n Maximize2: \"maximize2\",\n Menu: \"menu\",\n MessageCircle: \"messageCircle\",\n MessageSquare: \"messageSquare\",\n Mic: \"mic\",\n Minimize: \"minimize\",\n Minimize3: \"minimize3\",\n Minus: \"minus\",\n MinusCircle: \"minusCircle\",\n MinusSquare: \"minusSquare\",\n Monitor: \"monitor\",\n Moon: \"moon\",\n MoreHorizontal: \"moreHorizontal\",\n MoreVertical: \"moreVertical\",\n Move: \"move\",\n Music: \"music\",\n Octagon: \"octagon\",\n Paperclip: \"paperclip\",\n Pause: \"pause\",\n PauseCircle: \"pauseCircle\",\n Percent: \"percent\",\n Phone: \"phone\",\n PieChart: \"pieChart\",\n PieChart2: \"pieChart2\",\n PieChart3: \"pieChart3\",\n PieChart4: \"pieChart4\",\n PieChart5: \"pieChart5\",\n Play: \"play\",\n PlayCircle: \"playCircle\",\n Plus: \"plus\",\n PlusCircle: \"plusCircle\",\n PlusSquare: \"plusSquare\",\n Power: \"power\",\n Printer: \"printer\",\n Radio: \"radio\",\n RefreshCcw: \"refreshCcw\",\n RefreshCw: \"refreshCw\",\n Repeat: \"repeat\",\n Rewind: \"rewind\",\n RotateLeft: \"rotateLeft\",\n RotateRight: \"rotateRight\",\n Rss: \"rss\",\n Save: \"save\",\n Scissors: \"scissors\",\n Search: \"search\",\n Server: \"server\",\n Settings: \"settings\",\n Share: \"share\",\n ShoppingBag: \"shoppingBag\",\n ShoppingCart: \"shoppingCart\",\n Shuffle: \"shuffle\",\n SkipBack: \"skipBack\",\n SkipForward: \"skipForward\",\n Slash: \"slash\",\n Sliders: \"sliders\",\n Smartphone: \"smartphone\",\n Speaker: \"speaker\",\n Square: \"square\",\n Star: \"star\",\n StopCircle: \"stopCircle\",\n Strikethrough: \"strikethrough\",\n Sun: \"sun\",\n Table: \"table\",\n Table2: \"table2\",\n Tablet: \"tablet\",\n Tag: \"tag\",\n ThumbsDown: \"thumbsDown\",\n ThumbsUp: \"thumbsUp\",\n Trash: \"trash\",\n TrendingDown: \"trendingDown\",\n TrendingUp: \"trendingUp\",\n Triangle: \"triangle\",\n Tv: \"tv\",\n Twitter: \"twitter\",\n Type: \"type\",\n Underline: \"underline\",\n Unlock: \"unlock\",\n Upload: \"upload\",\n UploadCloud: \"uploadCloud\",\n User: \"user\",\n UserCheck: \"userCheck\",\n UserCircle: \"userCircle\",\n UserMinus: \"userMinus\",\n UserPlus: \"userPlus\",\n UserX: \"userX\",\n Users: \"users\",\n Video: \"video\",\n VideoOff: \"videoOff\",\n Volume: \"volume\",\n Volume1: \"volume1\",\n Volume2: \"volume2\",\n VolumeX: \"volumeX\",\n Watch: \"watch\",\n Wifi: \"wifi\",\n X: \"x\",\n XCircle: \"xCircle\",\n XSquare: \"xSquare\",\n ZoomIn: \"zoomIn\",\n ZoomOut: \"zoomOut\",\n} as const\n\nexport type IconName = (typeof IconName)[keyof typeof IconName]\n\n/**\n * Runtime list of all icon names (useful for docs, search, etc.)\n */\nexport const iconNamesList = Object.values(IconName)\n","export const iconSizeScale = {\n xs: 16,\n sm: 24,\n md: 32,\n lg: 40,\n} as const\n\nexport const iconStrokeWidthScale = {\n xs: 1,\n sm: 2,\n md: 3,\n lg: 4,\n} as const\n\nexport type IconSizeKey = keyof typeof iconSizeScale\nexport type IconStrokeWidthKey = keyof typeof iconStrokeWidthScale\n\nexport function resolveIconSize(input: IconSizeKey | number): number {\n if (typeof input === \"number\") return input\n return iconSizeScale[input]\n}\n\nexport function resolveIconStrokeWidth(input: IconStrokeWidthKey | number): number {\n if (typeof input === \"number\") return input\n return iconStrokeWidthScale[input]\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport { IconName, iconNamesList } from \"./icon-names\"\nimport type { IconName as IconNameType } from \"./icon-names\"\n\n// Re-export from generated file\nexport { IconName, iconNamesList }\nexport type { IconNameType }\n\nexport type IconSize = \"xs\" | \"sm\" | \"md\" | \"lg\"\nexport type IconStrokeWidth = \"xs\" | \"sm\" | \"md\" | \"lg\"\nexport type IconColor = \"currentColor\" | \"primary\" | \"secondary\" | \"muted\"\n\n/**\n * @deprecated Use `iconNamesList` instead\n */\nexport const iconNames = iconNamesList\n\nexport type IconOptions = {\n name: IconNameType\n size?: IconSize\n strokeWidth?: IconStrokeWidth\n color?: IconColor\n\n // Accessibility\n ariaLabel?: string\n ariaHidden?: boolean\n decorative?: boolean\n}\n\nexport type IconA11yProps = {\n ariaLabel?: string\n ariaHidden?: boolean\n role?: \"img\"\n}\n\n/**\n * Valid SVG element types used in icon definitions.\n * This ensures type safety when rendering icon nodes.\n */\nexport type SvgElementType =\n | \"path\"\n | \"circle\"\n | \"line\"\n | \"polygon\"\n | \"polyline\"\n | \"rect\"\n | \"ellipse\"\n\nexport type SvgNode = {\n tag: SvgElementType\n attrs: Record<string, string>\n}\n\nexport type IconRenderKit = {\n tag: \"svg\"\n className: string\n vars: CssVars\n a11y: IconA11yProps\n svg: {\n viewBox: string\n nodes: readonly SvgNode[]\n width: number\n height: number\n type: \"stroke\"\n }\n}\n","import type { IconA11yProps, IconOptions } from \"./icon-types\"\n\nfunction isDev(): boolean {\n const p = (\n globalThis as unknown as {\n process?: { env?: Record<string, string | undefined> }\n }\n ).process\n\n const nodeEnv = p?.env?.NODE_ENV\n if (nodeEnv) return nodeEnv !== \"production\"\n\n const meta = import.meta as unknown as {\n env?: { MODE?: string; PROD?: boolean }\n }\n if (typeof meta.env?.PROD === \"boolean\") return !meta.env.PROD\n if (meta.env?.MODE) return meta.env.MODE !== \"production\"\n\n return true\n}\n\nconst __DEV__ = isDev()\n\nexport function resolveIconA11y(\n options: Pick<IconOptions, \"ariaLabel\" | \"decorative\">,\n): IconA11yProps {\n if (options.ariaLabel) {\n return {\n role: \"img\",\n ariaLabel: options.ariaLabel,\n }\n }\n\n if (__DEV__ && options.decorative === false) {\n console.warn(\n \"[marwes] Icon: decorative={false} was passed without ariaLabel. \" +\n \"The icon stays hidden from assistive technology unless ariaLabel is also provided.\",\n )\n }\n\n return { ariaHidden: true }\n}\n","import { resolveIconA11y } from \"./icon-a11y\"\nimport { iconRegistry } from \"./icon-registry\"\nimport { resolveIconSize, resolveIconStrokeWidth } from \"./icon-scales\"\nimport type { IconOptions, IconRenderKit } from \"./icon-types\"\n\nexport function createIconRecipe(opts: IconOptions): IconRenderKit {\n const def = iconRegistry[opts.name]\n\n if (!def) {\n throw new Error(`Icon \"${opts.name}\" not found in registry`)\n }\n\n // Defaults are hardcoded — icon size and stroke are not theme-derived\n const px = resolveIconSize(opts.size ?? \"sm\")\n const sw = resolveIconStrokeWidth(opts.strokeWidth ?? \"md\")\n const color = opts.color ?? \"currentColor\"\n\n return {\n tag: \"svg\",\n className: [\"mw-icon\", `mw-icon--${px}`, `mw-icon--${color}`].join(\" \"),\n vars: {\n \"--mw-icon-size\": `${px}px`,\n \"--mw-icon-stroke-width\": String(sw),\n },\n a11y: resolveIconA11y(opts),\n svg: {\n viewBox: def.viewBox,\n nodes: def.nodes,\n width: px,\n height: px,\n type: \"stroke\",\n },\n }\n}\n","import type { InputA11yProps, InputOptions } from \"./input-types\"\n\nexport function resolveInputA11y(opts: InputOptions): InputA11yProps {\n const a11y: InputA11yProps = {}\n\n if (opts.id) a11y.id = opts.id\n if (opts.name) a11y.name = opts.name\n\n if (opts.disabled) a11y.disabled = true\n if (opts.readOnly) a11y.readOnly = true\n if (opts.required) a11y.required = true\n\n if (opts.type) a11y.type = opts.type\n if (opts.inputMode) a11y.inputMode = opts.inputMode\n if (opts.autoComplete) a11y.autoComplete = opts.autoComplete\n if (opts.placeholder) a11y.placeholder = opts.placeholder\n\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.invalid) a11y.ariaInvalid = true\n if (opts.describedBy) a11y.ariaDescribedBy = opts.describedBy\n\n return a11y\n}\n","import { resolveInputA11y } from \"./input-a11y\"\nimport type { InputOptions, InputRenderKit } from \"./input-types\"\n\nexport function createInputRecipe(opts: InputOptions): InputRenderKit {\n const tone = opts.tone ?? \"default\"\n const invalid = opts.invalid === true ? \"is-invalid\" : \"is-valid\"\n\n return {\n tag: \"input\",\n className: [\"mw-input\", `mw-input--${tone}`, invalid].join(\" \"),\n vars: {},\n a11y: resolveInputA11y(opts),\n }\n}\n","import type { InputOtpA11yProps, InputOtpOptions } from \"./input-otp-types\"\n\nexport function resolveInputOtpA11y(options: InputOtpOptions): InputOtpA11yProps {\n const otpLength = Math.max(1, options.length ?? 6)\n const a11yProps: InputOtpA11yProps = {\n inputMode: \"numeric\",\n autoComplete: \"one-time-code\",\n maxLength: otpLength,\n pattern: \"[0-9]*\",\n }\n\n if (options.id) {\n a11yProps.id = options.id\n }\n\n if (options.name) {\n a11yProps.name = options.name\n }\n\n if (options.disabled) {\n a11yProps.disabled = true\n }\n\n if (options.readOnly) {\n a11yProps.readOnly = true\n }\n\n if (options.required) {\n a11yProps.required = true\n }\n\n if (options.ariaLabel) {\n a11yProps.ariaLabel = options.ariaLabel\n }\n\n if (options.invalid) {\n a11yProps.ariaInvalid = true\n }\n\n if (options.describedBy) {\n a11yProps.ariaDescribedBy = options.describedBy\n }\n\n return a11yProps\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport { resolveInputOtpA11y } from \"./input-otp-a11y\"\nimport type { InputOtpOptions, InputOtpRenderKit } from \"./input-otp-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function sanitizeInputOtpValue(rawValue: string | undefined, length: number): string {\n if (!rawValue) {\n return \"\"\n }\n\n let sanitizedValue = \"\"\n\n for (const character of rawValue) {\n if (character < \"0\" || character > \"9\") {\n continue\n }\n\n sanitizedValue += character\n\n if (sanitizedValue.length >= length) {\n return sanitizedValue\n }\n }\n\n return sanitizedValue\n}\n\nexport function createInputOtpRecipe(options: InputOtpOptions): InputOtpRenderKit {\n const otpLength = Math.max(1, options.length ?? 6)\n const placeholderCharacter = options.placeholderCharacter ?? \"·\"\n const displayValue = sanitizeInputOtpValue(options.value ?? options.defaultValue, otpLength)\n const displayCharacters = Array.from({ length: otpLength }, (_, index) => {\n return displayValue[index] ?? placeholderCharacter\n })\n const displayCells = displayCharacters.map((character, index) => ({\n key: `otp-cell-${index + 1}`,\n character,\n filled: index < displayValue.length,\n }))\n\n const vars: CssVars = {\n \"--mw-input-otp-cell-count\": String(otpLength),\n }\n\n return {\n tag: \"div\",\n className: cx(\n \"mw-input-otp\",\n options.invalid && \"mw-input-otp--invalid\",\n options.disabled && \"mw-input-otp--disabled\",\n options.readOnly && \"mw-input-otp--readonly\",\n ),\n vars,\n a11y: resolveInputOtpA11y({ ...options, length: otpLength }),\n displayValue,\n displayCharacters,\n displayCells,\n }\n}\n","import type { SelectA11yProps, SelectOptions } from \"./select-types\"\n\nexport function resolveSelectA11y(opts: SelectOptions): SelectA11yProps {\n const a11y: SelectA11yProps = {}\n\n if (opts.id) a11y.id = opts.id\n if (opts.name) a11y.name = opts.name\n\n if (opts.disabled) a11y.disabled = true\n if (opts.required) a11y.required = true\n\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.invalid) a11y.ariaInvalid = true\n if (opts.describedBy) a11y.ariaDescribedBy = opts.describedBy\n\n return a11y\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport type { InputTone } from \"./input-types\"\n\nexport type SelectAppearance = \"marwes\" | \"native\"\nexport type SelectMode = SelectAppearance\n\nexport type SelectOption = {\n value: string\n label: string\n disabled?: boolean\n}\n\nexport type SelectOptions = {\n id?: string\n name?: string\n\n value?: string\n defaultValue?: string\n\n options: SelectOption[]\n placeholder?: string\n disabled?: boolean\n required?: boolean\n\n native?: boolean\n tone?: InputTone\n appearance?: SelectAppearance\n invalid?: boolean\n describedBy?: string\n\n ariaLabel?: string\n}\n\nexport type SelectA11yProps = {\n id?: string\n name?: string\n disabled?: true\n required?: true\n ariaLabel?: string\n ariaInvalid?: true\n ariaDescribedBy?: string\n}\n\nexport type SelectRenderKit = {\n tag: \"select\"\n className: string\n vars: CssVars\n a11y: SelectA11yProps\n}\n\nexport function resolveSelectMode(args: Pick<SelectOptions, \"native\" | \"appearance\">): SelectMode {\n if (args.native === true) {\n return \"native\"\n }\n\n if (args.native === false) {\n return \"marwes\"\n }\n\n return args.appearance ?? \"marwes\"\n}\n","import { resolveSelectA11y } from \"./select-a11y\"\nimport { type SelectOptions, type SelectRenderKit, resolveSelectMode } from \"./select-types\"\n\nexport function createSelectRecipe(opts: SelectOptions): SelectRenderKit {\n const tone = opts.tone ?? \"default\"\n const appearance = resolveSelectMode(opts)\n const invalid = opts.invalid === true ? \"is-invalid\" : \"is-valid\"\n\n return {\n tag: \"select\",\n className: [\"mw-select\", `mw-select--${tone}`, `mw-select--${appearance}`, invalid].join(\" \"),\n vars: {},\n a11y: resolveSelectA11y(opts),\n }\n}\n","import type { TextareaA11yProps, TextareaOptions } from \"./textarea-types\"\n\nexport function resolveTextareaA11y(opts: TextareaOptions): TextareaA11yProps {\n const a11y: TextareaA11yProps = {}\n\n if (opts.id) a11y.id = opts.id\n if (opts.name) a11y.name = opts.name\n\n if (opts.disabled) a11y.disabled = true\n if (opts.readOnly) a11y.readOnly = true\n if (opts.required) a11y.required = true\n\n if (opts.inputMode) a11y.inputMode = opts.inputMode\n if (opts.autoComplete) a11y.autoComplete = opts.autoComplete\n if (opts.placeholder) a11y.placeholder = opts.placeholder\n if (opts.rows !== undefined) a11y.rows = opts.rows\n if (opts.cols !== undefined) a11y.cols = opts.cols\n\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.invalid) a11y.ariaInvalid = true\n if (opts.describedBy) a11y.ariaDescribedBy = opts.describedBy\n\n return a11y\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport { resolveTextareaA11y } from \"./textarea-a11y\"\nimport type { TextareaOptions, TextareaRenderKit } from \"./textarea-types\"\n\nexport function createTextareaRecipe(opts: TextareaOptions): TextareaRenderKit {\n const tone = opts.tone ?? \"default\"\n const invalid = opts.invalid === true ? \"is-invalid\" : \"is-valid\"\n const vars: CssVars = {}\n\n if (opts.resize) {\n vars[\"--mw-textarea-resize\"] = opts.resize\n }\n\n return {\n tag: \"textarea\",\n className: [\"mw-textarea\", `mw-textarea--${tone}`, invalid].join(\" \"),\n vars,\n a11y: resolveTextareaA11y(opts),\n }\n}\n","import type { RichTextA11yProps, RichTextOptions } from \"./rich-text-types\"\n\nexport function resolveRichTextA11y(opts: RichTextOptions): RichTextA11yProps {\n const a11y: RichTextA11yProps = {\n role: \"textbox\",\n tabIndex: opts.disabled ? -1 : 0,\n ariaMultiline: true,\n }\n\n if (opts.id) a11y.id = opts.id\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.labelledBy) a11y.ariaLabelledBy = opts.labelledBy\n if (opts.describedBy) a11y.ariaDescribedBy = opts.describedBy\n if (opts.invalid) a11y.ariaInvalid = true\n if (opts.disabled) a11y.ariaDisabled = true\n if (opts.readOnly) a11y.ariaReadOnly = true\n if (opts.required) a11y.ariaRequired = true\n\n return a11y\n}\n","import type { RichTextFormat, RichTextOptions } from \"./rich-text-types\"\n\nconst richTextFormats: RichTextFormat[] = [\"bold\", \"italic\", \"underline\"]\n\nexport function resolveRichTextAllowedFormats(\n allowedFormats: RichTextOptions[\"allowedFormats\"],\n): RichTextFormat[] {\n if (!allowedFormats || allowedFormats.length === 0) {\n return richTextFormats\n }\n\n const nextFormats = allowedFormats.filter((format): format is RichTextFormat =>\n richTextFormats.includes(format),\n )\n\n return nextFormats.length > 0 ? Array.from(new Set(nextFormats)) : richTextFormats\n}\n\nexport function resolveRichTextClassName(opts: RichTextOptions): string {\n const tone = opts.tone ?? \"default\"\n const invalid = opts.invalid === true ? \"is-invalid\" : \"is-valid\"\n\n return [\"mw-rich-text\", `mw-rich-text--${tone}`, invalid].join(\" \")\n}\n\nexport function resolveRichTextDataAttributes(\n opts: RichTextOptions,\n allowedFormats: RichTextFormat[],\n): Record<string, string | boolean | undefined> {\n return {\n \"data-component\": \"rich-text\",\n \"data-disabled\": opts.disabled ? \"true\" : undefined,\n \"data-readonly\": opts.readOnly ? \"true\" : undefined,\n \"data-invalid\": opts.invalid ? \"true\" : undefined,\n \"data-formats\": allowedFormats.join(\" \"),\n }\n}\n","import type { CssVars } from \"../../../shared/css-vars\"\nimport { resolveRichTextA11y } from \"./rich-text-a11y\"\nimport {\n resolveRichTextAllowedFormats,\n resolveRichTextClassName,\n resolveRichTextDataAttributes,\n} from \"./rich-text-styles\"\nimport type { RichTextOptions, RichTextRenderKit } from \"./rich-text-types\"\n\nexport function createRichTextRecipe(opts: RichTextOptions): RichTextRenderKit {\n const vars: CssVars = {}\n const allowedFormats = resolveRichTextAllowedFormats(opts.allowedFormats)\n\n return {\n tag: \"div\",\n className: resolveRichTextClassName(opts),\n vars,\n a11y: resolveRichTextA11y(opts),\n dataAttributes: resolveRichTextDataAttributes(opts, allowedFormats),\n }\n}\n","import type { RichTextFormat } from \"./rich-text-types\"\n\nconst blockTagPattern = /<(?:div|section|article|header|footer|main)(?:\\s[^>]*)?>/gi\nconst closingBlockTagPattern = /<\\/(?:div|section|article|header|footer|main)>/gi\nconst disallowedTagPattern =\n /<\\/(?!(?:p|br|strong|em|u)\\b)[^>]+>|<(?!\\/)(?!(?:p|br|strong|em|u)\\b)[^>]+>/gi\nconst openingParagraphPattern = /<p(?:\\s[^>]*)?>/gi\nconst openingStrongPattern = /<strong(?:\\s[^>]*)?>/gi\nconst openingEmphasisPattern = /<em(?:\\s[^>]*)?>/gi\nconst openingUnderlinePattern = /<u(?:\\s[^>]*)?>/gi\nconst lineBreakPattern = /<br\\s*\\/?>/gi\nconst unsupportedAnglePattern = /<(?!\\/?(?:p|br|strong|em|u)\\b)/gi\n\nexport const richTextCommandByFormat: Record<RichTextFormat, string> = {\n bold: \"bold\",\n italic: \"italic\",\n underline: \"underline\",\n}\n\nexport function escapeRichTextHtml(value: string): string {\n return value\n .replaceAll(\"&\", \"&\")\n .replaceAll(\"<\", \"<\")\n .replaceAll(\">\", \">\")\n .replaceAll('\"', \""\")\n .replaceAll(\"'\", \"'\")\n}\n\nexport function normalizeRichTextHtml(rawHtml: string | undefined): string {\n if (!rawHtml) {\n return \"\"\n }\n\n const trimmedHtml = rawHtml.replaceAll(\"\\u200B\", \"\").trim()\n\n if (trimmedHtml.length === 0) {\n return \"\"\n }\n\n if (!trimmedHtml.includes(\"<\")) {\n return escapeRichTextHtml(trimmedHtml)\n }\n\n const normalizedHtml = trimmedHtml\n .replace(/<b(?:\\s[^>]*)?>/gi, \"<strong>\")\n .replace(/<\\/b>/gi, \"</strong>\")\n .replace(/<i(?:\\s[^>]*)?>/gi, \"<em>\")\n .replace(/<\\/i>/gi, \"</em>\")\n .replace(blockTagPattern, \"<p>\")\n .replace(closingBlockTagPattern, \"</p>\")\n .replace(openingParagraphPattern, \"<p>\")\n .replace(openingStrongPattern, \"<strong>\")\n .replace(openingEmphasisPattern, \"<em>\")\n .replace(openingUnderlinePattern, \"<u>\")\n .replace(lineBreakPattern, \"<br>\")\n .replace(disallowedTagPattern, \"\")\n .replace(unsupportedAnglePattern, \"<\")\n .replace(/\\s+/g, \" \")\n .trim()\n\n return isRichTextHtmlEmpty(normalizedHtml) ? \"\" : normalizedHtml\n}\n\nexport function isRichTextHtmlEmpty(rawHtml: string | undefined): boolean {\n if (!rawHtml) {\n return true\n }\n\n const collapsedText = rawHtml\n .replace(/<br\\s*\\/?>/gi, \"\")\n .replace(/<\\/?p>/gi, \"\")\n .replace(/<\\/?strong>/gi, \"\")\n .replace(/<\\/?em>/gi, \"\")\n .replace(/<\\/?u>/gi, \"\")\n .replace(/ /gi, \"\")\n .replaceAll(\"\\u200B\", \"\")\n .replace(/\\s+/g, \"\")\n .trim()\n\n return collapsedText.length === 0\n}\n","/**\n * Builds strict a11y output for Heading.\n * - Headings are semantic by default, minimal a11y needed.\n */\n\nimport type { HeadingA11y, HeadingOptions } from \"./heading-types\"\n\nexport function buildHeadingA11y(opts: HeadingOptions): HeadingA11y {\n const a11y: HeadingA11y = {}\n\n if (opts.id) a11y.id = opts.id\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n\n return a11y\n}\n","/**\n * Heading recipe: theme + options → render kit.\n * - Determines semantic tag from level.\n * - Allows visual size override.\n * - No spacing/margin (user-controlled).\n */\n\nimport type { CssVars } from \"../../../shared/css-vars\"\nimport type { ResolvedTheme } from \"../../../theme/theme-css\"\nimport type { HeadingSize } from \"../../../theme/theme-types\"\nimport { buildHeadingA11y } from \"./heading-a11y\"\nimport type { HeadingOptions, HeadingRenderKit } from \"./heading-types\"\n\nexport function headingRecipe(opts: HeadingOptions, theme: ResolvedTheme): HeadingRenderKit {\n const { level } = opts\n\n // Default size to match level (h1 → \"h1\", h2 → \"h2\", h3 → \"h3\").\n const size: HeadingSize = opts.size ?? (`h${level}` as HeadingSize)\n\n // Semantic tag based on level.\n const tag = `h${level}` as \"h1\" | \"h2\" | \"h3\"\n\n // Build class name.\n const className = [\"mw-heading\", `mw-heading--${size}`].filter(Boolean).join(\" \")\n\n // Typography settings from theme.\n const typo = theme.typography[size]\n\n // CSS variables.\n const vars: CssVars = {\n \"--mw-heading-size\": `${typo.fontSize}px`,\n \"--mw-heading-line-height\": `${typo.lineHeight}`,\n \"--mw-heading-weight\": `${typo.fontWeight}`,\n \"--mw-heading-letter-spacing\": `${typo.letterSpacing}px`,\n }\n\n // Build a11y props.\n const a11y = buildHeadingA11y(opts)\n\n return {\n tag,\n className,\n vars,\n a11y,\n }\n}\n","/**\n * Paragraph recipe: theme + options → render kit.\n * - Supports size variants: sm/md/lg.\n * - No spacing/margin (user-controlled).\n */\n\nimport type { CssVars } from \"../../../shared/css-vars\"\nimport type { ResolvedTheme } from \"../../../theme/theme-css\"\nimport type { ParagraphSize } from \"../../../theme/theme-types\"\nimport type { ParagraphOptions, ParagraphRenderKit } from \"./paragraph-types\"\n\nexport function paragraphRecipe(opts: ParagraphOptions, theme: ResolvedTheme): ParagraphRenderKit {\n // Default size to \"md\".\n const size: ParagraphSize = opts.size ?? \"md\"\n\n // Build class name.\n const className = [\"mw-p\", `mw-p--${size}`].filter(Boolean).join(\" \")\n\n // Typography settings from theme.\n const typo = theme.typography.paragraph[size]\n\n // CSS variables.\n const vars: CssVars = {\n \"--mw-p-size\": `${typo.fontSize}px`,\n \"--mw-p-line-height\": `${typo.lineHeight}`,\n }\n\n // Build a11y props (minimal).\n const a11y: ParagraphRenderKit[\"a11y\"] = {}\n if (opts.id) a11y.id = opts.id\n\n return {\n tag: \"p\",\n className,\n vars,\n a11y,\n }\n}\n","import type { TabA11yProps, TabOptions } from \"./tab-types\"\n\nexport function resolveTabA11y(opts: TabOptions): TabA11yProps {\n const a11y: TabA11yProps = {\n role: \"tab\",\n ariaSelected: opts.selected ?? false,\n // Only the selected enabled tab participates in roving focus.\n // Disabled tabs are rendered as disabled controls and skipped by TabGroup navigation.\n tabIndex: opts.selected && !opts.disabled ? 0 : -1,\n }\n\n if (opts.disabled) a11y.ariaDisabled = true\n if (opts.ariaLabel) a11y.ariaLabel = opts.ariaLabel\n if (opts.ariaControls) a11y.ariaControls = opts.ariaControls\n\n return a11y\n}\n","/**\n * Tab core recipe:\n * - returns a render kit for adapters\n * - stable classnames, modifier classes, strict a11y\n */\n\nimport { resolveTabA11y } from \"./tab-a11y\"\nimport type { TabOptions, TabRenderKit } from \"./tab-types\"\n\nfunction cx(...parts: Array<string | false | undefined>): string {\n return parts.filter(Boolean).join(\" \")\n}\n\nexport function createTabRecipe(opts: TabOptions): TabRenderKit {\n return {\n tag: \"button\",\n className: cx(\n \"mw-tab\",\n opts.selected && \"mw-tab--selected\",\n opts.disabled && \"mw-tab--disabled\",\n ),\n vars: {},\n a11y: resolveTabA11y(opts),\n }\n}\n","import type { TabGroupA11yIds, TabGroupItemState } from \"./tab-group-types\"\n\nexport type TabNavigationDirection = \"next\" | \"previous\" | \"start\" | \"end\"\n\nexport function buildTabGroupA11yIds(args: {\n id: string\n itemValues: string[]\n hasLabel?: boolean\n}): TabGroupA11yIds {\n const tabIds = Object.fromEntries(\n args.itemValues.map((value) => [value, `${args.id}-tab-${value}`]),\n )\n const panelIds = Object.fromEntries(\n args.itemValues.map((value) => [value, `${args.id}-panel-${value}`]),\n )\n\n const result: TabGroupA11yIds = {\n tabListId: `${args.id}-tablist`,\n tabIds,\n panelIds,\n }\n\n if (args.hasLabel) {\n result.labelId = `${args.id}-label`\n }\n\n return result\n}\n\nexport function resolveTabValue(\n items: TabGroupItemState[],\n requestedValue?: string,\n): string | undefined {\n if (items.length === 0) {\n return undefined\n }\n\n if (requestedValue) {\n const requestedItem = items.find((item) => item.value === requestedValue && !item.disabled)\n if (requestedItem) {\n return requestedItem.value\n }\n }\n\n return items.find((item) => !item.disabled)?.value\n}\n\nexport function moveTabSelection(\n items: TabGroupItemState[],\n currentValue: string | undefined,\n direction: TabNavigationDirection,\n): string | undefined {\n const enabledItems = items.filter((item) => !item.disabled)\n\n if (enabledItems.length === 0) {\n return undefined\n }\n\n if (direction === \"start\") {\n return enabledItems[0]?.value\n }\n\n if (direction === \"end\") {\n return enabledItems[enabledItems.length - 1]?.value\n }\n\n const currentIndex = enabledItems.findIndex((item) => item.value === currentValue)\n\n if (currentIndex === -1) {\n return enabledItems[0]?.value\n }\n\n const delta = direction === \"next\" ? 1 : -1\n const nextIndex = (currentIndex + delta + enabledItems.length) % enabledItems.length\n return enabledItems[nextIndex]?.value\n}\n","/**\n * Spacing recipe: options → render kit.\n * - Delegates size to the --mw-spacing-* token scale via a single CSS variable.\n * - Default size: \"sp-24\" (24px).\n */\n\nimport type { CssVars } from \"../../../shared/css-vars\"\nimport type { SpacingOptions, SpacingRenderKit, Spacings } from \"./spacing.types\"\n\nexport function createSpacingRecipe(opts: SpacingOptions = {}): SpacingRenderKit {\n const size: Spacings = opts.size ?? \"sp-24\"\n const scale = opts.scale ?? 1\n\n const className = \"mw-spacing\"\n\n // scale=1 emits a plain var(); anything else wraps in calc() to multiply.\n const tokenRef = `var(--mw-spacing-${size})`\n const vars: CssVars = {\n \"--mw-spacing-value\": scale === 1 ? tokenRef : `calc(${tokenRef} * ${scale})`,\n }\n\n const a11y: SpacingRenderKit[\"a11y\"] = {\n \"aria-hidden\": \"true\",\n }\n\n const dataAttributes: SpacingRenderKit[\"dataAttributes\"] = {\n \"data-component\": \"spacing\",\n \"data-size\": size,\n }\n\n return {\n tag: \"div\",\n className,\n vars,\n a11y,\n dataAttributes,\n }\n}\n","/**\n * Core types for Spacing component.\n * - Pure layout primitive that inserts vertical space between elements.\n * - 18 sizes mapped to the --mw-spacing-* token scale.\n * - Renders as an aria-hidden div.\n */\n\nimport type { CssVars } from \"../../../shared/css-vars\"\n\n/**\n * Spacing token accessor and type — same import, two uses.\n *\n * Preferred value access:\n * ```ts\n * Spacings.sp24 // \"sp-24\"\n * ```\n *\n * Legacy key access also works:\n * ```ts\n * Spacings[\"sp-24\"] // \"sp-24\"\n * ```\n *\n * Type use:\n * ```ts\n * size?: Spacings\n * ```\n *\n * Pixel scale:\n * sp-0→0 | sp-2→2 | sp-4→4 | sp-8→8 | sp-16→16 | sp-24→24 | sp-32→32\n * sp-40→40 | sp-48→48 | sp-56→56 | sp-64→64 | sp-72→72 | sp-80→80\n * sp-88→88 | sp-96→96 | sp-104→104 | sp-112→112 | sp-120→120\n */\nexport const Spacings = {\n sp0: \"sp-0\",\n sp2: \"sp-2\",\n sp4: \"sp-4\",\n sp8: \"sp-8\",\n sp16: \"sp-16\",\n sp24: \"sp-24\",\n sp32: \"sp-32\",\n sp40: \"sp-40\",\n sp48: \"sp-48\",\n sp56: \"sp-56\",\n sp64: \"sp-64\",\n sp72: \"sp-72\",\n sp80: \"sp-80\",\n sp88: \"sp-88\",\n sp96: \"sp-96\",\n sp104: \"sp-104\",\n sp112: \"sp-112\",\n sp120: \"sp-120\",\n \"sp-0\": \"sp-0\",\n \"sp-2\": \"sp-2\",\n \"sp-4\": \"sp-4\",\n \"sp-8\": \"sp-8\",\n \"sp-16\": \"sp-16\",\n \"sp-24\": \"sp-24\",\n \"sp-32\": \"sp-32\",\n \"sp-40\": \"sp-40\",\n \"sp-48\": \"sp-48\",\n \"sp-56\": \"sp-56\",\n \"sp-64\": \"sp-64\",\n \"sp-72\": \"sp-72\",\n \"sp-80\": \"sp-80\",\n \"sp-88\": \"sp-88\",\n \"sp-96\": \"sp-96\",\n \"sp-104\": \"sp-104\",\n \"sp-112\": \"sp-112\",\n \"sp-120\": \"sp-120\",\n} as const\n\nexport type Spacings = (typeof Spacings)[keyof typeof Spacings]\n\n/**\n * Alias for `Spacings` type — kept for internal and backward-compat use.\n * Prefer `Spacings` in public-facing code.\n */\nexport type SpacingSize = Spacings\n\n/** Public props the adapter can pass into core. */\nexport type SpacingOptions = {\n /**\n * Token size for the spacing.\n * Prefer `Spacings.sp24` for type-safe dot access.\n *\n * ```ts\n * import { Spacings } from \"@marwes-ui/react\"\n * <Spacing size={Spacings.sp24} />\n * ```\n * @default \"sp-24\" (24px)\n */\n size?: Spacings\n\n /**\n * Multiplies the token value. `scale={2}` doubles any size.\n * Computed as `calc(var(--mw-spacing-{size}) * scale)`.\n * @default 1\n */\n scale?: number\n}\n\n/** A11y output — spacing is decorative, hidden from assistive tech. */\nexport type SpacingA11y = {\n \"aria-hidden\": \"true\"\n}\n\n/** Data attributes for styling hooks. */\nexport type SpacingDataAttributes = {\n \"data-component\": \"spacing\"\n \"data-size\": Spacings\n}\n\n/** Render kit output. */\nexport type SpacingRenderKit = {\n /** Always a <div> — spacing is decorative, not semantic. */\n tag: \"div\"\n\n /** CSS class names. */\n className: string\n\n /** CSS variables for theming. */\n vars: CssVars\n\n /** Accessibility props. */\n a11y: SpacingA11y\n\n /** Data attributes for styling hooks. */\n dataAttributes: SpacingDataAttributes\n}\n","import { iconNames } from \"../components/atoms\"\n\nexport const storybookLayout = {\n centered: { layout: \"centered\" },\n padded: { layout: \"padded\" },\n fullscreen: { layout: \"fullscreen\" },\n} as const\n\nexport const storybookA11yPolicy = {\n off: {\n a11y: { test: \"off\" as const },\n },\n smoke: {\n a11y: { test: \"error\" as const },\n },\n} as const\n\nexport const storybookIconNames = [...iconNames]\nexport const storybookOptionalIconNames = [undefined, ...storybookIconNames]\n\nexport const storybookButtonIconArgTypes = {\n iconLeft: {\n control: \"select\",\n options: storybookOptionalIconNames,\n },\n iconRight: {\n control: \"select\",\n options: storybookOptionalIconNames,\n },\n disabled: {\n control: \"boolean\",\n },\n} as const\n\nexport const storybookButtonGeneralArgTypes = {\n ...storybookButtonIconArgTypes,\n} as const\n\nexport const storybookButtonPurposeArgTypes = {\n ...storybookButtonIconArgTypes,\n} as const\n\nexport const storybookCheckboxArgTypes = {\n size: { control: \"radio\", options: [\"sm\", \"md\", \"lg\"] },\n disabled: { control: \"boolean\" },\n required: { control: \"boolean\" },\n invalid: { control: \"boolean\" },\n checked: { control: \"boolean\" },\n defaultChecked: { control: \"boolean\" },\n indeterminate: { control: \"boolean\" },\n ariaLabel: { control: \"text\" },\n} as const\n\nexport const storybookDividerArgTypes = {\n size: {\n control: \"select\",\n options: [\"xxs\", \"xs\", \"sm\", \"md\", \"lg\", \"xl\", \"xxl\"],\n description: \"Size variant (xxs=1px, xs=8px, sm=16px, md=32px, lg=48px, xl=64px, xxl=80px)\",\n },\n orientation: {\n control: \"select\",\n options: [\"horizontal\", \"vertical\"],\n description: \"Orientation of the divider\",\n },\n} as const\n\nexport const storybookSpinnerArgTypes = {\n variant: {\n control: \"select\",\n options: [\"classic\", \"ring\", \"dual\", \"dots-round\", \"dots-square\", \"lines\", \"cross\"],\n description: \"Visual style from the synced Spinner showcase\",\n },\n size: {\n control: \"select\",\n options: [\"xs\", \"sm\", \"md\", \"lg\"],\n description: \"Spinner scale token (xs=16px, sm=24px, md=32px, lg=40px)\",\n },\n decorative: {\n control: \"boolean\",\n description:\n \"Hide the spinner from assistive technology when nearby text already communicates loading\",\n },\n ariaLabel: {\n control: \"text\",\n description: \"Accessible label for standalone loading indicators\",\n },\n} as const\n\nexport const storybookSkeletonArgTypes = {\n variant: {\n control: \"select\",\n options: [\"text\", \"circular\", \"rectangular\"],\n description: \"Skeleton shape from the synced Skeleton page\",\n },\n animation: {\n control: \"select\",\n options: [\"pulse\", \"wave\", \"none\"],\n description: \"Visual loading animation\",\n },\n width: {\n control: \"text\",\n description: \"Width override; numbers in code are treated as pixels\",\n },\n height: {\n control: \"text\",\n description: \"Height override; numbers in code are treated as pixels\",\n },\n radius: {\n control: \"text\",\n description: \"Corner radius override; circular skeletons force a full radius\",\n },\n decorative: {\n control: \"boolean\",\n description:\n \"Hide the skeleton from assistive technology when surrounding UI already communicates loading\",\n },\n ariaLabel: {\n control: \"text\",\n description: \"Accessible label for standalone loading placeholder groups\",\n },\n} as const\n\nexport const storybookStatTileArgTypes = {\n tone: {\n control: \"select\",\n options: [\"neutral\", \"brand\", \"success\", \"warning\", \"danger\"],\n description: \"Color treatment from the synced Stat Tile Figma instances\",\n },\n trendDirection: {\n control: \"select\",\n options: [undefined, \"positive\", \"negative\"],\n description: \"Trend direction for the compact trend pill\",\n },\n trendValue: {\n control: \"text\",\n description: \"Compact trend value, for example 12%\",\n },\n label: { control: \"text\" },\n value: { control: \"text\" },\n subtitle: { control: \"text\" },\n} as const\n\nexport const storybookDatePickerArgTypes = {\n device: {\n control: \"select\",\n options: [\"desktop\", \"mobile\"],\n description: \"Device variant from the synced Date Picker Figma component set\",\n },\n monthLabel: { control: \"text\" },\n calendarLabel: { control: \"text\" },\n previousYearLabel: { control: \"text\" },\n previousMonthLabel: { control: \"text\" },\n nextMonthLabel: { control: \"text\" },\n nextYearLabel: { control: \"text\" },\n cancelLabel: { control: \"text\" },\n applyLabel: { control: \"text\" },\n} as const\n\nexport const storybookSpacingArgTypes = {\n size: {\n control: \"select\",\n options: [\n \"sp-0\",\n \"sp-2\",\n \"sp-4\",\n \"sp-8\",\n \"sp-16\",\n \"sp-24\",\n \"sp-32\",\n \"sp-40\",\n \"sp-48\",\n \"sp-56\",\n \"sp-64\",\n \"sp-72\",\n \"sp-80\",\n \"sp-88\",\n \"sp-96\",\n \"sp-104\",\n \"sp-112\",\n \"sp-120\",\n ],\n description: \"Size variant (sp-0=0 … sp-24=24 … sp-80=80 … sp-120=120px)\",\n },\n scale: {\n control: { type: \"number\", min: 1, max: 8, step: 0.5 },\n description: \"Multiplies the token value. scale=2 doubles any size.\",\n },\n} as const\n\nexport const storybookIconGalleryDefaults = {\n size: \"sm\",\n strokeWidth: \"md\",\n search: \"\",\n columns: 8,\n} as const\n\nexport const storybookIconGalleryArgTypes = {\n size: {\n control: \"inline-radio\",\n options: [\"xs\", \"sm\", \"md\", \"lg\"],\n },\n strokeWidth: {\n control: \"inline-radio\",\n options: [\"xs\", \"sm\", \"md\", \"lg\"],\n },\n search: { control: \"text\" },\n columns: {\n control: { type: \"range\", min: 4, max: 14, step: 1 },\n },\n} as const\n\nexport const storybookRadioArgTypes = {\n checked: { control: \"boolean\" },\n defaultChecked: { control: \"boolean\" },\n disabled: { control: \"boolean\" },\n required: { control: \"boolean\" },\n invalid: { control: \"boolean\" },\n name: { control: \"text\" },\n value: { control: \"text\" },\n ariaLabel: { control: \"text\" },\n} as const\n\nexport const storybookSliderArgTypes = {\n min: { control: { type: \"number\", min: -1000, max: 1000, step: 1 } },\n max: { control: { type: \"number\", min: -1000, max: 1000, step: 1 } },\n step: { control: { type: \"number\", min: 0.1, max: 100, step: 0.1 } },\n value: { control: { type: \"number\", min: -1000, max: 1000, step: 1 } },\n defaultValue: { control: { type: \"number\", min: -1000, max: 1000, step: 1 } },\n disabled: { control: \"boolean\" },\n required: { control: \"boolean\" },\n showTooltip: { control: \"boolean\" },\n showTouchArea: { control: \"boolean\" },\n ariaLabel: { control: \"text\" },\n ariaValueText: { control: \"text\" },\n} as const\n\nexport const storybookDocsDescription = {\n linkButton:\n \"LinkButton locks navigation semantics, renders as an anchor, and keeps the canonical text treatment. Use Button for intentional visual deviations.\",\n destructiveButton:\n \"DestructiveButton locks destructive semantics, uses the canonical primary + error treatment, and requires confirmation by default. Use Button for intentional exceptions.\",\n submitButton:\n \"SubmitButton locks form-submit semantics, always renders as a button, and keeps the canonical primary treatment.\",\n saveButton:\n \"SaveButton locks save semantics and the canonical primary treatment. Use Button if you need a different visual hierarchy.\",\n confirmButton:\n \"ConfirmButton locks affirmative confirmation semantics, always renders as a button, and keeps the canonical success treatment.\",\n verifyButton:\n \"VerifyButton locks verification semantics, always renders as a button, and keeps the canonical secondary treatment with a check-circle icon by default.\",\n editButton:\n \"EditButton locks edit semantics and the canonical secondary treatment with an edit icon by default.\",\n uploadButton:\n \"UploadButton locks upload semantics and the canonical secondary treatment with an upload icon by default.\",\n downloadButton:\n \"DownloadButton locks download semantics and the canonical secondary treatment with a download icon by default.\",\n copyButton: \"CopyButton locks copy semantics and the canonical neutral treatment.\",\n searchButton:\n \"SearchButton locks search semantics and the canonical primary treatment with a search icon by default.\",\n filterButton: \"FilterButton locks filter semantics and the canonical neutral treatment.\",\n sortButton: \"SortButton locks sort semantics and the canonical neutral treatment.\",\n dropdownButton:\n \"DropdownButton locks disclosure semantics and the canonical secondary treatment with a chevron-down icon by default.\",\n closeButton: \"CloseButton locks dismiss semantics and the canonical neutral treatment.\",\n refreshButton:\n \"RefreshButton locks refresh semantics and the canonical neutral treatment with a refresh icon by default.\",\n colors:\n \"Complete color palette from the design system. Semantic roles map to CSS variables, with label colors auto-derived by default and overrideable for brand-specific fills.\",\n} as const\n"]}
|