@kozou/svelte-ui 0.1.1 → 0.2.1

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 (148) hide show
  1. package/build/client/_app/immutable/assets/0.B45CfnXC.css +2 -0
  2. package/build/client/_app/immutable/assets/0.B45CfnXC.css.br +0 -0
  3. package/build/client/_app/immutable/assets/0.B45CfnXC.css.gz +0 -0
  4. package/build/client/_app/immutable/chunks/{BpIM_fT8.js → 1PNfJiP5.js} +1 -1
  5. package/build/client/_app/immutable/chunks/1PNfJiP5.js.br +0 -0
  6. package/build/client/_app/immutable/chunks/1PNfJiP5.js.gz +0 -0
  7. package/build/client/_app/immutable/chunks/{Cu9GwMht.js → CLOztVuN.js} +3 -3
  8. package/build/client/_app/immutable/chunks/CLOztVuN.js.br +0 -0
  9. package/build/client/_app/immutable/chunks/CLOztVuN.js.gz +0 -0
  10. package/build/client/_app/immutable/chunks/{DQLVkJ9E.js → CNJ9qNKc.js} +1 -1
  11. package/build/client/_app/immutable/chunks/CNJ9qNKc.js.br +0 -0
  12. package/build/client/_app/immutable/chunks/CNJ9qNKc.js.gz +0 -0
  13. package/build/client/_app/immutable/chunks/Cj8LiudX.js +1 -0
  14. package/build/client/_app/immutable/chunks/Cj8LiudX.js.br +0 -0
  15. package/build/client/_app/immutable/chunks/Cj8LiudX.js.gz +0 -0
  16. package/build/client/_app/immutable/chunks/nlrTAAdT.js +4 -0
  17. package/build/client/_app/immutable/chunks/nlrTAAdT.js.br +0 -0
  18. package/build/client/_app/immutable/chunks/nlrTAAdT.js.gz +0 -0
  19. package/build/client/_app/immutable/entry/app.Bv8sjgxu.js +2 -0
  20. package/build/client/_app/immutable/entry/app.Bv8sjgxu.js.br +0 -0
  21. package/build/client/_app/immutable/entry/app.Bv8sjgxu.js.gz +0 -0
  22. package/build/client/_app/immutable/entry/start.mcTncYkV.js +1 -0
  23. package/build/client/_app/immutable/entry/start.mcTncYkV.js.br +0 -0
  24. package/build/client/_app/immutable/entry/start.mcTncYkV.js.gz +0 -0
  25. package/build/client/_app/immutable/nodes/0.DAriStmJ.js +1 -0
  26. package/build/client/_app/immutable/nodes/0.DAriStmJ.js.br +0 -0
  27. package/build/client/_app/immutable/nodes/0.DAriStmJ.js.gz +0 -0
  28. package/build/client/_app/immutable/nodes/1.B_iETXYV.js +1 -0
  29. package/build/client/_app/immutable/nodes/1.B_iETXYV.js.br +2 -0
  30. package/build/client/_app/immutable/nodes/1.B_iETXYV.js.gz +0 -0
  31. package/build/client/_app/immutable/nodes/2.C3ChRVrO.js +1 -0
  32. package/build/client/_app/immutable/nodes/2.C3ChRVrO.js.br +0 -0
  33. package/build/client/_app/immutable/nodes/2.C3ChRVrO.js.gz +0 -0
  34. package/build/client/_app/immutable/nodes/3.CL9ksnmY.js +1 -0
  35. package/build/client/_app/immutable/nodes/3.CL9ksnmY.js.br +0 -0
  36. package/build/client/_app/immutable/nodes/3.CL9ksnmY.js.gz +0 -0
  37. package/build/client/_app/immutable/nodes/4.wRTS68Ip.js +1 -0
  38. package/build/client/_app/immutable/nodes/4.wRTS68Ip.js.br +0 -0
  39. package/build/client/_app/immutable/nodes/4.wRTS68Ip.js.gz +0 -0
  40. package/build/client/_app/immutable/nodes/5.sOvoAy14.js +1 -0
  41. package/build/client/_app/immutable/nodes/5.sOvoAy14.js.br +0 -0
  42. package/build/client/_app/immutable/nodes/5.sOvoAy14.js.gz +0 -0
  43. package/build/client/_app/immutable/nodes/6.QhxyVDh4.js +1 -0
  44. package/build/client/_app/immutable/nodes/6.QhxyVDh4.js.br +0 -0
  45. package/build/client/_app/immutable/nodes/6.QhxyVDh4.js.gz +0 -0
  46. package/build/client/_app/immutable/nodes/7.zir-jrfl.js +1 -0
  47. package/build/client/_app/immutable/nodes/7.zir-jrfl.js.br +4 -0
  48. package/build/client/_app/immutable/nodes/7.zir-jrfl.js.gz +0 -0
  49. package/build/client/_app/version.json +1 -1
  50. package/build/client/_app/version.json.br +0 -0
  51. package/build/client/_app/version.json.gz +0 -0
  52. package/build/server/chunks/{0-BFDPzvW-.js → 0-D3i8OEah.js} +3 -3
  53. package/build/server/chunks/{0-BFDPzvW-.js.map → 0-D3i8OEah.js.map} +1 -1
  54. package/build/server/chunks/{1-Dmzzx_Xf.js → 1-BYbo_Ryk.js} +3 -3
  55. package/build/server/chunks/{1-Dmzzx_Xf.js.map → 1-BYbo_Ryk.js.map} +1 -1
  56. package/build/server/chunks/{2-B1IcZygX.js → 2-CE6m9qid.js} +2 -2
  57. package/build/server/chunks/{2-B1IcZygX.js.map → 2-CE6m9qid.js.map} +1 -1
  58. package/build/server/chunks/{3-BVIqnkRy.js → 3-C50aWcyD.js} +5 -5
  59. package/build/server/chunks/3-C50aWcyD.js.map +1 -0
  60. package/build/server/chunks/{4-BeHrsGek.js → 4-C8kXW-9J.js} +4 -4
  61. package/build/server/chunks/{4-BeHrsGek.js.map → 4-C8kXW-9J.js.map} +1 -1
  62. package/build/server/chunks/{5-Cw01QEjm.js → 5-D-0L-X8y.js} +7 -7
  63. package/build/server/chunks/{5-Cw01QEjm.js.map → 5-D-0L-X8y.js.map} +1 -1
  64. package/build/server/chunks/{6-DdCU04G4.js → 6-D-SbXeTH.js} +7 -7
  65. package/build/server/chunks/{6-DdCU04G4.js.map → 6-D-SbXeTH.js.map} +1 -1
  66. package/build/server/chunks/{7-BJeosbkA.js → 7-BAhFrC8Z.js} +5 -5
  67. package/build/server/chunks/7-BAhFrC8Z.js.map +1 -0
  68. package/build/server/chunks/ListTable-BxIw_RVF.js +117 -0
  69. package/build/server/chunks/ListTable-BxIw_RVF.js.map +1 -0
  70. package/build/server/chunks/{_page.svelte-DHhstcmi.js → _page.svelte-6neDahmr.js} +4 -4
  71. package/build/server/chunks/{_page.svelte-DHhstcmi.js.map → _page.svelte-6neDahmr.js.map} +1 -1
  72. package/build/server/chunks/_page.svelte-CRH5Ib1y.js +23 -0
  73. package/build/server/chunks/_page.svelte-CRH5Ib1y.js.map +1 -0
  74. package/build/server/chunks/_page.svelte-CUhqt56V.js +22 -0
  75. package/build/server/chunks/_page.svelte-CUhqt56V.js.map +1 -0
  76. package/build/server/chunks/{_page.svelte-DKhYDtNl.js → _page.svelte-hNlfE_-R.js} +3 -3
  77. package/build/server/chunks/{_page.svelte-DKhYDtNl.js.map → _page.svelte-hNlfE_-R.js.map} +1 -1
  78. package/build/server/chunks/{_page.svelte-DYlwwhHn.js → _page.svelte-rW7yzEet.js} +4 -4
  79. package/build/server/chunks/{_page.svelte-DYlwwhHn.js.map → _page.svelte-rW7yzEet.js.map} +1 -1
  80. package/build/server/chunks/{adapter-DSZ-_PM_.js → adapter-BGid8Q1v.js} +202 -26
  81. package/build/server/chunks/adapter-BGid8Q1v.js.map +1 -0
  82. package/build/server/chunks/{client-Bcpj9QFB.js → client-PK7K0DFj.js} +2 -2
  83. package/build/server/chunks/{client-Bcpj9QFB.js.map → client-PK7K0DFj.js.map} +1 -1
  84. package/build/server/chunks/{error.svelte-1lnafu4q.js → error.svelte-CKswtdNj.js} +3 -3
  85. package/build/server/chunks/{error.svelte-1lnafu4q.js.map → error.svelte-CKswtdNj.js.map} +1 -1
  86. package/build/server/chunks/{hooks.server-BBW_dqIs.js → hooks.server-_7e7MfY9.js} +33 -10
  87. package/build/server/chunks/hooks.server-_7e7MfY9.js.map +1 -0
  88. package/build/server/chunks/{internal-BrzrGF6g.js → internal-BERZdLJL.js} +3 -3
  89. package/build/server/chunks/{internal-BrzrGF6g.js.map → internal-BERZdLJL.js.map} +1 -1
  90. package/build/server/chunks/{list-params-DjWk7B1o.js → list-params-Cw6PMHbk.js} +2 -3
  91. package/build/server/chunks/list-params-Cw6PMHbk.js.map +1 -0
  92. package/build/server/chunks/{zod-from-table-Cqu9YCfY.js → zod-from-table-CCy3rZQi.js} +3 -3
  93. package/build/server/chunks/{zod-from-table-Cqu9YCfY.js.map → zod-from-table-CCy3rZQi.js.map} +1 -1
  94. package/build/server/index.js +1 -1
  95. package/build/server/manifest.js +9 -9
  96. package/build/server/manifest.js.map +1 -1
  97. package/package.json +7 -5
  98. package/build/client/_app/immutable/assets/0.CZsFVllx.css +0 -2
  99. package/build/client/_app/immutable/assets/0.CZsFVllx.css.br +0 -0
  100. package/build/client/_app/immutable/assets/0.CZsFVllx.css.gz +0 -0
  101. package/build/client/_app/immutable/chunks/BpIM_fT8.js.br +0 -0
  102. package/build/client/_app/immutable/chunks/BpIM_fT8.js.gz +0 -0
  103. package/build/client/_app/immutable/chunks/C4vVozd5.js +0 -4
  104. package/build/client/_app/immutable/chunks/C4vVozd5.js.br +0 -0
  105. package/build/client/_app/immutable/chunks/C4vVozd5.js.gz +0 -0
  106. package/build/client/_app/immutable/chunks/Cu9GwMht.js.br +0 -0
  107. package/build/client/_app/immutable/chunks/Cu9GwMht.js.gz +0 -0
  108. package/build/client/_app/immutable/chunks/DQLVkJ9E.js.br +0 -0
  109. package/build/client/_app/immutable/chunks/DQLVkJ9E.js.gz +0 -0
  110. package/build/client/_app/immutable/entry/app.D4C-SzYE.js +0 -2
  111. package/build/client/_app/immutable/entry/app.D4C-SzYE.js.br +0 -0
  112. package/build/client/_app/immutable/entry/app.D4C-SzYE.js.gz +0 -0
  113. package/build/client/_app/immutable/entry/start.BgPykZWX.js +0 -1
  114. package/build/client/_app/immutable/entry/start.BgPykZWX.js.br +0 -0
  115. package/build/client/_app/immutable/entry/start.BgPykZWX.js.gz +0 -0
  116. package/build/client/_app/immutable/nodes/0.Ct90k1ZK.js +0 -1
  117. package/build/client/_app/immutable/nodes/0.Ct90k1ZK.js.br +0 -0
  118. package/build/client/_app/immutable/nodes/0.Ct90k1ZK.js.gz +0 -0
  119. package/build/client/_app/immutable/nodes/1.ByzpIkVa.js +0 -1
  120. package/build/client/_app/immutable/nodes/1.ByzpIkVa.js.br +0 -0
  121. package/build/client/_app/immutable/nodes/1.ByzpIkVa.js.gz +0 -0
  122. package/build/client/_app/immutable/nodes/2.DKSRkbg2.js +0 -1
  123. package/build/client/_app/immutable/nodes/2.DKSRkbg2.js.br +0 -0
  124. package/build/client/_app/immutable/nodes/2.DKSRkbg2.js.gz +0 -0
  125. package/build/client/_app/immutable/nodes/3.BRseKH3J.js +0 -1
  126. package/build/client/_app/immutable/nodes/3.BRseKH3J.js.br +0 -0
  127. package/build/client/_app/immutable/nodes/3.BRseKH3J.js.gz +0 -0
  128. package/build/client/_app/immutable/nodes/4.hHssvcSO.js +0 -1
  129. package/build/client/_app/immutable/nodes/4.hHssvcSO.js.br +0 -0
  130. package/build/client/_app/immutable/nodes/4.hHssvcSO.js.gz +0 -0
  131. package/build/client/_app/immutable/nodes/5.CfrPDIy5.js +0 -1
  132. package/build/client/_app/immutable/nodes/5.CfrPDIy5.js.br +0 -0
  133. package/build/client/_app/immutable/nodes/5.CfrPDIy5.js.gz +0 -0
  134. package/build/client/_app/immutable/nodes/6.nxvsG8yx.js +0 -1
  135. package/build/client/_app/immutable/nodes/6.nxvsG8yx.js.br +0 -3
  136. package/build/client/_app/immutable/nodes/6.nxvsG8yx.js.gz +0 -0
  137. package/build/client/_app/immutable/nodes/7.Bfhyc_gZ.js +0 -1
  138. package/build/client/_app/immutable/nodes/7.Bfhyc_gZ.js.br +0 -0
  139. package/build/client/_app/immutable/nodes/7.Bfhyc_gZ.js.gz +0 -0
  140. package/build/server/chunks/3-BVIqnkRy.js.map +0 -1
  141. package/build/server/chunks/7-BJeosbkA.js.map +0 -1
  142. package/build/server/chunks/_page.svelte-B8Bnkzob.js +0 -78
  143. package/build/server/chunks/_page.svelte-B8Bnkzob.js.map +0 -1
  144. package/build/server/chunks/_page.svelte-Bu4SlGir.js +0 -86
  145. package/build/server/chunks/_page.svelte-Bu4SlGir.js.map +0 -1
  146. package/build/server/chunks/adapter-DSZ-_PM_.js.map +0 -1
  147. package/build/server/chunks/hooks.server-BBW_dqIs.js.map +0 -1
  148. package/build/server/chunks/list-params-DjWk7B1o.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ListTable-BxIw_RVF.js","sources":["../../../.svelte-kit/adapter-node/chunks/ListTable.js"],"sourcesContent":["import { H as escape_html, V as attr, i as ensure_array_like, r as derived } from \"./dev.js\";\n//#region src/lib/list/list-href.ts\n/** Rebuild the current list URL with `overrides` applied (a `null`\n* override deletes that key). Mirrors the wire format parsed by\n* `parseListParamsFromUrl`; returns `.` when no params remain so the\n* link points at the bare route. */\nfunction buildHref(params, overrides = {}) {\n\tconst sp = new URLSearchParams();\n\tif (params.search.length > 0) sp.set(\"q\", params.search);\n\tif (params.sort.length > 0) sp.set(\"sort\", params.sort.map((s) => `${s.field}:${s.order}`).join(\",\"));\n\tif (params.page > 1) sp.set(\"page\", String(params.page));\n\tif (params.pageSize !== 50) sp.set(\"pageSize\", String(params.pageSize));\n\tfor (const [key, value] of Object.entries(overrides)) if (value === null) sp.delete(key);\n\telse sp.set(key, value);\n\tconst query = sp.toString();\n\treturn query.length > 0 ? `?${query}` : \".\";\n}\n/** Header link target that toggles the sort order for `field` (asc <->\n* desc, defaulting to asc) and resets back to page 1. */\nfunction buildSortHref(params, field) {\n\treturn buildHref(params, {\n\t\tsort: `${field}:${params.sort.find((s) => s.field === field)?.order === \"asc\" ? \"desc\" : \"asc\"}`,\n\t\tpage: null\n\t});\n}\n/** Stringify a cell value for the list table: objects render as JSON,\n* `null` / `undefined` render as the empty string. */\nfunction formatCell(value) {\n\tif (value === null || value === void 0) return \"\";\n\tif (typeof value === \"object\") return JSON.stringify(value);\n\treturn String(value);\n}\n//#endregion\n//#region src/lib/list/ListTable.svelte\nfunction ListTable($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Heading text (table / view label). */\n\t\t/** `schema.name`, shown under the heading. */\n\t\t/** Views render read-only: no \"+ New\", per-row links, or Actions\n\t\t* column. */\n\t\t/** Route base for the \"+ New\" and per-row links (e.g. `/tables/<qn>`);\n\t\t* used only when `readonly` is false. */\n\t\t/** Primary-key column names used to build the per-row link target. */\n\t\tlet { title, qualifiedName, columns, rows, total, listParams, readonly = false, basePath, primaryKey = [] } = $$props;\n\t\tconst sortLookup = derived(() => new Map(listParams.sort.map((s) => [s.field, s.order])));\n\t\tconst totalPages = derived(() => Math.max(1, Math.ceil(total / listParams.pageSize)));\n\t\tfunction rowKey(row, idx) {\n\t\t\tconst pkField = primaryKey[0];\n\t\t\tif (pkField !== void 0) {\n\t\t\t\tconst pkValue = row[pkField];\n\t\t\t\tif (pkValue !== void 0 && pkValue !== null) return String(pkValue);\n\t\t\t}\n\t\t\treturn String(idx);\n\t\t}\n\t\t$$renderer.push(`<h1 class=\"mb-1 text-2xl font-semibold\">${escape_html(title)}</h1> <p class=\"mb-6 text-sm text-muted-foreground\">${escape_html(qualifiedName)}</p> <form method=\"GET\" class=\"mb-4 flex flex-wrap items-center gap-2\"><input type=\"text\" name=\"q\"${attr(\"value\", listParams.search)} placeholder=\"Search…\" class=\"min-w-0 flex-1 rounded-md border border-input bg-background px-3 py-2 text-sm\"/> <button type=\"submit\" class=\"rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground\">Search</button> `);\n\t\tif (!readonly && basePath) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<a${attr(\"href\", `${basePath}/new`)} class=\"rounded-md border border-border px-4 py-2 text-sm font-medium\">+ New</a>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></form> <div class=\"overflow-x-auto rounded-md border border-border\"><table class=\"min-w-full text-sm\"><thead class=\"bg-muted\"><tr><!--[-->`);\n\t\tconst each_array = ensure_array_like(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\t$$renderer.push(`<th class=\"px-3 py-2 text-left font-medium\"><a${attr(\"href\", buildSortHref(listParams, col.name))} class=\"hover:underline\">${escape_html(col.label)} `);\n\t\t\tif (sortLookup().has(col.name)) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.push(`<span aria-hidden=\"true\">${escape_html(sortLookup().get(col.name) === \"asc\" ? \"↑\" : \"↓\")}</span>`);\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--></a></th>`);\n\t\t}\n\t\t$$renderer.push(`<!--]-->`);\n\t\tif (!readonly) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<th class=\"px-3 py-2 text-left font-medium\">Actions</th>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></tr></thead><tbody>`);\n\t\tif (rows.length === 0) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<tr><td${attr(\"colspan\", columns.length + (readonly ? 0 : 1))} class=\"px-3 py-6 text-center text-muted-foreground\">No rows.</td></tr>`);\n\t\t} else {\n\t\t\t$$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--[-->`);\n\t\t\tconst each_array_1 = ensure_array_like(rows);\n\t\t\tfor (let idx = 0, $$length = each_array_1.length; idx < $$length; idx++) {\n\t\t\t\tlet row = each_array_1[idx];\n\t\t\t\t$$renderer.push(`<tr class=\"border-t border-border\"><!--[-->`);\n\t\t\t\tconst each_array_2 = ensure_array_like(columns);\n\t\t\t\tfor (let $$index_1 = 0, $$length = each_array_2.length; $$index_1 < $$length; $$index_1++) {\n\t\t\t\t\tlet col = each_array_2[$$index_1];\n\t\t\t\t\t$$renderer.push(`<td class=\"px-3 py-2\">${escape_html(formatCell(row[col.name]))}</td>`);\n\t\t\t\t}\n\t\t\t\t$$renderer.push(`<!--]-->`);\n\t\t\t\tif (!readonly && basePath) {\n\t\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t\t$$renderer.push(`<td class=\"px-3 py-2\"><a${attr(\"href\", `${basePath}/${rowKey(row, idx)}`)} class=\"text-primary underline\">View</a></td>`);\n\t\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t\t$$renderer.push(`<!--]--></tr>`);\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t}\n\t\t$$renderer.push(`<!--]--></tbody></table></div> <nav class=\"mt-4 flex items-center justify-between text-sm\"><span class=\"text-muted-foreground\">Page ${escape_html(listParams.page)} of ${escape_html(totalPages())} (${escape_html(total)} total)</span> <div class=\"flex gap-2\">`);\n\t\tif (listParams.page > 1) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<a${attr(\"href\", buildHref(listParams, { page: String(listParams.page - 1) }))} class=\"rounded-md border border-border px-3 py-1\">← Prev</a>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\tif (listParams.page < totalPages()) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<a${attr(\"href\", buildHref(listParams, { page: String(listParams.page + 1) }))} class=\"rounded-md border border-border px-3 py-1\">Next →</a>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></div></nav>`);\n\t});\n}\n//#endregion\nexport { ListTable as t };\n"],"names":[],"mappings":";;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,CAAC,MAAM,EAAE,SAAS,GAAG,EAAE,EAAE;AAC3C,CAAC,MAAM,EAAE,GAAG,IAAI,eAAe,EAAE;AACjC,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC;AACzD,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACtG,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACzD,CAAC,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACxE,CAAC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,IAAI,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC;AACzF,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACxB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,EAAE;AAC5B,CAAC,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG;AAC5C;AACA;AACA;AACA,SAAS,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE;AACtC,CAAC,OAAO,SAAS,CAAC,MAAM,EAAE;AAC1B,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,KAAK,KAAK,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC,CAAC;AAClG,EAAE,IAAI,EAAE;AACR,EAAE,CAAC;AACH;AACA;AACA;AACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,OAAO,EAAE;AAClD,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;AAC5D,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC;AACrB;AACA;AACA;AACA,SAAS,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE;AACxC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,UAAU,GAAG,EAAE,EAAE,GAAG,OAAO;AACvH,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC3F,EAAE,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;AACvF,EAAE,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;AAC5B,GAAG,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC;AAChC,GAAG,IAAI,OAAO,KAAK,MAAM,EAAE;AAC3B,IAAI,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;AAChC,IAAI,IAAI,OAAO,KAAK,MAAM,IAAI,OAAO,KAAK,IAAI,EAAE,OAAO,MAAM,CAAC,OAAO,CAAC;AACtE,GAAG;AACH,GAAG,OAAO,MAAM,CAAC,GAAG,CAAC;AACrB,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,wCAAwC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,oDAAoD,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC,kGAAkG,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,yOAAyO,CAAC,CAAC;AACjhB,EAAE,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE;AAC7B,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,gFAAgF,CAAC,CAAC;AAC1I,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,mJAAmJ,CAAC,CAAC;AACxK,EAAE,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC;AAC/C,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,UAAU,CAAC,IAAI,CAAC,CAAC,8CAA8C,EAAE,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,yBAAyB,EAAE,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3K,GAAG,IAAI,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACnC,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,yBAAyB,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC;AACvH,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACvC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACvC,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7B,EAAE,IAAI,CAAC,QAAQ,EAAE;AACjB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,wDAAwD,CAAC,CAAC;AAC9E,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,4BAA4B,CAAC,CAAC;AACjD,EAAE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,IAAI,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,uEAAuE,CAAC,CAAC;AAC3J,EAAE,CAAC,MAAM;AACT,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAChC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9B,GAAG,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC;AAC/C,GAAG,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,GAAG,GAAG,QAAQ,EAAE,GAAG,EAAE,EAAE;AAC5E,IAAI,IAAI,GAAG,GAAG,YAAY,CAAC,GAAG,CAAC;AAC/B,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,2CAA2C,CAAC,CAAC;AAClE,IAAI,MAAM,YAAY,GAAG,iBAAiB,CAAC,OAAO,CAAC;AACnD,IAAI,KAAK,IAAI,SAAS,GAAG,CAAC,EAAE,QAAQ,GAAG,YAAY,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,SAAS,EAAE,EAAE;AAC/F,KAAK,IAAI,GAAG,GAAG,YAAY,CAAC,SAAS,CAAC;AACtC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,sBAAsB,EAAE,WAAW,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5F,IAAI;AACJ,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC/B,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,EAAE;AAC/B,KAAK,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AACjC,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,wBAAwB,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC;AAC/I,IAAI,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACxC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,CAAC;AACpC,GAAG;AACH,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9B,EAAE;AACF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,oIAAoI,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,uCAAuC,CAAC,CAAC;AACtR,EAAE,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE;AAC3B,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC;AAClK,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9B,EAAE,IAAI,UAAU,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE;AACtC,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,6DAA6D,CAAC,CAAC;AAClK,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,oBAAoB,CAAC,CAAC;AACzC,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -1,11 +1,11 @@
