gridsmith-ui 0.2.19 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-GYVBRUO2.js +30 -0
- package/dist/chunk-GYVBRUO2.js.map +1 -0
- package/dist/chunk-WVB3SRXW.js +82 -0
- package/dist/chunk-WVB3SRXW.js.map +1 -0
- package/dist/feather-N37QZ7LA.js +72 -0
- package/dist/feather-N37QZ7LA.js.map +1 -0
- package/dist/heroicons-HJTKMLIJ.js +72 -0
- package/dist/heroicons-HJTKMLIJ.js.map +1 -0
- package/dist/icons.js +1 -1
- package/dist/index.d.ts +6 -4
- package/dist/index.js +128 -86
- package/dist/index.js.map +1 -1
- package/dist/lucide-6TGT4G26.js +67 -0
- package/dist/lucide-6TGT4G26.js.map +1 -0
- package/dist/phosphor-BWDP4PU7.js +72 -0
- package/dist/phosphor-BWDP4PU7.js.map +1 -0
- package/dist/roots.css +6 -0
- package/dist/tabler-6TPNTLFV.js +72 -0
- package/dist/tabler-6TPNTLFV.js.map +1 -0
- package/package.json +1 -4
- package/dist/chunk-H2XI6OUB.js +0 -396
- package/dist/chunk-H2XI6OUB.js.map +0 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// ../../showcase/src/lib/icon-packs/utils.ts
|
|
2
|
+
function pascalToKebab(s) {
|
|
3
|
+
return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2").replace(/([a-zA-Z])(\d)/g, "$1-$2").replace(/(\d)([a-zA-Z])/g, "$1-$2").toLowerCase();
|
|
4
|
+
}
|
|
5
|
+
function isRenderableComponent(value) {
|
|
6
|
+
if (typeof value === "function") return true;
|
|
7
|
+
return typeof value === "object" && value !== null && "$$typeof" in value;
|
|
8
|
+
}
|
|
9
|
+
function buildExtendedMap(mod, aliases, opts) {
|
|
10
|
+
const map = {};
|
|
11
|
+
for (const [exportName, value] of Object.entries(mod)) {
|
|
12
|
+
if (!isRenderableComponent(value)) continue;
|
|
13
|
+
if (!exportName[0] || exportName[0] !== exportName[0].toUpperCase()) continue;
|
|
14
|
+
let name = exportName;
|
|
15
|
+
if (opts?.stripPrefix && name.startsWith(opts.stripPrefix)) {
|
|
16
|
+
name = name.slice(opts.stripPrefix.length);
|
|
17
|
+
}
|
|
18
|
+
if (opts?.stripSuffix && name.endsWith(opts.stripSuffix)) {
|
|
19
|
+
name = name.slice(0, -opts.stripSuffix.length);
|
|
20
|
+
}
|
|
21
|
+
if (!name) continue;
|
|
22
|
+
map[pascalToKebab(name)] = value;
|
|
23
|
+
}
|
|
24
|
+
Object.assign(map, aliases);
|
|
25
|
+
return map;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { buildExtendedMap };
|
|
29
|
+
//# sourceMappingURL=chunk-GYVBRUO2.js.map
|
|
30
|
+
//# sourceMappingURL=chunk-GYVBRUO2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../showcase/src/lib/icon-packs/utils.ts"],"names":[],"mappings":";AAEA,SAAS,cAAc,CAAA,EAAmB;AACxC,EAAA,OAAO,EACJ,OAAA,CAAQ,oBAAA,EAAsB,OAAO,CAAA,CACrC,QAAQ,sBAAA,EAAwB,OAAO,CAAA,CACvC,OAAA,CAAQ,mBAAmB,OAAO,CAAA,CAClC,QAAQ,iBAAA,EAAmB,OAAO,EAClC,WAAA,EAAY;AACjB;AAEA,SAAS,sBAAsB,KAAA,EAAyB;AACtD,EAAA,IAAI,OAAO,KAAA,KAAU,UAAA,EAAY,OAAO,IAAA;AACxC,EAAA,OAAO,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,KAAU,QAAQ,UAAA,IAAc,KAAA;AACtE;AAEO,SAAS,gBAAA,CACd,GAAA,EACA,OAAA,EACA,IAAA,EACS;AACT,EAAA,MAAM,MAAe,EAAC;AAEtB,EAAA,KAAA,MAAW,CAAC,UAAA,EAAY,KAAK,KAAK,MAAA,CAAO,OAAA,CAAQ,GAAG,CAAA,EAAG;AACrD,IAAA,IAAI,CAAC,qBAAA,CAAsB,KAAK,CAAA,EAAG;AACnC,IAAA,IAAI,CAAC,UAAA,CAAW,CAAC,CAAA,IAAK,UAAA,CAAW,CAAC,CAAA,KAAM,UAAA,CAAW,CAAC,CAAA,CAAE,WAAA,EAAY,EAAG;AAErE,IAAA,IAAI,IAAA,GAAO,UAAA;AACX,IAAA,IAAI,MAAM,WAAA,IAAe,IAAA,CAAK,UAAA,CAAW,IAAA,CAAK,WAAW,CAAA,EAAG;AAC1D,MAAA,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,IAAA,CAAK,WAAA,CAAY,MAAM,CAAA;AAAA,IAC3C;AACA,IAAA,IAAI,MAAM,WAAA,IAAe,IAAA,CAAK,QAAA,CAAS,IAAA,CAAK,WAAW,CAAA,EAAG;AACxD,MAAA,IAAA,GAAO,KAAK,KAAA,CAAM,CAAA,EAAG,CAAC,IAAA,CAAK,YAAY,MAAM,CAAA;AAAA,IAC/C;AACA,IAAA,IAAI,CAAC,IAAA,EAAM;AAEX,IAAA,GAAA,CAAI,aAAA,CAAc,IAAI,CAAC,CAAA,GAAI,KAAA;AAAA,EAC7B;AAEA,EAAA,MAAA,CAAO,MAAA,CAAO,KAAK,OAAO,CAAA;AAC1B,EAAA,OAAO,GAAA;AACT","file":"chunk-GYVBRUO2.js","sourcesContent":["import type { IconMap, IconComponent } from './types'\n\nfunction pascalToKebab(s: string): string {\n return s\n .replace(/([a-z0-9])([A-Z])/g, \"$1-$2\")\n .replace(/([A-Z])([A-Z][a-z])/g, \"$1-$2\")\n .replace(/([a-zA-Z])(\\d)/g, \"$1-$2\")\n .replace(/(\\d)([a-zA-Z])/g, \"$1-$2\")\n .toLowerCase()\n}\n\nfunction isRenderableComponent(value: unknown): boolean {\n if (typeof value === \"function\") return true\n return typeof value === \"object\" && value !== null && \"$$typeof\" in value\n}\n\nexport function buildExtendedMap(\n mod: Record<string, unknown>,\n aliases: IconMap,\n opts?: { stripPrefix?: string; stripSuffix?: string },\n): IconMap {\n const map: IconMap = {}\n\n for (const [exportName, value] of Object.entries(mod)) {\n if (!isRenderableComponent(value)) continue\n if (!exportName[0] || exportName[0] !== exportName[0].toUpperCase()) continue\n\n let name = exportName\n if (opts?.stripPrefix && name.startsWith(opts.stripPrefix)) {\n name = name.slice(opts.stripPrefix.length)\n }\n if (opts?.stripSuffix && name.endsWith(opts.stripSuffix)) {\n name = name.slice(0, -opts.stripSuffix.length)\n }\n if (!name) continue\n\n map[pascalToKebab(name)] = value as IconComponent\n }\n\n Object.assign(map, aliases)\n return map\n}\n"]}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { createContext, useContext, useState, useEffect } from 'react';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// ../../showcase/src/lib/icons.tsx
|
|
5
|
+
var packCache = /* @__PURE__ */ new Map();
|
|
6
|
+
var fullyLoaded = /* @__PURE__ */ new Set();
|
|
7
|
+
async function loadPack(pack) {
|
|
8
|
+
switch (pack) {
|
|
9
|
+
case "lucide":
|
|
10
|
+
return (await import('./lucide-6TGT4G26.js')).load();
|
|
11
|
+
case "phosphor":
|
|
12
|
+
return (await import('./phosphor-BWDP4PU7.js')).load();
|
|
13
|
+
case "heroicons":
|
|
14
|
+
return (await import('./heroicons-HJTKMLIJ.js')).load();
|
|
15
|
+
case "tabler":
|
|
16
|
+
return (await import('./tabler-6TPNTLFV.js')).load();
|
|
17
|
+
case "feather":
|
|
18
|
+
return (await import('./feather-N37QZ7LA.js')).load();
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
var IconCtx = createContext({ pack: "lucide", weight: 1.5 });
|
|
22
|
+
function IconProvider({ pack, weight, children }) {
|
|
23
|
+
return /* @__PURE__ */ jsx(IconCtx.Provider, { value: { pack, weight }, children });
|
|
24
|
+
}
|
|
25
|
+
function useIconMap(pack) {
|
|
26
|
+
const [map, setMap] = useState(packCache.get(pack) ?? null);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (fullyLoaded.has(pack)) {
|
|
29
|
+
const cached = packCache.get(pack);
|
|
30
|
+
if (cached) setMap(cached);
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
let cancelled = false;
|
|
34
|
+
loadPack(pack).then((loaded) => {
|
|
35
|
+
packCache.set(pack, loaded);
|
|
36
|
+
fullyLoaded.add(pack);
|
|
37
|
+
if (!cancelled) setMap(loaded);
|
|
38
|
+
});
|
|
39
|
+
return () => {
|
|
40
|
+
cancelled = true;
|
|
41
|
+
};
|
|
42
|
+
}, [pack]);
|
|
43
|
+
return map;
|
|
44
|
+
}
|
|
45
|
+
function getPhosphorWeight(numericWeight) {
|
|
46
|
+
if (numericWeight <= 0.75) return "thin";
|
|
47
|
+
if (numericWeight <= 1.25) return "light";
|
|
48
|
+
if (numericWeight <= 1.75) return "regular";
|
|
49
|
+
if (numericWeight <= 2.25) return "bold";
|
|
50
|
+
return "fill";
|
|
51
|
+
}
|
|
52
|
+
function Icon({ name, size = 16, className }) {
|
|
53
|
+
const { pack, weight } = useContext(IconCtx);
|
|
54
|
+
const map = useIconMap(pack);
|
|
55
|
+
const needsFallback = pack !== "lucide" && map !== null && !map[name];
|
|
56
|
+
const lucideMap = useIconMap(needsFallback ? "lucide" : pack);
|
|
57
|
+
if (!map) return null;
|
|
58
|
+
let Comp = map[name];
|
|
59
|
+
let renderPack = pack;
|
|
60
|
+
if (!Comp) {
|
|
61
|
+
if (!needsFallback || !lucideMap?.[name]) return null;
|
|
62
|
+
Comp = lucideMap[name];
|
|
63
|
+
renderPack = "lucide";
|
|
64
|
+
}
|
|
65
|
+
if (renderPack === "phosphor") {
|
|
66
|
+
return /* @__PURE__ */ jsx(Comp, { size, weight: getPhosphorWeight(weight), className });
|
|
67
|
+
}
|
|
68
|
+
if (renderPack === "heroicons") {
|
|
69
|
+
return /* @__PURE__ */ jsx(Comp, { className, style: { width: size, height: size, strokeWidth: weight } });
|
|
70
|
+
}
|
|
71
|
+
if (renderPack === "tabler") {
|
|
72
|
+
return /* @__PURE__ */ jsx(Comp, { size, stroke: weight, className });
|
|
73
|
+
}
|
|
74
|
+
if (renderPack === "feather") {
|
|
75
|
+
return /* @__PURE__ */ jsx(Comp, { size, className, strokeWidth: weight });
|
|
76
|
+
}
|
|
77
|
+
return /* @__PURE__ */ jsx(Comp, { size, strokeWidth: weight, className });
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export { Icon, IconProvider };
|
|
81
|
+
//# sourceMappingURL=chunk-WVB3SRXW.js.map
|
|
82
|
+
//# sourceMappingURL=chunk-WVB3SRXW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../showcase/src/lib/icons.tsx"],"names":[],"mappings":";;;;AAgDA,IAAM,SAAA,uBAAgB,GAAA,EAAuB;AAC7C,IAAM,WAAA,uBAAkB,GAAA,EAAc;AAEtC,eAAe,SAAS,IAAA,EAAkC;AACxD,EAAA,QAAQ,IAAA;AAAM,IACZ,KAAK,QAAA;AAAU,MAAA,OAAA,CAAQ,MAAM,OAAO,sBAAqB,CAAA,EAAG,IAAA,EAAK;AAAA,IACjE,KAAK,UAAA;AAAY,MAAA,OAAA,CAAQ,MAAM,OAAO,wBAAuB,CAAA,EAAG,IAAA,EAAK;AAAA,IACrE,KAAK,WAAA;AAAa,MAAA,OAAA,CAAQ,MAAM,OAAO,yBAAwB,CAAA,EAAG,IAAA,EAAK;AAAA,IACvE,KAAK,QAAA;AAAU,MAAA,OAAA,CAAQ,MAAM,OAAO,sBAAqB,CAAA,EAAG,IAAA,EAAK;AAAA,IACjE,KAAK,SAAA;AAAW,MAAA,OAAA,CAAQ,MAAM,OAAO,uBAAsB,CAAA,EAAG,IAAA,EAAK;AAAA;AAEvE;AAkBA,IAAM,UAAU,aAAA,CAAgC,EAAE,MAAM,QAAA,EAAU,MAAA,EAAQ,KAAK,CAAA;AAExE,SAAS,YAAA,CAAa,EAAE,IAAA,EAAM,MAAA,EAAQ,UAAS,EAA4D;AAChH,EAAA,uBAAO,GAAA,CAAC,QAAQ,QAAA,EAAR,EAAiB,OAAO,EAAE,IAAA,EAAM,MAAA,EAAO,EAAI,QAAA,EAAS,CAAA;AAC9D;AAIA,SAAS,WAAW,IAAA,EAAgC;AAClD,EAAA,MAAM,CAAC,KAAK,MAAM,CAAA,GAAI,SAAyB,SAAA,CAAU,GAAA,CAAI,IAAI,CAAA,IAAK,IAAI,CAAA;AAE1E,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,WAAA,CAAY,GAAA,CAAI,IAAI,CAAA,EAAG;AACzB,MAAA,MAAM,MAAA,GAAS,SAAA,CAAU,GAAA,CAAI,IAAI,CAAA;AACjC,MAAA,IAAI,MAAA,SAAe,MAAM,CAAA;AACzB,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,SAAA,GAAY,KAAA;AAChB,IAAA,QAAA,CAAS,IAAI,CAAA,CAAE,IAAA,CAAK,CAAC,MAAA,KAAW;AAC9B,MAAA,SAAA,CAAU,GAAA,CAAI,MAAM,MAAM,CAAA;AAC1B,MAAA,WAAA,CAAY,IAAI,IAAI,CAAA;AACpB,MAAA,IAAI,CAAC,SAAA,EAAW,MAAA,CAAO,MAAM,CAAA;AAAA,IAC/B,CAAC,CAAA;AACD,IAAA,OAAO,MAAM;AAAE,MAAA,SAAA,GAAY,IAAA;AAAA,IAAM,CAAA;AAAA,EACnC,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,OAAO,GAAA;AACT;AAIA,SAAS,kBAAkB,aAAA,EAAmF;AAC5G,EAAA,IAAI,aAAA,IAAiB,MAAM,OAAO,MAAA;AAClC,EAAA,IAAI,aAAA,IAAiB,MAAM,OAAO,OAAA;AAClC,EAAA,IAAI,aAAA,IAAiB,MAAM,OAAO,SAAA;AAClC,EAAA,IAAI,aAAA,IAAiB,MAAM,OAAO,MAAA;AAClC,EAAA,OAAO,MAAA;AACT;AAIO,SAAS,KAAK,EAAE,IAAA,EAAM,IAAA,GAAO,EAAA,EAAI,WAAU,EAA0D;AAC1G,EAAA,MAAM,EAAE,IAAA,EAAM,MAAA,EAAO,GAAI,WAAW,OAAO,CAAA;AAC3C,EAAA,MAAM,GAAA,GAAM,WAAW,IAAI,CAAA;AAO3B,EAAA,MAAM,gBAAgB,IAAA,KAAS,QAAA,IAAY,QAAQ,IAAA,IAAQ,CAAC,IAAI,IAAI,CAAA;AACpE,EAAA,MAAM,SAAA,GAAY,UAAA,CAAW,aAAA,GAAgB,QAAA,GAAW,IAAI,CAAA;AAE5D,EAAA,IAAI,CAAC,KAAK,OAAO,IAAA;AAEjB,EAAA,IAAI,IAAA,GAAO,IAAI,IAAI,CAAA;AACnB,EAAA,IAAI,UAAA,GAAuB,IAAA;AAC3B,EAAA,IAAI,CAAC,IAAA,EAAM;AACT,IAAA,IAAI,CAAC,aAAA,IAAiB,CAAC,SAAA,GAAY,IAAI,GAAG,OAAO,IAAA;AACjD,IAAA,IAAA,GAAO,UAAU,IAAI,CAAA;AACrB,IAAA,UAAA,GAAa,QAAA;AAAA,EACf;AAEA,EAAA,IAAI,eAAe,UAAA,EAAY;AAC7B,IAAA,2BAAQ,IAAA,EAAA,EAAK,IAAA,EAAY,QAAQ,iBAAA,CAAkB,MAAM,GAAG,SAAA,EAAsB,CAAA;AAAA,EACpF;AAEA,EAAA,IAAI,eAAe,WAAA,EAAa;AAC9B,IAAA,uBAAO,GAAA,CAAC,IAAA,EAAA,EAAK,SAAA,EAAsB,KAAA,EAAO,EAAE,KAAA,EAAO,IAAA,EAAM,MAAA,EAAQ,IAAA,EAAM,WAAA,EAAa,MAAA,EAAO,EAAG,CAAA;AAAA,EAChG;AAEA,EAAA,IAAI,eAAe,QAAA,EAAU;AAC3B,IAAA,uBAAO,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAY,MAAA,EAAQ,QAAQ,SAAA,EAAsB,CAAA;AAAA,EACjE;AAEA,EAAA,IAAI,eAAe,SAAA,EAAW;AAC5B,IAAA,uBAAO,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAY,SAAA,EAAsB,aAAa,MAAA,EAAQ,CAAA;AAAA,EACtE;AAEA,EAAA,uBAAO,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAY,WAAA,EAAa,QAAQ,SAAA,EAAsB,CAAA;AACtE","file":"chunk-WVB3SRXW.js","sourcesContent":["import { createContext, useContext, useState, useEffect, type ReactNode, type ComponentType } from \"react\";\n\n/* ── Types ────────────────────────────────────────────────────── */\n\n/**\n * Runtime list of curated icon names. The CuratedIconName type derives from\n * this array, so adding a name here extends autocomplete automatically.\n * Every name must have an alias (or auto-kebab match) in ALL five packs —\n * icon-completeness.test.tsx enforces this.\n */\nexport const CURATED_ICON_NAMES = [\n \"home\", \"folder\", \"chart\", \"settings\",\n \"chevron-right\", \"close\", \"plus\", \"search\",\n \"bell\", \"user\", \"check\", \"warning\", \"info\", \"error\",\n \"clock\", \"calendar\",\n \"bold\", \"italic\", \"underline\", \"strikethrough\",\n \"align-left\", \"align-center\", \"align-right\",\n \"list\", \"list-ordered\", \"list-checks\",\n \"link\", \"image\", \"table\", \"code\", \"quote\", \"minus\",\n \"superscript\", \"subscript\", \"highlight\", \"type\",\n \"chevron-up\", \"chevron-down\", \"trash\",\n \"undo\", \"redo\",\n \"arrow-left\", \"grip-vertical\",\n \"mic\", \"paperclip\", \"send\",\n \"log-out\", \"edit\", \"menu\",\n \"star\", \"bookmark\", \"download\", \"upload\",\n] as const;\n\ntype CuratedIconName = (typeof CURATED_ICON_NAMES)[number];\n\n/**\n * Curated names provide autocomplete and work identically across all 5 packs.\n * Any kebab-case string is also accepted — it resolves directly against the\n * active pack's native exports (e.g. \"clipboard-copy\" → Lucide's ClipboardCopy).\n */\nexport type IconName = CuratedIconName | (string & {});\n\nexport type IconPack = \"lucide\" | \"phosphor\" | \"heroicons\" | \"tabler\" | \"feather\";\n\ntype IconComponent = ComponentType<Record<string, unknown>>;\ntype IconMap = Record<string, IconComponent>;\n\n/* ── Pack loading ─────────────────────────────────────────────── \n Each pack is isolated in its own file under ./icon-packs/.\n Only the active pack's module is dynamically imported at runtime,\n so bundlers (including Turbopack) won't resolve unused pack\n dependencies at build time. */\n\nconst packCache = new Map<IconPack, IconMap>();\nconst fullyLoaded = new Set<IconPack>();\n\nasync function loadPack(pack: IconPack): Promise<IconMap> {\n switch (pack) {\n case \"lucide\": return (await import(\"./icon-packs/lucide\")).load();\n case \"phosphor\": return (await import(\"./icon-packs/phosphor\")).load();\n case \"heroicons\": return (await import(\"./icon-packs/heroicons\")).load();\n case \"tabler\": return (await import(\"./icon-packs/tabler\")).load();\n case \"feather\": return (await import(\"./icon-packs/feather\")).load();\n }\n}\n\n/** Exported for the icon-completeness test — not part of the public API. */\nexport const packLoaders: Record<IconPack, () => Promise<IconMap>> = {\n lucide: () => loadPack(\"lucide\"),\n phosphor: () => loadPack(\"phosphor\"),\n heroicons: () => loadPack(\"heroicons\"),\n tabler: () => loadPack(\"tabler\"),\n feather: () => loadPack(\"feather\"),\n};\n\n/* ── Context ──────────────────────────────────────────────────── */\n\ninterface IconContextValue {\n pack: IconPack;\n weight: number;\n}\n\nconst IconCtx = createContext<IconContextValue>({ pack: \"lucide\", weight: 1.5 });\n\nexport function IconProvider({ pack, weight, children }: { pack: IconPack; weight: number; children: ReactNode }) {\n return <IconCtx.Provider value={{ pack, weight }}>{children}</IconCtx.Provider>;\n}\n\n/* ── Hook ─────────────────────────────────────────────────────── */\n\nfunction useIconMap(pack: IconPack): IconMap | null {\n const [map, setMap] = useState<IconMap | null>(packCache.get(pack) ?? null);\n\n useEffect(() => {\n if (fullyLoaded.has(pack)) {\n const cached = packCache.get(pack);\n if (cached) setMap(cached);\n return;\n }\n\n let cancelled = false;\n loadPack(pack).then((loaded) => {\n packCache.set(pack, loaded);\n fullyLoaded.add(pack);\n if (!cancelled) setMap(loaded);\n });\n return () => { cancelled = true; };\n }, [pack]);\n\n return map;\n}\n\n/* ── Phosphor weight mapping ──────────────────────────────────── */\n\nfunction getPhosphorWeight(numericWeight: number): \"thin\" | \"light\" | \"regular\" | \"bold\" | \"fill\" | \"duotone\" {\n if (numericWeight <= 0.75) return \"thin\";\n if (numericWeight <= 1.25) return \"light\";\n if (numericWeight <= 1.75) return \"regular\";\n if (numericWeight <= 2.25) return \"bold\";\n return \"fill\";\n}\n\n/* ── Icon component ───────────────────────────────────────────── */\n\nexport function Icon({ name, size = 16, className }: { name: IconName; size?: number; className?: string }) {\n const { pack, weight } = useContext(IconCtx);\n const map = useIconMap(pack);\n\n // Lucide doubles as the universal fallback: when the active pack has loaded\n // but lacks the requested name, resolve against lucide instead of rendering\n // nothing. The hook call is unconditional (no conditional-hook violation) —\n // it only re-targets lucide once a miss is confirmed, which triggers the\n // lazy load and a re-render when the map arrives.\n const needsFallback = pack !== \"lucide\" && map !== null && !map[name];\n const lucideMap = useIconMap(needsFallback ? \"lucide\" : pack);\n\n if (!map) return null;\n\n let Comp = map[name];\n let renderPack: IconPack = pack;\n if (!Comp) {\n if (!needsFallback || !lucideMap?.[name]) return null;\n Comp = lucideMap[name];\n renderPack = \"lucide\";\n }\n\n if (renderPack === \"phosphor\") {\n return <Comp size={size} weight={getPhosphorWeight(weight)} className={className} />;\n }\n\n if (renderPack === \"heroicons\") {\n return <Comp className={className} style={{ width: size, height: size, strokeWidth: weight }} />;\n }\n\n if (renderPack === \"tabler\") {\n return <Comp size={size} stroke={weight} className={className} />;\n }\n\n if (renderPack === \"feather\") {\n return <Comp size={size} className={className} strokeWidth={weight} />;\n }\n\n return <Comp size={size} strokeWidth={weight} className={className} />;\n}\n"]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { buildExtendedMap } from './chunk-GYVBRUO2.js';
|
|
2
|
+
import './chunk-5WRI5ZAA.js';
|
|
3
|
+
|
|
4
|
+
// ../../showcase/src/lib/icon-packs/feather.ts
|
|
5
|
+
async function load() {
|
|
6
|
+
let F;
|
|
7
|
+
try {
|
|
8
|
+
F = await import('react-icons/fi');
|
|
9
|
+
} catch {
|
|
10
|
+
throw new Error("gridsmith-ui: react-icons is not installed. Run: npm install react-icons");
|
|
11
|
+
}
|
|
12
|
+
const aliases = {
|
|
13
|
+
"home": F.FiHome,
|
|
14
|
+
"folder": F.FiFolder,
|
|
15
|
+
"chart": F.FiBarChart2,
|
|
16
|
+
"settings": F.FiSettings,
|
|
17
|
+
"chevron-right": F.FiChevronRight,
|
|
18
|
+
"close": F.FiX,
|
|
19
|
+
"plus": F.FiPlus,
|
|
20
|
+
"search": F.FiSearch,
|
|
21
|
+
"bell": F.FiBell,
|
|
22
|
+
"user": F.FiUser,
|
|
23
|
+
"check": F.FiCheck,
|
|
24
|
+
"warning": F.FiAlertTriangle,
|
|
25
|
+
"info": F.FiInfo,
|
|
26
|
+
"error": F.FiAlertCircle,
|
|
27
|
+
"clock": F.FiClock,
|
|
28
|
+
"calendar": F.FiCalendar,
|
|
29
|
+
"bold": F.FiBold,
|
|
30
|
+
"italic": F.FiItalic,
|
|
31
|
+
"underline": F.FiUnderline,
|
|
32
|
+
"strikethrough": F.FiSlash,
|
|
33
|
+
"align-left": F.FiAlignLeft,
|
|
34
|
+
"align-center": F.FiAlignCenter,
|
|
35
|
+
"align-right": F.FiAlignRight,
|
|
36
|
+
"list": F.FiList,
|
|
37
|
+
"list-ordered": F.FiList,
|
|
38
|
+
"list-checks": F.FiCheckSquare,
|
|
39
|
+
"link": F.FiLink,
|
|
40
|
+
"image": F.FiImage,
|
|
41
|
+
"table": F.FiGrid,
|
|
42
|
+
"code": F.FiCode,
|
|
43
|
+
"quote": F.FiMessageSquare,
|
|
44
|
+
"minus": F.FiMinus,
|
|
45
|
+
"superscript": F.FiChevronUp,
|
|
46
|
+
"subscript": F.FiChevronDown,
|
|
47
|
+
"highlight": F.FiEdit2,
|
|
48
|
+
"type": F.FiType,
|
|
49
|
+
"chevron-up": F.FiChevronUp,
|
|
50
|
+
"chevron-down": F.FiChevronDown,
|
|
51
|
+
"trash": F.FiTrash2,
|
|
52
|
+
"undo": F.FiRotateCcw,
|
|
53
|
+
"redo": F.FiRotateCw,
|
|
54
|
+
"arrow-left": F.FiArrowLeft,
|
|
55
|
+
"grip-vertical": F.FiMoreVertical,
|
|
56
|
+
"mic": F.FiMic,
|
|
57
|
+
"paperclip": F.FiPaperclip,
|
|
58
|
+
"send": F.FiSend,
|
|
59
|
+
"log-out": F.FiLogOut,
|
|
60
|
+
"edit": F.FiEdit2,
|
|
61
|
+
"menu": F.FiMenu,
|
|
62
|
+
"star": F.FiStar,
|
|
63
|
+
"bookmark": F.FiBookmark,
|
|
64
|
+
"download": F.FiDownload,
|
|
65
|
+
"upload": F.FiUpload
|
|
66
|
+
};
|
|
67
|
+
return buildExtendedMap(F, aliases, { stripPrefix: "Fi" });
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export { load };
|
|
71
|
+
//# sourceMappingURL=feather-N37QZ7LA.js.map
|
|
72
|
+
//# sourceMappingURL=feather-N37QZ7LA.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../showcase/src/lib/icon-packs/feather.ts"],"names":[],"mappings":";;;;AAGA,eAAsB,IAAA,GAAyB;AAC7C,EAAA,IAAI,CAAA;AACJ,EAAA,IAAI;AAAE,IAAA,CAAA,GAAI,MAAM,OAAO,gBAAgB,CAAA;AAAA,EAAE,CAAA,CAAA,MACnC;AAAE,IAAA,MAAM,IAAI,MAAM,0EAA0E,CAAA;AAAA,EAAE;AACpG,EAAA,MAAM,OAAA,GAAmB;AAAA,IACvB,QAAQ,CAAA,CAAE,MAAA;AAAA,IAAQ,UAAU,CAAA,CAAE,QAAA;AAAA,IAAU,SAAS,CAAA,CAAE,WAAA;AAAA,IAAa,YAAY,CAAA,CAAE,UAAA;AAAA,IAC9E,iBAAiB,CAAA,CAAE,cAAA;AAAA,IAAgB,SAAS,CAAA,CAAE,GAAA;AAAA,IAAK,QAAQ,CAAA,CAAE,MAAA;AAAA,IAAQ,UAAU,CAAA,CAAE,QAAA;AAAA,IACjF,QAAQ,CAAA,CAAE,MAAA;AAAA,IAAQ,QAAQ,CAAA,CAAE,MAAA;AAAA,IAAQ,SAAS,CAAA,CAAE,OAAA;AAAA,IAAS,WAAW,CAAA,CAAE,eAAA;AAAA,IACrE,QAAQ,CAAA,CAAE,MAAA;AAAA,IAAQ,SAAS,CAAA,CAAE,aAAA;AAAA,IAAe,SAAS,CAAA,CAAE,OAAA;AAAA,IAAS,YAAY,CAAA,CAAE,UAAA;AAAA,IAC9E,QAAQ,CAAA,CAAE,MAAA;AAAA,IAAQ,UAAU,CAAA,CAAE,QAAA;AAAA,IAAU,aAAa,CAAA,CAAE,WAAA;AAAA,IAAa,iBAAiB,CAAA,CAAE,OAAA;AAAA,IACvF,cAAc,CAAA,CAAE,WAAA;AAAA,IAAa,gBAAgB,CAAA,CAAE,aAAA;AAAA,IAAe,eAAe,CAAA,CAAE,YAAA;AAAA,IAC/E,QAAQ,CAAA,CAAE,MAAA;AAAA,IAAQ,gBAAgB,CAAA,CAAE,MAAA;AAAA,IAAQ,eAAe,CAAA,CAAE,aAAA;AAAA,IAC7D,QAAQ,CAAA,CAAE,MAAA;AAAA,IAAQ,SAAS,CAAA,CAAE,OAAA;AAAA,IAAS,SAAS,CAAA,CAAE,MAAA;AAAA,IAAQ,QAAQ,CAAA,CAAE,MAAA;AAAA,IACnE,SAAS,CAAA,CAAE,eAAA;AAAA,IAAiB,SAAS,CAAA,CAAE,OAAA;AAAA,IAAS,eAAe,CAAA,CAAE,WAAA;AAAA,IACjE,aAAa,CAAA,CAAE,aAAA;AAAA,IAAe,aAAa,CAAA,CAAE,OAAA;AAAA,IAAS,QAAQ,CAAA,CAAE,MAAA;AAAA,IAChE,cAAc,CAAA,CAAE,WAAA;AAAA,IAAa,gBAAgB,CAAA,CAAE,aAAA;AAAA,IAAe,SAAS,CAAA,CAAE,QAAA;AAAA,IACzE,QAAQ,CAAA,CAAE,WAAA;AAAA,IAAa,QAAQ,CAAA,CAAE,UAAA;AAAA,IACjC,cAAc,CAAA,CAAE,WAAA;AAAA,IAAa,iBAAiB,CAAA,CAAE,cAAA;AAAA,IAChD,OAAO,CAAA,CAAE,KAAA;AAAA,IAAO,aAAa,CAAA,CAAE,WAAA;AAAA,IAAa,QAAQ,CAAA,CAAE,MAAA;AAAA,IACtD,WAAW,CAAA,CAAE,QAAA;AAAA,IAAU,QAAQ,CAAA,CAAE,OAAA;AAAA,IAAS,QAAQ,CAAA,CAAE,MAAA;AAAA,IACpD,QAAQ,CAAA,CAAE,MAAA;AAAA,IAAQ,YAAY,CAAA,CAAE,UAAA;AAAA,IAChC,YAAY,CAAA,CAAE,UAAA;AAAA,IAAY,UAAU,CAAA,CAAE;AAAA,GACxC;AACA,EAAA,OAAO,iBAAiB,CAAA,EAAyC,OAAA,EAAS,EAAE,WAAA,EAAa,MAAM,CAAA;AACjG","file":"feather-N37QZ7LA.js","sourcesContent":["import type { IconMap } from './types'\nimport { buildExtendedMap } from './utils'\n\nexport async function load(): Promise<IconMap> {\n let F: typeof import(\"react-icons/fi\")\n try { F = await import(\"react-icons/fi\") }\n catch { throw new Error('gridsmith-ui: react-icons is not installed. Run: npm install react-icons') }\n const aliases: IconMap = {\n \"home\": F.FiHome, \"folder\": F.FiFolder, \"chart\": F.FiBarChart2, \"settings\": F.FiSettings,\n \"chevron-right\": F.FiChevronRight, \"close\": F.FiX, \"plus\": F.FiPlus, \"search\": F.FiSearch,\n \"bell\": F.FiBell, \"user\": F.FiUser, \"check\": F.FiCheck, \"warning\": F.FiAlertTriangle,\n \"info\": F.FiInfo, \"error\": F.FiAlertCircle, \"clock\": F.FiClock, \"calendar\": F.FiCalendar,\n \"bold\": F.FiBold, \"italic\": F.FiItalic, \"underline\": F.FiUnderline, \"strikethrough\": F.FiSlash,\n \"align-left\": F.FiAlignLeft, \"align-center\": F.FiAlignCenter, \"align-right\": F.FiAlignRight,\n \"list\": F.FiList, \"list-ordered\": F.FiList, \"list-checks\": F.FiCheckSquare,\n \"link\": F.FiLink, \"image\": F.FiImage, \"table\": F.FiGrid, \"code\": F.FiCode,\n \"quote\": F.FiMessageSquare, \"minus\": F.FiMinus, \"superscript\": F.FiChevronUp,\n \"subscript\": F.FiChevronDown, \"highlight\": F.FiEdit2, \"type\": F.FiType,\n \"chevron-up\": F.FiChevronUp, \"chevron-down\": F.FiChevronDown, \"trash\": F.FiTrash2,\n \"undo\": F.FiRotateCcw, \"redo\": F.FiRotateCw,\n \"arrow-left\": F.FiArrowLeft, \"grip-vertical\": F.FiMoreVertical,\n \"mic\": F.FiMic, \"paperclip\": F.FiPaperclip, \"send\": F.FiSend,\n \"log-out\": F.FiLogOut, \"edit\": F.FiEdit2, \"menu\": F.FiMenu,\n \"star\": F.FiStar, \"bookmark\": F.FiBookmark,\n \"download\": F.FiDownload, \"upload\": F.FiUpload,\n }\n return buildExtendedMap(F as unknown as Record<string, unknown>, aliases, { stripPrefix: \"Fi\" })\n}\n"]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { buildExtendedMap } from './chunk-GYVBRUO2.js';
|
|
2
|
+
import './chunk-5WRI5ZAA.js';
|
|
3
|
+
|
|
4
|
+
// ../../showcase/src/lib/icon-packs/heroicons.ts
|
|
5
|
+
async function load() {
|
|
6
|
+
let H;
|
|
7
|
+
try {
|
|
8
|
+
H = await import('@heroicons/react/24/outline');
|
|
9
|
+
} catch {
|
|
10
|
+
throw new Error("gridsmith-ui: @heroicons/react is not installed. Run: npm install @heroicons/react");
|
|
11
|
+
}
|
|
12
|
+
const aliases = {
|
|
13
|
+
"home": H.HomeIcon,
|
|
14
|
+
"folder": H.FolderIcon,
|
|
15
|
+
"chart": H.ChartBarIcon,
|
|
16
|
+
"settings": H.Cog6ToothIcon,
|
|
17
|
+
"chevron-right": H.ChevronRightIcon,
|
|
18
|
+
"close": H.XMarkIcon,
|
|
19
|
+
"plus": H.PlusIcon,
|
|
20
|
+
"search": H.MagnifyingGlassIcon,
|
|
21
|
+
"bell": H.BellIcon,
|
|
22
|
+
"user": H.UserIcon,
|
|
23
|
+
"check": H.CheckIcon,
|
|
24
|
+
"warning": H.ExclamationTriangleIcon,
|
|
25
|
+
"info": H.InformationCircleIcon,
|
|
26
|
+
"error": H.ExclamationCircleIcon,
|
|
27
|
+
"clock": H.ClockIcon,
|
|
28
|
+
"calendar": H.CalendarDaysIcon,
|
|
29
|
+
"bold": H.BoldIcon,
|
|
30
|
+
"italic": H.ItalicIcon,
|
|
31
|
+
"underline": H.UnderlineIcon,
|
|
32
|
+
"strikethrough": H.StrikethroughIcon,
|
|
33
|
+
"align-left": H.Bars3BottomLeftIcon,
|
|
34
|
+
"align-center": H.Bars3Icon,
|
|
35
|
+
"align-right": H.Bars3BottomRightIcon,
|
|
36
|
+
"list": H.ListBulletIcon,
|
|
37
|
+
"list-ordered": H.NumberedListIcon,
|
|
38
|
+
"list-checks": H.ClipboardDocumentCheckIcon,
|
|
39
|
+
"link": H.LinkIcon,
|
|
40
|
+
"image": H.PhotoIcon,
|
|
41
|
+
"table": H.TableCellsIcon,
|
|
42
|
+
"code": H.CodeBracketIcon,
|
|
43
|
+
"quote": H.ChatBubbleBottomCenterTextIcon,
|
|
44
|
+
"minus": H.MinusIcon,
|
|
45
|
+
"superscript": H.H1Icon,
|
|
46
|
+
"subscript": H.H2Icon,
|
|
47
|
+
"highlight": H.PaintBrushIcon,
|
|
48
|
+
"type": H.LanguageIcon,
|
|
49
|
+
"chevron-up": H.ChevronUpIcon,
|
|
50
|
+
"chevron-down": H.ChevronDownIcon,
|
|
51
|
+
"trash": H.TrashIcon,
|
|
52
|
+
"undo": H.ArrowUturnLeftIcon,
|
|
53
|
+
"redo": H.ArrowUturnRightIcon,
|
|
54
|
+
"arrow-left": H.ArrowLeftIcon,
|
|
55
|
+
"grip-vertical": H.Bars2Icon,
|
|
56
|
+
"mic": H.MicrophoneIcon,
|
|
57
|
+
"paperclip": H.PaperClipIcon,
|
|
58
|
+
"send": H.PaperAirplaneIcon,
|
|
59
|
+
"log-out": H.ArrowRightStartOnRectangleIcon,
|
|
60
|
+
"edit": H.PencilIcon,
|
|
61
|
+
"menu": H.Bars3Icon,
|
|
62
|
+
"star": H.StarIcon,
|
|
63
|
+
"bookmark": H.BookmarkIcon,
|
|
64
|
+
"download": H.ArrowDownTrayIcon,
|
|
65
|
+
"upload": H.ArrowUpTrayIcon
|
|
66
|
+
};
|
|
67
|
+
return buildExtendedMap(H, aliases, { stripSuffix: "Icon" });
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
export { load };
|
|
71
|
+
//# sourceMappingURL=heroicons-HJTKMLIJ.js.map
|
|
72
|
+
//# sourceMappingURL=heroicons-HJTKMLIJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../showcase/src/lib/icon-packs/heroicons.ts"],"names":[],"mappings":";;;;AAGA,eAAsB,IAAA,GAAyB;AAC7C,EAAA,IAAI,CAAA;AACJ,EAAA,IAAI;AAAE,IAAA,CAAA,GAAI,MAAM,OAAO,6BAA6B,CAAA;AAAA,EAAE,CAAA,CAAA,MAChD;AAAE,IAAA,MAAM,IAAI,MAAM,oFAAoF,CAAA;AAAA,EAAE;AAC9G,EAAA,MAAM,OAAA,GAAmB;AAAA,IACvB,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,UAAU,CAAA,CAAE,UAAA;AAAA,IAAY,SAAS,CAAA,CAAE,YAAA;AAAA,IACvD,YAAY,CAAA,CAAE,aAAA;AAAA,IAAe,iBAAiB,CAAA,CAAE,gBAAA;AAAA,IAChD,SAAS,CAAA,CAAE,SAAA;AAAA,IAAW,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,UAAU,CAAA,CAAE,mBAAA;AAAA,IACtD,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,SAAS,CAAA,CAAE,SAAA;AAAA,IACnD,WAAW,CAAA,CAAE,uBAAA;AAAA,IAAyB,QAAQ,CAAA,CAAE,qBAAA;AAAA,IAChD,SAAS,CAAA,CAAE,qBAAA;AAAA,IAAuB,SAAS,CAAA,CAAE,SAAA;AAAA,IAAW,YAAY,CAAA,CAAE,gBAAA;AAAA,IACtE,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,UAAU,CAAA,CAAE,UAAA;AAAA,IAAY,aAAa,CAAA,CAAE,aAAA;AAAA,IAC3D,iBAAiB,CAAA,CAAE,iBAAA;AAAA,IAAmB,cAAc,CAAA,CAAE,mBAAA;AAAA,IACtD,gBAAgB,CAAA,CAAE,SAAA;AAAA,IAAW,eAAe,CAAA,CAAE,oBAAA;AAAA,IAC9C,QAAQ,CAAA,CAAE,cAAA;AAAA,IAAgB,gBAAgB,CAAA,CAAE,gBAAA;AAAA,IAC5C,eAAe,CAAA,CAAE,0BAAA;AAAA,IAA4B,QAAQ,CAAA,CAAE,QAAA;AAAA,IACvD,SAAS,CAAA,CAAE,SAAA;AAAA,IAAW,SAAS,CAAA,CAAE,cAAA;AAAA,IAAgB,QAAQ,CAAA,CAAE,eAAA;AAAA,IAC3D,SAAS,CAAA,CAAE,8BAAA;AAAA,IAAgC,SAAS,CAAA,CAAE,SAAA;AAAA,IACtD,eAAe,CAAA,CAAE,MAAA;AAAA,IAAQ,aAAa,CAAA,CAAE,MAAA;AAAA,IACxC,aAAa,CAAA,CAAE,cAAA;AAAA,IAAgB,QAAQ,CAAA,CAAE,YAAA;AAAA,IACzC,cAAc,CAAA,CAAE,aAAA;AAAA,IAAe,gBAAgB,CAAA,CAAE,eAAA;AAAA,IAAiB,SAAS,CAAA,CAAE,SAAA;AAAA,IAC7E,QAAQ,CAAA,CAAE,kBAAA;AAAA,IAAoB,QAAQ,CAAA,CAAE,mBAAA;AAAA,IACxC,cAAc,CAAA,CAAE,aAAA;AAAA,IAAe,iBAAiB,CAAA,CAAE,SAAA;AAAA,IAClD,OAAO,CAAA,CAAE,cAAA;AAAA,IAAgB,aAAa,CAAA,CAAE,aAAA;AAAA,IAAe,QAAQ,CAAA,CAAE,iBAAA;AAAA,IACjE,WAAW,CAAA,CAAE,8BAAA;AAAA,IAAgC,QAAQ,CAAA,CAAE,UAAA;AAAA,IAAY,QAAQ,CAAA,CAAE,SAAA;AAAA,IAC7E,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,YAAY,CAAA,CAAE,YAAA;AAAA,IAClC,YAAY,CAAA,CAAE,iBAAA;AAAA,IAAmB,UAAU,CAAA,CAAE;AAAA,GAC/C;AACA,EAAA,OAAO,iBAAiB,CAAA,EAAyC,OAAA,EAAS,EAAE,WAAA,EAAa,QAAQ,CAAA;AACnG","file":"heroicons-HJTKMLIJ.js","sourcesContent":["import type { IconMap } from './types'\nimport { buildExtendedMap } from './utils'\n\nexport async function load(): Promise<IconMap> {\n let H: typeof import(\"@heroicons/react/24/outline\")\n try { H = await import(\"@heroicons/react/24/outline\") }\n catch { throw new Error('gridsmith-ui: @heroicons/react is not installed. Run: npm install @heroicons/react') }\n const aliases: IconMap = {\n \"home\": H.HomeIcon, \"folder\": H.FolderIcon, \"chart\": H.ChartBarIcon,\n \"settings\": H.Cog6ToothIcon, \"chevron-right\": H.ChevronRightIcon,\n \"close\": H.XMarkIcon, \"plus\": H.PlusIcon, \"search\": H.MagnifyingGlassIcon,\n \"bell\": H.BellIcon, \"user\": H.UserIcon, \"check\": H.CheckIcon,\n \"warning\": H.ExclamationTriangleIcon, \"info\": H.InformationCircleIcon,\n \"error\": H.ExclamationCircleIcon, \"clock\": H.ClockIcon, \"calendar\": H.CalendarDaysIcon,\n \"bold\": H.BoldIcon, \"italic\": H.ItalicIcon, \"underline\": H.UnderlineIcon,\n \"strikethrough\": H.StrikethroughIcon, \"align-left\": H.Bars3BottomLeftIcon,\n \"align-center\": H.Bars3Icon, \"align-right\": H.Bars3BottomRightIcon,\n \"list\": H.ListBulletIcon, \"list-ordered\": H.NumberedListIcon,\n \"list-checks\": H.ClipboardDocumentCheckIcon, \"link\": H.LinkIcon,\n \"image\": H.PhotoIcon, \"table\": H.TableCellsIcon, \"code\": H.CodeBracketIcon,\n \"quote\": H.ChatBubbleBottomCenterTextIcon, \"minus\": H.MinusIcon,\n \"superscript\": H.H1Icon, \"subscript\": H.H2Icon,\n \"highlight\": H.PaintBrushIcon, \"type\": H.LanguageIcon,\n \"chevron-up\": H.ChevronUpIcon, \"chevron-down\": H.ChevronDownIcon, \"trash\": H.TrashIcon,\n \"undo\": H.ArrowUturnLeftIcon, \"redo\": H.ArrowUturnRightIcon,\n \"arrow-left\": H.ArrowLeftIcon, \"grip-vertical\": H.Bars2Icon,\n \"mic\": H.MicrophoneIcon, \"paperclip\": H.PaperClipIcon, \"send\": H.PaperAirplaneIcon,\n \"log-out\": H.ArrowRightStartOnRectangleIcon, \"edit\": H.PencilIcon, \"menu\": H.Bars3Icon,\n \"star\": H.StarIcon, \"bookmark\": H.BookmarkIcon,\n \"download\": H.ArrowDownTrayIcon, \"upload\": H.ArrowUpTrayIcon,\n }\n return buildExtendedMap(H as unknown as Record<string, unknown>, aliases, { stripSuffix: \"Icon\" })\n}\n"]}
|
package/dist/icons.js
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -68,12 +68,14 @@ interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
|
68
68
|
}
|
|
69
69
|
declare function Textarea({ className, autoResize, maxRows, ref, ...props }: TextareaProps): react_jsx_runtime.JSX.Element;
|
|
70
70
|
declare function Label({ className, children, ...props }: LabelHTMLAttributes<HTMLLabelElement>): react_jsx_runtime.JSX.Element;
|
|
71
|
-
|
|
71
|
+
type ToggleLayout = "full" | "compact";
|
|
72
|
+
declare function Toggle({ checked, onChange, label, disabled, error, layout, "aria-labelledby": ariaLabelledBy, ...rest }: {
|
|
72
73
|
checked: boolean;
|
|
73
74
|
onChange: (v: boolean) => void;
|
|
74
75
|
label?: string;
|
|
75
76
|
disabled?: boolean;
|
|
76
77
|
error?: boolean;
|
|
78
|
+
layout?: ToggleLayout;
|
|
77
79
|
"aria-labelledby"?: string;
|
|
78
80
|
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onChange">): react_jsx_runtime.JSX.Element;
|
|
79
81
|
|
|
@@ -928,13 +930,12 @@ interface PageHeaderProps {
|
|
|
928
930
|
onBack?: () => void;
|
|
929
931
|
actions?: ReactNode;
|
|
930
932
|
avatar?: ReactNode;
|
|
931
|
-
stats?: ReactNode;
|
|
932
933
|
filters?: ReactNode;
|
|
933
934
|
bannerImage?: string;
|
|
934
935
|
as?: HeadingLevel;
|
|
935
936
|
className?: string;
|
|
936
937
|
}
|
|
937
|
-
declare function PageHeader({ title, description, badge, breadcrumbs, onBack, actions, avatar,
|
|
938
|
+
declare function PageHeader({ title, description, badge, breadcrumbs, onBack, actions, avatar, filters, bannerImage, as: Heading, className, }: PageHeaderProps): react_jsx_runtime.JSX.Element;
|
|
938
939
|
|
|
939
940
|
interface DockItem {
|
|
940
941
|
id: string;
|
|
@@ -1208,9 +1209,10 @@ interface ToastProps {
|
|
|
1208
1209
|
pauseOnHover?: boolean;
|
|
1209
1210
|
action?: ToastAction;
|
|
1210
1211
|
position?: ToastPosition;
|
|
1212
|
+
mode?: "light" | "dark";
|
|
1211
1213
|
container?: Element | DocumentFragment;
|
|
1212
1214
|
}
|
|
1213
|
-
declare function Toast({ variant, message, visible, onDismiss, duration, pauseOnHover, action, position, container }: ToastProps): react.ReactPortal | null;
|
|
1215
|
+
declare function Toast({ variant, message, visible, onDismiss, duration, pauseOnHover, action, position, mode, container }: ToastProps): react.ReactPortal | null;
|
|
1214
1216
|
|
|
1215
1217
|
type ProgressVariant = "default" | "success" | "warning" | "error";
|
|
1216
1218
|
interface ProgressProps {
|