var lesson = {
	files: [
		{
			name: "main",
			content: "import { render } from 'solid-js/web';\nimport { createSignal, For } from 'solid-js';\n\nfunction App() {\n  const [cats, setCats] = createSignal([\n    { id: 'J---aiyznGQ', name: 'Keyboard Cat' },\n    { id: 'z_AbfPXTKms', name: 'Maru' },\n    { id: 'OUtn3pvWmpg', name: 'Henri The Existential Cat' }\n  ]);\n  \n  return (\n    <ul>\n      <li>\n        <a target=\"_blank\" href=\"\">\n          1: Garfield\n        </a>\n      </li>\n    </ul>\n  );\n}\n\nrender(() => <App />, document.getElementById('app'))\n"
		}
	]
};
var solved = {
	files: [
		{
			name: "main",
			content: "import { render } from 'solid-js/web';\nimport { createSignal, For } from 'solid-js';\n\nfunction App() {\n  const [cats, setCats] = createSignal([\n    { id: 'J---aiyznGQ', name: 'Keyboard Cat' },\n    { id: 'z_AbfPXTKms', name: 'Maru' },\n    { id: 'OUtn3pvWmpg', name: 'Henri The Existential Cat' }\n  ]);\n  \n  return (\n    <ul>\n      <For each={cats()}>{(cat, i) =>\n        <li>\n          <a target=\"_blank\" href={`https://www.youtube.com/watch?v=${cat.id}`}>\n            {i() + 1}: {cat.name}\n          </a>\n        </li>\n      }</For>\n    </ul>\n  );\n}\n\nrender(() => <App />, document.getElementById('app'))\n"
		}
	]
};
var markdown = "Если вы хотите перебрать список, компонент <For> - лучший способ для любого массива непримитивных значений. При переборе он автоматически создает ключи по ссылки, что позволяет оптимизировать его при обновлении данных или перемещении строк, избегая пересоздания списка целиком. Функция-коллбек не отслеживается и передает нам элемент и его Сигнал.\n\n```jsx\n<For each={cats()}>{(cat, index) =>\n  <li>\n    <a target=\"_blank\" href={`https://www.youtube.com/watch?v=${cat.id}`}>\n      {index() + 1}: {cat.name}\n    </a>\n  </li>\n}</For>\n```\n\nМы сделали `index` Сигналом, для того, чтобы мы могли отслеживать перемещение строки независимо от изменений внутри элемента. Элемент не является Сигналом, так как изменение будет означать новую ссылку и вызвать создание новой строки. Если вам необходимо отслеживать вложенные обновления мы рекомендуем создавать вложенные Сигналы или использовать Стор.\n\nПомимо использования `For` с массивами Solid поддерживает перебор объектов с помощью `Object.keys` или просто использовав [Spread synthax](https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/Spread_syntax) в массив: `[...iterable]`.";
var flow_for = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

export { flow_for as default, lesson, markdown, solved };
