@kozou/svelte-ui 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/README.md +25 -3
  2. package/build/client/_app/immutable/assets/0._vgqT-Ja.css +2 -0
  3. package/build/client/_app/immutable/assets/0._vgqT-Ja.css.br +0 -0
  4. package/build/client/_app/immutable/assets/{0.B45CfnXC.css.gz → 0._vgqT-Ja.css.gz} +0 -0
  5. package/build/client/_app/immutable/chunks/BgT5WiOF.js +2 -0
  6. package/build/client/_app/immutable/chunks/BgT5WiOF.js.br +0 -0
  7. package/build/client/_app/immutable/chunks/BgT5WiOF.js.gz +0 -0
  8. package/build/client/_app/immutable/chunks/CCUVvlTa.js +214 -0
  9. package/build/client/_app/immutable/chunks/CCUVvlTa.js.br +0 -0
  10. package/build/client/_app/immutable/chunks/CCUVvlTa.js.gz +0 -0
  11. package/build/client/_app/immutable/chunks/D5sfkRNZ.js +1 -0
  12. package/build/client/_app/immutable/chunks/D5sfkRNZ.js.br +0 -0
  13. package/build/client/_app/immutable/chunks/D5sfkRNZ.js.gz +0 -0
  14. package/build/client/_app/immutable/chunks/DdJtfEcD.js +4 -0
  15. package/build/client/_app/immutable/chunks/DdJtfEcD.js.br +0 -0
  16. package/build/client/_app/immutable/chunks/DdJtfEcD.js.gz +0 -0
  17. package/build/client/_app/immutable/chunks/{Ds-FbTMg.js → De8foa1z.js} +1 -1
  18. package/build/client/_app/immutable/chunks/De8foa1z.js.br +0 -0
  19. package/build/client/_app/immutable/chunks/De8foa1z.js.gz +0 -0
  20. package/build/client/_app/immutable/chunks/DxikiVqj.js +1 -0
  21. package/build/client/_app/immutable/chunks/DxikiVqj.js.br +0 -0
  22. package/build/client/_app/immutable/chunks/DxikiVqj.js.gz +0 -0
  23. package/build/client/_app/immutable/entry/app.BkKlOvdn.js +2 -0
  24. package/build/client/_app/immutable/entry/app.BkKlOvdn.js.br +0 -0
  25. package/build/client/_app/immutable/entry/app.BkKlOvdn.js.gz +0 -0
  26. package/build/client/_app/immutable/entry/start.Cjh4JaF7.js +1 -0
  27. package/build/client/_app/immutable/entry/start.Cjh4JaF7.js.br +0 -0
  28. package/build/client/_app/immutable/entry/start.Cjh4JaF7.js.gz +0 -0
  29. package/build/client/_app/immutable/nodes/0.BTi1ueXu.js +1 -0
  30. package/build/client/_app/immutable/nodes/0.BTi1ueXu.js.br +0 -0
  31. package/build/client/_app/immutable/nodes/0.BTi1ueXu.js.gz +0 -0
  32. package/build/client/_app/immutable/nodes/1.CrygsmaA.js +1 -0
  33. package/build/client/_app/immutable/nodes/1.CrygsmaA.js.br +0 -0
  34. package/build/client/_app/immutable/nodes/1.CrygsmaA.js.gz +0 -0
  35. package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js +1 -0
  36. package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js.br +0 -0
  37. package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js.gz +0 -0
  38. package/build/client/_app/immutable/nodes/3.BfuWEZdX.js +1 -0
  39. package/build/client/_app/immutable/nodes/3.BfuWEZdX.js.br +0 -0
  40. package/build/client/_app/immutable/nodes/3.BfuWEZdX.js.gz +0 -0
  41. package/build/client/_app/immutable/nodes/4.TqsoTNiI.js +1 -0
  42. package/build/client/_app/immutable/nodes/4.TqsoTNiI.js.br +0 -0
  43. package/build/client/_app/immutable/nodes/4.TqsoTNiI.js.gz +0 -0
  44. package/build/client/_app/immutable/nodes/5.6savDm4D.js +1 -0
  45. package/build/client/_app/immutable/nodes/5.6savDm4D.js.br +0 -0
  46. package/build/client/_app/immutable/nodes/5.6savDm4D.js.gz +0 -0
  47. package/build/client/_app/immutable/nodes/6.B6xlqPuj.js +1 -0
  48. package/build/client/_app/immutable/nodes/6.B6xlqPuj.js.br +0 -0
  49. package/build/client/_app/immutable/nodes/6.B6xlqPuj.js.gz +0 -0
  50. package/build/client/_app/immutable/nodes/{7.mp1zOZZv.js → 7.CjEmXoAF.js} +1 -1
  51. package/build/client/_app/immutable/nodes/7.CjEmXoAF.js.br +1 -0
  52. package/build/client/_app/immutable/nodes/7.CjEmXoAF.js.gz +0 -0
  53. package/build/client/_app/version.json +1 -1
  54. package/build/client/_app/version.json.br +0 -0
  55. package/build/client/_app/version.json.gz +0 -0
  56. package/build/server/chunks/{0-D3i8OEah.js → 0-C4CgvBlc.js} +3 -3
  57. package/build/server/chunks/{0-D3i8OEah.js.map → 0-C4CgvBlc.js.map} +1 -1
  58. package/build/server/chunks/{1-HR1yd0wU.js → 1-B5tolhxt.js} +3 -3
  59. package/build/server/chunks/{1-HR1yd0wU.js.map → 1-B5tolhxt.js.map} +1 -1
  60. package/build/server/chunks/{2-CE6m9qid.js → 2-D9il_3ty.js} +2 -2
  61. package/build/server/chunks/{2-CE6m9qid.js.map → 2-D9il_3ty.js.map} +1 -1
  62. package/build/server/chunks/{3-BfIWDc-d.js → 3-DfrqlU53.js} +3 -3
  63. package/build/server/chunks/3-DfrqlU53.js.map +1 -0
  64. package/build/server/chunks/{4-Dqn3l8BI.js → 4-D6Y076hP.js} +46 -4
  65. package/build/server/chunks/4-D6Y076hP.js.map +1 -0
  66. package/build/server/chunks/{5-DA-bCkUw.js → 5-DOvvx6kj.js} +25 -12
  67. package/build/server/chunks/5-DOvvx6kj.js.map +1 -0
  68. package/build/server/chunks/{6-DEjxcpBy.js → 6-BJn_aKxy.js} +22 -12
  69. package/build/server/chunks/6-BJn_aKxy.js.map +1 -0
  70. package/build/server/chunks/{7-BFDTBBBE.js → 7-CKkRKfs8.js} +3 -3
  71. package/build/server/chunks/7-CKkRKfs8.js.map +1 -0
  72. package/build/server/chunks/{_page.svelte-CyAlYQ7a.js → _page.svelte-BWAo_bI_.js} +3 -3
  73. package/build/server/chunks/{_page.svelte-CyAlYQ7a.js.map → _page.svelte-BWAo_bI_.js.map} +1 -1
  74. package/build/server/chunks/_page.svelte-D_706hfC.js +167 -0
  75. package/build/server/chunks/_page.svelte-D_706hfC.js.map +1 -0
  76. package/build/server/chunks/_page.svelte-DpoimUgp.js +167 -0
  77. package/build/server/chunks/_page.svelte-DpoimUgp.js.map +1 -0
  78. package/build/server/chunks/_server.ts-C-Wy675T.js +19 -0
  79. package/build/server/chunks/_server.ts-C-Wy675T.js.map +1 -0
  80. package/build/server/chunks/{adapter-1jZYeJkL.js → adapter-CXNsjV1V.js} +22 -10
  81. package/build/server/chunks/adapter-CXNsjV1V.js.map +1 -0
  82. package/build/server/chunks/{client-B9o82f8t.js → client-_87vxA9R.js} +2 -2
  83. package/build/server/chunks/{client-B9o82f8t.js.map → client-_87vxA9R.js.map} +1 -1
  84. package/build/server/chunks/{zod-from-table-D-zpiAdX.js → composite-form-C6ci57iZ.js} +248 -6
  85. package/build/server/chunks/composite-form-C6ci57iZ.js.map +1 -0
  86. package/build/server/chunks/{error.svelte-CCf63hYR.js → error.svelte-CsN316oS.js} +3 -3
  87. package/build/server/chunks/{error.svelte-CCf63hYR.js.map → error.svelte-CsN316oS.js.map} +1 -1
  88. package/build/server/chunks/{hooks.server-gNQ4wkwm.js → hooks.server-O5zJccZI.js} +35 -22
  89. package/build/server/chunks/hooks.server-O5zJccZI.js.map +1 -0
  90. package/build/server/chunks/{internal-CCj4Us-1.js → internal-Cuea68jL.js} +3 -3
  91. package/build/server/chunks/{internal-CCj4Us-1.js.map → internal-Cuea68jL.js.map} +1 -1
  92. package/build/server/chunks/relation-options-Dzy9DaQG.js +87 -0
  93. package/build/server/chunks/relation-options-Dzy9DaQG.js.map +1 -0
  94. package/build/server/chunks/{widget-registry-CYJ6dCZP.js → widget-registry-CohQ23di.js} +282 -42
  95. package/build/server/chunks/widget-registry-CohQ23di.js.map +1 -0
  96. package/build/server/index.js +1 -1
  97. package/build/server/manifest.js +16 -9
  98. package/build/server/manifest.js.map +1 -1
  99. package/package.json +4 -4
  100. package/build/client/_app/immutable/assets/0.B45CfnXC.css +0 -2
  101. package/build/client/_app/immutable/assets/0.B45CfnXC.css.br +0 -0
  102. package/build/client/_app/immutable/chunks/1PNfJiP5.js +0 -2
  103. package/build/client/_app/immutable/chunks/1PNfJiP5.js.br +0 -0
  104. package/build/client/_app/immutable/chunks/1PNfJiP5.js.gz +0 -0
  105. package/build/client/_app/immutable/chunks/BatBMP3E.js +0 -4
  106. package/build/client/_app/immutable/chunks/BatBMP3E.js.br +0 -0
  107. package/build/client/_app/immutable/chunks/BatBMP3E.js.gz +0 -0
  108. package/build/client/_app/immutable/chunks/DhQvJhgX.js +0 -214
  109. package/build/client/_app/immutable/chunks/DhQvJhgX.js.br +0 -0
  110. package/build/client/_app/immutable/chunks/DhQvJhgX.js.gz +0 -0
  111. package/build/client/_app/immutable/chunks/Ds-FbTMg.js.br +0 -0
  112. package/build/client/_app/immutable/chunks/Ds-FbTMg.js.gz +0 -0
  113. package/build/client/_app/immutable/chunks/y9cSQmno.js +0 -1
  114. package/build/client/_app/immutable/chunks/y9cSQmno.js.br +0 -0
  115. package/build/client/_app/immutable/chunks/y9cSQmno.js.gz +0 -0
  116. package/build/client/_app/immutable/entry/app.CZ136DH2.js +0 -2
  117. package/build/client/_app/immutable/entry/app.CZ136DH2.js.br +0 -0
  118. package/build/client/_app/immutable/entry/app.CZ136DH2.js.gz +0 -0
  119. package/build/client/_app/immutable/entry/start.B2SCrcq3.js +0 -1
  120. package/build/client/_app/immutable/entry/start.B2SCrcq3.js.br +0 -0
  121. package/build/client/_app/immutable/entry/start.B2SCrcq3.js.gz +0 -0
  122. package/build/client/_app/immutable/nodes/0.DAriStmJ.js +0 -1
  123. package/build/client/_app/immutable/nodes/0.DAriStmJ.js.br +0 -0
  124. package/build/client/_app/immutable/nodes/0.DAriStmJ.js.gz +0 -0
  125. package/build/client/_app/immutable/nodes/1.C6AP-LKV.js +0 -1
  126. package/build/client/_app/immutable/nodes/1.C6AP-LKV.js.br +0 -0
  127. package/build/client/_app/immutable/nodes/1.C6AP-LKV.js.gz +0 -0
  128. package/build/client/_app/immutable/nodes/2.C3ChRVrO.js +0 -1
  129. package/build/client/_app/immutable/nodes/2.C3ChRVrO.js.br +0 -0
  130. package/build/client/_app/immutable/nodes/2.C3ChRVrO.js.gz +0 -0
  131. package/build/client/_app/immutable/nodes/3.C2gCkFBC.js +0 -1
  132. package/build/client/_app/immutable/nodes/3.C2gCkFBC.js.br +0 -0
  133. package/build/client/_app/immutable/nodes/3.C2gCkFBC.js.gz +0 -0
  134. package/build/client/_app/immutable/nodes/4.BT4cE3lU.js +0 -1
  135. package/build/client/_app/immutable/nodes/4.BT4cE3lU.js.br +0 -0
  136. package/build/client/_app/immutable/nodes/4.BT4cE3lU.js.gz +0 -0
  137. package/build/client/_app/immutable/nodes/5.q_Qsfmij.js +0 -1
  138. package/build/client/_app/immutable/nodes/5.q_Qsfmij.js.br +0 -0
  139. package/build/client/_app/immutable/nodes/5.q_Qsfmij.js.gz +0 -0
  140. package/build/client/_app/immutable/nodes/6.Ca5RA2Y5.js +0 -1
  141. package/build/client/_app/immutable/nodes/6.Ca5RA2Y5.js.br +0 -0
  142. package/build/client/_app/immutable/nodes/6.Ca5RA2Y5.js.gz +0 -0
  143. package/build/client/_app/immutable/nodes/7.mp1zOZZv.js.br +0 -1
  144. package/build/client/_app/immutable/nodes/7.mp1zOZZv.js.gz +0 -0
  145. package/build/server/chunks/3-BfIWDc-d.js.map +0 -1
  146. package/build/server/chunks/4-Dqn3l8BI.js.map +0 -1
  147. package/build/server/chunks/5-DA-bCkUw.js.map +0 -1
  148. package/build/server/chunks/6-DEjxcpBy.js.map +0 -1
  149. package/build/server/chunks/7-BFDTBBBE.js.map +0 -1
  150. package/build/server/chunks/_page.svelte-CYEmRGgG.js +0 -70
  151. package/build/server/chunks/_page.svelte-CYEmRGgG.js.map +0 -1
  152. package/build/server/chunks/_page.svelte-NvCEA5JB.js +0 -70
  153. package/build/server/chunks/_page.svelte-NvCEA5JB.js.map +0 -1
  154. package/build/server/chunks/adapter-1jZYeJkL.js.map +0 -1
  155. package/build/server/chunks/hooks.server-gNQ4wkwm.js.map +0 -1
  156. package/build/server/chunks/widget-registry-CYJ6dCZP.js.map +0 -1
  157. package/build/server/chunks/zod-from-table-D-zpiAdX.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"5-DOvvx6kj.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/edit/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/5.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../../../chunks/adapter.js\";\nimport { n as parseResourceId, t as encodeResourceId } from \"../../../../../../chunks/resource-id.js\";\nimport { n as loadInitialRelationOptions, t as ensureSelectedOptions } from \"../../../../../../chunks/relation-options.js\";\nimport { a as promoteCompositeMemberWidgets, o as relationFieldConfigs, r as demoteUnpickableRelations, s as superValidate } from \"../../../../../../chunks/relation-field-config.js\";\nimport { i as zod, n as zodFromTable, r as buildMutationPayload, t as readFormWithCompositePicks } from \"../../../../../../chunks/composite-form.js\";\nimport { error, fail, redirect } from \"@sveltejs/kit\";\n//#region src/routes/tables/[table]/[id]/edit/+page.server.ts\nfunction findTable(tables, slug) {\n\treturn tables.find((t) => t.qualifiedName === slug) ?? null;\n}\nfunction tableViewModel(table) {\n\treturn {\n\t\tqualifiedName: table.qualifiedName,\n\t\tlabel: table.label,\n\t\tprimaryKey: table.primaryKey,\n\t\tcolumns: table.columns.map((c) => ({\n\t\t\tname: c.name,\n\t\t\tlabel: c.label,\n\t\t\twidget: c.widget,\n\t\t\tenumValues: c.enumValues ?? [],\n\t\t\tnullable: c.nullable,\n\t\t\treadonly: c.readonly || c.isPrimaryKey,\n\t\t\tisPrimaryKey: c.isPrimaryKey\n\t\t}))\n\t};\n}\nvar load = async ({ params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst adapter = getAdapter(locals.schema);\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tconst row = await adapter.get(table.qualifiedName, id);\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst form = await superValidate(row, zod(zodFromTable(formTable)));\n\tconst initialOptions = await loadInitialRelationOptions(adapter, relations);\n\tawait ensureSelectedOptions(adapter, relations, row, initialOptions);\n\treturn {\n\t\ttable: tableViewModel(formTable),\n\t\tform,\n\t\tid: encodeResourceId(id),\n\t\trelations,\n\t\tinitialOptions\n\t};\n};\nvar actions = { default: async ({ request, params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst submission = await readFormWithCompositePicks(request, relations);\n\tif (submission === null) return fail(400, { form: await superValidate(zod(zodFromTable(formTable))) });\n\tconst form = await superValidate(submission, zod(zodFromTable(formTable)));\n\tif (!form.valid) return fail(400, { form });\n\tconst payload = buildMutationPayload(formTable, form.data, \"update\");\n\tconst id = parseResourceId(params.id, table.primaryKey);\n\tawait getAdapter(locals.schema).update(table.qualifiedName, id, payload);\n\tthrow redirect(303, `/tables/${table.qualifiedName}/${encodeResourceId(id)}`);\n} };\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/tables/_table_/_id_/edit/_page.server.ts.js';\n\nexport const index = 5;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/_id_/edit/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/[id]/edit/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/5.6savDm4D.js\",\"_app/immutable/chunks/BgT5WiOF.js\",\"_app/immutable/chunks/CCUVvlTa.js\",\"_app/immutable/chunks/DdJtfEcD.js\",\"_app/immutable/chunks/De8foa1z.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1,13 +1,14 @@
