gridsmith-ui 0.3.0 → 0.3.2

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.
@@ -0,0 +1,67 @@
1
+ import { buildExtendedMap } from './chunk-GYVBRUO2.js';
2
+ import './chunk-5WRI5ZAA.js';
3
+
4
+ // ../../showcase/src/lib/icon-packs/lucide.ts
5
+ async function load() {
6
+ const L = await import('lucide-react');
7
+ const aliases = {
8
+ "home": L.Home,
9
+ "folder": L.FolderKanban,
10
+ "chart": L.BarChart3,
11
+ "settings": L.Settings,
12
+ "chevron-right": L.ChevronRight,
13
+ "close": L.X,
14
+ "plus": L.Plus,
15
+ "search": L.Search,
16
+ "bell": L.Bell,
17
+ "user": L.User,
18
+ "check": L.Check,
19
+ "warning": L.AlertTriangle,
20
+ "info": L.Info,
21
+ "error": L.AlertCircle,
22
+ "clock": L.Clock,
23
+ "calendar": L.CalendarDays,
24
+ "bold": L.Bold,
25
+ "italic": L.Italic,
26
+ "underline": L.Underline,
27
+ "strikethrough": L.Strikethrough,
28
+ "align-left": L.AlignLeft,
29
+ "align-center": L.AlignCenter,
30
+ "align-right": L.AlignRight,
31
+ "list": L.List,
32
+ "list-ordered": L.ListOrdered,
33
+ "list-checks": L.ListChecks,
34
+ "link": L.Link,
35
+ "image": L.Image,
36
+ "table": L.Table,
37
+ "code": L.Code,
38
+ "quote": L.Quote,
39
+ "minus": L.Minus,
40
+ "superscript": L.Superscript,
41
+ "subscript": L.Subscript,
42
+ "highlight": L.Highlighter,
43
+ "type": L.Type,
44
+ "chevron-up": L.ChevronUp,
45
+ "chevron-down": L.ChevronDown,
46
+ "trash": L.Trash2,
47
+ "undo": L.Undo2,
48
+ "redo": L.Redo2,
49
+ "arrow-left": L.ArrowLeft,
50
+ "grip-vertical": L.GripVertical,
51
+ "mic": L.Mic,
52
+ "paperclip": L.Paperclip,
53
+ "send": L.Send,
54
+ "log-out": L.LogOut,
55
+ "edit": L.Pencil,
56
+ "menu": L.Menu,
57
+ "star": L.Star,
58
+ "bookmark": L.Bookmark,
59
+ "download": L.Download,
60
+ "upload": L.Upload
61
+ };
62
+ return buildExtendedMap(L, aliases);
63
+ }
64
+
65
+ export { load };
66
+ //# sourceMappingURL=lucide-6TGT4G26.js.map
67
+ //# sourceMappingURL=lucide-6TGT4G26.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../showcase/src/lib/icon-packs/lucide.ts"],"names":[],"mappings":";;;;AAGA,eAAsB,IAAA,GAAyB;AAC7C,EAAA,MAAM,CAAA,GAAI,MAAM,OAAO,cAAc,CAAA;AACrC,EAAA,MAAM,OAAA,GAAmB;AAAA,IACvB,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,UAAU,CAAA,CAAE,YAAA;AAAA,IAAc,SAAS,CAAA,CAAE,SAAA;AAAA,IAAW,YAAY,CAAA,CAAE,QAAA;AAAA,IAC9E,iBAAiB,CAAA,CAAE,YAAA;AAAA,IAAc,SAAS,CAAA,CAAE,CAAA;AAAA,IAAG,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,UAAU,CAAA,CAAE,MAAA;AAAA,IAC3E,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,WAAW,CAAA,CAAE,aAAA;AAAA,IAC/D,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,SAAS,CAAA,CAAE,WAAA;AAAA,IAAa,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,YAAY,CAAA,CAAE,YAAA;AAAA,IACxE,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,UAAU,CAAA,CAAE,MAAA;AAAA,IAAQ,aAAa,CAAA,CAAE,SAAA;AAAA,IAAW,iBAAiB,CAAA,CAAE,aAAA;AAAA,IACjF,cAAc,CAAA,CAAE,SAAA;AAAA,IAAW,gBAAgB,CAAA,CAAE,WAAA;AAAA,IAAa,eAAe,CAAA,CAAE,UAAA;AAAA,IAC3E,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,gBAAgB,CAAA,CAAE,WAAA;AAAA,IAAa,eAAe,CAAA,CAAE,UAAA;AAAA,IAChE,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,QAAQ,CAAA,CAAE,IAAA;AAAA,IAC9D,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,eAAe,CAAA,CAAE,WAAA;AAAA,IAAa,aAAa,CAAA,CAAE,SAAA;AAAA,IACjF,aAAa,CAAA,CAAE,WAAA;AAAA,IAAa,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,cAAc,CAAA,CAAE,SAAA;AAAA,IAAW,gBAAgB,CAAA,CAAE,WAAA;AAAA,IACzF,SAAS,CAAA,CAAE,MAAA;AAAA,IAAQ,QAAQ,CAAA,CAAE,KAAA;AAAA,IAAO,QAAQ,CAAA,CAAE,KAAA;AAAA,IAC9C,cAAc,CAAA,CAAE,SAAA;AAAA,IAAW,iBAAiB,CAAA,CAAE,YAAA;AAAA,IAC9C,OAAO,CAAA,CAAE,GAAA;AAAA,IAAK,aAAa,CAAA,CAAE,SAAA;AAAA,IAAW,QAAQ,CAAA,CAAE,IAAA;AAAA,IAClD,WAAW,CAAA,CAAE,MAAA;AAAA,IAAQ,QAAQ,CAAA,CAAE,MAAA;AAAA,IAAQ,QAAQ,CAAA,CAAE,IAAA;AAAA,IACjD,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,YAAY,CAAA,CAAE,QAAA;AAAA,IAC9B,YAAY,CAAA,CAAE,QAAA;AAAA,IAAU,UAAU,CAAA,CAAE;AAAA,GACtC;AACA,EAAA,OAAO,gBAAA,CAAiB,GAAyC,OAAO,CAAA;AAC1E","file":"lucide-6TGT4G26.js","sourcesContent":["import type { IconMap } from './types'\nimport { buildExtendedMap } from './utils'\n\nexport async function load(): Promise<IconMap> {\n const L = await import(\"lucide-react\")\n const aliases: IconMap = {\n \"home\": L.Home, \"folder\": L.FolderKanban, \"chart\": L.BarChart3, \"settings\": L.Settings,\n \"chevron-right\": L.ChevronRight, \"close\": L.X, \"plus\": L.Plus, \"search\": L.Search,\n \"bell\": L.Bell, \"user\": L.User, \"check\": L.Check, \"warning\": L.AlertTriangle,\n \"info\": L.Info, \"error\": L.AlertCircle, \"clock\": L.Clock, \"calendar\": L.CalendarDays,\n \"bold\": L.Bold, \"italic\": L.Italic, \"underline\": L.Underline, \"strikethrough\": L.Strikethrough,\n \"align-left\": L.AlignLeft, \"align-center\": L.AlignCenter, \"align-right\": L.AlignRight,\n \"list\": L.List, \"list-ordered\": L.ListOrdered, \"list-checks\": L.ListChecks,\n \"link\": L.Link, \"image\": L.Image, \"table\": L.Table, \"code\": L.Code,\n \"quote\": L.Quote, \"minus\": L.Minus, \"superscript\": L.Superscript, \"subscript\": L.Subscript,\n \"highlight\": L.Highlighter, \"type\": L.Type, \"chevron-up\": L.ChevronUp, \"chevron-down\": L.ChevronDown,\n \"trash\": L.Trash2, \"undo\": L.Undo2, \"redo\": L.Redo2,\n \"arrow-left\": L.ArrowLeft, \"grip-vertical\": L.GripVertical,\n \"mic\": L.Mic, \"paperclip\": L.Paperclip, \"send\": L.Send,\n \"log-out\": L.LogOut, \"edit\": L.Pencil, \"menu\": L.Menu,\n \"star\": L.Star, \"bookmark\": L.Bookmark,\n \"download\": L.Download, \"upload\": L.Upload,\n }\n return buildExtendedMap(L as unknown as Record<string, unknown>, aliases)\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/phosphor.ts
5
+ async function load() {
6
+ let P;
7
+ try {
8
+ P = await import('@phosphor-icons/react');
9
+ } catch {
10
+ throw new Error("gridsmith-ui: @phosphor-icons/react is not installed. Run: npm install @phosphor-icons/react");
11
+ }
12
+ const aliases = {
13
+ "home": P.House,
14
+ "folder": P.FolderSimple,
15
+ "chart": P.ChartBar,
16
+ "settings": P.Gear,
17
+ "chevron-right": P.CaretRight,
18
+ "close": P.X,
19
+ "plus": P.Plus,
20
+ "search": P.MagnifyingGlass,
21
+ "bell": P.Bell,
22
+ "user": P.User,
23
+ "check": P.Check,
24
+ "warning": P.Warning,
25
+ "info": P.Info,
26
+ "error": P.WarningCircle,
27
+ "clock": P.Clock,
28
+ "calendar": P.CalendarBlank,
29
+ "bold": P.TextB,
30
+ "italic": P.TextItalic,
31
+ "underline": P.TextUnderline,
32
+ "strikethrough": P.TextStrikethrough,
33
+ "align-left": P.TextAlignLeft,
34
+ "align-center": P.TextAlignCenter,
35
+ "align-right": P.TextAlignRight,
36
+ "list": P.ListBullets,
37
+ "list-ordered": P.ListNumbers,
38
+ "list-checks": P.ListChecks,
39
+ "link": P.Link,
40
+ "image": P.Image,
41
+ "table": P.Table,
42
+ "code": P.Code,
43
+ "quote": P.Quotes,
44
+ "minus": P.Minus,
45
+ "superscript": P.TextSuperscript,
46
+ "subscript": P.TextSubscript,
47
+ "highlight": P.Highlighter,
48
+ "type": P.TextT,
49
+ "chevron-up": P.CaretUp,
50
+ "chevron-down": P.CaretDown,
51
+ "trash": P.Trash,
52
+ "undo": P.ArrowCounterClockwise,
53
+ "redo": P.ArrowClockwise,
54
+ "arrow-left": P.ArrowLeft,
55
+ "grip-vertical": P.DotsSixVertical,
56
+ "mic": P.Microphone,
57
+ "paperclip": P.Paperclip,
58
+ "send": P.PaperPlaneTilt,
59
+ "log-out": P.SignOut,
60
+ "edit": P.PencilSimple,
61
+ "menu": P.List,
62
+ "star": P.Star,
63
+ "bookmark": P.BookmarkSimple,
64
+ "download": P.DownloadSimple,
65
+ "upload": P.UploadSimple
66
+ };
67
+ return buildExtendedMap(P, aliases);
68
+ }
69
+
70
+ export { load };
71
+ //# sourceMappingURL=phosphor-BWDP4PU7.js.map
72
+ //# sourceMappingURL=phosphor-BWDP4PU7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../showcase/src/lib/icon-packs/phosphor.ts"],"names":[],"mappings":";;;;AAGA,eAAsB,IAAA,GAAyB;AAC7C,EAAA,IAAI,CAAA;AACJ,EAAA,IAAI;AAAE,IAAA,CAAA,GAAI,MAAM,OAAO,uBAAuB,CAAA;AAAA,EAAE,CAAA,CAAA,MAC1C;AAAE,IAAA,MAAM,IAAI,MAAM,8FAA8F,CAAA;AAAA,EAAE;AACxH,EAAA,MAAM,OAAA,GAAmB;AAAA,IACvB,QAAQ,CAAA,CAAE,KAAA;AAAA,IAAO,UAAU,CAAA,CAAE,YAAA;AAAA,IAAc,SAAS,CAAA,CAAE,QAAA;AAAA,IACtD,YAAY,CAAA,CAAE,IAAA;AAAA,IAAM,iBAAiB,CAAA,CAAE,UAAA;AAAA,IAAY,SAAS,CAAA,CAAE,CAAA;AAAA,IAC9D,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,UAAU,CAAA,CAAE,eAAA;AAAA,IAAiB,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,QAAQ,CAAA,CAAE,IAAA;AAAA,IACvE,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,WAAW,CAAA,CAAE,OAAA;AAAA,IAAS,QAAQ,CAAA,CAAE,IAAA;AAAA,IAClD,SAAS,CAAA,CAAE,aAAA;AAAA,IAAe,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,YAAY,CAAA,CAAE,aAAA;AAAA,IAC1D,QAAQ,CAAA,CAAE,KAAA;AAAA,IAAO,UAAU,CAAA,CAAE,UAAA;AAAA,IAAY,aAAa,CAAA,CAAE,aAAA;AAAA,IACxD,iBAAiB,CAAA,CAAE,iBAAA;AAAA,IAAmB,cAAc,CAAA,CAAE,aAAA;AAAA,IACtD,gBAAgB,CAAA,CAAE,eAAA;AAAA,IAAiB,eAAe,CAAA,CAAE,cAAA;AAAA,IACpD,QAAQ,CAAA,CAAE,WAAA;AAAA,IAAa,gBAAgB,CAAA,CAAE,WAAA;AAAA,IAAa,eAAe,CAAA,CAAE,UAAA;AAAA,IACvE,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,QAAQ,CAAA,CAAE,IAAA;AAAA,IAC9D,SAAS,CAAA,CAAE,MAAA;AAAA,IAAQ,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,eAAe,CAAA,CAAE,eAAA;AAAA,IACtD,aAAa,CAAA,CAAE,aAAA;AAAA,IAAe,aAAa,CAAA,CAAE,WAAA;AAAA,IAAa,QAAQ,CAAA,CAAE,KAAA;AAAA,IACpE,cAAc,CAAA,CAAE,OAAA;AAAA,IAAS,gBAAgB,CAAA,CAAE,SAAA;AAAA,IAAW,SAAS,CAAA,CAAE,KAAA;AAAA,IACjE,QAAQ,CAAA,CAAE,qBAAA;AAAA,IAAuB,QAAQ,CAAA,CAAE,cAAA;AAAA,IAC3C,cAAc,CAAA,CAAE,SAAA;AAAA,IAAW,iBAAiB,CAAA,CAAE,eAAA;AAAA,IAC9C,OAAO,CAAA,CAAE,UAAA;AAAA,IAAY,aAAa,CAAA,CAAE,SAAA;AAAA,IAAW,QAAQ,CAAA,CAAE,cAAA;AAAA,IACzD,WAAW,CAAA,CAAE,OAAA;AAAA,IAAS,QAAQ,CAAA,CAAE,YAAA;AAAA,IAAc,QAAQ,CAAA,CAAE,IAAA;AAAA,IACxD,QAAQ,CAAA,CAAE,IAAA;AAAA,IAAM,YAAY,CAAA,CAAE,cAAA;AAAA,IAC9B,YAAY,CAAA,CAAE,cAAA;AAAA,IAAgB,UAAU,CAAA,CAAE;AAAA,GAC5C;AACA,EAAA,OAAO,gBAAA,CAAiB,GAAyC,OAAO,CAAA;AAC1E","file":"phosphor-BWDP4PU7.js","sourcesContent":["import type { IconMap } from './types'\nimport { buildExtendedMap } from './utils'\n\nexport async function load(): Promise<IconMap> {\n let P: typeof import(\"@phosphor-icons/react\")\n try { P = await import(\"@phosphor-icons/react\") }\n catch { throw new Error('gridsmith-ui: @phosphor-icons/react is not installed. Run: npm install @phosphor-icons/react') }\n const aliases: IconMap = {\n \"home\": P.House, \"folder\": P.FolderSimple, \"chart\": P.ChartBar,\n \"settings\": P.Gear, \"chevron-right\": P.CaretRight, \"close\": P.X,\n \"plus\": P.Plus, \"search\": P.MagnifyingGlass, \"bell\": P.Bell, \"user\": P.User,\n \"check\": P.Check, \"warning\": P.Warning, \"info\": P.Info,\n \"error\": P.WarningCircle, \"clock\": P.Clock, \"calendar\": P.CalendarBlank,\n \"bold\": P.TextB, \"italic\": P.TextItalic, \"underline\": P.TextUnderline,\n \"strikethrough\": P.TextStrikethrough, \"align-left\": P.TextAlignLeft,\n \"align-center\": P.TextAlignCenter, \"align-right\": P.TextAlignRight,\n \"list\": P.ListBullets, \"list-ordered\": P.ListNumbers, \"list-checks\": P.ListChecks,\n \"link\": P.Link, \"image\": P.Image, \"table\": P.Table, \"code\": P.Code,\n \"quote\": P.Quotes, \"minus\": P.Minus, \"superscript\": P.TextSuperscript,\n \"subscript\": P.TextSubscript, \"highlight\": P.Highlighter, \"type\": P.TextT,\n \"chevron-up\": P.CaretUp, \"chevron-down\": P.CaretDown, \"trash\": P.Trash,\n \"undo\": P.ArrowCounterClockwise, \"redo\": P.ArrowClockwise,\n \"arrow-left\": P.ArrowLeft, \"grip-vertical\": P.DotsSixVertical,\n \"mic\": P.Microphone, \"paperclip\": P.Paperclip, \"send\": P.PaperPlaneTilt,\n \"log-out\": P.SignOut, \"edit\": P.PencilSimple, \"menu\": P.List,\n \"star\": P.Star, \"bookmark\": P.BookmarkSimple,\n \"download\": P.DownloadSimple, \"upload\": P.UploadSimple,\n }\n return buildExtendedMap(P as unknown as Record<string, unknown>, aliases)\n}\n"]}
package/dist/roots.css CHANGED
@@ -457,6 +457,12 @@ body {
457
457
  }
