@kozou/svelte-ui 1.3.0 → 1.4.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.
- package/build/client/_app/immutable/assets/0.BpzpdRYx.css +2 -0
- package/build/client/_app/immutable/assets/0.BpzpdRYx.css.br +0 -0
- package/build/client/_app/immutable/assets/0.BpzpdRYx.css.gz +0 -0
- package/build/client/_app/immutable/chunks/{DxikiVqj.js → BAfs2EwQ.js} +1 -1
- package/build/client/_app/immutable/chunks/BAfs2EwQ.js.br +0 -0
- package/build/client/_app/immutable/chunks/BAfs2EwQ.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BgT5WiOF.js → ClT4djUO.js} +1 -1
- package/build/client/_app/immutable/chunks/ClT4djUO.js.br +0 -0
- package/build/client/_app/immutable/chunks/{BgT5WiOF.js.gz → ClT4djUO.js.gz} +0 -0
- package/build/client/_app/immutable/chunks/CrFfElwr.js +1 -0
- package/build/client/_app/immutable/chunks/CrFfElwr.js.br +0 -0
- package/build/client/_app/immutable/chunks/CrFfElwr.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DHwlcjtp.js +214 -0
- package/build/client/_app/immutable/chunks/DHwlcjtp.js.br +0 -0
- package/build/client/_app/immutable/chunks/DHwlcjtp.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{BLwQsTD2.js → DqFR9xzq.js} +1 -1
- package/build/client/_app/immutable/chunks/DqFR9xzq.js.br +0 -0
- package/build/client/_app/immutable/chunks/DqFR9xzq.js.gz +0 -0
- package/build/client/_app/immutable/chunks/{rPPoD7Sp.js → POk9Ad1v.js} +2 -2
- package/build/client/_app/immutable/chunks/POk9Ad1v.js.br +0 -0
- package/build/client/_app/immutable/chunks/POk9Ad1v.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.DX7U95N5.js +2 -0
- package/build/client/_app/immutable/entry/app.DX7U95N5.js.br +0 -0
- package/build/client/_app/immutable/entry/app.DX7U95N5.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.CTKpPXDp.js +1 -0
- package/build/client/_app/immutable/entry/start.CTKpPXDp.js.br +1 -0
- package/build/client/_app/immutable/entry/start.CTKpPXDp.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{0.BTi1ueXu.js → 0.ahUg4RPH.js} +1 -1
- package/build/client/_app/immutable/nodes/0.ahUg4RPH.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.ahUg4RPH.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{1.D09foNRb.js → 1.BCx2aLZ9.js} +1 -1
- package/build/client/_app/immutable/nodes/1.BCx2aLZ9.js.br +0 -0
- package/build/client/_app/immutable/nodes/1.BCx2aLZ9.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.DXYbQoLe.js +1 -0
- package/build/client/_app/immutable/nodes/2.DXYbQoLe.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.DXYbQoLe.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.D_kabCAZ.js +1 -0
- package/build/client/_app/immutable/nodes/3.D_kabCAZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.D_kabCAZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{3.BfuWEZdX.js → 4.C486-zEy.js} +1 -1
- package/build/client/_app/immutable/nodes/4.C486-zEy.js.br +2 -0
- package/build/client/_app/immutable/nodes/4.C486-zEy.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{4.5H5WIc-o.js → 5.D1OoUXND.js} +1 -1
- package/build/client/_app/immutable/nodes/5.D1OoUXND.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.D1OoUXND.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.B3cCGwsZ.js +1 -0
- package/build/client/_app/immutable/nodes/6.B3cCGwsZ.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.B3cCGwsZ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.cAEaWzyw.js +1 -0
- package/build/client/_app/immutable/nodes/7.cAEaWzyw.js.br +0 -0
- package/build/client/_app/immutable/nodes/7.cAEaWzyw.js.gz +0 -0
- package/build/client/_app/immutable/nodes/{7.CjEmXoAF.js → 8.Cb70WGbk.js} +1 -1
- package/build/client/_app/immutable/nodes/8.Cb70WGbk.js.br +1 -0
- package/build/client/_app/immutable/nodes/8.Cb70WGbk.js.gz +0 -0
- package/build/client/_app/version.json +1 -1
- package/build/client/_app/version.json.br +0 -0
- package/build/client/_app/version.json.gz +0 -0
- package/build/server/chunks/{0-C4CgvBlc.js → 0-CTaiiMQp.js} +3 -3
- package/build/server/chunks/{0-C4CgvBlc.js.map → 0-CTaiiMQp.js.map} +1 -1
- package/build/server/chunks/{1-BvxsIwwy.js → 1-Dni7ax6A.js} +3 -3
- package/build/server/chunks/{1-BvxsIwwy.js.map → 1-Dni7ax6A.js.map} +1 -1
- package/build/server/chunks/{2-D9il_3ty.js → 2--1dA0mCa.js} +19 -5
- package/build/server/chunks/2--1dA0mCa.js.map +1 -0
- package/build/server/chunks/3-N0Oe_-32.js +144 -0
- package/build/server/chunks/3-N0Oe_-32.js.map +1 -0
- package/build/server/chunks/{3-DfrqlU53.js → 4-BB3nsMwf.js} +5 -5
- package/build/server/chunks/{3-DfrqlU53.js.map → 4-BB3nsMwf.js.map} +1 -1
- package/build/server/chunks/{4-1chJCfPL.js → 5-QdpSeSEB.js} +6 -6
- package/build/server/chunks/{4-1chJCfPL.js.map → 5-QdpSeSEB.js.map} +1 -1
- package/build/server/chunks/{5-DUCxshKE.js → 6-DQ9D4Rjj.js} +11 -10
- package/build/server/chunks/6-DQ9D4Rjj.js.map +1 -0
- package/build/server/chunks/{6-Dh7Tg-XB.js → 7-yY-k4F-J.js} +11 -10
- package/build/server/chunks/7-yY-k4F-J.js.map +1 -0
- package/build/server/chunks/{7-CKkRKfs8.js → 8-C6Rfqnpk.js} +5 -5
- package/build/server/chunks/{7-CKkRKfs8.js.map → 8-C6Rfqnpk.js.map} +1 -1
- package/build/server/chunks/{_page.svelte-DaJwoT9F.js → _page.svelte-6bUnnrWp.js} +3 -3
- package/build/server/chunks/{_page.svelte-DaJwoT9F.js.map → _page.svelte-6bUnnrWp.js.map} +1 -1
- package/build/server/chunks/_page.svelte-BAaP0Gbn.js +143 -0
- package/build/server/chunks/_page.svelte-BAaP0Gbn.js.map +1 -0
- package/build/server/chunks/{_page.svelte-BN1au56r.js → _page.svelte-Cup_HkLy.js} +19 -3
- package/build/server/chunks/_page.svelte-Cup_HkLy.js.map +1 -0
- package/build/server/chunks/{_page.svelte-DI_FY3zW.js → _page.svelte-D1coeZL7.js} +7 -6
- package/build/server/chunks/_page.svelte-D1coeZL7.js.map +1 -0
- package/build/server/chunks/{_page.svelte-CBUJNhG1.js → _page.svelte-DsOlSzf6.js} +7 -6
- package/build/server/chunks/_page.svelte-DsOlSzf6.js.map +1 -0
- package/build/server/chunks/{_server.ts-C-Wy675T.js → _server.ts-DlnyELsA.js} +4 -4
- package/build/server/chunks/{_server.ts-C-Wy675T.js.map → _server.ts-DlnyELsA.js.map} +1 -1
- package/build/server/chunks/{adapter-CXNsjV1V.js → adapter-B1wOda2X.js} +13 -1
- package/build/server/chunks/adapter-B1wOda2X.js.map +1 -0
- package/build/server/chunks/{client-C004jkBy.js → client-CF_AG7xO.js} +2 -2
- package/build/server/chunks/{client-C004jkBy.js.map → client-CF_AG7xO.js.map} +1 -1
- package/build/server/chunks/{composite-form-_tg7iknp.js → composite-form-Khrcy6Jk.js} +60 -21
- package/build/server/chunks/composite-form-Khrcy6Jk.js.map +1 -0
- package/build/server/chunks/{error.svelte-u8Vsq8vF.js → error.svelte-CrnPC1Ez.js} +3 -3
- package/build/server/chunks/{error.svelte-u8Vsq8vF.js.map → error.svelte-CrnPC1Ez.js.map} +1 -1
- package/build/server/chunks/{hooks.server-DtCXcOVD.js → hooks.server-Oa_UD2Wo.js} +636 -12
- package/build/server/chunks/hooks.server-Oa_UD2Wo.js.map +1 -0
- package/build/server/chunks/{index-5kYmxIr9.js → index-CVekYGHP.js} +2 -2
- package/build/server/chunks/{index-5kYmxIr9.js.map → index-CVekYGHP.js.map} +1 -1
- package/build/server/chunks/{internal-fxcuSPWe.js → internal-Z9Jwi6lX.js} +3 -3
- package/build/server/chunks/{internal-fxcuSPWe.js.map → internal-Z9Jwi6lX.js.map} +1 -1
- package/build/server/chunks/privilege-readonly-CK4k2aYO.js +15 -0
- package/build/server/chunks/privilege-readonly-CK4k2aYO.js.map +1 -0
- package/build/server/chunks/{relation-options-Dzy9DaQG.js → relation-options-BQ3XnftO.js} +2 -2
- package/build/server/chunks/{relation-options-Dzy9DaQG.js.map → relation-options-BQ3XnftO.js.map} +1 -1
- package/build/server/chunks/relation-select-composite-field-D4LZijR_.js +101 -0
- package/build/server/chunks/relation-select-composite-field-D4LZijR_.js.map +1 -0
- package/build/server/chunks/{widget-registry-BcgMXjkA.js → widget-registry-6ku8orXa.js} +3 -98
- package/build/server/chunks/widget-registry-6ku8orXa.js.map +1 -0
- package/build/server/index.js +2 -2
- package/build/server/manifest.js +23 -15
- package/build/server/manifest.js.map +1 -1
- package/package.json +4 -4
- package/build/client/_app/immutable/assets/0._vgqT-Ja.css +0 -2
- package/build/client/_app/immutable/assets/0._vgqT-Ja.css.br +0 -0
- package/build/client/_app/immutable/assets/0._vgqT-Ja.css.gz +0 -0
- package/build/client/_app/immutable/chunks/BLwQsTD2.js.br +0 -0
- package/build/client/_app/immutable/chunks/BLwQsTD2.js.gz +0 -0
- package/build/client/_app/immutable/chunks/BgT5WiOF.js.br +0 -0
- package/build/client/_app/immutable/chunks/DY0oakY5.js +0 -214
- package/build/client/_app/immutable/chunks/DY0oakY5.js.br +0 -0
- package/build/client/_app/immutable/chunks/DY0oakY5.js.gz +0 -0
- package/build/client/_app/immutable/chunks/DxikiVqj.js.br +0 -0
- package/build/client/_app/immutable/chunks/DxikiVqj.js.gz +0 -0
- package/build/client/_app/immutable/chunks/rPPoD7Sp.js.br +0 -0
- package/build/client/_app/immutable/chunks/rPPoD7Sp.js.gz +0 -0
- package/build/client/_app/immutable/entry/app.G2Y8IfhN.js +0 -2
- package/build/client/_app/immutable/entry/app.G2Y8IfhN.js.br +0 -0
- package/build/client/_app/immutable/entry/app.G2Y8IfhN.js.gz +0 -0
- package/build/client/_app/immutable/entry/start.sPBaDl_M.js +0 -1
- package/build/client/_app/immutable/entry/start.sPBaDl_M.js.br +0 -1
- package/build/client/_app/immutable/entry/start.sPBaDl_M.js.gz +0 -0
- package/build/client/_app/immutable/nodes/0.BTi1ueXu.js.br +0 -0
- package/build/client/_app/immutable/nodes/0.BTi1ueXu.js.gz +0 -0
- package/build/client/_app/immutable/nodes/1.D09foNRb.js.br +0 -2
- package/build/client/_app/immutable/nodes/1.D09foNRb.js.gz +0 -0
- package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js +0 -1
- package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js.br +0 -0
- package/build/client/_app/immutable/nodes/2.CWOXCYvQ.js.gz +0 -0
- package/build/client/_app/immutable/nodes/3.BfuWEZdX.js.br +0 -0
- package/build/client/_app/immutable/nodes/3.BfuWEZdX.js.gz +0 -0
- package/build/client/_app/immutable/nodes/4.5H5WIc-o.js.br +0 -0
- package/build/client/_app/immutable/nodes/4.5H5WIc-o.js.gz +0 -0
- package/build/client/_app/immutable/nodes/5.BR2iBXwV.js +0 -1
- package/build/client/_app/immutable/nodes/5.BR2iBXwV.js.br +0 -0
- package/build/client/_app/immutable/nodes/5.BR2iBXwV.js.gz +0 -0
- package/build/client/_app/immutable/nodes/6.ChubZePh.js +0 -1
- package/build/client/_app/immutable/nodes/6.ChubZePh.js.br +0 -0
- package/build/client/_app/immutable/nodes/6.ChubZePh.js.gz +0 -0
- package/build/client/_app/immutable/nodes/7.CjEmXoAF.js.br +0 -1
- package/build/client/_app/immutable/nodes/7.CjEmXoAF.js.gz +0 -0
- package/build/server/chunks/2-D9il_3ty.js.map +0 -1
- package/build/server/chunks/5-DUCxshKE.js.map +0 -1
- package/build/server/chunks/6-Dh7Tg-XB.js.map +0 -1
- package/build/server/chunks/_page.svelte-BN1au56r.js.map +0 -1
- package/build/server/chunks/_page.svelte-CBUJNhG1.js.map +0 -1
- package/build/server/chunks/_page.svelte-DI_FY3zW.js.map +0 -1
- package/build/server/chunks/adapter-CXNsjV1V.js.map +0 -1
- package/build/server/chunks/composite-form-_tg7iknp.js.map +0 -1
- package/build/server/chunks/hooks.server-DtCXcOVD.js.map +0 -1
- package/build/server/chunks/widget-registry-BcgMXjkA.js.map +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/lib/form/privilege-readonly.ts
|
|
2
|
+
function applyPrivilegeReadonly(table, mode) {
|
|
3
|
+
return {
|
|
4
|
+
...table,
|
|
5
|
+
columns: table.columns.map((c) => {
|
|
6
|
+
return (mode === "create" ? c.insertable === false : c.updatable === false) && !c.readonly ? {
|
|
7
|
+
...c,
|
|
8
|
+
readonly: true
|
|
9
|
+
} : c;
|
|
10
|
+
})
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export { applyPrivilegeReadonly as a };
|
|
15
|
+
//# sourceMappingURL=privilege-readonly-CK4k2aYO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"privilege-readonly-CK4k2aYO.js","sources":["../../../.svelte-kit/adapter-node/chunks/privilege-readonly.js"],"sourcesContent":["//#region src/lib/form/privilege-readonly.ts\nfunction applyPrivilegeReadonly(table, mode) {\n\treturn {\n\t\t...table,\n\t\tcolumns: table.columns.map((c) => {\n\t\t\treturn (mode === \"create\" ? c.insertable === false : c.updatable === false) && !c.readonly ? {\n\t\t\t\t...c,\n\t\t\t\treadonly: true\n\t\t\t} : c;\n\t\t})\n\t};\n}\n//#endregion\nexport { applyPrivilegeReadonly as t };\n"],"names":[],"mappings":"AAAA;AACA,SAAS,sBAAsB,CAAC,KAAK,EAAE,IAAI,EAAE;AAC7C,CAAC,OAAO;AACR,EAAE,GAAG,KAAK;AACV,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK;AACpC,GAAG,OAAO,CAAC,IAAI,KAAK,QAAQ,GAAG,CAAC,CAAC,UAAU,KAAK,KAAK,GAAG,CAAC,CAAC,SAAS,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,GAAG;AAChG,IAAI,GAAG,CAAC;AACR,IAAI,QAAQ,EAAE;AACd,IAAI,GAAG,CAAC;AACR,EAAE,CAAC;AACH,EAAE;AACF;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { e as encodeResourceId } from './resource-id-PDcQeAnc.js';
|
|
2
|
-
import { e as error } from './index-
|
|
2
|
+
import { e as error } from './index-CVekYGHP.js';
|
|
3
3
|
|
|
4
4
|
var MAX_RELATION_LIMIT = 100;
|
|
5
5
|
function clampLimit(raw) {
|
|
@@ -84,4 +84,4 @@ async function ensureSelectedOptions(adapter, relations, row, options) {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
export { ensureSelectedOptions as e, loadInitialRelationOptions as l, searchRelationOptions as s };
|
|
87
|
-
//# sourceMappingURL=relation-options-
|
|
87
|
+
//# sourceMappingURL=relation-options-BQ3XnftO.js.map
|
package/build/server/chunks/{relation-options-Dzy9DaQG.js.map → relation-options-BQ3XnftO.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-options-
|
|
1
|
+
{"version":3,"file":"relation-options-BQ3XnftO.js","sources":["../../../.svelte-kit/adapter-node/chunks/relation-options.js"],"sourcesContent":["import { t as encodeResourceId } from \"./resource-id.js\";\nimport { error } from \"@sveltejs/kit\";\nvar MAX_RELATION_LIMIT = 100;\nfunction clampLimit(raw) {\n\tif (raw === null) return 20;\n\tconst parsed = Number.parseInt(raw, 10);\n\tif (!Number.isFinite(parsed) || parsed < 1) return 20;\n\treturn Math.min(parsed, MAX_RELATION_LIMIT);\n}\n/**\n* Validate a relation-options request against the schema and run the search.\n*\n* The target `resource` must be a known table and both `label` and every\n* `fields` entry must be real columns of that table, so a crafted request\n* cannot point the picker at an unknown resource or push arbitrary identifiers\n* into the adapter's query grammar. Throws a SvelteKit `error` (400/404) on a\n* bad request; the endpoint surfaces it as the HTTP status.\n*/\nasync function searchRelationOptions(schema, adapter, request) {\n\tconst { resource, label } = request;\n\tif (resource === null || resource.length === 0) throw error(400, \"relation-options requires a \\\"resource\\\" query parameter.\");\n\tif (label === null || label.length === 0) throw error(400, \"relation-options requires a \\\"label\\\" query parameter.\");\n\tconst target = schema.tables.find((t) => t.qualifiedName === resource);\n\tif (target === void 0) throw error(404, `Unknown relation target: ${resource}`);\n\tconst columnNames = new Set(target.columns.map((c) => c.name));\n\tif (!columnNames.has(label)) throw error(400, `Unknown label column \"${label}\" on \"${resource}\".`);\n\tconst searchFields = request.fields ? request.fields.split(\",\").map((field) => field.trim()).filter((field) => field.length > 0) : [];\n\tfor (const field of searchFields) if (!columnNames.has(field)) throw error(400, `Unknown search field \"${field}\" on \"${resource}\".`);\n\treturn adapter.searchRelation(resource, {\n\t\tquery: request.query ?? \"\",\n\t\tlabelField: label,\n\t\tsearchFields,\n\t\tlimit: clampLimit(request.limit)\n\t});\n}\nasync function loadInitialRelationOptions(adapter, relations) {\n\tconst entries = await Promise.all(relations.map(async (relation) => {\n\t\ttry {\n\t\t\tconst options = await adapter.searchRelation(relation.resource, {\n\t\t\t\tquery: \"\",\n\t\t\t\tlabelField: relation.labelField,\n\t\t\t\tsearchFields: relation.searchFields,\n\t\t\t\tlimit: 20\n\t\t\t});\n\t\t\treturn [relation.field, options];\n\t\t} catch {\n\t\t\treturn [relation.field, []];\n\t\t}\n\t}));\n\treturn Object.fromEntries(entries);\n}\n/** Ensure each relation's currently-stored value is selectable by prepending\n* it (with a resolved label) when the first page does not already include\n* it. A composite relation assembles its current value from every component\n* column — in key order, so it doubles as the target's item id — and is\n* skipped when any component is missing (a partially-null composite foreign\n* key is not a reference). Mutates `options` in place. */\nasync function ensureSelectedOptions(adapter, relations, row, options) {\n\tawait Promise.all(relations.map(async (relation) => {\n\t\tconst keyFields = relation.keyFields ?? [relation.field];\n\t\tconst components = [];\n\t\tfor (const field of keyFields) {\n\t\t\tconst value = row[field];\n\t\t\tif (value === null || value === void 0) return;\n\t\t\tif (typeof value !== \"string\" && typeof value !== \"number\") return;\n\t\t\tif (value === \"\") return;\n\t\t\tcomponents.push(value);\n\t\t}\n\t\tconst current = keyFields.length === 1 ? components[0] : components;\n\t\tconst currentKey = encodeResourceId(current);\n\t\tconst existing = options[relation.field] ?? [];\n\t\tif (existing.some((option) => encodeResourceId(option.id) === currentKey)) return;\n\t\tlet label = components.map(String).join(\", \");\n\t\ttry {\n\t\t\tconst projected = (await adapter.get(relation.resource, current))[relation.labelField];\n\t\t\tif (projected !== null && projected !== void 0) label = String(projected);\n\t\t} catch {}\n\t\toptions[relation.field] = [{\n\t\t\tid: current,\n\t\t\tlabel\n\t\t}, ...existing];\n\t}));\n}\n//#endregion\nexport { loadInitialRelationOptions as n, searchRelationOptions as r, ensureSelectedOptions as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { d as attr, q as escape_html, o as ensure_array_like, m as derived } from './dev-yFiAtg5l.js';
|
|
2
|
+
import { e as encodeResourceId } from './resource-id-PDcQeAnc.js';
|
|
3
|
+
import { c as createRelationSearch, f as fetchRelationOptions } from './widget-registry-6ku8orXa.js';
|
|
4
|
+
import { i as isPickableOption, c as compositeParamName, C as COMPOSITE_CLEAR_VALUE } from './composite-form-Khrcy6Jk.js';
|
|
5
|
+
|
|
6
|
+
//#region src/lib/form/widgets/relation-select-composite-field.svelte
|
|
7
|
+
function Relation_select_composite_field($$renderer, $$props) {
|
|
8
|
+
$$renderer.component(($$renderer) => {
|
|
9
|
+
/** Base for the select's DOM id (the relation's first column). */
|
|
10
|
+
/** "schema.table" the picker searches. */
|
|
11
|
+
/** Target column shown as each option's label. */
|
|
12
|
+
/** Target columns the substring search filters on. */
|
|
13
|
+
/** Server-rendered first page (plus the current value on edit) so the
|
|
14
|
+
* picker has rows before the browser issues any request. */
|
|
15
|
+
/** Current component values, in the target's primary-key declaration
|
|
16
|
+
* order (the order option-id components use). */
|
|
17
|
+
/** Receives the picked option's components (same order), or `null` when
|
|
18
|
+
* the operator clears an optional relation. */
|
|
19
|
+
let { name, label, resource, labelField, searchFields, initialOptions, values, onpick, required = false, readonly = false, limit = 20 } = $$props;
|
|
20
|
+
let options = initialOptions.filter(isPickableOption);
|
|
21
|
+
let query = "";
|
|
22
|
+
const known = /* @__PURE__ */ new Map();
|
|
23
|
+
function remember(option) {
|
|
24
|
+
const components = Array.isArray(option.id) ? option.id : [option.id];
|
|
25
|
+
known.set(encodeResourceId(option.id), {
|
|
26
|
+
label: option.label,
|
|
27
|
+
components
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
for (const option of initialOptions.filter(isPickableOption)) remember(option);
|
|
31
|
+
const selectedKey = derived(() => {
|
|
32
|
+
if (values.length > 0 && values.every((value) => value === "")) return COMPOSITE_CLEAR_VALUE;
|
|
33
|
+
const components = [];
|
|
34
|
+
for (const value of values) {
|
|
35
|
+
if (value === null || value === void 0) return "";
|
|
36
|
+
if (typeof value !== "string" && typeof value !== "number") return "";
|
|
37
|
+
components.push(value);
|
|
38
|
+
}
|
|
39
|
+
return encodeResourceId(components);
|
|
40
|
+
});
|
|
41
|
+
createRelationSearch({
|
|
42
|
+
adapter: { searchRelation: (target, params) => fetchRelationOptions((url) => fetch(url), target, params) },
|
|
43
|
+
resource,
|
|
44
|
+
labelField,
|
|
45
|
+
searchFields,
|
|
46
|
+
limit
|
|
47
|
+
});
|
|
48
|
+
function handleChange(event) {
|
|
49
|
+
const key = event.target.value;
|
|
50
|
+
if (key === "__clear__") {
|
|
51
|
+
onpick(null);
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
if (key === "") return;
|
|
55
|
+
const picked = known.get(key);
|
|
56
|
+
if (picked !== void 0) onpick(picked.components);
|
|
57
|
+
}
|
|
58
|
+
const selectId = derived(() => `relation-${name}`);
|
|
59
|
+
$$renderer.push(`<div class="block"><label${attr("for", selectId())} class="mb-1 block text-sm font-medium">${escape_html(label)}`);
|
|
60
|
+
if (required) {
|
|
61
|
+
$$renderer.push("<!--[0-->");
|
|
62
|
+
$$renderer.push(`<span class="text-destructive" aria-hidden="true">*</span>`);
|
|
63
|
+
} else $$renderer.push("<!--[-1-->");
|
|
64
|
+
$$renderer.push(`<!--]--></label> <input type="text" placeholder="Search…"${attr("aria-label", `Search ${label}`)}${attr("value", query)}${attr("disabled", readonly, true)} class="mb-2 w-full rounded-md border border-input bg-background px-3 py-2 text-sm"/> `);
|
|
65
|
+
$$renderer.select({
|
|
66
|
+
id: selectId(),
|
|
67
|
+
name: compositeParamName(name),
|
|
68
|
+
required,
|
|
69
|
+
disabled: readonly,
|
|
70
|
+
value: selectedKey(),
|
|
71
|
+
onchange: handleChange,
|
|
72
|
+
class: "w-full rounded-md border border-input bg-background px-3 py-2 text-sm"
|
|
73
|
+
}, ($$renderer) => {
|
|
74
|
+
$$renderer.option({
|
|
75
|
+
value: "",
|
|
76
|
+
disabled: true
|
|
77
|
+
}, ($$renderer) => {
|
|
78
|
+
$$renderer.push(`Select…`);
|
|
79
|
+
});
|
|
80
|
+
if (!required) {
|
|
81
|
+
$$renderer.push("<!--[0-->");
|
|
82
|
+
$$renderer.option({ value: COMPOSITE_CLEAR_VALUE }, ($$renderer) => {
|
|
83
|
+
$$renderer.push(`--`);
|
|
84
|
+
});
|
|
85
|
+
} else $$renderer.push("<!--[-1-->");
|
|
86
|
+
$$renderer.push(`<!--]--><!--[-->`);
|
|
87
|
+
const each_array = ensure_array_like(options);
|
|
88
|
+
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
89
|
+
let option = each_array[$$index];
|
|
90
|
+
$$renderer.option({ value: encodeResourceId(option.id) }, ($$renderer) => {
|
|
91
|
+
$$renderer.push(`${escape_html(option.label)}`);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
$$renderer.push(`<!--]-->`);
|
|
95
|
+
});
|
|
96
|
+
$$renderer.push(`</div>`);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export { Relation_select_composite_field as R };
|
|
101
|
+
//# sourceMappingURL=relation-select-composite-field-D4LZijR_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relation-select-composite-field-D4LZijR_.js","sources":["../../../.svelte-kit/adapter-node/chunks/relation-select-composite-field.js"],"sourcesContent":["import { H as escape_html, V as attr, i as ensure_array_like, r as derived } from \"./dev.js\";\nimport { t as encodeResourceId } from \"./resource-id.js\";\nimport { i as fetchRelationOptions, r as createRelationSearch } from \"./widget-registry.js\";\nimport { a as isPickableOption, r as compositeParamName, t as COMPOSITE_CLEAR_VALUE } from \"./relation-field-config.js\";\n//#region src/lib/form/widgets/relation-select-composite-field.svelte\nfunction Relation_select_composite_field($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** Base for the select's DOM id (the relation's first column). */\n\t\t/** \"schema.table\" the picker searches. */\n\t\t/** Target column shown as each option's label. */\n\t\t/** Target columns the substring search filters on. */\n\t\t/** Server-rendered first page (plus the current value on edit) so the\n\t\t* picker has rows before the browser issues any request. */\n\t\t/** Current component values, in the target's primary-key declaration\n\t\t* order (the order option-id components use). */\n\t\t/** Receives the picked option's components (same order), or `null` when\n\t\t* the operator clears an optional relation. */\n\t\tlet { name, label, resource, labelField, searchFields, initialOptions, values, onpick, required = false, readonly = false, limit = 20 } = $$props;\n\t\tlet options = initialOptions.filter(isPickableOption);\n\t\tlet query = \"\";\n\t\tconst known = /* @__PURE__ */ new Map();\n\t\tfunction remember(option) {\n\t\t\tconst components = Array.isArray(option.id) ? option.id : [option.id];\n\t\t\tknown.set(encodeResourceId(option.id), {\n\t\t\t\tlabel: option.label,\n\t\t\t\tcomponents\n\t\t\t});\n\t\t}\n\t\tfor (const option of initialOptions.filter(isPickableOption)) remember(option);\n\t\tconst selectedKey = derived(() => {\n\t\t\tif (values.length > 0 && values.every((value) => value === \"\")) return COMPOSITE_CLEAR_VALUE;\n\t\t\tconst components = [];\n\t\t\tfor (const value of values) {\n\t\t\t\tif (value === null || value === void 0) return \"\";\n\t\t\t\tif (typeof value !== \"string\" && typeof value !== \"number\") return \"\";\n\t\t\t\tcomponents.push(value);\n\t\t\t}\n\t\t\treturn encodeResourceId(components);\n\t\t});\n\t\tcreateRelationSearch({\n\t\t\tadapter: { searchRelation: (target, params) => fetchRelationOptions((url) => fetch(url), target, params) },\n\t\t\tresource,\n\t\t\tlabelField,\n\t\t\tsearchFields,\n\t\t\tlimit\n\t\t});\n\t\tfunction handleChange(event) {\n\t\t\tconst key = event.target.value;\n\t\t\tif (key === \"__clear__\") {\n\t\t\t\tonpick(null);\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif (key === \"\") return;\n\t\t\tconst picked = known.get(key);\n\t\t\tif (picked !== void 0) onpick(picked.components);\n\t\t}\n\t\tconst selectId = derived(() => `relation-${name}`);\n\t\t$$renderer.push(`<div class=\"block\"><label${attr(\"for\", selectId())} class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></label> <input type=\"text\" placeholder=\"Search…\"${attr(\"aria-label\", `Search ${label}`)}${attr(\"value\", query)}${attr(\"disabled\", readonly, true)} class=\"mb-2 w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"/> `);\n\t\t$$renderer.select({\n\t\t\tid: selectId(),\n\t\t\tname: compositeParamName(name),\n\t\t\trequired,\n\t\t\tdisabled: readonly,\n\t\t\tvalue: selectedKey(),\n\t\t\tonchange: handleChange,\n\t\t\tclass: \"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"\n\t\t}, ($$renderer) => {\n\t\t\t$$renderer.option({\n\t\t\t\tvalue: \"\",\n\t\t\t\tdisabled: true\n\t\t\t}, ($$renderer) => {\n\t\t\t\t$$renderer.push(`Select…`);\n\t\t\t});\n\t\t\tif (!required) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.option({ value: COMPOSITE_CLEAR_VALUE }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`--`);\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(options);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet option = each_array[$$index];\n\t\t\t\t$$renderer.option({ value: encodeResourceId(option.id) }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(option.label)}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</div>`);\n\t});\n}\n//#endregion\nexport { Relation_select_composite_field as t };\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { e as bind_props, q as escape_html, d as attr, o as ensure_array_like, m as derived } from './dev-yFiAtg5l.js';
|
|
2
2
|
import { e as encodeResourceId } from './resource-id-PDcQeAnc.js';
|
|
3
|
-
import { i as isPickableOption, c as compositeParamName, C as COMPOSITE_CLEAR_VALUE } from './composite-form-_tg7iknp.js';
|
|
4
3
|
|
|
5
4
|
//#region src/lib/form/relation-options-client.ts
|
|
6
5
|
var RELATION_OPTIONS_PATH = "/relation-options";
|
|
@@ -72,100 +71,6 @@ function createRelationSearch(opts) {
|
|
|
72
71
|
};
|
|
73
72
|
}
|
|
74
73
|
//#endregion
|
|
75
|
-
//#region src/lib/form/widgets/relation-select-composite-field.svelte
|
|
76
|
-
function Relation_select_composite_field($$renderer, $$props) {
|
|
77
|
-
$$renderer.component(($$renderer) => {
|
|
78
|
-
/** Base for the select's DOM id (the relation's first column). */
|
|
79
|
-
/** "schema.table" the picker searches. */
|
|
80
|
-
/** Target column shown as each option's label. */
|
|
81
|
-
/** Target columns the substring search filters on. */
|
|
82
|
-
/** Server-rendered first page (plus the current value on edit) so the
|
|
83
|
-
* picker has rows before the browser issues any request. */
|
|
84
|
-
/** Current component values, in the target's primary-key declaration
|
|
85
|
-
* order (the order option-id components use). */
|
|
86
|
-
/** Receives the picked option's components (same order), or `null` when
|
|
87
|
-
* the operator clears an optional relation. */
|
|
88
|
-
let { name, label, resource, labelField, searchFields, initialOptions, values, onpick, required = false, readonly = false, limit = 20 } = $$props;
|
|
89
|
-
let options = initialOptions.filter(isPickableOption);
|
|
90
|
-
let query = "";
|
|
91
|
-
const known = /* @__PURE__ */ new Map();
|
|
92
|
-
function remember(option) {
|
|
93
|
-
const components = Array.isArray(option.id) ? option.id : [option.id];
|
|
94
|
-
known.set(encodeResourceId(option.id), {
|
|
95
|
-
label: option.label,
|
|
96
|
-
components
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
for (const option of initialOptions.filter(isPickableOption)) remember(option);
|
|
100
|
-
const selectedKey = derived(() => {
|
|
101
|
-
if (values.length > 0 && values.every((value) => value === "")) return COMPOSITE_CLEAR_VALUE;
|
|
102
|
-
const components = [];
|
|
103
|
-
for (const value of values) {
|
|
104
|
-
if (value === null || value === void 0) return "";
|
|
105
|
-
if (typeof value !== "string" && typeof value !== "number") return "";
|
|
106
|
-
components.push(value);
|
|
107
|
-
}
|
|
108
|
-
return encodeResourceId(components);
|
|
109
|
-
});
|
|
110
|
-
createRelationSearch({
|
|
111
|
-
adapter: { searchRelation: (target, params) => fetchRelationOptions((url) => fetch(url), target, params) },
|
|
112
|
-
resource,
|
|
113
|
-
labelField,
|
|
114
|
-
searchFields,
|
|
115
|
-
limit
|
|
116
|
-
});
|
|
117
|
-
function handleChange(event) {
|
|
118
|
-
const key = event.target.value;
|
|
119
|
-
if (key === "__clear__") {
|
|
120
|
-
onpick(null);
|
|
121
|
-
return;
|
|
122
|
-
}
|
|
123
|
-
if (key === "") return;
|
|
124
|
-
const picked = known.get(key);
|
|
125
|
-
if (picked !== void 0) onpick(picked.components);
|
|
126
|
-
}
|
|
127
|
-
const selectId = derived(() => `relation-${name}`);
|
|
128
|
-
$$renderer.push(`<div class="block"><label${attr("for", selectId())} class="mb-1 block text-sm font-medium">${escape_html(label)}`);
|
|
129
|
-
if (required) {
|
|
130
|
-
$$renderer.push("<!--[0-->");
|
|
131
|
-
$$renderer.push(`<span class="text-destructive" aria-hidden="true">*</span>`);
|
|
132
|
-
} else $$renderer.push("<!--[-1-->");
|
|
133
|
-
$$renderer.push(`<!--]--></label> <input type="text" placeholder="Search…"${attr("aria-label", `Search ${label}`)}${attr("value", query)}${attr("disabled", readonly, true)} class="mb-2 w-full rounded-md border border-input bg-background px-3 py-2 text-sm"/> `);
|
|
134
|
-
$$renderer.select({
|
|
135
|
-
id: selectId(),
|
|
136
|
-
name: compositeParamName(name),
|
|
137
|
-
required,
|
|
138
|
-
disabled: readonly,
|
|
139
|
-
value: selectedKey(),
|
|
140
|
-
onchange: handleChange,
|
|
141
|
-
class: "w-full rounded-md border border-input bg-background px-3 py-2 text-sm"
|
|
142
|
-
}, ($$renderer) => {
|
|
143
|
-
$$renderer.option({
|
|
144
|
-
value: "",
|
|
145
|
-
disabled: true
|
|
146
|
-
}, ($$renderer) => {
|
|
147
|
-
$$renderer.push(`Select…`);
|
|
148
|
-
});
|
|
149
|
-
if (!required) {
|
|
150
|
-
$$renderer.push("<!--[0-->");
|
|
151
|
-
$$renderer.option({ value: COMPOSITE_CLEAR_VALUE }, ($$renderer) => {
|
|
152
|
-
$$renderer.push(`--`);
|
|
153
|
-
});
|
|
154
|
-
} else $$renderer.push("<!--[-1-->");
|
|
155
|
-
$$renderer.push(`<!--]--><!--[-->`);
|
|
156
|
-
const each_array = ensure_array_like(options);
|
|
157
|
-
for (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {
|
|
158
|
-
let option = each_array[$$index];
|
|
159
|
-
$$renderer.option({ value: encodeResourceId(option.id) }, ($$renderer) => {
|
|
160
|
-
$$renderer.push(`${escape_html(option.label)}`);
|
|
161
|
-
});
|
|
162
|
-
}
|
|
163
|
-
$$renderer.push(`<!--]-->`);
|
|
164
|
-
});
|
|
165
|
-
$$renderer.push(`</div>`);
|
|
166
|
-
});
|
|
167
|
-
}
|
|
168
|
-
//#endregion
|
|
169
74
|
//#region src/lib/form/widgets/relation-select.svelte
|
|
170
75
|
function Relation_select($$renderer, $$props) {
|
|
171
76
|
$$renderer.component(($$renderer) => {
|
|
@@ -478,5 +383,5 @@ function resolveWidget(widget) {
|
|
|
478
383
|
return widgetRegistry[widget] ?? Text;
|
|
479
384
|
}
|
|
480
385
|
|
|
481
|
-
export {
|
|
482
|
-
//# sourceMappingURL=widget-registry-
|
|
386
|
+
export { Relation_select_field as R, createRelationSearch as c, fetchRelationOptions as f, resolveWidget as r };
|
|
387
|
+
//# sourceMappingURL=widget-registry-6ku8orXa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"widget-registry-6ku8orXa.js","sources":["../../../.svelte-kit/adapter-node/chunks/widget-registry.js"],"sourcesContent":["import { H as escape_html, V as attr, i as ensure_array_like, n as bind_props, r as derived } from \"./dev.js\";\nimport { t as encodeResourceId } from \"./resource-id.js\";\n//#region src/lib/form/relation-options-client.ts\nvar RELATION_OPTIONS_PATH = \"/relation-options\";\n/** Build the `/relation-options` query string for a relation search. */\nfunction relationOptionsUrl(resource, params) {\n\tconst query = new URLSearchParams();\n\tquery.set(\"resource\", resource);\n\tquery.set(\"label\", params.labelField);\n\tif (params.searchFields.length > 0) query.set(\"fields\", params.searchFields.join(\",\"));\n\tif (params.query.length > 0) query.set(\"q\", params.query);\n\tif (params.limit !== void 0) query.set(\"limit\", String(params.limit));\n\treturn `${RELATION_OPTIONS_PATH}?${query.toString()}`;\n}\nasync function fetchRelationOptions(fetchFn, resource, params) {\n\tconst response = await fetchFn(relationOptionsUrl(resource, params));\n\tif (!response.ok) return [];\n\tconst body = await response.json();\n\treturn Array.isArray(body.options) ? body.options : [];\n}\n//#endregion\n//#region src/lib/form/relation-search.ts\nvar DEFAULT_DEBOUNCE_MS = 200;\nvar CANCELLED_REASON = \"relation-search:cancelled\";\nvar RelationSearchCancelledError = class extends Error {\n\tconstructor() {\n\t\tsuper(CANCELLED_REASON);\n\t\tthis.name = \"RelationSearchCancelledError\";\n\t}\n};\nfunction createRelationSearch(opts) {\n\tconst debounceMs = opts.debounceMs ?? DEFAULT_DEBOUNCE_MS;\n\tconst setTimeoutFn = opts.setTimeoutFn ?? globalThis.setTimeout;\n\tconst clearTimeoutFn = opts.clearTimeoutFn ?? globalThis.clearTimeout;\n\tlet pendingHandle = null;\n\tlet pendingReject = null;\n\tlet latestSeq = 0;\n\tfunction cancelInternal() {\n\t\tlatestSeq += 1;\n\t\tif (pendingHandle !== null) {\n\t\t\tclearTimeoutFn(pendingHandle);\n\t\t\tpendingHandle = null;\n\t\t}\n\t\tif (pendingReject !== null) {\n\t\t\tpendingReject(new RelationSearchCancelledError());\n\t\t\tpendingReject = null;\n\t\t}\n\t}\n\treturn {\n\t\tsearch(query) {\n\t\t\tcancelInternal();\n\t\t\tconst seq = latestSeq;\n\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\tpendingReject = reject;\n\t\t\t\tpendingHandle = setTimeoutFn(() => {\n\t\t\t\t\tpendingHandle = null;\n\t\t\t\t\tpendingReject = null;\n\t\t\t\t\topts.adapter.searchRelation(opts.resource, {\n\t\t\t\t\t\tquery,\n\t\t\t\t\t\tlabelField: opts.labelField,\n\t\t\t\t\t\tsearchFields: opts.searchFields,\n\t\t\t\t\t\tlimit: opts.limit\n\t\t\t\t\t}).then((rows) => seq === latestSeq ? resolve(rows) : reject(new RelationSearchCancelledError()), (err) => seq === latestSeq ? reject(err) : reject(new RelationSearchCancelledError()));\n\t\t\t\t}, debounceMs);\n\t\t\t});\n\t\t},\n\t\tcancel() {\n\t\t\tcancelInternal();\n\t\t}\n\t};\n}\n//#endregion\n//#region src/lib/form/widgets/relation-select.svelte\nfunction Relation_select($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, options, value = \"\", required = false, readonly = false, onsearch } = $$props;\n\t\tlet query = \"\";\n\t\tconst selectId = derived(() => `relation-${name}`);\n\t\t$$renderer.push(`<div class=\"block\"><label${attr(\"for\", selectId())} class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></label> `);\n\t\tif (onsearch) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<input type=\"text\" placeholder=\"Search…\"${attr(\"aria-label\", `Search ${label}`)}${attr(\"value\", query)}${attr(\"disabled\", readonly, true)} class=\"mb-2 w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"/>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--> `);\n\t\t$$renderer.select({\n\t\t\tid: selectId(),\n\t\t\tname,\n\t\t\trequired,\n\t\t\tdisabled: readonly,\n\t\t\tvalue,\n\t\t\tclass: \"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"\n\t\t}, ($$renderer) => {\n\t\t\tif (!required) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.option({ value: \"\" }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`--`);\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(options);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet option = each_array[$$index];\n\t\t\t\t$$renderer.option({ value: option.id }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(option.label)}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</div>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/relation-select-field.svelte\nfunction Relation_select_field($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\t/** \"schema.table\" the picker searches. */\n\t\t/** Target column shown as each option's label. */\n\t\t/** Target columns the substring search filters on. */\n\t\t/** Server-rendered first page (plus the current value on edit) so the\n\t\t* picker has rows before the browser issues any request. */\n\t\tlet { name, label, resource, labelField, searchFields, initialOptions, value = \"\", required = false, readonly = false, limit = 20 } = $$props;\n\t\tlet options = [...initialOptions];\n\t\tconst known = /* @__PURE__ */ new Map();\n\t\tfor (const option of initialOptions) known.set(encodeResourceId(option.id), option.label);\n\t\tconst search = createRelationSearch({\n\t\t\tadapter: { searchRelation: (target, params) => fetchRelationOptions((url) => fetch(url), target, params) },\n\t\t\tresource,\n\t\t\tlabelField,\n\t\t\tsearchFields,\n\t\t\tlimit\n\t\t});\n\t\tfunction withSelected(results) {\n\t\t\tif (value === \"\" || value === null || value === void 0) return results;\n\t\t\tconst selected = value;\n\t\t\tconst selectedKey = encodeResourceId(selected);\n\t\t\tif (results.some((option) => encodeResourceId(option.id) === selectedKey)) return results;\n\t\t\tconst selectedLabel = known.get(selectedKey);\n\t\t\tif (selectedLabel === void 0) return results;\n\t\t\treturn [{\n\t\t\t\tid: selected,\n\t\t\t\tlabel: selectedLabel\n\t\t\t}, ...results];\n\t\t}\n\t\tasync function handleSearch(query) {\n\t\t\ttry {\n\t\t\t\tconst results = await search.search(query);\n\t\t\t\tfor (const option of results) known.set(encodeResourceId(option.id), option.label);\n\t\t\t\toptions = withSelected(results);\n\t\t\t} catch {}\n\t\t}\n\t\tlet $$settled = true;\n\t\tlet $$inner_renderer;\n\t\tfunction $$render_inner($$renderer) {\n\t\t\tRelation_select($$renderer, {\n\t\t\t\tname,\n\t\t\t\tlabel,\n\t\t\t\toptions,\n\t\t\t\trequired,\n\t\t\t\treadonly,\n\t\t\t\tonsearch: handleSearch,\n\t\t\t\tget value() {\n\t\t\t\t\treturn value;\n\t\t\t\t},\n\t\t\t\tset value($$value) {\n\t\t\t\t\tvalue = $$value;\n\t\t\t\t\t$$settled = false;\n\t\t\t\t}\n\t\t\t});\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\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/boolean.svelte\nfunction Boolean($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, value = false, readonly = false } = $$props;\n\t\t$$renderer.push(`<label class=\"flex items-center gap-2\"><input type=\"checkbox\"${attr(\"name\", name)}${attr(\"disabled\", readonly, true)}${attr(\"checked\", value, true)} class=\"h-4 w-4 rounded border border-input bg-background\"/> <span class=\"text-sm font-medium\">${escape_html(label)}</span></label>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/date.svelte\nfunction Date($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, value = \"\", required = false, readonly = false } = $$props;\n\t\t$$renderer.push(`<label class=\"block\"><span class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span> <input type=\"date\"${attr(\"name\", name)}${attr(\"required\", required, true)}${attr(\"readonly\", readonly, true)}${attr(\"value\", value)} class=\"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"/></label>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/datetime.svelte\nfunction Datetime($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, value = \"\", required = false, readonly = false } = $$props;\n\t\t$$renderer.push(`<label class=\"block\"><span class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span> <input type=\"datetime-local\"${attr(\"name\", name)}${attr(\"required\", required, true)}${attr(\"readonly\", readonly, true)}${attr(\"value\", value)} class=\"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"/></label>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/enum-select.svelte\nfunction Enum_select($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, options, value = \"\", required = false, readonly = false } = $$props;\n\t\t$$renderer.push(`<label class=\"block\"><span class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span> `);\n\t\t$$renderer.select({\n\t\t\tname,\n\t\t\trequired,\n\t\t\tdisabled: readonly,\n\t\t\tvalue,\n\t\t\tclass: \"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"\n\t\t}, ($$renderer) => {\n\t\t\tif (!required) {\n\t\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t\t$$renderer.option({ value: \"\" }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`--`);\n\t\t\t\t});\n\t\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t\t$$renderer.push(`<!--]--><!--[-->`);\n\t\t\tconst each_array = ensure_array_like(options);\n\t\t\tfor (let $$index = 0, $$length = each_array.length; $$index < $$length; $$index++) {\n\t\t\t\tlet option = each_array[$$index];\n\t\t\t\t$$renderer.option({ value: option }, ($$renderer) => {\n\t\t\t\t\t$$renderer.push(`${escape_html(option)}`);\n\t\t\t\t});\n\t\t\t}\n\t\t\t$$renderer.push(`<!--]-->`);\n\t\t});\n\t\t$$renderer.push(`</label>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/image-url.svelte\nfunction Image_url($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, value = \"\", required = false, placeholder = \"https://…\", readonly = false } = $$props;\n\t\t$$renderer.push(`<label class=\"block\"><span class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span> <input type=\"url\"${attr(\"name\", name)}${attr(\"required\", required, true)}${attr(\"placeholder\", placeholder)}${attr(\"readonly\", readonly, true)}${attr(\"value\", value)} class=\"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"/> `);\n\t\tif (value) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<img${attr(\"src\", value)}${attr(\"alt\", label)} class=\"mt-2 max-h-32 rounded-md border border-border object-contain\" loading=\"lazy\"/>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></label>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/json.svelte\nfunction Json($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, value = void 0, required = false, readonly = false } = $$props;\n\t\tfunction formatInitial(input) {\n\t\t\tif (input === void 0 || input === null) return \"\";\n\t\t\tif (typeof input === \"string\") return input;\n\t\t\ttry {\n\t\t\t\treturn JSON.stringify(input, null, 2);\n\t\t\t} catch {\n\t\t\t\treturn \"\";\n\t\t\t}\n\t\t}\n\t\tlet text = formatInitial(value);\n\t\t$$renderer.push(`<label class=\"block\"><span class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span> <textarea${attr(\"name\", name)}${attr(\"required\", required, true)}${attr(\"readonly\", readonly, true)}${attr(\"rows\", 6)} class=\"w-full rounded-md border border-input bg-background px-3 py-2 font-mono text-xs\">`);\n\t\tconst $$body = escape_html(text);\n\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t$$renderer.push(`</textarea></label>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/number.svelte\nfunction Number($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, value = \"\", required = false, placeholder = \"\", readonly = false, step = \"any\" } = $$props;\n\t\t$$renderer.push(`<label class=\"block\"><span class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span> <input type=\"number\"${attr(\"name\", name)}${attr(\"step\", step)}${attr(\"required\", required, true)}${attr(\"placeholder\", placeholder)}${attr(\"readonly\", readonly, true)}${attr(\"value\", value)} class=\"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"/></label>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/text.svelte\nfunction Text($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, value = \"\", required = false, placeholder = \"\", readonly = false } = $$props;\n\t\t$$renderer.push(`<label class=\"block\"><span class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span> <input type=\"text\"${attr(\"name\", name)}${attr(\"value\", value)}${attr(\"required\", required, true)}${attr(\"placeholder\", placeholder)}${attr(\"readonly\", readonly, true)} class=\"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\"/></label>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/textarea.svelte\nfunction Textarea($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, value = \"\", required = false, placeholder = \"\", readonly = false, rows = 4 } = $$props;\n\t\t$$renderer.push(`<label class=\"block\"><span class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span> <textarea${attr(\"name\", name)}${attr(\"rows\", rows)}${attr(\"required\", required, true)}${attr(\"placeholder\", placeholder)}${attr(\"readonly\", readonly, true)} class=\"w-full rounded-md border border-input bg-background px-3 py-2 text-sm\">`);\n\t\tconst $$body = escape_html(value);\n\t\tif ($$body) $$renderer.push(`${$$body}`);\n\t\t$$renderer.push(`</textarea></label>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widgets/uuid.svelte\nfunction Uuid($$renderer, $$props) {\n\t$$renderer.component(($$renderer) => {\n\t\tlet { name, label, value = \"\", required = false, placeholder = \"00000000-0000-0000-0000-000000000000\", readonly = false } = $$props;\n\t\t$$renderer.push(`<label class=\"block\"><span class=\"mb-1 block text-sm font-medium\">${escape_html(label)}`);\n\t\tif (required) {\n\t\t\t$$renderer.push(\"<!--[0-->\");\n\t\t\t$$renderer.push(`<span class=\"text-destructive\" aria-hidden=\"true\">*</span>`);\n\t\t} else $$renderer.push(\"<!--[-1-->\");\n\t\t$$renderer.push(`<!--]--></span> <input type=\"text\"${attr(\"name\", name)}${attr(\"required\", required, true)}${attr(\"placeholder\", placeholder)}${attr(\"readonly\", readonly, true)}${attr(\"value\", value)} pattern=\"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}\" class=\"w-full rounded-md border border-input bg-background px-3 py-2 font-mono text-xs\"/></label>`);\n\t\tbind_props($$props, { value });\n\t});\n}\n//#endregion\n//#region src/lib/form/widget-registry.ts\nvar widgetRegistry = {\n\ttext: Text,\n\ttextarea: Textarea,\n\tnumber: Number,\n\tcurrency: Number,\n\tboolean: Boolean,\n\tdate: Date,\n\tdatetime: Datetime,\n\t\"enum-select\": Enum_select,\n\t\"relation-select\": Relation_select,\n\tjson: Json,\n\t\"image-url\": Image_url,\n\tuuid: Uuid\n};\nfunction resolveWidget(widget) {\n\treturn widgetRegistry[widget] ?? Text;\n}\n//#endregion\nexport { fetchRelationOptions as i, Relation_select_field as n, createRelationSearch as r, resolveWidget as t };\n"],"names":[],"mappings":";;;AAEA;AACA,IAAI,qBAAqB,GAAG,mBAAmB;AAC/C;AACA,SAAS,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE;AAC9C,CAAC,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE;AACpC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC;AAChC,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC;AACtC,CAAC,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvF,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC;AAC1D,CAAC,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;AACtD;AACA,eAAe,oBAAoB,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE;AAC/D,CAAC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AACrE,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,OAAO,EAAE;AAC5B,CAAC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE;AACnC,CAAC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,EAAE;AACvD;AACA;AACA;AACA,IAAI,mBAAmB,GAAG,GAAG;AAC7B,IAAI,gBAAgB,GAAG,2BAA2B;AAClD,IAAI,4BAA4B,GAAG,cAAc,KAAK,CAAC;AACvD,CAAC,WAAW,GAAG;AACf,EAAE,KAAK,CAAC,gBAAgB,CAAC;AACzB,EAAE,IAAI,CAAC,IAAI,GAAG,8BAA8B;AAC5C,CAAC;AACD,CAAC;AACD,SAAS,oBAAoB,CAAC,IAAI,EAAE;AACpC,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,mBAAmB;AAC1D,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,UAAU,CAAC,UAAU;AAChE,CAAC,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,UAAU,CAAC,YAAY;AACtE,CAAC,IAAI,aAAa,GAAG,IAAI;AACzB,CAAC,IAAI,aAAa,GAAG,IAAI;AACzB,CAAC,IAAI,SAAS,GAAG,CAAC;AAClB,CAAC,SAAS,cAAc,GAAG;AAC3B,EAAE,SAAS,IAAI,CAAC;AAChB,EAAE,IAAI,aAAa,KAAK,IAAI,EAAE;AAC9B,GAAG,cAAc,CAAC,aAAa,CAAC;AAChC,GAAG,aAAa,GAAG,IAAI;AACvB,EAAE;AACF,EAAE,IAAI,aAAa,KAAK,IAAI,EAAE;AAC9B,GAAG,aAAa,CAAC,IAAI,4BAA4B,EAAE,CAAC;AACpD,GAAG,aAAa,GAAG,IAAI;AACvB,EAAE;AACF,CAAC;AACD,CAAC,OAAO;AACR,EAAE,MAAM,CAAC,KAAK,EAAE;AAChB,GAAG,cAAc,EAAE;AACnB,GAAG,MAAM,GAAG,GAAG,SAAS;AACxB,GAAG,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC3C,IAAI,aAAa,GAAG,MAAM;AAC1B,IAAI,aAAa,GAAG,YAAY,CAAC,MAAM;AACvC,KAAK,aAAa,GAAG,IAAI;AACzB,KAAK,aAAa,GAAG,IAAI;AACzB,KAAK,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChD,MAAM,KAAK;AACX,MAAM,UAAU,EAAE,IAAI,CAAC,UAAU;AACjC,MAAM,YAAY,EAAE,IAAI,CAAC,YAAY;AACrC,MAAM,KAAK,EAAE,IAAI,CAAC;AAClB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,KAAK,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,4BAA4B,EAAE,CAAC,EAAE,CAAC,GAAG,KAAK,GAAG,KAAK,SAAS,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,IAAI,4BAA4B,EAAE,CAAC,CAAC;AAC7L,IAAI,CAAC,EAAE,UAAU,CAAC;AAClB,GAAG,CAAC,CAAC;AACL,EAAE,CAAC;AACH,EAAE,MAAM,GAAG;AACX,GAAG,cAAc,EAAE;AACnB,EAAE;AACF,EAAE;AACF;AACA;AACA;AACA,SAAS,eAAe,CAAC,UAAU,EAAE,OAAO,EAAE;AAC9C,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO;AAClG,EAAE,IAAI,KAAK,GAAG,EAAE;AAChB,EAAE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AACpD,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,yBAAyB,EAAE,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,wCAAwC,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACrI,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAChF,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,CAAC;AACtC,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,wCAAwC,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,qFAAqF,CAAC,CAAC;AACrP,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;AAC9B,EAAE,UAAU,CAAC,MAAM,CAAC;AACpB,GAAG,EAAE,EAAE,QAAQ,EAAE;AACjB,GAAG,IAAI;AACP,GAAG,QAAQ;AACX,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,KAAK;AACR,GAAG,KAAK,EAAE;AACV,GAAG,EAAE,CAAC,UAAU,KAAK;AACrB,GAAG,IAAI,CAAC,QAAQ,EAAE;AAClB,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK;AACrD,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1B,IAAI,CAAC,CAAC;AACN,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACvC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC;AAChD,GAAG,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACtF,IAAI,IAAI,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;AACpC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK;AAC5D,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,IAAI,CAAC,CAAC;AACN,GAAG;AACH,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9B,EAAE,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAC3B,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,qBAAqB,CAAC,UAAU,EAAE,OAAO,EAAE;AACpD,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC;AACA;AACA;AACA;AACA;AACA,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,OAAO;AAC/I,EAAE,IAAI,OAAO,GAAG,CAAC,GAAG,cAAc,CAAC;AACnC,EAAE,MAAM,KAAK,mBAAmB,IAAI,GAAG,EAAE;AACzC,EAAE,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;AAC3F,EAAE,MAAM,MAAM,GAAG,oBAAoB,CAAC;AACtC,GAAG,OAAO,EAAE,EAAE,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,oBAAoB,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE;AAC7G,GAAG,QAAQ;AACX,GAAG,UAAU;AACb,GAAG,YAAY;AACf,GAAG;AACH,GAAG,CAAC;AACJ,EAAE,SAAS,YAAY,CAAC,OAAO,EAAE;AACjC,GAAG,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,MAAM,EAAE,OAAO,OAAO;AACzE,GAAG,MAAM,QAAQ,GAAG,KAAK;AACzB,GAAG,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC;AACjD,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,WAAW,CAAC,EAAE,OAAO,OAAO;AAC5F,GAAG,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC;AAC/C,GAAG,IAAI,aAAa,KAAK,MAAM,EAAE,OAAO,OAAO;AAC/C,GAAG,OAAO,CAAC;AACX,IAAI,EAAE,EAAE,QAAQ;AAChB,IAAI,KAAK,EAAE;AACX,IAAI,EAAE,GAAG,OAAO,CAAC;AACjB,EAAE;AACF,EAAE,eAAe,YAAY,CAAC,KAAK,EAAE;AACrC,GAAG,IAAI;AACP,IAAI,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAC9C,IAAI,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;AACtF,IAAI,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;AACnC,GAAG,CAAC,CAAC,MAAM,CAAC;AACZ,EAAE;AACF,EAAE,IAAI,SAAS,GAAG,IAAI;AACtB,EAAE,IAAI,gBAAgB;AACtB,EAAE,SAAS,cAAc,CAAC,UAAU,EAAE;AACtC,GAAG,eAAe,CAAC,UAAU,EAAE;AAC/B,IAAI,IAAI;AACR,IAAI,KAAK;AACT,IAAI,OAAO;AACX,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ,EAAE,YAAY;AAC1B,IAAI,IAAI,KAAK,GAAG;AAChB,KAAK,OAAO,KAAK;AACjB,IAAI,CAAC;AACL,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE;AACvB,KAAK,KAAK,GAAG,OAAO;AACpB,KAAK,SAAS,GAAG,KAAK;AACtB,IAAI;AACJ,IAAI,CAAC;AACL,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,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,OAAO,CAAC,UAAU,EAAE,OAAO,EAAE;AACtC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO;AAChE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,6DAA6D,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,+FAA+F,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC;AAC5S,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AACnC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO;AAC/E,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kEAAkE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAChF,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kCAAkC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,wFAAwF,CAAC,CAAC;AACjQ,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACvC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO;AAC/E,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kEAAkE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAChF,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,4CAA4C,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,wFAAwF,CAAC,CAAC;AAC3Q,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,WAAW,CAAC,UAAU,EAAE,OAAO,EAAE;AAC1C,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO;AACxF,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kEAAkE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAChF,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACrC,EAAE,UAAU,CAAC,MAAM,CAAC;AACpB,GAAG,IAAI;AACP,GAAG,QAAQ;AACX,GAAG,QAAQ,EAAE,QAAQ;AACrB,GAAG,KAAK;AACR,GAAG,KAAK,EAAE;AACV,GAAG,EAAE,CAAC,UAAU,KAAK;AACrB,GAAG,IAAI,CAAC,QAAQ,EAAE;AAClB,IAAI,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAChC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAAC,UAAU,KAAK;AACrD,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;AAC1B,IAAI,CAAC,CAAC;AACN,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACvC,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACtC,GAAG,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC;AAChD,GAAG,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,EAAE;AACtF,IAAI,IAAI,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC;AACpC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,UAAU,KAAK;AACzD,KAAK,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAC9C,IAAI,CAAC,CAAC;AACN,GAAG;AACH,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC9B,EAAE,CAAC,CAAC;AACJ,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC;AAC7B,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,SAAS,CAAC,UAAU,EAAE,OAAO,EAAE;AACxC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,WAAW,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO;AAC1G,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kEAAkE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAChF,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,iCAAiC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,iFAAiF,CAAC,CAAC;AAC5R,EAAE,IAAI,KAAK,EAAE;AACb,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,sFAAsF,CAAC,CAAC;AAC1J,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,gBAAgB,CAAC,CAAC;AACrC,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AACnC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,EAAE,QAAQ,GAAG,KAAK,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO;AACnF,EAAE,SAAS,aAAa,CAAC,KAAK,EAAE;AAChC,GAAG,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,IAAI,EAAE,OAAO,EAAE;AACpD,GAAG,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,OAAO,KAAK;AAC9C,GAAG,IAAI;AACP,IAAI,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACzC,GAAG,CAAC,CAAC,MAAM;AACX,IAAI,OAAO,EAAE;AACb,GAAG;AACH,EAAE;AACF,EAAE,IAAI,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC;AACjC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kEAAkE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAChF,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,yFAAyF,CAAC,CAAC;AACpP,EAAE,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,CAAC;AAClC,EAAE,IAAI,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1C,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;AACxC,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,MAAM,CAAC,UAAU,EAAE,OAAO,EAAE;AACrC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,IAAI,GAAG,KAAK,EAAE,GAAG,OAAO;AAC/G,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kEAAkE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAChF,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,oCAAoC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,wFAAwF,CAAC,CAAC;AAC3T,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AACnC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO;AACjG,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kEAAkE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAChF,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kCAAkC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,wFAAwF,CAAC,CAAC;AACpS,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,QAAQ,CAAC,UAAU,EAAE,OAAO,EAAE;AACvC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,IAAI,GAAG,CAAC,EAAE,GAAG,OAAO;AAC3G,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kEAAkE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAChF,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,yBAAyB,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,+EAA+E,CAAC,CAAC;AAChR,EAAE,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,CAAC;AACnC,EAAE,IAAI,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAC1C,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,mBAAmB,CAAC,CAAC;AACxC,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,SAAS,IAAI,CAAC,UAAU,EAAE,OAAO,EAAE;AACnC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,UAAU,KAAK;AACtC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,EAAE,EAAE,QAAQ,GAAG,KAAK,EAAE,WAAW,GAAG,sCAAsC,EAAE,QAAQ,GAAG,KAAK,EAAE,GAAG,OAAO;AACrI,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kEAAkE,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5G,EAAE,IAAI,QAAQ,EAAE;AAChB,GAAG,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC;AAC/B,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,0DAA0D,CAAC,CAAC;AAChF,EAAE,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AACtC,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,kCAAkC,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,wLAAwL,CAAC,CAAC;AACpY,EAAE,UAAU,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;AAChC,CAAC,CAAC,CAAC;AACH;AACA;AACA;AACA,IAAI,cAAc,GAAG;AACrB,CAAC,IAAI,EAAE,IAAI;AACX,CAAC,QAAQ,EAAE,QAAQ;AACnB,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,QAAQ,EAAE,MAAM;AACjB,CAAC,OAAO,EAAE,OAAO;AACjB,CAAC,IAAI,EAAE,IAAI;AACX,CAAC,QAAQ,EAAE,QAAQ;AACnB,CAAC,aAAa,EAAE,WAAW;AAC3B,CAAC,iBAAiB,EAAE,eAAe;AACnC,CAAC,IAAI,EAAE,IAAI;AACX,CAAC,WAAW,EAAE,SAAS;AACvB,CAAC,IAAI,EAAE;AACP,CAAC;AACD,SAAS,aAAa,CAAC,MAAM,EAAE;AAC/B,CAAC,OAAO,cAAc,CAAC,MAAM,CAAC,IAAI,IAAI;AACtC;;;;"}
|
package/build/server/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { j as coalesce_to_error, s as get_status, q as get_message, a1 as with_request_store, G as parse, _ as __commonJSMin, E as options, N as set_private_env, O as set_public_env, p as get_hooks, y as noop, u as has_resolution_suffix, t as has_data_suffix, h as base, V as strip_resolution_suffix, U as strip_data_suffix, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, m as decode_pathname, d as add_data_suffix, e as add_resolution_suffix, o as find_route, B as normalize_path, n as disable_search, J as public_env, Z as validate_layout_server_exports, Y as validate_layout_exports, a0 as validate_page_server_exports, $ as validate_page_exports, z as noop_span, M as resolve, K as read_implementation, r as get_relative_path, P as set_read_implementation, F as override, g as assets, L as reset, f as app_dir, l as create_remote_key, v as hash, W as text_encoder, k as compact, D as once, A as normalize_error, x as make_trackable, H as parse_remote_arg, R as stringify, S as stringify$1, Q as split_remote_key, i as base64_encode } from './chunks/internal-
|
|
1
|
+
import { j as coalesce_to_error, s as get_status, q as get_message, a1 as with_request_store, G as parse, _ as __commonJSMin, E as options, N as set_private_env, O as set_public_env, p as get_hooks, y as noop, u as has_resolution_suffix, t as has_data_suffix, h as base, V as strip_resolution_suffix, U as strip_data_suffix, T as TRAILING_SLASH_PARAM, I as INVALIDATED_PARAM, m as decode_pathname, d as add_data_suffix, e as add_resolution_suffix, o as find_route, B as normalize_path, n as disable_search, J as public_env, Z as validate_layout_server_exports, Y as validate_layout_exports, a0 as validate_page_server_exports, $ as validate_page_exports, z as noop_span, M as resolve, K as read_implementation, r as get_relative_path, P as set_read_implementation, F as override, g as assets, L as reset, f as app_dir, l as create_remote_key, v as hash, W as text_encoder, k as compact, D as once, A as normalize_error, x as make_trackable, H as parse_remote_arg, R as stringify, S as stringify$1, Q as split_remote_key, i as base64_encode } from './chunks/internal-Z9Jwi6lX.js';
|
|
2
2
|
import { aa as uneval, X as readable, ad as writable } from './chunks/dev-yFiAtg5l.js';
|
|
3
|
-
import { j as json, t as text, i as isRedirect, e as error } from './chunks/index-
|
|
3
|
+
import { j as json, t as text, i as isRedirect, e as error } from './chunks/index-CVekYGHP.js';
|
|
4
4
|
import { H as HttpError, S as SvelteKitError, R as Redirect, A as ActionFailure } from './chunks/index-DBqjc0Yf.js';
|
|
5
5
|
import { s as set_app } from './chunks/app-MIcRQ3KA.js';
|
|
6
6
|
import 'node:module';
|
package/build/server/manifest.js
CHANGED
|
@@ -10,16 +10,17 @@ return {
|
|
|
10
10
|
assets: new Set([]),
|
|
11
11
|
mimeTypes: {},
|
|
12
12
|
_: {
|
|
13
|
-
client: {start:"_app/immutable/entry/start.
|
|
13
|
+
client: {start:"_app/immutable/entry/start.CTKpPXDp.js",app:"_app/immutable/entry/app.DX7U95N5.js",imports:["_app/immutable/entry/start.CTKpPXDp.js","_app/immutable/chunks/POk9Ad1v.js","_app/immutable/chunks/ClT4djUO.js","_app/immutable/entry/app.DX7U95N5.js","_app/immutable/chunks/ClT4djUO.js","_app/immutable/chunks/kNaey6uv.js","_app/immutable/chunks/xihTtKlq.js"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},
|
|
14
14
|
nodes: [
|
|
15
|
-
__memo(() => import('./chunks/0-
|
|
16
|
-
__memo(() => import('./chunks/1-
|
|
17
|
-
__memo(() => import('./chunks/2
|
|
18
|
-
__memo(() => import('./chunks/3-
|
|
19
|
-
__memo(() => import('./chunks/4-
|
|
20
|
-
__memo(() => import('./chunks/5-
|
|
21
|
-
__memo(() => import('./chunks/6-
|
|
22
|
-
__memo(() => import('./chunks/7-
|
|
15
|
+
__memo(() => import('./chunks/0-CTaiiMQp.js')),
|
|
16
|
+
__memo(() => import('./chunks/1-Dni7ax6A.js')),
|
|
17
|
+
__memo(() => import('./chunks/2--1dA0mCa.js')),
|
|
18
|
+
__memo(() => import('./chunks/3-N0Oe_-32.js')),
|
|
19
|
+
__memo(() => import('./chunks/4-BB3nsMwf.js')),
|
|
20
|
+
__memo(() => import('./chunks/5-QdpSeSEB.js')),
|
|
21
|
+
__memo(() => import('./chunks/6-DQ9D4Rjj.js')),
|
|
22
|
+
__memo(() => import('./chunks/7-yY-k4F-J.js')),
|
|
23
|
+
__memo(() => import('./chunks/8-C6Rfqnpk.js'))
|
|
23
24
|
],
|
|
24
25
|
remotes: {
|
|
25
26
|
|
|
@@ -32,46 +33,53 @@ return {
|
|
|
32
33
|
page: { layouts: [0,], errors: [1,], leaf: 2 },
|
|
33
34
|
endpoint: null
|
|
34
35
|
},
|
|
36
|
+
{
|
|
37
|
+
id: "/actions/[fn]",
|
|
38
|
+
pattern: /^\/actions\/([^/]+?)\/?$/,
|
|
39
|
+
params: [{"name":"fn","optional":false,"rest":false,"chained":false}],
|
|
40
|
+
page: { layouts: [0,], errors: [1,], leaf: 3 },
|
|
41
|
+
endpoint: null
|
|
42
|
+
},
|
|
35
43
|
{
|
|
36
44
|
id: "/relation-options",
|
|
37
45
|
pattern: /^\/relation-options\/?$/,
|
|
38
46
|
params: [],
|
|
39
47
|
page: null,
|
|
40
|
-
endpoint: __memo(() => import('./chunks/_server.ts-
|
|
48
|
+
endpoint: __memo(() => import('./chunks/_server.ts-DlnyELsA.js'))
|
|
41
49
|
},
|
|
42
50
|
{
|
|
43
51
|
id: "/tables/[table]",
|
|
44
52
|
pattern: /^\/tables\/([^/]+?)\/?$/,
|
|
45
53
|
params: [{"name":"table","optional":false,"rest":false,"chained":false}],
|
|
46
|
-
page: { layouts: [0,], errors: [1,], leaf:
|
|
54
|
+
page: { layouts: [0,], errors: [1,], leaf: 4 },
|
|
47
55
|
endpoint: null
|
|
48
56
|
},
|
|
49
57
|
{
|
|
50
58
|
id: "/tables/[table]/new",
|
|
51
59
|
pattern: /^\/tables\/([^/]+?)\/new\/?$/,
|
|
52
60
|
params: [{"name":"table","optional":false,"rest":false,"chained":false}],
|
|
53
|
-
page: { layouts: [0,], errors: [1,], leaf:
|
|
61
|
+
page: { layouts: [0,], errors: [1,], leaf: 7 },
|
|
54
62
|
endpoint: null
|
|
55
63
|
},
|
|
56
64
|
{
|
|
57
65
|
id: "/tables/[table]/[id]",
|
|
58
66
|
pattern: /^\/tables\/([^/]+?)\/([^/]+?)\/?$/,
|
|
59
67
|
params: [{"name":"table","optional":false,"rest":false,"chained":false},{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
60
|
-
page: { layouts: [0,], errors: [1,], leaf:
|
|
68
|
+
page: { layouts: [0,], errors: [1,], leaf: 5 },
|
|
61
69
|
endpoint: null
|
|
62
70
|
},
|
|
63
71
|
{
|
|
64
72
|
id: "/tables/[table]/[id]/edit",
|
|
65
73
|
pattern: /^\/tables\/([^/]+?)\/([^/]+?)\/edit\/?$/,
|
|
66
74
|
params: [{"name":"table","optional":false,"rest":false,"chained":false},{"name":"id","optional":false,"rest":false,"chained":false}],
|
|
67
|
-
page: { layouts: [0,], errors: [1,], leaf:
|
|
75
|
+
page: { layouts: [0,], errors: [1,], leaf: 6 },
|
|
68
76
|
endpoint: null
|
|
69
77
|
},
|
|
70
78
|
{
|
|
71
79
|
id: "/views/[view]",
|
|
72
80
|
pattern: /^\/views\/([^/]+?)\/?$/,
|
|
73
81
|
params: [{"name":"view","optional":false,"rest":false,"chained":false}],
|
|
74
|
-
page: { layouts: [0,], errors: [1,], leaf:
|
|
82
|
+
page: { layouts: [0,], errors: [1,], leaf: 8 },
|
|
75
83
|
endpoint: null
|
|
76
84
|
}
|
|
77
85
|
],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([]),\n\tmimeTypes: {},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.
|
|
1
|
+
{"version":3,"file":"manifest.js","sources":["../../.svelte-kit/adapter-node/manifest.js"],"sourcesContent":["export const manifest = (() => {\nfunction __memo(fn) {\n\tlet value;\n\treturn () => value ??= (value = fn());\n}\n\nreturn {\n\tappDir: \"_app\",\n\tappPath: \"_app\",\n\tassets: new Set([]),\n\tmimeTypes: {},\n\t_: {\n\t\tclient: {start:\"_app/immutable/entry/start.CTKpPXDp.js\",app:\"_app/immutable/entry/app.DX7U95N5.js\",imports:[\"_app/immutable/entry/start.CTKpPXDp.js\",\"_app/immutable/chunks/POk9Ad1v.js\",\"_app/immutable/chunks/ClT4djUO.js\",\"_app/immutable/entry/app.DX7U95N5.js\",\"_app/immutable/chunks/ClT4djUO.js\",\"_app/immutable/chunks/kNaey6uv.js\",\"_app/immutable/chunks/xihTtKlq.js\"],stylesheets:[],fonts:[],uses_env_dynamic_public:false},\n\t\tnodes: [\n\t\t\t__memo(() => import('./nodes/0.js')),\n\t\t\t__memo(() => import('./nodes/1.js')),\n\t\t\t__memo(() => import('./nodes/2.js')),\n\t\t\t__memo(() => import('./nodes/3.js')),\n\t\t\t__memo(() => import('./nodes/4.js')),\n\t\t\t__memo(() => import('./nodes/5.js')),\n\t\t\t__memo(() => import('./nodes/6.js')),\n\t\t\t__memo(() => import('./nodes/7.js')),\n\t\t\t__memo(() => import('./nodes/8.js'))\n\t\t],\n\t\tremotes: {\n\t\t\t\n\t\t},\n\t\troutes: [\n\t\t\t{\n\t\t\t\tid: \"/\",\n\t\t\t\tpattern: /^\\/$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 2 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/actions/[fn]\",\n\t\t\t\tpattern: /^\\/actions\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"fn\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 3 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/relation-options\",\n\t\t\t\tpattern: /^\\/relation-options\\/?$/,\n\t\t\t\tparams: [],\n\t\t\t\tpage: null,\n\t\t\t\tendpoint: __memo(() => import('./entries/endpoints/relation-options/_server.ts.js'))\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tables/[table]\",\n\t\t\t\tpattern: /^\\/tables\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"table\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 4 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tables/[table]/new\",\n\t\t\t\tpattern: /^\\/tables\\/([^/]+?)\\/new\\/?$/,\n\t\t\t\tparams: [{\"name\":\"table\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 7 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tables/[table]/[id]\",\n\t\t\t\tpattern: /^\\/tables\\/([^/]+?)\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"table\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 5 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/tables/[table]/[id]/edit\",\n\t\t\t\tpattern: /^\\/tables\\/([^/]+?)\\/([^/]+?)\\/edit\\/?$/,\n\t\t\t\tparams: [{\"name\":\"table\",\"optional\":false,\"rest\":false,\"chained\":false},{\"name\":\"id\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 6 },\n\t\t\t\tendpoint: null\n\t\t\t},\n\t\t\t{\n\t\t\t\tid: \"/views/[view]\",\n\t\t\t\tpattern: /^\\/views\\/([^/]+?)\\/?$/,\n\t\t\t\tparams: [{\"name\":\"view\",\"optional\":false,\"rest\":false,\"chained\":false}],\n\t\t\t\tpage: { layouts: [0,], errors: [1,], leaf: 8 },\n\t\t\t\tendpoint: null\n\t\t\t}\n\t\t],\n\t\tprerendered_routes: new Set([]),\n\t\tmatchers: async () => {\n\t\t\t\n\t\t\treturn { };\n\t\t},\n\t\tserver_assets: {}\n\t}\n}\n})();\n\nexport const prerendered = new Set([]);\n\nexport const base = \"\";"],"names":[],"mappings":"AAAY,MAAC,QAAQ,GAAG,CAAC,MAAM;AAC/B,SAAS,MAAM,CAAC,EAAE,EAAE;AACpB,CAAC,IAAI,KAAK;AACV,CAAC,OAAO,MAAM,KAAK,MAAM,KAAK,GAAG,EAAE,EAAE,CAAC;AACtC;;AAEA,OAAO;AACP,CAAC,MAAM,EAAE,MAAM;AACf,CAAC,OAAO,EAAE,MAAM;AAChB,CAAC,MAAM,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACpB,CAAC,SAAS,EAAE,EAAE;AACd,CAAC,CAAC,EAAE;AACJ,EAAE,MAAM,EAAE,CAAC,KAAK,CAAC,wCAAwC,CAAC,GAAG,CAAC,sCAAsC,CAAC,OAAO,CAAC,CAAC,wCAAwC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,sCAAsC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,mCAAmC,CAAC,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACza,EAAE,KAAK,EAAE;AACT,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC,CAAC;AACvC,GAAG,MAAM,CAAC,MAAM,OAAO,wBAAc,CAAC;AACtC,GAAG;AACH,EAAE,OAAO,EAAE;AACX;AACA,GAAG;AACH,EAAE,MAAM,EAAE;AACV,GAAG;AACH,IAAI,EAAE,EAAE,GAAG;AACX,IAAI,OAAO,EAAE,MAAM;AACnB,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,eAAe;AACvB,IAAI,OAAO,EAAE,0BAA0B;AACvC,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzE,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,mBAAmB;AAC3B,IAAI,OAAO,EAAE,yBAAyB;AACtC,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,QAAQ,EAAE,MAAM,CAAC,MAAM,OAAO,iCAAoD,CAAC;AACvF,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,iBAAiB;AACzB,IAAI,OAAO,EAAE,yBAAyB;AACtC,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5E,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,qBAAqB;AAC7B,IAAI,OAAO,EAAE,8BAA8B;AAC3C,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC5E,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,sBAAsB;AAC9B,IAAI,OAAO,EAAE,mCAAmC;AAChD,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACxI,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,2BAA2B;AACnC,IAAI,OAAO,EAAE,yCAAyC;AACtD,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACxI,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd,IAAI;AACJ,GAAG;AACH,IAAI,EAAE,EAAE,eAAe;AACvB,IAAI,OAAO,EAAE,wBAAwB;AACrC,IAAI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC3E,IAAI,IAAI,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE;AAClD,IAAI,QAAQ,EAAE;AACd;AACA,GAAG;AACH,EAAE,kBAAkB,EAAE,IAAI,GAAG,CAAC,EAAE,CAAC;AACjC,EAAE,QAAQ,EAAE,YAAY;AACxB;AACA,GAAG,OAAO,IAAI;AACd,EAAE,CAAC;AACH,EAAE,aAAa,EAAE;AACjB;AACA;AACA,CAAC;;AAEW,MAAC,WAAW,GAAG,IAAI,GAAG,CAAC,EAAE;;AAEzB,MAAC,IAAI,GAAG;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kozou/svelte-ui",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.0",
|
|
4
4
|
"description": "Kozou reference Admin UI. SvelteKit + Svelte 5 admin UI that consumes SchemaContext via @kozou/core and talks to a backend via the DataAdapter interface.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -41,8 +41,8 @@
|
|
|
41
41
|
"tailwind-merge": "^3.6.0",
|
|
42
42
|
"tailwind-variants": "^3.2.2",
|
|
43
43
|
"zod": "^4.4.3",
|
|
44
|
-
"@kozou/
|
|
45
|
-
"@kozou/
|
|
44
|
+
"@kozou/core": "1.4.0",
|
|
45
|
+
"@kozou/introspect": "1.4.0"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@playwright/test": "^1.50.0",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"tw-animate-css": "^1.4.0",
|
|
63
63
|
"typescript": "^6.0.3",
|
|
64
64
|
"vite": "^8.0.14",
|
|
65
|
-
"@kozou/api": "1.
|
|
65
|
+
"@kozou/api": "1.4.0"
|
|
66
66
|
},
|
|
67
67
|
"scripts": {
|
|
68
68
|
"dev": "vite dev",
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-5xl:64rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklab, var(--ring) 50%, transparent)}}body{background-color:var(--background);color:var(--foreground)}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.table{display:table}.h-4{height:calc(var(--spacing) * 4)}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-48{max-height:calc(var(--spacing) * 48)}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing) * 4)}.w-full{width:100%}.max-w-5xl{max-width:var(--container-5xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-full{min-width:100%}.flex-1{flex:1}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-border{border-color:var(--border)}.border-destructive{border-color:var(--destructive)}.border-input{border-color:var(--input)}.bg-background{background-color:var(--background)}.bg-muted{background-color:var(--muted)}.bg-primary{background-color:var(--primary)}.object-contain{object-fit:contain}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-destructive{color:var(--destructive)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.running{animation-play-state:running}@media (hover:hover){.hover\:bg-muted:hover{background-color:var(--muted)}.hover\:underline:hover{text-decoration-line:underline}}.disabled\:opacity-50:disabled{opacity:.5}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--background:oklch(100% 0 0);--foreground:oklch(14.5% 0 0);--card:oklch(100% 0 0);--card-foreground:oklch(14.5% 0 0);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.5% 0 0);--primary:oklch(20.5% 0 0);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(97% 0 0);--secondary-foreground:oklch(20.5% 0 0);--muted:oklch(97% 0 0);--muted-foreground:oklch(55.6% 0 0);--accent:oklch(97% 0 0);--accent-foreground:oklch(20.5% 0 0);--destructive:oklch(57.7% .245 27.325);--border:oklch(92.2% 0 0);--input:oklch(92.2% 0 0);--ring:oklch(70.8% 0 0);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--radius:.625rem;--sidebar:oklch(98.5% 0 0);--sidebar-foreground:oklch(14.5% 0 0);--sidebar-primary:oklch(20.5% 0 0);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(97% 0 0);--sidebar-accent-foreground:oklch(20.5% 0 0);--sidebar-border:oklch(92.2% 0 0);--sidebar-ring:oklch(70.8% 0 0)}.dark{--background:oklch(14.5% 0 0);--foreground:oklch(98.5% 0 0);--card:oklch(20.5% 0 0);--card-foreground:oklch(98.5% 0 0);--popover:oklch(20.5% 0 0);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92.2% 0 0);--primary-foreground:oklch(20.5% 0 0);--secondary:oklch(26.9% 0 0);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(26.9% 0 0);--muted-foreground:oklch(70.8% 0 0);--accent:oklch(26.9% 0 0);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.6% 0 0);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.5% 0 0);--sidebar-foreground:oklch(98.5% 0 0);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.5% 0 0);--sidebar-accent:oklch(26.9% 0 0);--sidebar-accent-foreground:oklch(98.5% 0 0);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(43.9% 0 0)}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
|
|
Binary file
|