var lesson = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport { createSignal } from \"solid-js\";\n\nimport Greeting from \"./greeting\";\n\nfunction App() {\n  const [name, setName] = createSignal();\n\n  return <>\n    <Greeting greeting=\"Hello\" />\n    <Greeting name=\"Jeremy\" />\n    <Greeting name={name()} />\n    <button onClick={() => setName(\"Jarod\")}>Set Name</button>\n  </>;\n}\n\nrender(() => <App />, document.getElementById('app'));"
		},
		{
			name: "greeting",
			content: "import { mergeProps } from \"solid-js\";\n\nexport default function Greeting(props) {\n  return <h3>{props.greeting || \"Hi\"} {props.name || \"John\"}</h3>\n}"
		}
	]
};
var solved = {
	files: [
		{
			name: "main",
			content: "import { render } from \"solid-js/web\";\nimport { createSignal } from \"solid-js\";\n\nimport Greeting from \"./greeting\";\n\nfunction App() {\n  const [name, setName] = createSignal();\n\n  return <>\n    <Greeting greeting=\"Hello\" />\n    <Greeting name=\"Jeremy\" />\n    <Greeting name={name()} />\n    <button onClick={() => setName(\"Jarod\")}>Set Name</button>\n  </>;\n}\n\nrender(() => <App />, document.getElementById('app'));"
		},
		{
			name: "greeting",
			content: "import { mergeProps } from \"solid-js\";\n\nexport default function Greeting(props) {\n  const merged = mergeProps({ greeting: \"Hi\", name: \"John\" }, props);\n\n  return <h3>{merged.greeting} {merged.name}</h3>\n}"
		}
	]
};
var markdown = "`Пропсы` - это объект, который передается нашей компонентной функции при вызове, представляющий все атрибуты, связанные с его JSX. Объекты `пропсов` доступны только для чтения и имеют реактивные свойства — заключенные в Объект геттеры. Это позволяет им иметь согласованную форму независимо от того, использовались ли при вызове `Сигналы` или выражения-cигналы (`signal expressions`), простые или статические значения. Вы получаете к ним доступ просто через `props.propName`.\n\nПо этой причине также очень важно не деструктурировать `пропсы` из объектов, поскольку это приведет к потере реактивности, если это не будет сделано в пределах области отслеживаемого скоупа (`tracking scope`). В общем случае обращение к свойствам объекта `props` вне примитивов Solid или JSX может привести к потере реактивности. Это применимо не только к деструктуризации, но также и к спредам (`spread`) и таким функциям как `Object.assign`.\n\nУ Solid есть несколько утилит, которые помогут нам при работе с `пропсами`. Первый - это `mergeProps`, который объединяет потенциально реактивные объекты вместе (например, неразрушающий `Object.assign`) без потери реактивности. Самый распространенный случай - это установка `пропсов` по умолчанию для наших компонентов.\n\nВ примере с `greetings.tsx`, мы указали значения по умолчанию одной строкой в шаблоне, но мы также могли использовать `mergeProps` для сохранения реактивных обновлений:\n\n```jsx\nconst merged = mergeProps({ greeting: 'Hi', name: 'John' }, props);\n\nreturn (\n\t<h3>\n\t\t{merged.greeting} {merged.name}\n\t</h3>\n);\n```\n";
var props_defaults = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

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