458
458
  }
459
459
 
460
+ @media (forced-colors: active) {
461
+ :root {
462
+ --ds-gradient: none !important;
463
+ }
464
+ }
465
+
460
466
  /* Nested cards: only the outermost card gets ambient hover */
461
467
  [data-card] [data-card] {
462
468
  --ds-ambient-hover-scale: 1;
@@ -0,0 +1,72 @@
1
+ import { buildExtendedMap } from './chunk-GYVBRUO2.js';
2
+ import './chunk-5WRI5ZAA.js';
3
+
4
+ // ../../showcase/src/lib/icon-packs/tabler.ts
5
+ async function load() {
6
+ let T;
7
+ try {
8
+ T = await import('@tabler/icons-react');
9
+ } catch {
10
+ throw new Error("gridsmith-ui: @tabler/icons-react is not installed. Run: npm install @tabler/icons-react");
11
+ }
12
+ const aliases = {
13
+ "home": T.IconHome,
14
+ "folder": T.IconFolder,
15
+ "chart": T.IconChartBar,
16
+ "settings": T.IconSettings,
17
+ "chevron-right": T.IconChevronRight,
18
+ "close": T.IconX,
19
+ "plus": T.IconPlus,
20
+ "search": T.IconSearch,
21
+ "bell": T.IconBell,
22
+ "user": T.IconUser,
23
+ "check": T.IconCheck,
24
+ "warning": T.IconAlertTriangle,
25
+ "info": T.IconInfoCircle,
26
+ "error": T.IconAlertCircle,
27
+ "clock": T.IconClock,
28
+ "calendar": T.IconCalendar,
29
+ "bold": T.IconBold,
30
+ "italic": T.IconItalic,
31
+ "underline": T.IconUnderline,
32
+ "strikethrough": T.IconStrikethrough,
33
+ "align-left": T.IconAlignLeft,
34
+ "align-center": T.IconAlignCenter,
35
+ "align-right": T.IconAlignRight,
36
+ "list": T.IconList,
37
+ "list-ordered": T.IconListNumbers,
38
+ "list-checks": T.IconListCheck,
39
+ "link": T.IconLink,
40
+ "image": T.IconPhoto,
41
+ "table": T.IconTable,
42
+ "code": T.IconCode,
43
+ "quote": T.IconQuote,
44
+ "minus": T.IconMinus,
45
+ "superscript": T.IconSuperscript,
46
+ "subscript": T.IconSubscript,
47
+ "highlight": T.IconHighlight,
48
+ "type": T.IconTypography,
49
+ "chevron-up": T.IconChevronUp,
50
+ "chevron-down": T.IconChevronDown,
51
+ "trash": T.IconTrash,
52
+ "undo": T.IconArrowBackUp,
53
+ "redo": T.IconArrowForwardUp,
54
+ "arrow-left": T.IconArrowLeft,
55
+ "grip-vertical": T.IconGripVertical,
56
+ "mic": T.IconMicrophone,
57
+ "paperclip": T.IconPaperclip,
58
+ "send": T.IconSend,
59
+ "log-out": T.IconLogout,
60
+ "edit": T.IconPencil,
61
+ "menu": T.IconMenu2,
62
+ "star": T.IconStar,
63
+ "bookmark": T.IconBookmark,
64
+ "download": T.IconDownload,
65
+ "upload": T.IconUpload
66
+ };
67
+ return buildExtendedMap(T, aliases, { stripPrefix: "Icon" });
68
+ }
69
+
70
+ export { load };
71
+ //# sourceMappingURL=tabler-6TPNTLFV.js.map
72
+ //# sourceMappingURL=tabler-6TPNTLFV.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../showcase/src/lib/icon-packs/tabler.ts"],"names":[],"mappings":";;;;AAGA,eAAsB,IAAA,GAAyB;AAC7C,EAAA,IAAI,CAAA;AACJ,EAAA,IAAI;AAAE,IAAA,CAAA,GAAI,MAAM,OAAO,qBAAqB,CAAA;AAAA,EAAE,CAAA,CAAA,MACxC;AAAE,IAAA,MAAM,IAAI,MAAM,0FAA0F,CAAA;AAAA,EAAE;AACpH,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,YAAA;AAAA,IAAc,iBAAiB,CAAA,CAAE,gBAAA;AAAA,IAC/C,SAAS,CAAA,CAAE,KAAA;AAAA,IAAO,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,UAAU,CAAA,CAAE,UAAA;AAAA,IAClD,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,SAAS,CAAA,CAAE,SAAA;AAAA,IACnD,WAAW,CAAA,CAAE,iBAAA;AAAA,IAAmB,QAAQ,CAAA,CAAE,cAAA;AAAA,IAC1C,SAAS,CAAA,CAAE,eAAA;AAAA,IAAiB,SAAS,CAAA,CAAE,SAAA;AAAA,IAAW,YAAY,CAAA,CAAE,YAAA;AAAA,IAChE,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,aAAA;AAAA,IACtD,gBAAgB,CAAA,CAAE,eAAA;AAAA,IAAiB,eAAe,CAAA,CAAE,cAAA;AAAA,IACpD,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,gBAAgB,CAAA,CAAE,eAAA;AAAA,IAAiB,eAAe,CAAA,CAAE,aAAA;AAAA,IACxE,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,SAAS,CAAA,CAAE,SAAA;AAAA,IAAW,SAAS,CAAA,CAAE,SAAA;AAAA,IAAW,QAAQ,CAAA,CAAE,QAAA;AAAA,IAC1E,SAAS,CAAA,CAAE,SAAA;AAAA,IAAW,SAAS,CAAA,CAAE,SAAA;AAAA,IAAW,eAAe,CAAA,CAAE,eAAA;AAAA,IAC7D,aAAa,CAAA,CAAE,aAAA;AAAA,IAAe,aAAa,CAAA,CAAE,aAAA;AAAA,IAAe,QAAQ,CAAA,CAAE,cAAA;AAAA,IACtE,cAAc,CAAA,CAAE,aAAA;AAAA,IAAe,gBAAgB,CAAA,CAAE,eAAA;AAAA,IAAiB,SAAS,CAAA,CAAE,SAAA;AAAA,IAC7E,QAAQ,CAAA,CAAE,eAAA;AAAA,IAAiB,QAAQ,CAAA,CAAE,kBAAA;AAAA,IACrC,cAAc,CAAA,CAAE,aAAA;AAAA,IAAe,iBAAiB,CAAA,CAAE,gBAAA;AAAA,IAClD,OAAO,CAAA,CAAE,cAAA;AAAA,IAAgB,aAAa,CAAA,CAAE,aAAA;AAAA,IAAe,QAAQ,CAAA,CAAE,QAAA;AAAA,IACjE,WAAW,CAAA,CAAE,UAAA;AAAA,IAAY,QAAQ,CAAA,CAAE,UAAA;AAAA,IAAY,QAAQ,CAAA,CAAE,SAAA;AAAA,IACzD,QAAQ,CAAA,CAAE,QAAA;AAAA,IAAU,YAAY,CAAA,CAAE,YAAA;AAAA,IAClC,YAAY,CAAA,CAAE,YAAA;AAAA,IAAc,UAAU,CAAA,CAAE;AAAA,GAC1C;AACA,EAAA,OAAO,iBAAiB,CAAA,EAAyC,OAAA,EAAS,EAAE,WAAA,EAAa,QAAQ,CAAA;AACnG","file":"tabler-6TPNTLFV.js","sourcesContent":["import type { IconMap } from './types'\nimport { buildExtendedMap } from './utils'\n\nexport async function load(): Promise<IconMap> {\n let T: typeof import(\"@tabler/icons-react\")\n try { T = await import(\"@tabler/icons-react\") }\n catch { throw new Error('gridsmith-ui: @tabler/icons-react is not installed. Run: npm install @tabler/icons-react') }\n const aliases: IconMap = {\n \"home\": T.IconHome, \"folder\": T.IconFolder, \"chart\": T.IconChartBar,\n \"settings\": T.IconSettings, \"chevron-right\": T.IconChevronRight,\n \"close\": T.IconX, \"plus\": T.IconPlus, \"search\": T.IconSearch,\n \"bell\": T.IconBell, \"user\": T.IconUser, \"check\": T.IconCheck,\n \"warning\": T.IconAlertTriangle, \"info\": T.IconInfoCircle,\n \"error\": T.IconAlertCircle, \"clock\": T.IconClock, \"calendar\": T.IconCalendar,\n \"bold\": T.IconBold, \"italic\": T.IconItalic, \"underline\": T.IconUnderline,\n \"strikethrough\": T.IconStrikethrough, \"align-left\": T.IconAlignLeft,\n \"align-center\": T.IconAlignCenter, \"align-right\": T.IconAlignRight,\n \"list\": T.IconList, \"list-ordered\": T.IconListNumbers, \"list-checks\": T.IconListCheck,\n \"link\": T.IconLink, \"image\": T.IconPhoto, \"table\": T.IconTable, \"code\": T.IconCode,\n \"quote\": T.IconQuote, \"minus\": T.IconMinus, \"superscript\": T.IconSuperscript,\n \"subscript\": T.IconSubscript, \"highlight\": T.IconHighlight, \"type\": T.IconTypography,\n \"chevron-up\": T.IconChevronUp, \"chevron-down\": T.IconChevronDown, \"trash\": T.IconTrash,\n \"undo\": T.IconArrowBackUp, \"redo\": T.IconArrowForwardUp,\n \"arrow-left\": T.IconArrowLeft, \"grip-vertical\": T.IconGripVertical,\n \"mic\": T.IconMicrophone, \"paperclip\": T.IconPaperclip, \"send\": T.IconSend,\n \"log-out\": T.IconLogout, \"edit\": T.IconPencil, \"menu\": T.IconMenu2,\n \"star\": T.IconStar, \"bookmark\": T.IconBookmark,\n \"download\": T.IconDownload, \"upload\": T.IconUpload,\n }\n return buildExtendedMap(T as unknown as Record<string, unknown>, aliases, { stripPrefix: \"Icon\" })\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gridsmith-ui",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Gridsmith component library — 82 React components with design tokens and a CSS custom property theming engine",
5
5
  "type": "module",
6
6
  "sideEffects": [
@@ -49,9 +49,6 @@
49
49
  "react-icons": "^5.0.0"
50
50
  },
51
51
  "peerDependenciesMeta": {
52
- "lucide-react": {
53
- "optional": true
54
- },
55
52
  "@phosphor-icons/react": {
56
53
  "optional": true
57
54
  },
@@ -1,396 +0,0 @@
1
- import { createContext, useContext, useState, useEffect } from 'react';
2
- import { jsx } from 'react/jsx-runtime';
3
-
4
- // ../../showcase/src/lib/icons.tsx
5
- function pascalToKebab(s) {
6
- 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();
7
- }
8
- function isRenderableComponent(value) {
9
- if (typeof value === "function") return true;
10
- return typeof value === "object" && value !== null && "$$typeof" in value;
11
- }
12
- function buildExtendedMap(mod, aliases, opts) {
13
- const map = {};
14
- for (const [exportName, value] of Object.entries(mod)) {
15
- if (!isRenderableComponent(value)) continue;
16
- if (!exportName[0] || exportName[0] !== exportName[0].toUpperCase()) continue;
17
- let name = exportName;
18
- if (opts?.stripPrefix && name.startsWith(opts.stripPrefix)) {
19
- name = name.slice(opts.stripPrefix.length);
20
- }
21
- if (opts?.stripSuffix && name.endsWith(opts.stripSuffix)) {
22
- name = name.slice(0, -opts.stripSuffix.length);
23
- }
24
- if (!name) continue;
25
- map[pascalToKebab(name)] = value;
26
- }
27
- Object.assign(map, aliases);
28
- return map;
29
- }
30
- var packCache = /* @__PURE__ */ new Map();
31
- var fullyLoaded = /* @__PURE__ */ new Set();
32
- async function loadLucide() {
33
- const L = await import('lucide-react');
34
- const aliases = {
35
- "home": L.Home,
36
- "folder": L.FolderKanban,
37
- "chart": L.BarChart3,
38
- "settings": L.Settings,
39
- "chevron-right": L.ChevronRight,
40
- "close": L.X,
41
- "plus": L.Plus,
42
- "search": L.Search,
43
- "bell": L.Bell,
44
- "user": L.User,
45
- "check": L.Check,
46
- "warning": L.AlertTriangle,
47
- "info": L.Info,
48
- "error": L.AlertCircle,
49
- "clock": L.Clock,
50
- "calendar": L.CalendarDays,
51
- "bold": L.Bold,
52
- "italic": L.Italic,
53
- "underline": L.Underline,
54
- "strikethrough": L.Strikethrough,
55
- "align-left": L.AlignLeft,
56
- "align-center": L.AlignCenter,
57
- "align-right": L.AlignRight,
58
- "list": L.List,
59
- "list-ordered": L.ListOrdered,
60
- "list-checks": L.ListChecks,
61
- "link": L.Link,
62
- "image": L.Image,
63
- "table": L.Table,
64
- "code": L.Code,
65
- "quote": L.Quote,
66
- "minus": L.Minus,
67
- "superscript": L.Superscript,
68
- "subscript": L.Subscript,
69
- "highlight": L.Highlighter,
70
- "type": L.Type,
71
- "chevron-up": L.ChevronUp,
72
- "chevron-down": L.ChevronDown,
73
- "trash": L.Trash2,
74
- "undo": L.Undo2,
75
- "redo": L.Redo2,
76
- "arrow-left": L.ArrowLeft,
77
- "grip-vertical": L.GripVertical,
78
- "mic": L.Mic,
79
- "paperclip": L.Paperclip,
80
- "send": L.Send,
81
- "log-out": L.LogOut,
82
- "edit": L.Pencil,
83
- "menu": L.Menu,
84
- "star": L.Star,
85
- "bookmark": L.Bookmark,
86
- "download": L.Download,
87
- "upload": L.Upload
88
- };
89
- return buildExtendedMap(L, aliases);
90
- }
91
- async function loadPhosphor() {
92
- const P = await import('@phosphor-icons/react');
93
- const aliases = {
94
- "home": P.House,
95
- "folder": P.FolderSimple,
96
- "chart": P.ChartBar,
97
- "settings": P.Gear,
98
- "chevron-right": P.CaretRight,
99
- "close": P.X,
100
- "plus": P.Plus,
101
- "search": P.MagnifyingGlass,
102
- "bell": P.Bell,
103
- "user": P.User,
104
- "check": P.Check,
105
- "warning": P.Warning,
106
- "info": P.Info,
107
- "error": P.WarningCircle,
108
- "clock": P.Clock,
109
- "calendar": P.CalendarBlank,
110
- "bold": P.TextB,
111
- "italic": P.TextItalic,
112
- "underline": P.TextUnderline,
113
- "strikethrough": P.TextStrikethrough,
114
- "align-left": P.TextAlignLeft,
115
- "align-center": P.TextAlignCenter,
116
- "align-right": P.TextAlignRight,
117
- "list": P.ListBullets,
118
- "list-ordered": P.ListNumbers,
119
- "list-checks": P.ListChecks,
120
- "link": P.Link,
121
- "image": P.Image,
122
- "table": P.Table,
123
- "code": P.Code,
124
- "quote": P.Quotes,
125
- "minus": P.Minus,
126
- "superscript": P.TextSuperscript,
127
- "subscript": P.TextSubscript,
128
- "highlight": P.Highlighter,
129
- "type": P.TextT,
130
- "chevron-up": P.CaretUp,
131
- "chevron-down": P.CaretDown,
132
- "trash": P.Trash,
133
- "undo": P.ArrowCounterClockwise,
134
- "redo": P.ArrowClockwise,
135
- "arrow-left": P.ArrowLeft,
136
- "grip-vertical": P.DotsSixVertical,
137
- "mic": P.Microphone,
138
- "paperclip": P.Paperclip,
139
- "send": P.PaperPlaneTilt,
140
- "log-out": P.SignOut,
141
- "edit": P.PencilSimple,
142
- "menu": P.List,
143
- "star": P.Star,
144
- "bookmark": P.BookmarkSimple,
145
- "download": P.DownloadSimple,
146
- "upload": P.UploadSimple
147
- };
148
- return buildExtendedMap(P, aliases);
149
- }
150
- async function loadHeroicons() {
151
- const H = await import('@heroicons/react/24/outline');
152
- const aliases = {
153
- "home": H.HomeIcon,
154
- "folder": H.FolderIcon,
155
- "chart": H.ChartBarIcon,
156
- "settings": H.Cog6ToothIcon,
157
- "chevron-right": H.ChevronRightIcon,
158
- "close": H.XMarkIcon,
159
- "plus": H.PlusIcon,
160
- "search": H.MagnifyingGlassIcon,
161
- "bell": H.BellIcon,
162
- "user": H.UserIcon,
163
- "check": H.CheckIcon,
164
- "warning": H.ExclamationTriangleIcon,
165
- "info": H.InformationCircleIcon,
166
- "error": H.ExclamationCircleIcon,
167
- "clock": H.ClockIcon,
168
- "calendar": H.CalendarDaysIcon,
169
- "bold": H.BoldIcon,
170
- "italic": H.ItalicIcon,
171
- "underline": H.UnderlineIcon,
172
- "strikethrough": H.StrikethroughIcon,
173
- "align-left": H.Bars3BottomLeftIcon,
174
- "align-center": H.Bars3Icon,
175
- "align-right": H.Bars3BottomRightIcon,
176
- "list": H.ListBulletIcon,
177
- "list-ordered": H.NumberedListIcon,
178
- "list-checks": H.ClipboardDocumentCheckIcon,
179
- "link": H.LinkIcon,
180
- "image": H.PhotoIcon,
181
- "table": H.TableCellsIcon,
182
- "code": H.CodeBracketIcon,
183
- "quote": H.ChatBubbleBottomCenterTextIcon,
184
- "minus": H.MinusIcon,
185
- "superscript": H.H1Icon,
186
- "subscript": H.H2Icon,
187
- "highlight": H.PaintBrushIcon,
188
- "type": H.LanguageIcon,
189
- "chevron-up": H.ChevronUpIcon,
190
- "chevron-down": H.ChevronDownIcon,
191
- "trash": H.TrashIcon,
192
- "undo": H.ArrowUturnLeftIcon,
193
- "redo": H.ArrowUturnRightIcon,
194
- "arrow-left": H.ArrowLeftIcon,
195
- "grip-vertical": H.Bars2Icon,
196
- "mic": H.MicrophoneIcon,
197
- "paperclip": H.PaperClipIcon,
198
- "send": H.PaperAirplaneIcon,
199
- "log-out": H.ArrowRightStartOnRectangleIcon,
200
- "edit": H.PencilIcon,
201
- "menu": H.Bars3Icon,
202
- "star": H.StarIcon,
203
- "bookmark": H.BookmarkIcon,
204
- // Heroicons has no Download/Upload exports — tray arrows are its equivalents
205
- "download": H.ArrowDownTrayIcon,
206
- "upload": H.ArrowUpTrayIcon
207
- };
208
- return buildExtendedMap(H, aliases, { stripSuffix: "Icon" });
209
- }
210
- async function loadTabler() {
211
- const T = await import('@tabler/icons-react');
212
- const aliases = {
213
- "home": T.IconHome,
214
- "folder": T.IconFolder,
215
- "chart": T.IconChartBar,
216
- "settings": T.IconSettings,
217
- "chevron-right": T.IconChevronRight,
218
- "close": T.IconX,
219
- "plus": T.IconPlus,
220
- "search": T.IconSearch,
221
- "bell": T.IconBell,
222
- "user": T.IconUser,
223
- "check": T.IconCheck,
224
- "warning": T.IconAlertTriangle,
225
- "info": T.IconInfoCircle,
226
- "error": T.IconAlertCircle,
227
- "clock": T.IconClock,
228
- "calendar": T.IconCalendar,
229
- "bold": T.IconBold,
230
- "italic": T.IconItalic,
231
- "underline": T.IconUnderline,
232
- "strikethrough": T.IconStrikethrough,
233
- "align-left": T.IconAlignLeft,
234
- "align-center": T.IconAlignCenter,
235
- "align-right": T.IconAlignRight,
236
- "list": T.IconList,
237
- "list-ordered": T.IconListNumbers,
238
- "list-checks": T.IconListCheck,
239
- "link": T.IconLink,
240
- "image": T.IconPhoto,
241
- "table": T.IconTable,
242
- "code": T.IconCode,
243
- "quote": T.IconQuote,
244
- "minus": T.IconMinus,
245
- "superscript": T.IconSuperscript,
246
- "subscript": T.IconSubscript,
247
- "highlight": T.IconHighlight,
248
- "type": T.IconTypography,
249
- "chevron-up": T.IconChevronUp,
250
- "chevron-down": T.IconChevronDown,
251
- "trash": T.IconTrash,
252
- "undo": T.IconArrowBackUp,
253
- "redo": T.IconArrowForwardUp,
254
- "arrow-left": T.IconArrowLeft,
255
- "grip-vertical": T.IconGripVertical,
256
- "mic": T.IconMicrophone,
257
- "paperclip": T.IconPaperclip,
258
- "send": T.IconSend,
259
- "log-out": T.IconLogout,
260
- "edit": T.IconPencil,
261
- "menu": T.IconMenu2,
262
- "star": T.IconStar,
263
- "bookmark": T.IconBookmark,
264
- "download": T.IconDownload,
265
- "upload": T.IconUpload
266
- };
267
- return buildExtendedMap(T, aliases, { stripPrefix: "Icon" });
268
- }
269
- async function loadFeather() {
270
- const F = await import('react-icons/fi');
271
- const aliases = {
272
- "home": F.FiHome,
273
- "folder": F.FiFolder,
274
- "chart": F.FiBarChart2,
275
- "settings": F.FiSettings,
276
- "chevron-right": F.FiChevronRight,
277
- "close": F.FiX,
278
- "plus": F.FiPlus,
279
- "search": F.FiSearch,
280
- "bell": F.FiBell,
281
- "user": F.FiUser,
282
- "check": F.FiCheck,
283
- "warning": F.FiAlertTriangle,
284
- "info": F.FiInfo,
285
- "error": F.FiAlertCircle,
286
- "clock": F.FiClock,
287
- "calendar": F.FiCalendar,
288
- "bold": F.FiBold,
289
- "italic": F.FiItalic,
290
- "underline": F.FiUnderline,
291
- "strikethrough": F.FiSlash,
292
- "align-left": F.FiAlignLeft,
293
- "align-center": F.FiAlignCenter,
294
- "align-right": F.FiAlignRight,
295
- "list": F.FiList,
296
- "list-ordered": F.FiList,
297
- "list-checks": F.FiCheckSquare,
298
- "link": F.FiLink,
299
- "image": F.FiImage,
300
- "table": F.FiGrid,
301
- "code": F.FiCode,
302
- "quote": F.FiMessageSquare,
303
- "minus": F.FiMinus,
304
- "superscript": F.FiChevronUp,
305
- "subscript": F.FiChevronDown,
306
- "highlight": F.FiEdit2,
307
- "type": F.FiType,
308
- "chevron-up": F.FiChevronUp,
309
- "chevron-down": F.FiChevronDown,
310
- "trash": F.FiTrash2,
311
- "undo": F.FiRotateCcw,
312
- "redo": F.FiRotateCw,
313
- "arrow-left": F.FiArrowLeft,
314
- "grip-vertical": F.FiMoreVertical,
315
- "mic": F.FiMic,
316
- "paperclip": F.FiPaperclip,
317
- "send": F.FiSend,
318
- "log-out": F.FiLogOut,
319
- "edit": F.FiEdit2,
320
- "menu": F.FiMenu,
321
- "star": F.FiStar,
322
- "bookmark": F.FiBookmark,
323
- "download": F.FiDownload,
324
- "upload": F.FiUpload
325
- };
326
- return buildExtendedMap(F, aliases, { stripPrefix: "Fi" });
327
- }
328
- var packLoaders = {
329
- lucide: loadLucide,
330
- phosphor: loadPhosphor,
331
- heroicons: loadHeroicons,
332
- tabler: loadTabler,
333
- feather: loadFeather
334
- };
335
- var IconCtx = createContext({ pack: "lucide", weight: 1.5 });
336
- function IconProvider({ pack, weight, children }) {
337
- return /* @__PURE__ */ jsx(IconCtx.Provider, { value: { pack, weight }, children });
338
- }
339
- function useIconMap(pack) {
340
- const [map, setMap] = useState(packCache.get(pack) ?? null);
341
- useEffect(() => {
342
- if (fullyLoaded.has(pack)) {
343
- const cached = packCache.get(pack);
344
- if (cached) setMap(cached);
345
- return;
346
- }
347
- let cancelled = false;
348
- packLoaders[pack]().then((loaded) => {
349
- packCache.set(pack, loaded);
350
- fullyLoaded.add(pack);
351
- if (!cancelled) setMap(loaded);
352
- });
353
- return () => {
354
- cancelled = true;
355
- };
356
- }, [pack]);
357
- return map;
358
- }
359
- function getPhosphorWeight(numericWeight) {
360
- if (numericWeight <= 0.75) return "thin";
361
- if (numericWeight <= 1.25) return "light";
362
- if (numericWeight <= 1.75) return "regular";
363
- if (numericWeight <= 2.25) return "bold";
364
- return "fill";
365
- }
366
- function Icon({ name, size = 16, className }) {
367
- const { pack, weight } = useContext(IconCtx);
368
- const map = useIconMap(pack);
369
- const needsFallback = pack !== "lucide" && map !== null && !map[name];
370
- const lucideMap = useIconMap(needsFallback ? "lucide" : pack);
371
- if (!map) return null;
372
- let Comp = map[name];
373
- let renderPack = pack;
374
- if (!Comp) {
375
- if (!needsFallback || !lucideMap?.[name]) return null;
376
- Comp = lucideMap[name];
377
- renderPack = "lucide";
378
- }
379
- if (renderPack === "phosphor") {
380
- return /* @__PURE__ */ jsx(Comp, { size, weight: getPhosphorWeight(weight), className });
381
- }
382
- if (renderPack === "heroicons") {
383
- return /* @__PURE__ */ jsx(Comp, { className, style: { width: size, height: size, strokeWidth: weight } });
384
- }
385
- if (renderPack === "tabler") {
386
- return /* @__PURE__ */ jsx(Comp, { size, stroke: weight, className });
387
- }
388
- if (renderPack === "feather") {
389
- return /* @__PURE__ */ jsx(Comp, { size, className, strokeWidth: weight });
390
- }
391
- return /* @__PURE__ */ jsx(Comp, { size, strokeWidth: weight, className });
392
- }
393
-
394
- export { Icon, IconProvider };
395
- //# sourceMappingURL=chunk-H2XI6OUB.js.map
396
- //# sourceMappingURL=chunk-H2XI6OUB.js.map