1
+ import { g as getAdapter } from './adapter-CXNsjV1V.js';
1
2
  import { r as rowIdSegment } from './resource-id-PDcQeAnc.js';
2
- import { g as getAdapter } from './adapter-1jZYeJkL.js';
3
- import { a as superValidate, z as zod, c as zodFromTable, b as buildMutationPayload } from './zod-from-table-D-zpiAdX.js';
3
+ import { l as loadInitialRelationOptions } from './relation-options-Dzy9DaQG.js';
4
+ import { a as relationFieldConfigs, p as promoteCompositeMemberWidgets, d as demoteUnpickableRelations, r as readFormWithCompositePicks, e as superValidate, z as zod, f as zodFromTable, b as buildMutationPayload } from './composite-form-C6ci57iZ.js';
4
5
  import { e as error, f as fail, r as redirect } from './index-5kYmxIr9.js';
5
- import './internal-CCj4Us-1.js';
6
+ import './internal-Cuea68jL.js';
6
7
  import 'node:module';
7
8
  import './dev-yFiAtg5l.js';
8
9
  import 'clsx';
9
10
  import './index-DBqjc0Yf.js';
10
- import './client-B9o82f8t.js';
11
+ import './client-_87vxA9R.js';
11
12
  import './app-DST8OmzT.js';
12
13
  import 'zod/v4/core';
13
14
  import 'zod';
@@ -35,18 +36,27 @@ function tableViewModel(table) {
35
36
  var load = async ({ params, locals }) => {
36
37
  const table = findTable(locals.schema.tables, params.table);
37
38
  if (!table) throw error(404, `Unknown table: ${params.table}`);
38
- const form = await superValidate(zod(zodFromTable(table)));
39
+ const relations = relationFieldConfigs(table, locals.schema);
40
+ const formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);
41
+ const form = await superValidate(zod(zodFromTable(formTable)));
42
+ const initialOptions = await loadInitialRelationOptions(getAdapter(locals.schema), relations);
39
43
  return {
40
- table: tableViewModel(table),
41
- form
44
+ table: tableViewModel(formTable),
45
+ form,
46
+ relations,
47
+ initialOptions
42
48
  };
43
49
  };
44
50
  var actions = { default: async ({ request, params, locals }) => {
45
51
  const table = findTable(locals.schema.tables, params.table);
46
52
  if (!table) throw error(404, `Unknown table: ${params.table}`);
47
- const form = await superValidate(request, zod(zodFromTable(table)));
53
+ const relations = relationFieldConfigs(table, locals.schema);
54
+ const formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);
55
+ const submission = await readFormWithCompositePicks(request, relations);
56
+ if (submission === null) return fail(400, { form: await superValidate(zod(zodFromTable(formTable))) });
57
+ const form = await superValidate(submission, zod(zodFromTable(formTable)));
48
58
  if (!form.valid) return fail(400, { form });
49
- const payload = buildMutationPayload(table, form.data);
59
+ const payload = buildMutationPayload(formTable, form.data);
50
60
  const segment = rowIdSegment(await getAdapter(locals.schema).create(table.qualifiedName, payload), table.primaryKey);
51
61
  throw redirect(303, segment !== null ? `/tables/${table.qualifiedName}/${segment}` : `/tables/${table.qualifiedName}`);
52
62
  } };
