@agent-native/toolkit 0.20.9 → 0.21.0-nightly-20260925022151

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.
Files changed (233) hide show
  1. package/agent-native.eject.json +30 -0
  2. package/dist/composer/TiptapComposer.d.ts.map +1 -1
  3. package/dist/composer/TiptapComposer.js +101 -59
  4. package/dist/composer/TiptapComposer.js.map +1 -1
  5. package/dist/composer/TiptapComposer.spec.js +102 -10
  6. package/dist/composer/TiptapComposer.spec.js.map +1 -1
  7. package/dist/icons/ResourceIcon.d.ts +14 -0
  8. package/dist/icons/ResourceIcon.d.ts.map +1 -0
  9. package/dist/icons/ResourceIcon.js +43 -0
  10. package/dist/icons/ResourceIcon.js.map +1 -0
  11. package/dist/icons/ResourceIcon.spec.d.ts +2 -0
  12. package/dist/icons/ResourceIcon.spec.d.ts.map +1 -0
  13. package/dist/icons/ResourceIcon.spec.js +23 -0
  14. package/dist/icons/ResourceIcon.spec.js.map +1 -0
  15. package/dist/icons/ResourceIconPicker.d.ts +52 -0
  16. package/dist/icons/ResourceIconPicker.d.ts.map +1 -0
  17. package/dist/icons/ResourceIconPicker.js +344 -0
  18. package/dist/icons/ResourceIconPicker.js.map +1 -0
  19. package/dist/icons/catalog.d.ts +17 -0
  20. package/dist/icons/catalog.d.ts.map +1 -0
  21. package/dist/icons/catalog.js +114 -0
  22. package/dist/icons/catalog.js.map +1 -0
  23. package/dist/icons/catalog.spec.d.ts +2 -0
  24. package/dist/icons/catalog.spec.d.ts.map +1 -0
  25. package/dist/icons/catalog.spec.js +29 -0
  26. package/dist/icons/catalog.spec.js.map +1 -0
  27. package/dist/icons/emoji-catalog.d.ts +12 -0
  28. package/dist/icons/emoji-catalog.d.ts.map +1 -0
  29. package/dist/icons/emoji-catalog.js +59 -0
  30. package/dist/icons/emoji-catalog.js.map +1 -0
  31. package/dist/icons/emoji-catalog.spec.d.ts +2 -0
  32. package/dist/icons/emoji-catalog.spec.d.ts.map +1 -0
  33. package/dist/icons/emoji-catalog.spec.js +29 -0
  34. package/dist/icons/emoji-catalog.spec.js.map +1 -0
  35. package/dist/icons/icon-colors.d.ts +3 -0
  36. package/dist/icons/icon-colors.d.ts.map +1 -0
  37. package/dist/icons/icon-colors.js +12 -0
  38. package/dist/icons/icon-colors.js.map +1 -0
  39. package/dist/icons/icon-persistence.spec.d.ts +2 -0
  40. package/dist/icons/icon-persistence.spec.d.ts.map +1 -0
  41. package/dist/icons/icon-persistence.spec.js +38 -0
  42. package/dist/icons/icon-persistence.spec.js.map +1 -0
  43. package/dist/icons/index.d.ts +5 -0
  44. package/dist/icons/index.d.ts.map +1 -0
  45. package/dist/icons/index.js +5 -0
  46. package/dist/icons/index.js.map +1 -0
  47. package/dist/icons/recents.d.ts +6 -0
  48. package/dist/icons/recents.d.ts.map +1 -0
  49. package/dist/icons/recents.js +23 -0
  50. package/dist/icons/recents.js.map +1 -0
  51. package/dist/icons/recents.spec.d.ts +2 -0
  52. package/dist/icons/recents.spec.d.ts.map +1 -0
  53. package/dist/icons/recents.spec.js +29 -0
  54. package/dist/icons/recents.spec.js.map +1 -0
  55. package/dist/icons/server.d.ts +7 -0
  56. package/dist/icons/server.d.ts.map +1 -0
  57. package/dist/icons/server.js +25 -0
  58. package/dist/icons/server.js.map +1 -0
  59. package/dist/icons/tabler-catalog-data.d.ts +31 -0
  60. package/dist/icons/tabler-catalog-data.d.ts.map +1 -0
  61. package/dist/icons/tabler-catalog-data.js +30121 -0
  62. package/dist/icons/tabler-catalog-data.js.map +1 -0
  63. package/dist/icons/tabler-chunk-loaders.d.ts +30 -0
  64. package/dist/icons/tabler-chunk-loaders.d.ts.map +1 -0
  65. package/dist/icons/tabler-chunk-loaders.js +30 -0
  66. package/dist/icons/tabler-chunk-loaders.js.map +1 -0
  67. package/dist/icons/tabler-chunks/a.d.ts +450 -0
  68. package/dist/icons/tabler-chunks/a.d.ts.map +1 -0
  69. package/dist/icons/tabler-chunks/a.js +451 -0
  70. package/dist/icons/tabler-chunks/a.js.map +1 -0
  71. package/dist/icons/tabler-chunks/b.d.ts +849 -0
  72. package/dist/icons/tabler-chunks/b.d.ts.map +1 -0
  73. package/dist/icons/tabler-chunks/b.js +850 -0
  74. package/dist/icons/tabler-chunks/b.js.map +1 -0
  75. package/dist/icons/tabler-chunks/c.d.ts +922 -0
  76. package/dist/icons/tabler-chunks/c.d.ts.map +1 -0
  77. package/dist/icons/tabler-chunks/c.js +923 -0
  78. package/dist/icons/tabler-chunks/c.js.map +1 -0
  79. package/dist/icons/tabler-chunks/d.d.ts +380 -0
  80. package/dist/icons/tabler-chunks/d.d.ts.map +1 -0
  81. package/dist/icons/tabler-chunks/d.js +381 -0
  82. package/dist/icons/tabler-chunks/d.js.map +1 -0
  83. package/dist/icons/tabler-chunks/e.d.ts +112 -0
  84. package/dist/icons/tabler-chunks/e.d.ts.map +1 -0
  85. package/dist/icons/tabler-chunks/e.js +113 -0
  86. package/dist/icons/tabler-chunks/e.js.map +1 -0
  87. package/dist/icons/tabler-chunks/f.d.ts +341 -0
  88. package/dist/icons/tabler-chunks/f.d.ts.map +1 -0
  89. package/dist/icons/tabler-chunks/f.js +342 -0
  90. package/dist/icons/tabler-chunks/f.js.map +1 -0
  91. package/dist/icons/tabler-chunks/g.d.ts +101 -0
  92. package/dist/icons/tabler-chunks/g.d.ts.map +1 -0
  93. package/dist/icons/tabler-chunks/g.js +102 -0
  94. package/dist/icons/tabler-chunks/g.js.map +1 -0
  95. package/dist/icons/tabler-chunks/h.d.ts +276 -0
  96. package/dist/icons/tabler-chunks/h.d.ts.map +1 -0
  97. package/dist/icons/tabler-chunks/h.js +277 -0
  98. package/dist/icons/tabler-chunks/h.js.map +1 -0
  99. package/dist/icons/tabler-chunks/i.d.ts +79 -0
  100. package/dist/icons/tabler-chunks/i.d.ts.map +1 -0
  101. package/dist/icons/tabler-chunks/i.js +80 -0
  102. package/dist/icons/tabler-chunks/i.js.map +1 -0
  103. package/dist/icons/tabler-chunks/j.d.ts +17 -0
  104. package/dist/icons/tabler-chunks/j.d.ts.map +1 -0
  105. package/dist/icons/tabler-chunks/j.js +18 -0
  106. package/dist/icons/tabler-chunks/j.js.map +1 -0
  107. package/dist/icons/tabler-chunks/k.d.ts +25 -0
  108. package/dist/icons/tabler-chunks/k.d.ts.map +1 -0
  109. package/dist/icons/tabler-chunks/k.js +26 -0
  110. package/dist/icons/tabler-chunks/k.js.map +1 -0
  111. package/dist/icons/tabler-chunks/l.d.ts +298 -0
  112. package/dist/icons/tabler-chunks/l.d.ts.map +1 -0
  113. package/dist/icons/tabler-chunks/l.js +299 -0
  114. package/dist/icons/tabler-chunks/l.js.map +1 -0
  115. package/dist/icons/tabler-chunks/m.d.ts +413 -0
  116. package/dist/icons/tabler-chunks/m.d.ts.map +1 -0
  117. package/dist/icons/tabler-chunks/m.js +414 -0
  118. package/dist/icons/tabler-chunks/m.js.map +1 -0
  119. package/dist/icons/tabler-chunks/n.d.ts +174 -0
  120. package/dist/icons/tabler-chunks/n.d.ts.map +1 -0
  121. package/dist/icons/tabler-chunks/n.js +175 -0
  122. package/dist/icons/tabler-chunks/n.js.map +1 -0
  123. package/dist/icons/tabler-chunks/o.d.ts +31 -0
  124. package/dist/icons/tabler-chunks/o.d.ts.map +1 -0
  125. package/dist/icons/tabler-chunks/o.js +32 -0
  126. package/dist/icons/tabler-chunks/o.js.map +1 -0
  127. package/dist/icons/tabler-chunks/p.d.ts +374 -0
  128. package/dist/icons/tabler-chunks/p.d.ts.map +1 -0
  129. package/dist/icons/tabler-chunks/p.js +375 -0
  130. package/dist/icons/tabler-chunks/p.js.map +1 -0
  131. package/dist/icons/tabler-chunks/q.d.ts +14 -0
  132. package/dist/icons/tabler-chunks/q.d.ts.map +1 -0
  133. package/dist/icons/tabler-chunks/q.js +15 -0
  134. package/dist/icons/tabler-chunks/q.js.map +1 -0
  135. package/dist/icons/tabler-chunks/r.d.ts +183 -0
  136. package/dist/icons/tabler-chunks/r.d.ts.map +1 -0
  137. package/dist/icons/tabler-chunks/r.js +184 -0
  138. package/dist/icons/tabler-chunks/r.js.map +1 -0
  139. package/dist/icons/tabler-chunks/s.d.ts +656 -0
  140. package/dist/icons/tabler-chunks/s.d.ts.map +1 -0
  141. package/dist/icons/tabler-chunks/s.js +657 -0
  142. package/dist/icons/tabler-chunks/s.js.map +1 -0
  143. package/dist/icons/tabler-chunks/t.d.ts +242 -0
  144. package/dist/icons/tabler-chunks/t.d.ts.map +1 -0
  145. package/dist/icons/tabler-chunks/t.js +243 -0
  146. package/dist/icons/tabler-chunks/t.js.map +1 -0
  147. package/dist/icons/tabler-chunks/u.d.ts +62 -0
  148. package/dist/icons/tabler-chunks/u.d.ts.map +1 -0
  149. package/dist/icons/tabler-chunks/u.js +63 -0
  150. package/dist/icons/tabler-chunks/u.js.map +1 -0
  151. package/dist/icons/tabler-chunks/v.d.ts +60 -0
  152. package/dist/icons/tabler-chunks/v.d.ts.map +1 -0
  153. package/dist/icons/tabler-chunks/v.js +61 -0
  154. package/dist/icons/tabler-chunks/v.js.map +1 -0
  155. package/dist/icons/tabler-chunks/w.d.ts +115 -0
  156. package/dist/icons/tabler-chunks/w.d.ts.map +1 -0
  157. package/dist/icons/tabler-chunks/w.js +116 -0
  158. package/dist/icons/tabler-chunks/w.js.map +1 -0
  159. package/dist/icons/tabler-chunks/x.d.ts +18 -0
  160. package/dist/icons/tabler-chunks/x.d.ts.map +1 -0
  161. package/dist/icons/tabler-chunks/x.js +19 -0
  162. package/dist/icons/tabler-chunks/x.js.map +1 -0
  163. package/dist/icons/tabler-chunks/y.d.ts +7 -0
  164. package/dist/icons/tabler-chunks/y.d.ts.map +1 -0
  165. package/dist/icons/tabler-chunks/y.js +4 -0
  166. package/dist/icons/tabler-chunks/y.js.map +1 -0
  167. package/dist/icons/tabler-chunks/z.d.ts +51 -0
  168. package/dist/icons/tabler-chunks/z.d.ts.map +1 -0
  169. package/dist/icons/tabler-chunks/z.js +52 -0
  170. package/dist/icons/tabler-chunks/z.js.map +1 -0
  171. package/dist/icons/tabler-groups.d.ts +30 -0
  172. package/dist/icons/tabler-groups.d.ts.map +1 -0
  173. package/dist/icons/tabler-groups.js +65 -0
  174. package/dist/icons/tabler-groups.js.map +1 -0
  175. package/dist/icons/types.d.ts +25 -0
  176. package/dist/icons/types.d.ts.map +1 -0
  177. package/dist/icons/types.js +2 -0
  178. package/dist/icons/types.js.map +1 -0
  179. package/dist/index.d.ts +1 -0
  180. package/dist/index.d.ts.map +1 -1
  181. package/dist/index.js +1 -0
  182. package/dist/index.js.map +1 -1
  183. package/dist/styles.css +2 -0
  184. package/dist/theme/resource-icons.css +24 -0
  185. package/package.json +11 -2
  186. package/src/composer/TiptapComposer.spec.ts +142 -15
  187. package/src/composer/TiptapComposer.tsx +109 -58
  188. package/src/icons/ResourceIcon.spec.tsx +38 -0
  189. package/src/icons/ResourceIcon.tsx +91 -0
  190. package/src/icons/ResourceIconPicker.tsx +812 -0
  191. package/src/icons/catalog.spec.ts +50 -0
  192. package/src/icons/catalog.ts +153 -0
  193. package/src/icons/emoji-catalog.spec.ts +46 -0
  194. package/src/icons/emoji-catalog.ts +86 -0
  195. package/src/icons/icon-colors.ts +13 -0
  196. package/src/icons/icon-persistence.spec.ts +45 -0
  197. package/src/icons/index.ts +4 -0
  198. package/src/icons/recents.spec.ts +37 -0
  199. package/src/icons/recents.ts +37 -0
  200. package/src/icons/server.tsx +53 -0
  201. package/src/icons/tabler-catalog-data.ts +30122 -0
  202. package/src/icons/tabler-chunk-loaders.ts +29 -0
  203. package/src/icons/tabler-chunks/a.ts +897 -0
  204. package/src/icons/tabler-chunks/b.ts +1695 -0
  205. package/src/icons/tabler-chunks/c.ts +1841 -0
  206. package/src/icons/tabler-chunks/d.ts +757 -0
  207. package/src/icons/tabler-chunks/e.ts +221 -0
  208. package/src/icons/tabler-chunks/f.ts +679 -0
  209. package/src/icons/tabler-chunks/g.ts +199 -0
  210. package/src/icons/tabler-chunks/h.ts +549 -0
  211. package/src/icons/tabler-chunks/i.ts +155 -0
  212. package/src/icons/tabler-chunks/j.ts +31 -0
  213. package/src/icons/tabler-chunks/k.ts +47 -0
  214. package/src/icons/tabler-chunks/l.ts +593 -0
  215. package/src/icons/tabler-chunks/m.ts +823 -0
  216. package/src/icons/tabler-chunks/n.ts +345 -0
  217. package/src/icons/tabler-chunks/o.ts +59 -0
  218. package/src/icons/tabler-chunks/p.ts +745 -0
  219. package/src/icons/tabler-chunks/q.ts +25 -0
  220. package/src/icons/tabler-chunks/r.ts +363 -0
  221. package/src/icons/tabler-chunks/s.ts +1309 -0
  222. package/src/icons/tabler-chunks/t.ts +481 -0
  223. package/src/icons/tabler-chunks/u.ts +121 -0
  224. package/src/icons/tabler-chunks/v.ts +117 -0
  225. package/src/icons/tabler-chunks/w.ts +227 -0
  226. package/src/icons/tabler-chunks/x.ts +33 -0
  227. package/src/icons/tabler-chunks/y.ts +3 -0
  228. package/src/icons/tabler-chunks/z.ts +99 -0
  229. package/src/icons/tabler-groups.ts +70 -0
  230. package/src/icons/types.ts +35 -0
  231. package/src/index.ts +1 -0
  232. package/src/styles.css +2 -0
  233. 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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=emoji-catalog.spec.d.ts.map
@@ -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,3 @@
1
+ import type { ResourceIconColor } from "./types.js";
2
+ export declare const resourceIconColorClasses: Record<ResourceIconColor, string>;
3
+ //# sourceMappingURL=icon-colors.d.ts.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=icon-persistence.spec.d.ts.map
@@ -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,5 @@
1
+ export * from "./ResourceIcon.js";
2
+ export * from "./ResourceIconPicker.js";
3
+ export * from "./recents.js";
4
+ export * from "./types.js";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -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,5 @@
1
+ export * from "./ResourceIcon.js";
2
+ export * from "./ResourceIconPicker.js";
3
+ export * from "./recents.js";
4
+ export * from "./types.js";
5
+ //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export {};
2
+ //# sourceMappingURL=recents.spec.d.ts.map
@@ -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"}