{
 "schemaVersion": "1.0.0",
 "package": {
  "name": "@s25/pulse-ds",
  "version": "1.0.0"
 },
 "modules": [
  {
   "kind": "javascript-module",
   "path": "src/components/pz-icon/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzIcon",
     "tagName": "pz-icon",
     "summary": "Значок",
     "description": "Значок Material Symbols Rounded по имени. Размеры 16/18/20/24; у активного пункта и статуса — заливка (fill).",
     "attributes": [
      {
       "name": "name",
       "type": {
        "text": "string"
       },
       "description": "Имя значка из Material Symbols (add, search, forum, monitor_heart…)."
      },
      {
       "name": "size",
       "type": {
        "text": "number"
       },
       "description": "Размер в px. По умолчанию — размер значка контрола (--ic), иначе 20."
      },
      {
       "name": "fill",
       "type": {
        "text": "boolean"
       },
       "description": "Залитый вариант: активный пункт, статус."
      },
      {
       "name": "tone",
       "type": {
        "text": "'muted' | 'faint' | 'link' | 'accent' | 'ok' | 'danger' | 'ai'"
       },
       "description": "Цвет. Без атрибута — цвет текста."
      }
     ],
     "events": [],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-icon",
     "declaration": {
      "name": "PzIcon"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-button/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzButton",
     "tagName": "pz-button",
     "summary": "Кнопка",
     "description": "Кнопка-пилюля. Белая — обычное действие, чернильная — одно главное на экран, тихая (ghost), синяя — отправка в чате, danger — удаление.",
     "attributes": [
      {
       "name": "variant",
       "type": {
        "text": "'white' | 'ink' | 'ghost' | 'blue' | 'danger'"
       },
       "default": "white",
       "description": "Вид. ink — главное действие (в тёмной теме светлое)."
      },
      {
       "name": "size",
       "type": {
        "text": "'sm' | 'md' | 'lg'"
       },
       "default": "md",
       "description": "Высота 32/40/48. Обычно задаётся рядом (.pz-sm/.pz-lg на предке), а не кнопкой."
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Значок слева."
      },
      {
       "name": "icon-end",
       "type": {
        "text": "string"
       },
       "description": "Значок справа."
      },
      {
       "name": "dropdown",
       "type": {
        "text": "boolean"
       },
       "description": "Шеврон справа — кнопка открывает меню."
      },
      {
       "name": "loading",
       "type": {
        "text": "boolean"
       },
       "description": "Кольцо вместо значка, нажатия не проходят."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "block",
       "type": {
        "text": "boolean"
       },
       "description": "На всю ширину."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       },
       "description": "Сделать ссылкой <a>."
      },
      {
       "name": "type",
       "type": {
        "text": "'button' | 'submit' | 'reset'"
       },
       "default": "button",
       "description": "submit отправляет форму, в которой стоит кнопка."
      }
     ],
     "events": [
      {
       "name": "click",
       "description": "Обычный click; при disabled и loading не всплывает."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Подпись."
      },
      {
       "name": "start",
       "description": "Перед подписью (аватар, плитка)."
      },
      {
       "name": "end",
       "description": "После подписи (счётчик pz-counter)."
      }
     ],
     "cssParts": [
      {
       "name": "base",
       "description": "Сама пилюля."
      }
     ]
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-button",
     "declaration": {
      "name": "PzButton"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-icon-button/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzIconButton",
     "tagName": "pz-icon-button",
     "summary": "Кнопка-значок",
     "description": "Круглая кнопка со значком. Без заливки по умолчанию, solid — белая с тенью, ink — чернильная. Счётчик и точка непрочитанного.",
     "attributes": [
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Значок."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "description": "Подпись для экранных дикторов и подсказка. Обязательна."
      },
      {
       "name": "variant",
       "type": {
        "text": "'plain' | 'solid' | 'ink' | 'blue'"
       },
       "default": "plain"
      },
      {
       "name": "size",
       "type": {
        "text": "'sm' | 'md' | 'lg'"
       },
       "default": "md"
      },
      {
       "name": "on",
       "type": {
        "text": "boolean"
       },
       "description": "Выбрана (в группе — чернильная)."
      },
      {
       "name": "badge",
       "type": {
        "text": "string"
       },
       "description": "Число в чернильном кружке."
      },
      {
       "name": "dot",
       "type": {
        "text": "boolean"
       },
       "description": "Оранжевая точка — есть новое."
      },
      {
       "name": "fill",
       "type": {
        "text": "boolean"
       },
       "description": "Залитый значок."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       }
      }
     ],
     "events": [
      {
       "name": "click"
      }
     ],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-icon-button",
     "declaration": {
      "name": "PzIconButton"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-icon-group/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzIconGroup",
     "tagName": "pz-icon-group",
     "summary": "Группа значков",
     "description": "Белая пилюля с кнопками-значками внутри: шапка страницы (чаты, объявления, колокольчик), переключатель вида. Выбранная — чернильная.",
     "attributes": [
      {
       "name": "size",
       "type": {
        "text": "'sm' | 'md' | 'lg'"
       },
       "default": "md"
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "description": "aria-label группы."
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "pz-icon-button и разделители <pz-sep>."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-icon-group",
     "declaration": {
      "name": "PzIconGroup"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-field/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzField",
     "tagName": "pz-field",
     "summary": "Поле ввода",
     "description": "Поле с подписью сверху и подсказкой или ошибкой снизу: однострочное, многострочное (multiline), поиск-пилюля (variant=\"search\"). Работает в <form> как обычный input.",
     "attributes": [
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "description": "Подпись сверху (500 13 px, без капслока)."
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "placeholder",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "name",
       "type": {
        "text": "string"
       },
       "description": "Имя в FormData."
      },
      {
       "name": "type",
       "type": {
        "text": "'text' | 'email' | 'password' | 'number' | 'search' | 'tel' | 'url' | 'date' | 'time'"
       },
       "default": "text"
      },
      {
       "name": "hint",
       "type": {
        "text": "string"
       },
       "description": "Подсказка под полем."
      },
      {
       "name": "error",
       "type": {
        "text": "string"
       },
       "description": "Текст ошибки: поле красным ореолом, текст вместо подсказки."
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Значок слева."
      },
      {
       "name": "kbd",
       "type": {
        "text": "string"
       },
       "description": "Клавиша справа (⌘K)."
      },
      {
       "name": "multiline",
       "type": {
        "text": "boolean"
       },
       "description": "Многострочное, от 88 px."
      },
      {
       "name": "rows",
       "type": {
        "text": "number"
       },
       "default": "3"
      },
      {
       "name": "autogrow",
       "type": {
        "text": "boolean"
       },
       "description": "Растёт по тексту."
      },
      {
       "name": "clearable",
       "type": {
        "text": "boolean"
       },
       "description": "Крестик очистки, когда есть текст."
      },
      {
       "name": "variant",
       "type": {
        "text": "'field' | 'search'"
       },
       "default": "field",
       "description": "search — пилюля с тенью для поиска."
      },
      {
       "name": "size",
       "type": {
        "text": "'sm' | 'md' | 'lg'"
       },
       "default": "md",
       "description": "Для поиска — высота пилюли; для поля sm — 32."
      },
      {
       "name": "required",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "readonly",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "autofocus",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "autocomplete",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "maxlength",
       "type": {
        "text": "number"
       }
      },
      {
       "name": "min",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "max",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "inputmode",
       "type": {
        "text": "string"
       }
      }
     ],
     "events": [
      {
       "name": "input",
       "description": "Каждый ввод (родное событие; значение — el.value)."
      },
      {
       "name": "pz-change",
       "description": "Значение зафиксировано (blur, Enter, очистка)."
      }
     ],
     "slots": [
      {
       "name": "start",
       "description": "Перед текстом (аватар, чип)."
      },
      {
       "name": "end",
       "description": "После текста (кнопка-значок)."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-field",
     "declaration": {
      "name": "PzField"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-checkbox/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzCheckbox",
     "tagName": "pz-checkbox",
     "summary": "Флажок и радио",
     "description": "Флажок 18 px (включённый — синий с галочкой) и радио (type=\"radio\" в <pz-radio-group>). Подпись — содержимое, пояснение — hint.",
     "attributes": [
      {
       "name": "checked",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "indeterminate",
       "type": {
        "text": "boolean"
       },
       "description": "Частично выбрано (минус)."
      },
      {
       "name": "type",
       "type": {
        "text": "'checkbox' | 'radio'"
       },
       "default": "checkbox"
      },
      {
       "name": "name",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "default": "on"
      },
      {
       "name": "hint",
       "type": {
        "text": "string"
       },
       "description": "Вторая строка серым."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       }
      }
     ],
     "events": [
      {
       "name": "pz-change"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Подпись."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-checkbox",
     "declaration": {
      "name": "PzCheckbox"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-toggle/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzToggle",
     "tagName": "pz-toggle",
     "summary": "Тумблер",
     "description": "Тумблер 44×26: включённый — синий градиент. Для настроек — внутри pz-setting-row, подпись и пояснение даёт строка.",
     "attributes": [
      {
       "name": "checked",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "description": "aria-label, если рядом нет подписи."
      },
      {
       "name": "name",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "default": "on"
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       }
      }
     ],
     "events": [
      {
       "name": "pz-change"
      }
     ],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-toggle",
     "declaration": {
      "name": "PzToggle"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-segmented/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzSegmented",
     "tagName": "pz-segmented",
     "summary": "Сегмент и вкладки",
     "description": "Выбор одного из 2–6 вариантов в строке: вкладки страницы, переключатель вида, фильтр. Выбранный — чернильная пилюля; на белой карточке — мягкая синяя заливка (variant=\"soft\").",
     "attributes": [
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "description": "Выбранный вариант (value у pz-option). По умолчанию — первый."
      },
      {
       "name": "variant",
       "type": {
        "text": "'ink' | 'soft'"
       },
       "default": "ink",
       "description": "soft — на белой карточке, в меню, дровере."
      },
      {
       "name": "size",
       "type": {
        "text": "'sm' | 'md'"
       },
       "default": "md",
       "description": "sm 28 — вторичный фильтр внутри карточки (сразу soft)."
      },
      {
       "name": "fill",
       "type": {
        "text": "boolean"
       },
       "description": "Растянуть на всю ширину."
      },
      {
       "name": "icons",
       "type": {
        "text": "boolean"
       },
       "description": "Только значки (подписи — в подсказках)."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "description": "aria-label группы."
      },
      {
       "name": "name",
       "type": {
        "text": "string"
       }
      }
     ],
     "events": [
      {
       "name": "pz-change"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "<pz-option value icon count hot disabled>Подпись</pz-option> — варианты."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-segmented",
     "declaration": {
      "name": "PzSegmented"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-chip/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzChip",
     "tagName": "pz-chip",
     "summary": "Чип",
     "description": "Метка 26 px: тип записи, тег, срок. Ненажимаемый — тонированный; нажимаемый (clickable) — белый с тенью; выбранный фильтр — чернильный (on).",
     "attributes": [
      {
       "name": "tone",
       "type": {
        "text": "'neutral' | 'idea' | 'task' | 'bug' | 'doc' | 'ann' | 'ok' | 'warn' | 'hot' | 'lnk' | 'ai' | 'danger'"
       },
       "default": "neutral"
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "clickable",
       "type": {
        "text": "boolean"
       },
       "description": "Кнопка-фильтр."
      },
      {
       "name": "on",
       "type": {
        "text": "boolean"
       },
       "description": "Выбран (чернильный)."
      },
      {
       "name": "out",
       "type": {
        "text": "boolean"
       },
       "description": "Белый с тенью, ненажимаемый."
      },
      {
       "name": "removable",
       "type": {
        "text": "boolean"
       },
       "description": "Крестик, событие pz-remove."
      }
     ],
     "events": [
      {
       "name": "click"
      },
      {
       "name": "pz-remove",
       "description": "Нажат крестик."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Текст."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-chip",
     "declaration": {
      "name": "PzChip"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-badge/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzBadge",
     "tagName": "pz-badge",
     "summary": "Бейдж статуса",
     "description": "Статус записи: белая пилюля 28 с точкой цвета этапа и словом. Этапы: новые, обсуждаем, в работе, на проверке, сделано, выключено, блокер.",
     "attributes": [
      {
       "name": "status",
       "type": {
        "text": "'new' | 'disc' | 'work' | 'rev' | 'done' | 'off' | 'block'"
       },
       "description": "Этап → цвет точки."
      },
      {
       "name": "color",
       "type": {
        "text": "string"
       },
       "description": "Свой цвет точки (CSS-цвет или var(--pz-…))."
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "Название статуса."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-badge",
     "declaration": {
      "name": "PzBadge"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-counter/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzCounter",
     "tagName": "pz-counter",
     "summary": "Счётчик",
     "description": "Число в пилюле 22 px: синий — обращаются ко мне, оранжевый (hot) — ждут тебя, серый (mute), чернильный (ink), plain — серое число без подложки.",
     "attributes": [
      {
       "name": "tone",
       "type": {
        "text": "'blue' | 'hot' | 'mute' | 'ink' | 'plain'"
       },
       "default": "blue"
      },
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "description": "Число (или содержимое)."
      }
     ],
     "events": [],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-counter",
     "declaration": {
      "name": "PzCounter"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-kbd/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzKbd",
     "tagName": "pz-kbd",
     "summary": "Клавиша",
     "description": "Подсказка клавиши: ⌘K, ⌘N, ↵, Esc. В поле — атрибут kbd у pz-field, в пункте меню — kbd у pz-menu-item.",
     "attributes": [],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "Клавиша."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-kbd",
     "declaration": {
      "name": "PzKbd"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-avatar/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzAvatar",
     "tagName": "pz-avatar",
     "summary": "Аватар и лица",
     "description": "Аватар: фото или инициалы на мягкой подложке (цвет стабилен по имени). <pz-faces max> — стопка лиц участников с «+N».",
     "attributes": [
      {
       "name": "name",
       "type": {
        "text": "string"
       },
       "description": "Имя: инициалы, цвет и подсказка."
      },
      {
       "name": "src",
       "type": {
        "text": "string"
       },
       "description": "Фото; при ошибке загрузки — инициалы."
      },
      {
       "name": "size",
       "type": {
        "text": "number"
       },
       "default": "30",
       "description": "24 / 30 / 36 / 44 / 56 / 72."
      },
      {
       "name": "solid",
       "type": {
        "text": "boolean"
       },
       "description": "Сплошной цвет, белые буквы."
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Значок вместо инициалов."
      },
      {
       "name": "ring",
       "type": {
        "text": "boolean"
       },
       "description": "Белая обводка (в стопке ставится сама)."
      }
     ],
     "events": [],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-avatar",
     "declaration": {
      "name": "PzAvatar"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-tile/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzTile",
     "tagName": "pz-tile",
     "summary": "Плитка значка",
     "description": "Тонированная плитка со значком: тип записи, пространство, тема, раздел. Подложка — цвет 15 %, глиф того же цвета. logo — оранжевый градиент бренда.",
     "attributes": [
      {
       "name": "icon",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "tone",
       "type": {
        "text": "'idea' | 'task' | 'bug' | 'doc' | 'ann' | 'ok' | 'warn' | 'hot' | 'lnk' | 'ai' | 'danger' | 'ink' | 'logo'"
       }
      },
      {
       "name": "color",
       "type": {
        "text": "string"
       },
       "description": "Свой цвет (цвет пространства/темы): #hex или var(--pz-…)."
      },
      {
       "name": "size",
       "type": {
        "text": "'xs' | 'sm' | 'md' | 'lg'"
       },
       "default": "md",
       "description": "28 / 36 / 44 / 56."
      },
      {
       "name": "round",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "description": "Подпись для экранных дикторов, если плитка несёт смысл."
      }
     ],
     "events": [],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-tile",
     "declaration": {
      "name": "PzTile"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-tooltip/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzTooltip",
     "tagName": "pz-tooltip",
     "summary": "Подсказка",
     "description": "Чернильная плашка над элементом по наведению и фокусу (задержка 400 мс), с клавишей. Оборачивает элемент.",
     "attributes": [
      {
       "name": "text",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "kbd",
       "type": {
        "text": "string"
       },
       "description": "Клавиша справа."
      },
      {
       "name": "placement",
       "type": {
        "text": "'top' | 'bottom'"
       },
       "default": "top"
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "Элемент, к которому подсказка."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-tooltip",
     "declaration": {
      "name": "PzTooltip"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-spinner/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzSpinner",
     "tagName": "pz-spinner",
     "summary": "Кольцо загрузки",
     "description": "Кольцо загрузки цвета текста. Для кнопки — атрибут loading у pz-button, для содержимого — pz-skeleton.",
     "attributes": [
      {
       "name": "size",
       "type": {
        "text": "number"
       },
       "default": "20"
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "default": "Загрузка"
      }
     ],
     "events": [],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-spinner",
     "declaration": {
      "name": "PzSpinner"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-skeleton/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzSkeleton",
     "tagName": "pz-skeleton",
     "summary": "Скелетон",
     "description": "Заглушка на время загрузки: строки текста (lines) или блок нужного размера. Форма повторяет будущее содержимое.",
     "attributes": [
      {
       "name": "lines",
       "type": {
        "text": "number"
       },
       "description": "Сколько строк текста."
      },
      {
       "name": "width",
       "type": {
        "text": "string"
       },
       "default": "100%"
      },
      {
       "name": "height",
       "type": {
        "text": "string"
       },
       "default": "12px"
      },
      {
       "name": "radius",
       "type": {
        "text": "string"
       },
       "default": "10px"
      }
     ],
     "events": [],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-skeleton",
     "declaration": {
      "name": "PzSkeleton"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-card/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzCard",
     "tagName": "pz-card",
     "summary": "Карточка и колодец",
     "description": "Парящая белая карточка — виджет, блок формы, секция. Шапка: плитка, заголовок, счётчик, подзаголовок, действия справа. Вложенные блоки — <pz-well> (колодец без тени).",
     "attributes": [
      {
       "name": "title",
       "type": {
        "text": "string"
       },
       "description": "Заголовок h3."
      },
      {
       "name": "subtitle",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "count",
       "type": {
        "text": "string"
       },
       "description": "Серое число рядом с заголовком."
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Плитка слева от заголовка."
      },
      {
       "name": "tone",
       "type": {
        "text": "string"
       },
       "description": "Тон плитки (как у pz-tile)."
      },
      {
       "name": "color",
       "type": {
        "text": "string"
       },
       "description": "Свой цвет плитки."
      },
      {
       "name": "hover",
       "type": {
        "text": "boolean"
       },
       "description": "Поднимается на 3 px при наведении (кликабельная карточка)."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       },
       "description": "Вся карточка — ссылка."
      },
      {
       "name": "pad",
       "type": {
        "text": "'md' | 'sm' | 'none'"
       },
       "default": "md",
       "description": "Поля 22×24 / 16×18 / 0 (для списков и картинок до края)."
      },
      {
       "name": "tint",
       "type": {
        "text": "'ai' | 'hot'"
       },
       "description": "Тонированная подложка: ИИ-итог, горящее."
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "Содержимое."
      },
      {
       "name": "actions",
       "description": "Справа в шапке (кнопки sm, сегмент)."
      },
      {
       "name": "header",
       "description": "Под заголовком (чипы, лица)."
      },
      {
       "name": "lead",
       "description": "Вместо плитки (аватар)."
      },
      {
       "name": "footer",
       "description": "Низ карточки (кнопки)."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-card",
     "declaration": {
      "name": "PzCard"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-param-pill/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzParamPill",
     "tagName": "pz-param-pill",
     "summary": "Пилюля-параметр",
     "description": "Параметр записи одной пилюлей: исполнитель, срок, важность, тема, связи. Лид-круг (значок или аватар), значение, тихая подпись, шеврон. Ряд пилюль заменяет лист свойств.",
     "attributes": [
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "description": "Значение (или содержимое)."
      },
      {
       "name": "label",
       "type": {
        "text": "string"
       },
       "description": "Тихая подпись после значения («срок», «важность»)."
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Значок в круге."
      },
      {
       "name": "avatar",
       "type": {
        "text": "string"
       },
       "description": "Имя человека — аватар в круге."
      },
      {
       "name": "src",
       "type": {
        "text": "string"
       },
       "description": "Фото для аватара."
      },
      {
       "name": "none",
       "type": {
        "text": "boolean"
       },
       "description": "Не задано: пунктирный контур, серый текст («+ Исполнитель»)."
      },
      {
       "name": "hot",
       "type": {
        "text": "boolean"
       },
       "description": "Горит: просроченный или сегодняшний срок."
      },
      {
       "name": "ai",
       "type": {
        "text": "boolean"
       },
       "description": "Предложение ИИ."
      },
      {
       "name": "open",
       "type": {
        "text": "boolean"
       },
       "description": "Меню открыто — ореол (pz-dropdown ставит сам)."
      },
      {
       "name": "error",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "size",
       "type": {
        "text": "'sm' | 'md'"
       },
       "default": "md"
      },
      {
       "name": "no-chevron",
       "type": {
        "text": "boolean"
       },
       "description": "Без шеврона (параметр только для чтения)."
      },
      {
       "name": "disabled",
       "type": {
        "text": "boolean"
       }
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "Значение."
      },
      {
       "name": "lead",
       "description": "Свой лид вместо icon/avatar."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-param-pill",
     "declaration": {
      "name": "PzParamPill"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-dropdown/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzDropdown",
     "tagName": "pz-dropdown",
     "summary": "Выпадашка",
     "description": "Триггер + стеклянная плавающая панель (меню, календарь, любая форма). Верхний слой, закрытие кликом мимо и Esc, переворот у края экрана; на телефоне — лист снизу.",
     "attributes": [
      {
       "name": "open",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "placement",
       "type": {
        "text": "'bottom-start' | 'bottom-end' | 'top-start' | 'top-end'"
       },
       "default": "bottom-start"
      },
      {
       "name": "flush",
       "type": {
        "text": "boolean"
       },
       "description": "Без внутренних полей (календарь, своя разметка)."
      },
      {
       "name": "width",
       "type": {
        "text": "string"
       },
       "description": "\"trigger\" — по ширине триггера, или CSS-длина."
      },
      {
       "name": "sheet",
       "type": {
        "text": "boolean"
       },
       "description": "Всегда листом снизу."
      },
      {
       "name": "title",
       "type": {
        "text": "string"
       },
       "description": "Заголовок листа на телефоне."
      }
     ],
     "events": [
      {
       "name": "pz-open"
      },
      {
       "name": "pz-close"
      }
     ],
     "slots": [
      {
       "name": "trigger",
       "description": "Кнопка, пилюля-параметр, аватар — что открывает."
      },
      {
       "name": "",
       "description": "Содержимое панели: pz-menu, pz-calendar, форма."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-dropdown",
     "declaration": {
      "name": "PzDropdown"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-menu/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzMenu",
     "tagName": "pz-menu",
     "summary": "Меню",
     "description": "Список пунктов для pz-dropdown: действия или выбор значения. Поиск-шапка (search) фильтрует на месте, ↑↓ ↵ с клавиатуры, группы с подписями, галочка у выбранного.",
     "attributes": [
      {
       "name": "search",
       "type": {
        "text": "string"
       },
       "description": "Плейсхолдер поиска — включает поиск-шапку."
      },
      {
       "name": "select",
       "type": {
        "text": "'single' | 'multiple'"
       },
       "description": "Режим выбора: пункты отмечаются галочкой, событие pz-change."
      },
      {
       "name": "empty",
       "type": {
        "text": "string"
       },
       "default": "Ничего не нашлось",
       "description": "Текст, когда поиск ничего не нашёл."
      }
     ],
     "events": [
      {
       "name": "pz-select",
       "description": "Нажат пункт (закрывает выпадашку, кроме multiple)."
      },
      {
       "name": "pz-change",
       "description": "Изменился выбор (select)."
      },
      {
       "name": "pz-search",
       "description": "Ввод в поиске — для подгрузки с сервера."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "<pz-menu-item value icon avatar hint kbd selected danger disabled href>Текст</pz-menu-item>, <pz-menu-label>Группа</pz-menu-label>, <pz-sep>."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-menu",
     "declaration": {
      "name": "PzMenu"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-calendar/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzCalendar",
     "tagName": "pz-calendar",
     "summary": "Календарь",
     "description": "Выбор даты в две панели: быстрые варианты слева (Сегодня, Завтра, Пятница, Через неделю…), месяц справа. На телефоне варианты — пилюли над месяцем. Обычно — внутри <pz-dropdown flush>.",
     "attributes": [
      {
       "name": "value",
       "type": {
        "text": "string"
       },
       "description": "ISO-дата YYYY-MM-DD; пусто — без срока."
      },
      {
       "name": "no-quick",
       "type": {
        "text": "boolean"
       },
       "description": "Без панели быстрых вариантов — только месяц."
      },
      {
       "name": "no-none",
       "type": {
        "text": "boolean"
       },
       "description": "Без варианта «Без срока» (дата обязательна)."
      },
      {
       "name": "min",
       "type": {
        "text": "string"
       },
       "description": "Раньше этой даты выбрать нельзя."
      }
     ],
     "events": [
      {
       "name": "pz-change"
      },
      {
       "name": "pz-select",
       "description": "Закрывает выпадашку."
      }
     ],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-calendar",
     "declaration": {
      "name": "PzCalendar"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-list-row/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzListRow",
     "tagName": "pz-list-row",
     "summary": "Строка записи",
     "description": "Строка списка записей внутри карточки: плитка типа, номер, заголовок, мета-строка, справа — лица, срок, статус. Наведение — колодец, открытая — мягкая синяя заливка.",
     "attributes": [
      {
       "name": "title",
       "type": {
        "text": "string"
       },
       "description": "Заголовок (или содержимое)."
      },
      {
       "name": "meta",
       "type": {
        "text": "string"
       },
       "description": "Вторая строка серым."
      },
      {
       "name": "id-label",
       "type": {
        "text": "string"
       },
       "description": "Номер записи (ПРО-140), моноширинным."
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Плитка слева."
      },
      {
       "name": "tone",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "color",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "selected",
       "type": {
        "text": "boolean"
       },
       "description": "Открыта в дровере."
      },
      {
       "name": "unread",
       "type": {
        "text": "boolean"
       },
       "description": "Синяя точка слева."
      },
      {
       "name": "dense",
       "type": {
        "text": "boolean"
       }
      }
     ],
     "events": [
      {
       "name": "click",
       "description": "Открыть запись (обычно — в pz-drawer)."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Заголовок."
      },
      {
       "name": "meta",
       "description": "Мета-строка с разметкой."
      },
      {
       "name": "lead",
       "description": "Свой лид (аватар)."
      },
      {
       "name": "end",
       "description": "Справа: pz-faces, pz-chip, pz-badge, pz-counter."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-list-row",
     "declaration": {
      "name": "PzListRow"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-stepper/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzStepper",
     "tagName": "pz-stepper",
     "summary": "Степпер и этапы",
     "description": "Степпер статуса записи — одна рейка: этапы пилюлями, подсказка «что дальше», действие справа. <pz-stages> — компактная лента этапов конвейера (сделано → сейчас → дальше).",
     "attributes": [
      {
       "name": "steps",
       "type": {
        "text": "string"
       },
       "description": "Этапы через запятую: «Новая, Обсуждаем, В работе, Проверка, Готово»."
      },
      {
       "name": "current",
       "type": {
        "text": "number"
       },
       "default": "0",
       "description": "Индекс текущего этапа (с нуля)."
      },
      {
       "name": "hint",
       "type": {
        "text": "string"
       },
       "description": "Что дальше: «Ждёт ревью Анны»."
      },
      {
       "name": "interactive",
       "type": {
        "text": "boolean"
       },
       "description": "Этапы нажимаются — событие pz-change."
      }
     ],
     "events": [
      {
       "name": "pz-change"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Действие справа (pz-button, обычно ink — «Отдать на проверку»)."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-stepper",
     "declaration": {
      "name": "PzStepper"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-attachment/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzAttachment",
     "tagName": "pz-attachment",
     "summary": "Вложение",
     "description": "Файл, картинка или ссылка: ряд 56 с квадратом-превью и двумя строками. add — пунктирная кнопка «Прикрепить». Раскладка — .pz-row.",
     "attributes": [
      {
       "name": "name",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "meta",
       "type": {
        "text": "string"
       },
       "description": "Размер, источник."
      },
      {
       "name": "kind",
       "type": {
        "text": "'file' | 'img' | 'link'"
       },
       "default": "file"
      },
      {
       "name": "thumb",
       "type": {
        "text": "string"
       },
       "description": "Превью картинки."
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "add",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "removable",
       "type": {
        "text": "boolean"
       },
       "description": "Крестик при наведении, событие pz-remove."
      }
     ],
     "events": [
      {
       "name": "click"
      },
      {
       "name": "pz-remove"
      }
     ],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-attachment",
     "declaration": {
      "name": "PzAttachment"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-setting-row/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzSettingRow",
     "tagName": "pz-setting-row",
     "summary": "Строка настройки",
     "description": "Настройка в колодце: заголовок и пояснение слева, контрол справа (тумблер, сегмент, кнопка). Стопка строк — .pz-stack.tight внутри карточки.",
     "attributes": [
      {
       "name": "title",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "hint",
       "type": {
        "text": "string"
       },
       "description": "Пояснение серым."
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Плитка слева."
      },
      {
       "name": "tone",
       "type": {
        "text": "string"
       }
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "Контрол справа."
      },
      {
       "name": "hint",
       "description": "Пояснение с разметкой."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-setting-row",
     "declaration": {
      "name": "PzSettingRow"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-toast/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzToast",
     "tagName": "pz-toast",
     "summary": "Тост",
     "description": "Короткое сообщение чернильной пилюлей снизу по центру, с действием («Вернуть»). Вызывается функцией toast(текст, { action, onAction, tone, ms }).",
     "attributes": [
      {
       "name": "action",
       "type": {
        "text": "string"
       },
       "description": "Кнопка действия справа."
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "tone",
       "type": {
        "text": "'ok' | 'err'"
       },
       "description": "Значок успеха или ошибки."
      }
     ],
     "events": [
      {
       "name": "pz-action",
       "description": "Нажата кнопка действия."
      }
     ],
     "slots": [],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-toast",
     "declaration": {
      "name": "PzToast"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-empty/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzEmpty",
     "tagName": "pz-empty",
     "summary": "Пустое состояние",
     "description": "Когда показывать нечего или загрузка упала: шар со значком, заголовок, короткий текст и действие.",
     "attributes": [
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "default": "inbox"
      },
      {
       "name": "title",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "text",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "tone",
       "type": {
        "text": "'err' | 'ok'"
       },
       "description": "err — ошибка (значок cloud_off), ok — «всё сделано»."
      },
      {
       "name": "compact",
       "type": {
        "text": "boolean"
       },
       "description": "Внутри карточки."
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "Действия (кнопки)."
      },
      {
       "name": "text",
       "description": "Текст с разметкой вместо атрибута text."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-empty",
     "declaration": {
      "name": "PzEmpty"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-drawer/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzDrawer",
     "tagName": "pz-drawer",
     "summary": "Дровер записи",
     "description": "Запись открывается дровером, а не отдельной страницей. Три режима: справа рядом со списком (side), окном (window), на весь экран (full). Шапка с ↑↓ «1 из 5», пилюлей номера и переключателем режимов; ряд параметров; тело; низ. На телефоне — на весь экран.",
     "attributes": [
      {
       "name": "open",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "mode",
       "type": {
        "text": "'side' | 'window' | 'full'"
       },
       "default": "side"
      },
      {
       "name": "title",
       "type": {
        "text": "string"
       },
       "description": "Заголовок записи (h2)."
      },
      {
       "name": "id-label",
       "type": {
        "text": "string"
       },
       "description": "Номер записи в пилюле (ПРО-140)."
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Плитка типа в пилюле номера."
      },
      {
       "name": "tone",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "index",
       "type": {
        "text": "number"
       },
       "description": "Позиция в списке (с 1)."
      },
      {
       "name": "total",
       "type": {
        "text": "number"
       },
       "description": "Сколько в списке — показывает ↑↓ и «1 из N»."
      },
      {
       "name": "no-modes",
       "type": {
        "text": "boolean"
       },
       "description": "Без переключателя режимов."
      },
      {
       "name": "push",
       "type": {
        "text": "boolean"
       },
       "description": "В режиме side ужимать страницу (pz-app-shell сдвигает контент)."
      },
      {
       "name": "width",
       "type": {
        "text": "string"
       },
       "default": "560px",
       "description": "Ширина в режиме side."
      }
     ],
     "events": [
      {
       "name": "pz-open"
      },
      {
       "name": "pz-close"
      },
      {
       "name": "pz-mode"
      },
      {
       "name": "pz-prev"
      },
      {
       "name": "pz-next"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Тело: описание, чеклист (pz-well), вложения, степпер."
      },
      {
       "name": "params",
       "description": "Ряд pz-param-pill / pz-dropdown под заголовком."
      },
      {
       "name": "actions",
       "description": "Кнопки в шапке перед «Закрыть» (ещё, поделиться)."
      },
      {
       "name": "header",
       "description": "После пилюли номера (бейдж статуса)."
      },
      {
       "name": "title",
       "description": "Свой заголовок вместо title (правка на месте)."
      },
      {
       "name": "footer",
       "description": "Низ: главное действие справа."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-drawer",
     "declaration": {
      "name": "PzDrawer"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-dialog/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzDialog",
     "tagName": "pz-dialog",
     "summary": "Диалог",
     "description": "Окно по центру с затемнением: подтверждение, короткая форма. На телефоне — лист снизу. Подтверждение одной строкой — confirmDialog({ title, text, ok, danger }).",
     "attributes": [
      {
       "name": "open",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "title",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "text",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Плитка слева от заголовка."
      },
      {
       "name": "tone",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "size",
       "type": {
        "text": "'sm' | 'md' | 'lg'"
       },
       "default": "md",
       "description": "400 / 480 / 720."
      },
      {
       "name": "persistent",
       "type": {
        "text": "boolean"
       },
       "description": "Не закрывать по Esc и клику мимо."
      }
     ],
     "events": [
      {
       "name": "pz-open"
      },
      {
       "name": "pz-close"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Тело (поля формы)."
      },
      {
       "name": "footer",
       "description": "Действия справа: ghost «Отмена» + ink или danger."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-dialog",
     "declaration": {
      "name": "PzDialog"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-sheet/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzSheet",
     "tagName": "pz-sheet",
     "summary": "Лист снизу",
     "description": "Стеклянный лист снизу с ручкой — действия и выбор на телефоне. Меню pz-dropdown становится листом само; pz-sheet — для своих экранов (фильтры, «ещё»).",
     "attributes": [
      {
       "name": "open",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "title",
       "type": {
        "text": "string"
       }
      }
     ],
     "events": [
      {
       "name": "pz-close"
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "Содержимое (pz-menu, поля, кнопки)."
      },
      {
       "name": "actions",
       "description": "Справа от заголовка."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-sheet",
     "declaration": {
      "name": "PzSheet"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-page-header/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzPageHeader",
     "tagName": "pz-page-header",
     "summary": "Шапка страницы",
     "description": "Заголовок страницы H1 с плиткой раздела и контекстным чипом, ИИ-строка или подзаголовок под ним; справа — действия высотой 48 (поиск, группа значков, «+ Создать», аватар); ниже — вкладки.",
     "attributes": [
      {
       "name": "title",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "subtitle",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "ai",
       "type": {
        "text": "string"
       },
       "description": "ИИ-строка (бриф) со значком auto_awesome — вместо подзаголовка."
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "description": "Плитка раздела."
      },
      {
       "name": "tone",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "color",
       "type": {
        "text": "string"
       }
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "actions",
       "description": "Справа: pz-field variant=\"search\", pz-icon-group, pz-dropdown с «Создать», pz-avatar."
      },
      {
       "name": "chip",
       "description": "Рядом с заголовком: охват, статус, лица."
      },
      {
       "name": "tabs",
       "description": "Вкладки и фильтры (pz-segmented)."
      },
      {
       "name": "lead",
       "description": "Свой лид."
      },
      {
       "name": "subtitle",
       "description": "Подзаголовок с разметкой."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-page-header",
     "declaration": {
      "name": "PzPageHeader"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-app-shell/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzAppShell",
     "tagName": "pz-app-shell",
     "summary": "Каркас приложения",
     "description": "Сайдбар слева прямо на тонированной земле и колонка контента; на телефоне вместо сайдбара — плавающий таб-бар. collapsed — рельс из значков. Дровер с push ужимает контент.",
     "attributes": [
      {
       "name": "collapsed",
       "type": {
        "text": "boolean"
       },
       "description": "Рельс 76 px."
      },
      {
       "name": "no-ground",
       "type": {
        "text": "boolean"
       },
       "description": "Без своей земли (если она уже на body.pz-app)."
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "brand",
       "description": "Верх сайдбара: pz-nav-brand (переключатель пространства)."
      },
      {
       "name": "sidebar",
       "description": "pz-nav-item, pz-nav-section."
      },
      {
       "name": "sidebar-bottom",
       "description": "Низ сайдбара: настройки, профиль."
      },
      {
       "name": "",
       "description": "Контент: pz-page-header + карточки."
      },
      {
       "name": "tabbar",
       "description": "pz-tabbar для телефона."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-app-shell",
     "declaration": {
      "name": "PzAppShell"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-nav-item/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzNavItem",
     "tagName": "pz-nav-item",
     "summary": "Навигация сайдбара",
     "description": "Пункт сайдбара 42 px: значок или плитка темы, подпись, счётчик. Активный — белая пилюля с тенью. <pz-nav-section> — подпись группы, <pz-nav-brand> — логотип и переключатель пространства (триггер для pz-dropdown).",
     "attributes": [
      {
       "name": "icon",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "tile",
       "type": {
        "text": "string"
       },
       "description": "Значок в плитке (для тем и пространств)."
      },
      {
       "name": "color",
       "type": {
        "text": "string"
       },
       "description": "Цвет плитки."
      },
      {
       "name": "tone",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "href",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "active",
       "type": {
        "text": "boolean"
       }
      },
      {
       "name": "count",
       "type": {
        "text": "string"
       }
      },
      {
       "name": "count-tone",
       "type": {
        "text": "'plain' | 'blue' | 'hot' | 'mute'"
       },
       "default": "plain",
       "description": "hot — ждут моего шага."
      },
      {
       "name": "add",
       "type": {
        "text": "boolean"
       },
       "description": "Тихий пункт «+ Тема»."
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "Подпись."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-nav-item",
     "declaration": {
      "name": "PzNavItem"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-tabbar/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzTabbar",
     "tagName": "pz-tabbar",
     "summary": "Таб-бар телефона",
     "description": "Плавающая стеклянная пилюля снизу на телефоне (≤760 px): 4 вкладки и круглая чернильная «+» по центру. На широком экране скрыт (always — показывать всегда).",
     "attributes": [
      {
       "name": "always",
       "type": {
        "text": "boolean"
       },
       "description": "Показывать и на широком экране, в потоке (для витрины)."
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "<pz-tab icon href active badge>Подпись</pz-tab>, <pz-tab fab icon=\"add\" label=\"Создать\"></pz-tab>."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-tabbar",
     "declaration": {
      "name": "PzTabbar"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-ai-block/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzAiBlock",
     "tagName": "pz-ai-block",
     "summary": "ИИ-блок",
     "description": "Тёплый слой ИИ: итог, вердикт, вопрос или предложение ИИ-исполнителя (Борис). Заголовок со значком, вердикт пилюлей, текст, этапы конвейера, действия.",
     "attributes": [
      {
       "name": "title",
       "type": {
        "text": "string"
       },
       "default": "ИИ"
      },
      {
       "name": "icon",
       "type": {
        "text": "string"
       },
       "default": "auto_awesome"
      },
      {
       "name": "verdict",
       "type": {
        "text": "string"
       },
       "description": "Пилюля справа: «Готово к выкатке», «Нужен ответ»."
      },
      {
       "name": "verdict-tone",
       "type": {
        "text": "'ok' | 'warn' | 'danger'"
       }
      },
      {
       "name": "compact",
       "type": {
        "text": "boolean"
       }
      }
     ],
     "events": [],
     "slots": [
      {
       "name": "",
       "description": "Текст."
      },
      {
       "name": "avatar",
       "description": "Аватар исполнителя слева от заголовка."
      },
      {
       "name": "stages",
       "description": "pz-stages — этапы конвейера."
      },
      {
       "name": "actions",
       "description": "Кнопки ответа."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-ai-block",
     "declaration": {
      "name": "PzAiBlock"
     }
    }
   ]
  },
  {
   "kind": "javascript-module",
   "path": "src/components/pz-chat/index.js",
   "declarations": [
    {
     "kind": "class",
     "customElement": true,
     "name": "PzChat",
     "tagName": "pz-chat",
     "summary": "Чат",
     "description": "Обсуждение — как в мессенджере: фон с узором, пузыри (свой справа, голубой), стеклянное поле ввода с синей кнопкой «Отправить». <pz-chat> — лента, <pz-bubble> — сообщение, <pz-composer> — поле (Enter — отправить, Shift+Enter — строка).",
     "attributes": [
      {
       "name": "title",
       "type": {
        "text": "string"
       }
      }
     ],
     "events": [
      {
       "name": "pz-send",
       "description": "От pz-composer: отправить сообщение (preventDefault — не очищать поле)."
      },
      {
       "name": "pz-attach",
       "description": "От pz-composer: нажата скрепка."
      }
     ],
     "slots": [
      {
       "name": "",
       "description": "pz-bubble me author avatar time cont."
      },
      {
       "name": "header",
       "description": "Плавающие стеклянные пилюли сверху (название, участники)."
      },
      {
       "name": "composer",
       "description": "pz-composer."
      }
     ],
     "cssParts": []
    }
   ],
   "exports": [
    {
     "kind": "custom-element-definition",
     "name": "pz-chat",
     "declaration": {
      "name": "PzChat"
     }
    }
   ]
  }
 ]
}