@@ -59,11 +69,11 @@ var _page_server_ts = /*#__PURE__*/Object.freeze({
59
69
 
60
70
  const index = 6;
61
71
  let component_cache;
62
- const component = async () => component_cache ??= (await import('./_page.svelte-CYEmRGgG.js')).default;
72
+ const component = async () => component_cache ??= (await import('./_page.svelte-D_706hfC.js')).default;
63
73
  const server_id = "src/routes/tables/[table]/new/+page.server.ts";
64
- const imports = ["_app/immutable/nodes/6.Ca5RA2Y5.js","_app/immutable/chunks/1PNfJiP5.js","_app/immutable/chunks/DhQvJhgX.js","_app/immutable/chunks/BatBMP3E.js","_app/immutable/chunks/Ds-FbTMg.js","_app/immutable/chunks/xihTtKlq.js"];
74
+ const imports = ["_app/immutable/nodes/6.B6xlqPuj.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/CCUVvlTa.js","_app/immutable/chunks/DdJtfEcD.js","_app/immutable/chunks/De8foa1z.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/D5sfkRNZ.js"];
65
75
  const stylesheets = [];
66
76
  const fonts = [];
67
77
 
68
78
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
69
- //# sourceMappingURL=6-DEjxcpBy.js.map
79
+ //# sourceMappingURL=6-BJn_aKxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"6-BJn_aKxy.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/new/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/6.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../../chunks/adapter.js\";\nimport { r as rowIdSegment } from \"../../../../../chunks/resource-id.js\";\nimport { n as loadInitialRelationOptions } from \"../../../../../chunks/relation-options.js\";\nimport { a as promoteCompositeMemberWidgets, o as relationFieldConfigs, r as demoteUnpickableRelations, s as superValidate } from \"../../../../../chunks/relation-field-config.js\";\nimport { i as zod, n as zodFromTable, r as buildMutationPayload, t as readFormWithCompositePicks } from \"../../../../../chunks/composite-form.js\";\nimport { error, fail, redirect } from \"@sveltejs/kit\";\n//#region src/routes/tables/[table]/new/+page.server.ts\nfunction findTable(tables, slug) {\n\treturn tables.find((t) => t.qualifiedName === slug) ?? null;\n}\nfunction tableViewModel(table) {\n\treturn {\n\t\tqualifiedName: table.qualifiedName,\n\t\tlabel: table.label,\n\t\tprimaryKey: table.primaryKey,\n\t\tcolumns: table.columns.map((c) => ({\n\t\t\tname: c.name,\n\t\t\tlabel: c.label,\n\t\t\twidget: c.widget,\n\t\t\tenumValues: c.enumValues ?? [],\n\t\t\tnullable: c.nullable,\n\t\t\treadonly: c.readonly || c.isPrimaryKey && c.defaultExpr !== null,\n\t\t\tisPrimaryKey: c.isPrimaryKey\n\t\t}))\n\t};\n}\nvar load = async ({ params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst form = await superValidate(zod(zodFromTable(formTable)));\n\tconst initialOptions = await loadInitialRelationOptions(getAdapter(locals.schema), relations);\n\treturn {\n\t\ttable: tableViewModel(formTable),\n\t\tform,\n\t\trelations,\n\t\tinitialOptions\n\t};\n};\nvar actions = { default: async ({ request, params, locals }) => {\n\tconst table = findTable(locals.schema.tables, params.table);\n\tif (!table) throw error(404, `Unknown table: ${params.table}`);\n\tconst relations = relationFieldConfigs(table, locals.schema);\n\tconst formTable = promoteCompositeMemberWidgets(demoteUnpickableRelations(table, relations), relations);\n\tconst submission = await readFormWithCompositePicks(request, relations);\n\tif (submission === null) return fail(400, { form: await superValidate(zod(zodFromTable(formTable))) });\n\tconst form = await superValidate(submission, zod(zodFromTable(formTable)));\n\tif (!form.valid) return fail(400, { form });\n\tconst payload = buildMutationPayload(formTable, form.data);\n\tconst segment = rowIdSegment(await getAdapter(locals.schema).create(table.qualifiedName, payload), table.primaryKey);\n\tthrow redirect(303, segment !== null ? `/tables/${table.qualifiedName}/${segment}` : `/tables/${table.qualifiedName}`);\n} };\n//#endregion\nexport { actions, load };\n","import * as server from '../entries/pages/tables/_table_/new/_page.server.ts.js';\n\nexport const index = 6;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/tables/_table_/new/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/tables/[table]/new/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/6.B6xlqPuj.js\",\"_app/immutable/chunks/BgT5WiOF.js\",\"_app/immutable/chunks/CCUVvlTa.js\",\"_app/immutable/chunks/DdJtfEcD.js\",\"_app/immutable/chunks/De8foa1z.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
+ import { g as getAdapter } from './adapter-CXNsjV1V.js';
1
2
  import { p as parseListParamsFromUrl } from './list-params-Cw6PMHbk.js';
2
- import { g as getAdapter } from './adapter-1jZYeJkL.js';
3
3
  import { e as error } from './index-5kYmxIr9.js';
4
4
  import './index-DBqjc0Yf.js';
5
5
 
@@ -58,9 +58,9 @@ const index = 7;
58
58
  let component_cache;
59
59
  const component = async () => component_cache ??= (await import('./_page.svelte-Dabtpyl9.js')).default;
60
60
  const server_id = "src/routes/views/[view]/+page.server.ts";
61
- const imports = ["_app/immutable/nodes/7.mp1zOZZv.js","_app/immutable/chunks/1PNfJiP5.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/y9cSQmno.js"];
61
+ const imports = ["_app/immutable/nodes/7.CjEmXoAF.js","_app/immutable/chunks/BgT5WiOF.js","_app/immutable/chunks/xihTtKlq.js","_app/immutable/chunks/DxikiVqj.js","_app/immutable/chunks/D5sfkRNZ.js"];
62
62
  const stylesheets = [];
63
63
  const fonts = [];
64
64
 
65
65
  export { component, fonts, imports, index, _page_server_ts as server, server_id, stylesheets };
66
- //# sourceMappingURL=7-BFDTBBBE.js.map
66
+ //# sourceMappingURL=7-CKkRKfs8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"7-CKkRKfs8.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/views/_view_/_page.server.ts.js","../../../.svelte-kit/adapter-node/nodes/7.js"],"sourcesContent":["import { t as getAdapter } from \"../../../../chunks/adapter.js\";\nimport { t as parseListParamsFromUrl } from \"../../../../chunks/list-params.js\";\nimport { error } from \"@sveltejs/kit\";\n//#region src/lib/view/columns.ts\nvar DISPLAY_COLUMN_LIMIT = 5;\nvar TEXT_LIKE_TYPE_PREFIXES = [\n\t\"text\",\n\t\"character\",\n\t\"varchar\",\n\t\"citext\",\n\t\"name\",\n\t\"uuid\"\n];\nfunction pickViewDisplayColumns(view) {\n\treturn view.columns.slice(0, DISPLAY_COLUMN_LIMIT);\n}\nfunction pickViewSearchFields(view) {\n\treturn view.columns.filter((c) => TEXT_LIKE_TYPE_PREFIXES.some((prefix) => c.dataType.toLowerCase().startsWith(prefix))).map((c) => c.name);\n}\n//#endregion\n//#region src/routes/views/[view]/+page.server.ts\nvar load = async ({ params, locals, url }) => {\n\tconst view = locals.schema.views.find((v) => v.qualifiedName === params.view);\n\tif (!view) throw error(404, `Unknown view: ${params.view}`);\n\tconst displayColumns = pickViewDisplayColumns(view);\n\tconst listParams = parseListParamsFromUrl({\n\t\turl,\n\t\tsearchFields: pickViewSearchFields(view)\n\t});\n\tconst result = await getAdapter(locals.schema).list(view.qualifiedName, listParams);\n\treturn {\n\t\tview: {\n\t\t\tqualifiedName: view.qualifiedName,\n\t\t\tlabel: view.label,\n\t\t\tcolumns: displayColumns.map((c) => ({\n\t\t\t\tname: c.name,\n\t\t\t\tlabel: c.label\n\t\t\t}))\n\t\t},\n\t\tlist: result,\n\t\tlistParams: {\n\t\t\tsearch: listParams.search,\n\t\t\tsort: listParams.sort,\n\t\t\tpage: listParams.page,\n\t\t\tpageSize: listParams.pageSize\n\t\t}\n\t};\n};\n//#endregion\nexport { load };\n","import * as server from '../entries/pages/views/_view_/_page.server.ts.js';\n\nexport const index = 7;\nlet component_cache;\nexport const component = async () => component_cache ??= (await import('../entries/pages/views/_view_/_page.svelte.js')).default;\nexport { server };\nexport const server_id = \"src/routes/views/[view]/+page.server.ts\";\nexport const imports = [\"_app/immutable/nodes/7.CjEmXoAF.js\",\"_app/immutable/chunks/BgT5WiOF.js\",\"_app/immutable/chunks/xihTtKlq.js\",\"_app/immutable/chunks/DxikiVqj.js\",\"_app/immutable/chunks/D5sfkRNZ.js\"];\nexport const stylesheets = [];\nexport const fonts = [];\n"],"names":[],"mappings":";;;;;AAGA;AACA,IAAI,oBAAoB,GAAG,CAAC;AAC5B,IAAI,uBAAuB,GAAG;AAC9B,CAAC,MAAM;AACP,CAAC,WAAW;AACZ,CAAC,SAAS;AACV,CAAC,QAAQ;AACT,CAAC,MAAM;AACP,CAAC;AACD,CAAC;AACD,SAAS,sBAAsB,CAAC,IAAI,EAAE;AACtC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;AACnD;AACA,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,uBAAuB,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AAC5I;AACA;AACA;AACA,IAAI,IAAI,GAAG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK;AAC9C,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,aAAa,KAAK,MAAM,CAAC,IAAI,CAAC;AAC9E,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5D,CAAC,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,CAAC;AACpD,CAAC,MAAM,UAAU,GAAG,sBAAsB,CAAC;AAC3C,EAAE,GAAG;AACL,EAAE,YAAY,EAAE,oBAAoB,CAAC,IAAI;AACzC,EAAE,CAAC;AACH,CAAC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC;AACpF,CAAC,OAAO;AACR,EAAE,IAAI,EAAE;AACR,GAAG,aAAa,EAAE,IAAI,CAAC,aAAa;AACpC,GAAG,KAAK,EAAE,IAAI,CAAC,KAAK;AACpB,GAAG,OAAO,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACvC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI;AAChB,IAAI,KAAK,EAAE,CAAC,CAAC;AACb,IAAI,CAAC;AACL,GAAG;AACH,EAAE,IAAI,EAAE,MAAM;AACd,EAAE,UAAU,EAAE;AACd,GAAG,MAAM,EAAE,UAAU,CAAC,MAAM;AAC5B,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI;AACxB,GAAG,IAAI,EAAE,UAAU,CAAC,IAAI;AACxB,GAAG,QAAQ,EAAE,UAAU,CAAC;AACxB;AACA,EAAE;AACF,CAAC;;;;;;;AC7CW,MAAC,KAAK,GAAG;AACrB,IAAI,eAAe;AACP,MAAC,SAAS,GAAG,YAAY,eAAe,KAAK,CAAC,MAAM,OAAO,4BAA+C,CAAC,EAAE;AAE7G,MAAC,SAAS,GAAG;AACb,MAAC,OAAO,GAAG,CAAC,oCAAoC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC;AAChM,MAAC,WAAW,GAAG;AACf,MAAC,KAAK,GAAG;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { q as escape_html, o as ensure_array_like, d as attr } from './dev-yFiAtg5l.js';
2
- import './internal-CCj4Us-1.js';
3
- import './client-B9o82f8t.js';
2
+ import './internal-Cuea68jL.js';
3
+ import './client-_87vxA9R.js';
4
4
  import 'clsx';
5
5
  import 'node:module';
6
6
  import './index-DBqjc0Yf.js';
@@ -83,4 +83,4 @@ function _page($$renderer, $$props) {
83
83
  }
84
84
 
85
85
  export { _page as default };
86
- //# sourceMappingURL=_page.svelte-CyAlYQ7a.js.map
86
+ //# sourceMappingURL=_page.svelte-BWAo_bI_.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-CyAlYQ7a.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, i as ensure_array_like } from \"../../../../../chunks/dev.js\";\nimport \"../../../../../chunks/forms.js\";\n//#region src/lib/detail/format-cell.ts\nfunction formatCellValue(input) {\n\tconst { value, widget } = input;\n\tif (value === null || value === void 0) return \"\";\n\tswitch (widget) {\n\t\tcase \"boolean\": return value ? \"Yes\" : \"No\";\n\t\tcase \"date\": return formatDate(value);\n\t\tcase \"datetime\": return formatDateTime(value);\n\t\tcase \"json\":\n\t\t\tif (typeof value === \"object\") try {\n\t\t\t\treturn JSON.stringify(value, null, 2);\n\t\t\t} catch {\n\t\t\t\treturn String(value);\n\t\t\t}\n\t\t\treturn String(value);\n\t\tdefault:\n\t\t\tif (typeof value === \"object\") try {\n\t\t\t\treturn JSON.stringify(value);\n\t\t\t} catch {\n\t\t\t\treturn String(value);\n\t\t\t}\n\t\t\treturn String(value);\n\t}\n}\nfunction formatDate(value) {\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return String(value);\n\treturn d.toISOString().slice(0, 10);\n}\nfunction formatDateTime(value) {\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return String(value);\n\treturn d.toISOString().replace(\"T\", \" \").slice(0, 19);\n}\n//#endregion\n//#region src/routes/tables/[table]/[id]/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\t$$renderer.push(`<h1 class=\"mb-1 text-2xl font-semibold\">${escape_html(data.table.label)}</h1> <p class=\"mb-6 text-sm text-muted-foreground\">${escape_html(data.table.qualifiedName)} / ${escape_html(data.id)}</p> <dl class=\"space-y-4\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(data.table.columns);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet col = each_array[$$index];\n\t\t\tconst rawValue = data.row[col.name];\n\t\t\tconst fkLabel = data.fkLabels[col.name];\n\t\t\t$$renderer.push(`<div><dt class=\"text-sm font-medium text-muted-foreground\">${escape_html(col.label)}</dt> <dd class=\"mt-1 text-sm\">`);\n\t\t\tif (col.widget === \"json\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<pre class=\"overflow-x-auto rounded-md bg-muted p-2 font-mono text-xs\">${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))}</pre>`);\n\t\t\t} else if (col.widget === \"image-url\" && rawValue) {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<img${attr(\"src\", String(rawValue))}${attr(\"alt\", col.label)} class=\"max-h-48 rounded-md border border-border object-contain\" loading=\"lazy\"/>`);\n\t\t\t} else if (rawValue === null || rawValue === void 0) {\n\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t$$renderer.push(`<span class=\"text-muted-foreground\">—</span>`);\n\t\t\t} else if (fkLabel !== void 0 && fkLabel.label !== null) {\n\t\t\t\t$$renderer.push(\"<!--[3-->\");\n\t\t\t\t$$renderer.push(`<a${attr(\"href\", `/tables/${fkLabel.referencedQualifiedName}/${fkLabel.value}`)} class=\"text-primary underline\">${escape_html(fkLabel.label)}</a> <span class=\"ml-1 text-xs text-muted-foreground\">(${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))})</span>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))}`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></dd></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></dl> <div class=\"mt-8 flex flex-wrap gap-3\"><a${attr(\"href\", `/tables/${data.table.qualifiedName}/${data.id}/edit`)} class=\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground\">Edit</a> <form method=\"POST\" action=\"?/delete\"><button type=\"submit\" class=\"rounded-md border border-destructive px-4 py-2 text-sm font-medium text-destructive\">Delete</button></form> <a${attr(\"href\", `/tables/${data.table.qualifiedName}`)} class=\"rounded-md border border-border px-4 py-2 text-sm font-medium\">Back</a></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"_page.svelte-BWAo_bI_.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, i as ensure_array_like } from \"../../../../../chunks/dev.js\";\nimport \"../../../../../chunks/forms.js\";\n//#region src/lib/detail/format-cell.ts\nfunction formatCellValue(input) {\n\tconst { value, widget } = input;\n\tif (value === null || value === void 0) return \"\";\n\tswitch (widget) {\n\t\tcase \"boolean\": return value ? \"Yes\" : \"No\";\n\t\tcase \"date\": return formatDate(value);\n\t\tcase \"datetime\": return formatDateTime(value);\n\t\tcase \"json\":\n\t\t\tif (typeof value === \"object\") try {\n\t\t\t\treturn JSON.stringify(value, null, 2);\n\t\t\t} catch {\n\t\t\t\treturn String(value);\n\t\t\t}\n\t\t\treturn String(value);\n\t\tdefault:\n\t\t\tif (typeof value === \"object\") try {\n\t\t\t\treturn JSON.stringify(value);\n\t\t\t} catch {\n\t\t\t\treturn String(value);\n\t\t\t}\n\t\t\treturn String(value);\n\t}\n}\nfunction formatDate(value) {\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return String(value);\n\treturn d.toISOString().slice(0, 10);\n}\nfunction formatDateTime(value) {\n\tconst d = new Date(value);\n\tif (Number.isNaN(d.getTime())) return String(value);\n\treturn d.toISOString().replace(\"T\", \" \").slice(0, 19);\n}\n//#endregion\n//#region src/routes/tables/[table]/[id]/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\t$$renderer.push(`<h1 class=\"mb-1 text-2xl font-semibold\">${escape_html(data.table.label)}</h1> <p class=\"mb-6 text-sm text-muted-foreground\">${escape_html(data.table.qualifiedName)} / ${escape_html(data.id)}</p> <dl class=\"space-y-4\"><!--[-->`);\n\t\tconst each_array = ensure_array_like(data.table.columns);\n\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\tlet col = each_array[$$index];\n\t\t\tconst rawValue = data.row[col.name];\n\t\t\tconst fkLabel = data.fkLabels[col.name];\n\t\t\t$$renderer.push(`<div><dt class=\"text-sm font-medium text-muted-foreground\">${escape_html(col.label)}</dt> <dd class=\"mt-1 text-sm\">`);\n\t\t\tif (col.widget === \"json\") {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<pre class=\"overflow-x-auto rounded-md bg-muted p-2 font-mono text-xs\">${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))}</pre>`);\n\t\t\t} else if (col.widget === \"image-url\" && rawValue) {\n\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t$$renderer.push(`<img${attr(\"src\", String(rawValue))}${attr(\"alt\", col.label)} class=\"max-h-48 rounded-md border border-border object-contain\" loading=\"lazy\"/>`);\n\t\t\t} else if (rawValue === null || rawValue === void 0) {\n\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t$$renderer.push(`<span class=\"text-muted-foreground\">—</span>`);\n\t\t\t} else if (fkLabel !== void 0 && fkLabel.label !== null) {\n\t\t\t\t$$renderer.push(\"<!--[3-->\");\n\t\t\t\t$$renderer.push(`<a${attr(\"href\", `/tables/${fkLabel.referencedQualifiedName}/${fkLabel.value}`)} class=\"text-primary underline\">${escape_html(fkLabel.label)}</a> <span class=\"ml-1 text-xs text-muted-foreground\">(${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))})</span>`);\n\t\t\t} else {\n\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`${escape_html(formatCellValue({\n\t\t\t\t\tvalue: rawValue,\n\t\t\t\t\twidget: col.widget\n\t\t\t\t}))}`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--></dd></div>`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></dl> <div class=\"mt-8 flex flex-wrap gap-3\"><a${attr(\"href\", `/tables/${data.table.qualifiedName}/${data.id}/edit`)} class=\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground\">Edit</a> <form method=\"POST\" action=\"?/delete\"><button type=\"submit\" class=\"rounded-md border border-destructive px-4 py-2 text-sm font-medium text-destructive\">Delete</button></form> <a${attr(\"href\", `/tables/${data.table.qualifiedName}`)} class=\"rounded-md border border-border px-4 py-2 text-sm font-medium\">Back</a></div>`);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;AAEA;AACA,SAAS,eAAe,CAAC,KAAK,EAAE;AAChC,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK;AAChC,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,OAAO,EAAE;AAClD,CAAC,QAAQ,MAAM;AACf,EAAE,KAAK,SAAS,EAAE,OAAO,KAAK,GAAG,KAAK,GAAG,IAAI;AAC7C,EAAE,KAAK,MAAM,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;AACvC,EAAE,KAAK,UAAU,EAAE,OAAO,cAAc,CAAC,KAAK,CAAC;AAC/C,EAAE,KAAK,MAAM;AACb,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,IAAI;AACtC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,GAAG,CAAC,CAAC,MAAM;AACX,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC;AACxB,GAAG;AACH,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC;AACvB,EAAE;AACF,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,IAAI;AACtC,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAChC,GAAG,CAAC,CAAC,MAAM;AACX,IAAI,OAAO,MAAM,CAAC,KAAK,CAAC;AACxB,GAAG;AACH,GAAG,OAAO,MAAM,CAAC,KAAK,CAAC;AACvB;AACA;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AAC1B,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC;AACpD,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACpC;AACA,SAAS,cAAc,CAAC,KAAK,EAAE;AAC/B,CAAC,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC;AAC1B,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC;AACpD,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AACtD;AACA;AACA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AACxB,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,wCAAwC,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,oDAAoD,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,mCAAmC,CAAC,CAAC;AACtP,EAAE,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AAC1D,EAAE,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACrF,GAAG,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC;AAChC,GAAG,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;AACtC,GAAG,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC;AAC1C,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,2DAA2D,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,+BAA+B,CAAC,CAAC;AACzI,GAAG,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE;AAC9B,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,uEAAuE,EAAE,WAAW,CAAC,eAAe,CAAC;AAC1H,KAAK,KAAK,EAAE,QAAQ;AACpB,KAAK,MAAM,EAAE,GAAG,CAAC;AACjB,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAChB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,WAAW,IAAI,QAAQ,EAAE;AACtD,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,iFAAiF,CAAC,CAAC;AACrK,GAAG,CAAC,MAAM,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,MAAM,EAAE;AACxD,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,4CAA4C,CAAC,CAAC;AACnE,GAAG,CAAC,MAAM,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE;AAC5D,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,gCAAgC,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,uDAAuD,EAAE,WAAW,CAAC,eAAe,CAAC;AACvP,KAAK,KAAK,EAAE,QAAQ;AACpB,KAAK,MAAM,EAAE,GAAG,CAAC;AACjB,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;AAClB,GAAG,CAAC,MAAM;AACV,IAAI,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACjC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,eAAe,CAAC;AACnD,KAAK,KAAK,EAAE,QAAQ;AACpB,KAAK,MAAM,EAAE,GAAG,CAAC;AACjB,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACV,GAAG;AACH,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;AACzC,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,uDAAuD,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,+QAA+Q,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,qFAAqF,CAAC,CAAC;AAC5iB,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -0,0 +1,167 @@
1
+ import { q as escape_html, o as ensure_array_like, a6 as store_get, d as attr, a7 as store_mutate, m as derived, ab as unsubscribe_stores } from './dev-yFiAtg5l.js';
2
+ import { s as superForm } from './composite-form-C6ci57iZ.js';
3
+ import { R as Relation_select_composite_field, a as Relation_select_field, r as resolveWidget } from './widget-registry-CohQ23di.js';
4
+ import 'clsx';
5
+ import './internal-Cuea68jL.js';
6
+ import 'node:module';
7
+ import './index-DBqjc0Yf.js';
8
+ import './client-_87vxA9R.js';
9
+ import './app-DST8OmzT.js';
10
+ import './index-5kYmxIr9.js';
11
+ import 'zod/v4/core';
12
+ import 'zod';
13
+ import './resource-id-PDcQeAnc.js';
14
+
15
+ //#region src/routes/tables/[table]/new/+page.svelte
16
+ function _page($$renderer, $$props) {
17
+ $$renderer.component(($$renderer) => {
18
+ var $$store_subs;
19
+ let { data } = $$props;
20
+ const relationByField = derived(() => new Map(data.relations.filter((r) => (r.fields ?? [r.field]).length === 1).map((r) => [r.field, r])));
21
+ const compositeLayout = derived(() => {
22
+ const hostByField = /* @__PURE__ */ new Map();
23
+ const memberFields = /* @__PURE__ */ new Set();
24
+ for (const config of data.relations) {
25
+ const fields = config.fields ?? [config.field];
26
+ if (fields.length < 2) continue;
27
+ const grouped = new Set(fields);
28
+ const ordered = data.table.columns.filter((c) => grouped.has(c.name)).map((c) => c.name);
29
+ if (ordered.length !== fields.length) continue;
30
+ hostByField.set(ordered[0], config);
31
+ for (const field of ordered.slice(1)) memberFields.add(field);
32
+ }
33
+ return {
34
+ hostByField,
35
+ memberFields
36
+ };
37
+ });
38
+ const { form, errors, submitting } = superForm(data.form, { dataType: "json" });
39
+ const relationForm = form;
40
+ function memberColumns(config) {
41
+ const grouped = new Set(config.fields ?? [config.field]);
42
+ return data.table.columns.filter((c) => grouped.has(c.name));
43
+ }
44
+ function applyComposite(config, components) {
45
+ const keyFields = config.keyFields ?? [config.field];
46
+ relationForm.update((current) => {
47
+ const next = { ...current };
48
+ keyFields.forEach((field, i) => {
49
+ next[field] = components === null ? "" : components[i];
50
+ });
51
+ return next;
52
+ });
53
+ }
54
+ let $$settled = true;
55
+ let $$inner_renderer;
56
+ function $$render_inner($$renderer) {
57
+ $$renderer.push(`<h1 class="mb-1 text-2xl font-semibold">New ${escape_html(data.table.label)}</h1> <p class="mb-6 text-sm text-muted-foreground">${escape_html(data.table.qualifiedName)}</p> <form method="POST" class="space-y-4"><!--[-->`);
58
+ const each_array = ensure_array_like(data.table.columns);
59
+ for (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {
60
+ let col = each_array[$$index_2];
61
+ const required = !col.nullable && !col.readonly && !col.isPrimaryKey;
62
+ const relation = relationByField().get(col.name);
63
+ const composite = compositeLayout().hostByField.get(col.name);
64
+ $$renderer.push(`<div>`);
65
+ if (compositeLayout().memberFields.has(col.name)) $$renderer.push("<!--[0-->");
66
+ else if (composite) {
67
+ $$renderer.push("<!--[1-->");
68
+ const members = memberColumns(composite);
69
+ const groupRequired = members.some((c) => !c.nullable && !c.readonly && !c.isPrimaryKey);
70
+ const groupReadonly = members.some((c) => c.readonly);
71
+ $$renderer.push(`<!---->`);
72
+ Relation_select_composite_field($$renderer, {
73
+ name: composite.field,
74
+ label: members.map((c) => c.label).join(", "),
75
+ resource: composite.resource,
76
+ labelField: composite.labelField,
77
+ searchFields: composite.searchFields,
78
+ initialOptions: data.initialOptions[composite.field] ?? [],
79
+ values: (composite.keyFields ?? [composite.field]).map((field) => store_get($$store_subs ??= {}, "$relationForm", relationForm)[field]),
80
+ onpick: (components) => applyComposite(composite, components),
81
+ required: groupRequired,
82
+ readonly: groupReadonly
83
+ });
84
+ $$renderer.push(`<!----> <!--[-->`);
85
+ const each_array_1 = ensure_array_like(members);
86
+ for (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {
87
+ let member = each_array_1[$$index];
88
+ $$renderer.push(`<input type="hidden"${attr("name", member.name)}${attr("value", store_get($$store_subs ??= {}, "$relationForm", relationForm)[member.name] === null || store_get($$store_subs ??= {}, "$relationForm", relationForm)[member.name] === void 0 ? "" : String(store_get($$store_subs ??= {}, "$relationForm", relationForm)[member.name]))}/>`);
89
+ }
90
+ $$renderer.push(`<!--]--> <!--[-->`);
91
+ const each_array_2 = ensure_array_like(members);
92
+ for (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {
93
+ let member = each_array_2[$$index_1];
94
+ if (store_get($$store_subs ??= {}, "$errors", errors)[member.name]) {
95
+ $$renderer.push("<!--[0-->");
96
+ $$renderer.push(`<p class="mt-1 text-sm text-destructive">${escape_html(member.label)}: ${escape_html(store_get($$store_subs ??= {}, "$errors", errors)[member.name])}</p>`);
97
+ } else $$renderer.push("<!--[-1-->");
98
+ $$renderer.push(`<!--]-->`);
99
+ }
100
+ $$renderer.push(`<!--]-->`);
101
+ } else if (col.widget === "relation-select" && relation) {
102
+ $$renderer.push("<!--[2-->");
103
+ $$renderer.push(`<!---->`);
104
+ Relation_select_field($$renderer, {
105
+ name: col.name,
106
+ label: col.label,
107
+ resource: relation.resource,
108
+ labelField: relation.labelField,
109
+ searchFields: relation.searchFields,
110
+ initialOptions: data.initialOptions[col.name] ?? [],
111
+ required,
112
+ readonly: col.readonly,
113
+ get value() {
114
+ return store_get($$store_subs ??= {}, "$relationForm", relationForm)[col.name];
115
+ },
116
+ set value($$value) {
117
+ store_mutate($$store_subs ??= {}, "$relationForm", relationForm, store_get($$store_subs ??= {}, "$relationForm", relationForm)[col.name] = $$value);
118
+ $$settled = false;
119
+ }
120
+ });
121
+ $$renderer.push(`<!---->`);
122
+ } else {
123
+ $$renderer.push("<!--[-1-->");
124
+ const Widget = resolveWidget(col.widget);
125
+ if (Widget) {
126
+ $$renderer.push("<!--[-->");
127
+ Widget($$renderer, {
128
+ name: col.name,
129
+ label: col.label,
130
+ options: col.enumValues,
131
+ required,
132
+ readonly: col.readonly,
133
+ get value() {
134
+ return store_get($$store_subs ??= {}, "$form", form)[col.name];
135
+ },
136
+ set value($$value) {
137
+ store_mutate($$store_subs ??= {}, "$form", form, store_get($$store_subs ??= {}, "$form", form)[col.name] = $$value);
138
+ $$settled = false;
139
+ }
140
+ });
141
+ $$renderer.push("<!--]-->");
142
+ } else {
143
+ $$renderer.push("<!--[!-->");
144
+ $$renderer.push("<!--]-->");
145
+ }
146
+ }
147
+ $$renderer.push(`<!--]--> `);
148
+ if (!composite && !compositeLayout().memberFields.has(col.name) && store_get($$store_subs ??= {}, "$errors", errors)[col.name]) {
149
+ $$renderer.push("<!--[0-->");
150
+ $$renderer.push(`<p class="mt-1 text-sm text-destructive">${escape_html(store_get($$store_subs ??= {}, "$errors", errors)[col.name])}</p>`);
151
+ } else $$renderer.push("<!--[-1-->");
152
+ $$renderer.push(`<!--]--></div>`);
153
+ }
154
+ $$renderer.push(`<!--]--> <div class="flex gap-3"><button type="submit"${attr("disabled", store_get($$store_subs ??= {}, "$submitting", submitting), true)} class="rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50">${escape_html(store_get($$store_subs ??= {}, "$submitting", submitting) ? "Saving…" : "Save")}</button> <a${attr("href", `/tables/${data.table.qualifiedName}`)} class="rounded-md border border-border px-4 py-2 text-sm font-medium">Cancel</a></div></form>`);
155
+ }
156
+ do {
157
+ $$settled = true;
158
+ $$inner_renderer = $$renderer.copy();
159
+ $$render_inner($$inner_renderer);
160
+ } while (!$$settled);
161
+ $$renderer.subsume($$inner_renderer);
162
+ if ($$store_subs) unsubscribe_stores($$store_subs);
163
+ });
164
+ }
165
+
166
+ export { _page as default };
167
+ //# sourceMappingURL=_page.svelte-D_706hfC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-D_706hfC.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/new/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, c as unsubscribe_stores, i as ensure_array_like, o as store_get, r as derived, s as store_mutate } from \"../../../../../chunks/dev.js\";\nimport { l as superForm } from \"../../../../../chunks/relation-field-config.js\";\nimport { n as Relation_select_field, r as Relation_select_composite_field, t as resolveWidget } from \"../../../../../chunks/widget-registry.js\";\n//#region src/routes/tables/[table]/new/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tvar $$store_subs;\n\t\tlet { data } = $$props;\n\t\tconst relationByField = derived(() => new Map(data.relations.filter((r) => (r.fields ?? [r.field]).length === 1).map((r) => [r.field, r])));\n\t\tconst compositeLayout = derived(() => {\n\t\t\tconst hostByField = /* @__PURE__ */ new Map();\n\t\t\tconst memberFields = /* @__PURE__ */ new Set();\n\t\t\tfor (const config of data.relations) {\n\t\t\t\tconst fields = config.fields ?? [config.field];\n\t\t\t\tif (fields.length < 2) continue;\n\t\t\t\tconst grouped = new Set(fields);\n\t\t\t\tconst ordered = data.table.columns.filter((c) => grouped.has(c.name)).map((c) => c.name);\n\t\t\t\tif (ordered.length !== fields.length) continue;\n\t\t\t\thostByField.set(ordered[0], config);\n\t\t\t\tfor (const field of ordered.slice(1)) memberFields.add(field);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\thostByField,\n\t\t\t\tmemberFields\n\t\t\t};\n\t\t});\n\t\tconst { form, errors, enhance, submitting } = superForm(data.form, { dataType: \"json\" });\n\t\tconst relationForm = form;\n\t\tfunction memberColumns(config) {\n\t\t\tconst grouped = new Set(config.fields ?? [config.field]);\n\t\t\treturn data.table.columns.filter((c) => grouped.has(c.name));\n\t\t}\n\t\tfunction applyComposite(config, components) {\n\t\t\tconst keyFields = config.keyFields ?? [config.field];\n\t\t\trelationForm.update((current) => {\n\t\t\t\tconst next = { ...current };\n\t\t\t\tkeyFields.forEach((field, i) => {\n\t\t\t\t\tnext[field] = components === null ? \"\" : components[i];\n\t\t\t\t});\n\t\t\t\treturn next;\n\t\t\t});\n\t\t}\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t$$renderer.push(`<h1 class=\"mb-1 text-2xl font-semibold\">New ${escape_html(data.table.label)}</h1> <p class=\"mb-6 text-sm text-muted-foreground\">${escape_html(data.table.qualifiedName)}</p> <form method=\"POST\" class=\"space-y-4\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(data.table.columns);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet col = each_array[$$index_2];\n\t\t\t\tconst required = !col.nullable && !col.readonly && !col.isPrimaryKey;\n\t\t\t\tconst relation = relationByField().get(col.name);\n\t\t\t\tconst composite = compositeLayout().hostByField.get(col.name);\n\t\t\t\t$$renderer.push(`<div>`);\n\t\t\t\tif (compositeLayout().memberFields.has(col.name)) $$renderer.push(\"<!--[0-->\");\n\t\t\t\telse if (composite) {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\tconst members = memberColumns(composite);\n\t\t\t\t\tconst groupRequired = members.some((c) => !c.nullable && !c.readonly && !c.isPrimaryKey);\n\t\t\t\t\tconst groupReadonly = members.some((c) => c.readonly);\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t\tRelation_select_composite_field($$renderer, {\n\t\t\t\t\t\tname: composite.field,\n\t\t\t\t\t\tlabel: members.map((c) => c.label).join(\", \"),\n\t\t\t\t\t\tresource: composite.resource,\n\t\t\t\t\t\tlabelField: composite.labelField,\n\t\t\t\t\t\tsearchFields: composite.searchFields,\n\t\t\t\t\t\tinitialOptions: data.initialOptions[composite.field] ?? [],\n\t\t\t\t\t\tvalues: (composite.keyFields ?? [composite.field]).map((field) => store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[field]),\n\t\t\t\t\t\tonpick: (components) => applyComposite(composite, components),\n\t\t\t\t\t\trequired: groupRequired,\n\t\t\t\t\t\treadonly: groupReadonly\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> <!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(members);\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet member = each_array_1[$$index];\n\t\t\t\t\t\t$$renderer.push(`<input type=\"hidden\"${attr(\"name\", member.name)}${attr(\"value\", store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[member.name] === null || store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[member.name] === void 0 ? \"\" : String(store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[member.name]))}/>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(members);\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet member = each_array_2[$$index_1];\n\t\t\t\t\t\tif (store_get($$store_subs ??= {}, \"$errors\", errors)[member.name]) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-sm text-destructive\">${escape_html(member.label)}: ${escape_html(store_get($$store_subs ??= {}, \"$errors\", errors)[member.name])}</p>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t} else if (col.widget === \"relation-select\" && relation) {\n\t\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t\tRelation_select_field($$renderer, {\n\t\t\t\t\t\tname: col.name,\n\t\t\t\t\t\tlabel: col.label,\n\t\t\t\t\t\tresource: relation.resource,\n\t\t\t\t\t\tlabelField: relation.labelField,\n\t\t\t\t\t\tsearchFields: relation.searchFields,\n\t\t\t\t\t\tinitialOptions: data.initialOptions[col.name] ?? [],\n\t\t\t\t\t\trequired,\n\t\t\t\t\t\treadonly: col.readonly,\n\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\treturn store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[col.name];\n\t\t\t\t\t\t},\n\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\tstore_mutate($$store_subs ??= {}, \"$relationForm\", relationForm, store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[col.name] = $$value);\n\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\tconst Widget = resolveWidget(col.widget);\n\t\t\t\t\tif (Widget) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\tWidget($$renderer, {\n\t\t\t\t\t\t\tname: col.name,\n\t\t\t\t\t\t\tlabel: col.label,\n\t\t\t\t\t\t\toptions: col.enumValues,\n\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\treadonly: col.readonly,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn store_get($$store_subs ??= {}, \"$form\", form)[col.name];\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tstore_mutate($$store_subs ??= {}, \"$form\", form, store_get($$store_subs ??= {}, \"$form\", form)[col.name] = $$value);\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (!composite && !compositeLayout().memberFields.has(col.name) && store_get($$store_subs ??= {}, \"$errors\", errors)[col.name]) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-sm text-destructive\">${escape_html(store_get($$store_subs ??= {}, \"$errors\", errors)[col.name])}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <div class=\"flex gap-3\"><button type=\"submit\"${attr(\"disabled\", store_get($$store_subs ??= {}, \"$submitting\", submitting), true)} class=\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50\">${escape_html(store_get($$store_subs ??= {}, \"$submitting\", submitting) ? \"Saving…\" : \"Save\")}</button> <a${attr(\"href\", `/tables/${data.table.qualifiedName}`)} class=\"rounded-md border border-border px-4 py-2 text-sm font-medium\">Cancel</a></div></form>`);\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t\tif ($$store_subs) unsubscribe_stores($$store_subs);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA;AACA,SAAS,KAAK,CAAC,UAAU,EAAE,OAAO,EAAE;AACpC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,YAAY;AAClB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,OAAO;AACxB,EAAE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,MAAM,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7I,EAAE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM;AACxC,GAAG,MAAM,WAAW,mBAAmB,IAAI,GAAG,EAAE;AAChD,GAAG,MAAM,YAAY,mBAAmB,IAAI,GAAG,EAAE;AACjD,GAAG,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE;AACxC,IAAI,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClD,IAAI,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3B,IAAI,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;AACnC,IAAI,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC;AAC5F,IAAI,IAAI,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM,EAAE;AAC1C,IAAI,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC;AACvC,IAAI,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;AACjE,GAAG;AACH,GAAG,OAAO;AACV,IAAI,WAAW;AACf,IAAI;AACJ,IAAI;AACJ,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAW,UAAU,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC1F,EAAE,MAAM,YAAY,GAAG,IAAI;AAC3B,EAAE,SAAS,aAAa,CAAC,MAAM,EAAE;AACjC,GAAG,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC3D,GAAG,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/D,EAAE;AACF,EAAE,SAAS,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE;AAC9C,GAAG,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AACvD,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,KAAK;AACpC,IAAI,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE;AAC/B,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK;AACpC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,UAAU,KAAK,IAAI,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC;AAC3D,IAAI,CAAC,CAAC;AACN,IAAI,OAAO,IAAI;AACf,GAAG,CAAC,CAAC;AACL,EAAE;AACF,EAAE,IAAI,SAAS,GAAG,IAAI;AACtB,EAAE,IAAI,gBAAgB;AACtB,EAAE,SAAS,cAAc,CAAC,UAAU,EAAE;AACtC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,4CAA4C,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,oDAAoD,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,mDAAmD,CAAC,CAAC;AACjP,GAAG,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;AAC3D,GAAG,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AAC5F,IAAI,IAAI,GAAG,GAAG,UAAU,CAAC,SAAS,CAAC;AACnC,IAAI,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,QAAQ,IAAI,CAAC,GAAG,CAAC,YAAY;AACxE,IAAI,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;AACpD,IAAI,MAAM,SAAS,GAAG,eAAe,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;AACjE,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5B,IAAI,IAAI,eAAe,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAClF,SAAS,IAAI,SAAS,EAAE;AACxB,KAAK,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AACjC,KAAK,MAAM,OAAO,GAAG,aAAa,CAAC,SAAS,CAAC;AAC7C,KAAK,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC;AAC7F,KAAK,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC;AAC1D,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAC/B,KAAK,+BAA+B,CAAC,UAAU,EAAE;AACjD,MAAM,IAAI,EAAE,SAAS,CAAC,KAAK;AAC3B,MAAM,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;AACnD,MAAM,QAAQ,EAAE,SAAS,CAAC,QAAQ;AAClC,MAAM,UAAU,EAAE,SAAS,CAAC,UAAU;AACtC,MAAM,YAAY,EAAE,SAAS,CAAC,YAAY;AAC1C,MAAM,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE;AAChE,MAAM,MAAM,EAAE,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC;AAC7I,MAAM,MAAM,EAAE,CAAC,UAAU,KAAK,cAAc,CAAC,SAAS,EAAE,UAAU,CAAC;AACnE,MAAM,QAAQ,EAAE,aAAa;AAC7B,MAAM,QAAQ,EAAE;AAChB,MAAM,CAAC;AACP,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACxC,KAAK,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACpD,KAAK,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AAC1F,MAAM,IAAI,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC;AACxC,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AACnW,KAAK;AACL,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACzC,KAAK,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACpD,KAAK,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AAChG,MAAM,IAAI,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC;AAC1C,MAAM,IAAI,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAC1E,OAAO,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AACnC,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,yCAAyC,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACnL,MAAM,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAC1C,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AACjC,KAAK;AACL,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAChC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM,KAAK,iBAAiB,IAAI,QAAQ,EAAE;AAC7D,KAAK,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AACjC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAC/B,KAAK,qBAAqB,CAAC,UAAU,EAAE;AACvC,MAAM,IAAI,EAAE,GAAG,CAAC,IAAI;AACpB,MAAM,KAAK,EAAE,GAAG,CAAC,KAAK;AACtB,MAAM,QAAQ,EAAE,QAAQ,CAAC,QAAQ;AACjC,MAAM,UAAU,EAAE,QAAQ,CAAC,UAAU;AACrC,MAAM,YAAY,EAAE,QAAQ,CAAC,YAAY;AACzC,MAAM,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE;AACzD,MAAM,QAAQ;AACd,MAAM,QAAQ,EAAE,GAAG,CAAC,QAAQ;AAC5B,MAAM,IAAI,KAAK,GAAG;AAClB,OAAO,OAAO,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACrF,MAAM,CAAC;AACP,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;AACzB,OAAO,YAAY,CAAC,YAAY,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;AAC1J,OAAO,SAAS,GAAG,KAAK;AACxB,MAAM;AACN,MAAM,CAAC;AACP,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;AAC/B,IAAI,CAAC,MAAM;AACX,KAAK,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAClC,KAAK,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC;AAC7C,KAAK,IAAI,MAAM,EAAE;AACjB,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACjC,MAAM,MAAM,CAAC,UAAU,EAAE;AACzB,OAAO,IAAI,EAAE,GAAG,CAAC,IAAI;AACrB,OAAO,KAAK,EAAE,GAAG,CAAC,KAAK;AACvB,OAAO,OAAO,EAAE,GAAG,CAAC,UAAU;AAC9B,OAAO,QAAQ;AACf,OAAO,QAAQ,EAAE,GAAG,CAAC,QAAQ;AAC7B,OAAO,IAAI,KAAK,GAAG;AACnB,QAAQ,OAAO,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;AACtE,OAAO,CAAC;AACR,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;AAC1B,QAAQ,YAAY,CAAC,YAAY,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC;AAC3H,QAAQ,SAAS,GAAG,KAAK;AACzB,OAAO;AACP,OAAO,CAAC;AACR,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACjC,KAAK,CAAC,MAAM;AACZ,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAClC,MAAM,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;AACjC,KAAK;AACL,IAAI;AACJ,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAChC,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,eAAe,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACpI,KAAK,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AACjC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,yCAAyC,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAChJ,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,CAAC;AACrC,GAAG;AACH,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,sDAAsD,EAAE,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,EAAE,IAAI,CAAC,CAAC,yGAAyG,EAAE,WAAW,CAAC,SAAS,CAAC,YAAY,KAAK,EAAE,EAAE,aAAa,EAAE,UAAU,CAAC,GAAG,SAAS,GAAG,MAAM,CAAC,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,8FAA8F,CAAC,CAAC;AACvgB,EAAE;AACF,EAAE,GAAG;AACL,GAAG,SAAS,GAAG,IAAI;AACnB,GAAG,gBAAgB,GAAG,UAAU,CAAC,IAAI,EAAE;AACvC,GAAG,cAAc,CAAC,gBAAgB,CAAC;AACnC,EAAE,CAAC,QAAQ,CAAC,SAAS;AACrB,EAAE,UAAU,CAAC,OAAO,CAAC,gBAAgB,CAAC;AACtC,EAAE,IAAI,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC;AACpD,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -0,0 +1,167 @@
1
+ import { q as escape_html, o as ensure_array_like, a6 as store_get, d as attr, a7 as store_mutate, m as derived, ab as unsubscribe_stores } from './dev-yFiAtg5l.js';
2
+ import { s as superForm } from './composite-form-C6ci57iZ.js';
3
+ import { R as Relation_select_composite_field, a as Relation_select_field, r as resolveWidget } from './widget-registry-CohQ23di.js';
4
+ import 'clsx';
5
+ import './internal-Cuea68jL.js';
6
+ import 'node:module';
7
+ import './index-DBqjc0Yf.js';
8
+ import './client-_87vxA9R.js';
9
+ import './app-DST8OmzT.js';
10
+ import './index-5kYmxIr9.js';
11
+ import 'zod/v4/core';
12
+ import 'zod';
13
+ import './resource-id-PDcQeAnc.js';
14
+
15
+ //#region src/routes/tables/[table]/[id]/edit/+page.svelte
16
+ function _page($$renderer, $$props) {
17
+ $$renderer.component(($$renderer) => {
18
+ var $$store_subs;
19
+ let { data } = $$props;
20
+ const relationByField = derived(() => new Map(data.relations.filter((r) => (r.fields ?? [r.field]).length === 1).map((r) => [r.field, r])));
21
+ const compositeLayout = derived(() => {
22
+ const hostByField = /* @__PURE__ */ new Map();
23
+ const memberFields = /* @__PURE__ */ new Set();
24
+ for (const config of data.relations) {
25
+ const fields = config.fields ?? [config.field];
26
+ if (fields.length < 2) continue;
27
+ const grouped = new Set(fields);
28
+ const ordered = data.table.columns.filter((c) => grouped.has(c.name)).map((c) => c.name);
29
+ if (ordered.length !== fields.length) continue;
30
+ hostByField.set(ordered[0], config);
31
+ for (const field of ordered.slice(1)) memberFields.add(field);
32
+ }
33
+ return {
34
+ hostByField,
35
+ memberFields
36
+ };
37
+ });
38
+ const { form, errors, submitting } = superForm(data.form, { dataType: "json" });
39
+ const relationForm = form;
40
+ function memberColumns(config) {
41
+ const grouped = new Set(config.fields ?? [config.field]);
42
+ return data.table.columns.filter((c) => grouped.has(c.name));
43
+ }
44
+ function applyComposite(config, components) {
45
+ const keyFields = config.keyFields ?? [config.field];
46
+ relationForm.update((current) => {
47
+ const next = { ...current };
48
+ keyFields.forEach((field, i) => {
49
+ next[field] = components === null ? "" : components[i];
50
+ });
51
+ return next;
52
+ });
53
+ }
54
+ let $$settled = true;
55
+ let $$inner_renderer;
56
+ function $$render_inner($$renderer) {
57
+ $$renderer.push(`<h1 class="mb-1 text-2xl font-semibold">Edit ${escape_html(data.table.label)}</h1> <p class="mb-6 text-sm text-muted-foreground">${escape_html(data.table.qualifiedName)} / ${escape_html(data.id)}</p> <form method="POST" class="space-y-4"><!--[-->`);
58
+ const each_array = ensure_array_like(data.table.columns);
59
+ for (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {
60
+ let col = each_array[$$index_2];
61
+ const required = !col.nullable && !col.readonly && !col.isPrimaryKey;
62
+ const relation = relationByField().get(col.name);
63
+ const composite = compositeLayout().hostByField.get(col.name);
64
+ $$renderer.push(`<div>`);
65
+ if (compositeLayout().memberFields.has(col.name)) $$renderer.push("<!--[0-->");
66
+ else if (composite) {
67
+ $$renderer.push("<!--[1-->");
68
+ const members = memberColumns(composite);
69
+ const groupRequired = members.some((c) => !c.nullable && !c.readonly && !c.isPrimaryKey);
70
+ const groupReadonly = members.some((c) => c.readonly);
71
+ $$renderer.push(`<!---->`);
72
+ Relation_select_composite_field($$renderer, {
73
+ name: composite.field,
74
+ label: members.map((c) => c.label).join(", "),
75
+ resource: composite.resource,
76
+ labelField: composite.labelField,
77
+ searchFields: composite.searchFields,
78
+ initialOptions: data.initialOptions[composite.field] ?? [],
79
+ values: (composite.keyFields ?? [composite.field]).map((field) => store_get($$store_subs ??= {}, "$relationForm", relationForm)[field]),
80
+ onpick: (components) => applyComposite(composite, components),
81
+ required: groupRequired,
82
+ readonly: groupReadonly
83
+ });
84
+ $$renderer.push(`<!----> <!--[-->`);
85
+ const each_array_1 = ensure_array_like(members);
86
+ for (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {
87
+ let member = each_array_1[$$index];
88
+ $$renderer.push(`<input type="hidden"${attr("name", member.name)}${attr("value", store_get($$store_subs ??= {}, "$relationForm", relationForm)[member.name] === null || store_get($$store_subs ??= {}, "$relationForm", relationForm)[member.name] === void 0 ? "" : String(store_get($$store_subs ??= {}, "$relationForm", relationForm)[member.name]))}/>`);
89
+ }
90
+ $$renderer.push(`<!--]--> <!--[-->`);
91
+ const each_array_2 = ensure_array_like(members);
92
+ for (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {
93
+ let member = each_array_2[$$index_1];
94
+ if (store_get($$store_subs ??= {}, "$errors", errors)[member.name]) {
95
+ $$renderer.push("<!--[0-->");
96
+ $$renderer.push(`<p class="mt-1 text-sm text-destructive">${escape_html(member.label)}: ${escape_html(store_get($$store_subs ??= {}, "$errors", errors)[member.name])}</p>`);
97
+ } else $$renderer.push("<!--[-1-->");
98
+ $$renderer.push(`<!--]-->`);
99
+ }
100
+ $$renderer.push(`<!--]-->`);
101
+ } else if (col.widget === "relation-select" && relation) {
102
+ $$renderer.push("<!--[2-->");
103
+ $$renderer.push(`<!---->`);
104
+ Relation_select_field($$renderer, {
105
+ name: col.name,
106
+ label: col.label,
107
+ resource: relation.resource,
108
+ labelField: relation.labelField,
109
+ searchFields: relation.searchFields,
110
+ initialOptions: data.initialOptions[col.name] ?? [],
111
+ required,
112
+ readonly: col.readonly,
113
+ get value() {
114
+ return store_get($$store_subs ??= {}, "$relationForm", relationForm)[col.name];
115
+ },
116
+ set value($$value) {
117
+ store_mutate($$store_subs ??= {}, "$relationForm", relationForm, store_get($$store_subs ??= {}, "$relationForm", relationForm)[col.name] = $$value);
118
+ $$settled = false;
119
+ }
120
+ });
121
+ $$renderer.push(`<!---->`);
122
+ } else {
123
+ $$renderer.push("<!--[-1-->");
124
+ const Widget = resolveWidget(col.widget);
125
+ if (Widget) {
126
+ $$renderer.push("<!--[-->");
127
+ Widget($$renderer, {
128
+ name: col.name,
129
+ label: col.label,
130
+ options: col.enumValues,
131
+ required,
132
+ readonly: col.readonly,
133
+ get value() {
134
+ return store_get($$store_subs ??= {}, "$form", form)[col.name];
135
+ },
136
+ set value($$value) {
137
+ store_mutate($$store_subs ??= {}, "$form", form, store_get($$store_subs ??= {}, "$form", form)[col.name] = $$value);
138
+ $$settled = false;
139
+ }
140
+ });
141
+ $$renderer.push("<!--]-->");
142
+ } else {
143
+ $$renderer.push("<!--[!-->");
144
+ $$renderer.push("<!--]-->");
145
+ }
146
+ }
147
+ $$renderer.push(`<!--]--> `);
148
+ if (!composite && !compositeLayout().memberFields.has(col.name) && store_get($$store_subs ??= {}, "$errors", errors)[col.name]) {
149
+ $$renderer.push("<!--[0-->");
150
+ $$renderer.push(`<p class="mt-1 text-sm text-destructive">${escape_html(store_get($$store_subs ??= {}, "$errors", errors)[col.name])}</p>`);
151
+ } else $$renderer.push("<!--[-1-->");
152
+ $$renderer.push(`<!--]--></div>`);
153
+ }
154
+ $$renderer.push(`<!--]--> <div class="flex gap-3"><button type="submit"${attr("disabled", store_get($$store_subs ??= {}, "$submitting", submitting), true)} class="rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50">${escape_html(store_get($$store_subs ??= {}, "$submitting", submitting) ? "Saving…" : "Save")}</button> <a${attr("href", `/tables/${data.table.qualifiedName}/${data.id}`)} class="rounded-md border border-border px-4 py-2 text-sm font-medium">Cancel</a></div></form>`);
155
+ }
156
+ do {
157
+ $$settled = true;
158
+ $$inner_renderer = $$renderer.copy();
159
+ $$render_inner($$inner_renderer);
160
+ } while (!$$settled);
161
+ $$renderer.subsume($$inner_renderer);
162
+ if ($$store_subs) unsubscribe_stores($$store_subs);
163
+ });
164
+ }
165
+
166
+ export { _page as default };
167
+ //# sourceMappingURL=_page.svelte-DpoimUgp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-DpoimUgp.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_id_/edit/_page.svelte.js"],"sourcesContent":["import { H as escape_html, V as attr, c as unsubscribe_stores, i as ensure_array_like, o as store_get, r as derived, s as store_mutate } from \"../../../../../../chunks/dev.js\";\nimport { l as superForm } from \"../../../../../../chunks/relation-field-config.js\";\nimport { n as Relation_select_field, r as Relation_select_composite_field, t as resolveWidget } from \"../../../../../../chunks/widget-registry.js\";\n//#region src/routes/tables/[table]/[id]/edit/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tvar $$store_subs;\n\t\tlet { data } = $$props;\n\t\tconst relationByField = derived(() => new Map(data.relations.filter((r) => (r.fields ?? [r.field]).length === 1).map((r) => [r.field, r])));\n\t\tconst compositeLayout = derived(() => {\n\t\t\tconst hostByField = /* @__PURE__ */ new Map();\n\t\t\tconst memberFields = /* @__PURE__ */ new Set();\n\t\t\tfor (const config of data.relations) {\n\t\t\t\tconst fields = config.fields ?? [config.field];\n\t\t\t\tif (fields.length < 2) continue;\n\t\t\t\tconst grouped = new Set(fields);\n\t\t\t\tconst ordered = data.table.columns.filter((c) => grouped.has(c.name)).map((c) => c.name);\n\t\t\t\tif (ordered.length !== fields.length) continue;\n\t\t\t\thostByField.set(ordered[0], config);\n\t\t\t\tfor (const field of ordered.slice(1)) memberFields.add(field);\n\t\t\t}\n\t\t\treturn {\n\t\t\t\thostByField,\n\t\t\t\tmemberFields\n\t\t\t};\n\t\t});\n\t\tconst { form, errors, enhance, submitting } = superForm(data.form, { dataType: \"json\" });\n\t\tconst relationForm = form;\n\t\tfunction memberColumns(config) {\n\t\t\tconst grouped = new Set(config.fields ?? [config.field]);\n\t\t\treturn data.table.columns.filter((c) => grouped.has(c.name));\n\t\t}\n\t\tfunction applyComposite(config, components) {\n\t\t\tconst keyFields = config.keyFields ?? [config.field];\n\t\t\trelationForm.update((current) => {\n\t\t\t\tconst next = { ...current };\n\t\t\t\tkeyFields.forEach((field, i) => {\n\t\t\t\t\tnext[field] = components === null ? \"\" : components[i];\n\t\t\t\t});\n\t\t\t\treturn next;\n\t\t\t});\n\t\t}\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\t$$renderer.push(`<h1 class=\"mb-1 text-2xl font-semibold\">Edit ${escape_html(data.table.label)}</h1> <p class=\"mb-6 text-sm text-muted-foreground\">${escape_html(data.table.qualifiedName)} / ${escape_html(data.id)}</p> <form method=\"POST\" class=\"space-y-4\"><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(data.table.columns);\n\t\t\tfor (let $$index_2 = 0, $$length = each_array.length; $$index_2 < $$length; $$index_2++) {\n\t\t\t\tlet col = each_array[$$index_2];\n\t\t\t\tconst required = !col.nullable && !col.readonly && !col.isPrimaryKey;\n\t\t\t\tconst relation = relationByField().get(col.name);\n\t\t\t\tconst composite = compositeLayout().hostByField.get(col.name);\n\t\t\t\t$$renderer.push(`<div>`);\n\t\t\t\tif (compositeLayout().memberFields.has(col.name)) $$renderer.push(\"<!--[0-->\");\n\t\t\t\telse if (composite) {\n\t\t\t\t\t$$renderer.push(\"<!--[1-->\");\n\t\t\t\t\tconst members = memberColumns(composite);\n\t\t\t\t\tconst groupRequired = members.some((c) => !c.nullable && !c.readonly && !c.isPrimaryKey);\n\t\t\t\t\tconst groupReadonly = members.some((c) => c.readonly);\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t\tRelation_select_composite_field($$renderer, {\n\t\t\t\t\t\tname: composite.field,\n\t\t\t\t\t\tlabel: members.map((c) => c.label).join(\", \"),\n\t\t\t\t\t\tresource: composite.resource,\n\t\t\t\t\t\tlabelField: composite.labelField,\n\t\t\t\t\t\tsearchFields: composite.searchFields,\n\t\t\t\t\t\tinitialOptions: data.initialOptions[composite.field] ?? [],\n\t\t\t\t\t\tvalues: (composite.keyFields ?? [composite.field]).map((field) => store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[field]),\n\t\t\t\t\t\tonpick: (components) => applyComposite(composite, components),\n\t\t\t\t\t\trequired: groupRequired,\n\t\t\t\t\t\treadonly: groupReadonly\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!----> <!--[-->`);\n\t\t\t\t\tconst each_array_1 = ensure_array_like(members);\n\t\t\t\t\tfor (let $$index = 0, $$length = each_array_1.length; $$index < $$length; $$index++) {\n\t\t\t\t\t\tlet member = each_array_1[$$index];\n\t\t\t\t\t\t$$renderer.push(`<input type=\"hidden\"${attr(\"name\", member.name)}${attr(\"value\", store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[member.name] === null || store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[member.name] === void 0 ? \"\" : String(store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[member.name]))}/>`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]--> <!--[-->`);\n\t\t\t\t\tconst each_array_2 = ensure_array_like(members);\n\t\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\t\tlet member = each_array_2[$$index_1];\n\t\t\t\t\t\tif (store_get($$store_subs ??= {}, \"$errors\", errors)[member.name]) {\n\t\t\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-sm text-destructive\">${escape_html(member.label)}: ${escape_html(store_get($$store_subs ??= {}, \"$errors\", errors)[member.name])}</p>`);\n\t\t\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t\t}\n\t\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\t} else if (col.widget === \"relation-select\" && relation) {\n\t\t\t\t\t$$renderer.push(\"<!--[2-->\");\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t\tRelation_select_field($$renderer, {\n\t\t\t\t\t\tname: col.name,\n\t\t\t\t\t\tlabel: col.label,\n\t\t\t\t\t\tresource: relation.resource,\n\t\t\t\t\t\tlabelField: relation.labelField,\n\t\t\t\t\t\tsearchFields: relation.searchFields,\n\t\t\t\t\t\tinitialOptions: data.initialOptions[col.name] ?? [],\n\t\t\t\t\t\trequired,\n\t\t\t\t\t\treadonly: col.readonly,\n\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\treturn store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[col.name];\n\t\t\t\t\t\t},\n\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\tstore_mutate($$store_subs ??= {}, \"$relationForm\", relationForm, store_get($$store_subs ??= {}, \"$relationForm\", relationForm)[col.name] = $$value);\n\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\t$$renderer.push(`<!---->`);\n\t\t\t\t} else {\n\t\t\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t\t\tconst Widget = resolveWidget(col.widget);\n\t\t\t\t\tif (Widget) {\n\t\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\t\tWidget($$renderer, {\n\t\t\t\t\t\t\tname: col.name,\n\t\t\t\t\t\t\tlabel: col.label,\n\t\t\t\t\t\t\toptions: col.enumValues,\n\t\t\t\t\t\t\trequired,\n\t\t\t\t\t\t\treadonly: col.readonly,\n\t\t\t\t\t\t\tget value() {\n\t\t\t\t\t\t\t\treturn store_get($$store_subs ??= {}, \"$form\", form)[col.name];\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tset value($$value) {\n\t\t\t\t\t\t\t\tstore_mutate($$store_subs ??= {}, \"$form\", form, store_get($$store_subs ??= {}, \"$form\", form)[col.name] = $$value);\n\t\t\t\t\t\t\t\t$$settled = false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t} else {\n\t\t\t\t\t\t$$renderer.push(\"<!--[!-->\");\n\t\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]--> `);\n\t\t\t\tif (!composite && !compositeLayout().memberFields.has(col.name) && store_get($$store_subs ??= {}, \"$errors\", errors)[col.name]) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<p class=\"mt-1 text-sm text-destructive\">${escape_html(store_get($$store_subs ??= {}, \"$errors\", errors)[col.name])}</p>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></div>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]--> <div class=\"flex gap-3\"><button type=\"submit\"${attr(\"disabled\", store_get($$store_subs ??= {}, \"$submitting\", submitting), true)} class=\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground disabled:opacity-50\">${escape_html(store_get($$store_subs ??= {}, \"$submitting\", submitting) ? \"Saving…\" : \"Save\")}</button> <a${attr(\"href\", `/tables/${data.table.qualifiedName}/${data.id}`)} class=\"rounded-md border border-border px-4 py-2 text-sm font-medium\">Cancel</a></div></form>`);\n\t\t}\n\t\tdo {\n\t\t\t$$settled = true;\n\t\t\t$$inner_renderer = $$renderer.copy();\n\t\t\t$$render_inner($$inner_renderer);\n\t\t} while (!$$settled);\n\t\t$$renderer.subsume($$inner_renderer);\n\t\tif ($$store_subs) unsubscribe_stores($$store_subs);\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":"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"}