@celsoft/coordinator 0.0.0 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +107 -0
- package/THIRD_PARTY_NOTICES.md +2005 -0
- package/agents/console.md +20 -0
- package/agents/free.md +110 -0
- package/build/0-JP6XL6LB.js +17 -0
- package/build/1-A52YZWNS.js +17 -0
- package/build/2-CLH2NM6F.js +32 -0
- package/build/3-4N467IB6.js +45 -0
- package/build/4-WL5H4LUW.js +29 -0
- package/build/_layout.svelte-KPUSX7LQ.js +27 -0
- package/build/_page.svelte-22H56UR6.js +7972 -0
- package/build/_page.svelte-CVWUNRQC.js +135 -0
- package/build/_page.svelte-LTZXBHMT.js +57 -0
- package/build/_server.ts-3KVBYN6P.js +20 -0
- package/build/_server.ts-3POPKVEM.js +47 -0
- package/build/_server.ts-5735T2V5.js +31 -0
- package/build/_server.ts-5VXGNWV2.js +38 -0
- package/build/_server.ts-645KP7WP.js +42 -0
- package/build/_server.ts-A3AA24Z2.js +28 -0
- package/build/_server.ts-CITUOEM6.js +58 -0
- package/build/_server.ts-I7HMTPOA.js +25 -0
- package/build/_server.ts-M5BQ4LLX.js +30 -0
- package/build/_server.ts-OB4O27HF.js +683 -0
- package/build/_server.ts-OJT7HE7M.js +15 -0
- package/build/_server.ts-OYGWVLZM.js +12 -0
- package/build/_server.ts-T75UVMQP.js +38 -0
- package/build/_server.ts-WYZYNHUZ.js +28 -0
- package/build/_server.ts-Z26EB47B.js +486 -0
- package/build/chunk-4CIG53L5.js +33 -0
- package/build/chunk-BJTJS3XY.js +338 -0
- package/build/chunk-F2CNWJZM.js +14 -0
- package/build/chunk-HGYE3UTU.js +416 -0
- package/build/chunk-KAYW2W7H.js +1311 -0
- package/build/chunk-LFP3UPCM.js +10 -0
- package/build/chunk-M44JEFEH.js +62 -0
- package/build/chunk-MC5AGLMY.js +39 -0
- package/build/chunk-NCZ77J5E.js +19798 -0
- package/build/chunk-NVNLDPUJ.js +2122 -0
- package/build/chunk-PDCON4KS.js +494 -0
- package/build/chunk-Q4OQNY5M.js +25 -0
- package/build/chunk-QCUOR2U5.js +75 -0
- package/build/chunk-R6RYZZWA.js +46 -0
- package/build/chunk-SOJTASZC.js +51 -0
- package/build/chunk-SU26PJVX.js +410 -0
- package/build/chunk-U5BSBG4R.js +506 -0
- package/build/chunk-UEKOZGRO.js +37 -0
- package/build/chunk-W6EFUWJ2.js +9 -0
- package/build/chunk-WOPREK6Q.js +117 -0
- package/build/chunk-WWJ3F4QS.js +127 -0
- package/build/chunk-ZGZJEEE3.js +1091 -0
- package/build/client/_app/immutable/assets/0.BGa5ZNDM.css +1 -0
- package/build/client/_app/immutable/chunks/BUrrLYDt.js +2 -0
- package/build/client/_app/immutable/chunks/BgFr_EyZ.js +4 -0
- package/build/client/_app/immutable/chunks/Bjy-W4x2.js +82 -0
- package/build/client/_app/immutable/chunks/C8qZab0y.js +56 -0
- package/build/client/_app/immutable/chunks/C90fLsA5.js +4 -0
- package/build/client/_app/immutable/chunks/CRzLMJPS.js +1 -0
- package/build/client/_app/immutable/chunks/DLT1iIlz.js +2 -0
- package/build/client/_app/immutable/chunks/pIrVVOVY.js +2 -0
- package/build/client/_app/immutable/entry/app.0DERehLW.js +3 -0
- package/build/client/_app/immutable/entry/payload.DSmR2FwN.js +2 -0
- package/build/client/_app/immutable/entry/start.B7srFiqh.js +3 -0
- package/build/client/_app/immutable/nodes/0.aD9vJoxR.js +2 -0
- package/build/client/_app/immutable/nodes/1.Br4FL91i.js +2 -0
- package/build/client/_app/immutable/nodes/2.vl6OYfu3.js +8 -0
- package/build/client/_app/immutable/nodes/3.VYqJOLAF.js +2 -0
- package/build/client/_app/immutable/nodes/4.jF9UVlFN.js +2 -0
- package/build/client/_app/version.json +1 -0
- package/build/client/apple-touch-icon.png +0 -0
- package/build/client/favicon.ico +0 -0
- package/build/client/favicon.svg +48 -0
- package/build/client/icon-192.png +0 -0
- package/build/client/icon-512.png +0 -0
- package/build/client/icon-maskable-512.png +0 -0
- package/build/client/icon.svg +44 -0
- package/build/client/manifest.webmanifest +15 -0
- package/build/error.svelte-JXZDY65F.js +51 -0
- package/build/handler.js +716 -0
- package/build/hooks.server-34IMHRKC.js +43 -0
- package/build/instance-NP3FJIWW.js +2967 -0
- package/client/client.mjs +28 -0
- package/client/hooks.mjs +7 -0
- package/client/register.mjs +5 -0
- package/dist/cli.js +62826 -0
- package/dist/port.js +36691 -0
- package/package.json +20 -1
- package/skills/agents/.claude-plugin/plugin.json +5 -0
- package/skills/agents/hooks/hooks.json +1 -0
- package/skills/agents/hooks/register.ts +57 -0
- package/skills/agents/skills/bus-work/SKILL.md +66 -0
- package/skills/agents/skills/plan/SKILL.md +98 -0
- package/skills/console/.claude-plugin/plugin.json +5 -0
- package/skills/console/hooks/hooks.json +1 -0
- package/skills/console/hooks/register.ts +10 -0
- package/skills/console/skills/bus/SKILL.md +61 -0
- package/skills/default/.claude-plugin/plugin.json +5 -0
- package/skills/default/skills/git-workflow/SKILL.md +294 -0
- package/skills/default/skills/git-workflow/mise-tasks/_lib.sh +107 -0
- package/skills/default/skills/git-workflow/mise-tasks/clone +36 -0
- package/skills/default/skills/git-workflow/mise-tasks/repo-list +8 -0
- package/skills/default/skills/git-workflow/mise-tasks/unpushed +26 -0
- package/skills/default/skills/git-workflow/mise-tasks/worktree-add +60 -0
- package/skills/default/skills/github/SKILL.md +208 -0
- package/skills/default/skills/github/scripts/gh-org +196 -0
- package/skills/default/skills/plan-page/SKILL.md +300 -0
- package/skills/default/skills/plan-page/assets/index.html +854 -0
- package/skills/default/skills/plan-page/scripts/inline +46 -0
- package/skills/default/skills/plan-page/scripts/stage +26 -0
- package/skills/default/skills/secrets/SKILL.md +134 -0
- package/skills/default/skills/secrets/scripts/secrets-check +87 -0
- package/skills/default/skills/writing-style/SKILL.md +45 -0
- package/skills/extra/.claude-plugin/plugin.json +5 -0
- package/skills/extra/skills/artifacts/SKILL.md +52 -0
- package/skills/extra/skills/github-actions/SKILL.md +78 -0
- package/skills/extra/skills/github-actions/scan +32 -0
- package/skills/extra/skills/markdown-review/SKILL.md +70 -0
- package/skills/extra/skills/markdown-review/assets/index.html +201 -0
- package/skills/extra/skills/markdown-review/scripts/stage +36 -0
- package/skills/extra/skills/mise-usage/SKILL.md +155 -0
- package/skills/extra/skills/plugin-authoring/SKILL.md +317 -0
- package/skills/extra/skills/project-conventions/SKILL.md +64 -0
- package/skills/extra/skills/questions/SKILL.md +156 -0
- package/skills/extra/skills/questions/assets/index.html +376 -0
- package/skills/extra/skills/questions/scripts/stage +26 -0
- package/skills/extra/skills/serve/SKILL.md +165 -0
- package/skills/extra/skills/serve/scripts/serve +268 -0
- package/skills/extra/skills/serve/scripts/server.py +345 -0
- package/skills/extra/skills/skill-dependencies/SKILL.md +65 -0
- package/skills/extra/skills/skill-maintenance/SKILL.md +101 -0
- package/skills/extra/skills/ticketing/SKILL.md +125 -0
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
|
+
import {
|
|
3
|
+
resolveIcon
|
|
4
|
+
} from "./chunk-M44JEFEH.js";
|
|
5
|
+
import {
|
|
6
|
+
attr_class,
|
|
7
|
+
attributes,
|
|
8
|
+
bind_props,
|
|
9
|
+
clsx,
|
|
10
|
+
derived,
|
|
11
|
+
getContext,
|
|
12
|
+
html,
|
|
13
|
+
setContext
|
|
14
|
+
} from "./chunk-KAYW2W7H.js";
|
|
15
|
+
|
|
16
|
+
// build/server/chunks/Button.js
|
|
17
|
+
function Icon($$renderer, $$props) {
|
|
18
|
+
$$renderer.component(($$renderer2) => {
|
|
19
|
+
let { name, class: className = "" } = $$props;
|
|
20
|
+
const icon = derived(() => resolveIcon(name));
|
|
21
|
+
if (icon() && "component" in icon()) {
|
|
22
|
+
$$renderer2.push("<!--[0-->");
|
|
23
|
+
if (icon().component) {
|
|
24
|
+
$$renderer2.push("<!--[-->");
|
|
25
|
+
icon().component($$renderer2, {
|
|
26
|
+
class: ["sd-icon", className],
|
|
27
|
+
size: 16,
|
|
28
|
+
strokeWidth: 2,
|
|
29
|
+
"aria-hidden": "true"
|
|
30
|
+
});
|
|
31
|
+
$$renderer2.push("<!--]-->");
|
|
32
|
+
} else {
|
|
33
|
+
$$renderer2.push("<!--[!-->");
|
|
34
|
+
$$renderer2.push("<!--]-->");
|
|
35
|
+
}
|
|
36
|
+
} else $$renderer2.push(`<!--[-1--><svg${attr_class(clsx(["sd-icon", className]))} viewBox="0 0 24 24" aria-hidden="true">${html(icon() && "markup" in icon() ? icon().markup : "")}</svg>`);
|
|
37
|
+
$$renderer2.push(`<!--]-->`);
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
var timing = {
|
|
41
|
+
spinnerAfter: 400,
|
|
42
|
+
spinnerAtLeast: 300,
|
|
43
|
+
slowAfter: 1e4,
|
|
44
|
+
debounce: 500
|
|
45
|
+
};
|
|
46
|
+
var messages = {
|
|
47
|
+
working: "Working",
|
|
48
|
+
slow: "Still working",
|
|
49
|
+
saved: "Saved",
|
|
50
|
+
checking: "Checking the code",
|
|
51
|
+
failed: "That didn't work. Try again."
|
|
52
|
+
};
|
|
53
|
+
var sleep = (ms) => new Promise((r) => setTimeout(r, ms));
|
|
54
|
+
var isThenable = (v) => v != null && typeof v.then === "function";
|
|
55
|
+
var newKey = () => globalThis.crypto?.randomUUID?.() ?? Array.from(crypto.getRandomValues(/* @__PURE__ */ new Uint8Array(16)), (b) => b.toString(16).padStart(2, "0")).join("");
|
|
56
|
+
var region;
|
|
57
|
+
function announce(text) {
|
|
58
|
+
if (typeof document === "undefined" || !text) return;
|
|
59
|
+
if (!region || !region.isConnected) {
|
|
60
|
+
region = document.createElement("div");
|
|
61
|
+
region.className = "sd-sr";
|
|
62
|
+
region.setAttribute("aria-live", "polite");
|
|
63
|
+
region.setAttribute("aria-atomic", "true");
|
|
64
|
+
region.dataset.sdAnnouncer = "";
|
|
65
|
+
document.body.append(region);
|
|
66
|
+
}
|
|
67
|
+
region.textContent = "";
|
|
68
|
+
setTimeout(() => region.textContent = text, 30);
|
|
69
|
+
}
|
|
70
|
+
var dev = () => globalThis.__SERVICE_DARK_DEV__ ?? false;
|
|
71
|
+
var watch = {
|
|
72
|
+
until: 0,
|
|
73
|
+
name: "",
|
|
74
|
+
inside: false,
|
|
75
|
+
saw: false
|
|
76
|
+
};
|
|
77
|
+
var fetchWatched = false;
|
|
78
|
+
function watchFetch() {
|
|
79
|
+
if (fetchWatched || typeof globalThis.fetch !== "function") return;
|
|
80
|
+
fetchWatched = true;
|
|
81
|
+
const original = globalThis.fetch;
|
|
82
|
+
globalThis.fetch = function(...args) {
|
|
83
|
+
if (watch.inside) watch.saw = true;
|
|
84
|
+
else if (performance.now() < watch.until) warnUnreturned(watch.name);
|
|
85
|
+
return original.apply(this, args);
|
|
86
|
+
};
|
|
87
|
+
}
|
|
88
|
+
function warnUnreturned(name) {
|
|
89
|
+
watch.until = 0;
|
|
90
|
+
console.warn(`Service Dark: ${name} started a request but its handler returned nothing, so nothing waited for it. Return the promise: () => save(), not () => { save(); }.`);
|
|
91
|
+
}
|
|
92
|
+
function call(fn, arg, name) {
|
|
93
|
+
if (!dev()) return fn(arg);
|
|
94
|
+
watchFetch();
|
|
95
|
+
watch.inside = true;
|
|
96
|
+
watch.saw = false;
|
|
97
|
+
let result;
|
|
98
|
+
try {
|
|
99
|
+
result = fn(arg);
|
|
100
|
+
} finally {
|
|
101
|
+
watch.inside = false;
|
|
102
|
+
}
|
|
103
|
+
if (!isThenable(result)) {
|
|
104
|
+
if (watch.saw) warnUnreturned(name);
|
|
105
|
+
else watch = {
|
|
106
|
+
until: performance.now() + 50,
|
|
107
|
+
name,
|
|
108
|
+
inside: false,
|
|
109
|
+
saw: false
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
var Pending = class {
|
|
115
|
+
/** True from the moment the wait starts: block repeats and edits. */
|
|
116
|
+
busy = false;
|
|
117
|
+
/** True once the wait passes timing.spinnerAfter: show the spinner. */
|
|
118
|
+
spinning = false;
|
|
119
|
+
/** True once the wait passes timing.slowAfter: say "Still working". */
|
|
120
|
+
slow = false;
|
|
121
|
+
/** The sentence from the last failed wait, until the next one starts. */
|
|
122
|
+
error = "";
|
|
123
|
+
#controller = null;
|
|
124
|
+
#key = null;
|
|
125
|
+
/**
|
|
126
|
+
* @param {object} [options]
|
|
127
|
+
* @param {string} [options.name] Names the component in dev warnings.
|
|
128
|
+
* @param {boolean} [options.abortable] Cancel and Escape may stop the wait instead of being blocked.
|
|
129
|
+
* @param {boolean} [options.speak] Announce "Working", "Still working" and errors. Default true.
|
|
130
|
+
*/
|
|
131
|
+
constructor({ name = "A Service Dark handler", abortable = false, speak = true } = {}) {
|
|
132
|
+
this.name = name;
|
|
133
|
+
this.abortable = abortable;
|
|
134
|
+
this.speak = speak;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Run fn once; a call while busy is ignored.
|
|
138
|
+
* @param {(wait: { signal: AbortSignal, key: string }) => unknown} fn
|
|
139
|
+
* @returns {Promise<{ ok: boolean, error?: string, aborted?: boolean, skipped?: boolean, value?: unknown }>}
|
|
140
|
+
*/
|
|
141
|
+
async run(fn) {
|
|
142
|
+
if (this.busy) return {
|
|
143
|
+
ok: false,
|
|
144
|
+
skipped: true
|
|
145
|
+
};
|
|
146
|
+
this.busy = true;
|
|
147
|
+
this.error = "";
|
|
148
|
+
const controller = new AbortController();
|
|
149
|
+
this.#controller = controller;
|
|
150
|
+
const key = this.#key ??= newKey();
|
|
151
|
+
let shownAt = 0;
|
|
152
|
+
const spin = setTimeout(() => {
|
|
153
|
+
this.spinning = true;
|
|
154
|
+
shownAt = performance.now();
|
|
155
|
+
if (this.speak) announce(messages.working);
|
|
156
|
+
}, timing.spinnerAfter);
|
|
157
|
+
const slow = setTimeout(() => {
|
|
158
|
+
this.slow = true;
|
|
159
|
+
if (this.speak) announce(messages.slow);
|
|
160
|
+
}, timing.slowAfter);
|
|
161
|
+
let outcome;
|
|
162
|
+
let unknown = false;
|
|
163
|
+
try {
|
|
164
|
+
const returned = call(fn, {
|
|
165
|
+
signal: controller.signal,
|
|
166
|
+
key
|
|
167
|
+
}, this.name);
|
|
168
|
+
outcome = isThenable(returned) ? await returned : void 0;
|
|
169
|
+
} catch (e) {
|
|
170
|
+
if (!controller.signal.aborted) {
|
|
171
|
+
unknown = true;
|
|
172
|
+
console.error(e);
|
|
173
|
+
outcome = messages.failed;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
clearTimeout(spin);
|
|
177
|
+
clearTimeout(slow);
|
|
178
|
+
if (shownAt) {
|
|
179
|
+
const left = timing.spinnerAtLeast - (performance.now() - shownAt);
|
|
180
|
+
if (left > 0) await sleep(left);
|
|
181
|
+
}
|
|
182
|
+
this.busy = false;
|
|
183
|
+
this.spinning = false;
|
|
184
|
+
this.slow = false;
|
|
185
|
+
this.#controller = null;
|
|
186
|
+
if (!unknown) this.#key = null;
|
|
187
|
+
if (controller.signal.aborted) return {
|
|
188
|
+
ok: false,
|
|
189
|
+
aborted: true
|
|
190
|
+
};
|
|
191
|
+
if (outcome === false) return { ok: false };
|
|
192
|
+
if (typeof outcome === "string" && outcome) {
|
|
193
|
+
this.error = outcome;
|
|
194
|
+
if (this.speak) announce(outcome);
|
|
195
|
+
return {
|
|
196
|
+
ok: false,
|
|
197
|
+
error: outcome
|
|
198
|
+
};
|
|
199
|
+
}
|
|
200
|
+
return {
|
|
201
|
+
ok: true,
|
|
202
|
+
value: outcome
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
/** Stop waiting: the signal aborts, and the result is ignored. The server may still finish the request. */
|
|
206
|
+
abort() {
|
|
207
|
+
this.#controller?.abort();
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* For SvelteKit forms: <form method="POST" use:enhance={wait.enhance()} use:busy={wait.busy}>.
|
|
211
|
+
* A failure's `message` (from fail(400, { message })) becomes the error.
|
|
212
|
+
* @param {{ reset?: boolean, invalidateAll?: boolean }} [options] passed to update()
|
|
213
|
+
*/
|
|
214
|
+
enhance(options) {
|
|
215
|
+
return ({ cancel, controller }) => {
|
|
216
|
+
if (this.busy) return cancel();
|
|
217
|
+
let finish;
|
|
218
|
+
const answered = new Promise((r) => finish = r);
|
|
219
|
+
this.run(({ signal }) => {
|
|
220
|
+
signal.addEventListener("abort", () => controller.abort());
|
|
221
|
+
return answered;
|
|
222
|
+
});
|
|
223
|
+
return async ({ result, update }) => {
|
|
224
|
+
await update(options);
|
|
225
|
+
if (result.type === "failure") finish(typeof result.data?.message === "string" ? result.data.message : messages.failed);
|
|
226
|
+
else if (result.type === "error") finish(messages.failed);
|
|
227
|
+
else finish();
|
|
228
|
+
};
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
var Latest = class {
|
|
233
|
+
pending;
|
|
234
|
+
#next = null;
|
|
235
|
+
/** @param {(result: Awaited<ReturnType<Pending["run"]>>) => void} onsettle called only for the latest send */
|
|
236
|
+
constructor(onsettle, name) {
|
|
237
|
+
this.pending = new Pending({
|
|
238
|
+
name,
|
|
239
|
+
speak: false
|
|
240
|
+
});
|
|
241
|
+
this.onsettle = onsettle;
|
|
242
|
+
}
|
|
243
|
+
/** @param {(wait: { signal: AbortSignal, key: string, seq: number }) => unknown} fn */
|
|
244
|
+
send(fn) {
|
|
245
|
+
const seq = nextSeq();
|
|
246
|
+
if (this.pending.busy) this.#next = {
|
|
247
|
+
fn,
|
|
248
|
+
seq
|
|
249
|
+
};
|
|
250
|
+
else this.#go({
|
|
251
|
+
fn,
|
|
252
|
+
seq
|
|
253
|
+
});
|
|
254
|
+
}
|
|
255
|
+
async #go({ fn, seq }) {
|
|
256
|
+
const result = await this.pending.run((wait) => fn({
|
|
257
|
+
...wait,
|
|
258
|
+
seq
|
|
259
|
+
}));
|
|
260
|
+
const next = this.#next;
|
|
261
|
+
this.#next = null;
|
|
262
|
+
if (next) this.#go(next);
|
|
263
|
+
else this.onsettle?.(result);
|
|
264
|
+
}
|
|
265
|
+
};
|
|
266
|
+
var lastSeq = 0;
|
|
267
|
+
function nextSeq() {
|
|
268
|
+
lastSeq = Math.max(lastSeq + 1, Math.floor((performance.timeOrigin + performance.now()) * 1e3));
|
|
269
|
+
return lastSeq;
|
|
270
|
+
}
|
|
271
|
+
var KEY = Symbol("sd-pending");
|
|
272
|
+
function providePending(p) {
|
|
273
|
+
setContext(KEY, p);
|
|
274
|
+
return p;
|
|
275
|
+
}
|
|
276
|
+
function pendingContext() {
|
|
277
|
+
return getContext(KEY);
|
|
278
|
+
}
|
|
279
|
+
function buttonState({ own, form, submit, cancel }) {
|
|
280
|
+
if (submit && form) return {
|
|
281
|
+
blocked: form.busy,
|
|
282
|
+
spinning: form.spinning
|
|
283
|
+
};
|
|
284
|
+
return {
|
|
285
|
+
blocked: own.busy || !!form?.busy && !(cancel && form.abortable),
|
|
286
|
+
spinning: own.spinning
|
|
287
|
+
};
|
|
288
|
+
}
|
|
289
|
+
function Button($$renderer, $$props) {
|
|
290
|
+
$$renderer.component(($$renderer2) => {
|
|
291
|
+
let { variant = "secondary", size = "md", icon, block = false, type = "button", cancel = false, error = "", onclick, class: className, children, $$slots, $$events, ...rest } = $$props;
|
|
292
|
+
const own = new Pending({ name: "A Button onclick" });
|
|
293
|
+
const form = pendingContext();
|
|
294
|
+
const state = derived(() => buttonState({
|
|
295
|
+
own,
|
|
296
|
+
form,
|
|
297
|
+
submit: type === "submit",
|
|
298
|
+
cancel
|
|
299
|
+
}));
|
|
300
|
+
$$renderer2.push(`<button${attributes({
|
|
301
|
+
type,
|
|
302
|
+
class: clsx([
|
|
303
|
+
"sd-btn",
|
|
304
|
+
`sd-btn-${variant}`,
|
|
305
|
+
size === "sm" && "sd-btn-sm",
|
|
306
|
+
block && "sd-btn-block",
|
|
307
|
+
state().spinning && "sd-btn-spinning",
|
|
308
|
+
!icon && "sd-btn-plain",
|
|
309
|
+
className
|
|
310
|
+
]),
|
|
311
|
+
"aria-disabled": state().blocked ? "true" : void 0,
|
|
312
|
+
"aria-busy": state().spinning ? "true" : void 0,
|
|
313
|
+
...rest
|
|
314
|
+
})}>`);
|
|
315
|
+
if (state().spinning) $$renderer2.push(`<!--[0--><span class="sd-spinner" aria-hidden="true"></span>`);
|
|
316
|
+
else if (icon) {
|
|
317
|
+
$$renderer2.push("<!--[1-->");
|
|
318
|
+
Icon($$renderer2, { name: icon });
|
|
319
|
+
} else $$renderer2.push("<!--[-1-->");
|
|
320
|
+
$$renderer2.push(`<!--]--> <span class="sd-btn-label">`);
|
|
321
|
+
children?.($$renderer2);
|
|
322
|
+
$$renderer2.push(`<!----></span></button>`);
|
|
323
|
+
bind_props($$props, { error });
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
|
|
327
|
+
export {
|
|
328
|
+
Icon,
|
|
329
|
+
timing,
|
|
330
|
+
messages,
|
|
331
|
+
Pending,
|
|
332
|
+
Latest,
|
|
333
|
+
nextSeq,
|
|
334
|
+
providePending,
|
|
335
|
+
pendingContext,
|
|
336
|
+
buttonState,
|
|
337
|
+
Button
|
|
338
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
|
+
|
|
3
|
+
// build/server/chunks/via.js
|
|
4
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
5
|
+
var PAGE = "page";
|
|
6
|
+
var store = new AsyncLocalStorage();
|
|
7
|
+
function throughVia(via, act) {
|
|
8
|
+
return store.run(via, act);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
PAGE,
|
|
13
|
+
throughVia
|
|
14
|
+
};
|