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 = "Props sind unsere Bezeichnung für das Objekt, das an unsere Komponenten-Funktionen bei der AUsführung übergeben wird, das alle Attribute darstellt, die an das JSX gebunden sind. Props-Objekte sind nur lesbar und haben reaktive Einträge, die in Objekt-Gettern stecken. Das erlaubt es uns, eine konsistente Form zu haben, unabhängig davon, ob der Aufrufer Signale, Signal-Ausdrücke oder einfache statische Werte verwendet. Man kann auf sie einfach mit `props.propName` zugreifen.\n\nAus diesem Grund ist es sehr wichtig, das Props-Objekt nicht einfach zu destrukturieren, weil man dadurch die Reaktivität verlieren würde, wenn es nicht innerhalb eines Verfolgungs-Scopes abläuft. Generell kann der Eigenschaftszugriff auf das Props-Objekt außerhalb von Solids Primitiven oder JSX zum Verlust der Reaktivität führen. Das gilt nicht nur für Destrukturierung, sondern auch zu Spread-Operatoren und Funktionen wie `Object.assign`.\n\nSolid hat ein paar Werkzeuge, um uns bei der Arbeit mit Props zu helfen. Das erste ist `mergeProps`, was potentiell reaktive Objekte zusammenführt (wie ein nicht-zerstörerisches `Object.assign`), ohne ihre Reaktivität zu verlieren. Der häufigste Nutzungsfall ist das Setzen von Standardeinstellungen für die Komponenten-Props.\n\nIn diesem Beispiel haben wir in `greetings.tsx` die Standardeinstellungen im Template, aber wir können auch `mergeProps` verwenden, um die reaktiven Updates beizubehalten, selbst wenn wir Standardeinstellungen setzen:\n\n```jsx\nconst merged = mergeProps({ greeting: \"Hi\", name: \"John\" }, props);\n\nreturn <h3>{merged.greeting} {merged.name}</h3>\n```\n";
var props_defaults = {
	lesson: lesson,
	solved: solved,
	markdown: markdown
};

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