@agent-native/toolkit 0.20.8 → 0.21.0-nightly-20260925012751
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/agent-native.eject.json +30 -0
- package/dist/composer/TiptapComposer.d.ts.map +1 -1
- package/dist/composer/TiptapComposer.js +101 -59
- package/dist/composer/TiptapComposer.js.map +1 -1
- package/dist/composer/TiptapComposer.spec.js +102 -10
- package/dist/composer/TiptapComposer.spec.js.map +1 -1
- package/dist/icons/ResourceIcon.d.ts +14 -0
- package/dist/icons/ResourceIcon.d.ts.map +1 -0
- package/dist/icons/ResourceIcon.js +43 -0
- package/dist/icons/ResourceIcon.js.map +1 -0
- package/dist/icons/ResourceIcon.spec.d.ts +2 -0
- package/dist/icons/ResourceIcon.spec.d.ts.map +1 -0
- package/dist/icons/ResourceIcon.spec.js +23 -0
- package/dist/icons/ResourceIcon.spec.js.map +1 -0
- package/dist/icons/ResourceIconPicker.d.ts +52 -0
- package/dist/icons/ResourceIconPicker.d.ts.map +1 -0
- package/dist/icons/ResourceIconPicker.js +344 -0
- package/dist/icons/ResourceIconPicker.js.map +1 -0
- package/dist/icons/catalog.d.ts +17 -0
- package/dist/icons/catalog.d.ts.map +1 -0
- package/dist/icons/catalog.js +114 -0
- package/dist/icons/catalog.js.map +1 -0
- package/dist/icons/catalog.spec.d.ts +2 -0
- package/dist/icons/catalog.spec.d.ts.map +1 -0
- package/dist/icons/catalog.spec.js +29 -0
- package/dist/icons/catalog.spec.js.map +1 -0
- package/dist/icons/emoji-catalog.d.ts +12 -0
- package/dist/icons/emoji-catalog.d.ts.map +1 -0
- package/dist/icons/emoji-catalog.js +59 -0
- package/dist/icons/emoji-catalog.js.map +1 -0
- package/dist/icons/emoji-catalog.spec.d.ts +2 -0
- package/dist/icons/emoji-catalog.spec.d.ts.map +1 -0
- package/dist/icons/emoji-catalog.spec.js +29 -0
- package/dist/icons/emoji-catalog.spec.js.map +1 -0
- package/dist/icons/icon-colors.d.ts +3 -0
- package/dist/icons/icon-colors.d.ts.map +1 -0
- package/dist/icons/icon-colors.js +12 -0
- package/dist/icons/icon-colors.js.map +1 -0
- package/dist/icons/icon-persistence.spec.d.ts +2 -0
- package/dist/icons/icon-persistence.spec.d.ts.map +1 -0
- package/dist/icons/icon-persistence.spec.js +38 -0
- package/dist/icons/icon-persistence.spec.js.map +1 -0
- package/dist/icons/index.d.ts +5 -0
- package/dist/icons/index.d.ts.map +1 -0
- package/dist/icons/index.js +5 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/icons/recents.d.ts +6 -0
- package/dist/icons/recents.d.ts.map +1 -0
- package/dist/icons/recents.js +23 -0
- package/dist/icons/recents.js.map +1 -0
- package/dist/icons/recents.spec.d.ts +2 -0
- package/dist/icons/recents.spec.d.ts.map +1 -0
- package/dist/icons/recents.spec.js +29 -0
- package/dist/icons/recents.spec.js.map +1 -0
- package/dist/icons/server.d.ts +7 -0
- package/dist/icons/server.d.ts.map +1 -0
- package/dist/icons/server.js +25 -0
- package/dist/icons/server.js.map +1 -0
- package/dist/icons/tabler-catalog-data.d.ts +31 -0
- package/dist/icons/tabler-catalog-data.d.ts.map +1 -0
- package/dist/icons/tabler-catalog-data.js +30121 -0
- package/dist/icons/tabler-catalog-data.js.map +1 -0
- package/dist/icons/tabler-chunk-loaders.d.ts +30 -0
- package/dist/icons/tabler-chunk-loaders.d.ts.map +1 -0
- package/dist/icons/tabler-chunk-loaders.js +30 -0
- package/dist/icons/tabler-chunk-loaders.js.map +1 -0
- package/dist/icons/tabler-chunks/a.d.ts +450 -0
- package/dist/icons/tabler-chunks/a.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/a.js +451 -0
- package/dist/icons/tabler-chunks/a.js.map +1 -0
- package/dist/icons/tabler-chunks/b.d.ts +849 -0
- package/dist/icons/tabler-chunks/b.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/b.js +850 -0
- package/dist/icons/tabler-chunks/b.js.map +1 -0
- package/dist/icons/tabler-chunks/c.d.ts +922 -0
- package/dist/icons/tabler-chunks/c.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/c.js +923 -0
- package/dist/icons/tabler-chunks/c.js.map +1 -0
- package/dist/icons/tabler-chunks/d.d.ts +380 -0
- package/dist/icons/tabler-chunks/d.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/d.js +381 -0
- package/dist/icons/tabler-chunks/d.js.map +1 -0
- package/dist/icons/tabler-chunks/e.d.ts +112 -0
- package/dist/icons/tabler-chunks/e.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/e.js +113 -0
- package/dist/icons/tabler-chunks/e.js.map +1 -0
- package/dist/icons/tabler-chunks/f.d.ts +341 -0
- package/dist/icons/tabler-chunks/f.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/f.js +342 -0
- package/dist/icons/tabler-chunks/f.js.map +1 -0
- package/dist/icons/tabler-chunks/g.d.ts +101 -0
- package/dist/icons/tabler-chunks/g.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/g.js +102 -0
- package/dist/icons/tabler-chunks/g.js.map +1 -0
- package/dist/icons/tabler-chunks/h.d.ts +276 -0
- package/dist/icons/tabler-chunks/h.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/h.js +277 -0
- package/dist/icons/tabler-chunks/h.js.map +1 -0
- package/dist/icons/tabler-chunks/i.d.ts +79 -0
- package/dist/icons/tabler-chunks/i.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/i.js +80 -0
- package/dist/icons/tabler-chunks/i.js.map +1 -0
- package/dist/icons/tabler-chunks/j.d.ts +17 -0
- package/dist/icons/tabler-chunks/j.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/j.js +18 -0
- package/dist/icons/tabler-chunks/j.js.map +1 -0
- package/dist/icons/tabler-chunks/k.d.ts +25 -0
- package/dist/icons/tabler-chunks/k.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/k.js +26 -0
- package/dist/icons/tabler-chunks/k.js.map +1 -0
- package/dist/icons/tabler-chunks/l.d.ts +298 -0
- package/dist/icons/tabler-chunks/l.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/l.js +299 -0
- package/dist/icons/tabler-chunks/l.js.map +1 -0
- package/dist/icons/tabler-chunks/m.d.ts +413 -0
- package/dist/icons/tabler-chunks/m.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/m.js +414 -0
- package/dist/icons/tabler-chunks/m.js.map +1 -0
- package/dist/icons/tabler-chunks/n.d.ts +174 -0
- package/dist/icons/tabler-chunks/n.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/n.js +175 -0
- package/dist/icons/tabler-chunks/n.js.map +1 -0
- package/dist/icons/tabler-chunks/o.d.ts +31 -0
- package/dist/icons/tabler-chunks/o.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/o.js +32 -0
- package/dist/icons/tabler-chunks/o.js.map +1 -0
- package/dist/icons/tabler-chunks/p.d.ts +374 -0
- package/dist/icons/tabler-chunks/p.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/p.js +375 -0
- package/dist/icons/tabler-chunks/p.js.map +1 -0
- package/dist/icons/tabler-chunks/q.d.ts +14 -0
- package/dist/icons/tabler-chunks/q.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/q.js +15 -0
- package/dist/icons/tabler-chunks/q.js.map +1 -0
- package/dist/icons/tabler-chunks/r.d.ts +183 -0
- package/dist/icons/tabler-chunks/r.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/r.js +184 -0
- package/dist/icons/tabler-chunks/r.js.map +1 -0
- package/dist/icons/tabler-chunks/s.d.ts +656 -0
- package/dist/icons/tabler-chunks/s.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/s.js +657 -0
- package/dist/icons/tabler-chunks/s.js.map +1 -0
- package/dist/icons/tabler-chunks/t.d.ts +242 -0
- package/dist/icons/tabler-chunks/t.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/t.js +243 -0
- package/dist/icons/tabler-chunks/t.js.map +1 -0
- package/dist/icons/tabler-chunks/u.d.ts +62 -0
- package/dist/icons/tabler-chunks/u.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/u.js +63 -0
- package/dist/icons/tabler-chunks/u.js.map +1 -0
- package/dist/icons/tabler-chunks/v.d.ts +60 -0
- package/dist/icons/tabler-chunks/v.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/v.js +61 -0
- package/dist/icons/tabler-chunks/v.js.map +1 -0
- package/dist/icons/tabler-chunks/w.d.ts +115 -0
- package/dist/icons/tabler-chunks/w.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/w.js +116 -0
- package/dist/icons/tabler-chunks/w.js.map +1 -0
- package/dist/icons/tabler-chunks/x.d.ts +18 -0
- package/dist/icons/tabler-chunks/x.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/x.js +19 -0
- package/dist/icons/tabler-chunks/x.js.map +1 -0
- package/dist/icons/tabler-chunks/y.d.ts +7 -0
- package/dist/icons/tabler-chunks/y.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/y.js +4 -0
- package/dist/icons/tabler-chunks/y.js.map +1 -0
- package/dist/icons/tabler-chunks/z.d.ts +51 -0
- package/dist/icons/tabler-chunks/z.d.ts.map +1 -0
- package/dist/icons/tabler-chunks/z.js +52 -0
- package/dist/icons/tabler-chunks/z.js.map +1 -0
- package/dist/icons/tabler-groups.d.ts +30 -0
- package/dist/icons/tabler-groups.d.ts.map +1 -0
- package/dist/icons/tabler-groups.js +65 -0
- package/dist/icons/tabler-groups.js.map +1 -0
- package/dist/icons/types.d.ts +25 -0
- package/dist/icons/types.d.ts.map +1 -0
- package/dist/icons/types.js +2 -0
- package/dist/icons/types.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/styles.css +2 -0
- package/dist/theme/resource-icons.css +24 -0
- package/package.json +11 -2
- package/src/composer/TiptapComposer.spec.ts +142 -15
- package/src/composer/TiptapComposer.tsx +109 -58
- package/src/icons/ResourceIcon.spec.tsx +38 -0
- package/src/icons/ResourceIcon.tsx +91 -0
- package/src/icons/ResourceIconPicker.tsx +812 -0
- package/src/icons/catalog.spec.ts +50 -0
- package/src/icons/catalog.ts +153 -0
- package/src/icons/emoji-catalog.spec.ts +46 -0
- package/src/icons/emoji-catalog.ts +86 -0
- package/src/icons/icon-colors.ts +13 -0
- package/src/icons/icon-persistence.spec.ts +45 -0
- package/src/icons/index.ts +4 -0
- package/src/icons/recents.spec.ts +37 -0
- package/src/icons/recents.ts +37 -0
- package/src/icons/server.tsx +53 -0
- package/src/icons/tabler-catalog-data.ts +30122 -0
- package/src/icons/tabler-chunk-loaders.ts +29 -0
- package/src/icons/tabler-chunks/a.ts +897 -0
- package/src/icons/tabler-chunks/b.ts +1695 -0
- package/src/icons/tabler-chunks/c.ts +1841 -0
- package/src/icons/tabler-chunks/d.ts +757 -0
- package/src/icons/tabler-chunks/e.ts +221 -0
- package/src/icons/tabler-chunks/f.ts +679 -0
- package/src/icons/tabler-chunks/g.ts +199 -0
- package/src/icons/tabler-chunks/h.ts +549 -0
- package/src/icons/tabler-chunks/i.ts +155 -0
- package/src/icons/tabler-chunks/j.ts +31 -0
- package/src/icons/tabler-chunks/k.ts +47 -0
- package/src/icons/tabler-chunks/l.ts +593 -0
- package/src/icons/tabler-chunks/m.ts +823 -0
- package/src/icons/tabler-chunks/n.ts +345 -0
- package/src/icons/tabler-chunks/o.ts +59 -0
- package/src/icons/tabler-chunks/p.ts +745 -0
- package/src/icons/tabler-chunks/q.ts +25 -0
- package/src/icons/tabler-chunks/r.ts +363 -0
- package/src/icons/tabler-chunks/s.ts +1309 -0
- package/src/icons/tabler-chunks/t.ts +481 -0
- package/src/icons/tabler-chunks/u.ts +121 -0
- package/src/icons/tabler-chunks/v.ts +117 -0
- package/src/icons/tabler-chunks/w.ts +227 -0
- package/src/icons/tabler-chunks/x.ts +33 -0
- package/src/icons/tabler-chunks/y.ts +3 -0
- package/src/icons/tabler-chunks/z.ts +99 -0
- package/src/icons/tabler-groups.ts +70 -0
- package/src/icons/types.ts +35 -0
- package/src/index.ts +1 -0
- package/src/styles.css +2 -0
- package/src/theme/resource-icons.css +24 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
export const EMOJI_CATEGORIES = [
|
|
2
|
+
"smileys-emotion",
|
|
3
|
+
"people-body",
|
|
4
|
+
"animals-nature",
|
|
5
|
+
"food-drink",
|
|
6
|
+
"travel-places",
|
|
7
|
+
"activities",
|
|
8
|
+
"objects",
|
|
9
|
+
"symbols",
|
|
10
|
+
"flags",
|
|
11
|
+
];
|
|
12
|
+
let emojiCatalogPromise;
|
|
13
|
+
export function loadEmojiCatalog() {
|
|
14
|
+
if (import.meta.env.SSR &&
|
|
15
|
+
import.meta.env.MODE !== "test") {
|
|
16
|
+
throw new Error("Emoji catalog is available only in the browser");
|
|
17
|
+
}
|
|
18
|
+
emojiCatalogPromise ??= import("emojibase-data/en/data.json")
|
|
19
|
+
.then((module) => {
|
|
20
|
+
const rows = (module.default ?? module);
|
|
21
|
+
return rows
|
|
22
|
+
.flatMap((row) => {
|
|
23
|
+
// Components (including regional letters) are not standalone emoji choices.
|
|
24
|
+
if (row.group === undefined ||
|
|
25
|
+
row.group === 2 ||
|
|
26
|
+
row.order === undefined) {
|
|
27
|
+
return [];
|
|
28
|
+
}
|
|
29
|
+
const category = EMOJI_CATEGORIES[row.group > 2 ? row.group - 1 : row.group];
|
|
30
|
+
if (!category)
|
|
31
|
+
throw new Error(`Unknown emoji group: ${row.group}`);
|
|
32
|
+
const variants = [row, ...(row.skins ?? [])];
|
|
33
|
+
return variants.flatMap((variant) => {
|
|
34
|
+
if (!variant.emoji)
|
|
35
|
+
return [];
|
|
36
|
+
const label = variant.label ?? row.label ?? variant.emoji;
|
|
37
|
+
return [
|
|
38
|
+
{
|
|
39
|
+
emoji: variant.emoji,
|
|
40
|
+
label,
|
|
41
|
+
search: [label, ...(row.tags ?? [])].join(" ").toLowerCase(),
|
|
42
|
+
category,
|
|
43
|
+
order: variant.order ?? row.order,
|
|
44
|
+
...(variant.tone === undefined
|
|
45
|
+
? {}
|
|
46
|
+
: { skinTone: variant.tone }),
|
|
47
|
+
},
|
|
48
|
+
];
|
|
49
|
+
});
|
|
50
|
+
})
|
|
51
|
+
.sort((left, right) => left.order - right.order);
|
|
52
|
+
})
|
|
53
|
+
.catch((error) => {
|
|
54
|
+
emojiCatalogPromise = undefined;
|
|
55
|
+
throw error;
|
|
56
|
+
});
|
|
57
|
+
return emojiCatalogPromise;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=emoji-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emoji-catalog.js","sourceRoot":"","sources":["../../src/icons/emoji-catalog.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,iBAAiB;IACjB,aAAa;IACb,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;IACT,SAAS;IACT,OAAO;CACC,CAAC;AAyBX,IAAI,mBAA6D,CAAC;AAElE,MAAM,UAAU,gBAAgB;IAC9B,IACG,OAAO,IAAuB,CAAC,GAAG,CAAC,GAAG;QACtC,OAAO,IAAuB,CAAC,GAAG,CAAC,IAAI,KAAK,MAAM,EACnD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACpE,CAAC;IACD,mBAAmB,KAAK,MAAM,CAAC,6BAA6B,CAAC;SAC1D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACf,MAAM,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAqB,CAAC;QAC5D,OAAO,IAAI;aACR,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,4EAA4E;YAC5E,IACE,GAAG,CAAC,KAAK,KAAK,SAAS;gBACvB,GAAG,CAAC,KAAK,KAAK,CAAC;gBACf,GAAG,CAAC,KAAK,KAAK,SAAS,EACvB,CAAC;gBACD,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,MAAM,QAAQ,GACZ,gBAAgB,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YAC7C,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,CAAC,KAAK;oBAAE,OAAO,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;gBAC1D,OAAO;oBACL;wBACE,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,KAAK;wBACL,MAAM,EAAE,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;wBAC5D,QAAQ;wBACR,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC,KAAM;wBAClC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,SAAS;4BAC5B,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;qBAChC;iBACF,CAAC;YACJ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACf,mBAAmB,GAAG,SAAS,CAAC;QAChC,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACL,OAAO,mBAAmB,CAAC;AAC7B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emoji-catalog.spec.d.ts","sourceRoot":"","sources":["../../src/icons/emoji-catalog.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import data from "emojibase-data/en/data.json";
|
|
2
|
+
import { describe, expect, it } from "vitest";
|
|
3
|
+
import { EMOJI_CATEGORIES, loadEmojiCatalog } from "./emoji-catalog.js";
|
|
4
|
+
describe("emoji catalog", () => {
|
|
5
|
+
it("loads the maintained dataset with joined and skin-tone sequences", async () => {
|
|
6
|
+
const catalog = await loadEmojiCatalog();
|
|
7
|
+
expect(catalog.length).toBeGreaterThan(1_000);
|
|
8
|
+
expect(catalog.some((entry) => entry.emoji.includes("\u200d"))).toBe(true);
|
|
9
|
+
expect(catalog.some((entry) => /[\u{1F3FB}-\u{1F3FF}]/u.test(entry.emoji))).toBe(true);
|
|
10
|
+
});
|
|
11
|
+
it("browses the complete Unicode catalog in group order without standalone components", async () => {
|
|
12
|
+
const catalog = await loadEmojiCatalog();
|
|
13
|
+
const expected = data
|
|
14
|
+
.filter((entry) => entry.group !== undefined &&
|
|
15
|
+
entry.group !== 2 &&
|
|
16
|
+
entry.order !== undefined)
|
|
17
|
+
.flatMap((entry) => [entry, ...(entry.skins ?? [])])
|
|
18
|
+
.map((entry) => entry.emoji);
|
|
19
|
+
expect(catalog.map((entry) => entry.emoji).sort()).toEqual(expected.sort());
|
|
20
|
+
expect(catalog[0].emoji).toBe("😀");
|
|
21
|
+
expect(catalog.some((entry) => entry.emoji === "🇦")).toBe(false);
|
|
22
|
+
expect(catalog.some((entry) => entry.emoji === "🏻")).toBe(false);
|
|
23
|
+
expect(catalog.some((entry) => entry.emoji === "🇿🇼" && entry.category === "flags")).toBe(true);
|
|
24
|
+
expect(catalog.some((entry) => entry.emoji === "👋🏽" && entry.skinTone === 3)).toBe(true);
|
|
25
|
+
expect(catalog.map((entry) => entry.order)).toEqual(catalog.map((entry) => entry.order).sort((a, b) => a - b));
|
|
26
|
+
expect(new Set(catalog.map((entry) => entry.category))).toEqual(new Set(EMOJI_CATEGORIES));
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=emoji-catalog.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emoji-catalog.spec.js","sourceRoot":"","sources":["../../src/icons/emoji-catalog.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-colors.d.ts","sourceRoot":"","sources":["../../src/icons/icon-colors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,wBAAwB,EAAE,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAUtE,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const resourceIconColorClasses = {
|
|
2
|
+
gray: "text-[var(--resource-icon-gray)]",
|
|
3
|
+
brown: "text-[var(--resource-icon-brown)]",
|
|
4
|
+
orange: "text-[var(--resource-icon-orange)]",
|
|
5
|
+
yellow: "text-[var(--resource-icon-yellow)]",
|
|
6
|
+
green: "text-[var(--resource-icon-green)]",
|
|
7
|
+
blue: "text-[var(--resource-icon-blue)]",
|
|
8
|
+
purple: "text-[var(--resource-icon-purple)]",
|
|
9
|
+
pink: "text-[var(--resource-icon-pink)]",
|
|
10
|
+
red: "text-[var(--resource-icon-red)]",
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=icon-colors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-colors.js","sourceRoot":"","sources":["../../src/icons/icon-colors.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,wBAAwB,GAAsC;IACzE,IAAI,EAAE,kCAAkC;IACxC,KAAK,EAAE,mCAAmC;IAC1C,MAAM,EAAE,oCAAoC;IAC5C,MAAM,EAAE,oCAAoC;IAC5C,KAAK,EAAE,mCAAmC;IAC1C,IAAI,EAAE,kCAAkC;IACxC,MAAM,EAAE,oCAAoC;IAC5C,IAAI,EAAE,kCAAkC;IACxC,GAAG,EAAE,iCAAiC;CACvC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-persistence.spec.d.ts","sourceRoot":"","sources":["../../src/icons/icon-persistence.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { persistedIconValue } from "./ResourceIconPicker.js";
|
|
3
|
+
describe("persistedIconValue", () => {
|
|
4
|
+
it("removes preview-only metadata before saving an uploaded image", () => {
|
|
5
|
+
const uploaded = {
|
|
6
|
+
version: 1,
|
|
7
|
+
kind: "image",
|
|
8
|
+
authority: "url",
|
|
9
|
+
assetId: "https://cdn.example.com/logo.png",
|
|
10
|
+
alt: "Team logo",
|
|
11
|
+
previewUrl: "blob:temporary-preview",
|
|
12
|
+
};
|
|
13
|
+
expect(persistedIconValue(uploaded)).toEqual({
|
|
14
|
+
version: 1,
|
|
15
|
+
kind: "image",
|
|
16
|
+
authority: "url",
|
|
17
|
+
assetId: "https://cdn.example.com/logo.png",
|
|
18
|
+
alt: "Team logo",
|
|
19
|
+
});
|
|
20
|
+
expect(uploaded.previewUrl).toBe("blob:temporary-preview");
|
|
21
|
+
});
|
|
22
|
+
it("repairs image recents saved by the previous picker", () => {
|
|
23
|
+
const recent = JSON.parse(JSON.stringify({
|
|
24
|
+
version: 1,
|
|
25
|
+
kind: "image",
|
|
26
|
+
authority: "url",
|
|
27
|
+
assetId: "https://cdn.example.com/logo.png",
|
|
28
|
+
previewUrl: "https://cdn.example.com/logo.png",
|
|
29
|
+
}));
|
|
30
|
+
expect(Object.keys(persistedIconValue(recent)).sort()).toEqual([
|
|
31
|
+
"assetId",
|
|
32
|
+
"authority",
|
|
33
|
+
"kind",
|
|
34
|
+
"version",
|
|
35
|
+
]);
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
//# sourceMappingURL=icon-persistence.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-persistence.spec.js","sourceRoot":"","sources":["../../src/icons/icon-persistence.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACvE,MAAM,QAAQ,GAAsB;YAClC,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,kCAAkC;YAC3C,GAAG,EAAE,WAAW;YAChB,UAAU,EAAE,wBAAwB;SACrC,CAAC;QAEF,MAAM,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3C,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,kCAAkC;YAC3C,GAAG,EAAE,WAAW;SACjB,CAAC,CAAC;QACH,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC5D,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,IAAI,CAAC,SAAS,CAAC;YACb,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,kCAAkC;YAC3C,UAAU,EAAE,kCAAkC;SAC/C,CAAC,CACH,CAAC;QAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC;YAC7D,SAAS;YACT,WAAW;YACX,MAAM;YACN,SAAS;SACV,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/icons/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ResourceIconValue } from "./types.js";
|
|
2
|
+
export declare const RESOURCE_ICON_RECENTS_LIMIT = 24;
|
|
3
|
+
export declare function resourceIconKey(value: ResourceIconValue): string;
|
|
4
|
+
export declare function addResourceIconRecent(recents: readonly ResourceIconValue[], value: ResourceIconValue, limit?: number): ResourceIconValue[];
|
|
5
|
+
export declare function useResourceIconRecents(recents: readonly ResourceIconValue[], onRecentsChange?: (recents: ResourceIconValue[]) => void): (value: ResourceIconValue) => void;
|
|
6
|
+
//# sourceMappingURL=recents.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recents.d.ts","sourceRoot":"","sources":["../../src/icons/recents.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,wBAAgB,eAAe,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAMhE;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,KAAK,EAAE,iBAAiB,EACxB,KAAK,SAA8B,GAClC,iBAAiB,EAAE,CAMrB;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,SAAS,iBAAiB,EAAE,EACrC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,iBAAiB,EAAE,KAAK,IAAI,WAG9C,iBAAiB,UAK5B"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export const RESOURCE_ICON_RECENTS_LIMIT = 24;
|
|
3
|
+
export function resourceIconKey(value) {
|
|
4
|
+
if (value.kind === "emoji")
|
|
5
|
+
return `emoji:${value.emoji}`;
|
|
6
|
+
if (value.kind === "library") {
|
|
7
|
+
return `library:${value.library}:${value.name}:${value.variant ?? "outline"}:${value.color ?? "default"}`;
|
|
8
|
+
}
|
|
9
|
+
return `image:${value.authority}:${value.assetId}`;
|
|
10
|
+
}
|
|
11
|
+
export function addResourceIconRecent(recents, value, limit = RESOURCE_ICON_RECENTS_LIMIT) {
|
|
12
|
+
const key = resourceIconKey(value);
|
|
13
|
+
return [
|
|
14
|
+
value,
|
|
15
|
+
...recents.filter((recent) => resourceIconKey(recent) !== key),
|
|
16
|
+
].slice(0, limit);
|
|
17
|
+
}
|
|
18
|
+
export function useResourceIconRecents(recents, onRecentsChange) {
|
|
19
|
+
return React.useCallback((value) => {
|
|
20
|
+
onRecentsChange?.(addResourceIconRecent(recents, value));
|
|
21
|
+
}, [onRecentsChange, recents]);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=recents.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recents.js","sourceRoot":"","sources":["../../src/icons/recents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAE9C,MAAM,UAAU,eAAe,CAAC,KAAwB;IACtD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO,SAAS,KAAK,CAAC,KAAK,EAAE,CAAC;IAC1D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,OAAO,WAAW,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,IAAI,SAAS,IAAI,KAAK,CAAC,KAAK,IAAI,SAAS,EAAE,CAAC;IAC5G,CAAC;IACD,OAAO,SAAS,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,OAAqC,EACrC,KAAwB,EACxB,KAAK,GAAG,2BAA2B;IAEnC,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACnC,OAAO;QACL,KAAK;QACL,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC;KAC/D,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,OAAqC,EACrC,eAAwD;IAExD,OAAO,KAAK,CAAC,WAAW,CACtB,CAAC,KAAwB,EAAE,EAAE;QAC3B,eAAe,EAAE,CAAC,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3D,CAAC,EACD,CAAC,eAAe,EAAE,OAAO,CAAC,CAC3B,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recents.spec.d.ts","sourceRoot":"","sources":["../../src/icons/recents.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { addResourceIconRecent, resourceIconKey } from "./recents.js";
|
|
3
|
+
describe("resource icon recents", () => {
|
|
4
|
+
it("deduplicates the complete value while preserving colored variants", () => {
|
|
5
|
+
const blue = {
|
|
6
|
+
version: 1,
|
|
7
|
+
kind: "library",
|
|
8
|
+
library: "tabler",
|
|
9
|
+
name: "book",
|
|
10
|
+
color: "blue",
|
|
11
|
+
};
|
|
12
|
+
const red = { ...blue, color: "red" };
|
|
13
|
+
expect(addResourceIconRecent([blue, red], blue)).toEqual([blue, red]);
|
|
14
|
+
expect(resourceIconKey(blue)).not.toBe(resourceIconKey(red));
|
|
15
|
+
});
|
|
16
|
+
it("bounds recents to 24 by default", () => {
|
|
17
|
+
const recents = Array.from({ length: 30 }, (_, index) => ({
|
|
18
|
+
version: 1,
|
|
19
|
+
kind: "emoji",
|
|
20
|
+
emoji: String(index),
|
|
21
|
+
}));
|
|
22
|
+
expect(addResourceIconRecent(recents, {
|
|
23
|
+
version: 1,
|
|
24
|
+
kind: "emoji",
|
|
25
|
+
emoji: "new",
|
|
26
|
+
})).toHaveLength(24);
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=recents.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"recents.spec.js","sourceRoot":"","sources":["../../src/icons/recents.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGtE,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,IAAI,GAAsB;YAC9B,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,QAAQ;YACjB,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,MAAM;SACd,CAAC;QACF,MAAM,GAAG,GAAsB,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QACzD,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACtE,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,OAAO,GAAwB,KAAK,CAAC,IAAI,CAC7C,EAAE,MAAM,EAAE,EAAE,EAAE,EACd,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;YACb,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;SACrB,CAAC,CACH,CAAC;QACF,MAAM,CACJ,qBAAqB,CAAC,OAAO,EAAE;YAC7B,OAAO,EAAE,CAAC;YACV,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,KAAK;SACb,CAAC,CACH,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACrB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import type { ResourceIconProps } from "./ResourceIcon.js";
|
|
3
|
+
export * from "./recents.js";
|
|
4
|
+
export * from "./types.js";
|
|
5
|
+
export declare function ResourceIcon({ value, size, fallback, label, className, resolveImageUrl, }: ResourceIconProps): string | number | bigint | boolean | React.JSX.Element | Iterable<React.ReactNode> | Promise<string | number | bigint | boolean | Iterable<React.ReactNode> | React.ReactElement<unknown, string | React.JSXElementConstructor<any>> | React.ReactPortal | null | undefined> | null;
|
|
6
|
+
export declare function ResourceIconPicker(): null;
|
|
7
|
+
//# sourceMappingURL=server.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/icons/server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAE3B,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,IAAS,EACT,QAAe,EACf,KAAK,EACL,SAAS,EACT,eAAe,GAChB,EAAE,iBAAiB,uRAiCnB;AAED,wBAAgB,kBAAkB,SAEjC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../utils.js";
|
|
3
|
+
export * from "./recents.js";
|
|
4
|
+
export * from "./types.js";
|
|
5
|
+
export function ResourceIcon({ value, size = 20, fallback = null, label, className, resolveImageUrl, }) {
|
|
6
|
+
const accessibility = label
|
|
7
|
+
? { role: "img", "aria-label": label }
|
|
8
|
+
: { "aria-hidden": true };
|
|
9
|
+
if (!value)
|
|
10
|
+
return fallback;
|
|
11
|
+
if (value.kind === "emoji") {
|
|
12
|
+
return (_jsx("span", { ...accessibility, className: cn("inline-flex shrink-0 items-center justify-center", className), style: { fontSize: size, lineHeight: 1 }, children: value.emoji }));
|
|
13
|
+
}
|
|
14
|
+
if (value.kind === "image") {
|
|
15
|
+
const src = resolveImageUrl?.(value);
|
|
16
|
+
if (!src)
|
|
17
|
+
return fallback;
|
|
18
|
+
return (_jsx("img", { src: src, alt: label ?? value.alt ?? "", className: cn("inline-block shrink-0 object-contain", className), style: { width: size, height: size } }));
|
|
19
|
+
}
|
|
20
|
+
return fallback;
|
|
21
|
+
}
|
|
22
|
+
export function ResourceIconPicker() {
|
|
23
|
+
return null;
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/icons/server.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AAGjC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAE3B,MAAM,UAAU,YAAY,CAAC,EAC3B,KAAK,EACL,IAAI,GAAG,EAAE,EACT,QAAQ,GAAG,IAAI,EACf,KAAK,EACL,SAAS,EACT,eAAe,GACG;IAClB,MAAM,aAAa,GAAG,KAAK;QACzB,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE;QACtC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAa,EAAE,CAAC;IAErC,IAAI,CAAC,KAAK;QAAE,OAAO,QAAQ,CAAC;IAC5B,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,CACL,kBACM,aAAa,EACjB,SAAS,EAAE,EAAE,CACX,kDAAkD,EAClD,SAAS,CACV,EACD,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,YAEvC,KAAK,CAAC,KAAK,GACP,CACR,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG;YAAE,OAAO,QAAQ,CAAC;QAC1B,OAAO,CACL,cACE,GAAG,EAAE,GAAG,EACR,GAAG,EAAE,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,EAAE,EAC7B,SAAS,EAAE,EAAE,CAAC,sCAAsC,EAAE,SAAS,CAAC,EAChE,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GACpC,CACH,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
MIT License
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2020-2026 Paweł Kuna
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
8
|
+
in the Software without restriction, including without limitation the rights
|
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
11
|
+
furnished to do so, subject to the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
|
14
|
+
copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
22
|
+
SOFTWARE.
|
|
23
|
+
*/
|
|
24
|
+
declare const entries: Array<[
|
|
25
|
+
name: string,
|
|
26
|
+
category: string,
|
|
27
|
+
tags: string,
|
|
28
|
+
styles: string
|
|
29
|
+
]>;
|
|
30
|
+
export default entries;
|
|
31
|
+
//# sourceMappingURL=tabler-catalog-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tabler-catalog-data.d.ts","sourceRoot":"","sources":["../../src/icons/tabler-catalog-data.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;;EAsBE;AACF,QAAA,MAAM,OAAO,EAAE,KAAK,CAClB;IAAC,IAAI,EAAE,MAAM;IAAE,QAAQ,EAAE,MAAM;IAAE,IAAI,EAAE,MAAM;IAAE,MAAM,EAAE,MAAM;CAAC,CA+46B/D,CAAC;eACa,OAAO"}
|