1
1
  import { q as escape_html, o as ensure_array_like, a7 as store_mutate, a6 as store_get, d as attr, ab as unsubscribe_stores } from './dev-yFiAtg5l.js';
2
- import { s as superForm } from './zod-from-table-Cqu9YCfY.js';
2
+ import { s as superForm } from './zod-from-table-CCy3rZQi.js';
3
3
  import { r as resolveWidget } from './widget-registry-CYJ6dCZP.js';
4
4
  import 'clsx';
5
- import './internal-BrzrGF6g.js';
5
+ import './internal-BERZdLJL.js';
6
6
  import 'node:module';
7
7
  import './index-DBqjc0Yf.js';
8
- import './client-Bcpj9QFB.js';
8
+ import './client-PK7K0DFj.js';
9
9
  import './app-DST8OmzT.js';
10
10
  import './index-5kYmxIr9.js';
11
11
  import 'zod/v4/core';
@@ -67,4 +67,4 @@ function _page($$renderer, $$props) {
67
67
  }
68
68
 
69
69
  export { _page as default };
70
- //# sourceMappingURL=_page.svelte-DHhstcmi.js.map
70
+ //# sourceMappingURL=_page.svelte-6neDahmr.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-DHhstcmi.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, s as store_mutate } from \"../../../../../../chunks/dev.js\";\nimport { r as superForm } from \"../../../../../../chunks/dist.js\";\nimport { 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 { form, errors, enhance, submitting } = superForm(data.form, { dataType: \"json\" });\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 = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet col = each_array[$$index];\n\t\t\t\tconst Widget = resolveWidget(col.widget);\n\t\t\t\t$$renderer.push(`<div>`);\n\t\t\t\tif (Widget) {\n\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\tWidget($$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\toptions: col.enumValues,\n\t\t\t\t\t\trequired: !col.nullable && !col.readonly && !col.isPrimaryKey,\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 ??= {}, \"$form\", form)[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 ??= {}, \"$form\", form, store_get($$store_subs ??= {}, \"$form\", form)[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(\"<!--[!-->\");\n\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t}\n\t\t\t\t$$renderer.push(` `);\n\t\t\t\tif (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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"}
1
+ {"version":3,"file":"_page.svelte-6neDahmr.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, s as store_mutate } from \"../../../../../../chunks/dev.js\";\nimport { r as superForm } from \"../../../../../../chunks/dist.js\";\nimport { 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 { form, errors, enhance, submitting } = superForm(data.form, { dataType: \"json\" });\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 = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet col = each_array[$$index];\n\t\t\t\tconst Widget = resolveWidget(col.widget);\n\t\t\t\t$$renderer.push(`<div>`);\n\t\t\t\tif (Widget) {\n\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\tWidget($$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\toptions: col.enumValues,\n\t\t\t\t\t\trequired: !col.nullable && !col.readonly && !col.isPrimaryKey,\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 ??= {}, \"$form\", form)[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 ??= {}, \"$form\", form, store_get($$store_subs ??= {}, \"$form\", form)[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(\"<!--[!-->\");\n\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t}\n\t\t\t\t$$renderer.push(` `);\n\t\t\t\tif (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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"}
@@ -0,0 +1,23 @@
1
+ import 'clsx';
2
+ import { L as ListTable } from './ListTable-BxIw_RVF.js';
3
+ import './dev-yFiAtg5l.js';
4
+
5
+ //#region src/routes/tables/[table]/+page.svelte
6
+ function _page($$renderer, $$props) {
7
+ $$renderer.component(($$renderer) => {
8
+ let { data } = $$props;
9
+ ListTable($$renderer, {
10
+ title: data.table.label,
11
+ qualifiedName: data.table.qualifiedName,
12
+ columns: data.table.columns,
13
+ rows: data.list.rows,
14
+ total: data.list.total,
15
+ listParams: data.listParams,
16
+ basePath: `/tables/${data.table.qualifiedName}`,
17
+ primaryKey: data.table.primaryKey
18
+ });
19
+ });
20
+ }
21
+
22
+ export { _page as default };
23
+ //# sourceMappingURL=_page.svelte-CRH5Ib1y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-CRH5Ib1y.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/tables/_table_/_page.svelte.js"],"sourcesContent":["import \"../../../../chunks/dev.js\";\nimport { t as ListTable } from \"../../../../chunks/ListTable.js\";\n//#region src/routes/tables/[table]/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tListTable($$renderer, {\n\t\t\ttitle: data.table.label,\n\t\t\tqualifiedName: data.table.qualifiedName,\n\t\t\tcolumns: data.table.columns,\n\t\t\trows: data.list.rows,\n\t\t\ttotal: data.list.total,\n\t\t\tlistParams: data.listParams,\n\t\t\tbasePath: `/tables/${data.table.qualifiedName}`,\n\t\t\tprimaryKey: data.table.primaryKey\n\t\t});\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;AAEA;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,SAAS,CAAC,UAAU,EAAE;AACxB,GAAG,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;AAC1B,GAAG,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;AAC1C,GAAG,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;AAC9B,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;AACvB,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;AACzB,GAAG,UAAU,EAAE,IAAI,CAAC,UAAU;AAC9B,GAAG,QAAQ,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;AAClD,GAAG,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC;AAC1B,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -0,0 +1,22 @@
1
+ import 'clsx';
2
+ import { L as ListTable } from './ListTable-BxIw_RVF.js';
3
+ import './dev-yFiAtg5l.js';
4
+
5
+ //#region src/routes/views/[view]/+page.svelte
6
+ function _page($$renderer, $$props) {
7
+ $$renderer.component(($$renderer) => {
8
+ let { data } = $$props;
9
+ ListTable($$renderer, {
10
+ title: data.view.label,
11
+ qualifiedName: data.view.qualifiedName,
12
+ columns: data.view.columns,
13
+ rows: data.list.rows,
14
+ total: data.list.total,
15
+ listParams: data.listParams,
16
+ readonly: true
17
+ });
18
+ });
19
+ }
20
+
21
+ export { _page as default };
22
+ //# sourceMappingURL=_page.svelte-CUhqt56V.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_page.svelte-CUhqt56V.js","sources":["../../../.svelte-kit/adapter-node/entries/pages/views/_view_/_page.svelte.js"],"sourcesContent":["import \"../../../../chunks/dev.js\";\nimport { t as ListTable } from \"../../../../chunks/ListTable.js\";\n//#region src/routes/views/[view]/+page.svelte\nfunction _page($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { data } = $$props;\n\t\tListTable($$renderer, {\n\t\t\ttitle: data.view.label,\n\t\t\tqualifiedName: data.view.qualifiedName,\n\t\t\tcolumns: data.view.columns,\n\t\t\trows: data.list.rows,\n\t\t\ttotal: data.list.total,\n\t\t\tlistParams: data.listParams,\n\t\t\treadonly: true\n\t\t});\n\t});\n}\n//#endregion\nexport { _page as default };\n"],"names":[],"mappings":";;;;AAEA;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,SAAS,CAAC,UAAU,EAAE;AACxB,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;AACzB,GAAG,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa;AACzC,GAAG,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO;AAC7B,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;AACvB,GAAG,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK;AACzB,GAAG,UAAU,EAAE,IAAI,CAAC,UAAU;AAC9B,GAAG,QAAQ,EAAE;AACb,GAAG,CAAC;AACJ,CAAC,CAAC,CAAC;AACH;;;;"}
@@ -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-BrzrGF6g.js';
3
- import './client-Bcpj9QFB.js';
2
+ import './internal-BERZdLJL.js';
3
+ import './client-PK7K0DFj.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-DKhYDtNl.js.map
86
+ //# sourceMappingURL=_page.svelte-hNlfE_-R.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-DKhYDtNl.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-hNlfE_-R.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,11 +1,11 @@
1
1
  import { q as escape_html, o as ensure_array_like, a7 as store_mutate, a6 as store_get, d as attr, ab as unsubscribe_stores } from './dev-yFiAtg5l.js';
