{"version":3,"file":"CompareTableMobile.sGiTsqlb.mjs","names":["useId","useMemo","useState"],"sources":["https:/framerusercontent.com/modules/PxF9GFGdz3rYr66H9x1P/iglERI4gKtcxj3a5bj0P/CompareTableMobile.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useId,useMemo,useState}from\"react\";import{addPropertyControls,ControlType}from\"framer\";// Таблица сравнения для телефона (ТАБЛИЦЫ-МОБИЛЬНЫЙ, 26.09.2026): параметр, закреплённые колонки (наш материал)\n// и одна колонка на выбор (аналог) — кнопки «Сравнить с» над таблицей. Все значения под своей подписью, без прокрутки вбок.\n// Данные — текстом: строки через перевод строки или «||», ячейки через «|», первая строка — шапка.\n// chips — короткие подписи кнопок для выбираемых колонок через «|» (пусто — заголовки колонок).\n// pinned — сколько колонок значений видно всегда (1 — «наш материал»; 0 — все колонки выбираются кнопками).\n// Переносы только ручные: автоматические в колонке 100 px рвали слова, которые помещаются на следующей строке целиком.\nconst DEFAULT_DATA=[\"Параметр | Полисилазаны | Полиуретановые и акриловые лаки | Эпоксидные системы | Силиконовые эмали\",\"Толщина сухого слоя | до 2 мкм | 40 — 120 мкм | 100 — 300 мкм | 25 — 60 мкм\",\"Твердость | до 9H | до 2H | до 3H | до 1H\",\"Связь с подложкой | Ковалентная химическая | Физическая адгезия | Физическая адгезия | Физическая адгезия\",\"Термостойкость | до 600 \\xb0C серийно, специальные составы до 1300 \\xb0C, прекурсоры до 1800 \\xb0C | до 150 \\xb0C | до 200 \\xb0C | до 600 \\xb0C\",\"Угол смачивания водой | 95 — 120\\xb0 | 70 — 90\\xb0 | 60 — 80\\xb0 | 95 — 105\\xb0\",\"Стойкость к граффити | Да | Нет | Нет | Нет\",\"Химическая стойкость | Высокая | Ограниченная | Ограниченная | Слабая\",\"Невидимость покрытия | Покрытие невидимо | Заметная пленка | Толстый слой | Матовая пленка\",\"Ресурс | 5+ лет | до 3 лет | до 5 лет | до 4 лет\"].join(\"\\n\");// токены проекта (Ink, Paper) с запасными значениями — на холсте и на сайте одинаково\nconst T={ink:\"var(--token-7b45c828-a19d-4625-8bb9-d70de4fb42c4, rgb(6, 6, 6))\",ink65:\"var(--token-a9430576-207c-4d38-93e2-deab235940ad, rgba(6, 6, 6, 0.65))\",ink50:\"var(--token-e7d150e3-b6ee-4f44-b137-3e7d1e572465, rgba(6, 6, 6, 0.5))\",line:\"var(--token-03c2a220-57f4-41b8-a5d5-4ce5ccd16c5b, rgba(6, 6, 6, 0.1))\",paper:\"var(--token-22ba1773-aeee-48b3-b258-0fceb64805a5, #ffffff)\"};const SANS='\"Inter Display\", \"Inter\", -apple-system, sans-serif';const MONO='\"Geist Mono\", ui-monospace, Menlo, monospace';// Мягкие переносы (U+00AD) в длинных русских словах — от 11 букв: «стекло­керамика», «нитрид­кремниевые».\n// Браузер переносит по ним только тогда, когда слово не помещается; короткие слова уходят на новую строку целиком.\n// Упрощённые правила русского переноса; у краёв слова оставляем не меньше трёх букв.\nconst V=\"аеёиоуыэюя\",C=\"бвгджзклмнпрстфхцчшщ\",Z=\"йъь\";const L=`[${V}${C}${Z}]`,G=`[${V}]`,S=`[${C}]`,X=`[${Z}]`;const RULES=[new RegExp(`(${X})(${L}${L})`,\"gi\"),new RegExp(`(${G})(${G}${L})`,\"gi\"),new RegExp(`(${G}${S})(${S}${G})`,\"gi\"),new RegExp(`(${S}${G})(${S}${G})`,\"gi\"),new RegExp(`(${G}${S})(${S}${S}${G})`,\"gi\"),new RegExp(`(${G}${S}${S})(${S}${S}${G})`,\"gi\")];function hyphenateWord(word){let w=word;for(const re of RULES)w=w.replace(re,\"$1\\xad$2\");// не отрывать меньше трёх букв в начале и в конце слова\nconst parts=w.split(\"\\xad\");let out=\"\",pos=0;parts.forEach((part,i)=>{out+=part;pos+=part.length;if(i<parts.length-1&&pos>=3&&word.length-pos>=3)out+=\"\\xad\";});return out;}function hy(text){return String(text||\"\").replace(/[А-Яа-яЁё]{11,}/g,hyphenateWord);}// Ячейка «[текст](/путь)» — ссылка на страницу сайта (названия продуктов на контрактном производстве). Только внутренние пути.\nconst LINK=/^\\[([^\\]]+)\\]\\((\\/(?!\\/)[^\\s()]*)\\)$/;function cellContent(text){const m=LINK.exec(String(text||\"\").trim());return m?/*#__PURE__*/_jsx(\"a\",{href:m[2],children:hy(m[1])}):hy(text);}function parse(data){return String(data||\"\").split(/\\n|\\|\\|/).map(line=>line.trim()).filter(Boolean).map(line=>line.split(\"|\").map(cell=>cell.trim()));}/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function CompareTableMobile({data=DEFAULT_DATA,// по умолчанию пусто: пустое свойство Framer заменяет значением по умолчанию, и таблицы марок получали подписи главной\nchips=\"\",pinned=1,pickLabel=\"Сравнить с\",style}){const id=\"ctm\"+useId().replace(/[^a-zA-Z0-9]/g,\"\");const[head=[],...rows]=useMemo(()=>parse(data),[data]);const values=Math.max(0,head.length-1);const pin=Math.min(Math.max(0,Math.round(pinned)),values);// колонки (индексы в строке): закреплённые 1..pin, выбираемые pin+1..values\nconst fixed=Array.from({length:pin},(_,i)=>i+1);const pick=Array.from({length:values-pin},(_,i)=>pin+1+i);const[sel,setSel]=useState(0);const current=Math.min(sel,Math.max(0,pick.length-1));// кнопки нужны, только если колонок значений больше двух: две (МИР «Для чего / Что учесть», поликарбосилан) видны целиком\nconst withChips=pick.length>1&&fixed.length+pick.length>2;const shown=withChips?[...fixed,pick[current]]:[...fixed,...pick];const chipLabels=String(chips||\"\").split(\"|\").map(s=>s.trim()).filter(Boolean);const css=`\n.${id}{font-family:${SANS};color:${T.ink};-webkit-font-smoothing:antialiased}\n.${id} *{box-sizing:border-box}\n.${id} .pick{display:flex;flex-direction:column;gap:8px;margin:0 0 14px}\n.${id} .lbl{font:400 11px/1.3 ${MONO};letter-spacing:.08em;text-transform:uppercase;color:${T.ink50}}\n.${id} .chips{display:flex;flex-wrap:wrap;gap:6px}\n.${id} button{appearance:none;margin:0;border:1px solid ${T.line};border-radius:0;background:transparent;color:${T.ink};font:400 12.5px/1 ${SANS};padding:8px 9px;cursor:pointer;transition:background-color .15s ease,color .15s ease}\n.${id} button[aria-pressed=\"true\"]{background:${T.ink};border-color:${T.ink};color:#fff}\n.${id} button:focus-visible{outline:2px solid ${T.ink};outline-offset:2px}\n.${id} table{width:100%;border-collapse:collapse;table-layout:fixed}\n.${id} th,.${id} td{padding:10px 8px;border-bottom:1px solid ${T.line};text-align:left;vertical-align:top;overflow-wrap:break-word;hyphens:manual}\n.${id} thead th{font:500 12px/1.3 ${SANS};color:${T.ink50};border-top:1px solid ${T.line}}\n.${id} thead th.us{color:${T.ink}}\n/* shown — только колонки значений: при двух (наш + аналог) параметру 34%, значениям по 33% (≈100 px текста — \\xabКовалентная\\xbb, \\xabОграниченная\\xbb целиком) */\n.${id} tr > :first-child{padding-left:0;width:${shown.length>=2?34:45}%}\n.${id} tbody th{font:500 13.5px/1.3 ${SANS};color:${T.ink}}\n.${id} td{font:400 13.5px/1.35 ${SANS};color:${T.ink65}}\n.${id} a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;text-decoration-color:${T.ink50}}\n.${id} a:focus-visible{outline:2px solid ${T.ink};outline-offset:2px}\n.${id} .us{background:${T.paper}}\n.${id} td.us{font-weight:600;color:${T.ink}}\n/* без закреплённой колонки (таблицы марок, МИР) все значения равноправны — основной цвет, а не приглушённый */\n.${id}.nopin td{color:${T.ink}}\n@media (prefers-reduced-motion:reduce){.${id} button{transition:none}}\n`;return /*#__PURE__*/_jsxs(\"div\",{className:pin?id:id+\" nopin\",lang:\"ru\",style:{...style,position:\"relative\",width:\"100%\",height:\"auto\"},children:[/*#__PURE__*/_jsx(\"style\",{children:css}),withChips&&/*#__PURE__*/_jsxs(\"div\",{className:\"pick\",children:[/*#__PURE__*/_jsx(\"span\",{className:\"lbl\",children:pickLabel}),/*#__PURE__*/_jsx(\"div\",{className:\"chips\",role:\"group\",\"aria-label\":pickLabel,children:pick.map((col,i)=>/*#__PURE__*/_jsx(\"button\",{type:\"button\",\"aria-pressed\":i===current,onClick:()=>setSel(i),children:chipLabels[i]||head[col]},col))})]}),/*#__PURE__*/_jsxs(\"table\",{children:[/*#__PURE__*/_jsx(\"thead\",{children:/*#__PURE__*/_jsxs(\"tr\",{children:[/*#__PURE__*/_jsx(\"th\",{scope:\"col\",children:hy(head[0])}),shown.map(col=>/*#__PURE__*/_jsx(\"th\",{scope:\"col\",className:col<=pin?\"us\":undefined,children:hy(col>pin&&withChips?chipLabels[pick.indexOf(col)]||head[col]:head[col])},col))]})}),/*#__PURE__*/_jsx(\"tbody\",{children:rows.map((row,r)=>/*#__PURE__*/_jsxs(\"tr\",{children:[/*#__PURE__*/_jsx(\"th\",{scope:\"row\",children:cellContent(row[0])}),shown.map(col=>/*#__PURE__*/_jsx(\"td\",{className:col<=pin?\"us\":\"them\",children:row[col]?cellContent(row[col]):\"—\"},col))]},r))})]})]});}addPropertyControls(CompareTableMobile,{data:{type:ControlType.String,title:\"Данные\",defaultValue:DEFAULT_DATA,displayTextArea:true,description:\"Строки через перевод строки или ||, ячейки через |. Первая строка — шапка.\"},chips:{type:ControlType.String,title:\"Кнопки\",defaultValue:\"\",description:\"Короткие подписи кнопок через |. Пусто — заголовки колонок.\"},pinned:{type:ControlType.Number,title:\"Закреплено\",defaultValue:1,min:0,max:6,step:1,displayStepper:true},pickLabel:{type:ControlType.String,title:\"Подпись\",defaultValue:\"Сравнить с\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CompareTableMobile\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"auto\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CompareTableMobile.map"],"mappings":"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"}