@digo-labs/common 0.1.9 → 0.1.11

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/dist/index.js CHANGED
@@ -1,2005 +1,2424 @@
1
- import { removeBackground as M } from "@imgly/background-removal";
2
- import { parseISO as F, formatDistanceToNow as I } from "date-fns";
3
- import { decode as m, encode as x } from "base64-arraybuffer";
4
- import d from "lz-string";
5
- import { blobToBase64String as N, base64StringToBlob as T } from "blob-util";
6
- import { z as n } from "zod";
7
- import U from "clsx";
8
- import { twMerge as D } from "tailwind-merge";
9
- class b {
10
- static copyToClipboard(o) {
11
- navigator.clipboard.writeText(o).then(() => {
12
- }).catch(() => {
13
- console.error("Failed to copy");
14
- });
15
- }
16
- static async removeBackground(o) {
17
- const e = m(o.base64), t = new Blob([e], { type: o.mediaType }), a = await (await M(t)).arrayBuffer();
18
- return {
19
- base64: x(a),
20
- mediaType: "image/png"
21
- };
22
- }
23
- static getTimeFormatted(o) {
24
- return {
25
- hours: Math.floor(o / 3600),
26
- minutes: Math.floor(o % 3600 / 60),
27
- seconds: o % 60
28
- };
29
- }
30
- static async getTextFromClipboard() {
31
- return await navigator.clipboard.readText();
32
- }
33
- static decodeBase64(o) {
34
- return m(o);
35
- }
36
- static getRandomInteger(o, e) {
37
- return Math.floor(Math.random() * (e - o + 1)) + o;
38
- }
39
- static encodeArrayBufferToBase64(o) {
40
- return x(o);
41
- }
42
- static hexToRgb(o) {
43
- const e = o.match(/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i);
44
- return e ? {
45
- r: parseInt(e[1], 16),
46
- g: parseInt(e[2], 16),
47
- b: parseInt(e[3], 16)
48
- } : { r: 0, g: 0, b: 0 };
49
- }
50
- static rgbArrayToHex(o) {
51
- return `#${o.map((t) => {
52
- const c = t.toString(16);
53
- return c.length === 1 ? "0" + c : c;
54
- }).join("")}`;
55
- }
56
- static hexToRgbArray(o) {
57
- const e = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(o);
58
- return e ? [
59
- parseInt(e[1], 16) / 255,
60
- parseInt(e[2], 16) / 255,
61
- parseInt(e[3], 16) / 255
62
- ] : [0, 0, 0];
63
- }
64
- static getCssVariable(o) {
65
- return getComputedStyle(document.documentElement).getPropertyValue(o);
66
- }
67
- static setCssVariable(o, e) {
68
- document.documentElement.style.setProperty(o, `${e.offsetHeight}px`);
69
- }
70
- static lerp(o, e, t) {
71
- return o + (e - o) * t;
72
- }
73
- static lerpArray(o, e, t) {
74
- return o.map((c, a) => c + (e[a] - c) * t);
75
- }
76
- static clamp(o, e, t) {
77
- return Math.min(Math.max(o, e), t);
78
- }
79
- static async downloadURI(o, e) {
80
- const c = await (await fetch(o)).blob(), a = URL.createObjectURL(c), r = document.createElement("a");
81
- r.href = a, r.download = e || "download", r.click(), URL.revokeObjectURL(a);
82
- }
83
- static async getFileFromUrl(o, e) {
84
- const c = await (await fetch(o)).blob();
85
- return new File([c], e || "untitled", { type: c.type });
86
- }
87
- static generateUUID() {
88
- return crypto.randomUUID ? crypto.randomUUID() : `${Date.now()}-${Math.random().toString(36).substring(2, 15)}${Math.random().toString(36).substring(2, 15)}`;
89
- }
90
- static async getImagePayloadFromUrl(o, e) {
91
- const t = await this.getFileFromUrl(o, e);
92
- return this.getImagePayloadFromFile(t);
93
- }
94
- static async getImagePayloadFromFile(o) {
95
- const [e, t] = await X(o.arrayBuffer());
96
- if (t) return [null, t];
97
- const c = b.encodeArrayBufferToBase64(e), a = o.type;
98
- return [{ base64: c, mediaType: a }, null];
99
- }
100
- static getFileFromImagePayload(o) {
101
- const e = m(o.base64), t = new Blob([e], { type: o.mediaType }), c = o.mediaType.split("/")[1] || "png";
102
- return new File([t], `created-file.${c}`, { type: o.mediaType });
103
- }
104
- static setTabName(o) {
105
- document.title = `${o}`;
106
- }
107
- static openFileSelector(o, e) {
108
- const t = document.createElement("input");
109
- t.type = "file", t.accept = o, t.onchange = (c) => {
110
- const a = c.target;
111
- if (a.files && a.files.length > 0) {
112
- const r = a.files[0];
113
- e(r);
114
- }
115
- }, t.click();
116
- }
117
- static formatNumberTwoDigits(o) {
118
- return o.toFixed().padStart(2, "0");
119
- }
120
- getFormatedTime(o, e = 2) {
121
- return (o / 1e3).toFixed(e);
122
- }
123
- static async preloadImage(o) {
124
- return new Promise((e, t) => {
125
- const c = new Image();
126
- c.onload = () => e(), c.onerror = () => t(new Error(`Failed to load: ${o}`)), c.src = o;
127
- });
128
- }
129
- static async preloadImages(o) {
130
- const e = o.map((t) => b.preloadImage(t));
131
- await Promise.all(e);
132
- }
133
- static getUniqueLetters(o) {
134
- return [...new Set(o.split(""))];
135
- }
136
- static async compressImage(o, e, t = 800, c = 0.7) {
137
- return new Promise((a) => {
138
- const r = new Image();
139
- r.onload = () => {
140
- const s = document.createElement("canvas"), y = Math.min(t / r.width, t / r.height, 1);
141
- s.width = r.width * y, s.height = r.height * y, s.getContext("2d").drawImage(r, 0, 0, s.width, s.height);
142
- const S = s.toDataURL("image/jpeg", c).split(",")[1];
143
- a({
144
- base64: S,
145
- mediaType: "image/jpeg"
146
- });
147
- }, r.src = `data:${e};base64,${o}`;
148
- });
149
- }
150
- static async downloadCsvFromUrl(o) {
151
- const e = await fetch(o);
152
- if (!e.ok) throw new Error(`Failed to download CSV file: ${e.statusText}`);
153
- return await e.text();
154
- }
155
- static getLastUpdated(o) {
156
- const e = F(o);
157
- return I(e, { addSuffix: !0 });
158
- }
159
- static getUniqueIdInList(o, e) {
160
- const t = o.match(/^(.*?)(-\d+)?$/);
161
- let c = o, a = 1;
162
- t && (c = t[1], t[2] && (a = parseInt(t[2].slice(1)) + 1));
163
- const r = c.toLowerCase();
164
- let s = `${r}-${a}`;
165
- for (; e.some((y) => y.toLowerCase() === s); )
166
- a++, s = `${r}-${a}`;
167
- return s.toLowerCase();
168
- }
169
- static scrollToBottom(o) {
170
- o && o.scrollTo({
171
- top: o.scrollHeight,
172
- behavior: "smooth"
173
- });
174
- }
175
- }
176
- const no = "https://api.digo-labs.com", eo = "X-Digo-App", io = "X-Admin-Secret", to = "wss://ws.digo-labs.com", co = "us-east-1", ao = [
177
- {
178
- name: "Claude 3.7 Sonnet",
179
- description: "Anthropic's advanced model",
180
- icon: "icon-[simple-icons--anthropic]"
181
- },
182
- {
183
- name: "Gemini 2.5 Pro",
184
- description: "Google's latest model",
185
- icon: "icon-[simple-icons--googlegemini]"
186
- },
187
- {
188
- name: "GPT-4.1",
189
- description: "OpenAi's advanced model",
190
- icon: "icon-[simple-icons--openai]"
191
- }
192
- ], ro = {
193
- typescript: { icon: "typescript", name: "TypeScript" },
194
- javascript: { icon: "javascript", name: "JavaScript" },
195
- tsx: { icon: "typescript", name: "TSX" },
196
- jsx: { icon: "javascript", name: "JSX" },
197
- python: { icon: "python", name: "Python" },
198
- rust: { icon: "code", name: "Rust" },
199
- go: { icon: "code", name: "Go" },
200
- sql: { icon: "code", name: "SQL" },
201
- bash: { icon: "terminal", name: "Bash" },
202
- sh: { icon: "terminal", name: "Shell" },
203
- json: { icon: "code", name: "JSON" },
204
- css: { icon: "code", name: "CSS" },
205
- html: { icon: "code", name: "HTML" },
206
- markdown: { icon: "code", name: "Markdown" },
207
- yaml: { icon: "code", name: "YAML" },
208
- xml: { icon: "code", name: "XML" },
209
- text: { icon: "code", name: "Text" }
210
- };
211
- var w = /* @__PURE__ */ ((i) => (i.Navigation = "Navigation", i.Actions = "Actions", i.Status = "Status", i.Media = "Media", i.Files = "Files", i.UI = "UI", i.Brands = "Brands", i.Programming = "Programming", i.Tools = "Tools", i.Data = "Data", i.Communication = "Communication", i.Design = "Design", i.AI = "AI", i.Numbers = "Numbers", i.Misc = "Misc", i))(w || {});
212
- const p = {
213
- arrowUp: { category: "Navigation", icon: "icon-[lucide--arrow-up]" },
214
- arrowDown: { category: "Navigation", icon: "icon-[lucide--arrow-down]" },
215
- arrowLeft: { category: "Navigation", icon: "icon-[lucide--arrow-left]" },
216
- arrowRight: { category: "Navigation", icon: "icon-[lucide--arrow-right]" },
217
- arrowUpLeft: { category: "Navigation", icon: "icon-[lucide--arrow-up-left]" },
218
- arrowUpRight: { category: "Navigation", icon: "icon-[lucide--arrow-up-right]" },
219
- arrowDownLeft: { category: "Navigation", icon: "icon-[lucide--arrow-down-left]" },
220
- arrowDownRight: { category: "Navigation", icon: "icon-[lucide--arrow-down-right]" },
221
- arrowLeftRight: { category: "Navigation", icon: "icon-[lucide--arrow-left-right]" },
222
- arrowUpDown: { category: "Navigation", icon: "icon-[lucide--arrow-up-down]" },
223
- circleArrowUp: { category: "Navigation", icon: "icon-[lucide--circle-arrow-up]" },
224
- circleArrowDown: { category: "Navigation", icon: "icon-[lucide--circle-arrow-down]" },
225
- circleArrowLeft: { category: "Navigation", icon: "icon-[lucide--circle-arrow-left]" },
226
- circleArrowRight: { category: "Navigation", icon: "icon-[lucide--circle-arrow-right]" },
227
- chevronUp: { category: "Navigation", icon: "icon-[lucide--chevron-up]" },
228
- chevronDown: { category: "Navigation", icon: "icon-[lucide--chevron-down]" },
229
- chevronLeft: { category: "Navigation", icon: "icon-[lucide--chevron-left]" },
230
- chevronRight: { category: "Navigation", icon: "icon-[lucide--chevron-right]" },
231
- chevronsUp: { category: "Navigation", icon: "icon-[lucide--chevrons-up]" },
232
- chevronsDown: { category: "Navigation", icon: "icon-[lucide--chevrons-down]" },
233
- chevronsLeft: { category: "Navigation", icon: "icon-[lucide--chevrons-left]" },
234
- chevronsRight: { category: "Navigation", icon: "icon-[lucide--chevrons-right]" },
235
- chevronsUpDown: { category: "Navigation", icon: "icon-[lucide--chevrons-up-down]" },
236
- cornerDownLeft: { category: "Navigation", icon: "icon-[lucide--corner-down-left]" },
237
- cornerDownRight: { category: "Navigation", icon: "icon-[lucide--corner-down-right]" },
238
- cornerLeftDown: { category: "Navigation", icon: "icon-[lucide--corner-left-down]" },
239
- cornerLeftUp: { category: "Navigation", icon: "icon-[lucide--corner-left-up]" },
240
- cornerRightDown: { category: "Navigation", icon: "icon-[lucide--corner-right-down]" },
241
- cornerRightUp: { category: "Navigation", icon: "icon-[lucide--corner-right-up]" },
242
- cornerUpLeft: { category: "Navigation", icon: "icon-[lucide--corner-up-left]" },
243
- cornerUpRight: { category: "Navigation", icon: "icon-[lucide--corner-up-right]" },
244
- home: { category: "Navigation", icon: "icon-[lucide--house]" },
245
- compass: { category: "Navigation", icon: "icon-[lucide--compass]" },
246
- menu: { category: "Navigation", icon: "icon-[lucide--menu]" },
247
- anchor: { category: "Navigation", icon: "icon-[lucide--anchor]" },
248
- route: { category: "Navigation", icon: "icon-[lucide--route]" },
249
- router: { category: "Navigation", icon: "icon-[lucide--router]" },
250
- externalLink: { category: "Navigation", icon: "icon-[lucide--external-link]" },
251
- move: { category: "Navigation", icon: "icon-[lucide--move]" },
252
- expand: { category: "Navigation", icon: "icon-[material-symbols--expand-more-rounded]" },
253
- collapse: { category: "Navigation", icon: "icon-[material-symbols--expand-less-rounded]" },
254
- firstPage: { category: "Navigation", icon: "icon-[material-symbols--first-page-rounded]" },
255
- lastPage: { category: "Navigation", icon: "icon-[material-symbols--last-page-rounded]" },
256
- openInNew: { category: "Navigation", icon: "icon-[material-symbols--open-in-new-rounded]" },
257
- select: { category: "Navigation", icon: "icon-[mi--select]" },
258
- signIn: { category: "Navigation", icon: "icon-[lucide--log-in]" },
259
- login: { category: "Navigation", icon: "icon-[lucide--log-in]" },
260
- logout: { category: "Navigation", icon: "icon-[lucide--log-out]" },
261
- add: { category: "Actions", icon: "icon-[lucide--plus]" },
262
- remove: { category: "Actions", icon: "icon-[lucide--minus]" },
263
- close: { category: "Actions", icon: "icon-[lucide--x]" },
264
- check: { category: "Actions", icon: "icon-[lucide--check]" },
265
- checkCheck: { category: "Actions", icon: "icon-[lucide--check-check]" },
266
- checkIndeterminate: { category: "Actions", icon: "icon-[material-symbols--check-indeterminate-small-rounded]" },
267
- search: { category: "Actions", icon: "icon-[lucide--search]" },
268
- zoomIn: { category: "Actions", icon: "icon-[lucide--zoom-in]" },
269
- zoomOut: { category: "Actions", icon: "icon-[lucide--zoom-out]" },
270
- edit: { category: "Actions", icon: "icon-[lucide--pencil]" },
271
- pencilLine: { category: "Actions", icon: "icon-[lucide--pencil-line]" },
272
- delete: { category: "Actions", icon: "icon-[lucide--trash]" },
273
- trash: { category: "Actions", icon: "icon-[lucide--trash-2]" },
274
- copy: { category: "Actions", icon: "icon-[lucide--copy]" },
275
- paste: { category: "Actions", icon: "icon-[lucide--clipboard-paste]" },
276
- cut: { category: "Actions", icon: "icon-[lucide--scissors]" },
277
- save: { category: "Actions", icon: "icon-[lucide--save]" },
278
- download: { category: "Actions", icon: "icon-[lucide--download]" },
279
- upload: { category: "Actions", icon: "icon-[lucide--upload]" },
280
- refresh: { category: "Actions", icon: "icon-[lucide--refresh-cw]" },
281
- refreshCcw: { category: "Actions", icon: "icon-[lucide--refresh-ccw]" },
282
- rotateCw: { category: "Actions", icon: "icon-[lucide--rotate-cw]" },
283
- rotateCcw: { category: "Actions", icon: "icon-[lucide--rotate-ccw]" },
284
- sync: { category: "Actions", icon: "icon-[material-symbols--sync-rounded]" },
285
- undo: { category: "Actions", icon: "icon-[lucide--undo-2]" },
286
- redo: { category: "Actions", icon: "icon-[lucide--redo-2]" },
287
- send: { category: "Actions", icon: "icon-[lucide--send]" },
288
- share: { category: "Actions", icon: "icon-[lucide--share]" },
289
- share2: { category: "Actions", icon: "icon-[lucide--share-2]" },
290
- attach: { category: "Actions", icon: "icon-[lucide--paperclip]" },
291
- link: { category: "Actions", icon: "icon-[lucide--link]" },
292
- link2: { category: "Actions", icon: "icon-[lucide--link-2]" },
293
- unlink: { category: "Actions", icon: "icon-[lucide--unlink]" },
294
- filter: { category: "Actions", icon: "icon-[lucide--filter]" },
295
- listFilter: { category: "Actions", icon: "icon-[lucide--list-filter]" },
296
- sort: { category: "Actions", icon: "icon-[lucide--arrow-up-down]" },
297
- sortAsc: { category: "Actions", icon: "icon-[lucide--arrow-up-narrow-wide]" },
298
- sortDesc: { category: "Actions", icon: "icon-[lucide--arrow-down-wide-narrow]" },
299
- lock: { category: "Actions", icon: "icon-[lucide--lock]" },
300
- lockOpen: { category: "Actions", icon: "icon-[lucide--lock-open]" },
301
- unlock: { category: "Actions", icon: "icon-[lucide--lock-open]" },
302
- print: { category: "Actions", icon: "icon-[lucide--printer]" },
303
- backspace: { category: "Actions", icon: "icon-[lucide--delete]" },
304
- crop: { category: "Actions", icon: "icon-[lucide--crop]" },
305
- success: { category: "Status", icon: "icon-[lucide--circle-check]" },
306
- checkCircle: { category: "Status", icon: "icon-[lucide--circle-check-big]" },
307
- info: { category: "Status", icon: "icon-[lucide--info]" },
308
- warning: { category: "Status", icon: "icon-[lucide--triangle-alert]" },
309
- error: { category: "Status", icon: "icon-[lucide--circle-x]" },
310
- help: { category: "Status", icon: "icon-[lucide--circle-help]" },
311
- spinner: { category: "Status", icon: "icon-[line-md--loading-twotone-loop]" },
312
- spinnerDots: { category: "Status", icon: "icon-[svg-spinners--3-dots-move]" },
313
- loading: { category: "Status", icon: "icon-[line-md--loading-twotone-loop]" },
314
- loaderCircle: { category: "Status", icon: "icon-[lucide--loader-circle]" },
315
- verified: { category: "Status", icon: "icon-[lucide--badge-check]" },
316
- visibility: { category: "Status", icon: "icon-[lucide--eye]" },
317
- visibilityOff: { category: "Status", icon: "icon-[lucide--eye-off]" },
318
- online: { category: "Status", icon: "icon-[lucide--circle-dot]" },
319
- circleCheck: { category: "Status", icon: "icon-[lucide--circle-check]" },
320
- squareCheck: { category: "Status", icon: "icon-[lucide--square-check]" },
321
- play: { category: "Media", icon: "icon-[lucide--play]" },
322
- pause: { category: "Media", icon: "icon-[lucide--pause]" },
323
- stop: { category: "Media", icon: "icon-[lucide--square]" },
324
- stopCircle: { category: "Media", icon: "icon-[lucide--circle-stop]" },
325
- skipBack: { category: "Media", icon: "icon-[lucide--skip-back]" },
326
- skipForward: { category: "Media", icon: "icon-[lucide--skip-forward]" },
327
- skipNext: { category: "Media", icon: "icon-[lucide--skip-forward]" },
328
- skipPrevious: { category: "Media", icon: "icon-[lucide--skip-back]" },
329
- fastForward: { category: "Media", icon: "icon-[lucide--fast-forward]" },
330
- fastRewind: { category: "Media", icon: "icon-[lucide--rewind]" },
331
- rewind: { category: "Media", icon: "icon-[lucide--rewind]" },
332
- loop: { category: "Media", icon: "icon-[lucide--repeat]" },
333
- shuffle: { category: "Media", icon: "icon-[lucide--shuffle]" },
334
- volumeUp: { category: "Media", icon: "icon-[lucide--volume-2]" },
335
- volumeDown: { category: "Media", icon: "icon-[lucide--volume-1]" },
336
- volumeOff: { category: "Media", icon: "icon-[lucide--volume-off]" },
337
- image: { category: "Media", icon: "icon-[lucide--image]" },
338
- imagePlus: { category: "Media", icon: "icon-[lucide--image-plus]" },
339
- video: { category: "Media", icon: "icon-[lucide--video]" },
340
- videoOff: { category: "Media", icon: "icon-[lucide--video-off]" },
341
- camera: { category: "Media", icon: "icon-[lucide--camera]" },
342
- mic: { category: "Media", icon: "icon-[lucide--mic]" },
343
- micOff: { category: "Media", icon: "icon-[lucide--mic-off]" },
344
- webcam: { category: "Media", icon: "icon-[lucide--webcam]" },
345
- music: { category: "Media", icon: "icon-[lucide--music]" },
346
- music2: { category: "Media", icon: "icon-[lucide--music-2]" },
347
- headset: { category: "Media", icon: "icon-[lucide--headset]" },
348
- captions: { category: "Media", icon: "icon-[lucide--captions]" },
349
- playCircle: { category: "Media", icon: "icon-[lucide--circle-play]" },
350
- pauseCircle: { category: "Media", icon: "icon-[lucide--circle-pause]" },
351
- file: { category: "Files", icon: "icon-[lucide--file]" },
352
- fileText: { category: "Files", icon: "icon-[lucide--file-text]" },
353
- fileAdd: { category: "Files", icon: "icon-[lucide--file-plus]" },
354
- fileZip: { category: "Files", icon: "icon-[lucide--file-archive]" },
355
- fileSymlink: { category: "Files", icon: "icon-[lucide--file-symlink]" },
356
- fileSearch: { category: "Files", icon: "icon-[lucide--file-search]" },
357
- folder: { category: "Files", icon: "icon-[lucide--folder]" },
358
- folderOpen: { category: "Files", icon: "icon-[lucide--folder-open]" },
359
- folderClosed: { category: "Files", icon: "icon-[lucide--folder-closed]" },
360
- folderPlus: { category: "Files", icon: "icon-[lucide--folder-plus]" },
361
- folderMinus: { category: "Files", icon: "icon-[lucide--folder-minus]" },
362
- folderGit: { category: "Files", icon: "icon-[lucide--folder-git-2]" },
363
- folderSymlink: { category: "Files", icon: "icon-[lucide--folder-symlink]" },
364
- document: { category: "Files", icon: "icon-[lucide--file-text]" },
365
- code: { category: "Files", icon: "icon-[lucide--code]" },
366
- codeBlock: { category: "Files", icon: "icon-[lucide--square-code]" },
367
- codeBracket: { category: "Files", icon: "icon-[lucide--braces]" },
368
- codeWrap: { category: "Files", icon: "icon-[lucide--wrap-text]" },
369
- archive: { category: "Files", icon: "icon-[lucide--archive]" },
370
- notebook: { category: "Files", icon: "icon-[lucide--notebook]" },
371
- notes: { category: "Files", icon: "icon-[lucide--sticky-note]" },
372
- clipboard: { category: "Files", icon: "icon-[lucide--clipboard]" },
373
- floppyDisk: { category: "Files", icon: "icon-[lucide--save]" },
374
- panelLeft: { category: "UI", icon: "icon-[lucide--panel-left]" },
375
- panelRight: { category: "UI", icon: "icon-[lucide--panel-right]" },
376
- panelTop: { category: "UI", icon: "icon-[lucide--panel-top]" },
377
- panelBottom: { category: "UI", icon: "icon-[lucide--panel-bottom]" },
378
- sidebar: { category: "UI", icon: "icon-[lucide--panel-left]" },
379
- moreHorizontal: { category: "UI", icon: "icon-[lucide--ellipsis]" },
380
- moreVertical: { category: "UI", icon: "icon-[lucide--ellipsis-vertical]" },
381
- dragHandle: { category: "UI", icon: "icon-[lucide--grip-horizontal]" },
382
- dragIndicator: { category: "UI", icon: "icon-[lucide--grip-vertical]" },
383
- gridView: { category: "UI", icon: "icon-[lucide--grid-2x2]" },
384
- gridSquare: { category: "UI", icon: "icon-[lucide--grid-2x2]" },
385
- colorSwatch: { category: "UI", icon: "icon-[heroicons-solid--color-swatch]" },
386
- layoutGrid: { category: "UI", icon: "icon-[lucide--layout-grid]" },
387
- listView: { category: "UI", icon: "icon-[lucide--list]" },
388
- listOrdered: { category: "UI", icon: "icon-[lucide--list-ordered]" },
389
- settings: { category: "UI", icon: "icon-[lucide--settings]" },
390
- tune: { category: "UI", icon: "icon-[lucide--sliders-horizontal]" },
391
- slidersVertical: { category: "UI", icon: "icon-[lucide--sliders-vertical]" },
392
- notifications: { category: "UI", icon: "icon-[lucide--bell]" },
393
- bellDot: { category: "UI", icon: "icon-[lucide--bell-dot]" },
394
- bellOff: { category: "UI", icon: "icon-[lucide--bell-off]" },
395
- person: { category: "UI", icon: "icon-[lucide--user]" },
396
- group: { category: "UI", icon: "icon-[lucide--users]" },
397
- userCheck: { category: "UI", icon: "icon-[lucide--user-check]" },
398
- userPlus: { category: "UI", icon: "icon-[lucide--user-plus]" },
399
- userMinus: { category: "UI", icon: "icon-[lucide--user-minus]" },
400
- userX: { category: "UI", icon: "icon-[lucide--user-x]" },
401
- userCog: { category: "UI", icon: "icon-[lucide--user-cog]" },
402
- keyboard: { category: "UI", icon: "icon-[lucide--keyboard]" },
403
- keyboardReturn: { category: "UI", icon: "icon-[material-symbols--keyboard-return-rounded]" },
404
- keyboardCommand: { category: "UI", icon: "icon-[lucide--command]" },
405
- fullscreen: { category: "UI", icon: "icon-[lucide--maximize]" },
406
- fullscreenExit: { category: "UI", icon: "icon-[lucide--minimize]" },
407
- dashboard: { category: "UI", icon: "icon-[lucide--layout-dashboard]" },
408
- widgets: { category: "UI", icon: "icon-[material-symbols--widgets-rounded]" },
409
- apps: { category: "UI", icon: "icon-[lucide--grid-3x3]" },
410
- pictureInPicture: { category: "UI", icon: "icon-[lucide--picture-in-picture]" },
411
- toggleOn: { category: "UI", icon: "icon-[lucide--toggle-right]" },
412
- toggleOff: { category: "UI", icon: "icon-[lucide--toggle-left]" },
413
- appWindow: { category: "UI", icon: "icon-[lucide--app-window]" },
414
- terminalWindow: { category: "UI", icon: "icon-[lucide--square-terminal]" },
415
- scrollArea: { category: "UI", icon: "icon-[lucide--scroll]" },
416
- inspectSearch: { category: "UI", icon: "icon-[lucide--scan-search]" },
417
- option: { category: "UI", icon: "icon-[lucide--option]" },
418
- cube: { category: "UI", icon: "icon-[iconoir--select-face-3d]" },
419
- google: { category: "Brands", icon: "icon-[logos--google-icon]" },
420
- github: { category: "Brands", icon: "icon-[mdi--github]" },
421
- apple: { category: "Brands", icon: "icon-[mdi--apple]" },
422
- openai: { category: "Brands", icon: "icon-[simple-icons--openai]" },
423
- anthropic: { category: "Brands", icon: "icon-[simple-icons--anthropic]" },
424
- gemini: { category: "Brands", icon: "icon-[simple-icons--googlegemini]" },
425
- discord: { category: "Brands", icon: "icon-[simple-icons--discord]" },
426
- slack: { category: "Brands", icon: "icon-[simple-icons--slack]" },
427
- figma: { category: "Brands", icon: "icon-[simple-icons--figma]" },
428
- linkedin: { category: "Brands", icon: "icon-[lucide--linkedin]" },
429
- codepen: { category: "Brands", icon: "icon-[lucide--codepen]" },
430
- rss: { category: "Brands", icon: "icon-[lucide--rss]" },
431
- typescript: { category: "Programming", icon: "icon-[simple-icons--typescript]" },
432
- javascript: { category: "Programming", icon: "icon-[simple-icons--javascript]" },
433
- python: { category: "Programming", icon: "icon-[simple-icons--python]" },
434
- react: { category: "Programming", icon: "icon-[simple-icons--react]" },
435
- tailwindcss: { category: "Programming", icon: "icon-[simple-icons--tailwindcss]" },
436
- json: { category: "Programming", icon: "icon-[lucide--braces]" },
437
- html: { category: "Programming", icon: "icon-[simple-icons--html5]" },
438
- css: { category: "Programming", icon: "icon-[simple-icons--css3]" },
439
- terminal: { category: "Programming", icon: "icon-[lucide--terminal]" },
440
- api: { category: "Programming", icon: "icon-[lucide--webhook]" },
441
- variable: { category: "Programming", icon: "icon-[lucide--variable]" },
442
- webhook: { category: "Programming", icon: "icon-[lucide--webhook]" },
443
- functionIcon: { category: "Programming", icon: "icon-[lucide--function-square]" },
444
- cursor: { category: "Tools", icon: "icon-[lucide--mouse-pointer]" },
445
- cursorClick: { category: "Tools", icon: "icon-[lucide--mouse-pointer-click]" },
446
- hand: { category: "Tools", icon: "icon-[lucide--hand]" },
447
- pen: { category: "Tools", icon: "icon-[lucide--pen]" },
448
- brush: { category: "Tools", icon: "icon-[lucide--paintbrush]" },
449
- eraser: { category: "Tools", icon: "icon-[lucide--eraser]" },
450
- colorize: { category: "Tools", icon: "icon-[lucide--pipette]" },
451
- straighten: { category: "Tools", icon: "icon-[lucide--ruler]" },
452
- wrench: { category: "Tools", icon: "icon-[lucide--wrench]" },
453
- plug: { category: "Tools", icon: "icon-[lucide--plug]" },
454
- table: { category: "Data", icon: "icon-[lucide--table]" },
455
- barChart: { category: "Data", icon: "icon-[lucide--chart-bar]" },
456
- chartBarStacked: { category: "Data", icon: "icon-[lucide--chart-bar-stacked]" },
457
- pieChart: { category: "Data", icon: "icon-[lucide--chart-pie]" },
458
- lineChart: { category: "Data", icon: "icon-[lucide--line-chart]" },
459
- chartActivity: { category: "Data", icon: "icon-[lucide--activity]" },
460
- trendingUp: { category: "Data", icon: "icon-[lucide--trending-up]" },
461
- trendingDown: { category: "Data", icon: "icon-[lucide--trending-down]" },
462
- analytics: { category: "Data", icon: "icon-[lucide--chart-no-axes-combined]" },
463
- array: { category: "Data", icon: "icon-[material-symbols--data-array-rounded]" },
464
- database: { category: "Data", icon: "icon-[lucide--database]" },
465
- tag: { category: "Data", icon: "icon-[lucide--tag]" },
466
- label: { category: "Data", icon: "icon-[material-symbols--label-rounded]" },
467
- hash: { category: "Data", icon: "icon-[lucide--hash]" },
468
- percent: { category: "Data", icon: "icon-[lucide--percent]" },
469
- chat: { category: "Communication", icon: "icon-[lucide--message-square]" },
470
- chatBubble: { category: "Communication", icon: "icon-[lucide--message-circle]" },
471
- messageTyping: { category: "Communication", icon: "icon-[lucide--message-square-more]" },
472
- comment: { category: "Communication", icon: "icon-[lucide--message-square-text]" },
473
- email: { category: "Communication", icon: "icon-[lucide--mail]" },
474
- call: { category: "Communication", icon: "icon-[lucide--phone]" },
475
- thumbUp: { category: "Communication", icon: "icon-[lucide--thumbs-up]" },
476
- thumbDown: { category: "Communication", icon: "icon-[lucide--thumbs-down]" },
477
- palette: { category: "Design", icon: "icon-[lucide--palette]" },
478
- paintBucket: { category: "Design", icon: "icon-[lucide--paint-bucket]" },
479
- formatPaint: { category: "Design", icon: "icon-[lucide--paint-roller]" },
480
- autoAwesome: { category: "Design", icon: "icon-[material-symbols--auto-awesome-rounded]" },
481
- style: { category: "Design", icon: "icon-[material-symbols--style]" },
482
- opacity: { category: "Design", icon: "icon-[material-symbols--opacity-rounded]" },
483
- gradient: { category: "Design", icon: "icon-[material-symbols--gradient]" },
484
- contrast: { category: "Design", icon: "icon-[carbon--contrast]" },
485
- brightness: { category: "Design", icon: "icon-[lucide--sun]" },
486
- layers: { category: "Design", icon: "icon-[lucide--layers]" },
487
- blendMode: { category: "Design", icon: "icon-[lucide--blend]" },
488
- shadow: { category: "Design", icon: "icon-[material-symbols--ev-shadow]" },
489
- roundedCorner: { category: "Design", icon: "icon-[material-symbols--rounded-corner-rounded]" },
490
- formatSpacing: { category: "Design", icon: "icon-[material-symbols--format-letter-spacing-rounded]" },
491
- shapes: { category: "Design", icon: "icon-[lucide--shapes]" },
492
- robot: { category: "AI", icon: "icon-[lucide--bot]" },
493
- sparkles: { category: "AI", icon: "icon-[lucide--sparkles]" },
494
- sparkle: { category: "AI", icon: "icon-[lucide--sparkle]" },
495
- brain: { category: "AI", icon: "icon-[lucide--brain]" },
496
- magic: { category: "AI", icon: "icon-[lucide--wand-sparkles]" },
497
- experiment: { category: "AI", icon: "icon-[lucide--flask-conical]" },
498
- psychology: { category: "AI", icon: "icon-[material-symbols--psychology-rounded]" },
499
- one: { category: "Numbers", icon: "icon-[material-symbols--counter-1-rounded]" },
500
- two: { category: "Numbers", icon: "icon-[material-symbols--counter-2-rounded]" },
501
- three: { category: "Numbers", icon: "icon-[material-symbols--counter-3-rounded]" },
502
- four: { category: "Numbers", icon: "icon-[material-symbols--counter-4-rounded]" },
503
- five: { category: "Numbers", icon: "icon-[material-symbols--counter-5-rounded]" },
504
- six: { category: "Numbers", icon: "icon-[material-symbols--counter-6-rounded]" },
505
- seven: { category: "Numbers", icon: "icon-[material-symbols--counter-7-rounded]" },
506
- eight: { category: "Numbers", icon: "icon-[material-symbols--counter-8]" },
507
- nine: { category: "Numbers", icon: "icon-[material-symbols--counter-9-rounded]" },
508
- favorite: { category: "Misc", icon: "icon-[lucide--heart]" },
509
- star: { category: "Misc", icon: "icon-[lucide--star]" },
510
- bookmark: { category: "Misc", icon: "icon-[lucide--bookmark]" },
511
- flag: { category: "Misc", icon: "icon-[lucide--flag]" },
512
- flagTriangle: { category: "Misc", icon: "icon-[lucide--flag-triangle-right]" },
513
- creditCard: { category: "Misc", icon: "icon-[lucide--credit-card]" },
514
- shoppingCart: { category: "Misc", icon: "icon-[lucide--shopping-cart]" },
515
- store: { category: "Misc", icon: "icon-[lucide--store]" },
516
- coins: { category: "Misc", icon: "icon-[lucide--coins]" },
517
- dollarSign: { category: "Misc", icon: "icon-[lucide--dollar-sign]" },
518
- receipt: { category: "Misc", icon: "icon-[lucide--receipt]" },
519
- location: { category: "Misc", icon: "icon-[lucide--map-pin]" },
520
- calendar: { category: "Misc", icon: "icon-[lucide--calendar]" },
521
- clock: { category: "Misc", icon: "icon-[lucide--clock]" },
522
- clockRewind: { category: "Misc", icon: "icon-[lucide--history]" },
523
- schedule: { category: "Misc", icon: "icon-[lucide--clock]" },
524
- timer: { category: "Misc", icon: "icon-[lucide--timer]" },
525
- stopwatch: { category: "Misc", icon: "icon-[lucide--timer]" },
526
- alarmClock: { category: "Misc", icon: "icon-[lucide--alarm-clock]" },
527
- lightbulb: { category: "Misc", icon: "icon-[lucide--lightbulb]" },
528
- bolt: { category: "Misc", icon: "icon-[lucide--zap]" },
529
- cloud: { category: "Misc", icon: "icon-[lucide--cloud]" },
530
- cloudUpload: { category: "Misc", icon: "icon-[lucide--cloud-upload]" },
531
- cloudDownload: { category: "Misc", icon: "icon-[lucide--cloud-download]" },
532
- lightMode: { category: "Misc", icon: "icon-[lucide--sun]" },
533
- darkMode: { category: "Misc", icon: "icon-[lucide--moon]" },
534
- moonStar: { category: "Misc", icon: "icon-[lucide--moon-star]" },
535
- sunDim: { category: "Misc", icon: "icon-[lucide--sun-dim]" },
536
- power: { category: "Misc", icon: "icon-[lucide--power]" },
537
- shield: { category: "Misc", icon: "icon-[lucide--shield]" },
538
- shieldCheck: { category: "Misc", icon: "icon-[lucide--shield-check]" },
539
- shieldOff: { category: "Misc", icon: "icon-[lucide--shield-off]" },
540
- key: { category: "Misc", icon: "icon-[lucide--key]" },
541
- keyRound: { category: "Misc", icon: "icon-[lucide--key-round]" },
542
- fingerprint: { category: "Misc", icon: "icon-[lucide--fingerprint]" },
543
- pin: { category: "Misc", icon: "icon-[lucide--pin]" },
544
- paperclip: { category: "Misc", icon: "icon-[lucide--paperclip]" },
545
- globe: { category: "Misc", icon: "icon-[lucide--globe]" },
546
- globeLock: { category: "Misc", icon: "icon-[lucide--globe-lock]" },
547
- gps: { category: "Misc", icon: "icon-[lucide--locate]" },
548
- network: { category: "Misc", icon: "icon-[lucide--network]" },
549
- cpu: { category: "Misc", icon: "icon-[lucide--cpu]" },
550
- monitor: { category: "Misc", icon: "icon-[lucide--monitor]" },
551
- smartphone: { category: "Misc", icon: "icon-[lucide--smartphone]" },
552
- tablet: { category: "Misc", icon: "icon-[lucide--tablet]" },
553
- monitorSmartphone: { category: "Misc", icon: "icon-[lucide--monitor-smartphone]" },
554
- server: { category: "Misc", icon: "icon-[lucide--server]" },
555
- hardDrive: { category: "Misc", icon: "icon-[lucide--hard-drive]" },
556
- box: { category: "Misc", icon: "icon-[lucide--box]" },
557
- puzzle: { category: "Misc", icon: "icon-[lucide--puzzle]" },
558
- briefcase: { category: "Misc", icon: "icon-[lucide--briefcase]" },
559
- calculator: { category: "Misc", icon: "icon-[lucide--calculator]" },
560
- buildings: { category: "Misc", icon: "icon-[lucide--building-2]" },
561
- bug: { category: "Misc", icon: "icon-[lucide--bug]" },
562
- droplet: { category: "Misc", icon: "icon-[lucide--droplet]" },
563
- bookOpen: { category: "Misc", icon: "icon-[lucide--book-open]" },
564
- bookClosed: { category: "Misc", icon: "icon-[lucide--book-marked]" },
565
- lifebuoy: { category: "Misc", icon: "icon-[lucide--life-buoy]" },
566
- accessibility: { category: "Misc", icon: "icon-[lucide--accessibility]" },
567
- workflow: { category: "Misc", icon: "icon-[lucide--workflow]" },
568
- gitBranch: { category: "Misc", icon: "icon-[lucide--git-branch]" },
569
- gitBranchPlus: { category: "Misc", icon: "icon-[lucide--git-branch-plus]" },
570
- gitCommit: { category: "Misc", icon: "icon-[lucide--git-commit-horizontal]" },
571
- gitMerge: { category: "Misc", icon: "icon-[lucide--git-merge]" },
572
- gitPullRequest: { category: "Misc", icon: "icon-[lucide--git-pull-request]" },
573
- crosshair: { category: "Misc", icon: "icon-[lucide--crosshair]" },
574
- target: { category: "Misc", icon: "icon-[lucide--target]" },
575
- smile: { category: "Misc", icon: "icon-[lucide--smile]" },
576
- frown: { category: "Misc", icon: "icon-[lucide--frown]" },
577
- smilePlus: { category: "Misc", icon: "icon-[lucide--smile-plus]" },
578
- bold: { category: "Misc", icon: "icon-[lucide--bold]" },
579
- italic: { category: "Misc", icon: "icon-[lucide--italic]" },
580
- strikethrough: { category: "Misc", icon: "icon-[lucide--strikethrough]" },
581
- underline: { category: "Misc", icon: "icon-[lucide--underline]" },
582
- heading: { category: "Misc", icon: "icon-[lucide--heading]" },
583
- type: { category: "Misc", icon: "icon-[lucide--type]" },
584
- caseSensitive: { category: "Misc", icon: "icon-[lucide--case-sensitive]" },
585
- alignLeft: { category: "Misc", icon: "icon-[lucide--align-left]" },
586
- alignCenter: { category: "Misc", icon: "icon-[lucide--align-center]" },
587
- alignRight: { category: "Misc", icon: "icon-[lucide--align-right]" }
588
- };
589
- class so {
590
- static getIcon(o) {
591
- return o in p ? p[o].icon : o;
592
- }
593
- static getCategory(o) {
594
- return p[o].category;
595
- }
596
- static getCategories() {
597
- const o = /* @__PURE__ */ new Set();
598
- for (const e of Object.values(p))
599
- o.add(e.category);
600
- return Object.values(w).filter((e) => o.has(e));
601
- }
602
- static getByCategory() {
603
- const o = {};
604
- for (const e of Object.values(w))
605
- o[e] = [];
606
- for (const [e, t] of Object.entries(p))
607
- o[t.category].push({
608
- id: e,
609
- category: t.category,
610
- icon: t.icon
611
- });
612
- return o;
613
- }
614
- }
615
- const A = `@plugin "@iconify/tailwind4";
616
-
617
- @plugin "tailwindcss-animate";
618
-
619
- @source inline("typo-1 typo-2 typo-3 typo-4 typo-5 typo-6 typo-7 typo-8 typo-9 typo-10 typo-11 typo-12 typo-13 typo-14 typo-15 typo-16 typo-17 typo-18 typo-weight-100 typo-weight-200 typo-weight-300 typo-weight-400 typo-weight-500 typo-weight-600 typo-weight-700 typo-weight-800 typo-weight-900");
620
-
621
- @source "./index.js";
622
-
623
- @theme static {
624
- --font-code: 'geist-mono', monospace;
625
- --font-geist: 'geist', sans-serif;
626
- --font-geist-mono: 'geist-mono', monospace;
627
- --font-pixel-circle: 'geist-pixel-circle', monospace;
628
- --font-pixel-grid: 'geist-pixel-grid', monospace;
629
- --font-pixel-line: 'geist-pixel-line', monospace;
630
- --font-pixel-square: 'geist-pixel-square', monospace;
631
- --font-pixel-triangle: 'geist-pixel-triangle', monospace;
632
- --font-clash-grotesk: 'clash-grotesk-variable', sans-serif;
633
- --font-nippo: 'nippo', sans-serif;
634
- --font-humane: 'humane-variable', sans-serif;
635
- --font-general-sans: 'general-sans', sans-serif;
636
- --font-kode-mono: 'kode-mono-vf', monospace;
637
- --font-aalto: 'Aalto', display;
638
- --font-being: 'being', display;
639
- --font-benzol: 'benzol', display;
640
- --font-half: 'half', display;
641
- --font-miratrix: 'miratrix', display;
642
- --font-triakis: 'triakis', display;
643
- --font-yeager: 'yeager', display;
644
- --font-karmatic-arcade: 'karmatic-arcade-regular', display;
645
- --font-digital-7: 'digital-7-mono', monospace;
646
- --font-pixelony: 'pixelony', display;
647
- --font-unknown: 'unknown', display;
648
- --font-disket: 'disket', display;
649
- --font-heming: 'heming', display;
650
- --font-obrazec: 'obrazec', display;
651
-
652
- --color-neutral-1: #111111;
653
- --color-neutral-2: #191919;
654
- --color-neutral-3: #222222;
655
- --color-neutral-4: #2a2a2a;
656
- --color-neutral-5: #313131;
657
- --color-neutral-6: #3a3a3a;
658
- --color-neutral-7: #484848;
659
- --color-neutral-8: #606060;
660
- --color-neutral-9: #6e6e6e;
661
- --color-neutral-10: #7b7b7b;
662
- --color-neutral-11: #b4b4b4;
663
- --color-neutral-12: #eeeeee;
664
-
665
- --color-neutralA-1: #FFFFFF05;
666
- --color-neutralA-2: #FFFFFF09;
667
- --color-neutralA-3: #FFFFFF12;
668
- --color-neutralA-4: #FFFFFF1B;
669
- --color-neutralA-5: #FFFFFF22;
670
- --color-neutralA-6: #FFFFFF2C;
671
- --color-neutralA-7: #FFFFFF3B;
672
- --color-neutralA-8: #FFFFFF55;
673
- --color-neutralA-9: #FFFFFF64;
674
- --color-neutralA-10: #FFFFFF72;
675
- --color-neutralA-11: #FFFFFFAF;
676
- --color-neutralA-12: #FFFFFFED;
677
-
678
- --color-shadows-1: #0000000D;
679
- --color-shadows-2: #0000001A;
680
- --color-shadows-3: #00000026;
681
- --color-shadows-4: #00000033;
682
- --color-shadows-5: #0000004D;
683
- --color-shadows-6: #00000066;
684
- --color-shadows-7: #00000080;
685
- --color-shadows-8: #00000099;
686
- --color-shadows-9: #000000B3;
687
- --color-shadows-10: #000000CC;
688
- --color-shadows-11: #000000E6;
689
- --color-shadows-12: #000000F2;
690
-
691
- --color-accent-1: #0e1512;
692
- --color-accent-2: #121b17;
693
- --color-accent-3: #132d21;
694
- --color-accent-4: #113b29;
695
- --color-accent-5: #174933;
696
- --color-accent-6: #20573e;
697
- --color-accent-7: #28684a;
698
- --color-accent-8: #2f7c57;
699
- --color-accent-9: #30a46c;
700
- --color-accent-10: #33b074;
701
- --color-accent-11: #3dd68c;
702
- --color-accent-12: #b1f1cb;
703
-
704
- --color-accentA-1: #00de4505;
705
- --color-accentA-2: #29f99d0b;
706
- --color-accentA-3: #22ff991e;
707
- --color-accentA-4: #11ff992d;
708
- --color-accentA-5: #2bffa23c;
709
- --color-accentA-6: #44ffaa4b;
710
- --color-accentA-7: #50fdac5e;
711
- --color-accentA-8: #54ffad73;
712
- --color-accentA-9: #44ffa49e;
713
- --color-accentA-10: #43fea4ab;
714
- --color-accentA-11: #46fea5d4;
715
- --color-accentA-12: #bbffd7f0;
716
-
717
- --color-error-1: #191113;
718
- --color-error-2: #1e1517;
719
- --color-error-3: #3a141e;
720
- --color-error-4: #4e1325;
721
- --color-error-5: #5e1a2e;
722
- --color-error-6: #6f2539;
723
- --color-error-7: #883447;
724
- --color-error-8: #b3445a;
725
- --color-error-9: #e54666;
726
- --color-error-10: #ec5a72;
727
- --color-error-11: #ff949d;
728
- --color-error-12: #fed2e1;
729
-
730
- --color-errorA-1: #f4126709;
731
- --color-errorA-2: #f22f7a11;
732
- --color-errorA-3: #fe2a8b2a;
733
- --color-errorA-4: #fd158741;
734
- --color-errorA-5: #fd278f51;
735
- --color-errorA-6: #fe459763;
736
- --color-errorA-7: #fd559b7f;
737
- --color-errorA-8: #fe5b9bab;
738
- --color-errorA-9: #fe418de8;
739
- --color-errorA-10: #ff5693ed;
740
- --color-errorA-11: #ff92ad;
741
- --color-errorA-12: #ffd5eafd;
742
-
743
- --color-success-1: #0d1512;
744
- --color-success-2: #121c18;
745
- --color-success-3: #0f2e22;
746
- --color-success-4: #0b3b2c;
747
- --color-success-5: #114837;
748
- --color-success-6: #1b5745;
749
- --color-success-7: #246854;
750
- --color-success-8: #2a7e68;
751
- --color-success-9: #29a383;
752
- --color-success-10: #27b08b;
753
- --color-success-11: #1fd8a4;
754
- --color-success-12: #adf0d4;
755
-
756
- --color-successA-1: #00de4505;
757
- --color-successA-2: #29f99d0b;
758
- --color-successA-3: #22ff991e;
759
- --color-successA-4: #11ff992d;
760
- --color-successA-5: #2bffa23c;
761
- --color-successA-6: #44ffaa4b;
762
- --color-successA-7: #50fdac5e;
763
- --color-successA-8: #54ffad73;
764
- --color-successA-9: #44ffa49e;
765
- --color-successA-10: #43fea4ab;
766
- --color-successA-11: #46fea5d4;
767
- --color-successA-12: #bbffd7f0;
768
-
769
- --color-warning-1: #16120c;
770
- --color-warning-2: #1d180f;
771
- --color-warning-3: #302008;
772
- --color-warning-4: #3f2700;
773
- --color-warning-5: #4d3000;
774
- --color-warning-6: #5c3d05;
775
- --color-warning-7: #714f19;
776
- --color-warning-8: #8f6424;
777
- --color-warning-9: #f5d90a;
778
- --color-warning-10: #ffef5c;
779
- --color-warning-11: #f0c000;
780
- --color-warning-12: #fffad1;
781
-
782
- --color-warningA-1: #d1510004;
783
- --color-warningA-2: #f9b4000b;
784
- --color-warningA-3: #ffaa001e;
785
- --color-warningA-4: #fdb70028;
786
- --color-warningA-5: #febb0036;
787
- --color-warningA-6: #fec40046;
788
- --color-warningA-7: #fdcb225c;
789
- --color-warningA-8: #fdca327b;
790
- --color-warningA-9: #ffe629;
791
- --color-warningA-10: #ffff57;
792
- --color-warningA-11: #fee949f5;
793
- --color-warningA-12: #fef6baf6;
794
-
795
- --color-info-1: #0d1520;
796
- --color-info-2: #111927;
797
- --color-info-3: #0d2847;
798
- --color-info-4: #003362;
799
- --color-info-5: #004074;
800
- --color-info-6: #104d87;
801
- --color-info-7: #205d9e;
802
- --color-info-8: #2870bd;
803
- --color-info-9: #0090ff;
804
- --color-info-10: #3b9eff;
805
- --color-info-11: #70b8ff;
806
- --color-info-12: #c2e6ff;
807
-
808
- --color-infoA-1: #004df211;
809
- --color-infoA-2: #1166fb18;
810
- --color-infoA-3: #0077ff3a;
811
- --color-infoA-4: #0075ff57;
812
- --color-infoA-5: #0081fd6b;
813
- --color-infoA-6: #0f89fd7f;
814
- --color-infoA-7: #2a91fe98;
815
- --color-infoA-8: #3094feb9;
816
- --color-infoA-9: #0090ff;
817
- --color-infoA-10: #3b9eff;
818
- --color-infoA-11: #70b8ff;
819
- --color-infoA-12: #c2e6ff;
820
-
821
- --text-xxs: 0.625rem;
822
- --text-10xl: 10rem;
823
- --text-11xl: 12rem;
824
- --text-12xl: 14rem;
825
- --text-13xl: 16rem;
826
- }
827
-
828
- @theme {
829
- --radius: 0.5rem;
830
- --radius-xxs: calc(var(--radius) * 0.25);
831
- --radius-xs: calc(var(--radius) * 0.375);
832
- --radius-sm: calc(var(--radius) * 0.625);
833
- --radius-md: calc(var(--radius) * 0.875);
834
- --radius-lg: calc(var(--radius) * 1.25);
835
- --radius-xl: calc(var(--radius) * 1.75);
836
- --radius-2xl: calc(var(--radius) * 2.5);
837
- --radius-3xl: calc(var(--radius) * 3.5);
838
-
839
- --typo-header-font: 'geist', sans-serif;
840
- --typo-header-weight: 600;
841
- --typo-header-tracking: 0.025em;
842
- --typo-header-leading: 1;
843
-
844
- --typo-label-font: 'geist', sans-serif;
845
- --typo-label-weight: 500;
846
- --typo-label-tracking: 0.025em;
847
- --typo-label-leading: 1;
848
-
849
- --typo-body-font: 'geist', sans-serif;
850
- --typo-body-weight: 400;
851
- --typo-body-tracking: 0.025em;
852
- --typo-body-leading: 1.375;
853
-
854
- --typo-code-font: 'geist-mono', monospace;
855
- --typo-code-weight: 500;
856
- --typo-code-tracking: 0;
857
- --typo-code-leading: 1.5;
858
-
859
- --typo-scale-factor: 1;
860
-
861
- --shadow-xs-color: var(--color-neutral-9);
862
- --shadow-xs-offsetX: 0px;
863
- --shadow-xs-offsetY: 0px;
864
- --shadow-xs-blur: 2px;
865
- --shadow-xs-spread: 0px;
866
- --shadow-xs-opacity: 5%;
867
- --shadow-xs: var(--shadow-xs-offsetX) var(--shadow-xs-offsetY) var(--shadow-xs-blur) var(--shadow-xs-spread) color-mix(in srgb, var(--shadow-xs-color) var(--shadow-xs-opacity), transparent);
868
-
869
- --shadow-s-color: var(--color-neutral-9);
870
- --shadow-s-offsetX: 0px;
871
- --shadow-s-offsetY: 0px;
872
- --shadow-s-blur: 4px;
873
- --shadow-s-spread: 0px;
874
- --shadow-s-opacity: 10%;
875
- --shadow-s: var(--shadow-s-offsetX) var(--shadow-s-offsetY) var(--shadow-s-blur) var(--shadow-s-spread) color-mix(in srgb, var(--shadow-s-color) var(--shadow-s-opacity), transparent);
876
-
877
- --shadow-m-color: var(--color-neutral-9);
878
- --shadow-m-offsetX: 0px;
879
- --shadow-m-offsetY: 0px;
880
- --shadow-m-blur: 8px;
881
- --shadow-m-spread: -1px;
882
- --shadow-m-opacity: 15%;
883
- --shadow-m: var(--shadow-m-offsetX) var(--shadow-m-offsetY) var(--shadow-m-blur) var(--shadow-m-spread) color-mix(in srgb, var(--shadow-m-color) var(--shadow-m-opacity), transparent);
884
-
885
- --shadow-l-color: var(--color-neutral-9);
886
- --shadow-l-offsetX: 0px;
887
- --shadow-l-offsetY: 0px;
888
- --shadow-l-blur: 16px;
889
- --shadow-l-spread: -2px;
890
- --shadow-l-opacity: 20%;
891
- --shadow-l: var(--shadow-l-offsetX) var(--shadow-l-offsetY) var(--shadow-l-blur) var(--shadow-l-spread) color-mix(in srgb, var(--shadow-l-color) var(--shadow-l-opacity), transparent);
892
-
893
- --shadow-xl-color: var(--color-neutral-9);
894
- --shadow-xl-offsetX: 0px;
895
- --shadow-xl-offsetY: 0px;
896
- --shadow-xl-blur: 40px;
897
- --shadow-xl-spread: -8px;
898
- --shadow-xl-opacity: 30%;
899
- --shadow-xl: var(--shadow-xl-offsetX) var(--shadow-xl-offsetY) var(--shadow-xl-blur) var(--shadow-xl-spread) color-mix(in srgb, var(--shadow-xl-color) var(--shadow-xl-opacity), transparent);
900
- }
901
-
902
- @utility typo-weight-100 {
903
- @apply font-thin;
904
- }
905
-
906
- @utility typo-weight-200 {
907
- @apply font-extralight;
908
- }
909
-
910
- @utility typo-weight-300 {
911
- @apply font-light;
912
- }
913
-
914
- @utility typo-weight-400 {
915
- @apply font-normal;
916
- }
917
-
918
- @utility typo-weight-500 {
919
- @apply font-medium;
920
- }
921
-
922
- @utility typo-weight-600 {
923
- @apply font-semibold;
924
- }
925
-
926
- @utility typo-weight-700 {
927
- @apply font-bold;
928
- }
929
-
930
- @utility typo-weight-800 {
931
- @apply font-extrabold;
932
- }
933
-
934
- @utility typo-weight-900 {
935
- @apply font-black;
936
- }
937
-
938
- @utility typo-header {
939
- font-family: var(--typo-header-font);
940
- font-weight: var(--typo-header-weight);
941
- -webkit-font-smoothing: antialiased;
942
- white-space: nowrap;
943
- letter-spacing: var(--typo-header-tracking);
944
- line-height: var(--typo-header-leading);
945
- }
946
-
947
- @utility typo-label {
948
- font-family: var(--typo-label-font);
949
- font-weight: var(--typo-label-weight);
950
- -webkit-font-smoothing: antialiased;
951
- white-space: nowrap;
952
- letter-spacing: var(--typo-label-tracking);
953
- line-height: var(--typo-label-leading);
954
- }
955
-
956
- @utility typo-body {
957
- font-family: var(--typo-body-font);
958
- font-weight: var(--typo-body-weight);
959
- -webkit-font-smoothing: antialiased;
960
- text-wrap: wrap;
961
- letter-spacing: var(--typo-body-tracking);
962
- line-height: var(--typo-body-leading);
963
- }
964
-
965
- @utility typo-code {
966
- font-family: var(--typo-code-font);
967
- font-weight: var(--typo-code-weight);
968
- -webkit-font-smoothing: antialiased;
969
- white-space: nowrap;
970
- letter-spacing: var(--typo-code-tracking);
971
- line-height: var(--typo-code-leading);
972
- font-variant-numeric: tabular-nums;
973
- }
974
-
975
- @utility typo-1 {
976
- @apply typo-body;
977
- font-size: calc(var(--text-xxs) * var(--typo-scale-factor));
978
- }
979
-
980
- @utility typo-2 {
981
- @apply typo-body;
982
- font-size: calc(var(--text-xs) * var(--typo-scale-factor));
983
- }
984
-
985
- @utility typo-3 {
986
- @apply typo-body;
987
- font-size: calc(var(--text-sm) * var(--typo-scale-factor));
988
- }
989
-
990
- @utility typo-4 {
991
- @apply typo-body;
992
- font-size: calc(var(--text-base) * var(--typo-scale-factor));
993
- }
994
-
995
- @utility typo-5 {
996
- @apply typo-body;
997
- font-size: calc(var(--text-lg) * var(--typo-scale-factor));
998
- }
999
-
1000
- @utility typo-6 {
1001
- @apply typo-body;
1002
- font-size: calc(var(--text-xl) * var(--typo-scale-factor));
1003
- }
1004
-
1005
- @utility typo-7 {
1006
- @apply typo-body;
1007
- font-size: calc(var(--text-2xl) * var(--typo-scale-factor));
1008
- }
1009
-
1010
- @utility typo-8 {
1011
- @apply typo-body;
1012
- font-size: calc(var(--text-3xl) * var(--typo-scale-factor));
1013
- }
1014
-
1015
- @utility typo-9 {
1016
- @apply typo-body;
1017
- font-size: calc(var(--text-4xl) * var(--typo-scale-factor));
1018
- }
1019
-
1020
- @utility typo-10 {
1021
- @apply typo-body;
1022
- font-size: calc(var(--text-5xl) * var(--typo-scale-factor));
1023
- }
1024
-
1025
- @utility typo-11 {
1026
- @apply typo-body;
1027
- font-size: calc(var(--text-6xl) * var(--typo-scale-factor));
1028
- }
1029
-
1030
- @utility typo-12 {
1031
- @apply typo-body;
1032
- font-size: calc(var(--text-7xl) * var(--typo-scale-factor));
1033
- }
1034
-
1035
- @utility typo-13 {
1036
- @apply typo-body;
1037
- font-size: calc(var(--text-8xl) * var(--typo-scale-factor));
1038
- }
1039
-
1040
- @utility typo-14 {
1041
- @apply typo-body;
1042
- font-size: calc(var(--text-9xl) * var(--typo-scale-factor));
1043
- }
1044
-
1045
- @utility typo-15 {
1046
- @apply typo-body;
1047
- font-size: calc(var(--text-10xl) * var(--typo-scale-factor));
1048
- }
1049
-
1050
- @utility typo-16 {
1051
- @apply typo-body;
1052
- font-size: calc(var(--text-11xl) * var(--typo-scale-factor));
1053
- }
1054
-
1055
- @utility typo-17 {
1056
- @apply typo-body;
1057
- font-size: calc(var(--text-12xl) * var(--typo-scale-factor));
1058
- }
1059
-
1060
- @utility typo-18 {
1061
- @apply typo-body;
1062
- font-size: calc(var(--text-13xl) * var(--typo-scale-factor));
1063
- }
1064
-
1065
- @utility filter-none {
1066
- filter: none;
1067
- }
1068
-
1069
- @utility flex-col-center {
1070
- @apply flex flex-col justify-center items-center align-middle;
1071
- }
1072
-
1073
- @utility grid-hor-center {
1074
- @apply grid grid-flow-col items-center;
1075
- }
1076
-
1077
- @utility grid-ver-center {
1078
- @apply grid grid-flow-row items-center;
1079
- }
1080
-
1081
- @utility flex-row-center {
1082
- @apply flex flex-row justify-center items-center align-middle;
1083
- }
1084
-
1085
- @utility cs-border-dashed {
1086
- @apply border border-dashed border-neutralA-4;
1087
- }
1088
-
1089
- @utility cs-disabled {
1090
- @apply disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50;
1091
- }
1092
-
1093
- @utility cs-has-disabled {
1094
- @apply has-[[data-slot=control]:disabled]:pointer-events-none has-[[data-slot=control]:disabled]:opacity-50;
1095
- }
1096
-
1097
- @utility cs-transition {
1098
- @apply transition-all duration-200 ease-in-out;
1099
- }
1100
-
1101
- @utility cs-contrast {
1102
- @apply drop-shadow-[0_1px_1px_#0008] drop-shadow-[0_-1px_1px_#fff4];
1103
- }
1104
-
1105
- @utility cs-popup-animation {
1106
- @apply origin-(--transform-origin) transition-[scale,opacity] duration-[0.25s] ease-[cubic-bezier(0.34,1.56,0.64,1)] data-starting-style:scale-90 data-starting-style:opacity-0 data-ending-style:scale-90 data-ending-style:opacity-0 data-instant:transition-none;
1107
- }
1108
-
1109
- @utility cs-focus {
1110
- @apply outline-none focus-visible:duration-0 focus-visible:outline-solid focus-visible:z-1 focus-visible:ring-[3px] focus-visible:ring-accent-4 focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-accent-9;
1111
- }
1112
-
1113
- @utility cs-has-focus {
1114
- @apply has-[[data-slot=control]:focus-visible]:z-1 has-[[data-slot=control]:focus-visible]:ring-[3px] has-[[data-slot=control]:focus-visible]:ring-accent-4 has-[[data-slot=control]:focus-visible]:outline-1 has-[[data-slot=control]:focus-visible]:outline-solid has-[[data-slot=control]:focus-visible]:-outline-offset-1 has-[[data-slot=control]:focus-visible]:outline-accent-9;
1115
- }
1116
-
1117
- @utility cs-invalid {
1118
- @apply aria-invalid:ring-3 aria-invalid:ring-error-3 aria-invalid:ring-error-6 aria-invalid:border-error-9 focus-visible:aria-invalid:ring-error-4 focus-visible:aria-invalid:outline-error-9;
1119
- }
1120
-
1121
- @utility cs-has-invalid {
1122
- @apply has-[[data-slot=control][aria-invalid=true]]:ring-3 has-[[data-slot=control][aria-invalid=true]]:ring-error-3 has-[[data-slot=control][aria-invalid=true]]:ring-error-6 has-[[data-slot=control][aria-invalid=true]]:border-error-9 has-[[data-slot=control][aria-invalid=true]:focus-visible]:ring-error-4 has-[[data-slot=control][aria-invalid=true]:focus-visible]:outline-error-9;
1123
- }
1124
-
1125
- @utility cs-masonry {
1126
- columns: 3;
1127
- & > * {
1128
- break-inside: avoid-column;
1129
- }
1130
- }
1131
-
1132
- @utility cs-stroke {
1133
- -webkit-text-stroke-width: var(--stroke-w, 2px);
1134
- -webkit-text-stroke-color: var(--stroke-color, var(--color-neutral-12));
1135
- color: transparent;
1136
- paint-order: stroke fill;
1137
- }
1138
-
1139
- @utility cs-backdrop-panel {
1140
- @apply rounded-md border-neutralA-4 bg-neutral-1/60 text-neutral-11 backdrop-blur-lg border shadow-m;
1141
- }
1142
-
1143
- @utility animate-collapsible-down {
1144
- animation: collapsible-down 0.2s ease-out;
1145
- }
1146
-
1147
- @utility animate-collapsible-up {
1148
- animation: collapsible-up 0.2s ease-out;
1149
- }
1150
-
1151
- @utility no-scrollbar {
1152
- @apply [scrollbar-width:none] [&::-webkit-scrollbar]:hidden;
1153
- }
1154
-
1155
- @utility cs-gutter {
1156
- background: repeating-linear-gradient(315deg, var(--color-neutral-3) 0 1px, transparent 1px 50%);
1157
- background-size: 10px 10px;
1158
- background-attachment: fixed;
1159
- }
1160
-
1161
- @keyframes stripes {
1162
- from { background-position: 0 0; }
1163
- to { background-position: 16px 0; }
1164
- }
1165
-
1166
- @utility cs-stripes {
1167
- background-image: repeating-linear-gradient(315deg, var(--color-neutralA-4) 0 4px, transparent 2px 50%);
1168
- background-size: 16px 16px;
1169
- animation: stripes 0.6s linear infinite;
1170
- }
1171
-
1172
- @utility cs-guides {
1173
- overflow: clip;
1174
- isolation: isolate;
1175
-
1176
- & > * {
1177
- position: relative;
1178
- z-index: 0;
1179
-
1180
- &::after {
1181
- content: '';
1182
- position: absolute;
1183
- left: 0;
1184
- right: -1px;
1185
- top: -9999px;
1186
- bottom: -9999px;
1187
- border-left: 1px solid var(--color-neutral-4);
1188
- border-right: 1px solid var(--color-neutral-4);
1189
- pointer-events: none;
1190
- z-index: 1;
1191
- }
1192
-
1193
- &::before {
1194
- content: '';
1195
- position: absolute;
1196
- top: 0;
1197
- bottom: -1px;
1198
- left: -9999px;
1199
- right: -9999px;
1200
- border-top: 1px solid var(--color-neutral-4);
1201
- border-bottom: 1px solid var(--color-neutral-4);
1202
- pointer-events: none;
1203
- z-index: 1;
1204
- }
1205
- }
1206
- }
1207
-
1208
- @utility cs-page-container {
1209
- @apply grid grid-cols-[1fr_minmax(0,var(--page-max-w,64rem))_1fr];
1210
- }
1211
-
1212
- @utility cs-page-grid {
1213
- position: relative;
1214
- max-width: var(--page-max-w, 64rem);
1215
- width: 100%;
1216
- margin-inline: auto;
1217
- border-inline: 1px solid var(--color-neutral-4);
1218
-
1219
- & > :where(*) {
1220
- position: relative;
1221
-
1222
- &::after {
1223
- content: '';
1224
- position: absolute;
1225
- bottom: 0;
1226
- left: -100vw;
1227
- width: 200vw;
1228
- height: 1px;
1229
- background-color: var(--color-neutral-4);
1230
- pointer-events: none;
1231
- }
1232
- }
1233
-
1234
- & > :where(*:first-child)::before {
1235
- content: '';
1236
- position: absolute;
1237
- top: 0;
1238
- left: -100vw;
1239
- width: 200vw;
1240
- height: 1px;
1241
- background-color: var(--color-neutral-4);
1242
- pointer-events: none;
1243
- }
1244
- }
1245
-
1246
- @utility cs-page-gutter {
1247
- &::before, &::after {
1248
- content: '';
1249
- position: absolute;
1250
- top: 0;
1251
- bottom: 0;
1252
- width: var(--page-gutter-w, 2.5rem);
1253
- pointer-events: none;
1254
- background: repeating-linear-gradient(315deg, var(--color-neutral-3) 0 1px, transparent 1px 50%);
1255
- background-size: 10px 10px;
1256
- background-attachment: fixed;
1257
- }
1258
-
1259
- &::before {
1260
- right: 100%;
1261
- border-left: 1px solid var(--color-neutral-4);
1262
- }
1263
-
1264
- &::after {
1265
- left: 100%;
1266
- border-right: 1px solid var(--color-neutral-4);
1267
- }
1268
- }
1269
-
1270
- @layer base {
1271
-
1272
- * {
1273
- @apply transition-colors duration-200;
1274
- }
1275
-
1276
- body {
1277
- color: var(--color-neutral-12);
1278
- background-color: var(--color-neutral-1);
1279
- }
1280
-
1281
-
1282
- @font-face {
1283
- font-family: 'geist';
1284
- font-weight: 100 900;
1285
- font-style: normal;
1286
- font-display: swap;
1287
- size-adjust: 100%;
1288
- src: url(https://cdn.digo-labs.com/fonts/geist.ttf) format('truetype');
1289
- }
1290
-
1291
- @font-face {
1292
- font-family: 'geist-mono';
1293
- font-weight: 100 900;
1294
- font-style: normal;
1295
- font-display: swap;
1296
- size-adjust: 100%;
1297
- src: url(https://cdn.digo-labs.com/fonts/geist-mono.ttf) format('truetype');
1298
- }
1299
-
1300
- @font-face {
1301
- font-family: 'geist-pixel-circle';
1302
- font-weight: 400;
1303
- font-style: normal;
1304
- font-display: swap;
1305
- size-adjust: 100%;
1306
- src: url(https://cdn.digo-labs.com/fonts/geist-pixel-circle.ttf) format('truetype');
1307
- }
1308
-
1309
- @font-face {
1310
- font-family: 'geist-pixel-grid';
1311
- font-weight: 400;
1312
- font-style: normal;
1313
- font-display: swap;
1314
- size-adjust: 100%;
1315
- src: url(https://cdn.digo-labs.com/fonts/geist-pixel-grid.ttf) format('truetype');
1316
- }
1317
-
1318
- @font-face {
1319
- font-family: 'geist-pixel-line';
1320
- font-weight: 400;
1321
- font-style: normal;
1322
- font-display: swap;
1323
- size-adjust: 100%;
1324
- src: url(https://cdn.digo-labs.com/fonts/geist-pixel-line.ttf) format('truetype');
1325
- }
1326
-
1327
- @font-face {
1328
- font-family: 'geist-pixel-square';
1329
- font-weight: 400;
1330
- font-style: normal;
1331
- font-display: swap;
1332
- size-adjust: 100%;
1333
- src: url(https://cdn.digo-labs.com/fonts/geist-pixel-square.ttf) format('truetype');
1334
- }
1335
-
1336
- @font-face {
1337
- font-family: 'geist-pixel-triangle';
1338
- font-weight: 400;
1339
- font-style: normal;
1340
- font-display: swap;
1341
- size-adjust: 100%;
1342
- src: url(https://cdn.digo-labs.com/fonts/geist-pixel-triangle.ttf) format('truetype');
1343
- }
1344
-
1345
- @font-face {
1346
- font-family: 'clash-grotesk-variable';
1347
- font-weight: 200 700;
1348
- font-style: normal;
1349
- font-display: swap;
1350
- size-adjust: 100%;
1351
- src: url(https://cdn.digo-labs.com/fonts/clash-grotesk-variable.ttf) format('truetype');
1352
- }
1353
-
1354
- @font-face {
1355
- font-family: 'nippo';
1356
- font-weight: 200 700;
1357
- font-style: normal;
1358
- font-display: swap;
1359
- size-adjust: 100%;
1360
- src: url(https://cdn.digo-labs.com/fonts/nippo.ttf) format('truetype');
1361
- }
1362
-
1363
- @font-face {
1364
- font-family: 'being';
1365
- font-weight: 400;
1366
- font-style: normal;
1367
- font-display: swap;
1368
- size-adjust: 100%;
1369
- src: url(https://cdn.digo-labs.com/fonts/being.otf) format('opentype');
1370
- }
1371
-
1372
- @font-face {
1373
- font-family: 'Aalto';
1374
- font-weight: 400;
1375
- font-style: normal;
1376
- font-display: swap;
1377
- size-adjust: 100%;
1378
- src: url(https://cdn.digo-labs.com/fonts/aalto.otf) format('opentype');
1379
- }
1380
-
1381
- @font-face {
1382
- font-family: 'humane-variable';
1383
- font-weight: 200 800;
1384
- font-style: normal;
1385
- font-display: swap;
1386
- size-adjust: 100%;
1387
- src: url(https://cdn.digo-labs.com/fonts/humane-variable.ttf) format('truetype');
1388
- }
1389
-
1390
- @font-face {
1391
- font-family: 'general-sans';
1392
- font-weight: 200 800;
1393
- font-style: normal;
1394
- font-display: swap;
1395
- size-adjust: 100%;
1396
- src: url(https://cdn.digo-labs.com/fonts/general-sans.ttf) format('truetype');
1397
- }
1398
-
1399
- @font-face {
1400
- font-family: 'karmatic-arcade-regular';
1401
- font-style: normal;
1402
- font-weight: 400;
1403
- font-display: swap;
1404
- size-adjust: 100%;
1405
- src: url(https://cdn.digo-labs.com/fonts/karmatic-arcade-regular.ttf) format('truetype');
1406
- }
1407
-
1408
- @font-face {
1409
- font-family: 'kode-mono-vf';
1410
- font-style: normal;
1411
- font-weight: 400 700;
1412
- font-display: swap;
1413
- size-adjust: 100%;
1414
- src: url(https://cdn.digo-labs.com/fonts/kode-mono-vf.ttf) format('truetype');
1415
- }
1416
-
1417
- @font-face {
1418
- font-family: 'digital-7-mono';
1419
- font-style: normal;
1420
- font-weight: 400;
1421
- font-display: swap;
1422
- size-adjust: 100%;
1423
- src: url(https://cdn.digo-labs.com/fonts/digital-7-mono.ttf) format('truetype');
1424
- }
1425
-
1426
- @font-face {
1427
- font-family: 'pixelony';
1428
- font-style: normal;
1429
- font-weight: 400;
1430
- font-display: swap;
1431
- size-adjust: 100%;
1432
- src: url(https://cdn.digo-labs.com/fonts/pixelony.ttf) format('truetype');
1433
- }
1434
-
1435
- @font-face {
1436
- font-family: 'unknown';
1437
- font-weight: 400;
1438
- font-style: normal;
1439
- font-display: swap;
1440
- size-adjust: 140%;
1441
- src: url(https://cdn.digo-labs.com/fonts/unknown.otf) format('opentype');
1442
- }
1443
-
1444
- @font-face {
1445
- font-family: 'benzol';
1446
- font-weight: 400;
1447
- font-style: normal;
1448
- font-display: swap;
1449
- size-adjust: 100%;
1450
- src: url(https://cdn.digo-labs.com/fonts/benzol.otf) format('opentype');
1451
- }
1452
-
1453
- @font-face {
1454
- font-family: 'half';
1455
- font-weight: 400;
1456
- font-style: normal;
1457
- font-display: swap;
1458
- size-adjust: 100%;
1459
- src: url(https://cdn.digo-labs.com/fonts/half.otf) format('opentype');
1460
- }
1461
-
1462
- @font-face {
1463
- font-family: 'miratrix';
1464
- font-weight: 400;
1465
- font-style: normal;
1466
- font-display: swap;
1467
- size-adjust: 100%;
1468
- src: url(https://cdn.digo-labs.com/fonts/miratrix.otf) format('opentype');
1469
- }
1470
-
1471
- @font-face {
1472
- font-family: 'triakis';
1473
- font-weight: 400;
1474
- font-style: normal;
1475
- font-display: swap;
1476
- size-adjust: 100%;
1477
- src: url(https://cdn.digo-labs.com/fonts/triakis.otf) format('opentype');
1478
- }
1479
-
1480
- @font-face {
1481
- font-family: 'yeager';
1482
- font-weight: 400;
1483
- font-style: normal;
1484
- font-display: swap;
1485
- size-adjust: 100%;
1486
- src: url(https://cdn.digo-labs.com/fonts/yeager.otf) format('opentype');
1487
- }
1488
-
1489
- @font-face {
1490
- font-family: 'disket';
1491
- font-style: normal;
1492
- font-weight: 400;
1493
- font-display: swap;
1494
- size-adjust: 100%;
1495
- src: url(https://cdn.digo-labs.com/fonts/disket.ttf) format('truetype');
1496
- }
1497
-
1498
- @font-face {
1499
- font-family: 'heming';
1500
- font-style: normal;
1501
- font-weight: 400;
1502
- font-display: swap;
1503
- size-adjust: 100%;
1504
- src: url(https://cdn.digo-labs.com/fonts/heming.ttf) format('truetype');
1505
- }
1506
-
1507
- @font-face {
1508
- font-family: 'obrazec';
1509
- font-style: normal;
1510
- font-weight: 400;
1511
- font-display: swap;
1512
- size-adjust: 100%;
1513
- src: url(https://cdn.digo-labs.com/fonts/obrazec.ttf) format('truetype');
1514
- }
1515
-
1516
- }
1517
-
1518
- @layer utilities {
1519
- * {
1520
- scrollbar-width: thin;
1521
- scrollbar-color: #ffffff50 transparent;
1522
- }
1523
- }
1524
-
1525
- @layer base {
1526
- ::selection {
1527
- background-color: var(--color-neutral-12);
1528
- color: var(--color-neutral-1);
1529
- }
1530
-
1531
- ::-moz-selection {
1532
- background-color: var(--color-neutral-12);
1533
- color: var(--color-neutral-1);
1534
- }
1535
- }`, z = /--font-([\w-]+):\s*'([^']+)'/g, k = /* @__PURE__ */ new Map();
1536
- let h;
1537
- for (; (h = z.exec(A)) !== null; ) {
1538
- const i = `--font-${h[1]}`, o = h[2];
1539
- k.set(o.toLowerCase(), i);
1540
- }
1541
- const C = /@font-face\s*\{[^}]*?font-family:\s*'([^']+)'[^}]*?font-weight:\s*([\d\s]+)[^}]*?font-style:\s*(\w+)[^}]*?src:\s*url\([^)]*?\/fonts\/([^)]+)\)\s*format\('(\w+)'\)[^}]*?\}/gs, v = [];
1542
- let g;
1543
- for (; (g = C.exec(A)) !== null; ) {
1544
- const i = g[1], o = g[2].trim(), e = g[3], t = g[4], c = g[5] === "truetype" ? "ttf" : "otf", a = o.split(/\s+/).map(Number), r = Math.min(...a), s = Math.max(...a);
1545
- v.push({
1546
- family: i,
1547
- weightMin: r,
1548
- weightMax: s,
1549
- style: e,
1550
- format: c,
1551
- filePath: `/fonts/${t}`,
1552
- fileName: t,
1553
- cssVariable: k.get(i.toLowerCase()) ?? null
1554
- });
1555
- }
1556
- v.sort((i, o) => i.family.localeCompare(o.family));
1557
- const lo = v, go = {
1558
- digoLogo: "https://cdn.digo-labs.com/images/digo-logo.png",
1559
- digoLogoSvg: "https://cdn.digo-labs.com/images/digo-logo.svg",
1560
- pcLogoV1Svg: "https://cdn.digo-labs.com/images/pc-logo-v1.svg",
1561
- pcLogo3d: "https://cdn.digo-labs.com/images/pc-logo-3d.png",
1562
- userPlaceholder: "https://cdn.digo-labs.com/images/user-placeholder.png"
1563
- }, uo = {};
1564
- class po {
1565
- static setValue(o, e) {
1566
- sessionStorage.setItem(o, JSON.stringify(e));
1567
- }
1568
- static loadValue(o, e) {
1569
- const t = sessionStorage.getItem(o);
1570
- if (!t || t === "undefined")
1571
- return e;
1572
- try {
1573
- return JSON.parse(t);
1574
- } catch {
1575
- return e;
1576
- }
1577
- }
1578
- }
1579
- const yo = {
1580
- aiText: "text",
1581
- dmxSend: "dmx-send",
1582
- storagePresignUpload: "storage-presign-upload",
1583
- storagePresignDownload: "storage-presign-download",
1584
- storageList: "storage-list",
1585
- storageDelete: "storage-delete",
1586
- databaseGetAll: "database-get-all",
1587
- databaseGet: "database-get",
1588
- databaseGetBy: "database-get-by",
1589
- databaseCreate: "database-create",
1590
- databaseUpdate: "database-update",
1591
- databaseDelete: "database-delete",
1592
- refreshSchemas: "refresh-schemas"
1593
- };
1594
- class fo {
1595
- static hashCode(o) {
1596
- return [...o].reduce(
1597
- (e, t) => Math.imul(31, e) + t.charCodeAt(0) | 0,
1598
- 0
1599
- );
1600
- }
1601
- static compress(o) {
1602
- return d.compress(o);
1603
- }
1604
- static compressToBase64(o) {
1605
- return d.compressToBase64(o);
1606
- }
1607
- static compressToUint8Array(o) {
1608
- return d.compressToUint8Array(o);
1609
- }
1610
- static decompress(o) {
1611
- return d.decompress(o);
1612
- }
1613
- static decompressFromBase64(o) {
1614
- return d.decompressFromBase64(o);
1615
- }
1616
- static decompressFromUint8Array(o) {
1617
- return d.decompressFromUint8Array(o);
1618
- }
1619
- static blobToBase64(o) {
1620
- return N(o);
1621
- }
1622
- static base64ToBlob(o) {
1623
- return T(o);
1624
- }
1625
- static getFirstLetter(o) {
1626
- return o ? o.charAt(0).toUpperCase() : "X";
1627
- }
1628
- }
1629
- const mo = {
1630
- digo: "Digo",
1631
- refresh: "Refresh",
1632
- code: "Code",
1633
- score: "Score",
1634
- preview: "Preview",
1635
- weights: "Weights",
1636
- examples: "Examples",
1637
- typography: "Typography",
1638
- sizes: "Sizes",
1639
- icons: "Icons",
1640
- neutral: "Neutral",
1641
- info: "Info",
1642
- selected: "Selected",
1643
- noneSelected: "None selected",
1644
- highlights: "Highlights",
1645
- shadows: "Shadows",
1646
- color: "Color",
1647
- untitled: "Untitled",
1648
- columns: "Columns",
1649
- save: "Save",
1650
- accent: "Accent",
1651
- applying: "Applying",
1652
- viewing: "Viewing",
1653
- clearMessages: "Clear messages",
1654
- clearNextMessages: "Clear next messages",
1655
- apply: "Apply",
1656
- import: "Import",
1657
- search: "Search...",
1658
- where: "Where",
1659
- noTimeArray: "No time array",
1660
- success: "Success",
1661
- error: "Error",
1662
- warning: "Warning",
1663
- attach: "Attach",
1664
- attachImage: "Attach Image",
1665
- actions: "Actions",
1666
- addNewColumn: "Add new column",
1667
- addNewRow: "Add new row",
1668
- addFilter: "Add filter",
1669
- addSort: "Add sort",
1670
- applySorting: "Apply sorting",
1671
- applyFilters: "Apply filters",
1672
- filter: "Filter",
1673
- sort: "Sort",
1674
- resetFilters: "Reset filters",
1675
- resetSorting: "Reset sorting",
1676
- description: "Description",
1677
- name: "Name",
1678
- loremIpsumSmall: "Lorem ipsum dolor sit amet.",
1679
- loremIpsumMedium: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam nec purus ac libero vehicula ultricies.",
1680
- loremIpsumLong: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam nec purus ac libero vehicula ultricies. Nulla facilisi. Sed nec nisl in turpis tincidunt tincidunt. Nulla facilisi. Sed nec nisl in turpis tincidunt tincidunt.",
1681
- selectAgent: "Select Agent",
1682
- selectModel: "Select Model",
1683
- sendPrompt: "Send Prompt",
1684
- view: "View",
1685
- toggleColumns: "Toggle columns",
1686
- toggleOpen: "Toggle open",
1687
- reset: "Reset",
1688
- noResultsFound: "No results found.",
1689
- clearFilters: "Clear filters",
1690
- rowsPerPage: "Rows per page",
1691
- id: "Id",
1692
- noSortsTitle: "No sorts apply to this view",
1693
- noSortsDescription: "Add a column below to sort the view",
1694
- noFiltersTitle: "No filters apply to this view",
1695
- noFiltersDescription: "Add a column below to filter the view",
1696
- defaultValue: "Default value",
1697
- default: "Default",
1698
- stepDuration: "Step duration (ms)",
1699
- min: "Min",
1700
- max: "Max",
1701
- icon: "Icon",
1702
- step: "Step",
1703
- decimals: "Decimals",
1704
- units: "Units",
1705
- play: "Play",
1706
- pause: "Pause",
1707
- next: "Next",
1708
- previous: "Previous",
1709
- loop: "Loop",
1710
- rewind: "Rewind",
1711
- forward: "Forward",
1712
- start: "Start",
1713
- emptyCode: "Select a file to view its content",
1714
- generate: "Generate",
1715
- savePreset: "Save Preset",
1716
- image: "Image"
1717
- }, j = [
1718
- {
1719
- id: "us.anthropic.claude-haiku-4-5-20251001-v1:0",
1720
- provider: "Anthropic",
1721
- name: "Claude Haiku",
1722
- version: "4.5",
1723
- description: "Fastest and cheapest, good for short replies."
1724
- },
1725
- {
1726
- id: "us.anthropic.claude-sonnet-4-6",
1727
- provider: "Anthropic",
1728
- name: "Claude Sonnet",
1729
- version: "4.6",
1730
- description: "Balanced quality and speed for most tasks."
1731
- },
1732
- {
1733
- id: "us.anthropic.claude-opus-4-7",
1734
- provider: "Anthropic",
1735
- name: "Claude Opus",
1736
- version: "4.7",
1737
- description: "Highest quality, slower and more expensive."
1738
- },
1739
- {
1740
- id: "us.amazon.nova-micro-v1:0",
1741
- provider: "Amazon",
1742
- name: "Nova Micro",
1743
- version: "1",
1744
- description: "Text-only, extremely fast and cheap."
1745
- },
1746
- {
1747
- id: "us.amazon.nova-lite-v1:0",
1748
- provider: "Amazon",
1749
- name: "Nova Lite",
1750
- version: "1",
1751
- description: "Fast multimodal with image and video input."
1752
- },
1753
- {
1754
- id: "us.amazon.nova-pro-v1:0",
1755
- provider: "Amazon",
1756
- name: "Nova Pro",
1757
- version: "1",
1758
- description: "Higher-quality multimodal, slower than Lite."
1759
- }
1760
- ], ho = j[0].id, B = n.object({
1761
- type: n.literal("text"),
1762
- text: n.string()
1763
- }), R = n.object({
1764
- type: n.literal("image"),
1765
- source: n.object({
1766
- base64: n.string(),
1767
- mediaType: n.string()
1768
- })
1769
- }), L = n.union([
1770
- n.string(),
1771
- n.array(n.union([B, R]))
1772
- ]), E = n.object({
1773
- role: n.enum(["user", "assistant"]),
1774
- content: L
1775
- }), bo = n.object({
1776
- model: n.string().optional(),
1777
- messages: n.array(E).min(1),
1778
- systemPrompt: n.string().optional(),
1779
- temperature: n.number().min(0).max(2).optional(),
1780
- maxTokens: n.number().int().positive().optional(),
1781
- stopSequences: n.array(n.string()).optional(),
1782
- providerOptions: n.record(n.string(), n.record(n.string(), n.any())).optional()
1783
- }), wo = n.object({
1784
- channel: n.number().int().min(1).max(512),
1785
- value: n.number().int().min(0).max(255)
1786
- }), vo = n.object({
1787
- success: n.boolean()
1788
- }), l = n.string().min(1), f = n.union([n.string(), n.number(), n.boolean(), n.null()]), u = n.record(n.string(), n.unknown()), xo = n.object({
1789
- table: l,
1790
- limit: n.number().int().positive().optional(),
1791
- offset: n.number().int().nonnegative().optional()
1792
- }), Ao = n.object({
1793
- rows: n.array(u)
1794
- }), ko = n.object({
1795
- table: l,
1796
- pk: l,
1797
- value: f
1798
- }), So = n.object({
1799
- row: u.nullable()
1800
- }), Mo = n.object({
1801
- table: l,
1802
- column: l,
1803
- value: f
1804
- }), Fo = n.object({
1805
- rows: n.array(u)
1806
- }), Io = n.object({
1807
- table: l,
1808
- record: u
1809
- }), No = n.object({
1810
- row: u
1811
- }), To = n.object({
1812
- table: l,
1813
- pk: l,
1814
- value: f,
1815
- changes: u
1816
- }), Uo = n.object({
1817
- success: n.boolean()
1818
- }), Do = n.object({
1819
- table: l,
1820
- pk: l,
1821
- value: f
1822
- }), zo = n.object({
1823
- success: n.boolean()
1824
- }), Co = n.object({
1825
- mediaType: n.string(),
1826
- base64: n.string()
1827
- }), jo = n.object({
1828
- mediaType: n.string(),
1829
- base64: n.string()
1830
- }), Bo = n.string().regex(/^\d+x\d+$/).transform((i) => i), Ro = n.string().regex(/^\d+:\d+$/).transform((i) => i), Lo = n.object({
1831
- bucket: n.string().min(1),
1832
- path: n.string().min(1),
1833
- contentType: n.string().min(1),
1834
- expiresIn: n.number().int().positive().max(604800).optional()
1835
- }), P = n.object({
1836
- url: n.string().url(),
1837
- expiresAt: n.number()
1838
- }), Eo = n.object({
1839
- bucket: n.string().min(1),
1840
- path: n.string().min(1),
1841
- expiresIn: n.number().int().positive().max(604800).optional()
1842
- }), Po = P, Oo = n.object({
1843
- bucket: n.string().min(1),
1844
- prefix: n.string().optional(),
1845
- limit: n.number().int().positive().max(1e3).optional()
1846
- }), O = n.object({
1847
- key: n.string(),
1848
- size: n.number(),
1849
- lastModified: n.string(),
1850
- etag: n.string().optional()
1851
- }), _o = n.object({
1852
- objects: n.array(O)
1853
- }), Go = n.object({
1854
- bucket: n.string().min(1),
1855
- paths: n.array(n.string().min(1)).min(1)
1856
- }), qo = n.object({
1857
- success: n.boolean(),
1858
- deleted: n.array(n.string())
1859
- });
1860
- var _ = /* @__PURE__ */ ((i) => (i.ANIMATED_FILM = "3D_ANIMATED_FAMILY_FILM", i.FLAT_VECTOR_ILLUSTRATION = "FLAT_VECTOR_ILLUSTRATION", i.GRAPHIC_NOVEL_ILLUSTRATION = "GRAPHIC_NOVEL_ILLUSTRATION", i.MAXIMALISM = "MAXIMALISM", i.MIDCENTURY_RETRO = "MIDCENTURY_RETRO", i.PHOTOREALISM = "PHOTOREALISM", i.SOFT_DIGITAL_PAINTING = "SOFT_DIGITAL_PAINTING", i))(_ || {}), G = /* @__PURE__ */ ((i) => (i.IDENTIFY = "IDENTIFY", i.SUBSCRIBE = "SUBSCRIBE", i.UNSUBSCRIBE = "UNSUBSCRIBE", i.MESSAGE = "MESSAGE", i.STATE = "STATE", i))(G || {}), q = /* @__PURE__ */ ((i) => (i.MESSAGE = "MESSAGE", i.STATE = "STATE", i))(q || {});
1861
- const Vo = "_hub";
1862
- var V = /* @__PURE__ */ ((i) => (i.CONNECT = "CONNECT", i.DISCONNECT = "DISCONNECT", i.SUBSCRIBE = "SUBSCRIBE", i.UNSUBSCRIBE = "UNSUBSCRIBE", i.MESSAGE = "MESSAGE", i.STATE = "STATE", i))(V || {});
1863
- const Xo = {
1864
- pcLogo3D: "https://cdn.digo-labs.com/videos/pc-logo-3d.mp4"
1865
- }, $o = {
1866
- aalto: "https://cdn.digo-labs.com/fonts/aalto.otf",
1867
- being: "https://cdn.digo-labs.com/fonts/being.otf",
1868
- benzol: "https://cdn.digo-labs.com/fonts/benzol.otf",
1869
- clashGrotesk: "https://cdn.digo-labs.com/fonts/clash-grotesk-variable.ttf",
1870
- digital7Mono: "https://cdn.digo-labs.com/fonts/digital-7-mono.ttf",
1871
- disket: "https://cdn.digo-labs.com/fonts/disket.ttf",
1872
- generalSans: "https://cdn.digo-labs.com/fonts/general-sans.ttf",
1873
- half: "https://cdn.digo-labs.com/fonts/half.otf",
1874
- heming: "https://cdn.digo-labs.com/fonts/heming.ttf",
1875
- humane: "https://cdn.digo-labs.com/fonts/humane-variable.ttf",
1876
- jersey10: "https://cdn.digo-labs.com/fonts/jersey-10-regular.ttf",
1877
- karmaticArcade: "https://cdn.digo-labs.com/fonts/karmatic-arcade-regular.ttf",
1878
- kodeMono: "https://cdn.digo-labs.com/fonts/kode-mono-vf.ttf",
1879
- miratrix: "https://cdn.digo-labs.com/fonts/miratrix.otf",
1880
- nippo: "https://cdn.digo-labs.com/fonts/nippo.ttf",
1881
- obrazec: "https://cdn.digo-labs.com/fonts/obrazec.otf",
1882
- pixelony: "https://cdn.digo-labs.com/fonts/pixelony.ttf",
1883
- triakis: "https://cdn.digo-labs.com/fonts/triakis.otf",
1884
- unknown: "https://cdn.digo-labs.com/fonts/unknown.otf",
1885
- yeager: "https://cdn.digo-labs.com/fonts/yeager.otf",
1886
- geist: "https://cdn.digo-labs.com/fonts/geist.ttf",
1887
- geistMono: "https://cdn.digo-labs.com/fonts/geist-mono.ttf"
1888
- };
1889
- async function X(i) {
1890
- try {
1891
- return [await i, null];
1892
- } catch (o) {
1893
- return [null, o];
1894
- }
1895
- }
1896
- function Ho(...i) {
1897
- return D(U(i));
1898
- }
1899
- const Yo = [
1900
- "New York",
1901
- "Tokyo",
1902
- "Paris",
1903
- "London",
1904
- "Barcelona",
1905
- "Berlin",
1906
- "Amsterdam",
1907
- "Sydney",
1908
- "São Paulo",
1909
- "Mumbai",
1910
- "Dubai",
1911
- "Singapore",
1912
- "Hong Kong",
1913
- "Rome",
1914
- "Vienna",
1915
- "Prague",
1916
- "Lisbon",
1917
- "Stockholm",
1918
- "Seoul",
1919
- "Istanbul",
1920
- "Buenos Aires",
1921
- "Cairo",
1922
- "Mexico City",
1923
- "Oslo",
1924
- "Zürich"
1925
- ], Jo = [
1926
- "The quick brown fox jumps over the lazy dog.",
1927
- "Pack my box with five dozen liquor jugs.",
1928
- "How vexingly quick daft zebras jump.",
1929
- "Sphinx of black quartz, judge my vow.",
1930
- "The five boxing wizards jump quickly.",
1931
- "Bright vixens jump dozing fowl quack.",
1932
- "Jackdaws love my big sphinx of quartz.",
1933
- "Sixty zippers were quickly picked from the woven jute bag.",
1934
- "We promptly judged antique ivory buckles for the next prize.",
1935
- "A mad boxer shot a quick, gloved jab to the jaw of his dizzy opponent."
1936
- ], Ko = {
1937
- monorepo: {
1938
- trustedOrigins: [
1939
- "http://localhost:2000",
1940
- "https://*.digo-labs.com"
1941
- ]
1942
- }
1943
- };
1944
- export {
1945
- ao as AI_MODELS,
1946
- Ko as AUTH_PROJECTS,
1947
- co as AWS_DEFAULT_REGION,
1948
- no as BACKEND_URL,
1949
- j as BEDROCK_MODELS,
1950
- _ as BedrockStyle,
1951
- Yo as CITIES,
1952
- b as CommonHelpers,
1953
- ho as DEFAULT_TEXT_MODEL,
1954
- io as DIGO_ADMIN_SECRET,
1955
- eo as DIGO_HEADERS,
1956
- Jo as EXCERPTS,
1957
- $o as FONTS,
1958
- lo as FONT_FACES,
1959
- go as IMAGES,
1960
- so as IconHelpers,
1961
- ro as LANGUAGE_MAP,
1962
- po as LocalStorage,
1963
- uo as MODELS,
1964
- yo as ROUTES,
1965
- mo as STRINGS,
1966
- fo as StringHelpers,
1967
- Xo as VIDEOS,
1968
- Vo as WEBSOCKET_HUB_CHANNEL,
1969
- to as WS_URL,
1970
- q as WebSocketHubEvent,
1971
- G as WebsocketClientEvent,
1972
- V as WebsocketLogEvent,
1973
- Ro as aspectRatioSchema,
1974
- Ho as cn,
1975
- Io as databaseCreateBodySchema,
1976
- No as databaseCreateResponseSchema,
1977
- Do as databaseDeleteBodySchema,
1978
- zo as databaseDeleteResponseSchema,
1979
- xo as databaseGetAllBodySchema,
1980
- Ao as databaseGetAllResponseSchema,
1981
- ko as databaseGetBodySchema,
1982
- Mo as databaseGetByBodySchema,
1983
- Fo as databaseGetByResponseSchema,
1984
- So as databaseGetResponseSchema,
1985
- To as databaseUpdateBodySchema,
1986
- Uo as databaseUpdateResponseSchema,
1987
- Go as deleteBodySchema,
1988
- qo as deleteResponseSchema,
1989
- wo as dmxSendBodySchema,
1990
- vo as dmxSendResponseSchema,
1991
- Co as filePayloadSchema,
1992
- jo as imagePayloadSchema,
1993
- Oo as listBodySchema,
1994
- _o as listResponseSchema,
1995
- Eo as presignDownloadBodySchema,
1996
- Po as presignDownloadResponseSchema,
1997
- Lo as presignUploadBodySchema,
1998
- P as presignUploadResponseSchema,
1999
- Bo as sizeFormattedSchema,
2000
- O as storageObjectSchema,
2001
- bo as textBodySchema,
2002
- E as textMessageSchema,
2003
- X as tryCatch
1
+ import { removeBackground as e } from "@imgly/background-removal";
2
+ import { formatDistanceToNow as t, parseISO as n } from "date-fns";
3
+ import { decode as r, encode as i } from "base64-arraybuffer";
4
+ import a from "lz-string";
5
+ import { base64StringToBlob as o, blobToBase64String as s } from "blob-util";
6
+ import { z as c } from "zod";
7
+ import ee from "clsx";
8
+ import { twMerge as te } from "tailwind-merge";
9
+ for (var ne = class {
10
+ static appName;
11
+ static setCurrentAppName(e) {
12
+ if (this.appName !== void 0 && this.appName !== e) throw Error(`setCurrentAppName: already set to '${this.appName}', cannot override with '${e}'. This usually means defineApp() was called twice with different names.`);
13
+ this.appName = e;
14
+ }
15
+ static getCurrentAppName() {
16
+ if (this.appName === void 0) throw Error("getCurrentAppName: no app name registered. Call defineApp() before constructing services, or pass an explicit value to the service constructor.");
17
+ return this.appName;
18
+ }
19
+ static resetAppName() {
20
+ this.appName = void 0;
21
+ }
22
+ static sanitizeAppName(e) {
23
+ let t = e.toLowerCase().replace(/-/g, "_");
24
+ if (!/^[a-z][a-z0-9_]*$/.test(t)) throw Error(`sanitizeAppName: invalid app name '${e}' (sanitized: '${t}')`);
25
+ return t;
26
+ }
27
+ }, l = class a {
28
+ static copyToClipboard(e) {
29
+ navigator.clipboard.writeText(e).then(() => {}).catch(() => {
30
+ console.error("Failed to copy");
31
+ });
32
+ }
33
+ static async removeBackground(t) {
34
+ let n = r(t.base64);
35
+ return {
36
+ base64: i(await (await e(new Blob([n], { type: t.mediaType }))).arrayBuffer()),
37
+ mediaType: "image/png"
38
+ };
39
+ }
40
+ static getTimeFormatted(e) {
41
+ return {
42
+ hours: Math.floor(e / 3600),
43
+ minutes: Math.floor(e % 3600 / 60),
44
+ seconds: e % 60
45
+ };
46
+ }
47
+ static async getTextFromClipboard() {
48
+ return await navigator.clipboard.readText();
49
+ }
50
+ static decodeBase64(e) {
51
+ return r(e);
52
+ }
53
+ static getRandomInteger(e, t) {
54
+ return Math.floor(Math.random() * (t - e + 1)) + e;
55
+ }
56
+ static encodeArrayBufferToBase64(e) {
57
+ return i(e);
58
+ }
59
+ static hexToRgb(e) {
60
+ let t = e.match(/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i);
61
+ return t ? {
62
+ r: parseInt(t[1], 16),
63
+ g: parseInt(t[2], 16),
64
+ b: parseInt(t[3], 16)
65
+ } : {
66
+ r: 0,
67
+ g: 0,
68
+ b: 0
69
+ };
70
+ }
71
+ static rgbArrayToHex(e) {
72
+ return `#${e.map((e) => {
73
+ let t = e.toString(16);
74
+ return t.length === 1 ? "0" + t : t;
75
+ }).join("")}`;
76
+ }
77
+ static hexToRgbArray(e) {
78
+ let t = /^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);
79
+ return t ? [
80
+ parseInt(t[1], 16) / 255,
81
+ parseInt(t[2], 16) / 255,
82
+ parseInt(t[3], 16) / 255
83
+ ] : [
84
+ 0,
85
+ 0,
86
+ 0
87
+ ];
88
+ }
89
+ static getCssVariable(e) {
90
+ return getComputedStyle(document.documentElement).getPropertyValue(e);
91
+ }
92
+ static setCssVariable(e, t) {
93
+ document.documentElement.style.setProperty(e, `${t.offsetHeight}px`);
94
+ }
95
+ static lerp(e, t, n) {
96
+ return e + (t - e) * n;
97
+ }
98
+ static lerpArray(e, t, n) {
99
+ return e.map((e, r) => e + (t[r] - e) * n);
100
+ }
101
+ static clamp(e, t, n) {
102
+ return Math.min(Math.max(e, t), n);
103
+ }
104
+ static async downloadURI(e, t) {
105
+ let n = await (await fetch(e)).blob(), r = URL.createObjectURL(n), i = document.createElement("a");
106
+ i.href = r, i.download = t || "download", i.click(), URL.revokeObjectURL(r);
107
+ }
108
+ static async getFileFromUrl(e, t) {
109
+ let n = await (await fetch(e)).blob();
110
+ return new File([n], t || "untitled", { type: n.type });
111
+ }
112
+ static generateUUID() {
113
+ return crypto.randomUUID ? crypto.randomUUID() : `${Date.now()}-${Math.random().toString(36).substring(2, 15)}${Math.random().toString(36).substring(2, 15)}`;
114
+ }
115
+ static async getImagePayloadFromUrl(e, t) {
116
+ let n = await this.getFileFromUrl(e, t);
117
+ return this.getImagePayloadFromFile(n);
118
+ }
119
+ static async getImagePayloadFromFile(e) {
120
+ let [t, n] = await $(e.arrayBuffer());
121
+ return n ? [null, n] : [{
122
+ base64: a.encodeArrayBufferToBase64(t),
123
+ mediaType: e.type
124
+ }, null];
125
+ }
126
+ static getFileFromImagePayload(e) {
127
+ let t = r(e.base64), n = new Blob([t], { type: e.mediaType }), i = e.mediaType.split("/")[1] || "png";
128
+ return new File([n], `created-file.${i}`, { type: e.mediaType });
129
+ }
130
+ static setTabName(e) {
131
+ document.title = `${e}`;
132
+ }
133
+ static openFileSelector(e, t) {
134
+ let n = document.createElement("input");
135
+ n.type = "file", n.accept = e, n.onchange = (e) => {
136
+ let n = e.target;
137
+ if (n.files && n.files.length > 0) {
138
+ let e = n.files[0];
139
+ t(e);
140
+ }
141
+ }, n.click();
142
+ }
143
+ static formatNumberTwoDigits(e) {
144
+ return e.toFixed().padStart(2, "0");
145
+ }
146
+ getFormatedTime(e, t = 2) {
147
+ return (e / 1e3).toFixed(t);
148
+ }
149
+ static async preloadImage(e) {
150
+ return new Promise((t, n) => {
151
+ let r = new Image();
152
+ r.onload = () => t(), r.onerror = () => n(/* @__PURE__ */ Error(`Failed to load: ${e}`)), r.src = e;
153
+ });
154
+ }
155
+ static async preloadImages(e) {
156
+ let t = e.map((e) => a.preloadImage(e));
157
+ await Promise.all(t);
158
+ }
159
+ static getUniqueLetters(e) {
160
+ return [...new Set(e.split(""))];
161
+ }
162
+ static async compressImage(e, t, n = 800, r = .7) {
163
+ return new Promise((i) => {
164
+ let a = new Image();
165
+ a.onload = () => {
166
+ let e = document.createElement("canvas"), t = Math.min(n / a.width, n / a.height, 1);
167
+ e.width = a.width * t, e.height = a.height * t, e.getContext("2d").drawImage(a, 0, 0, e.width, e.height);
168
+ let o = e.toDataURL("image/jpeg", r).split(",")[1];
169
+ i({
170
+ base64: o,
171
+ mediaType: "image/jpeg"
172
+ });
173
+ }, a.src = `data:${t};base64,${e}`;
174
+ });
175
+ }
176
+ static async downloadCsvFromUrl(e) {
177
+ let t = await fetch(e);
178
+ if (!t.ok) throw Error(`Failed to download CSV file: ${t.statusText}`);
179
+ return await t.text();
180
+ }
181
+ static getLastUpdated(e) {
182
+ return t(n(e), { addSuffix: !0 });
183
+ }
184
+ static getUniqueIdInList(e, t) {
185
+ let n = e.match(/^(.*?)(-\d+)?$/), r = e, i = 1;
186
+ n && (r = n[1], n[2] && (i = parseInt(n[2].slice(1)) + 1));
187
+ let a = r.toLowerCase(), o = `${a}-${i}`;
188
+ for (; t.some((e) => e.toLowerCase() === o);) i++, o = `${a}-${i}`;
189
+ return o.toLowerCase();
190
+ }
191
+ static scrollToBottom(e) {
192
+ e && e.scrollTo({
193
+ top: e.scrollHeight,
194
+ behavior: "smooth"
195
+ });
196
+ }
197
+ }, u = "https://api.digo-labs.com", d = "X-Digo-App", f = "X-Admin-Secret", p = "-digo-labs-storage", m = "wss://ws.digo-labs.com", h = "us-east-1", g = [
198
+ {
199
+ name: "Claude 3.7 Sonnet",
200
+ description: "Anthropic's advanced model",
201
+ icon: "icon-[simple-icons--anthropic]"
202
+ },
203
+ {
204
+ name: "Gemini 2.5 Pro",
205
+ description: "Google's latest model",
206
+ icon: "icon-[simple-icons--googlegemini]"
207
+ },
208
+ {
209
+ name: "GPT-4.1",
210
+ description: "OpenAi's advanced model",
211
+ icon: "icon-[simple-icons--openai]"
212
+ }
213
+ ], _ = {
214
+ typescript: {
215
+ icon: "typescript",
216
+ name: "TypeScript"
217
+ },
218
+ javascript: {
219
+ icon: "javascript",
220
+ name: "JavaScript"
221
+ },
222
+ tsx: {
223
+ icon: "typescript",
224
+ name: "TSX"
225
+ },
226
+ jsx: {
227
+ icon: "javascript",
228
+ name: "JSX"
229
+ },
230
+ python: {
231
+ icon: "python",
232
+ name: "Python"
233
+ },
234
+ rust: {
235
+ icon: "code",
236
+ name: "Rust"
237
+ },
238
+ go: {
239
+ icon: "code",
240
+ name: "Go"
241
+ },
242
+ sql: {
243
+ icon: "code",
244
+ name: "SQL"
245
+ },
246
+ bash: {
247
+ icon: "terminal",
248
+ name: "Bash"
249
+ },
250
+ sh: {
251
+ icon: "terminal",
252
+ name: "Shell"
253
+ },
254
+ shell: {
255
+ icon: "terminal",
256
+ name: "Shell"
257
+ },
258
+ json: {
259
+ icon: "code",
260
+ name: "JSON"
261
+ },
262
+ css: {
263
+ icon: "code",
264
+ name: "CSS"
265
+ },
266
+ html: {
267
+ icon: "code",
268
+ name: "HTML"
269
+ },
270
+ markdown: {
271
+ icon: "code",
272
+ name: "Markdown"
273
+ },
274
+ yaml: {
275
+ icon: "code",
276
+ name: "YAML"
277
+ },
278
+ xml: {
279
+ icon: "code",
280
+ name: "XML"
281
+ },
282
+ text: {
283
+ icon: "code",
284
+ name: "Text"
285
+ }
286
+ }, v = /* @__PURE__ */ function(e) {
287
+ return e.Navigation = "Navigation", e.Actions = "Actions", e.Status = "Status", e.Media = "Media", e.Files = "Files", e.UI = "UI", e.Brands = "Brands", e.Programming = "Programming", e.Tools = "Tools", e.Data = "Data", e.Communication = "Communication", e.Design = "Design", e.AI = "AI", e.Numbers = "Numbers", e.Misc = "Misc", e;
288
+ }(v || {}), y = {
289
+ arrowUp: {
290
+ category: "Navigation",
291
+ icon: "icon-[lucide--arrow-up]"
292
+ },
293
+ arrowDown: {
294
+ category: "Navigation",
295
+ icon: "icon-[lucide--arrow-down]"
296
+ },
297
+ arrowLeft: {
298
+ category: "Navigation",
299
+ icon: "icon-[lucide--arrow-left]"
300
+ },
301
+ arrowRight: {
302
+ category: "Navigation",
303
+ icon: "icon-[lucide--arrow-right]"
304
+ },
305
+ arrowUpLeft: {
306
+ category: "Navigation",
307
+ icon: "icon-[lucide--arrow-up-left]"
308
+ },
309
+ arrowUpRight: {
310
+ category: "Navigation",
311
+ icon: "icon-[lucide--arrow-up-right]"
312
+ },
313
+ arrowDownLeft: {
314
+ category: "Navigation",
315
+ icon: "icon-[lucide--arrow-down-left]"
316
+ },
317
+ arrowDownRight: {
318
+ category: "Navigation",
319
+ icon: "icon-[lucide--arrow-down-right]"
320
+ },
321
+ arrowLeftRight: {
322
+ category: "Navigation",
323
+ icon: "icon-[lucide--arrow-left-right]"
324
+ },
325
+ arrowUpDown: {
326
+ category: "Navigation",
327
+ icon: "icon-[lucide--arrow-up-down]"
328
+ },
329
+ circleArrowUp: {
330
+ category: "Navigation",
331
+ icon: "icon-[lucide--circle-arrow-up]"
332
+ },
333
+ circleArrowDown: {
334
+ category: "Navigation",
335
+ icon: "icon-[lucide--circle-arrow-down]"
336
+ },
337
+ circleArrowLeft: {
338
+ category: "Navigation",
339
+ icon: "icon-[lucide--circle-arrow-left]"
340
+ },
341
+ circleArrowRight: {
342
+ category: "Navigation",
343
+ icon: "icon-[lucide--circle-arrow-right]"
344
+ },
345
+ chevronUp: {
346
+ category: "Navigation",
347
+ icon: "icon-[lucide--chevron-up]"
348
+ },
349
+ chevronDown: {
350
+ category: "Navigation",
351
+ icon: "icon-[lucide--chevron-down]"
352
+ },
353
+ chevronLeft: {
354
+ category: "Navigation",
355
+ icon: "icon-[lucide--chevron-left]"
356
+ },
357
+ chevronRight: {
358
+ category: "Navigation",
359
+ icon: "icon-[lucide--chevron-right]"
360
+ },
361
+ chevronsUp: {
362
+ category: "Navigation",
363
+ icon: "icon-[lucide--chevrons-up]"
364
+ },
365
+ chevronsDown: {
366
+ category: "Navigation",
367
+ icon: "icon-[lucide--chevrons-down]"
368
+ },
369
+ chevronsLeft: {
370
+ category: "Navigation",
371
+ icon: "icon-[lucide--chevrons-left]"
372
+ },
373
+ chevronsRight: {
374
+ category: "Navigation",
375
+ icon: "icon-[lucide--chevrons-right]"
376
+ },
377
+ chevronsUpDown: {
378
+ category: "Navigation",
379
+ icon: "icon-[lucide--chevrons-up-down]"
380
+ },
381
+ cornerDownLeft: {
382
+ category: "Navigation",
383
+ icon: "icon-[lucide--corner-down-left]"
384
+ },
385
+ cornerDownRight: {
386
+ category: "Navigation",
387
+ icon: "icon-[lucide--corner-down-right]"
388
+ },
389
+ cornerLeftDown: {
390
+ category: "Navigation",
391
+ icon: "icon-[lucide--corner-left-down]"
392
+ },
393
+ cornerLeftUp: {
394
+ category: "Navigation",
395
+ icon: "icon-[lucide--corner-left-up]"
396
+ },
397
+ cornerRightDown: {
398
+ category: "Navigation",
399
+ icon: "icon-[lucide--corner-right-down]"
400
+ },
401
+ cornerRightUp: {
402
+ category: "Navigation",
403
+ icon: "icon-[lucide--corner-right-up]"
404
+ },
405
+ cornerUpLeft: {
406
+ category: "Navigation",
407
+ icon: "icon-[lucide--corner-up-left]"
408
+ },
409
+ cornerUpRight: {
410
+ category: "Navigation",
411
+ icon: "icon-[lucide--corner-up-right]"
412
+ },
413
+ home: {
414
+ category: "Navigation",
415
+ icon: "icon-[lucide--house]"
416
+ },
417
+ compass: {
418
+ category: "Navigation",
419
+ icon: "icon-[lucide--compass]"
420
+ },
421
+ menu: {
422
+ category: "Navigation",
423
+ icon: "icon-[lucide--menu]"
424
+ },
425
+ anchor: {
426
+ category: "Navigation",
427
+ icon: "icon-[lucide--anchor]"
428
+ },
429
+ route: {
430
+ category: "Navigation",
431
+ icon: "icon-[lucide--route]"
432
+ },
433
+ router: {
434
+ category: "Navigation",
435
+ icon: "icon-[lucide--router]"
436
+ },
437
+ externalLink: {
438
+ category: "Navigation",
439
+ icon: "icon-[lucide--external-link]"
440
+ },
441
+ move: {
442
+ category: "Navigation",
443
+ icon: "icon-[lucide--move]"
444
+ },
445
+ expand: {
446
+ category: "Navigation",
447
+ icon: "icon-[material-symbols--expand-more-rounded]"
448
+ },
449
+ collapse: {
450
+ category: "Navigation",
451
+ icon: "icon-[material-symbols--expand-less-rounded]"
452
+ },
453
+ firstPage: {
454
+ category: "Navigation",
455
+ icon: "icon-[material-symbols--first-page-rounded]"
456
+ },
457
+ lastPage: {
458
+ category: "Navigation",
459
+ icon: "icon-[material-symbols--last-page-rounded]"
460
+ },
461
+ openInNew: {
462
+ category: "Navigation",
463
+ icon: "icon-[material-symbols--open-in-new-rounded]"
464
+ },
465
+ select: {
466
+ category: "Navigation",
467
+ icon: "icon-[mi--select]"
468
+ },
469
+ signIn: {
470
+ category: "Navigation",
471
+ icon: "icon-[lucide--log-in]"
472
+ },
473
+ login: {
474
+ category: "Navigation",
475
+ icon: "icon-[lucide--log-in]"
476
+ },
477
+ logout: {
478
+ category: "Navigation",
479
+ icon: "icon-[lucide--log-out]"
480
+ },
481
+ squareMenu: {
482
+ category: "Navigation",
483
+ icon: "icon-[lucide--square-menu]"
484
+ },
485
+ add: {
486
+ category: "Actions",
487
+ icon: "icon-[lucide--plus]"
488
+ },
489
+ remove: {
490
+ category: "Actions",
491
+ icon: "icon-[lucide--minus]"
492
+ },
493
+ close: {
494
+ category: "Actions",
495
+ icon: "icon-[lucide--x]"
496
+ },
497
+ check: {
498
+ category: "Actions",
499
+ icon: "icon-[lucide--check]"
500
+ },
501
+ checkCheck: {
502
+ category: "Actions",
503
+ icon: "icon-[lucide--check-check]"
504
+ },
505
+ checkIndeterminate: {
506
+ category: "Actions",
507
+ icon: "icon-[material-symbols--check-indeterminate-small-rounded]"
508
+ },
509
+ search: {
510
+ category: "Actions",
511
+ icon: "icon-[lucide--search]"
512
+ },
513
+ zoomIn: {
514
+ category: "Actions",
515
+ icon: "icon-[lucide--zoom-in]"
516
+ },
517
+ zoomOut: {
518
+ category: "Actions",
519
+ icon: "icon-[lucide--zoom-out]"
520
+ },
521
+ edit: {
522
+ category: "Actions",
523
+ icon: "icon-[lucide--pencil]"
524
+ },
525
+ pencilLine: {
526
+ category: "Actions",
527
+ icon: "icon-[lucide--pencil-line]"
528
+ },
529
+ delete: {
530
+ category: "Actions",
531
+ icon: "icon-[lucide--trash]"
532
+ },
533
+ trash: {
534
+ category: "Actions",
535
+ icon: "icon-[lucide--trash-2]"
536
+ },
537
+ copy: {
538
+ category: "Actions",
539
+ icon: "icon-[lucide--copy]"
540
+ },
541
+ paste: {
542
+ category: "Actions",
543
+ icon: "icon-[lucide--clipboard-paste]"
544
+ },
545
+ cut: {
546
+ category: "Actions",
547
+ icon: "icon-[lucide--scissors]"
548
+ },
549
+ save: {
550
+ category: "Actions",
551
+ icon: "icon-[lucide--save]"
552
+ },
553
+ download: {
554
+ category: "Actions",
555
+ icon: "icon-[lucide--download]"
556
+ },
557
+ upload: {
558
+ category: "Actions",
559
+ icon: "icon-[lucide--upload]"
560
+ },
561
+ refresh: {
562
+ category: "Actions",
563
+ icon: "icon-[lucide--refresh-cw]"
564
+ },
565
+ refreshCcw: {
566
+ category: "Actions",
567
+ icon: "icon-[lucide--refresh-ccw]"
568
+ },
569
+ rotateCw: {
570
+ category: "Actions",
571
+ icon: "icon-[lucide--rotate-cw]"
572
+ },
573
+ rotateCcw: {
574
+ category: "Actions",
575
+ icon: "icon-[lucide--rotate-ccw]"
576
+ },
577
+ sync: {
578
+ category: "Actions",
579
+ icon: "icon-[material-symbols--sync-rounded]"
580
+ },
581
+ undo: {
582
+ category: "Actions",
583
+ icon: "icon-[lucide--undo-2]"
584
+ },
585
+ redo: {
586
+ category: "Actions",
587
+ icon: "icon-[lucide--redo-2]"
588
+ },
589
+ send: {
590
+ category: "Actions",
591
+ icon: "icon-[lucide--send]"
592
+ },
593
+ share: {
594
+ category: "Actions",
595
+ icon: "icon-[lucide--share]"
596
+ },
597
+ share2: {
598
+ category: "Actions",
599
+ icon: "icon-[lucide--share-2]"
600
+ },
601
+ attach: {
602
+ category: "Actions",
603
+ icon: "icon-[lucide--paperclip]"
604
+ },
605
+ link: {
606
+ category: "Actions",
607
+ icon: "icon-[lucide--link]"
608
+ },
609
+ link2: {
610
+ category: "Actions",
611
+ icon: "icon-[lucide--link-2]"
612
+ },
613
+ unlink: {
614
+ category: "Actions",
615
+ icon: "icon-[lucide--unlink]"
616
+ },
617
+ filter: {
618
+ category: "Actions",
619
+ icon: "icon-[lucide--filter]"
620
+ },
621
+ listFilter: {
622
+ category: "Actions",
623
+ icon: "icon-[lucide--list-filter]"
624
+ },
625
+ sort: {
626
+ category: "Actions",
627
+ icon: "icon-[lucide--arrow-up-down]"
628
+ },
629
+ sortAsc: {
630
+ category: "Actions",
631
+ icon: "icon-[lucide--arrow-up-narrow-wide]"
632
+ },
633
+ sortDesc: {
634
+ category: "Actions",
635
+ icon: "icon-[lucide--arrow-down-wide-narrow]"
636
+ },
637
+ lock: {
638
+ category: "Actions",
639
+ icon: "icon-[lucide--lock]"
640
+ },
641
+ lockOpen: {
642
+ category: "Actions",
643
+ icon: "icon-[lucide--lock-open]"
644
+ },
645
+ unlock: {
646
+ category: "Actions",
647
+ icon: "icon-[lucide--lock-open]"
648
+ },
649
+ print: {
650
+ category: "Actions",
651
+ icon: "icon-[lucide--printer]"
652
+ },
653
+ backspace: {
654
+ category: "Actions",
655
+ icon: "icon-[lucide--delete]"
656
+ },
657
+ crop: {
658
+ category: "Actions",
659
+ icon: "icon-[lucide--crop]"
660
+ },
661
+ textSearch: {
662
+ category: "Actions",
663
+ icon: "icon-[lucide--text-search]"
664
+ },
665
+ clipboardCopy: {
666
+ category: "Actions",
667
+ icon: "icon-[lucide--clipboard-copy]"
668
+ },
669
+ replace: {
670
+ category: "Actions",
671
+ icon: "icon-[lucide--replace]"
672
+ },
673
+ searchCheck: {
674
+ category: "Actions",
675
+ icon: "icon-[lucide--search-check]"
676
+ },
677
+ success: {
678
+ category: "Status",
679
+ icon: "icon-[lucide--circle-check]"
680
+ },
681
+ checkCircle: {
682
+ category: "Status",
683
+ icon: "icon-[lucide--circle-check-big]"
684
+ },
685
+ info: {
686
+ category: "Status",
687
+ icon: "icon-[lucide--info]"
688
+ },
689
+ warning: {
690
+ category: "Status",
691
+ icon: "icon-[lucide--triangle-alert]"
692
+ },
693
+ error: {
694
+ category: "Status",
695
+ icon: "icon-[lucide--circle-x]"
696
+ },
697
+ help: {
698
+ category: "Status",
699
+ icon: "icon-[lucide--circle-help]"
700
+ },
701
+ spinner: {
702
+ category: "Status",
703
+ icon: "icon-[line-md--loading-twotone-loop]"
704
+ },
705
+ spinnerDots: {
706
+ category: "Status",
707
+ icon: "icon-[svg-spinners--3-dots-move]"
708
+ },
709
+ loading: {
710
+ category: "Status",
711
+ icon: "icon-[line-md--loading-twotone-loop]"
712
+ },
713
+ loaderCircle: {
714
+ category: "Status",
715
+ icon: "icon-[lucide--loader-circle]"
716
+ },
717
+ verified: {
718
+ category: "Status",
719
+ icon: "icon-[lucide--badge-check]"
720
+ },
721
+ visibility: {
722
+ category: "Status",
723
+ icon: "icon-[lucide--eye]"
724
+ },
725
+ visibilityOff: {
726
+ category: "Status",
727
+ icon: "icon-[lucide--eye-off]"
728
+ },
729
+ online: {
730
+ category: "Status",
731
+ icon: "icon-[lucide--circle-dot]"
732
+ },
733
+ circleCheck: {
734
+ category: "Status",
735
+ icon: "icon-[lucide--circle-check]"
736
+ },
737
+ squareCheck: {
738
+ category: "Status",
739
+ icon: "icon-[lucide--square-check]"
740
+ },
741
+ loader: {
742
+ category: "Status",
743
+ icon: "icon-[lucide--loader]"
744
+ },
745
+ gauge: {
746
+ category: "Status",
747
+ icon: "icon-[lucide--gauge]"
748
+ },
749
+ play: {
750
+ category: "Media",
751
+ icon: "icon-[lucide--play]"
752
+ },
753
+ pause: {
754
+ category: "Media",
755
+ icon: "icon-[lucide--pause]"
756
+ },
757
+ stop: {
758
+ category: "Media",
759
+ icon: "icon-[lucide--square]"
760
+ },
761
+ stopCircle: {
762
+ category: "Media",
763
+ icon: "icon-[lucide--circle-stop]"
764
+ },
765
+ skipBack: {
766
+ category: "Media",
767
+ icon: "icon-[lucide--skip-back]"
768
+ },
769
+ skipForward: {
770
+ category: "Media",
771
+ icon: "icon-[lucide--skip-forward]"
772
+ },
773
+ skipNext: {
774
+ category: "Media",
775
+ icon: "icon-[lucide--skip-forward]"
776
+ },
777
+ skipPrevious: {
778
+ category: "Media",
779
+ icon: "icon-[lucide--skip-back]"
780
+ },
781
+ fastForward: {
782
+ category: "Media",
783
+ icon: "icon-[lucide--fast-forward]"
784
+ },
785
+ fastRewind: {
786
+ category: "Media",
787
+ icon: "icon-[lucide--rewind]"
788
+ },
789
+ rewind: {
790
+ category: "Media",
791
+ icon: "icon-[lucide--rewind]"
792
+ },
793
+ loop: {
794
+ category: "Media",
795
+ icon: "icon-[lucide--repeat]"
796
+ },
797
+ shuffle: {
798
+ category: "Media",
799
+ icon: "icon-[lucide--shuffle]"
800
+ },
801
+ volumeUp: {
802
+ category: "Media",
803
+ icon: "icon-[lucide--volume-2]"
804
+ },
805
+ volumeDown: {
806
+ category: "Media",
807
+ icon: "icon-[lucide--volume-1]"
808
+ },
809
+ volumeOff: {
810
+ category: "Media",
811
+ icon: "icon-[lucide--volume-off]"
812
+ },
813
+ image: {
814
+ category: "Media",
815
+ icon: "icon-[lucide--image]"
816
+ },
817
+ imagePlus: {
818
+ category: "Media",
819
+ icon: "icon-[lucide--image-plus]"
820
+ },
821
+ video: {
822
+ category: "Media",
823
+ icon: "icon-[lucide--video]"
824
+ },
825
+ videoOff: {
826
+ category: "Media",
827
+ icon: "icon-[lucide--video-off]"
828
+ },
829
+ camera: {
830
+ category: "Media",
831
+ icon: "icon-[lucide--camera]"
832
+ },
833
+ mic: {
834
+ category: "Media",
835
+ icon: "icon-[lucide--mic]"
836
+ },
837
+ micOff: {
838
+ category: "Media",
839
+ icon: "icon-[lucide--mic-off]"
840
+ },
841
+ webcam: {
842
+ category: "Media",
843
+ icon: "icon-[lucide--webcam]"
844
+ },
845
+ music: {
846
+ category: "Media",
847
+ icon: "icon-[lucide--music]"
848
+ },
849
+ music2: {
850
+ category: "Media",
851
+ icon: "icon-[lucide--music-2]"
852
+ },
853
+ headset: {
854
+ category: "Media",
855
+ icon: "icon-[lucide--headset]"
856
+ },
857
+ captions: {
858
+ category: "Media",
859
+ icon: "icon-[lucide--captions]"
860
+ },
861
+ playCircle: {
862
+ category: "Media",
863
+ icon: "icon-[lucide--circle-play]"
864
+ },
865
+ pauseCircle: {
866
+ category: "Media",
867
+ icon: "icon-[lucide--circle-pause]"
868
+ },
869
+ imageUp: {
870
+ category: "Media",
871
+ icon: "icon-[lucide--image-up]"
872
+ },
873
+ images: {
874
+ category: "Media",
875
+ icon: "icon-[lucide--images]"
876
+ },
877
+ file: {
878
+ category: "Files",
879
+ icon: "icon-[lucide--file]"
880
+ },
881
+ fileText: {
882
+ category: "Files",
883
+ icon: "icon-[lucide--file-text]"
884
+ },
885
+ fileAdd: {
886
+ category: "Files",
887
+ icon: "icon-[lucide--file-plus]"
888
+ },
889
+ fileZip: {
890
+ category: "Files",
891
+ icon: "icon-[lucide--file-archive]"
892
+ },
893
+ fileSymlink: {
894
+ category: "Files",
895
+ icon: "icon-[lucide--file-symlink]"
896
+ },
897
+ fileSearch: {
898
+ category: "Files",
899
+ icon: "icon-[lucide--file-search]"
900
+ },
901
+ folder: {
902
+ category: "Files",
903
+ icon: "icon-[lucide--folder]"
904
+ },
905
+ folderOpen: {
906
+ category: "Files",
907
+ icon: "icon-[lucide--folder-open]"
908
+ },
909
+ folderClosed: {
910
+ category: "Files",
911
+ icon: "icon-[lucide--folder-closed]"
912
+ },
913
+ folderPlus: {
914
+ category: "Files",
915
+ icon: "icon-[lucide--folder-plus]"
916
+ },
917
+ folderMinus: {
918
+ category: "Files",
919
+ icon: "icon-[lucide--folder-minus]"
920
+ },
921
+ folderGit: {
922
+ category: "Files",
923
+ icon: "icon-[lucide--folder-git-2]"
924
+ },
925
+ folderSymlink: {
926
+ category: "Files",
927
+ icon: "icon-[lucide--folder-symlink]"
928
+ },
929
+ document: {
930
+ category: "Files",
931
+ icon: "icon-[lucide--file-text]"
932
+ },
933
+ code: {
934
+ category: "Files",
935
+ icon: "icon-[lucide--code]"
936
+ },
937
+ codeBlock: {
938
+ category: "Files",
939
+ icon: "icon-[lucide--square-code]"
940
+ },
941
+ codeBracket: {
942
+ category: "Files",
943
+ icon: "icon-[lucide--braces]"
944
+ },
945
+ codeWrap: {
946
+ category: "Files",
947
+ icon: "icon-[lucide--wrap-text]"
948
+ },
949
+ archive: {
950
+ category: "Files",
951
+ icon: "icon-[lucide--archive]"
952
+ },
953
+ notebook: {
954
+ category: "Files",
955
+ icon: "icon-[lucide--notebook]"
956
+ },
957
+ notes: {
958
+ category: "Files",
959
+ icon: "icon-[lucide--sticky-note]"
960
+ },
961
+ clipboard: {
962
+ category: "Files",
963
+ icon: "icon-[lucide--clipboard]"
964
+ },
965
+ floppyDisk: {
966
+ category: "Files",
967
+ icon: "icon-[lucide--save]"
968
+ },
969
+ fileUp: {
970
+ category: "Files",
971
+ icon: "icon-[lucide--file-up]"
972
+ },
973
+ clipboardList: {
974
+ category: "Files",
975
+ icon: "icon-[lucide--clipboard-list]"
976
+ },
977
+ files: {
978
+ category: "Files",
979
+ icon: "icon-[lucide--files]"
980
+ },
981
+ filePen: {
982
+ category: "Files",
983
+ icon: "icon-[lucide--file-pen]"
984
+ },
985
+ panelLeft: {
986
+ category: "UI",
987
+ icon: "icon-[lucide--panel-left]"
988
+ },
989
+ panelRight: {
990
+ category: "UI",
991
+ icon: "icon-[lucide--panel-right]"
992
+ },
993
+ panelTop: {
994
+ category: "UI",
995
+ icon: "icon-[lucide--panel-top]"
996
+ },
997
+ panelBottom: {
998
+ category: "UI",
999
+ icon: "icon-[lucide--panel-bottom]"
1000
+ },
1001
+ sidebar: {
1002
+ category: "UI",
1003
+ icon: "icon-[lucide--panel-left]"
1004
+ },
1005
+ moreHorizontal: {
1006
+ category: "UI",
1007
+ icon: "icon-[lucide--ellipsis]"
1008
+ },
1009
+ moreVertical: {
1010
+ category: "UI",
1011
+ icon: "icon-[lucide--ellipsis-vertical]"
1012
+ },
1013
+ dragHandle: {
1014
+ category: "UI",
1015
+ icon: "icon-[lucide--grip-horizontal]"
1016
+ },
1017
+ dragIndicator: {
1018
+ category: "UI",
1019
+ icon: "icon-[lucide--grip-vertical]"
1020
+ },
1021
+ gridView: {
1022
+ category: "UI",
1023
+ icon: "icon-[lucide--grid-2x2]"
1024
+ },
1025
+ gridSquare: {
1026
+ category: "UI",
1027
+ icon: "icon-[lucide--grid-2x2]"
1028
+ },
1029
+ colorSwatch: {
1030
+ category: "UI",
1031
+ icon: "icon-[heroicons-solid--color-swatch]"
1032
+ },
1033
+ layoutGrid: {
1034
+ category: "UI",
1035
+ icon: "icon-[lucide--layout-grid]"
1036
+ },
1037
+ listView: {
1038
+ category: "UI",
1039
+ icon: "icon-[lucide--list]"
1040
+ },
1041
+ listOrdered: {
1042
+ category: "UI",
1043
+ icon: "icon-[lucide--list-ordered]"
1044
+ },
1045
+ settings: {
1046
+ category: "UI",
1047
+ icon: "icon-[lucide--settings]"
1048
+ },
1049
+ tune: {
1050
+ category: "UI",
1051
+ icon: "icon-[lucide--sliders-horizontal]"
1052
+ },
1053
+ slidersVertical: {
1054
+ category: "UI",
1055
+ icon: "icon-[lucide--sliders-vertical]"
1056
+ },
1057
+ notifications: {
1058
+ category: "UI",
1059
+ icon: "icon-[lucide--bell]"
1060
+ },
1061
+ bellDot: {
1062
+ category: "UI",
1063
+ icon: "icon-[lucide--bell-dot]"
1064
+ },
1065
+ bellOff: {
1066
+ category: "UI",
1067
+ icon: "icon-[lucide--bell-off]"
1068
+ },
1069
+ person: {
1070
+ category: "UI",
1071
+ icon: "icon-[lucide--user]"
1072
+ },
1073
+ group: {
1074
+ category: "UI",
1075
+ icon: "icon-[lucide--users]"
1076
+ },
1077
+ userCheck: {
1078
+ category: "UI",
1079
+ icon: "icon-[lucide--user-check]"
1080
+ },
1081
+ userPlus: {
1082
+ category: "UI",
1083
+ icon: "icon-[lucide--user-plus]"
1084
+ },
1085
+ userMinus: {
1086
+ category: "UI",
1087
+ icon: "icon-[lucide--user-minus]"
1088
+ },
1089
+ userX: {
1090
+ category: "UI",
1091
+ icon: "icon-[lucide--user-x]"
1092
+ },
1093
+ userCog: {
1094
+ category: "UI",
1095
+ icon: "icon-[lucide--user-cog]"
1096
+ },
1097
+ keyboard: {
1098
+ category: "UI",
1099
+ icon: "icon-[lucide--keyboard]"
1100
+ },
1101
+ keyboardReturn: {
1102
+ category: "UI",
1103
+ icon: "icon-[material-symbols--keyboard-return-rounded]"
1104
+ },
1105
+ keyboardCommand: {
1106
+ category: "UI",
1107
+ icon: "icon-[lucide--command]"
1108
+ },
1109
+ fullscreen: {
1110
+ category: "UI",
1111
+ icon: "icon-[lucide--maximize]"
1112
+ },
1113
+ fullscreenExit: {
1114
+ category: "UI",
1115
+ icon: "icon-[lucide--minimize]"
1116
+ },
1117
+ dashboard: {
1118
+ category: "UI",
1119
+ icon: "icon-[lucide--layout-dashboard]"
1120
+ },
1121
+ widgets: {
1122
+ category: "UI",
1123
+ icon: "icon-[material-symbols--widgets-rounded]"
1124
+ },
1125
+ apps: {
1126
+ category: "UI",
1127
+ icon: "icon-[lucide--grid-3x3]"
1128
+ },
1129
+ pictureInPicture: {
1130
+ category: "UI",
1131
+ icon: "icon-[lucide--picture-in-picture]"
1132
+ },
1133
+ toggleOn: {
1134
+ category: "UI",
1135
+ icon: "icon-[lucide--toggle-right]"
1136
+ },
1137
+ toggleOff: {
1138
+ category: "UI",
1139
+ icon: "icon-[lucide--toggle-left]"
1140
+ },
1141
+ appWindow: {
1142
+ category: "UI",
1143
+ icon: "icon-[lucide--app-window]"
1144
+ },
1145
+ terminalWindow: {
1146
+ category: "UI",
1147
+ icon: "icon-[lucide--square-terminal]"
1148
+ },
1149
+ scrollArea: {
1150
+ category: "UI",
1151
+ icon: "icon-[lucide--scroll]"
1152
+ },
1153
+ inspectSearch: {
1154
+ category: "UI",
1155
+ icon: "icon-[lucide--scan-search]"
1156
+ },
1157
+ option: {
1158
+ category: "UI",
1159
+ icon: "icon-[lucide--option]"
1160
+ },
1161
+ cube: {
1162
+ category: "UI",
1163
+ icon: "icon-[iconoir--select-face-3d]"
1164
+ },
1165
+ textCursorInput: {
1166
+ category: "UI",
1167
+ icon: "icon-[lucide--text-cursor-input]"
1168
+ },
1169
+ blocks: {
1170
+ category: "UI",
1171
+ icon: "icon-[lucide--blocks]"
1172
+ },
1173
+ listTree: {
1174
+ category: "UI",
1175
+ icon: "icon-[lucide--list-tree]"
1176
+ },
1177
+ squareChevronDown: {
1178
+ category: "UI",
1179
+ icon: "icon-[lucide--square-chevron-down]"
1180
+ },
1181
+ letterText: {
1182
+ category: "UI",
1183
+ icon: "icon-[lucide--letter-text]"
1184
+ },
1185
+ squareMousePointer: {
1186
+ category: "UI",
1187
+ icon: "icon-[lucide--square-mouse-pointer]"
1188
+ },
1189
+ columns3: {
1190
+ category: "UI",
1191
+ icon: "icon-[lucide--columns-3]"
1192
+ },
1193
+ listCollapse: {
1194
+ category: "UI",
1195
+ icon: "icon-[lucide--list-collapse]"
1196
+ },
1197
+ foldVertical: {
1198
+ category: "UI",
1199
+ icon: "icon-[lucide--fold-vertical]"
1200
+ },
1201
+ inbox: {
1202
+ category: "UI",
1203
+ icon: "icon-[lucide--inbox]"
1204
+ },
1205
+ squareDashed: {
1206
+ category: "UI",
1207
+ icon: "icon-[lucide--square-dashed]"
1208
+ },
1209
+ tableOfContents: {
1210
+ category: "UI",
1211
+ icon: "icon-[lucide--table-of-contents]"
1212
+ },
1213
+ grid3x3: {
1214
+ category: "UI",
1215
+ icon: "icon-[lucide--grid-3x3]"
1216
+ },
1217
+ fieldGroup: {
1218
+ category: "UI",
1219
+ icon: "icon-[lucide--group]"
1220
+ },
1221
+ rectangleEllipsis: {
1222
+ category: "UI",
1223
+ icon: "icon-[lucide--rectangle-ellipsis]"
1224
+ },
1225
+ inputGroup: {
1226
+ category: "UI",
1227
+ icon: "icon-[lucide--between-horizontal-end]"
1228
+ },
1229
+ groupItems: {
1230
+ category: "UI",
1231
+ icon: "icon-[lucide--group]"
1232
+ },
1233
+ separator: {
1234
+ category: "UI",
1235
+ icon: "icon-[lucide--separator-horizontal]"
1236
+ },
1237
+ stretchHorizontal: {
1238
+ category: "UI",
1239
+ icon: "icon-[lucide--stretch-horizontal]"
1240
+ },
1241
+ squareStack: {
1242
+ category: "UI",
1243
+ icon: "icon-[lucide--square-stack]"
1244
+ },
1245
+ textCursor: {
1246
+ category: "UI",
1247
+ icon: "icon-[lucide--text-cursor]"
1248
+ },
1249
+ component: {
1250
+ category: "UI",
1251
+ icon: "icon-[lucide--component]"
1252
+ },
1253
+ layoutTemplate: {
1254
+ category: "UI",
1255
+ icon: "icon-[lucide--layout-template]"
1256
+ },
1257
+ google: {
1258
+ category: "Brands",
1259
+ icon: "icon-[logos--google-icon]"
1260
+ },
1261
+ github: {
1262
+ category: "Brands",
1263
+ icon: "icon-[mdi--github]"
1264
+ },
1265
+ apple: {
1266
+ category: "Brands",
1267
+ icon: "icon-[mdi--apple]"
1268
+ },
1269
+ openai: {
1270
+ category: "Brands",
1271
+ icon: "icon-[simple-icons--openai]"
1272
+ },
1273
+ anthropic: {
1274
+ category: "Brands",
1275
+ icon: "icon-[simple-icons--anthropic]"
1276
+ },
1277
+ gemini: {
1278
+ category: "Brands",
1279
+ icon: "icon-[simple-icons--googlegemini]"
1280
+ },
1281
+ discord: {
1282
+ category: "Brands",
1283
+ icon: "icon-[simple-icons--discord]"
1284
+ },
1285
+ slack: {
1286
+ category: "Brands",
1287
+ icon: "icon-[simple-icons--slack]"
1288
+ },
1289
+ figma: {
1290
+ category: "Brands",
1291
+ icon: "icon-[simple-icons--figma]"
1292
+ },
1293
+ linkedin: {
1294
+ category: "Brands",
1295
+ icon: "icon-[lucide--linkedin]"
1296
+ },
1297
+ codepen: {
1298
+ category: "Brands",
1299
+ icon: "icon-[lucide--codepen]"
1300
+ },
1301
+ rss: {
1302
+ category: "Brands",
1303
+ icon: "icon-[lucide--rss]"
1304
+ },
1305
+ typescript: {
1306
+ category: "Programming",
1307
+ icon: "icon-[simple-icons--typescript]"
1308
+ },
1309
+ javascript: {
1310
+ category: "Programming",
1311
+ icon: "icon-[simple-icons--javascript]"
1312
+ },
1313
+ python: {
1314
+ category: "Programming",
1315
+ icon: "icon-[simple-icons--python]"
1316
+ },
1317
+ react: {
1318
+ category: "Programming",
1319
+ icon: "icon-[simple-icons--react]"
1320
+ },
1321
+ tailwindcss: {
1322
+ category: "Programming",
1323
+ icon: "icon-[simple-icons--tailwindcss]"
1324
+ },
1325
+ json: {
1326
+ category: "Programming",
1327
+ icon: "icon-[lucide--braces]"
1328
+ },
1329
+ html: {
1330
+ category: "Programming",
1331
+ icon: "icon-[simple-icons--html5]"
1332
+ },
1333
+ css: {
1334
+ category: "Programming",
1335
+ icon: "icon-[simple-icons--css3]"
1336
+ },
1337
+ terminal: {
1338
+ category: "Programming",
1339
+ icon: "icon-[lucide--terminal]"
1340
+ },
1341
+ api: {
1342
+ category: "Programming",
1343
+ icon: "icon-[lucide--webhook]"
1344
+ },
1345
+ variable: {
1346
+ category: "Programming",
1347
+ icon: "icon-[lucide--variable]"
1348
+ },
1349
+ webhook: {
1350
+ category: "Programming",
1351
+ icon: "icon-[lucide--webhook]"
1352
+ },
1353
+ functionIcon: {
1354
+ category: "Programming",
1355
+ icon: "icon-[lucide--function-square]"
1356
+ },
1357
+ cursor: {
1358
+ category: "Tools",
1359
+ icon: "icon-[lucide--mouse-pointer]"
1360
+ },
1361
+ cursorClick: {
1362
+ category: "Tools",
1363
+ icon: "icon-[lucide--mouse-pointer-click]"
1364
+ },
1365
+ hand: {
1366
+ category: "Tools",
1367
+ icon: "icon-[lucide--hand]"
1368
+ },
1369
+ pen: {
1370
+ category: "Tools",
1371
+ icon: "icon-[lucide--pen]"
1372
+ },
1373
+ brush: {
1374
+ category: "Tools",
1375
+ icon: "icon-[lucide--paintbrush]"
1376
+ },
1377
+ eraser: {
1378
+ category: "Tools",
1379
+ icon: "icon-[lucide--eraser]"
1380
+ },
1381
+ colorize: {
1382
+ category: "Tools",
1383
+ icon: "icon-[lucide--pipette]"
1384
+ },
1385
+ straighten: {
1386
+ category: "Tools",
1387
+ icon: "icon-[lucide--ruler]"
1388
+ },
1389
+ wrench: {
1390
+ category: "Tools",
1391
+ icon: "icon-[lucide--wrench]"
1392
+ },
1393
+ plug: {
1394
+ category: "Tools",
1395
+ icon: "icon-[lucide--plug]"
1396
+ },
1397
+ scan: {
1398
+ category: "Tools",
1399
+ icon: "icon-[lucide--scan]"
1400
+ },
1401
+ aperture: {
1402
+ category: "Tools",
1403
+ icon: "icon-[lucide--aperture]"
1404
+ },
1405
+ pencilRuler: {
1406
+ category: "Tools",
1407
+ icon: "icon-[lucide--pencil-ruler]"
1408
+ },
1409
+ mousePointer2: {
1410
+ category: "Tools",
1411
+ icon: "icon-[lucide--mouse-pointer-2]"
1412
+ },
1413
+ table: {
1414
+ category: "Data",
1415
+ icon: "icon-[lucide--table]"
1416
+ },
1417
+ barChart: {
1418
+ category: "Data",
1419
+ icon: "icon-[lucide--chart-bar]"
1420
+ },
1421
+ chartBarStacked: {
1422
+ category: "Data",
1423
+ icon: "icon-[lucide--chart-bar-stacked]"
1424
+ },
1425
+ pieChart: {
1426
+ category: "Data",
1427
+ icon: "icon-[lucide--chart-pie]"
1428
+ },
1429
+ lineChart: {
1430
+ category: "Data",
1431
+ icon: "icon-[lucide--line-chart]"
1432
+ },
1433
+ chartActivity: {
1434
+ category: "Data",
1435
+ icon: "icon-[lucide--activity]"
1436
+ },
1437
+ trendingUp: {
1438
+ category: "Data",
1439
+ icon: "icon-[lucide--trending-up]"
1440
+ },
1441
+ trendingDown: {
1442
+ category: "Data",
1443
+ icon: "icon-[lucide--trending-down]"
1444
+ },
1445
+ analytics: {
1446
+ category: "Data",
1447
+ icon: "icon-[lucide--chart-no-axes-combined]"
1448
+ },
1449
+ array: {
1450
+ category: "Data",
1451
+ icon: "icon-[material-symbols--data-array-rounded]"
1452
+ },
1453
+ database: {
1454
+ category: "Data",
1455
+ icon: "icon-[lucide--database]"
1456
+ },
1457
+ tag: {
1458
+ category: "Data",
1459
+ icon: "icon-[lucide--tag]"
1460
+ },
1461
+ label: {
1462
+ category: "Data",
1463
+ icon: "icon-[material-symbols--label-rounded]"
1464
+ },
1465
+ hash: {
1466
+ category: "Data",
1467
+ icon: "icon-[lucide--hash]"
1468
+ },
1469
+ percent: {
1470
+ category: "Data",
1471
+ icon: "icon-[lucide--percent]"
1472
+ },
1473
+ tally5: {
1474
+ category: "Data",
1475
+ icon: "icon-[lucide--tally-5]"
1476
+ },
1477
+ chat: {
1478
+ category: "Communication",
1479
+ icon: "icon-[lucide--message-square]"
1480
+ },
1481
+ chatBubble: {
1482
+ category: "Communication",
1483
+ icon: "icon-[lucide--message-circle]"
1484
+ },
1485
+ messageTyping: {
1486
+ category: "Communication",
1487
+ icon: "icon-[lucide--message-square-more]"
1488
+ },
1489
+ comment: {
1490
+ category: "Communication",
1491
+ icon: "icon-[lucide--message-square-text]"
1492
+ },
1493
+ email: {
1494
+ category: "Communication",
1495
+ icon: "icon-[lucide--mail]"
1496
+ },
1497
+ call: {
1498
+ category: "Communication",
1499
+ icon: "icon-[lucide--phone]"
1500
+ },
1501
+ thumbUp: {
1502
+ category: "Communication",
1503
+ icon: "icon-[lucide--thumbs-up]"
1504
+ },
1505
+ thumbDown: {
1506
+ category: "Communication",
1507
+ icon: "icon-[lucide--thumbs-down]"
1508
+ },
1509
+ messageSquareMore: {
1510
+ category: "Communication",
1511
+ icon: "icon-[lucide--message-square-more]"
1512
+ },
1513
+ messageCircle: {
1514
+ category: "Communication",
1515
+ icon: "icon-[lucide--message-circle]"
1516
+ },
1517
+ messagesSquare: {
1518
+ category: "Communication",
1519
+ icon: "icon-[lucide--messages-square]"
1520
+ },
1521
+ palette: {
1522
+ category: "Design",
1523
+ icon: "icon-[lucide--palette]"
1524
+ },
1525
+ paintBucket: {
1526
+ category: "Design",
1527
+ icon: "icon-[lucide--paint-bucket]"
1528
+ },
1529
+ formatPaint: {
1530
+ category: "Design",
1531
+ icon: "icon-[lucide--paint-roller]"
1532
+ },
1533
+ autoAwesome: {
1534
+ category: "Design",
1535
+ icon: "icon-[material-symbols--auto-awesome-rounded]"
1536
+ },
1537
+ style: {
1538
+ category: "Design",
1539
+ icon: "icon-[material-symbols--style]"
1540
+ },
1541
+ opacity: {
1542
+ category: "Design",
1543
+ icon: "icon-[material-symbols--opacity-rounded]"
1544
+ },
1545
+ gradient: {
1546
+ category: "Design",
1547
+ icon: "icon-[material-symbols--gradient]"
1548
+ },
1549
+ contrast: {
1550
+ category: "Design",
1551
+ icon: "icon-[carbon--contrast]"
1552
+ },
1553
+ brightness: {
1554
+ category: "Design",
1555
+ icon: "icon-[lucide--sun]"
1556
+ },
1557
+ layers: {
1558
+ category: "Design",
1559
+ icon: "icon-[lucide--layers]"
1560
+ },
1561
+ blendMode: {
1562
+ category: "Design",
1563
+ icon: "icon-[lucide--blend]"
1564
+ },
1565
+ shadow: {
1566
+ category: "Design",
1567
+ icon: "icon-[material-symbols--ev-shadow]"
1568
+ },
1569
+ roundedCorner: {
1570
+ category: "Design",
1571
+ icon: "icon-[material-symbols--rounded-corner-rounded]"
1572
+ },
1573
+ formatSpacing: {
1574
+ category: "Design",
1575
+ icon: "icon-[material-symbols--format-letter-spacing-rounded]"
1576
+ },
1577
+ shapes: {
1578
+ category: "Design",
1579
+ icon: "icon-[lucide--shapes]"
1580
+ },
1581
+ swatchBook: {
1582
+ category: "Design",
1583
+ icon: "icon-[lucide--swatch-book]"
1584
+ },
1585
+ droplets: {
1586
+ category: "Design",
1587
+ icon: "icon-[lucide--droplets]"
1588
+ },
1589
+ sunMedium: {
1590
+ category: "Design",
1591
+ icon: "icon-[lucide--sun-medium]"
1592
+ },
1593
+ spline: {
1594
+ category: "Design",
1595
+ icon: "icon-[lucide--spline]"
1596
+ },
1597
+ robot: {
1598
+ category: "AI",
1599
+ icon: "icon-[lucide--bot]"
1600
+ },
1601
+ sparkles: {
1602
+ category: "AI",
1603
+ icon: "icon-[lucide--sparkles]"
1604
+ },
1605
+ sparkle: {
1606
+ category: "AI",
1607
+ icon: "icon-[lucide--sparkle]"
1608
+ },
1609
+ brain: {
1610
+ category: "AI",
1611
+ icon: "icon-[lucide--brain]"
1612
+ },
1613
+ magic: {
1614
+ category: "AI",
1615
+ icon: "icon-[lucide--wand-sparkles]"
1616
+ },
1617
+ experiment: {
1618
+ category: "AI",
1619
+ icon: "icon-[lucide--flask-conical]"
1620
+ },
1621
+ psychology: {
1622
+ category: "AI",
1623
+ icon: "icon-[material-symbols--psychology-rounded]"
1624
+ },
1625
+ botMessageSquare: {
1626
+ category: "AI",
1627
+ icon: "icon-[lucide--bot-message-square]"
1628
+ },
1629
+ one: {
1630
+ category: "Numbers",
1631
+ icon: "icon-[material-symbols--counter-1-rounded]"
1632
+ },
1633
+ two: {
1634
+ category: "Numbers",
1635
+ icon: "icon-[material-symbols--counter-2-rounded]"
1636
+ },
1637
+ three: {
1638
+ category: "Numbers",
1639
+ icon: "icon-[material-symbols--counter-3-rounded]"
1640
+ },
1641
+ four: {
1642
+ category: "Numbers",
1643
+ icon: "icon-[material-symbols--counter-4-rounded]"
1644
+ },
1645
+ five: {
1646
+ category: "Numbers",
1647
+ icon: "icon-[material-symbols--counter-5-rounded]"
1648
+ },
1649
+ six: {
1650
+ category: "Numbers",
1651
+ icon: "icon-[material-symbols--counter-6-rounded]"
1652
+ },
1653
+ seven: {
1654
+ category: "Numbers",
1655
+ icon: "icon-[material-symbols--counter-7-rounded]"
1656
+ },
1657
+ eight: {
1658
+ category: "Numbers",
1659
+ icon: "icon-[material-symbols--counter-8]"
1660
+ },
1661
+ nine: {
1662
+ category: "Numbers",
1663
+ icon: "icon-[material-symbols--counter-9-rounded]"
1664
+ },
1665
+ favorite: {
1666
+ category: "Misc",
1667
+ icon: "icon-[lucide--heart]"
1668
+ },
1669
+ star: {
1670
+ category: "Misc",
1671
+ icon: "icon-[lucide--star]"
1672
+ },
1673
+ bookmark: {
1674
+ category: "Misc",
1675
+ icon: "icon-[lucide--bookmark]"
1676
+ },
1677
+ flag: {
1678
+ category: "Misc",
1679
+ icon: "icon-[lucide--flag]"
1680
+ },
1681
+ flagTriangle: {
1682
+ category: "Misc",
1683
+ icon: "icon-[lucide--flag-triangle-right]"
1684
+ },
1685
+ creditCard: {
1686
+ category: "Misc",
1687
+ icon: "icon-[lucide--credit-card]"
1688
+ },
1689
+ shoppingCart: {
1690
+ category: "Misc",
1691
+ icon: "icon-[lucide--shopping-cart]"
1692
+ },
1693
+ store: {
1694
+ category: "Misc",
1695
+ icon: "icon-[lucide--store]"
1696
+ },
1697
+ coins: {
1698
+ category: "Misc",
1699
+ icon: "icon-[lucide--coins]"
1700
+ },
1701
+ dollarSign: {
1702
+ category: "Misc",
1703
+ icon: "icon-[lucide--dollar-sign]"
1704
+ },
1705
+ receipt: {
1706
+ category: "Misc",
1707
+ icon: "icon-[lucide--receipt]"
1708
+ },
1709
+ location: {
1710
+ category: "Misc",
1711
+ icon: "icon-[lucide--map-pin]"
1712
+ },
1713
+ calendar: {
1714
+ category: "Misc",
1715
+ icon: "icon-[lucide--calendar]"
1716
+ },
1717
+ clock: {
1718
+ category: "Misc",
1719
+ icon: "icon-[lucide--clock]"
1720
+ },
1721
+ clockRewind: {
1722
+ category: "Misc",
1723
+ icon: "icon-[lucide--history]"
1724
+ },
1725
+ schedule: {
1726
+ category: "Misc",
1727
+ icon: "icon-[lucide--clock]"
1728
+ },
1729
+ timer: {
1730
+ category: "Misc",
1731
+ icon: "icon-[lucide--timer]"
1732
+ },
1733
+ stopwatch: {
1734
+ category: "Misc",
1735
+ icon: "icon-[lucide--timer]"
1736
+ },
1737
+ alarmClock: {
1738
+ category: "Misc",
1739
+ icon: "icon-[lucide--alarm-clock]"
1740
+ },
1741
+ lightbulb: {
1742
+ category: "Misc",
1743
+ icon: "icon-[lucide--lightbulb]"
1744
+ },
1745
+ bolt: {
1746
+ category: "Misc",
1747
+ icon: "icon-[lucide--zap]"
1748
+ },
1749
+ cloud: {
1750
+ category: "Misc",
1751
+ icon: "icon-[lucide--cloud]"
1752
+ },
1753
+ cloudUpload: {
1754
+ category: "Misc",
1755
+ icon: "icon-[lucide--cloud-upload]"
1756
+ },
1757
+ cloudDownload: {
1758
+ category: "Misc",
1759
+ icon: "icon-[lucide--cloud-download]"
1760
+ },
1761
+ lightMode: {
1762
+ category: "Misc",
1763
+ icon: "icon-[lucide--sun]"
1764
+ },
1765
+ darkMode: {
1766
+ category: "Misc",
1767
+ icon: "icon-[lucide--moon]"
1768
+ },
1769
+ moonStar: {
1770
+ category: "Misc",
1771
+ icon: "icon-[lucide--moon-star]"
1772
+ },
1773
+ sunDim: {
1774
+ category: "Misc",
1775
+ icon: "icon-[lucide--sun-dim]"
1776
+ },
1777
+ power: {
1778
+ category: "Misc",
1779
+ icon: "icon-[lucide--power]"
1780
+ },
1781
+ shield: {
1782
+ category: "Misc",
1783
+ icon: "icon-[lucide--shield]"
1784
+ },
1785
+ shieldCheck: {
1786
+ category: "Misc",
1787
+ icon: "icon-[lucide--shield-check]"
1788
+ },
1789
+ shieldOff: {
1790
+ category: "Misc",
1791
+ icon: "icon-[lucide--shield-off]"
1792
+ },
1793
+ key: {
1794
+ category: "Misc",
1795
+ icon: "icon-[lucide--key]"
1796
+ },
1797
+ keyRound: {
1798
+ category: "Misc",
1799
+ icon: "icon-[lucide--key-round]"
1800
+ },
1801
+ fingerprint: {
1802
+ category: "Misc",
1803
+ icon: "icon-[lucide--fingerprint]"
1804
+ },
1805
+ pin: {
1806
+ category: "Misc",
1807
+ icon: "icon-[lucide--pin]"
1808
+ },
1809
+ paperclip: {
1810
+ category: "Misc",
1811
+ icon: "icon-[lucide--paperclip]"
1812
+ },
1813
+ globe: {
1814
+ category: "Misc",
1815
+ icon: "icon-[lucide--globe]"
1816
+ },
1817
+ globeLock: {
1818
+ category: "Misc",
1819
+ icon: "icon-[lucide--globe-lock]"
1820
+ },
1821
+ gps: {
1822
+ category: "Misc",
1823
+ icon: "icon-[lucide--locate]"
1824
+ },
1825
+ network: {
1826
+ category: "Misc",
1827
+ icon: "icon-[lucide--network]"
1828
+ },
1829
+ cpu: {
1830
+ category: "Misc",
1831
+ icon: "icon-[lucide--cpu]"
1832
+ },
1833
+ monitor: {
1834
+ category: "Misc",
1835
+ icon: "icon-[lucide--monitor]"
1836
+ },
1837
+ smartphone: {
1838
+ category: "Misc",
1839
+ icon: "icon-[lucide--smartphone]"
1840
+ },
1841
+ tablet: {
1842
+ category: "Misc",
1843
+ icon: "icon-[lucide--tablet]"
1844
+ },
1845
+ monitorSmartphone: {
1846
+ category: "Misc",
1847
+ icon: "icon-[lucide--monitor-smartphone]"
1848
+ },
1849
+ server: {
1850
+ category: "Misc",
1851
+ icon: "icon-[lucide--server]"
1852
+ },
1853
+ hardDrive: {
1854
+ category: "Misc",
1855
+ icon: "icon-[lucide--hard-drive]"
1856
+ },
1857
+ box: {
1858
+ category: "Misc",
1859
+ icon: "icon-[lucide--box]"
1860
+ },
1861
+ puzzle: {
1862
+ category: "Misc",
1863
+ icon: "icon-[lucide--puzzle]"
1864
+ },
1865
+ briefcase: {
1866
+ category: "Misc",
1867
+ icon: "icon-[lucide--briefcase]"
1868
+ },
1869
+ calculator: {
1870
+ category: "Misc",
1871
+ icon: "icon-[lucide--calculator]"
1872
+ },
1873
+ buildings: {
1874
+ category: "Misc",
1875
+ icon: "icon-[lucide--building-2]"
1876
+ },
1877
+ bug: {
1878
+ category: "Misc",
1879
+ icon: "icon-[lucide--bug]"
1880
+ },
1881
+ droplet: {
1882
+ category: "Misc",
1883
+ icon: "icon-[lucide--droplet]"
1884
+ },
1885
+ bookOpen: {
1886
+ category: "Misc",
1887
+ icon: "icon-[lucide--book-open]"
1888
+ },
1889
+ bookClosed: {
1890
+ category: "Misc",
1891
+ icon: "icon-[lucide--book-marked]"
1892
+ },
1893
+ lifebuoy: {
1894
+ category: "Misc",
1895
+ icon: "icon-[lucide--life-buoy]"
1896
+ },
1897
+ accessibility: {
1898
+ category: "Misc",
1899
+ icon: "icon-[lucide--accessibility]"
1900
+ },
1901
+ workflow: {
1902
+ category: "Misc",
1903
+ icon: "icon-[lucide--workflow]"
1904
+ },
1905
+ gitBranch: {
1906
+ category: "Misc",
1907
+ icon: "icon-[lucide--git-branch]"
1908
+ },
1909
+ gitBranchPlus: {
1910
+ category: "Misc",
1911
+ icon: "icon-[lucide--git-branch-plus]"
1912
+ },
1913
+ gitCommit: {
1914
+ category: "Misc",
1915
+ icon: "icon-[lucide--git-commit-horizontal]"
1916
+ },
1917
+ gitMerge: {
1918
+ category: "Misc",
1919
+ icon: "icon-[lucide--git-merge]"
1920
+ },
1921
+ gitPullRequest: {
1922
+ category: "Misc",
1923
+ icon: "icon-[lucide--git-pull-request]"
1924
+ },
1925
+ crosshair: {
1926
+ category: "Misc",
1927
+ icon: "icon-[lucide--crosshair]"
1928
+ },
1929
+ target: {
1930
+ category: "Misc",
1931
+ icon: "icon-[lucide--target]"
1932
+ },
1933
+ smile: {
1934
+ category: "Misc",
1935
+ icon: "icon-[lucide--smile]"
1936
+ },
1937
+ frown: {
1938
+ category: "Misc",
1939
+ icon: "icon-[lucide--frown]"
1940
+ },
1941
+ smilePlus: {
1942
+ category: "Misc",
1943
+ icon: "icon-[lucide--smile-plus]"
1944
+ },
1945
+ bold: {
1946
+ category: "Misc",
1947
+ icon: "icon-[lucide--bold]"
1948
+ },
1949
+ italic: {
1950
+ category: "Misc",
1951
+ icon: "icon-[lucide--italic]"
1952
+ },
1953
+ strikethrough: {
1954
+ category: "Misc",
1955
+ icon: "icon-[lucide--strikethrough]"
1956
+ },
1957
+ underline: {
1958
+ category: "Misc",
1959
+ icon: "icon-[lucide--underline]"
1960
+ },
1961
+ heading: {
1962
+ category: "Misc",
1963
+ icon: "icon-[lucide--heading]"
1964
+ },
1965
+ type: {
1966
+ category: "Misc",
1967
+ icon: "icon-[lucide--type]"
1968
+ },
1969
+ caseSensitive: {
1970
+ category: "Misc",
1971
+ icon: "icon-[lucide--case-sensitive]"
1972
+ },
1973
+ alignLeft: {
1974
+ category: "Misc",
1975
+ icon: "icon-[lucide--align-left]"
1976
+ },
1977
+ alignCenter: {
1978
+ category: "Misc",
1979
+ icon: "icon-[lucide--align-center]"
1980
+ },
1981
+ alignRight: {
1982
+ category: "Misc",
1983
+ icon: "icon-[lucide--align-right]"
1984
+ },
1985
+ sunMoon: {
1986
+ category: "Misc",
1987
+ icon: "icon-[lucide--sun-moon]"
1988
+ },
1989
+ tvMinimal: {
1990
+ category: "Misc",
1991
+ icon: "icon-[lucide--tv-minimal]"
1992
+ },
1993
+ orbit: {
1994
+ category: "Misc",
1995
+ icon: "icon-[lucide--orbit]"
1996
+ },
1997
+ gitFork: {
1998
+ category: "Misc",
1999
+ icon: "icon-[lucide--git-fork]"
2000
+ },
2001
+ bookOpenText: {
2002
+ category: "Misc",
2003
+ icon: "icon-[lucide--book-open-text]"
2004
+ },
2005
+ serverOff: {
2006
+ category: "Misc",
2007
+ icon: "icon-[lucide--server-off]"
2008
+ },
2009
+ packagePlus: {
2010
+ category: "Misc",
2011
+ icon: "icon-[lucide--package-plus]"
2012
+ }
2013
+ }, re = class {
2014
+ static getIcon(e) {
2015
+ return e in y ? y[e].icon : e;
2016
+ }
2017
+ static getCategory(e) {
2018
+ return y[e].category;
2019
+ }
2020
+ static getCategories() {
2021
+ let e = /* @__PURE__ */ new Set();
2022
+ for (let t of Object.values(y)) e.add(t.category);
2023
+ return Object.values(v).filter((t) => e.has(t));
2024
+ }
2025
+ static getByCategory() {
2026
+ let e = {};
2027
+ for (let t of Object.values(v)) e[t] = [];
2028
+ for (let [t, n] of Object.entries(y)) e[n.category].push({
2029
+ id: t,
2030
+ category: n.category,
2031
+ icon: n.icon
2032
+ });
2033
+ return e;
2034
+ }
2035
+ }, b = "@plugin \"@iconify/tailwind4\";\n\n@plugin \"tailwindcss-animate\";\n\n@source inline(\"typo-1 typo-2 typo-3 typo-4 typo-5 typo-6 typo-7 typo-8 typo-9 typo-10 typo-11 typo-12 typo-13 typo-14 typo-15 typo-16 typo-17 typo-18 typo-weight-100 typo-weight-200 typo-weight-300 typo-weight-400 typo-weight-500 typo-weight-600 typo-weight-700 typo-weight-800 typo-weight-900\");\n\n@source \"./index.js\";\n@source \"./**/*.{ts,tsx}\";\n\n@theme static {\n --font-code: 'geist-mono', monospace;\n --font-geist: 'geist', sans-serif;\n --font-geist-mono: 'geist-mono', monospace;\n --font-pixel-circle: 'geist-pixel-circle', monospace;\n --font-pixel-grid: 'geist-pixel-grid', monospace;\n --font-pixel-line: 'geist-pixel-line', monospace;\n --font-pixel-square: 'geist-pixel-square', monospace;\n --font-pixel-triangle: 'geist-pixel-triangle', monospace;\n --font-clash-grotesk: 'clash-grotesk-variable', sans-serif;\n --font-nippo: 'nippo', sans-serif;\n --font-humane: 'humane-variable', sans-serif;\n --font-general-sans: 'general-sans', sans-serif;\n --font-kode-mono: 'kode-mono-vf', monospace;\n --font-aalto: 'Aalto', display;\n --font-being: 'being', display;\n --font-benzol: 'benzol', display;\n --font-half: 'half', display;\n --font-miratrix: 'miratrix', display;\n --font-triakis: 'triakis', display;\n --font-yeager: 'yeager', display;\n --font-karmatic-arcade: 'karmatic-arcade-regular', display;\n --font-digital-7: 'digital-7-mono', monospace;\n --font-pixelony: 'pixelony', display;\n --font-unknown: 'unknown', display;\n --font-disket: 'disket', display;\n --font-heming: 'heming', display;\n --font-obrazec: 'obrazec', display;\n\n --color-neutral-1: #111111;\n --color-neutral-2: #191919;\n --color-neutral-3: #222222;\n --color-neutral-4: #2a2a2a;\n --color-neutral-5: #313131;\n --color-neutral-6: #3a3a3a;\n --color-neutral-7: #484848;\n --color-neutral-8: #606060;\n --color-neutral-9: #6e6e6e;\n --color-neutral-10: #7b7b7b;\n --color-neutral-11: #b4b4b4;\n --color-neutral-12: #eeeeee;\n\n --color-neutralA-1: #FFFFFF05;\n --color-neutralA-2: #FFFFFF09;\n --color-neutralA-3: #FFFFFF12;\n --color-neutralA-4: #FFFFFF1B;\n --color-neutralA-5: #FFFFFF22;\n --color-neutralA-6: #FFFFFF2C;\n --color-neutralA-7: #FFFFFF3B;\n --color-neutralA-8: #FFFFFF55;\n --color-neutralA-9: #FFFFFF64;\n --color-neutralA-10: #FFFFFF72;\n --color-neutralA-11: #FFFFFFAF;\n --color-neutralA-12: #FFFFFFED;\n\n --color-shadows-1: #0000000D;\n --color-shadows-2: #0000001A;\n --color-shadows-3: #00000026;\n --color-shadows-4: #00000033;\n --color-shadows-5: #0000004D;\n --color-shadows-6: #00000066;\n --color-shadows-7: #00000080;\n --color-shadows-8: #00000099;\n --color-shadows-9: #000000B3;\n --color-shadows-10: #000000CC;\n --color-shadows-11: #000000E6;\n --color-shadows-12: #000000F2;\n\n --color-accent-1: #0e1512;\n --color-accent-2: #121b17;\n --color-accent-3: #132d21;\n --color-accent-4: #113b29;\n --color-accent-5: #174933;\n --color-accent-6: #20573e;\n --color-accent-7: #28684a;\n --color-accent-8: #2f7c57;\n --color-accent-9: #30a46c;\n --color-accent-10: #33b074;\n --color-accent-11: #3dd68c;\n --color-accent-12: #b1f1cb;\n\n --color-accentA-1: #00de4505;\n --color-accentA-2: #29f99d0b;\n --color-accentA-3: #22ff991e;\n --color-accentA-4: #11ff992d;\n --color-accentA-5: #2bffa23c;\n --color-accentA-6: #44ffaa4b;\n --color-accentA-7: #50fdac5e;\n --color-accentA-8: #54ffad73;\n --color-accentA-9: #44ffa49e;\n --color-accentA-10: #43fea4ab;\n --color-accentA-11: #46fea5d4;\n --color-accentA-12: #bbffd7f0;\n\n --color-error-1: #191113;\n --color-error-2: #1e1517;\n --color-error-3: #3a141e;\n --color-error-4: #4e1325;\n --color-error-5: #5e1a2e;\n --color-error-6: #6f2539;\n --color-error-7: #883447;\n --color-error-8: #b3445a;\n --color-error-9: #e54666;\n --color-error-10: #ec5a72;\n --color-error-11: #ff949d;\n --color-error-12: #fed2e1;\n\n --color-errorA-1: #f4126709;\n --color-errorA-2: #f22f7a11;\n --color-errorA-3: #fe2a8b2a;\n --color-errorA-4: #fd158741;\n --color-errorA-5: #fd278f51;\n --color-errorA-6: #fe459763;\n --color-errorA-7: #fd559b7f;\n --color-errorA-8: #fe5b9bab;\n --color-errorA-9: #fe418de8;\n --color-errorA-10: #ff5693ed;\n --color-errorA-11: #ff92ad;\n --color-errorA-12: #ffd5eafd;\n\n --color-success-1: #0d1512;\n --color-success-2: #121c18;\n --color-success-3: #0f2e22;\n --color-success-4: #0b3b2c;\n --color-success-5: #114837;\n --color-success-6: #1b5745;\n --color-success-7: #246854;\n --color-success-8: #2a7e68;\n --color-success-9: #29a383;\n --color-success-10: #27b08b;\n --color-success-11: #1fd8a4;\n --color-success-12: #adf0d4;\n\n --color-successA-1: #00de4505;\n --color-successA-2: #29f99d0b;\n --color-successA-3: #22ff991e;\n --color-successA-4: #11ff992d;\n --color-successA-5: #2bffa23c;\n --color-successA-6: #44ffaa4b;\n --color-successA-7: #50fdac5e;\n --color-successA-8: #54ffad73;\n --color-successA-9: #44ffa49e;\n --color-successA-10: #43fea4ab;\n --color-successA-11: #46fea5d4;\n --color-successA-12: #bbffd7f0;\n\n --color-warning-1: #16120c;\n --color-warning-2: #1d180f;\n --color-warning-3: #302008;\n --color-warning-4: #3f2700;\n --color-warning-5: #4d3000;\n --color-warning-6: #5c3d05;\n --color-warning-7: #714f19;\n --color-warning-8: #8f6424;\n --color-warning-9: #f5d90a;\n --color-warning-10: #ffef5c;\n --color-warning-11: #f0c000;\n --color-warning-12: #fffad1;\n\n --color-warningA-1: #d1510004;\n --color-warningA-2: #f9b4000b;\n --color-warningA-3: #ffaa001e;\n --color-warningA-4: #fdb70028;\n --color-warningA-5: #febb0036;\n --color-warningA-6: #fec40046;\n --color-warningA-7: #fdcb225c;\n --color-warningA-8: #fdca327b;\n --color-warningA-9: #ffe629;\n --color-warningA-10: #ffff57;\n --color-warningA-11: #fee949f5;\n --color-warningA-12: #fef6baf6;\n\n --color-info-1: #0d1520;\n --color-info-2: #111927;\n --color-info-3: #0d2847;\n --color-info-4: #003362;\n --color-info-5: #004074;\n --color-info-6: #104d87;\n --color-info-7: #205d9e;\n --color-info-8: #2870bd;\n --color-info-9: #0090ff;\n --color-info-10: #3b9eff;\n --color-info-11: #70b8ff;\n --color-info-12: #c2e6ff;\n\n --color-infoA-1: #004df211;\n --color-infoA-2: #1166fb18;\n --color-infoA-3: #0077ff3a;\n --color-infoA-4: #0075ff57;\n --color-infoA-5: #0081fd6b;\n --color-infoA-6: #0f89fd7f;\n --color-infoA-7: #2a91fe98;\n --color-infoA-8: #3094feb9;\n --color-infoA-9: #0090ff;\n --color-infoA-10: #3b9eff;\n --color-infoA-11: #70b8ff;\n --color-infoA-12: #c2e6ff;\n\n --text-xxs: 0.625rem;\n --text-10xl: 10rem;\n --text-11xl: 12rem;\n --text-12xl: 14rem;\n --text-13xl: 16rem;\n}\n\n@theme {\n --radius: 0.5rem;\n --radius-xxs: calc(var(--radius) * 0.25);\n --radius-xs: calc(var(--radius) * 0.375);\n --radius-sm: calc(var(--radius) * 0.625);\n --radius-md: calc(var(--radius) * 0.875);\n --radius-lg: calc(var(--radius) * 1.25);\n --radius-xl: calc(var(--radius) * 1.75);\n --radius-2xl: calc(var(--radius) * 2.5);\n --radius-3xl: calc(var(--radius) * 3.5);\n\n --typo-header-font: 'geist', sans-serif;\n --typo-header-weight: 600;\n --typo-header-tracking: 0.025em;\n --typo-header-leading: 1;\n\n --typo-label-font: 'geist', sans-serif;\n --typo-label-weight: 500;\n --typo-label-tracking: 0.025em;\n --typo-label-leading: 1;\n\n --typo-body-font: 'geist', sans-serif;\n --typo-body-weight: 400;\n --typo-body-tracking: 0.025em;\n --typo-body-leading: 1.375;\n\n --typo-code-font: 'geist-mono', monospace;\n --typo-code-weight: 500;\n --typo-code-tracking: 0;\n --typo-code-leading: 1.5;\n\n --typo-scale-factor: 1;\n\n --shadow-xs-color: var(--color-neutral-9);\n --shadow-xs-offsetX: 0px;\n --shadow-xs-offsetY: 0px;\n --shadow-xs-blur: 2px;\n --shadow-xs-spread: 0px;\n --shadow-xs-opacity: 5%;\n --shadow-xs: var(--shadow-xs-offsetX) var(--shadow-xs-offsetY) var(--shadow-xs-blur) var(--shadow-xs-spread) color-mix(in srgb, var(--shadow-xs-color) var(--shadow-xs-opacity), transparent);\n\n --shadow-s-color: var(--color-neutral-9);\n --shadow-s-offsetX: 0px;\n --shadow-s-offsetY: 0px;\n --shadow-s-blur: 4px;\n --shadow-s-spread: 0px;\n --shadow-s-opacity: 10%;\n --shadow-s: var(--shadow-s-offsetX) var(--shadow-s-offsetY) var(--shadow-s-blur) var(--shadow-s-spread) color-mix(in srgb, var(--shadow-s-color) var(--shadow-s-opacity), transparent);\n\n --shadow-m-color: var(--color-neutral-9);\n --shadow-m-offsetX: 0px;\n --shadow-m-offsetY: 0px;\n --shadow-m-blur: 8px;\n --shadow-m-spread: -1px;\n --shadow-m-opacity: 15%;\n --shadow-m: var(--shadow-m-offsetX) var(--shadow-m-offsetY) var(--shadow-m-blur) var(--shadow-m-spread) color-mix(in srgb, var(--shadow-m-color) var(--shadow-m-opacity), transparent);\n\n --shadow-l-color: var(--color-neutral-9);\n --shadow-l-offsetX: 0px;\n --shadow-l-offsetY: 0px;\n --shadow-l-blur: 16px;\n --shadow-l-spread: -2px;\n --shadow-l-opacity: 20%;\n --shadow-l: var(--shadow-l-offsetX) var(--shadow-l-offsetY) var(--shadow-l-blur) var(--shadow-l-spread) color-mix(in srgb, var(--shadow-l-color) var(--shadow-l-opacity), transparent);\n\n --shadow-xl-color: var(--color-neutral-9);\n --shadow-xl-offsetX: 0px;\n --shadow-xl-offsetY: 0px;\n --shadow-xl-blur: 40px;\n --shadow-xl-spread: -8px;\n --shadow-xl-opacity: 30%;\n --shadow-xl: var(--shadow-xl-offsetX) var(--shadow-xl-offsetY) var(--shadow-xl-blur) var(--shadow-xl-spread) color-mix(in srgb, var(--shadow-xl-color) var(--shadow-xl-opacity), transparent);\n}\n\n@utility typo-weight-100 {\n @apply font-thin;\n}\n\n@utility typo-weight-200 {\n @apply font-extralight;\n}\n\n@utility typo-weight-300 {\n @apply font-light;\n}\n\n@utility typo-weight-400 {\n @apply font-normal;\n}\n\n@utility typo-weight-500 {\n @apply font-medium;\n}\n\n@utility typo-weight-600 {\n @apply font-semibold;\n}\n\n@utility typo-weight-700 {\n @apply font-bold;\n}\n\n@utility typo-weight-800 {\n @apply font-extrabold;\n}\n\n@utility typo-weight-900 {\n @apply font-black;\n}\n\n@utility typo-header {\n font-family: var(--typo-header-font);\n font-weight: var(--typo-header-weight);\n -webkit-font-smoothing: antialiased;\n white-space: nowrap;\n letter-spacing: var(--typo-header-tracking);\n line-height: var(--typo-header-leading);\n}\n\n@utility typo-label {\n font-family: var(--typo-label-font);\n font-weight: var(--typo-label-weight);\n -webkit-font-smoothing: antialiased;\n white-space: nowrap;\n letter-spacing: var(--typo-label-tracking);\n line-height: var(--typo-label-leading);\n}\n\n@utility typo-body {\n font-family: var(--typo-body-font);\n font-weight: var(--typo-body-weight);\n -webkit-font-smoothing: antialiased;\n text-wrap: wrap;\n letter-spacing: var(--typo-body-tracking);\n line-height: var(--typo-body-leading);\n}\n\n@utility typo-code {\n font-family: var(--typo-code-font);\n font-weight: var(--typo-code-weight);\n -webkit-font-smoothing: antialiased;\n white-space: nowrap;\n letter-spacing: var(--typo-code-tracking);\n line-height: var(--typo-code-leading);\n font-variant-numeric: tabular-nums;\n}\n\n@utility typo-1 {\n @apply typo-body;\n font-size: calc(var(--text-xxs) * var(--typo-scale-factor));\n}\n\n@utility typo-2 {\n @apply typo-body;\n font-size: calc(var(--text-xs) * var(--typo-scale-factor));\n}\n\n@utility typo-3 {\n @apply typo-body;\n font-size: calc(var(--text-sm) * var(--typo-scale-factor));\n}\n\n@utility typo-4 {\n @apply typo-body;\n font-size: calc(var(--text-base) * var(--typo-scale-factor));\n}\n\n@utility typo-5 {\n @apply typo-body;\n font-size: calc(var(--text-lg) * var(--typo-scale-factor));\n}\n\n@utility typo-6 {\n @apply typo-body;\n font-size: calc(var(--text-xl) * var(--typo-scale-factor));\n}\n\n@utility typo-7 {\n @apply typo-body;\n font-size: calc(var(--text-2xl) * var(--typo-scale-factor));\n}\n\n@utility typo-8 {\n @apply typo-body;\n font-size: calc(var(--text-3xl) * var(--typo-scale-factor));\n}\n\n@utility typo-9 {\n @apply typo-body;\n font-size: calc(var(--text-4xl) * var(--typo-scale-factor));\n}\n\n@utility typo-10 {\n @apply typo-body;\n font-size: calc(var(--text-5xl) * var(--typo-scale-factor));\n}\n\n@utility typo-11 {\n @apply typo-body;\n font-size: calc(var(--text-6xl) * var(--typo-scale-factor));\n}\n\n@utility typo-12 {\n @apply typo-body;\n font-size: calc(var(--text-7xl) * var(--typo-scale-factor));\n}\n\n@utility typo-13 {\n @apply typo-body;\n font-size: calc(var(--text-8xl) * var(--typo-scale-factor));\n}\n\n@utility typo-14 {\n @apply typo-body;\n font-size: calc(var(--text-9xl) * var(--typo-scale-factor));\n}\n\n@utility typo-15 {\n @apply typo-body;\n font-size: calc(var(--text-10xl) * var(--typo-scale-factor));\n}\n\n@utility typo-16 {\n @apply typo-body;\n font-size: calc(var(--text-11xl) * var(--typo-scale-factor));\n}\n\n@utility typo-17 {\n @apply typo-body;\n font-size: calc(var(--text-12xl) * var(--typo-scale-factor));\n}\n\n@utility typo-18 {\n @apply typo-body;\n font-size: calc(var(--text-13xl) * var(--typo-scale-factor));\n}\n\n@utility filter-none {\n filter: none;\n}\n\n@utility flex-col-center {\n @apply flex flex-col justify-center items-center align-middle;\n}\n\n@utility grid-hor-center {\n @apply grid grid-flow-col items-center;\n}\n\n@utility grid-ver-center {\n @apply grid grid-flow-row items-center;\n}\n\n@utility flex-row-center {\n @apply flex flex-row justify-center items-center align-middle;\n}\n\n@utility cs-border-dashed {\n @apply border border-dashed border-neutralA-4;\n}\n\n@utility cs-disabled {\n @apply disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50;\n }\n\n@utility cs-has-disabled {\n @apply has-[[data-slot=control]:disabled]:pointer-events-none has-[[data-slot=control]:disabled]:opacity-50;\n}\n\n@utility cs-transition {\n @apply transition-all duration-200 ease-in-out;\n}\n\n@utility cs-contrast {\n @apply drop-shadow-[0_-1px_1px_#fff4];\n}\n\n@utility cs-popup-animation {\n @apply origin-(--transform-origin) transition-[scale,opacity] duration-[0.25s] ease-[cubic-bezier(0.34,1.56,0.64,1)] data-starting-style:scale-90 data-starting-style:opacity-0 data-ending-style:scale-90 data-ending-style:opacity-0 data-instant:transition-none;\n}\n\n@utility cs-focus {\n @apply outline-none focus-visible:duration-0 focus-visible:outline-solid focus-visible:z-1 focus-visible:ring-[3px] focus-visible:ring-accent-4 focus-visible:outline-1 focus-visible:-outline-offset-1 focus-visible:outline-accent-9; \n}\n\n@utility cs-has-focus {\n @apply has-[[data-slot=control]:focus-visible]:z-1 has-[[data-slot=control]:focus-visible]:ring-[3px] has-[[data-slot=control]:focus-visible]:ring-accent-4 has-[[data-slot=control]:focus-visible]:outline-1 has-[[data-slot=control]:focus-visible]:outline-solid has-[[data-slot=control]:focus-visible]:-outline-offset-1 has-[[data-slot=control]:focus-visible]:outline-accent-9;\n}\n\n@utility cs-invalid {\n @apply aria-invalid:ring-3 aria-invalid:ring-error-6 aria-invalid:border-error-9 focus-visible:aria-invalid:ring-error-4 focus-visible:aria-invalid:outline-error-9;\n}\n\n@utility cs-has-invalid {\n @apply has-[[data-slot=control][aria-invalid=true]]:ring-3 has-[[data-slot=control][aria-invalid=true]]:ring-error-6 has-[[data-slot=control][aria-invalid=true]]:border-error-9 has-[[data-slot=control][aria-invalid=true]:focus-visible]:ring-error-4 has-[[data-slot=control][aria-invalid=true]:focus-visible]:outline-error-9;\n}\n\n@utility cs-steps {\n counter-reset: step;\n}\n\n@utility cs-step {\n &::before {\n --tw-content: counter(step);\n content: var(--tw-content);\n counter-increment: step;\n }\n}\n\n@utility cs-masonry {\n columns: 3;\n & > * {\n break-inside: avoid-column;\n }\n}\n\n@utility cs-stroke {\n -webkit-text-stroke-width: var(--stroke-w, 2px);\n -webkit-text-stroke-color: var(--stroke-color, var(--color-neutral-12));\n color: transparent;\n paint-order: stroke fill;\n}\n\n@utility cs-backdrop-panel {\n @apply rounded-md border-neutralA-4 bg-neutral-1/60 text-neutral-11 backdrop-blur-lg border shadow-m;\n }\n\n@utility animate-collapsible-down {\n animation: collapsible-down 0.2s ease-out;\n}\n\n@utility animate-collapsible-up {\n animation: collapsible-up 0.2s ease-out;\n}\n\n@utility no-scrollbar {\n @apply [scrollbar-width:none] [&::-webkit-scrollbar]:hidden;\n}\n\n@utility cs-gutter {\n background: repeating-linear-gradient(315deg, var(--color-neutral-3) 0 1px, transparent 1px 50%);\n background-size: 10px 10px;\n background-attachment: fixed;\n}\n\n@keyframes stripes {\n from { background-position: 0 0; }\n to { background-position: 16px 0; }\n}\n\n@utility cs-stripes {\n background-image: repeating-linear-gradient(315deg, var(--color-neutralA-4) 0 4px, transparent 2px 50%);\n background-size: 16px 16px;\n animation: stripes 0.6s linear infinite;\n}\n\n@utility cs-guides {\n overflow: clip;\n isolation: isolate;\n\n & > * {\n position: relative;\n z-index: 0;\n\n &::after {\n content: '';\n position: absolute;\n left: 0;\n right: -1px;\n top: -9999px;\n bottom: -9999px;\n border-left: 1px solid var(--color-neutral-4);\n border-right: 1px solid var(--color-neutral-4);\n pointer-events: none;\n z-index: 1;\n }\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: -1px;\n left: -9999px;\n right: -9999px;\n border-top: 1px solid var(--color-neutral-4);\n border-bottom: 1px solid var(--color-neutral-4);\n pointer-events: none;\n z-index: 1;\n }\n }\n}\n\n@utility cs-page-container {\n @apply grid grid-cols-[1fr_minmax(0,var(--page-max-w,64rem))_1fr];\n}\n\n@utility cs-page-grid {\n position: relative;\n max-width: var(--page-max-w, 64rem);\n width: 100%;\n margin-inline: auto;\n border-inline: 1px solid var(--color-neutral-4);\n\n & > :where(*) {\n position: relative;\n\n &::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: -100vw;\n width: 200vw;\n height: 1px;\n background-color: var(--color-neutral-4);\n pointer-events: none;\n }\n }\n\n & > :where(*:first-child)::before {\n content: '';\n position: absolute;\n top: 0;\n left: -100vw;\n width: 200vw;\n height: 1px;\n background-color: var(--color-neutral-4);\n pointer-events: none;\n }\n}\n\n@utility cs-page-gutter {\n &::before, &::after {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n width: var(--page-gutter-w, 2.5rem);\n pointer-events: none;\n background: repeating-linear-gradient(315deg, var(--color-neutral-3) 0 1px, transparent 1px 50%);\n background-size: 10px 10px;\n background-attachment: fixed;\n }\n\n &::before {\n right: 100%;\n border-left: 1px solid var(--color-neutral-4);\n }\n\n &::after {\n left: 100%;\n border-right: 1px solid var(--color-neutral-4);\n }\n}\n\n@layer base {\n\n * {\n @apply transition-colors duration-200;\n }\n\n body {\n color: var(--color-neutral-12);\n background-color: var(--color-neutral-1);\n }\n\n\n @font-face {\n font-family: 'geist';\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-mono';\n font-weight: 100 900;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-mono.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-circle';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-circle.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-grid';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-grid.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-line';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-line.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-square';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-square.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'geist-pixel-triangle';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/geist-pixel-triangle.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'clash-grotesk-variable';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/clash-grotesk-variable.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'nippo';\n font-weight: 200 700;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/nippo.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'being';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/being.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'Aalto';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/aalto.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'humane-variable';\n font-weight: 200 800;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/humane-variable.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'general-sans';\n font-weight: 200 800;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/general-sans.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'karmatic-arcade-regular';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/karmatic-arcade-regular.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'kode-mono-vf';\n font-style: normal;\n font-weight: 400 700;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/kode-mono-vf.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'digital-7-mono';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/digital-7-mono.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'pixelony';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/pixelony.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'unknown';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 140%;\n src: url(https://cdn.digo-labs.com/fonts/unknown.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'benzol';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/benzol.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'half';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/half.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'miratrix';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/miratrix.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'triakis';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/triakis.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'yeager';\n font-weight: 400;\n font-style: normal;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/yeager.otf) format('opentype');\n }\n\n @font-face {\n font-family: 'disket';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/disket.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'heming';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/heming.ttf) format('truetype');\n }\n\n @font-face {\n font-family: 'obrazec';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n size-adjust: 100%;\n src: url(https://cdn.digo-labs.com/fonts/obrazec.ttf) format('truetype');\n }\n \n}\n\n@layer utilities {\n * {\n scrollbar-width: thin;\n scrollbar-color: #ffffff50 transparent;\n }\n}\n\n@layer base {\n ::selection {\n background-color: var(--color-neutral-12);\n color: var(--color-neutral-1);\n }\n\n ::-moz-selection {\n background-color: var(--color-neutral-12);\n color: var(--color-neutral-1);\n }\n}", x = /--font-([\w-]+):\s*'([^']+)'/g, S = /* @__PURE__ */ new Map(), C; (C = x.exec(b)) !== null;) {
2036
+ let e = `--font-${C[1]}`, t = C[2];
2037
+ S.set(t.toLowerCase(), e);
2038
+ }
2039
+ for (var w = /@font-face\s*\{[^}]*?font-family:\s*'([^']+)'[^}]*?font-weight:\s*([\d\s]+)[^}]*?font-style:\s*(\w+)[^}]*?src:\s*url\([^)]*?\/fonts\/([^)]+)\)\s*format\('(\w+)'\)[^}]*?\}/gs, T = [], E; (E = w.exec(b)) !== null;) {
2040
+ let e = E[1], t = E[2].trim(), n = E[3], r = E[4], i = E[5] === "truetype" ? "ttf" : "otf", a = t.split(/\s+/).map(Number), o = Math.min(...a), s = Math.max(...a);
2041
+ T.push({
2042
+ family: e,
2043
+ weightMin: o,
2044
+ weightMax: s,
2045
+ style: n,
2046
+ format: i,
2047
+ filePath: `/fonts/${r}`,
2048
+ fileName: r,
2049
+ cssVariable: S.get(e.toLowerCase()) ?? null
2050
+ });
2051
+ }
2052
+ T.sort((e, t) => e.family.localeCompare(t.family));
2053
+ var D = T, O = {
2054
+ digoLogo: "https://cdn.digo-labs.com/images/digo-logo.png",
2055
+ digoLogoSvg: "https://cdn.digo-labs.com/images/digo-logo.svg",
2056
+ pcLogoV1Svg: "https://cdn.digo-labs.com/images/pc-logo-v1.svg",
2057
+ pcLogo3d: "https://cdn.digo-labs.com/images/pc-logo-3d.png",
2058
+ userPlaceholder: "https://cdn.digo-labs.com/images/user-placeholder.png"
2059
+ }, k = {}, A = class {
2060
+ static setValue(e, t) {
2061
+ sessionStorage.setItem(e, JSON.stringify(t));
2062
+ }
2063
+ static loadValue(e, t) {
2064
+ let n = sessionStorage.getItem(e);
2065
+ if (!n || n === "undefined") return t;
2066
+ try {
2067
+ return JSON.parse(n);
2068
+ } catch {
2069
+ return t;
2070
+ }
2071
+ }
2072
+ }, j = {
2073
+ aiText: "text",
2074
+ dmxSend: "dmx-send",
2075
+ storagePresignUpload: "storage-presign-upload",
2076
+ storagePresignDownload: "storage-presign-download",
2077
+ storageList: "storage-list",
2078
+ storageDelete: "storage-delete",
2079
+ databaseGetAll: "database-get-all",
2080
+ databaseGet: "database-get",
2081
+ databaseGetBy: "database-get-by",
2082
+ databaseCreate: "database-create",
2083
+ databaseUpdate: "database-update",
2084
+ databaseDelete: "database-delete",
2085
+ refreshSchemas: "refresh-schemas"
2086
+ }, M = class {
2087
+ static hashCode(e) {
2088
+ return [...e].reduce((e, t) => Math.imul(31, e) + t.charCodeAt(0) | 0, 0);
2089
+ }
2090
+ static compress(e) {
2091
+ return a.compress(e);
2092
+ }
2093
+ static compressToBase64(e) {
2094
+ return a.compressToBase64(e);
2095
+ }
2096
+ static compressToUint8Array(e) {
2097
+ return a.compressToUint8Array(e);
2098
+ }
2099
+ static decompress(e) {
2100
+ return a.decompress(e);
2101
+ }
2102
+ static decompressFromBase64(e) {
2103
+ return a.decompressFromBase64(e);
2104
+ }
2105
+ static decompressFromUint8Array(e) {
2106
+ return a.decompressFromUint8Array(e);
2107
+ }
2108
+ static blobToBase64(e) {
2109
+ return s(e);
2110
+ }
2111
+ static base64ToBlob(e) {
2112
+ return o(e);
2113
+ }
2114
+ static getFirstLetter(e) {
2115
+ return e ? e.charAt(0).toUpperCase() : "X";
2116
+ }
2117
+ }, N = {
2118
+ digo: "Digo",
2119
+ refresh: "Refresh",
2120
+ code: "Code",
2121
+ score: "Score",
2122
+ preview: "Preview",
2123
+ weights: "Weights",
2124
+ examples: "Examples",
2125
+ typography: "Typography",
2126
+ sizes: "Sizes",
2127
+ icons: "Icons",
2128
+ neutral: "Neutral",
2129
+ info: "Info",
2130
+ selected: "Selected",
2131
+ noneSelected: "None selected",
2132
+ highlights: "Highlights",
2133
+ shadows: "Shadows",
2134
+ color: "Color",
2135
+ untitled: "Untitled",
2136
+ columns: "Columns",
2137
+ save: "Save",
2138
+ accent: "Accent",
2139
+ applying: "Applying",
2140
+ viewing: "Viewing",
2141
+ clearMessages: "Clear messages",
2142
+ clearNextMessages: "Clear next messages",
2143
+ apply: "Apply",
2144
+ import: "Import",
2145
+ search: "Search...",
2146
+ where: "Where",
2147
+ noTimeArray: "No time array",
2148
+ success: "Success",
2149
+ error: "Error",
2150
+ warning: "Warning",
2151
+ attach: "Attach",
2152
+ attachImage: "Attach Image",
2153
+ actions: "Actions",
2154
+ addNewColumn: "Add new column",
2155
+ addNewRow: "Add new row",
2156
+ addFilter: "Add filter",
2157
+ addSort: "Add sort",
2158
+ applySorting: "Apply sorting",
2159
+ applyFilters: "Apply filters",
2160
+ filter: "Filter",
2161
+ sort: "Sort",
2162
+ resetFilters: "Reset filters",
2163
+ resetSorting: "Reset sorting",
2164
+ description: "Description",
2165
+ name: "Name",
2166
+ loremIpsumSmall: "Lorem ipsum dolor sit amet.",
2167
+ loremIpsumMedium: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam nec purus ac libero vehicula ultricies.",
2168
+ loremIpsumLong: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam nec purus ac libero vehicula ultricies. Nulla facilisi. Sed nec nisl in turpis tincidunt tincidunt. Nulla facilisi. Sed nec nisl in turpis tincidunt tincidunt.",
2169
+ selectAgent: "Select Agent",
2170
+ selectModel: "Select Model",
2171
+ sendPrompt: "Send Prompt",
2172
+ view: "View",
2173
+ toggleColumns: "Toggle columns",
2174
+ toggleOpen: "Toggle open",
2175
+ reset: "Reset",
2176
+ noResultsFound: "No results found.",
2177
+ clearFilters: "Clear filters",
2178
+ rowsPerPage: "Rows per page",
2179
+ id: "Id",
2180
+ noSortsTitle: "No sorts apply to this view",
2181
+ noSortsDescription: "Add a column below to sort the view",
2182
+ noFiltersTitle: "No filters apply to this view",
2183
+ noFiltersDescription: "Add a column below to filter the view",
2184
+ defaultValue: "Default value",
2185
+ default: "Default",
2186
+ stepDuration: "Step duration (ms)",
2187
+ min: "Min",
2188
+ max: "Max",
2189
+ icon: "Icon",
2190
+ step: "Step",
2191
+ decimals: "Decimals",
2192
+ units: "Units",
2193
+ play: "Play",
2194
+ pause: "Pause",
2195
+ next: "Next",
2196
+ previous: "Previous",
2197
+ loop: "Loop",
2198
+ rewind: "Rewind",
2199
+ forward: "Forward",
2200
+ start: "Start",
2201
+ emptyCode: "Select a file to view its content",
2202
+ generate: "Generate",
2203
+ savePreset: "Save Preset",
2204
+ image: "Image"
2205
+ }, P = [
2206
+ {
2207
+ id: "us.anthropic.claude-haiku-4-5-20251001-v1:0",
2208
+ provider: "Anthropic",
2209
+ name: "Claude Haiku",
2210
+ version: "4.5",
2211
+ description: "Fastest and cheapest, good for short replies."
2212
+ },
2213
+ {
2214
+ id: "us.anthropic.claude-sonnet-4-6",
2215
+ provider: "Anthropic",
2216
+ name: "Claude Sonnet",
2217
+ version: "4.6",
2218
+ description: "Balanced quality and speed for most tasks."
2219
+ },
2220
+ {
2221
+ id: "us.anthropic.claude-opus-4-7",
2222
+ provider: "Anthropic",
2223
+ name: "Claude Opus",
2224
+ version: "4.7",
2225
+ description: "Highest quality, slower and more expensive."
2226
+ },
2227
+ {
2228
+ id: "us.amazon.nova-micro-v1:0",
2229
+ provider: "Amazon",
2230
+ name: "Nova Micro",
2231
+ version: "1",
2232
+ description: "Text-only, extremely fast and cheap."
2233
+ },
2234
+ {
2235
+ id: "us.amazon.nova-lite-v1:0",
2236
+ provider: "Amazon",
2237
+ name: "Nova Lite",
2238
+ version: "1",
2239
+ description: "Fast multimodal with image and video input."
2240
+ },
2241
+ {
2242
+ id: "us.amazon.nova-pro-v1:0",
2243
+ provider: "Amazon",
2244
+ name: "Nova Pro",
2245
+ version: "1",
2246
+ description: "Higher-quality multimodal, slower than Lite."
2247
+ }
2248
+ ], F = P[0].id, I = c.object({
2249
+ type: c.literal("text"),
2250
+ text: c.string()
2251
+ }), L = c.object({
2252
+ type: c.literal("image"),
2253
+ source: c.object({
2254
+ base64: c.string(),
2255
+ mediaType: c.string()
2256
+ })
2257
+ }), R = c.union([c.string(), c.array(c.union([I, L]))]), z = c.object({
2258
+ role: c.enum(["user", "assistant"]),
2259
+ content: R
2260
+ }), B = c.object({
2261
+ model: c.string().optional(),
2262
+ messages: c.array(z).min(1),
2263
+ systemPrompt: c.string().optional(),
2264
+ temperature: c.number().min(0).max(2).optional(),
2265
+ maxTokens: c.number().int().positive().optional(),
2266
+ stopSequences: c.array(c.string()).optional(),
2267
+ providerOptions: c.record(c.string(), c.record(c.string(), c.any())).optional()
2268
+ }), V = c.object({
2269
+ channel: c.number().int().min(1).max(512),
2270
+ value: c.number().int().min(0).max(255)
2271
+ }), H = c.object({ success: c.boolean() }), U = c.string().min(1), W = c.union([
2272
+ c.string(),
2273
+ c.number(),
2274
+ c.boolean(),
2275
+ c.null()
2276
+ ]), G = c.record(c.string(), c.unknown()), K = c.object({
2277
+ table: U,
2278
+ limit: c.number().int().positive().optional(),
2279
+ offset: c.number().int().nonnegative().optional()
2280
+ }), q = c.object({ rows: c.array(G) }), J = c.object({
2281
+ table: U,
2282
+ pk: U,
2283
+ value: W
2284
+ }), ie = c.object({ row: G.nullable() }), Y = c.object({
2285
+ table: U,
2286
+ column: U,
2287
+ value: W
2288
+ }), ae = c.object({ rows: c.array(G) }), oe = c.object({
2289
+ table: U,
2290
+ record: G
2291
+ }), se = c.object({ row: G }), ce = c.object({
2292
+ table: U,
2293
+ pk: U,
2294
+ value: W,
2295
+ changes: G
2296
+ }), le = c.object({ success: c.boolean() }), ue = c.object({
2297
+ table: U,
2298
+ pk: U,
2299
+ value: W
2300
+ }), de = c.object({ success: c.boolean() }), fe = c.object({
2301
+ mediaType: c.string(),
2302
+ base64: c.string()
2303
+ }), pe = c.object({
2304
+ mediaType: c.string(),
2305
+ base64: c.string()
2306
+ }), me = c.string().regex(/^\d+x\d+$/).transform((e) => e), he = c.string().regex(/^\d+:\d+$/).transform((e) => e), ge = c.object({
2307
+ bucket: c.string().min(1),
2308
+ path: c.string().min(1),
2309
+ contentType: c.string().min(1),
2310
+ expiresIn: c.number().int().positive().max(604800).optional()
2311
+ }), X = c.object({
2312
+ url: c.string().url(),
2313
+ expiresAt: c.number()
2314
+ }), _e = c.object({
2315
+ bucket: c.string().min(1),
2316
+ path: c.string().min(1),
2317
+ expiresIn: c.number().int().positive().max(604800).optional()
2318
+ }), ve = X, ye = c.object({
2319
+ bucket: c.string().min(1),
2320
+ prefix: c.string().optional(),
2321
+ limit: c.number().int().positive().max(1e3).optional()
2322
+ }), Z = c.object({
2323
+ key: c.string(),
2324
+ size: c.number(),
2325
+ lastModified: c.string(),
2326
+ etag: c.string().optional()
2327
+ }), be = c.object({ objects: c.array(Z) }), xe = c.object({
2328
+ bucket: c.string().min(1),
2329
+ paths: c.array(c.string().min(1)).min(1)
2330
+ }), Q = c.object({
2331
+ success: c.boolean(),
2332
+ deleted: c.array(c.string())
2333
+ }), Se = /* @__PURE__ */ function(e) {
2334
+ return e.ANIMATED_FILM = "3D_ANIMATED_FAMILY_FILM", e.FLAT_VECTOR_ILLUSTRATION = "FLAT_VECTOR_ILLUSTRATION", e.GRAPHIC_NOVEL_ILLUSTRATION = "GRAPHIC_NOVEL_ILLUSTRATION", e.MAXIMALISM = "MAXIMALISM", e.MIDCENTURY_RETRO = "MIDCENTURY_RETRO", e.PHOTOREALISM = "PHOTOREALISM", e.SOFT_DIGITAL_PAINTING = "SOFT_DIGITAL_PAINTING", e;
2335
+ }({}), Ce = /* @__PURE__ */ function(e) {
2336
+ return e.IDENTIFY = "IDENTIFY", e.SUBSCRIBE = "SUBSCRIBE", e.UNSUBSCRIBE = "UNSUBSCRIBE", e.MESSAGE = "MESSAGE", e.STATE = "STATE", e;
2337
+ }({}), we = /* @__PURE__ */ function(e) {
2338
+ return e.MESSAGE = "MESSAGE", e.STATE = "STATE", e;
2339
+ }({}), Te = "_hub", Ee = /* @__PURE__ */ function(e) {
2340
+ return e.CONNECT = "CONNECT", e.DISCONNECT = "DISCONNECT", e.SUBSCRIBE = "SUBSCRIBE", e.UNSUBSCRIBE = "UNSUBSCRIBE", e.MESSAGE = "MESSAGE", e.STATE = "STATE", e;
2341
+ }({}), De = { pcLogo3D: "https://cdn.digo-labs.com/videos/pc-logo-3d.mp4" }, Oe = {
2342
+ aalto: "https://cdn.digo-labs.com/fonts/aalto.otf",
2343
+ being: "https://cdn.digo-labs.com/fonts/being.otf",
2344
+ benzol: "https://cdn.digo-labs.com/fonts/benzol.otf",
2345
+ clashGrotesk: "https://cdn.digo-labs.com/fonts/clash-grotesk-variable.ttf",
2346
+ digital7Mono: "https://cdn.digo-labs.com/fonts/digital-7-mono.ttf",
2347
+ disket: "https://cdn.digo-labs.com/fonts/disket.ttf",
2348
+ generalSans: "https://cdn.digo-labs.com/fonts/general-sans.ttf",
2349
+ half: "https://cdn.digo-labs.com/fonts/half.otf",
2350
+ heming: "https://cdn.digo-labs.com/fonts/heming.ttf",
2351
+ humane: "https://cdn.digo-labs.com/fonts/humane-variable.ttf",
2352
+ jersey10: "https://cdn.digo-labs.com/fonts/jersey-10-regular.ttf",
2353
+ karmaticArcade: "https://cdn.digo-labs.com/fonts/karmatic-arcade-regular.ttf",
2354
+ kodeMono: "https://cdn.digo-labs.com/fonts/kode-mono-vf.ttf",
2355
+ miratrix: "https://cdn.digo-labs.com/fonts/miratrix.otf",
2356
+ nippo: "https://cdn.digo-labs.com/fonts/nippo.ttf",
2357
+ obrazec: "https://cdn.digo-labs.com/fonts/obrazec.otf",
2358
+ pixelony: "https://cdn.digo-labs.com/fonts/pixelony.ttf",
2359
+ triakis: "https://cdn.digo-labs.com/fonts/triakis.otf",
2360
+ unknown: "https://cdn.digo-labs.com/fonts/unknown.otf",
2361
+ yeager: "https://cdn.digo-labs.com/fonts/yeager.otf",
2362
+ geist: "https://cdn.digo-labs.com/fonts/geist.ttf",
2363
+ geistMono: "https://cdn.digo-labs.com/fonts/geist-mono.ttf"
2004
2364
  };