2
- import { s as superForm } from './zod-from-table-Cqu9YCfY.js';
2
+ import { s as superForm } from './zod-from-table-CCy3rZQi.js';
3
3
  import { r as resolveWidget } from './widget-registry-CYJ6dCZP.js';
4
4
  import 'clsx';
5
- import './internal-BrzrGF6g.js';
5
+ import './internal-BERZdLJL.js';
6
6
  import 'node:module';
7
7
  import './index-DBqjc0Yf.js';
8
- import './client-Bcpj9QFB.js';
8
+ import './client-PK7K0DFj.js';
9
9
  import './app-DST8OmzT.js';
10
10
  import './index-5kYmxIr9.js';
11
11
  import 'zod/v4/core';
@@ -67,4 +67,4 @@ function _page($$renderer, $$props) {
67
67
  }
68
68
 
69
69
  export { _page as default };
70
- //# sourceMappingURL=_page.svelte-DYlwwhHn.js.map
70
+ //# sourceMappingURL=_page.svelte-rW7yzEet.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"_page.svelte-DYlwwhHn.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, s as store_mutate } from \"../../../../../chunks/dev.js\";\nimport { r as superForm } from \"../../../../../chunks/dist.js\";\nimport { 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 { form, errors, enhance, submitting } = superForm(data.form, { dataType: \"json\" });\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 = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet col = each_array[$$index];\n\t\t\t\tconst Widget = resolveWidget(col.widget);\n\t\t\t\t$$renderer.push(`<div>`);\n\t\t\t\tif (Widget) {\n\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\tWidget($$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\toptions: col.enumValues,\n\t\t\t\t\t\trequired: !col.nullable && !col.readonly && !col.isPrimaryKey,\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 ??= {}, \"$form\", form)[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 ??= {}, \"$form\", form, store_get($$store_subs ??= {}, \"$form\", form)[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(\"<!--[!-->\");\n\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t}\n\t\t\t\t$$renderer.push(` `);\n\t\t\t\tif (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":"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"}
1
+ {"version":3,"file":"_page.svelte-rW7yzEet.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, s as store_mutate } from \"../../../../../chunks/dev.js\";\nimport { r as superForm } from \"../../../../../chunks/dist.js\";\nimport { 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 { form, errors, enhance, submitting } = superForm(data.form, { dataType: \"json\" });\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 = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet col = each_array[$$index];\n\t\t\t\tconst Widget = resolveWidget(col.widget);\n\t\t\t\t$$renderer.push(`<div>`);\n\t\t\t\tif (Widget) {\n\t\t\t\t\t$$renderer.push(\"<!--[-->\");\n\t\t\t\t\tWidget($$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\toptions: col.enumValues,\n\t\t\t\t\t\trequired: !col.nullable && !col.readonly && !col.isPrimaryKey,\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 ??= {}, \"$form\", form)[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 ??= {}, \"$form\", form, store_get($$store_subs ??= {}, \"$form\", form)[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(\"<!--[!-->\");\n\t\t\t\t\t$$renderer.push(\"<!--]-->\");\n\t\t\t\t}\n\t\t\t\t$$renderer.push(` `);\n\t\t\t\tif (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":"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"}
@@ -15,11 +15,11 @@ var AdapterError = class extends Error {
15
15
  };
