@qelos/aidev 1.2.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.aidev.example +12 -1
- package/README.md +23 -6
- package/dist/ai/devin.d.ts +7 -0
- package/dist/ai/devin.d.ts.map +1 -0
- package/dist/ai/devin.js +91 -0
- package/dist/ai/devin.js.map +1 -0
- package/dist/ai/index.js +2 -2
- package/dist/ai/index.js.map +1 -1
- package/dist/cli.js +31 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/help.js +1 -1
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/hooks.d.ts +5 -0
- package/dist/commands/hooks.d.ts.map +1 -0
- package/dist/commands/hooks.js +86 -0
- package/dist/commands/hooks.js.map +1 -0
- package/dist/commands/init.d.ts +1 -0
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +18 -109
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/run.d.ts +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +78 -63
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/schedule.js +2 -2
- package/dist/commands/schedule.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -1
- package/dist/config.js.map +1 -1
- package/dist/diagnostics.d.ts.map +1 -1
- package/dist/diagnostics.js +1 -2
- package/dist/diagnostics.js.map +1 -1
- package/dist/hooks.d.ts +18 -0
- package/dist/hooks.d.ts.map +1 -1
- package/dist/hooks.js +16 -0
- package/dist/hooks.js.map +1 -1
- package/dist/hooksTemplate.d.ts +14 -0
- package/dist/hooksTemplate.d.ts.map +1 -0
- package/dist/hooksTemplate.js +274 -0
- package/dist/hooksTemplate.js.map +1 -0
- package/dist/logger.d.ts +1 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +32 -0
- package/dist/logger.js.map +1 -1
- package/dist/platform.d.ts +2 -2
- package/dist/platform.js +2 -2
- package/dist/safeMode.d.ts +32 -0
- package/dist/safeMode.d.ts.map +1 -0
- package/dist/safeMode.js +192 -0
- package/dist/safeMode.js.map +1 -0
- package/dist/types.d.ts +3 -1
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/ui/.output/nitro.json +1 -1
- package/ui/.output/public/_nuxt/6wLLp9Nc.js +1 -0
- package/ui/.output/public/_nuxt/BGkU0f28.js +1 -0
- package/ui/.output/public/_nuxt/BOIhDy_l.js +4 -0
- package/ui/.output/public/_nuxt/BWJzzHTi.js +1 -0
- package/ui/.output/public/_nuxt/{3LZdFtk_.js → By4xSvKt.js} +3 -3
- package/ui/.output/public/_nuxt/ByAMJ0xS.js +1 -0
- package/ui/.output/public/_nuxt/C1xk3ymy.js +1 -0
- package/ui/.output/public/_nuxt/CBV5GuL6.js +11 -0
- package/ui/.output/public/_nuxt/CTtW-0zG.js +1 -0
- package/ui/.output/public/_nuxt/CX0vIr0s.js +131 -0
- package/ui/.output/public/_nuxt/{LzHPbXPK.js → CYm8nRCj.js} +1 -1
- package/ui/.output/public/_nuxt/CdHqKVo4.js +1 -0
- package/ui/.output/public/_nuxt/CnXdKLRd.js +16 -0
- package/ui/.output/public/_nuxt/Cz9dogwK.js +1 -0
- package/ui/.output/public/_nuxt/DGHfexQZ.js +1 -0
- package/ui/.output/public/_nuxt/{CWjftssB.js → DOoocm0F.js} +1 -1
- package/ui/.output/public/_nuxt/{DZd8Jv5H.js → D_gcbXK2.js} +1 -1
- package/ui/.output/public/_nuxt/{CO4XMBYO.js → Dfhp6TEA.js} +11 -11
- package/ui/.output/public/_nuxt/{BtD1YBwM.js → G5BjvTWO.js} +1 -1
- package/ui/.output/public/_nuxt/H73b_QUy.js +1 -0
- package/ui/.output/public/_nuxt/{BMTHyzVP.js → LCoCV2KL.js} +1 -1
- package/ui/.output/public/_nuxt/Zrl3Utak.js +1 -0
- package/ui/.output/public/_nuxt/config.CaB_F_OT.css +1 -0
- package/ui/.output/public/_nuxt/default.D13_FS9T.css +1 -0
- package/ui/.output/public/_nuxt/hooks.B03-GWTh.css +1 -0
- package/ui/.output/public/_nuxt/kPPYUzXr.js +2 -0
- package/ui/.output/public/_nuxt/logs.DLMkvOEl.css +1 -0
- package/ui/.output/public/_nuxt/mHp9eItY.js +1 -0
- package/ui/.output/public/_nuxt/{BTfAgCfF.js → tyaD1vVi.js} +1 -1
- package/ui/.output/public/_nuxt/{BGlShnpS.js → ynXKxjpn.js} +1 -1
- package/ui/.output/public/_nuxt/{B8sr5ZW-.js → yqBy-NAR.js} +2 -2
- package/ui/.output/server/chunks/_/hooksTemplate.mjs +365 -0
- package/ui/.output/server/chunks/_/hooksTemplate.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{Badge-YPOjmkfv.mjs → Badge-nNgbDd8N.mjs} +2 -2
- package/ui/.output/server/chunks/build/{Badge-YPOjmkfv.mjs.map → Badge-nNgbDd8N.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{Button-CZHl6fpI.mjs → Button-CQZG7w2L.mjs} +117 -3
- package/ui/.output/server/chunks/build/Button-CQZG7w2L.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{Card--ibiHV_r.mjs → Card-DdEnDTQW.mjs} +2 -2
- package/ui/.output/server/chunks/build/{Card--ibiHV_r.mjs.map → Card-DdEnDTQW.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{FormGroup-CX5VmH8y.mjs → FormGroup-BfYiVGgN.mjs} +2 -2
- package/ui/.output/server/chunks/build/{FormGroup-CX5VmH8y.mjs.map → FormGroup-BfYiVGgN.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{Input-kmqS1oY_.mjs → Input-Cnk3P_aB.mjs} +5 -60
- package/ui/.output/server/chunks/build/Input-Cnk3P_aB.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{Modal-DmZs0Ekg.mjs → Modal-DfVO6DJD.mjs} +10 -5
- package/ui/.output/server/chunks/build/Modal-DfVO6DJD.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{Select-n4_YfXfk.mjs → Select-Dc9_TJIR.mjs} +3 -3
- package/ui/.output/server/chunks/build/{Select-n4_YfXfk.mjs.map → Select-Dc9_TJIR.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/client.precomputed.mjs +1 -1
- package/ui/.output/server/chunks/build/client.precomputed.mjs.map +1 -1
- package/ui/.output/server/chunks/build/{config-Bkb2wy7R.mjs → config-BUokZPak.mjs} +78 -58
- package/ui/.output/server/chunks/build/config-BUokZPak.mjs.map +1 -0
- package/ui/.output/server/chunks/build/config-styles.irltMnuD.mjs +8 -0
- package/ui/.output/server/chunks/build/config-styles.irltMnuD.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{default-DmD3qBXZ.mjs → default-6TcwTt3p.mjs} +10 -9
- package/ui/.output/server/chunks/build/default-6TcwTt3p.mjs.map +1 -0
- package/ui/.output/server/chunks/build/default-styles.BqL9zxh4.mjs +8 -0
- package/ui/.output/server/chunks/build/default-styles.BqL9zxh4.mjs.map +1 -0
- package/ui/.output/server/chunks/build/entry-styles.q-b4rEBh.mjs +11 -0
- package/ui/.output/server/chunks/build/entry-styles.q-b4rEBh.mjs.map +1 -0
- package/ui/.output/server/chunks/build/hooks-k2ZmlVpA.mjs +4181 -0
- package/ui/.output/server/chunks/build/hooks-k2ZmlVpA.mjs.map +1 -0
- package/ui/.output/server/chunks/build/hooks-styles.Ddk4F_Gj.mjs +8 -0
- package/ui/.output/server/chunks/build/hooks-styles.Ddk4F_Gj.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{index-Dy4Tu7MB.mjs → index-DwMIJp2e.mjs} +7 -3
- package/ui/.output/server/chunks/build/index-DwMIJp2e.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{index-BvfXQQ2n.mjs → index-JLPhao-C.mjs} +5 -5
- package/ui/.output/server/chunks/build/{index-BvfXQQ2n.mjs.map → index-JLPhao-C.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{interval-DHZqEf-n.mjs → interval-DPa3fpS0.mjs} +3 -3
- package/ui/.output/server/chunks/build/{interval-DHZqEf-n.mjs.map → interval-DPa3fpS0.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{login-B5YkLJCV.mjs → login-D9DpNq3o.mjs} +6 -5
- package/ui/.output/server/chunks/build/login-D9DpNq3o.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{logs-BvD1Y3HI.mjs → logs-BVuWOSb6.mjs} +49 -31
- package/ui/.output/server/chunks/build/logs-BVuWOSb6.mjs.map +1 -0
- package/ui/.output/server/chunks/build/logs-styles.C2Mi0JvX.mjs +8 -0
- package/ui/.output/server/chunks/build/logs-styles.C2Mi0JvX.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{run-BStPkbGg.mjs → run-BVQZSGcX.mjs} +5 -5
- package/ui/.output/server/chunks/build/{run-BStPkbGg.mjs.map → run-BVQZSGcX.mjs.map} +1 -1
- package/ui/.output/server/chunks/build/{schedule-B2UKsnRW.mjs → schedule-rRz2CwWh.mjs} +10 -9
- package/ui/.output/server/chunks/build/schedule-rRz2CwWh.mjs.map +1 -0
- package/ui/.output/server/chunks/build/server.mjs +14 -9
- package/ui/.output/server/chunks/build/server.mjs.map +1 -1
- package/ui/.output/server/chunks/build/styles.mjs +6 -5
- package/ui/.output/server/chunks/build/styles.mjs.map +1 -1
- package/ui/.output/server/chunks/build/{tasks-DBH3Z6lg.mjs → tasks-DJjZQWcq.mjs} +10 -9
- package/ui/.output/server/chunks/build/tasks-DJjZQWcq.mjs.map +1 -0
- package/ui/.output/server/chunks/build/{useApi-Bqajqsuz.mjs → useApi-Brbyp7hV.mjs} +3 -3
- package/ui/.output/server/chunks/build/useApi-Brbyp7hV.mjs.map +1 -0
- package/ui/.output/server/chunks/build/useFormGroup-DqE91r20.mjs +61 -0
- package/ui/.output/server/chunks/build/useFormGroup-DqE91r20.mjs.map +1 -0
- package/ui/.output/server/chunks/nitro/nitro.mjs +189 -151
- package/ui/.output/server/chunks/routes/api/config/test.post.mjs +1 -1
- package/ui/.output/server/chunks/routes/api/config/test.post.mjs.map +1 -1
- package/ui/.output/server/chunks/routes/api/hooks-execute.post.mjs +83 -0
- package/ui/.output/server/chunks/routes/api/hooks-execute.post.mjs.map +1 -0
- package/ui/.output/server/chunks/routes/api/hooks-regenerate.post.mjs +31 -0
- package/ui/.output/server/chunks/routes/api/hooks-regenerate.post.mjs.map +1 -0
- package/ui/.output/server/chunks/routes/api/hooks-update.post.mjs +31 -0
- package/ui/.output/server/chunks/routes/api/hooks-update.post.mjs.map +1 -0
- package/ui/.output/server/chunks/routes/api/hooks.get.mjs +28 -0
- package/ui/.output/server/chunks/routes/api/hooks.get.mjs.map +1 -0
- package/ui/.output/server/chunks/routes/api/hooks.put.mjs +33 -0
- package/ui/.output/server/chunks/routes/api/hooks.put.mjs.map +1 -0
- package/ui/.output/server/chunks/routes/api/logs.get.mjs +7 -2
- package/ui/.output/server/chunks/routes/api/logs.get.mjs.map +1 -1
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/_virtual/_rollupPluginBabelHelpers.js +123 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/config/index.js +11 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/index.js +9 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/loader/index.js +175 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/utils/compose.js +16 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/utils/curry.js +20 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/utils/deepMerge.js +18 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/utils/isObject.js +9 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/utils/makeCancelable.js +25 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/lib/cjs/validators/index.js +49 -0
- package/ui/.output/server/node_modules/@monaco-editor/loader/package.json +51 -0
- package/ui/.output/server/node_modules/@tanstack/virtual-core/dist/esm/index.js +1197 -0
- package/ui/.output/server/node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js +34 -0
- package/ui/.output/server/node_modules/@tanstack/virtual-core/dist/esm/utils.js +74 -0
- package/ui/.output/server/node_modules/@tanstack/virtual-core/package.json +56 -0
- package/ui/.output/server/node_modules/@tanstack/vue-virtual/dist/esm/index.js +66 -0
- package/ui/.output/server/node_modules/@tanstack/vue-virtual/package.json +68 -0
- package/ui/.output/server/node_modules/state-local/lib/cjs/state-local.js +195 -0
- package/ui/.output/server/node_modules/state-local/package.json +59 -0
- package/ui/.output/server/package.json +4 -0
- package/ui/package.json +1 -0
- package/ui/.output/public/_nuxt/B93YYUZf.js +0 -1
- package/ui/.output/public/_nuxt/BAs1isOw.js +0 -1
- package/ui/.output/public/_nuxt/BrZL2iQr.js +0 -1
- package/ui/.output/public/_nuxt/Bv6Ws9vz.js +0 -1
- package/ui/.output/public/_nuxt/C2WdrjFS.js +0 -1
- package/ui/.output/public/_nuxt/CVTgFccA.js +0 -2
- package/ui/.output/public/_nuxt/Ceb2855t.js +0 -1
- package/ui/.output/public/_nuxt/Cg55PjEy.js +0 -4
- package/ui/.output/public/_nuxt/D0ZgktSu.js +0 -1
- package/ui/.output/public/_nuxt/DZIUG6ZX.js +0 -1
- package/ui/.output/public/_nuxt/DihqGT4A.js +0 -1
- package/ui/.output/public/_nuxt/MzK2TZ-I.js +0 -16
- package/ui/.output/public/_nuxt/TJXLPQOj.js +0 -1
- package/ui/.output/public/_nuxt/VuiIFQtE.js +0 -1
- package/ui/.output/public/_nuxt/config.C19X1GwO.css +0 -1
- package/ui/.output/public/_nuxt/default.Dw-0Xw5D.css +0 -1
- package/ui/.output/public/_nuxt/logs.PK6CTQHM.css +0 -1
- package/ui/.output/server/chunks/build/Button-CZHl6fpI.mjs.map +0 -1
- package/ui/.output/server/chunks/build/Input-kmqS1oY_.mjs.map +0 -1
- package/ui/.output/server/chunks/build/Modal-DmZs0Ekg.mjs.map +0 -1
- package/ui/.output/server/chunks/build/config-Bkb2wy7R.mjs.map +0 -1
- package/ui/.output/server/chunks/build/config-styles.B4mTchgT.mjs +0 -8
- package/ui/.output/server/chunks/build/config-styles.B4mTchgT.mjs.map +0 -1
- package/ui/.output/server/chunks/build/default-DmD3qBXZ.mjs.map +0 -1
- package/ui/.output/server/chunks/build/default-styles.DmprFUrQ.mjs +0 -8
- package/ui/.output/server/chunks/build/default-styles.DmprFUrQ.mjs.map +0 -1
- package/ui/.output/server/chunks/build/entry-styles.Cg1Sndbr.mjs +0 -11
- package/ui/.output/server/chunks/build/entry-styles.Cg1Sndbr.mjs.map +0 -1
- package/ui/.output/server/chunks/build/index-Dy4Tu7MB.mjs.map +0 -1
- package/ui/.output/server/chunks/build/login-B5YkLJCV.mjs.map +0 -1
- package/ui/.output/server/chunks/build/logs-BvD1Y3HI.mjs.map +0 -1
- package/ui/.output/server/chunks/build/logs-styles.CU5b1wKf.mjs +0 -8
- package/ui/.output/server/chunks/build/logs-styles.CU5b1wKf.mjs.map +0 -1
- package/ui/.output/server/chunks/build/schedule-B2UKsnRW.mjs.map +0 -1
- package/ui/.output/server/chunks/build/tasks-DBH3Z6lg.mjs.map +0 -1
- package/ui/.output/server/chunks/build/useApi-Bqajqsuz.mjs.map +0 -1
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
function createLazyMeasurementsView(count, flat, getItemKey) {
|
|
2
|
+
const cache = new Array(count);
|
|
3
|
+
return new Proxy(cache, {
|
|
4
|
+
get(target, prop, receiver) {
|
|
5
|
+
if (typeof prop === "string") {
|
|
6
|
+
const c = prop.charCodeAt(0);
|
|
7
|
+
if (c >= 48 && c <= 57) {
|
|
8
|
+
const i = +prop;
|
|
9
|
+
if (Number.isInteger(i) && i >= 0 && i < count) {
|
|
10
|
+
let v = target[i];
|
|
11
|
+
if (!v) {
|
|
12
|
+
const s = flat[i * 2];
|
|
13
|
+
v = target[i] = {
|
|
14
|
+
index: i,
|
|
15
|
+
key: getItemKey(i),
|
|
16
|
+
start: s,
|
|
17
|
+
size: flat[i * 2 + 1],
|
|
18
|
+
end: s + flat[i * 2 + 1],
|
|
19
|
+
lane: 0
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
return v;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
if (prop === "length") return count;
|
|
26
|
+
}
|
|
27
|
+
return Reflect.get(target, prop, receiver);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
export {
|
|
32
|
+
createLazyMeasurementsView
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=lazy-measurements.js.map
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
function memo(getDeps, fn, opts) {
|
|
2
|
+
let deps = opts.initialDeps ?? [];
|
|
3
|
+
let result;
|
|
4
|
+
let isInitial = true;
|
|
5
|
+
function memoizedFunction() {
|
|
6
|
+
var _a;
|
|
7
|
+
const debugEnabled = process.env.NODE_ENV !== "production" && !!opts.key && !!((_a = opts.debug) == null ? void 0 : _a.call(opts));
|
|
8
|
+
let depTime = 0;
|
|
9
|
+
if (debugEnabled) depTime = Date.now();
|
|
10
|
+
const newDeps = getDeps();
|
|
11
|
+
const depsChanged = newDeps.length !== deps.length || newDeps.some((dep, index) => deps[index] !== dep);
|
|
12
|
+
if (!depsChanged) {
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
deps = newDeps;
|
|
16
|
+
let resultTime = 0;
|
|
17
|
+
if (debugEnabled) resultTime = Date.now();
|
|
18
|
+
result = fn(...newDeps);
|
|
19
|
+
if (debugEnabled) {
|
|
20
|
+
const depEndTime = Math.round((Date.now() - depTime) * 100) / 100;
|
|
21
|
+
const resultEndTime = Math.round((Date.now() - resultTime) * 100) / 100;
|
|
22
|
+
const resultFpsPercentage = resultEndTime / 16;
|
|
23
|
+
const pad = (str, num) => {
|
|
24
|
+
str = String(str);
|
|
25
|
+
while (str.length < num) {
|
|
26
|
+
str = " " + str;
|
|
27
|
+
}
|
|
28
|
+
return str;
|
|
29
|
+
};
|
|
30
|
+
console.info(
|
|
31
|
+
`%c⏱ ${pad(resultEndTime, 5)} /${pad(depEndTime, 5)} ms`,
|
|
32
|
+
`
|
|
33
|
+
font-size: .6rem;
|
|
34
|
+
font-weight: bold;
|
|
35
|
+
color: hsl(${Math.max(
|
|
36
|
+
0,
|
|
37
|
+
Math.min(120 - 120 * resultFpsPercentage, 120)
|
|
38
|
+
)}deg 100% 31%);`,
|
|
39
|
+
opts == null ? void 0 : opts.key
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
if ((opts == null ? void 0 : opts.onChange) && !(isInitial && opts.skipInitialOnChange)) {
|
|
43
|
+
opts.onChange(result);
|
|
44
|
+
}
|
|
45
|
+
isInitial = false;
|
|
46
|
+
return result;
|
|
47
|
+
}
|
|
48
|
+
memoizedFunction.updateDeps = (newDeps) => {
|
|
49
|
+
deps = newDeps;
|
|
50
|
+
};
|
|
51
|
+
return memoizedFunction;
|
|
52
|
+
}
|
|
53
|
+
function notUndefined(value, msg) {
|
|
54
|
+
if (value === void 0) {
|
|
55
|
+
throw new Error(`Unexpected undefined${msg ? `: ${msg}` : ""}`);
|
|
56
|
+
} else {
|
|
57
|
+
return value;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
const approxEqual = (a, b) => Math.abs(a - b) < 1.01;
|
|
61
|
+
const debounce = (targetWindow, fn, ms) => {
|
|
62
|
+
let timeoutId;
|
|
63
|
+
return function(...args) {
|
|
64
|
+
targetWindow.clearTimeout(timeoutId);
|
|
65
|
+
timeoutId = targetWindow.setTimeout(() => fn.apply(this, args), ms);
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
export {
|
|
69
|
+
approxEqual,
|
|
70
|
+
debounce,
|
|
71
|
+
memo,
|
|
72
|
+
notUndefined
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tanstack/virtual-core",
|
|
3
|
+
"version": "3.16.0",
|
|
4
|
+
"description": "Headless UI for virtualizing scrollable elements in TS/JS + Frameworks",
|
|
5
|
+
"author": "Tanner Linsley",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/TanStack/virtual.git",
|
|
10
|
+
"directory": "packages/virtual-core"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://tanstack.com/virtual",
|
|
13
|
+
"funding": {
|
|
14
|
+
"type": "github",
|
|
15
|
+
"url": "https://github.com/sponsors/tannerlinsley"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"react",
|
|
19
|
+
"vue",
|
|
20
|
+
"solid",
|
|
21
|
+
"virtual",
|
|
22
|
+
"virtual-core",
|
|
23
|
+
"datagrid"
|
|
24
|
+
],
|
|
25
|
+
"type": "module",
|
|
26
|
+
"types": "dist/esm/index.d.ts",
|
|
27
|
+
"main": "dist/cjs/index.cjs",
|
|
28
|
+
"module": "dist/esm/index.js",
|
|
29
|
+
"exports": {
|
|
30
|
+
".": {
|
|
31
|
+
"import": {
|
|
32
|
+
"types": "./dist/esm/index.d.ts",
|
|
33
|
+
"default": "./dist/esm/index.js"
|
|
34
|
+
},
|
|
35
|
+
"require": {
|
|
36
|
+
"types": "./dist/cjs/index.d.cts",
|
|
37
|
+
"default": "./dist/cjs/index.cjs"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"./package.json": "./package.json"
|
|
41
|
+
},
|
|
42
|
+
"sideEffects": false,
|
|
43
|
+
"files": [
|
|
44
|
+
"dist",
|
|
45
|
+
"src"
|
|
46
|
+
],
|
|
47
|
+
"scripts": {
|
|
48
|
+
"clean": "premove ./dist ./coverage",
|
|
49
|
+
"test:eslint": "eslint ./src",
|
|
50
|
+
"test:types": "tsc",
|
|
51
|
+
"test:lib": "vitest",
|
|
52
|
+
"test:lib:dev": "pnpm run test:lib --watch",
|
|
53
|
+
"test:build": "publint --strict",
|
|
54
|
+
"build": "vite build"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { elementScroll, observeElementOffset, observeElementRect, windowScroll, observeWindowOffset, observeWindowRect, Virtualizer } from "@tanstack/virtual-core";
|
|
2
|
+
export * from "@tanstack/virtual-core";
|
|
3
|
+
import { computed, unref, shallowRef, watch, triggerRef, onScopeDispose } from "vue";
|
|
4
|
+
function useVirtualizerBase(options) {
|
|
5
|
+
const virtualizer = new Virtualizer(unref(options));
|
|
6
|
+
const state = shallowRef(virtualizer);
|
|
7
|
+
const cleanup = virtualizer._didMount();
|
|
8
|
+
watch(
|
|
9
|
+
() => unref(options).getScrollElement(),
|
|
10
|
+
(el) => {
|
|
11
|
+
if (el) {
|
|
12
|
+
virtualizer._willUpdate();
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
immediate: true
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
watch(
|
|
20
|
+
() => unref(options),
|
|
21
|
+
(options2) => {
|
|
22
|
+
virtualizer.setOptions({
|
|
23
|
+
...options2,
|
|
24
|
+
onChange: (instance, sync) => {
|
|
25
|
+
var _a;
|
|
26
|
+
triggerRef(state);
|
|
27
|
+
(_a = options2.onChange) == null ? void 0 : _a.call(options2, instance, sync);
|
|
28
|
+
}
|
|
29
|
+
});
|
|
30
|
+
virtualizer._willUpdate();
|
|
31
|
+
triggerRef(state);
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
immediate: true
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
onScopeDispose(cleanup);
|
|
38
|
+
return state;
|
|
39
|
+
}
|
|
40
|
+
function useVirtualizer(options) {
|
|
41
|
+
return useVirtualizerBase(
|
|
42
|
+
computed(() => ({
|
|
43
|
+
observeElementRect,
|
|
44
|
+
observeElementOffset,
|
|
45
|
+
scrollToFn: elementScroll,
|
|
46
|
+
...unref(options)
|
|
47
|
+
}))
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
function useWindowVirtualizer(options) {
|
|
51
|
+
return useVirtualizerBase(
|
|
52
|
+
computed(() => ({
|
|
53
|
+
getScrollElement: () => typeof document !== "undefined" ? window : null,
|
|
54
|
+
observeElementRect: observeWindowRect,
|
|
55
|
+
observeElementOffset: observeWindowOffset,
|
|
56
|
+
scrollToFn: windowScroll,
|
|
57
|
+
initialOffset: () => typeof document !== "undefined" ? window.scrollY : 0,
|
|
58
|
+
...unref(options)
|
|
59
|
+
}))
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
export {
|
|
63
|
+
useVirtualizer,
|
|
64
|
+
useWindowVirtualizer
|
|
65
|
+
};
|
|
66
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@tanstack/vue-virtual",
|
|
3
|
+
"version": "3.13.26",
|
|
4
|
+
"description": "Headless UI for virtualizing scrollable elements in Vue",
|
|
5
|
+
"author": "Tanner Linsley",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/TanStack/virtual.git",
|
|
10
|
+
"directory": "packages/vue-virtual"
|
|
11
|
+
},
|
|
12
|
+
"homepage": "https://tanstack.com/virtual",
|
|
13
|
+
"publishConfig": {
|
|
14
|
+
"registry": "https://registry.npmjs.org/"
|
|
15
|
+
},
|
|
16
|
+
"funding": {
|
|
17
|
+
"type": "github",
|
|
18
|
+
"url": "https://github.com/sponsors/tannerlinsley"
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"react",
|
|
22
|
+
"vue",
|
|
23
|
+
"solid",
|
|
24
|
+
"svelte",
|
|
25
|
+
"virtual",
|
|
26
|
+
"virtual-core",
|
|
27
|
+
"datagrid"
|
|
28
|
+
],
|
|
29
|
+
"type": "module",
|
|
30
|
+
"types": "dist/esm/index.d.ts",
|
|
31
|
+
"main": "dist/cjs/index.cjs",
|
|
32
|
+
"module": "dist/esm/index.js",
|
|
33
|
+
"exports": {
|
|
34
|
+
".": {
|
|
35
|
+
"import": {
|
|
36
|
+
"types": "./dist/esm/index.d.ts",
|
|
37
|
+
"default": "./dist/esm/index.js"
|
|
38
|
+
},
|
|
39
|
+
"require": {
|
|
40
|
+
"types": "./dist/cjs/index.d.cts",
|
|
41
|
+
"default": "./dist/cjs/index.cjs"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"./package.json": "./package.json"
|
|
45
|
+
},
|
|
46
|
+
"sideEffects": false,
|
|
47
|
+
"files": [
|
|
48
|
+
"dist",
|
|
49
|
+
"src"
|
|
50
|
+
],
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"@tanstack/virtual-core": "3.16.0"
|
|
53
|
+
},
|
|
54
|
+
"devDependencies": {
|
|
55
|
+
"@vitejs/plugin-vue": "^5.2.4",
|
|
56
|
+
"vue": "^3.5.16"
|
|
57
|
+
},
|
|
58
|
+
"peerDependencies": {
|
|
59
|
+
"vue": "^2.7.0 || ^3.0.0"
|
|
60
|
+
},
|
|
61
|
+
"scripts": {
|
|
62
|
+
"clean": "premove ./dist ./coverage",
|
|
63
|
+
"test:eslint": "eslint ./src",
|
|
64
|
+
"test:types": "tsc",
|
|
65
|
+
"test:build": "publint --strict",
|
|
66
|
+
"build": "vite build"
|
|
67
|
+
}
|
|
68
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function _defineProperty(obj, key, value) {
|
|
4
|
+
if (key in obj) {
|
|
5
|
+
Object.defineProperty(obj, key, {
|
|
6
|
+
value: value,
|
|
7
|
+
enumerable: true,
|
|
8
|
+
configurable: true,
|
|
9
|
+
writable: true
|
|
10
|
+
});
|
|
11
|
+
} else {
|
|
12
|
+
obj[key] = value;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
return obj;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function ownKeys(object, enumerableOnly) {
|
|
19
|
+
var keys = Object.keys(object);
|
|
20
|
+
|
|
21
|
+
if (Object.getOwnPropertySymbols) {
|
|
22
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
23
|
+
if (enumerableOnly) symbols = symbols.filter(function (sym) {
|
|
24
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
25
|
+
});
|
|
26
|
+
keys.push.apply(keys, symbols);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
return keys;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
function _objectSpread2(target) {
|
|
33
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
34
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
35
|
+
|
|
36
|
+
if (i % 2) {
|
|
37
|
+
ownKeys(Object(source), true).forEach(function (key) {
|
|
38
|
+
_defineProperty(target, key, source[key]);
|
|
39
|
+
});
|
|
40
|
+
} else if (Object.getOwnPropertyDescriptors) {
|
|
41
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
42
|
+
} else {
|
|
43
|
+
ownKeys(Object(source)).forEach(function (key) {
|
|
44
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return target;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
function compose() {
|
|
53
|
+
for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
54
|
+
fns[_key] = arguments[_key];
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
return function (x) {
|
|
58
|
+
return fns.reduceRight(function (y, f) {
|
|
59
|
+
return f(y);
|
|
60
|
+
}, x);
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
function curry(fn) {
|
|
65
|
+
return function curried() {
|
|
66
|
+
var _this = this;
|
|
67
|
+
|
|
68
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
69
|
+
args[_key2] = arguments[_key2];
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return args.length >= fn.length ? fn.apply(this, args) : function () {
|
|
73
|
+
for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
74
|
+
nextArgs[_key3] = arguments[_key3];
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return curried.apply(_this, [].concat(args, nextArgs));
|
|
78
|
+
};
|
|
79
|
+
};
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function isObject(value) {
|
|
83
|
+
return {}.toString.call(value).includes('Object');
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
function isEmpty(obj) {
|
|
87
|
+
return !Object.keys(obj).length;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
function isFunction(value) {
|
|
91
|
+
return typeof value === 'function';
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
function hasOwnProperty(object, property) {
|
|
95
|
+
return Object.prototype.hasOwnProperty.call(object, property);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
function validateChanges(initial, changes) {
|
|
99
|
+
if (!isObject(changes)) errorHandler('changeType');
|
|
100
|
+
if (Object.keys(changes).some(function (field) {
|
|
101
|
+
return !hasOwnProperty(initial, field);
|
|
102
|
+
})) errorHandler('changeField');
|
|
103
|
+
return changes;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function validateSelector(selector) {
|
|
107
|
+
if (!isFunction(selector)) errorHandler('selectorType');
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
function validateHandler(handler) {
|
|
111
|
+
if (!(isFunction(handler) || isObject(handler))) errorHandler('handlerType');
|
|
112
|
+
if (isObject(handler) && Object.values(handler).some(function (_handler) {
|
|
113
|
+
return !isFunction(_handler);
|
|
114
|
+
})) errorHandler('handlersType');
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
function validateInitial(initial) {
|
|
118
|
+
if (!initial) errorHandler('initialIsRequired');
|
|
119
|
+
if (!isObject(initial)) errorHandler('initialType');
|
|
120
|
+
if (isEmpty(initial)) errorHandler('initialContent');
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
function throwError(errorMessages, type) {
|
|
124
|
+
throw new Error(errorMessages[type] || errorMessages["default"]);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
var errorMessages = {
|
|
128
|
+
initialIsRequired: 'initial state is required',
|
|
129
|
+
initialType: 'initial state should be an object',
|
|
130
|
+
initialContent: 'initial state shouldn\'t be an empty object',
|
|
131
|
+
handlerType: 'handler should be an object or a function',
|
|
132
|
+
handlersType: 'all handlers should be a functions',
|
|
133
|
+
selectorType: 'selector should be a function',
|
|
134
|
+
changeType: 'provided value of changes should be an object',
|
|
135
|
+
changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state',
|
|
136
|
+
"default": 'an unknown error accured in `state-local` package'
|
|
137
|
+
};
|
|
138
|
+
var errorHandler = curry(throwError)(errorMessages);
|
|
139
|
+
var validators = {
|
|
140
|
+
changes: validateChanges,
|
|
141
|
+
selector: validateSelector,
|
|
142
|
+
handler: validateHandler,
|
|
143
|
+
initial: validateInitial
|
|
144
|
+
};
|
|
145
|
+
|
|
146
|
+
function create(initial) {
|
|
147
|
+
var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
148
|
+
validators.initial(initial);
|
|
149
|
+
validators.handler(handler);
|
|
150
|
+
var state = {
|
|
151
|
+
current: initial
|
|
152
|
+
};
|
|
153
|
+
var didUpdate = curry(didStateUpdate)(state, handler);
|
|
154
|
+
var update = curry(updateState)(state);
|
|
155
|
+
var validate = curry(validators.changes)(initial);
|
|
156
|
+
var getChanges = curry(extractChanges)(state);
|
|
157
|
+
|
|
158
|
+
function getState() {
|
|
159
|
+
var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {
|
|
160
|
+
return state;
|
|
161
|
+
};
|
|
162
|
+
validators.selector(selector);
|
|
163
|
+
return selector(state.current);
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function setState(causedChanges) {
|
|
167
|
+
compose(didUpdate, update, validate, getChanges)(causedChanges);
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
return [getState, setState];
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
function extractChanges(state, causedChanges) {
|
|
174
|
+
return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
function updateState(state, changes) {
|
|
178
|
+
state.current = _objectSpread2(_objectSpread2({}, state.current), changes);
|
|
179
|
+
return changes;
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
function didStateUpdate(state, handler, changes) {
|
|
183
|
+
isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {
|
|
184
|
+
var _handler$field;
|
|
185
|
+
|
|
186
|
+
return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);
|
|
187
|
+
});
|
|
188
|
+
return changes;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
var index = {
|
|
192
|
+
create: create
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
module.exports = index;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "state-local",
|
|
3
|
+
"version": "1.0.7",
|
|
4
|
+
"description": "Tiny, simple, and robust technique for defining and acting with local states",
|
|
5
|
+
"main": "lib/cjs/state-local.js",
|
|
6
|
+
"module": "lib/es/state-local.js",
|
|
7
|
+
"unpkg": "lib/umd/state-local.min.js",
|
|
8
|
+
"jsdelivr": "lib/umd/state-local.min.js",
|
|
9
|
+
"types": "lib/types.d.ts",
|
|
10
|
+
"author": "Suren Atoyan <contact@surenatoyan.com>",
|
|
11
|
+
"license": "MIT",
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/suren-atoyan/state-local"
|
|
15
|
+
},
|
|
16
|
+
"bugs": {
|
|
17
|
+
"url": "https://github.com/suren-atoyan/state-local/issues"
|
|
18
|
+
},
|
|
19
|
+
"homepage": "https://github.com/suren-atoyan/state-local#readme",
|
|
20
|
+
"keywords": [
|
|
21
|
+
"state",
|
|
22
|
+
"state management",
|
|
23
|
+
"local state"
|
|
24
|
+
],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"test": "jest",
|
|
27
|
+
"test-watch": "npm run build && jest --watch",
|
|
28
|
+
"coverage": "jest --collect-coverage",
|
|
29
|
+
"lint": "npx eslint src",
|
|
30
|
+
"prepublish": "npm test && npm run lint && npm run build",
|
|
31
|
+
"build": "rollup -c && cp ./src/types.d.ts ./lib/"
|
|
32
|
+
},
|
|
33
|
+
"babel": {
|
|
34
|
+
"presets": [
|
|
35
|
+
"@babel/preset-env"
|
|
36
|
+
]
|
|
37
|
+
},
|
|
38
|
+
"husky": {
|
|
39
|
+
"hooks": {
|
|
40
|
+
"pre-commit": "npm test && npm run lint"
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"devDependencies": {
|
|
44
|
+
"@babel/core": "^7.11.0",
|
|
45
|
+
"@babel/preset-env": "^7.11.0",
|
|
46
|
+
"@rollup/plugin-babel": "^5.2.2",
|
|
47
|
+
"@rollup/plugin-commonjs": "^17.0.0",
|
|
48
|
+
"@rollup/plugin-node-resolve": "^11.0.1",
|
|
49
|
+
"@rollup/plugin-replace": "^2.3.4",
|
|
50
|
+
"babel-jest": "^26.2.2",
|
|
51
|
+
"babel-loader": "^8.1.0",
|
|
52
|
+
"eslint": "^7.6.0",
|
|
53
|
+
"husky": "^4.2.5",
|
|
54
|
+
"jest": "^26.2.2",
|
|
55
|
+
"rollup": "^2.35.1",
|
|
56
|
+
"rollup-plugin-terser": "^7.0.2"
|
|
57
|
+
},
|
|
58
|
+
"dependencies": {}
|
|
59
|
+
}
|
|
@@ -19,6 +19,9 @@
|
|
|
19
19
|
"@exodus/bytes": "1.15.1",
|
|
20
20
|
"@iconify/utils": "2.3.0",
|
|
21
21
|
"@iconify/vue": "5.0.1",
|
|
22
|
+
"@monaco-editor/loader": "1.7.0",
|
|
23
|
+
"@tanstack/virtual-core": "3.16.0",
|
|
24
|
+
"@tanstack/vue-virtual": "3.13.26",
|
|
22
25
|
"@vue/compiler-core": "3.5.35",
|
|
23
26
|
"@vue/compiler-dom": "3.5.35",
|
|
24
27
|
"@vue/compiler-ssr": "3.5.35",
|
|
@@ -56,6 +59,7 @@
|
|
|
56
59
|
"punycode": "2.3.1",
|
|
57
60
|
"saxes": "6.0.0",
|
|
58
61
|
"source-map-js": "1.2.1",
|
|
62
|
+
"state-local": "1.0.7",
|
|
59
63
|
"supports-color": "7.2.0",
|
|
60
64
|
"symbol-tree": "3.2.4",
|
|
61
65
|
"tailwind-merge": "2.6.1",
|
package/ui/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as Ve}from"./Ceb2855t.js";import{_ as Se}from"./C2WdrjFS.js";import{_ as he}from"./DihqGT4A.js";import{_ as De}from"./DZIUG6ZX.js";import{_ as be}from"./DZd8Jv5H.js";import{_ as Ue}from"./Bv6Ws9vz.js";import{_ as Pe}from"./BrZL2iQr.js";import{_ as Ce}from"./Cg55PjEy.js";import{u as Ge}from"./BtD1YBwM.js";import{l as Le,L as xe,i as f,k as a,ai as n,v as H,a6 as l,V as v,U as B,O as u,g as k,h as O,j as T,f as i,a1 as C,F as W,W as j,e as G}from"./MzK2TZ-I.js";import{_ as Ke}from"./DlAUqK2U.js";import"./B8sr5ZW-.js";import"./BAs1isOw.js";const we={class:"config-page"},Me={class:"flex items-center justify-between gap-3"},He={class:"text-xs text-gray-500 mt-1"},Be={key:0,class:"ml-2 text-amber-600"},We={key:1,class:"ml-2 text-emerald-600"},je={class:"flex items-center gap-2"},Fe={key:2,class:"mb-4"},Ye={class:"flex items-center justify-between gap-3"},ze={class:"grid gap-4 md:grid-cols-2"},$e={class:"flex items-center justify-between gap-3"},Je={class:"flex items-center gap-2"},Xe={class:"space-y-3"},Ze={class:"flex items-center justify-between gap-3 mb-3"},qe={class:"flex items-center gap-2 min-w-0"},Qe={class:"flex flex-col gap-0.5"},el={key:1,class:"text-xs text-gray-400"},ll={key:0,class:"grid gap-4 md:grid-cols-2"},tl={key:1,class:"text-sm text-gray-500"},ol={class:"grid gap-4 md:grid-cols-2"},al={class:"grid gap-4 md:grid-cols-2"},sl={class:"flex items-center justify-between gap-3"},nl={key:0,class:"text-sm text-gray-500"},rl={key:1,class:"grid gap-4 md:grid-cols-2"},dl={class:"flex items-center gap-2"},il={class:"space-y-3"},ul={key:0,class:"text-sm text-red-500"},pl={class:"flex justify-end gap-2"},z="PROVIDER",_l=Le({__name:"config",setup(cl){const V=Ge(),$=v(""),L=v(null),x=v(!1),N=v(""),R=v(!1),K=v(!1),J=v(0),s=B({}),S=B({}),g=B({provider:!1,ai:!1}),E=B({provider:null,ai:null}),I=v(""),h=v(!1),D=v(""),b=v(""),U=v(""),ne=[{label:"ClickUp",value:"clickup"},{label:"Jira",value:"jira"},{label:"Linear",value:"linear"},{label:"Monday",value:"monday"},{label:"Notion",value:"notion"},{label:"Trello",value:"trello"},{label:"Local",value:"local"}],F=["antigravity","anthropic-sdk","claude","codex","cursor","windsurf"],re=F.map(t=>({label:t,value:t})),de={claude:[{key:"CLAUDE_MODEL",help:"Model passed to `claude --model`. Default routes plan→opus and code→sonnet.",placeholder:"opusplan"}],"anthropic-sdk":[{key:"ANTHROPIC_API_KEY",help:"Accepts a single key or comma-separated pool; the runner rotates round-robin.",secret:!0},{key:"ANTHROPIC_MODEL",placeholder:"claude-opus-4-6"},{key:"ANTHROPIC_BASE_URL",help:"Optional — leave blank for default.",placeholder:"https://api.anthropic.com"},{key:"ANTHROPIC_SDK_MAX_RETRIES",help:"Retries after transient SDK errors. Set 0 to disable. Default: 3.",placeholder:"3"}],windsurf:[{key:"WINDSURF_TOKEN",help:"Required for Docker mode on Windows.",secret:!0},{key:"WINDSURF_DOCKER_IMAGE",help:"Docker image for headless Windsurf on Windows.",placeholder:"windsurfinabox"},{key:"WINDSURF_CONFIG_DIR",help:"Optional — defaults to ~/.config/Windsurf."}],cursor:[],codex:[],antigravity:[]},X={cursor:"Uses the `agent` CLI — no extra env keys.",codex:"Uses the `codex` CLI. Set OPENAI_API_KEY or run `codex login`.",antigravity:"Uses the `agy` or `antigravity` CLI — no extra env keys."};let w=0;const m=v([]),ie=G(()=>m.value.map(t=>({label:t.type,value:t.type}))),Z={clickup:[{key:"CLICKUP_API_KEY",secret:!0},{key:"CLICKUP_TEAM_ID"},{key:"CLICKUP_TAG",help:"Tag used to scope tasks to this project."},{key:"CLICKUP_LIST_ID",help:"Optional — required to create tasks."},{key:"CLICKUP_PENDING_STATUS",placeholder:"pending"},{key:"CLICKUP_OPEN_STATUS",placeholder:"open"},{key:"CLICKUP_IN_REVIEW_STATUS",placeholder:"review"}],jira:[{key:"JIRA_BASE_URL",placeholder:"https://mycompany.atlassian.net"},{key:"JIRA_EMAIL"},{key:"JIRA_API_TOKEN",secret:!0},{key:"JIRA_PROJECT"},{key:"JIRA_LABEL"},{key:"JIRA_PENDING_STATUS",placeholder:"To Do"},{key:"JIRA_IN_REVIEW_STATUS",placeholder:"In Review"}],linear:[{key:"LINEAR_API_KEY",secret:!0},{key:"LINEAR_TEAM_ID"},{key:"LINEAR_LABEL"},{key:"LINEAR_PENDING_STATUS",placeholder:"Pending"},{key:"LINEAR_IN_REVIEW_STATUS",placeholder:"In Review"}],monday:[{key:"MONDAY_API_TOKEN",secret:!0},{key:"MONDAY_BOARD_ID"},{key:"MONDAY_STATUS_COLUMN_ID",placeholder:"status"},{key:"MONDAY_GROUP_ID"}],notion:[{key:"NOTION_API_KEY",secret:!0},{key:"NOTION_DATABASE_ID"},{key:"NOTION_STATUS_PROPERTY",placeholder:"Status"},{key:"NOTION_PENDING_STATUS",placeholder:"pending"},{key:"NOTION_IN_REVIEW_STATUS",placeholder:"review"}],trello:[{key:"TRELLO_TOKEN",secret:!0},{key:"TRELLO_BOARD_ID"},{key:"TRELLO_LABEL"},{key:"TRELLO_OPEN_LIST",placeholder:"To Do"},{key:"TRELLO_PENDING_LIST",placeholder:"Blocked"},{key:"TRELLO_IN_PROGRESS_LIST",placeholder:"Doing"},{key:"TRELLO_IN_REVIEW_LIST",placeholder:"In Review"}],local:[]},q=["AGENTS","CLAUDE_MODEL","ANTHROPIC_API_KEY","ANTHROPIC_MODEL","ANTHROPIC_BASE_URL","ANTHROPIC_SDK_MAX_RETRIES","WINDSURF_TOKEN","WINDSURF_DOCKER_IMAGE","WINDSURF_CONFIG_DIR"],ue=[{label:"smart",value:"smart"},{label:"always",value:"always"}],Q=["DEV_NOTES_MODE","ASSIGNEE_TAG","AIDEV_TRIGGER_WORD","THINKING_TAG","PLANNING_TAG","ACCEPTED_TAG","DONE_STATUS","AIDEV_COMMENT_PREFIX","AIDEV_HOOKS_PATH","AIDEV_AUTO_COMPRESS","AIDEV_COMPRESS_THRESHOLD","GIT_REMOTE","GITHUB_BASE_BRANCH","GITHUB_REPO"],ee=["AIDEV_LOG_PATH"],pe=G(()=>{const t=(s.PROVIDER||"clickup").toLowerCase();return Z[t]??[]}),_e=G(()=>{const t=new Set([z,...q,...Q,...ee]);for(const e of Object.values(Z))for(const r of e)t.add(r.key);return t}),le=G(()=>Object.keys(s).filter(t=>!_e.value.has(t)).sort()),ce=G(()=>{const t=Object.keys(s),e=Object.keys(S);if(t.length!==e.length)return!0;for(const r of t)if((s[r]??"")!==(S[r]??""))return!0;return!1});function me(t){return/(KEY|TOKEN|SECRET|PASSWORD)$/i.test(t)}function te(t){return de[t]??[]}function fe(t){const e=t.split(",").map(r=>r.trim()).filter(Boolean).filter(r=>F.includes(r));return e.length===0?[{uid:w++,type:"claude"},{uid:w++,type:"cursor"}]:e.map(r=>({uid:w++,type:r}))}function P(){s.AGENTS=m.value.map(t=>t.type).join(",")}function Ee(){const t=new Set(m.value.map(r=>r.type)),e=F.find(r=>!t.has(r))??"claude";m.value.push({uid:w++,type:e}),P()}function ve(t){m.value.length<=1||(m.value.splice(t,1),P())}function oe(t,e){const r=t+e,d=m.value[t];if(!d||r<0||r>=m.value.length)return;const c=[...m.value];c.splice(t,1),c.splice(r,0,d),m.value=c,P()}function Y(t){$.value=t.path,L.value=t.exists;for(const d of Object.keys(s))delete s[d];for(const d of Object.keys(S))delete S[d];const e={};e[z]=t.values[z]||"clickup";for(const d of q)e[d]=t.values[d]??"";for(const d of Q)e[d]=t.values[d]??"";for(const d of ee)e[d]=t.values[d]??"";for(const[d,c]of Object.entries(t.values))e[d]=c;for(const[d,c]of Object.entries(e))s[d]=c,S[d]=c;m.value=fe(s.AGENTS||""),P();const r=m.value.map(d=>d.type);(!I.value||!r.includes(I.value))&&(I.value=r[0]??"")}async function ae(){x.value=!0,N.value="";try{const t=await V("/api/config");Y(t)}catch(t){N.value=t instanceof Error?t.message:String(t)}finally{x.value=!1}}async function ye(){R.value=!0,K.value=!1,N.value="";try{const t=await V("/api/config",{method:"PUT",body:{values:{...s}}});J.value=Object.keys(t.values).length,Y(t),K.value=!0,setTimeout(()=>K.value=!1,3e3)}catch(t){N.value=t instanceof Error?t.message:String(t)}finally{R.value=!1}}async function Ae(){const t={PROVIDER:"clickup",AGENTS:"claude,cursor",DEV_NOTES_MODE:"smart",AIDEV_TRIGGER_WORD:"aidev-continue",THINKING_TAG:"thinking",PLANNING_TAG:"planning"};R.value=!0;try{const e=await V("/api/config",{method:"PUT",body:{values:t}});Y(e)}catch(e){N.value=e instanceof Error?e.message:String(e)}finally{R.value=!1}}async function Ie(){g.provider=!0,E.provider=null;try{E.provider=await V("/api/config/test",{method:"POST",body:{provider:!0}})}catch(t){E.provider={ok:!1,message:t instanceof Error?t.message:String(t)}}finally{g.provider=!1}}async function Te(){if(I.value){g.ai=!0,E.ai=null;try{E.ai=await V("/api/config/test",{method:"POST",body:{ai:I.value}})}catch(t){E.ai={ok:!1,message:t instanceof Error?t.message:String(t)}}finally{g.ai=!1}}}function ge(t){delete s[t]}function se(){h.value=!1,D.value="",b.value="",U.value=""}function ke(){const t=D.value.trim();if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(t)){U.value="Key must match [A-Za-z_][A-Za-z0-9_]*";return}if(t in s){U.value=`Key ${t} already exists`;return}s[t]=b.value,se()}return xe(ae),(t,e)=>{const r=Ve,d=Se,c=he,M=De,p=be,_=Ue,Oe=Pe,Ne=Ce;return u(),f("div",we,[a(c,null,{header:n(()=>[i("div",Me,[i("div",null,[e[21]||(e[21]=i("h1",{class:"text-lg font-semibold"},"Config",-1)),i("p",He,[i("code",null,C(l($)||"—"),1),l(L)===!1?(u(),f("span",Be,"not found")):l(L)?(u(),f("span",We,"loaded")):O("",!0)])]),i("div",je,[a(r,{color:"gray",variant:"ghost",size:"sm",loading:l(x),disabled:l(x),onClick:ae},{default:n(()=>[...e[22]||(e[22]=[T(" Reload ",-1)])]),_:1},8,["loading","disabled"]),a(r,{color:"primary",size:"sm",loading:l(R),disabled:l(R)||!l(ce),onClick:ye},{default:n(()=>[...e[23]||(e[23]=[T(" Save changes ",-1)])]),_:1},8,["loading","disabled"])])])]),default:n(()=>[l(N)?(u(),k(d,{key:0,color:"red",variant:"soft",title:l(N),class:"mb-4"},null,8,["title"])):O("",!0),l(L)===!1?(u(),k(d,{key:1,color:"amber",variant:"soft",title:".env.aidev does not exist",description:"Press “Create with defaults” to seed the file with the minimum keys needed to start configuring.",class:"mb-4"},{actions:n(()=>[a(r,{size:"sm",color:"amber",loading:l(R),onClick:Ae},{default:n(()=>[...e[24]||(e[24]=[T(" Create with defaults ",-1)])]),_:1},8,["loading"])]),_:1})):O("",!0),l(K)?(u(),f("div",Fe,[a(d,{color:"green",variant:"soft",title:"Saved",description:`Wrote ${l(J)} key(s).`},null,8,["description"])])):O("",!0)]),_:1}),a(c,{class:"mt-4"},{header:n(()=>[i("div",Ye,[e[26]||(e[26]=i("h2",{class:"text-base font-semibold"},"Task provider",-1)),a(r,{size:"sm",color:"gray",variant:"soft",loading:l(g).provider,disabled:l(g).provider,onClick:Ie},{default:n(()=>[...e[25]||(e[25]=[T(" Test connection ",-1)])]),_:1},8,["loading","disabled"])])]),default:n(()=>[i("div",ze,[a(p,{label:"PROVIDER",help:"Which task backend aidev should talk to."},{default:n(()=>[a(M,{modelValue:l(s).PROVIDER,"onUpdate:modelValue":e[0]||(e[0]=o=>l(s).PROVIDER=o),options:ne},null,8,["modelValue"])]),_:1}),(u(!0),f(W,null,j(l(pe),o=>(u(),k(p,{key:o.key,label:o.key,help:o.help},{default:n(()=>[a(_,{modelValue:l(s)[o.key],"onUpdate:modelValue":y=>l(s)[o.key]=y,type:o.secret?"password":"text",placeholder:o.placeholder??"",autocomplete:"off"},null,8,["modelValue","onUpdate:modelValue","type","placeholder"])]),_:2},1032,["label","help"]))),128))]),l(E).provider?(u(),k(d,{key:0,color:l(E).provider.ok?"green":"red",variant:"soft",title:l(E).provider.ok?"Provider OK":"Provider failed",description:l(E).provider.message,class:"mt-3"},null,8,["color","title","description"])):O("",!0)]),_:1}),a(c,{class:"mt-4"},{header:n(()=>[i("div",$e,[e[27]||(e[27]=i("h2",{class:"text-base font-semibold"},"AI runners",-1)),i("div",Je,[a(M,{modelValue:l(I),"onUpdate:modelValue":e[1]||(e[1]=o=>H(I)?I.value=o:null),options:l(ie),size:"sm",class:"w-44"},null,8,["modelValue","options"]),a(r,{size:"sm",color:"gray",variant:"soft",loading:l(g).ai,disabled:l(g).ai||!l(I),onClick:Te},{default:n(()=>[T(" Test "+C(l(I)||"agent"),1)]),_:1},8,["loading","disabled"])])])]),default:n(()=>[e[30]||(e[30]=i("p",{class:"text-sm text-gray-500 mb-3"}," Agents in fallback order — first is primary, rest are tried when the previous fails. ",-1)),i("div",Xe,[(u(!0),f(W,null,j(l(m),(o,y)=>(u(),f("div",{key:o.uid,class:"agent-block rounded-lg border border-gray-200 dark:border-gray-700 p-4"},[i("div",Ze,[i("div",qe,[i("div",Qe,[a(r,{size:"xs",color:"gray",variant:"ghost",icon:"i-heroicons-chevron-up",disabled:y===0,"aria-label":"Move up",onClick:A=>oe(y,-1)},null,8,["disabled","onClick"]),a(r,{size:"xs",color:"gray",variant:"ghost",icon:"i-heroicons-chevron-down",disabled:y===l(m).length-1,"aria-label":"Move down",onClick:A=>oe(y,1)},null,8,["disabled","onClick"])]),a(M,{modelValue:o.type,"onUpdate:modelValue":[A=>o.type=A,P],options:l(re),class:"w-52"},null,8,["modelValue","onUpdate:modelValue","options"]),y===0?(u(),k(Oe,{key:0,color:"primary",variant:"subtle",size:"xs"},{default:n(()=>[...e[28]||(e[28]=[T(" primary ",-1)])]),_:1})):(u(),f("span",el,"fallback "+C(y),1))]),a(r,{size:"xs",color:"red",variant:"ghost",icon:"i-heroicons-trash",disabled:l(m).length<=1,"aria-label":"Remove agent",onClick:A=>ve(y)},null,8,["disabled","onClick"])]),te(o.type).length>0?(u(),f("div",ll,[(u(!0),f(W,null,j(te(o.type),A=>(u(),k(p,{key:A.key,label:A.key,help:A.help},{default:n(()=>[a(_,{modelValue:l(s)[A.key],"onUpdate:modelValue":Re=>l(s)[A.key]=Re,type:A.secret?"password":"text",placeholder:A.placeholder??"",autocomplete:"off"},null,8,["modelValue","onUpdate:modelValue","type","placeholder"])]),_:2},1032,["label","help"]))),128))])):X[o.type]?(u(),f("p",tl,C(X[o.type]),1)):O("",!0)]))),128)),a(r,{size:"sm",color:"gray",variant:"soft",icon:"i-heroicons-plus",onClick:Ee},{default:n(()=>[...e[29]||(e[29]=[T(" Add agent ",-1)])]),_:1})]),l(E).ai?(u(),k(d,{key:0,color:l(E).ai.ok?"green":"red",variant:"soft",title:l(E).ai.ok?"AI runner OK":"AI runner failed",description:l(E).ai.message,class:"mt-3"},null,8,["color","title","description"])):O("",!0)]),_:1}),a(c,{class:"mt-4"},{header:n(()=>[...e[31]||(e[31]=[i("h2",{class:"text-base font-semibold"},"Logging",-1)])]),default:n(()=>[i("div",ol,[a(p,{label:"AIDEV_LOG_PATH",help:"Path to the aidev log file. Defaults to ./aidev.log when blank."},{default:n(()=>[a(_,{modelValue:l(s).AIDEV_LOG_PATH,"onUpdate:modelValue":e[2]||(e[2]=o=>l(s).AIDEV_LOG_PATH=o),placeholder:"aidev.log"},null,8,["modelValue"])]),_:1})])]),_:1}),a(c,{class:"mt-4"},{header:n(()=>[...e[32]||(e[32]=[i("h2",{class:"text-base font-semibold"},"Workflow & Git",-1)])]),default:n(()=>[i("div",al,[a(p,{label:"DEV_NOTES_MODE",help:"smart — ask only when unclear; always — ask before every task."},{default:n(()=>[a(M,{modelValue:l(s).DEV_NOTES_MODE,"onUpdate:modelValue":e[3]||(e[3]=o=>l(s).DEV_NOTES_MODE=o),options:ue},null,8,["modelValue"])]),_:1}),a(p,{label:"ASSIGNEE_TAG",help:"Optional tag to scope tasks to a specific assignee."},{default:n(()=>[a(_,{modelValue:l(s).ASSIGNEE_TAG,"onUpdate:modelValue":e[4]||(e[4]=o=>l(s).ASSIGNEE_TAG=o)},null,8,["modelValue"])]),_:1}),a(p,{label:"AIDEV_TRIGGER_WORD",help:"Word that resumes a paused agent run."},{default:n(()=>[a(_,{modelValue:l(s).AIDEV_TRIGGER_WORD,"onUpdate:modelValue":e[5]||(e[5]=o=>l(s).AIDEV_TRIGGER_WORD=o),placeholder:"aidev-continue"},null,8,["modelValue"])]),_:1}),a(p,{label:"THINKING_TAG",help:"Tasks with this tag are broken into sub-tasks first."},{default:n(()=>[a(_,{modelValue:l(s).THINKING_TAG,"onUpdate:modelValue":e[6]||(e[6]=o=>l(s).THINKING_TAG=o),placeholder:"thinking"},null,8,["modelValue"])]),_:1}),a(p,{label:"PLANNING_TAG",help:"Tasks with this tag are split into sub-tickets."},{default:n(()=>[a(_,{modelValue:l(s).PLANNING_TAG,"onUpdate:modelValue":e[7]||(e[7]=o=>l(s).PLANNING_TAG=o),placeholder:"planning"},null,8,["modelValue"])]),_:1}),a(p,{label:"ACCEPTED_TAG",help:"Tag marking a task as accepted for implementation."},{default:n(()=>[a(_,{modelValue:l(s).ACCEPTED_TAG,"onUpdate:modelValue":e[8]||(e[8]=o=>l(s).ACCEPTED_TAG=o),placeholder:"accepted"},null,8,["modelValue"])]),_:1}),a(p,{label:"DONE_STATUS",help:"Provider status treated as done/closed."},{default:n(()=>[a(_,{modelValue:l(s).DONE_STATUS,"onUpdate:modelValue":e[9]||(e[9]=o=>l(s).DONE_STATUS=o)},null,8,["modelValue"])]),_:1}),a(p,{label:"AIDEV_COMMENT_PREFIX",help:"Prefix for aidev comments on tasks."},{default:n(()=>[a(_,{modelValue:l(s).AIDEV_COMMENT_PREFIX,"onUpdate:modelValue":e[10]||(e[10]=o=>l(s).AIDEV_COMMENT_PREFIX=o),placeholder:"[aidev]"},null,8,["modelValue"])]),_:1}),a(p,{label:"AIDEV_HOOKS_PATH",help:"Optional hooks module (.ts or .js)."},{default:n(()=>[a(_,{modelValue:l(s).AIDEV_HOOKS_PATH,"onUpdate:modelValue":e[11]||(e[11]=o=>l(s).AIDEV_HOOKS_PATH=o),placeholder:".aidev/aidev.hooks.ts"},null,8,["modelValue"])]),_:1}),a(p,{label:"AIDEV_AUTO_COMPRESS",help:"Set false/0/no to disable prompt compression."},{default:n(()=>[a(_,{modelValue:l(s).AIDEV_AUTO_COMPRESS,"onUpdate:modelValue":e[12]||(e[12]=o=>l(s).AIDEV_AUTO_COMPRESS=o),placeholder:"true"},null,8,["modelValue"])]),_:1}),a(p,{label:"AIDEV_COMPRESS_THRESHOLD",help:"Char count that triggers compression."},{default:n(()=>[a(_,{modelValue:l(s).AIDEV_COMPRESS_THRESHOLD,"onUpdate:modelValue":e[13]||(e[13]=o=>l(s).AIDEV_COMPRESS_THRESHOLD=o),placeholder:"12000"},null,8,["modelValue"])]),_:1}),a(p,{label:"GIT_REMOTE"},{default:n(()=>[a(_,{modelValue:l(s).GIT_REMOTE,"onUpdate:modelValue":e[14]||(e[14]=o=>l(s).GIT_REMOTE=o),placeholder:"origin"},null,8,["modelValue"])]),_:1}),a(p,{label:"GITHUB_BASE_BRANCH"},{default:n(()=>[a(_,{modelValue:l(s).GITHUB_BASE_BRANCH,"onUpdate:modelValue":e[15]||(e[15]=o=>l(s).GITHUB_BASE_BRANCH=o),placeholder:"main"},null,8,["modelValue"])]),_:1}),a(p,{label:"GITHUB_REPO",help:"owner/repo — auto-detected when blank."},{default:n(()=>[a(_,{modelValue:l(s).GITHUB_REPO,"onUpdate:modelValue":e[16]||(e[16]=o=>l(s).GITHUB_REPO=o),placeholder:"owner/repo"},null,8,["modelValue"])]),_:1})])]),_:1}),a(c,{class:"mt-4"},{header:n(()=>[i("div",sl,[e[34]||(e[34]=i("h2",{class:"text-base font-semibold"},"Other keys",-1)),a(r,{size:"xs",color:"gray",variant:"ghost",onClick:e[17]||(e[17]=o=>h.value=!0)},{default:n(()=>[...e[33]||(e[33]=[T(" + Add key ",-1)])]),_:1})])]),default:n(()=>[l(le).length===0?(u(),f("p",nl," No additional keys. Use “Add key” to introduce one. ")):(u(),f("div",rl,[(u(!0),f(W,null,j(l(le),o=>(u(),k(p,{key:o,label:o},{default:n(()=>[i("div",dl,[a(_,{modelValue:l(s)[o],"onUpdate:modelValue":y=>l(s)[o]=y,type:me(o)?"password":"text",autocomplete:"off",class:"flex-1"},null,8,["modelValue","onUpdate:modelValue","type"]),a(r,{size:"xs",color:"red",variant:"ghost",icon:"i-heroicons-trash",onClick:y=>ge(o)},null,8,["onClick"])])]),_:2},1032,["label"]))),128))]))]),_:1}),a(Ne,{modelValue:l(h),"onUpdate:modelValue":e[20]||(e[20]=o=>H(h)?h.value=o:null)},{default:n(()=>[a(c,null,{header:n(()=>[...e[35]||(e[35]=[i("h3",{class:"text-base font-semibold"},"Add config key",-1)])]),footer:n(()=>[i("div",pl,[a(r,{variant:"ghost",color:"gray",onClick:se},{default:n(()=>[...e[36]||(e[36]=[T("Cancel",-1)])]),_:1}),a(r,{color:"primary",onClick:ke},{default:n(()=>[...e[37]||(e[37]=[T("Add",-1)])]),_:1})])]),default:n(()=>[i("div",il,[a(p,{label:"Key",help:"Letters, numbers, and underscores. Must start with a letter or underscore."},{default:n(()=>[a(_,{modelValue:l(D),"onUpdate:modelValue":e[18]||(e[18]=o=>H(D)?D.value=o:null),placeholder:"MY_NEW_KEY",autofocus:""},null,8,["modelValue"])]),_:1}),a(p,{label:"Value"},{default:n(()=>[a(_,{modelValue:l(b),"onUpdate:modelValue":e[19]||(e[19]=o=>H(b)?b.value=o:null),autocomplete:"off"},null,8,["modelValue"])]),_:1}),l(U)?(u(),f("p",ul,C(l(U)),1)):O("",!0)])]),_:1})]),_:1},8,["modelValue"])])}}}),Vl=Ke(_l,[["__scopeId","data-v-16d21772"]]);export{Vl as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as O,ad as A,ab as q,L as j,M as E,Y as N,K as U,c as H,s as P,Z as _,Q as I,n as V,a0 as D,V as F,$ as B,R as M,a6 as o,B as z,e as b,H as W,t as T,w as $,am as Q,an as G,ae as K}from"./MzK2TZ-I.js";const Y=(...t)=>t.find(c=>c!==void 0);function Z(t){const c=t.componentName||"NuxtLink";function v(e){return typeof e=="string"&&e.startsWith("#")}function C(e,l,d){const a=d??t.trailingSlash;if(!e||a!=="append"&&a!=="remove")return e;if(typeof e=="string")return k(e,a);const i="path"in e&&e.path!==void 0?e.path:l(e).path;return{...e,name:void 0,path:k(i,a)}}function w(e){const l=A(),d=K(),a=b(()=>!!o(e.target)&&o(e.target)!=="_self"),i=b(()=>{const u=o(e.to)||o(e.href)||"";return typeof u=="string"&&T(u,{acceptRelative:!0})}),m=_("RouterLink"),g=m&&typeof m!="string"?m.useLink:void 0,f=b(()=>{if(o(e.external))return!0;const u=o(e.to)||o(e.href)||"";return typeof u=="object"?!1:u===""||i.value}),r=b(()=>{const u=o(e.to)||o(e.href)||"";return f.value?u:C(u,l.resolve,o(e.trailingSlash))}),y=f.value?void 0:g?.({...e,to:r,viewTransition:o(e.viewTransition)}),p=b(()=>{const u=o(e.trailingSlash)??t.trailingSlash;if(!r.value||i.value||v(r.value))return r.value;if(f.value){const R=typeof r.value=="object"&&"path"in r.value?B(r.value):r.value,S=typeof R=="object"?l.resolve(R).href:R;return k(S,u)}return typeof r.value=="object"?l.resolve(r.value)?.href??null:k($(d.app.baseURL,r.value),u)});return{to:r,hasTarget:a,isAbsoluteUrl:i,isExternal:f,href:p,isActive:y?.isActive??b(()=>r.value===l.currentRoute.value.path),isExactActive:y?.isExactActive??b(()=>r.value===l.currentRoute.value.path),route:y?.route??b(()=>l.resolve(r.value)),async navigate(u){await z(p.value,{replace:o(e.replace),external:f.value||a.value})}}}return O({name:c,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1},trailingSlash:{type:String,default:void 0,required:!1}},useLink:w,setup(e,{slots:l}){const d=A(),{to:a,href:i,navigate:m,isExternal:g,hasTarget:f,isAbsoluteUrl:r}=w(e),y=D(!1),p=F(null),u=s=>{p.value=e.custom?s?.$el?.nextElementSibling:s?.$el};function R(s){return!y.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===s:e.prefetchOn?.[s]??t.prefetchOn?.[s])&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!ee()}async function S(s=q()){if(y.value)return;y.value=!0;const h=typeof a.value=="string"?a.value:g.value?B(a.value):d.resolve(a.value).fullPath,n=g.value?new URL(h,window.location.href).href:h;await Promise.all([s.hooks.callHook("link:prefetch",n).catch(()=>{}),!g.value&&!f.value&&M(a.value,d).catch(()=>{})])}if(R("visibility")){const s=q();let h,n=null;j(()=>{const x=J();E(()=>{h=N(()=>{p?.value?.tagName&&(n=x.observe(p.value,async()=>{n?.(),n=null,await S(s)}))})})}),U(()=>{h&&H(h),n?.(),n=null})}return()=>{if(!g.value&&!f.value&&!v(a.value)){const n={ref:u,to:a.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(R("interaction")&&(n.onPointerenter=S.bind(null,void 0),n.onFocus=S.bind(null,void 0)),y.value&&(n.class=e.prefetchedClass||t.prefetchedClass),n.rel=e.rel||void 0),P(_("RouterLink"),n,l.default)}const s=e.target||null,h=Y(e.noRel?"":e.rel,t.externalRelAttribute,r.value||f.value?"noopener noreferrer":"")||null;return e.custom?l.default?l.default({href:i.value,navigate:m,prefetch:S,get route(){if(!i.value)return;const n=new URL(i.value,window.location.href);return{path:n.pathname,fullPath:n.pathname,get query(){return I(n.search)},hash:n.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:i.value}},rel:h,target:s,isExternal:g.value||f.value,isActive:!1,isExactActive:!1}):null:P("a",{ref:p,href:i.value||null,rel:h,target:s,onClick:async n=>{if(!(g.value||f.value)){n.preventDefault();try{const x=V(i.value);return await(e.replace?d.replace(x):d.push(x))}finally{if(v(a.value)){const x=a.value.slice(1);let L=x;try{L=decodeURIComponent(x)}catch{}document.getElementById(L)?.focus()}}}}},l.default?.())}}})}const ne=Z(W);function k(t,c){const v=c==="append"?Q:G;return T(t)&&!t.startsWith("http")?t:v(t,!0)}function J(){const t=q();if(t._observer)return t._observer;let c=null;const v=new Map,C=(e,l)=>(c||=new IntersectionObserver(d=>{for(const a of d){const i=v.get(a.target);(a.isIntersecting||a.intersectionRatio>0)&&i&&i()}}),v.set(e,l),c.observe(e),()=>{v.delete(e),c?.unobserve(e),v.size===0&&(c?.disconnect(),c=null)});return t._observer={observe:C}}const X=/2g/;function ee(){const t=navigator.connection;return!!(t&&(t.saveData||X.test(t.effectiveType)))}export{ne as _};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as k,b as z,u as C}from"./Ceb2855t.js";import{z as S,b as c,O as l,i as y,X as o,g as b,D as f,h as s,a1 as j,A as N,l as O,e as n,a2 as _,a5 as $,a4 as g}from"./MzK2TZ-I.js";import{_ as B}from"./DlAUqK2U.js";const A={base:"inline-flex items-center",rounded:"rounded-md",font:"font-medium",size:{xs:"text-xs px-1.5 py-0.5",sm:"text-xs px-2 py-1",md:"text-sm px-2 py-1",lg:"text-sm px-2.5 py-1.5"},gap:{xs:"gap-0.5",sm:"gap-1",md:"gap-1",lg:"gap-1.5"},color:{white:{solid:"ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-900 dark:text-white bg-white dark:bg-gray-900"},gray:{solid:"ring-1 ring-inset ring-gray-300 dark:ring-gray-700 text-gray-700 dark:text-gray-200 bg-gray-50 dark:bg-gray-800"},black:{solid:"text-white dark:text-gray-900 bg-gray-900 dark:bg-white"}},variant:{solid:"bg-{color}-500 dark:bg-{color}-400 text-white dark:text-gray-900",outline:"text-{color}-500 dark:text-{color}-400 ring-1 ring-inset ring-{color}-500 dark:ring-{color}-400",soft:"bg-{color}-50 dark:bg-{color}-400 dark:bg-opacity-10 text-{color}-500 dark:text-{color}-400",subtle:"bg-{color}-50 dark:bg-{color}-400 dark:bg-opacity-10 text-{color}-500 dark:text-{color}-400 ring-1 ring-inset ring-{color}-500 dark:ring-{color}-400 ring-opacity-25 dark:ring-opacity-25"},icon:{base:"flex-shrink-0",size:{xs:"h-4 w-4",sm:"h-4 w-4",md:"h-5 w-5",lg:"h-5 w-5"}},default:{size:"sm",variant:"solid",color:"primary"}},t=S(c.ui.strategy,c.ui.badge,A),U=O({components:{UIcon:k},inheritAttrs:!1,props:{size:{type:String,default:()=>t.default.size,validator(a){return Object.keys(t.size).includes(a)}},color:{type:String,default:()=>t.default.color,validator(a){return[...c.ui.colors,...Object.keys(t.color)].includes(a)}},variant:{type:String,default:()=>t.default.variant,validator(a){return[...Object.keys(t.variant),...Object.values(t.color).flatMap(e=>Object.keys(e))].includes(a)}},label:{type:[String,Number],default:null},icon:{type:String,default:null},leadingIcon:{type:String,default:null},trailingIcon:{type:String,default:null},trailing:{type:Boolean,default:!1},leading:{type:Boolean,default:!1},class:{type:[String,Object,Array],default:()=>""},ui:{type:Object,default:()=>({})}},setup(a){const{ui:e,attrs:d}=z("badge",_(a,"ui"),t),{size:r,rounded:u}=C({ui:e,props:a}),m=n(()=>a.icon&&a.leading||a.icon&&!a.trailing||!a.trailing||a.leadingIcon),i=n(()=>a.icon&&a.trailing||a.trailing||a.trailingIcon),v=n(()=>{const w=e.value.color?.[a.color]?.[a.variant]||e.value.variant[a.variant];return $(g(e.value.base,e.value.font,u.value,e.value.size[r.value],e.value.gap[r.value],w?.replaceAll("{color}",a.color)),a.class)}),I=n(()=>a.leadingIcon||a.icon),p=n(()=>a.trailingIcon||a.icon),x=n(()=>g(e.value.icon.base,e.value.icon.size[r.value])),h=n(()=>g(e.value.icon.base,e.value.icon.size[r.value]));return{attrs:d,isLeading:m,isTrailing:i,badgeClass:v,leadingIconName:I,trailingIconName:p,leadingIconClass:x,trailingIconClass:h}}}),D={key:0};function L(a,e,d,r,u,m){const i=k;return l(),y("span",N({class:a.badgeClass},a.attrs),[o(a.$slots,"leading",{},()=>[a.isLeading&&a.leadingIconName?(l(),b(i,{key:0,name:a.leadingIconName,class:f(a.leadingIconClass),"aria-hidden":"true"},null,8,["name","class"])):s("",!0)]),o(a.$slots,"default",{},()=>[a.label!==void 0&&a.label!==null?(l(),y("span",D,j(a.label),1)):s("",!0)]),o(a.$slots,"trailing",{},()=>[a.isTrailing&&a.trailingIconName?(l(),b(i,{key:0,name:a.trailingIconName,class:f(a.trailingIconClass),"aria-hidden":"true"},null,8,["name","class"])):s("",!0)])],16)}const G=B(U,[["render",L]]);export{G as _};
|