2005
- //# sourceMappingURL=index.js.map
2365
+ //#endregion
2366
+ //#region src/utils.ts
2367
+ async function $(e) {
2368
+ try {
2369
+ return [await e, null];
2370
+ } catch (e) {
2371
+ return [null, e];
2372
+ }
2373
+ }
2374
+ function ke(...e) {
2375
+ return te(ee(e));
2376
+ }
2377
+ //#endregion
2378
+ //#region src/samples.ts
2379
+ var Ae = [
2380
+ "New York",
2381
+ "Tokyo",
2382
+ "Paris",
2383
+ "London",
2384
+ "Barcelona",
2385
+ "Berlin",
2386
+ "Amsterdam",
2387
+ "Sydney",
2388
+ "São Paulo",
2389
+ "Mumbai",
2390
+ "Dubai",
2391
+ "Singapore",
2392
+ "Hong Kong",
2393
+ "Rome",
2394
+ "Vienna",
2395
+ "Prague",
2396
+ "Lisbon",
2397
+ "Stockholm",
2398
+ "Seoul",
2399
+ "Istanbul",
2400
+ "Buenos Aires",
2401
+ "Cairo",
2402
+ "Mexico City",
2403
+ "Oslo",
2404
+ "Zürich"
2405
+ ], je = [
2406
+ "The quick brown fox jumps over the lazy dog.",
2407
+ "Pack my box with five dozen liquor jugs.",
2408
+ "How vexingly quick daft zebras jump.",
2409
+ "Sphinx of black quartz, judge my vow.",
2410
+ "The five boxing wizards jump quickly.",
2411
+ "Bright vixens jump dozing fowl quack.",
2412
+ "Jackdaws love my big sphinx of quartz.",
2413
+ "Sixty zippers were quickly picked from the woven jute bag.",
2414
+ "We promptly judged antique ivory buckles for the next prize.",
2415
+ "A mad boxer shot a quick, gloved jab to the jaw of his dizzy opponent."
2416
+ ], Me = { monorepo: { trustedOrigins: [
2417
+ "http://localhost:*",
2418
+ "http://127.0.0.1:*",
2419
+ "https://*.digo-labs.com"
2420
+ ] } };
2421
+ //#endregion
2422
+ export { g as AI_MODELS, Me as AUTH_PROJECTS, h as AWS_DEFAULT_REGION, ne as AppConfigHelpers, u as BACKEND_URL, P as BEDROCK_MODELS, Se as BedrockStyle, Ae as CITIES, l as CommonHelpers, F as DEFAULT_TEXT_MODEL, f as DIGO_ADMIN_SECRET, d as DIGO_HEADERS, p as DIGO_STORAGE_BUCKET_SUFFIX, je as EXCERPTS, Oe as FONTS, D as FONT_FACES, O as IMAGES, re as IconHelpers, _ as LANGUAGE_MAP, A as LocalStorage, k as MODELS, j as ROUTES, N as STRINGS, M as StringHelpers, De as VIDEOS, Te as WEBSOCKET_HUB_CHANNEL, m as WS_URL, we as WebSocketHubEvent, Ce as WebsocketClientEvent, Ee as WebsocketLogEvent, he as aspectRatioSchema, ke as cn, oe as databaseCreateBodySchema, se as databaseCreateResponseSchema, ue as databaseDeleteBodySchema, de as databaseDeleteResponseSchema, K as databaseGetAllBodySchema, q as databaseGetAllResponseSchema, J as databaseGetBodySchema, Y as databaseGetByBodySchema, ae as databaseGetByResponseSchema, ie as databaseGetResponseSchema, ce as databaseUpdateBodySchema, le as databaseUpdateResponseSchema, xe as deleteBodySchema, Q as deleteResponseSchema, V as dmxSendBodySchema, H as dmxSendResponseSchema, fe as filePayloadSchema, pe as imagePayloadSchema, ye as listBodySchema, be as listResponseSchema, _e as presignDownloadBodySchema, ve as presignDownloadResponseSchema, ge as presignUploadBodySchema, X as presignUploadResponseSchema, me as sizeFormattedSchema, Z as storageObjectSchema, B as textBodySchema, z as textMessageSchema, $ as tryCatch };
2423
+
2424
+ //# sourceMappingURL=index.js.map