16
16
  //#endregion
17
17
  //#region src/lib/adapter/postgrest.ts
18
- var DEFAULT_PAGE_SIZE = 50;
18
+ var DEFAULT_PAGE_SIZE$1 = 50;
19
19
  var DEFAULT_SCHEMA = "public";
20
20
  var DEFAULT_PRIMARY_KEY = "id";
21
- var DEFAULT_RELATION_LIMIT = 20;
22
- var OR_FILTER_KEY = "__or";
21
+ var DEFAULT_RELATION_LIMIT$1 = 20;
22
+ var OR_FILTER_KEY$1 = "__or";
23
23
  var PostgrestAdapterError = class extends AdapterError {
24
24
  constructor(init) {
25
25
  super(init);
@@ -35,11 +35,11 @@ var PostgrestDataAdapter = class {
35
35
  defaultPageSize;
36
36
  constructor(opts) {
37
37
  if (typeof opts.baseUrl !== "string" || opts.baseUrl.length === 0) throw adapterConfigError("PostgrestDataAdapter: `baseUrl` is required.");
38
- this.baseUrl = stripTrailingSlash(opts.baseUrl);
38
+ this.baseUrl = stripTrailingSlash$1(opts.baseUrl);
39
39
  this.defaultSchema = opts.defaultSchema ?? DEFAULT_SCHEMA;
40
40
  this.resolvePrimaryKey = makePrimaryKeyResolver(opts.primaryKey);
41
41
  this.staticHeaders = { ...opts.headers ?? {} };
42
- this.defaultPageSize = opts.defaultPageSize ?? DEFAULT_PAGE_SIZE;
42
+ this.defaultPageSize = opts.defaultPageSize ?? DEFAULT_PAGE_SIZE$1;
43
43
  const resolvedFetch = opts.fetch ?? globalThis.fetch;
44
44
  if (typeof resolvedFetch !== "function") throw adapterConfigError("PostgrestDataAdapter: a `fetch` implementation is required (none injected, none on globalThis).");
45
45
  this.fetchImpl = resolvedFetch;
@@ -50,7 +50,7 @@ var PostgrestDataAdapter = class {
50
50
  const page = params.page ?? 1;
51
51
  const offset = (page - 1) * pageSize;
52
52
  const query = new URLSearchParams();
53
- appendFilters(query, params.filters);
53
+ appendFilters$1(query, params.filters);
54
54
  appendOrder(query, params.sort);
55
55
  query.set("limit", String(pageSize));
56
56
  query.set("offset", String(offset));
@@ -62,8 +62,8 @@ var PostgrestDataAdapter = class {
62
62
  };
63
63
  addProfileHeader(headers, schema, this.defaultSchema, "read");
64
64
  const response = await this.send("GET", url, headers, void 0);
65
- await assertOk(response, url);
66
- const rows = await readJson(response, url);
65
+ await assertOk$1(response, url);
66
+ const rows = await readJson$1(response, url);
67
67
  return {
68
68
  rows,
69
69
  total: parseContentRangeTotal(response.headers.get("content-range"), rows.length),
@@ -84,16 +84,16 @@ var PostgrestDataAdapter = class {
84
84
  };
85
85
  addProfileHeader(headers, schema, this.defaultSchema, "read");
86
86
  const response = await this.send("GET", url, headers, void 0);
87
- await assertOk(response, url);
88
- return await readJson(response, url);
87
+ await assertOk$1(response, url);
88
+ return await readJson$1(response, url);
89
89
  }
90
90
  async create(resource, data) {
91
91
  const { schema, table } = splitResource(resource, this.defaultSchema);
92
92
  const url = `${this.baseUrl}/${encodeURIComponent(table)}`;
93
93
  const headers = this.mutationHeaders(schema);
94
94
  const response = await this.send("POST", url, headers, JSON.stringify(data));
95
- await assertOk(response, url);
96
- return await readJson(response, url);
95
+ await assertOk$1(response, url);
96
+ return await readJson$1(response, url);
97
97
  }
98
98
  async update(resource, id, data) {
99
99
  const { schema, table } = splitResource(resource, this.defaultSchema);
@@ -103,8 +103,8 @@ var PostgrestDataAdapter = class {
103
103
  const url = `${this.baseUrl}/${encodeURIComponent(table)}?${query.toString()}`;
104
104
  const headers = this.mutationHeaders(schema);
105
105
  const response = await this.send("PATCH", url, headers, JSON.stringify(data));
106
- await assertOk(response, url);
107
- return await readJson(response, url);
106
+ await assertOk$1(response, url);
107
+ return await readJson$1(response, url);
108
108
  }
109
109
  async delete(resource, id) {
110
110
  const { schema, table } = splitResource(resource, this.defaultSchema);
@@ -114,12 +114,12 @@ var PostgrestDataAdapter = class {
114
114
  const url = `${this.baseUrl}/${encodeURIComponent(table)}?${query.toString()}`;
115
115
  const headers = { ...this.staticHeaders };
116
116
  addProfileHeader(headers, schema, this.defaultSchema, "write");
117
- await assertOk(await this.send("DELETE", url, headers, void 0), url);
117
+ await assertOk$1(await this.send("DELETE", url, headers, void 0), url);
118
118
  }
119
119
  async searchRelation(resource, params) {
120
120
  const { schema, table } = splitResource(resource, this.defaultSchema);
121
121
  const primaryKey = this.resolvePrimaryKey(resource);
122
- const limit = params.limit ?? DEFAULT_RELATION_LIMIT;
122
+ const limit = params.limit ?? DEFAULT_RELATION_LIMIT$1;
123
123
  const query = new URLSearchParams();
124
124
  query.set("select", `${primaryKey},${params.labelField}`);
125
125
  if (params.query.length > 0 && params.searchFields.length > 0) {
@@ -134,8 +134,8 @@ var PostgrestDataAdapter = class {
134
134
  };
135
135
  addProfileHeader(headers, schema, this.defaultSchema, "read");
136
136
  const response = await this.send("GET", url, headers, void 0);
137
- await assertOk(response, url);
138
- return (await readJson(response, url)).map((row) => ({
137
+ await assertOk$1(response, url);
138
+ return (await readJson$1(response, url)).map((row) => ({
139
139
  id: row[primaryKey],
140
140
  label: String(row[params.labelField] ?? "")
141
141
  }));
@@ -168,7 +168,7 @@ var PostgrestDataAdapter = class {
168
168
  }
169
169
  }
170
170
  };
171
- function stripTrailingSlash(url) {
171
+ function stripTrailingSlash$1(url) {
172
172
  return url.endsWith("/") ? url.slice(0, -1) : url;
173
173
  }
174
174
  function makePrimaryKeyResolver(pk) {
@@ -187,11 +187,11 @@ function splitResource(resource, defaultSchema) {
187
187
  table: resource.slice(idx + 1)
188
188
  };
189
189
  }
190
- function appendFilters(query, filters) {
190
+ function appendFilters$1(query, filters) {
191
191
  if (!filters) return;
192
192
  for (const [key, value] of Object.entries(filters)) {
193
193
  if (value === void 0) continue;
194
- if (key === OR_FILTER_KEY) {
194
+ if (key === OR_FILTER_KEY$1) {
195
195
  query.set("or", `(${serializeOrExpression(value)})`);
196
196
  continue;
197
197
  }
@@ -222,7 +222,7 @@ function parseContentRangeTotal(header, fallback) {
222
222
  if (!match) return fallback;
223
223
  return Number(match[1]);
224
224
  }
225
- async function readJson(response, url) {
225
+ async function readJson$1(response, url) {
226
226
  try {
227
227
  return await response.json();
228
228
  } catch (cause) {
@@ -235,7 +235,7 @@ async function readJson(response, url) {
235
235
  });
236
236
  }
237
237
  }
238
- async function assertOk(response, url) {
238
+ async function assertOk$1(response, url) {
239
239
  if (response.ok) return;
240
240
  let body = null;
241
241
  try {
@@ -261,13 +261,189 @@ function adapterConfigError(message) {
261
261
  });
262
262
  }
263
263
  //#endregion
264
+ //#region src/lib/adapter/kozou-api.ts
265
+ var DEFAULT_PAGE_SIZE = 50;
266
+ var DEFAULT_RELATION_LIMIT = 20;
267
+ var OR_FILTER_KEY = "__or";
268
+ var KozouApiAdapterError = class extends AdapterError {
269
+ constructor(init) {
270
+ super(init);
271
+ this.name = "KozouApiAdapterError";
272
+ }
273
+ };
274
+ var KozouApiDataAdapter = class {
275
+ baseUrl;
276
+ staticHeaders;
277
+ fetchImpl;
278
+ defaultPageSize;
279
+ constructor(opts) {
280
+ if (typeof opts.baseUrl !== "string" || opts.baseUrl.length === 0) throw configError("KozouApiDataAdapter: `baseUrl` is required.");
281
+ this.baseUrl = stripTrailingSlash(opts.baseUrl);
282
+ this.staticHeaders = { ...opts.headers ?? {} };
283
+ this.defaultPageSize = opts.defaultPageSize ?? DEFAULT_PAGE_SIZE;
284
+ const resolvedFetch = opts.fetch ?? globalThis.fetch;
285
+ if (typeof resolvedFetch !== "function") throw configError("KozouApiDataAdapter: a `fetch` implementation is required (none injected, none on globalThis).");
286
+ this.fetchImpl = resolvedFetch;
287
+ }
288
+ async list(resource, params) {
289
+ const page = params.page ?? 1;
290
+ const pageSize = params.pageSize ?? this.defaultPageSize;
291
+ const query = new URLSearchParams();
292
+ query.set("page", String(page));
293
+ query.set("pageSize", String(pageSize));
294
+ appendSort(query, params.sort);
295
+ if (params.search !== void 0 && params.search.length > 0) query.set("search", params.search);
296
+ appendFilters(query, params.filters);
297
+ const url = `${this.baseUrl}/${encodeResource(resource)}?${query.toString()}`;
298
+ const body = await this.getJson(url);
299
+ return {
300
+ rows: Array.isArray(body.rows) ? body.rows : [],
301
+ total: typeof body.total === "number" ? body.total : body.rows?.length ?? 0,
302
+ page: typeof body.page === "number" ? body.page : page,
303
+ pageSize: typeof body.pageSize === "number" ? body.pageSize : pageSize
304
+ };
305
+ }
306
+ async get(resource, id) {
307
+ const url = this.itemUrl(resource, id);
308
+ return await this.getJson(url);
309
+ }
310
+ async create(resource, data) {
311
+ const url = `${this.baseUrl}/${encodeResource(resource)}`;
312
+ return await this.sendJson("POST", url, data);
313
+ }
314
+ async update(resource, id, data) {
315
+ return await this.sendJson("PATCH", this.itemUrl(resource, id), data);
316
+ }
317
+ async delete(resource, id) {
318
+ const url = this.itemUrl(resource, id);
319
+ const headers = {
320
+ ...this.staticHeaders,
321
+ Accept: "application/json"
322
+ };
323
+ await assertOk(await this.send("DELETE", url, headers, void 0), url);
324
+ }
325
+ async searchRelation(resource, params) {
326
+ const query = new URLSearchParams();
327
+ query.set("as", "options");
328
+ query.set("label", params.labelField);
329
+ if (params.searchFields.length > 0) query.set("fields", params.searchFields.join(","));
330
+ if (params.query.length > 0) query.set("q", params.query);
331
+ query.set("limit", String(params.limit ?? DEFAULT_RELATION_LIMIT));
332
+ const url = `${this.baseUrl}/${encodeResource(resource)}?${query.toString()}`;
333
+ const body = await this.getJson(url);
334
+ return Array.isArray(body.options) ? body.options : [];
335
+ }
336
+ itemUrl(resource, id) {
337
+ return `${this.baseUrl}/${encodeResource(resource)}/${encodeURIComponent(String(id))}`;
338
+ }
339
+ async getJson(url) {
340
+ const headers = {
341
+ ...this.staticHeaders,
342
+ Accept: "application/json"
343
+ };
344
+ const response = await this.send("GET", url, headers, void 0);
345
+ await assertOk(response, url);
346
+ return readJson(response, url);
347
+ }
348
+ async sendJson(method, url, data) {
349
+ const headers = {
350
+ ...this.staticHeaders,
351
+ Accept: "application/json",
352
+ "Content-Type": "application/json"
353
+ };
354
+ const response = await this.send(method, url, headers, JSON.stringify(data));
355
+ await assertOk(response, url);
356
+ return readJson(response, url);
357
+ }
358
+ async send(method, url, headers, body) {
359
+ try {
360
+ return await this.fetchImpl(url, {
361
+ method,
362
+ headers,
363
+ body
364
+ });
365
+ } catch (cause) {
366
+ throw new KozouApiAdapterError({
367
+ message: `KozouApiDataAdapter: ${method} ${url} failed before reaching the server: ${cause.message}`,
368
+ status: 0,
369
+ url,
370
+ responseBody: null,
371
+ code: "network"
372
+ });
373
+ }
374
+ }
375
+ };
376
+ function stripTrailingSlash(url) {
377
+ return url.endsWith("/") ? url.slice(0, -1) : url;
378
+ }
379
+ function encodeResource(resource) {
380
+ return encodeURIComponent(resource);
381
+ }
382
+ function appendSort(query, sort) {
383
+ if (!sort || sort.length === 0) return;
384
+ query.set("sort", sort.map((s) => `${s.field}.${s.order}`).join(","));
385
+ }
386
+ function appendFilters(query, filters) {
387
+ if (!filters) return;
388
+ for (const [key, value] of Object.entries(filters)) {
389
+ if (value === void 0 || key === OR_FILTER_KEY) continue;
390
+ query.set(key, String(value));
391
+ }
392
+ }
393
+ async function readJson(response, url) {
394
+ try {
395
+ return await response.json();
396
+ } catch (cause) {
397
+ throw new KozouApiAdapterError({
398
+ message: `KozouApiDataAdapter: failed to parse JSON response from ${url}: ${cause.message}`,
399
+ status: response.status,
400
+ url,
401
+ responseBody: null,
402
+ code: "parse"
403
+ });
404
+ }
405
+ }
406
+ async function assertOk(response, url) {
407
+ if (response.ok) return;
408
+ let body = null;
409
+ try {
410
+ body = await response.text();
411
+ } catch {
412
+ body = null;
413
+ }
414
+ throw new KozouApiAdapterError({
415
+ message: `KozouApiDataAdapter: request to ${url} failed with status ${response.status}`,
416
+ status: response.status,
417
+ url,
418
+ responseBody: body,
419
+ code: "http"
420
+ });
421
+ }
422
+ function configError(message) {
423
+ return new KozouApiAdapterError({
424
+ message,
425
+ status: 0,
426
+ url: "",
427
+ responseBody: null,
428
+ code: "config"
429
+ });
430
+ }
431
+ //#endregion
264
432
  //#region src/lib/server/adapter.ts
265
- var DEFAULT_ADAPTER_URL = "http://localhost:3000";
433
+ var DEFAULT_POSTGREST_URL = "http://localhost:3000";
434
+ var DEFAULT_API_URL = "http://localhost:3335";
266
435
  var cached = null;
267
436
  function getAdapter() {
268
- if (cached === null) cached = new PostgrestDataAdapter({ baseUrl: process.env.KOZOU_ADAPTER_URL ?? DEFAULT_ADAPTER_URL });
437
+ if (cached === null) if ((process.env.KOZOU_ADAPTER_KIND ?? "postgrest") === "api") {
438
+ const baseUrl = process.env.KOZOU_ADAPTER_URL ?? DEFAULT_API_URL;
439
+ const token = process.env.KOZOU_ADAPTER_TOKEN;
440
+ cached = new KozouApiDataAdapter({
441
+ baseUrl,
442
+ headers: token !== void 0 && token.length > 0 ? { Authorization: `Bearer ${token}` } : void 0
443
+ });
444
+ } else cached = new PostgrestDataAdapter({ baseUrl: process.env.KOZOU_ADAPTER_URL ?? DEFAULT_POSTGREST_URL });
269
445
  return cached;
270
446
  }
271
447
 
272
448
  export { getAdapter as g };
273
- //# sourceMappingURL=adapter-DSZ-_PM_.js.map
449
+ //# sourceMappingURL=adapter-BGid8Q1v.js.map