@kjaniec-dev/ui-mcp 0.4.1 → 0.6.0

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.
@@ -212,7 +212,7 @@
212
212
  }
213
213
  ],
214
214
  "cva": null,
215
- "usageSnippet": "<Input placeholder=\"Jane Doe\" />"
215
+ "usageSnippet": "<Input placeholder=\"Kamil Janiec\" />"
216
216
  },
217
217
  {
218
218
  "name": "Textarea",
@@ -284,7 +284,7 @@
284
284
  }
285
285
  ],
286
286
  "cva": null,
287
- "usageSnippet": "<Select>\n <option>Administrator</option>\n <option>Editor</option>\n <option>View only</option>\n </Select>"
287
+ "usageSnippet": "<Select>\n <option>Personal Portfolio</option>\n <option>B2B Landlord SaaS</option>\n <option>Accounting App</option>\n </Select>"
288
288
  },
289
289
  {
290
290
  "name": "Checkbox",
@@ -1096,6 +1096,323 @@
1096
1096
  }
1097
1097
  ],
1098
1098
  "cva": null,
1099
- "usageSnippet": "<PageHeader\n eyebrow=\"Open source\"\n title=\"Projects\"\n description=\"Things I've built and shipped.\"\n actions={\n <>\n <Button size=\"sm\">View all</Button>\n <Button size=\"sm\" variant=\"ghost\">GitHub</Button>\n </>"
1099
+ "usageSnippet": "<PageHeader\n eyebrow=\"B2B SaaS\"\n title=\"Dashboard Shell\"\n description=\"The shell structure renders a responsive frame container with a sticky sidebar, topbar, and main canvas.\"\n actions={<Button size=\"sm\">New Project</Button>}\n />"
1100
+ },
1101
+ {
1102
+ "name": "EmptyState",
1103
+ "importPath": "import { EmptyState } from \"@kjaniec-dev/ui\";",
1104
+ "description": "React component EmptyState.",
1105
+ "props": [
1106
+ {
1107
+ "name": "icon",
1108
+ "type": "React.ReactNode",
1109
+ "optional": true,
1110
+ "defaultValue": null,
1111
+ "description": ""
1112
+ },
1113
+ {
1114
+ "name": "title",
1115
+ "type": "string",
1116
+ "optional": false,
1117
+ "defaultValue": null,
1118
+ "description": ""
1119
+ },
1120
+ {
1121
+ "name": "description",
1122
+ "type": "string",
1123
+ "optional": true,
1124
+ "defaultValue": null,
1125
+ "description": ""
1126
+ },
1127
+ {
1128
+ "name": "action",
1129
+ "type": "React.ReactNode",
1130
+ "optional": true,
1131
+ "defaultValue": null,
1132
+ "description": ""
1133
+ }
1134
+ ],
1135
+ "cva": null,
1136
+ "usageSnippet": "<EmptyState\n title=\"No integrations active\"\n description=\"Connect your Slack, GitHub, or Discord channel to start receiving automated notifications.\"\n icon={\n <svg fill=\"none\" stroke=\"currentColor\" strokeWidth={2} viewBox=\"0 0 24 24\">\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" d=\"M12 4.5v15m7.5-7.5h-15\" />"
1137
+ },
1138
+ {
1139
+ "name": "MetricCard",
1140
+ "importPath": "import { MetricCard } from \"@kjaniec-dev/ui\";",
1141
+ "description": "React component MetricCard.",
1142
+ "props": [
1143
+ {
1144
+ "name": "title",
1145
+ "type": "string",
1146
+ "optional": false,
1147
+ "defaultValue": null,
1148
+ "description": ""
1149
+ },
1150
+ {
1151
+ "name": "value",
1152
+ "type": "string | number",
1153
+ "optional": false,
1154
+ "defaultValue": null,
1155
+ "description": ""
1156
+ },
1157
+ {
1158
+ "name": "trend",
1159
+ "type": "string",
1160
+ "optional": true,
1161
+ "defaultValue": null,
1162
+ "description": ""
1163
+ },
1164
+ {
1165
+ "name": "trendDirection",
1166
+ "type": "\"up\" | \"down\" | \"neutral\"",
1167
+ "optional": true,
1168
+ "defaultValue": "\"neutral\"",
1169
+ "description": ""
1170
+ },
1171
+ {
1172
+ "name": "description",
1173
+ "type": "string",
1174
+ "optional": true,
1175
+ "defaultValue": null,
1176
+ "description": ""
1177
+ },
1178
+ {
1179
+ "name": "icon",
1180
+ "type": "React.ReactNode",
1181
+ "optional": true,
1182
+ "defaultValue": null,
1183
+ "description": ""
1184
+ }
1185
+ ],
1186
+ "cva": null,
1187
+ "usageSnippet": "<MetricCard\n title=\"Revenue\"\n value=\"$48,259.00\"\n trend=\"+8.2%\"\n trendDirection=\"up\"\n description=\"Total sales this quarter\"\n />"
1188
+ },
1189
+ {
1190
+ "name": "DataTable",
1191
+ "importPath": "import { DataTable } from \"@kjaniec-dev/ui\";",
1192
+ "description": "React component DataTable.",
1193
+ "props": [
1194
+ {
1195
+ "name": "columns",
1196
+ "type": "DataTableColumn<T>[]",
1197
+ "optional": false,
1198
+ "defaultValue": null,
1199
+ "description": ""
1200
+ },
1201
+ {
1202
+ "name": "data",
1203
+ "type": "T[]",
1204
+ "optional": false,
1205
+ "defaultValue": null,
1206
+ "description": ""
1207
+ },
1208
+ {
1209
+ "name": "loading",
1210
+ "type": "boolean",
1211
+ "optional": true,
1212
+ "defaultValue": "false",
1213
+ "description": ""
1214
+ },
1215
+ {
1216
+ "name": "error",
1217
+ "type": "string",
1218
+ "optional": true,
1219
+ "defaultValue": null,
1220
+ "description": ""
1221
+ },
1222
+ {
1223
+ "name": "emptyTitle",
1224
+ "type": "string",
1225
+ "optional": true,
1226
+ "defaultValue": "\"No data available\"",
1227
+ "description": ""
1228
+ },
1229
+ {
1230
+ "name": "emptyDescription",
1231
+ "type": "string",
1232
+ "optional": true,
1233
+ "defaultValue": "\"There are no records to display at this time.\"",
1234
+ "description": ""
1235
+ },
1236
+ {
1237
+ "name": "emptyAction",
1238
+ "type": "React.ReactNode",
1239
+ "optional": true,
1240
+ "defaultValue": null,
1241
+ "description": ""
1242
+ }
1243
+ ],
1244
+ "cva": null,
1245
+ "usageSnippet": "<DataTable columns={columns} data={sampleData} />"
1246
+ },
1247
+ {
1248
+ "name": "DataTableColumn",
1249
+ "importPath": "import { DataTableColumn } from \"@kjaniec-dev/ui\";",
1250
+ "description": "React component DataTableColumn.",
1251
+ "props": [
1252
+ {
1253
+ "name": "header",
1254
+ "type": "React.ReactNode",
1255
+ "optional": false,
1256
+ "defaultValue": null,
1257
+ "description": ""
1258
+ },
1259
+ {
1260
+ "name": "accessor",
1261
+ "type": "(row: T) => React.ReactNode",
1262
+ "optional": false,
1263
+ "defaultValue": null,
1264
+ "description": ""
1265
+ },
1266
+ {
1267
+ "name": "className",
1268
+ "type": "string",
1269
+ "optional": true,
1270
+ "defaultValue": null,
1271
+ "description": ""
1272
+ }
1273
+ ],
1274
+ "cva": null,
1275
+ "usageSnippet": "<DataTableColumn>\n <!-- Content -->\n</DataTableColumn>"
1276
+ },
1277
+ {
1278
+ "name": "FormField",
1279
+ "importPath": "import { FormField } from \"@kjaniec-dev/ui\";",
1280
+ "description": "React component FormField.",
1281
+ "props": [
1282
+ {
1283
+ "name": "label",
1284
+ "type": "string",
1285
+ "optional": false,
1286
+ "defaultValue": null,
1287
+ "description": ""
1288
+ },
1289
+ {
1290
+ "name": "hint",
1291
+ "type": "string",
1292
+ "optional": true,
1293
+ "defaultValue": null,
1294
+ "description": ""
1295
+ },
1296
+ {
1297
+ "name": "error",
1298
+ "type": "string",
1299
+ "optional": true,
1300
+ "defaultValue": null,
1301
+ "description": ""
1302
+ },
1303
+ {
1304
+ "name": "required",
1305
+ "type": "boolean",
1306
+ "optional": true,
1307
+ "defaultValue": null,
1308
+ "description": ""
1309
+ },
1310
+ {
1311
+ "name": "children",
1312
+ "type": "React.ReactNode",
1313
+ "optional": false,
1314
+ "defaultValue": null,
1315
+ "description": ""
1316
+ }
1317
+ ],
1318
+ "cva": null,
1319
+ "usageSnippet": "<FormField label=\"Full Name\">\n <Input placeholder=\"Kamil Janiec\" />"
1320
+ },
1321
+ {
1322
+ "name": "ErrorState",
1323
+ "importPath": "import { ErrorState } from \"@kjaniec-dev/ui\";",
1324
+ "description": "React component ErrorState.",
1325
+ "props": [
1326
+ {
1327
+ "name": "title",
1328
+ "type": "string",
1329
+ "optional": true,
1330
+ "defaultValue": "\"Wystąpił błąd\"",
1331
+ "description": ""
1332
+ },
1333
+ {
1334
+ "name": "message",
1335
+ "type": "string",
1336
+ "optional": false,
1337
+ "defaultValue": null,
1338
+ "description": ""
1339
+ },
1340
+ {
1341
+ "name": "onRetry",
1342
+ "type": "() => void",
1343
+ "optional": true,
1344
+ "defaultValue": null,
1345
+ "description": ""
1346
+ },
1347
+ {
1348
+ "name": "retryLabel",
1349
+ "type": "string",
1350
+ "optional": true,
1351
+ "defaultValue": "\"Spróbuj ponownie\"",
1352
+ "description": ""
1353
+ }
1354
+ ],
1355
+ "cva": null,
1356
+ "usageSnippet": "<ErrorState\n title=\"Failed to Load Invoices\"\n message=\"We encountered a temporary database error while retrieving your billing records.\"\n onRetry={() => alert(\"Retrying...\")}\n retryLabel=\"Reload Invoices\"\n />"
1357
+ },
1358
+ {
1359
+ "name": "Skeleton",
1360
+ "importPath": "import { Skeleton } from \"@kjaniec-dev/ui\";",
1361
+ "description": "React component Skeleton.",
1362
+ "props": [
1363
+ {
1364
+ "name": "variant",
1365
+ "type": "\"text\" | \"circular\" | \"rectangular\"",
1366
+ "optional": true,
1367
+ "defaultValue": "\"rectangular\"",
1368
+ "description": ""
1369
+ },
1370
+ {
1371
+ "name": "width",
1372
+ "type": "string | number",
1373
+ "optional": true,
1374
+ "defaultValue": null,
1375
+ "description": ""
1376
+ },
1377
+ {
1378
+ "name": "height",
1379
+ "type": "string | number",
1380
+ "optional": true,
1381
+ "defaultValue": null,
1382
+ "description": ""
1383
+ }
1384
+ ],
1385
+ "cva": null,
1386
+ "usageSnippet": "<Skeleton variant=\"text\" width=\"60%\" />"
1387
+ },
1388
+ {
1389
+ "name": "DashboardShell",
1390
+ "importPath": "import { DashboardShell } from \"@kjaniec-dev/ui\";",
1391
+ "description": "React component DashboardShell.",
1392
+ "props": [
1393
+ {
1394
+ "name": "sidebar",
1395
+ "type": "React.ReactNode",
1396
+ "optional": true,
1397
+ "defaultValue": null,
1398
+ "description": ""
1399
+ },
1400
+ {
1401
+ "name": "topbar",
1402
+ "type": "React.ReactNode",
1403
+ "optional": true,
1404
+ "defaultValue": null,
1405
+ "description": ""
1406
+ },
1407
+ {
1408
+ "name": "children",
1409
+ "type": "React.ReactNode",
1410
+ "optional": false,
1411
+ "defaultValue": null,
1412
+ "description": ""
1413
+ }
1414
+ ],
1415
+ "cva": null,
1416
+ "usageSnippet": "<DashboardShell\n sidebar={\n <div className=\"p-6 flex flex-col gap-6 h-full bg-subtle\">\n <div className=\"font-bold text-lg tracking-tight text-primary\">KJ Product Kit</div>\n <nav className=\"flex flex-col gap-2\">\n <a href=\"#\" className=\"text-sm font-medium text-foreground hover:text-primary transition-colors\">Dashboard</a>\n <a href=\"#\" className=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\">Projects</a>\n <a href=\"#\" className=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\">Invoices</a>\n <a href=\"#\" className=\"text-sm font-medium text-muted-foreground hover:text-primary transition-colors\">Settings</a>\n </nav>\n </div>\n }\n topbar={\n <div className=\"w-full flex items-center justify-between\">\n <span className=\"text-sm font-medium text-muted-foreground\">Workspace / Personal</span>\n <Button size=\"sm\" variant=\"ghost\">Profile</Button>\n </div>\n }\n >\n <PageHeader\n eyebrow=\"B2B SaaS\"\n title=\"Dashboard Shell\"\n description=\"The shell structure renders a responsive frame container with a sticky sidebar, topbar, and main canvas.\"\n actions={<Button size=\"sm\">New Project</Button>}\n />"
1100
1417
  }
1101
1418
  ]
package/data/tokens.json CHANGED
@@ -482,6 +482,76 @@
482
482
  "dark": "#f0f9ff",
483
483
  "tailwind": ""
484
484
  },
485
+ {
486
+ "name": "color.semantic.light.bgCanvas",
487
+ "category": "color",
488
+ "light": "#f4f4f5",
489
+ "dark": "#f4f4f5",
490
+ "tailwind": ""
491
+ },
492
+ {
493
+ "name": "color.semantic.light.bgSubtle",
494
+ "category": "color",
495
+ "light": "#fafafa",
496
+ "dark": "#fafafa",
497
+ "tailwind": ""
498
+ },
499
+ {
500
+ "name": "color.semantic.light.bgSurface",
501
+ "category": "color",
502
+ "light": "#ffffff",
503
+ "dark": "#ffffff",
504
+ "tailwind": ""
505
+ },
506
+ {
507
+ "name": "color.semantic.light.bgElevated",
508
+ "category": "color",
509
+ "light": "#ffffff",
510
+ "dark": "#ffffff",
511
+ "tailwind": ""
512
+ },
513
+ {
514
+ "name": "color.semantic.light.bgOverlay",
515
+ "category": "color",
516
+ "light": "rgba(9, 9, 11, 0.4)",
517
+ "dark": "rgba(9, 9, 11, 0.4)",
518
+ "tailwind": ""
519
+ },
520
+ {
521
+ "name": "color.semantic.light.borderSubtle",
522
+ "category": "color",
523
+ "light": "#f4f4f5",
524
+ "dark": "#f4f4f5",
525
+ "tailwind": ""
526
+ },
527
+ {
528
+ "name": "color.semantic.light.borderStrong",
529
+ "category": "color",
530
+ "light": "#e4e4e7",
531
+ "dark": "#e4e4e7",
532
+ "tailwind": ""
533
+ },
534
+ {
535
+ "name": "color.semantic.light.chart1",
536
+ "category": "color",
537
+ "light": "#f59e0b",
538
+ "dark": "#f59e0b",
539
+ "tailwind": ""
540
+ },
541
+ {
542
+ "name": "color.semantic.light.chart2",
543
+ "category": "color",
544
+ "light": "#14b8a6",
545
+ "dark": "#14b8a6",
546
+ "tailwind": ""
547
+ },
548
+ {
549
+ "name": "color.semantic.light.chart3",
550
+ "category": "color",
551
+ "light": "#0284c7",
552
+ "dark": "#0284c7",
553
+ "tailwind": ""
554
+ },
485
555
  {
486
556
  "name": "color.semantic.dark.background",
487
557
  "category": "color",
@@ -650,6 +720,76 @@
650
720
  "dark": "#082f49",
651
721
  "tailwind": ""
652
722
  },
723
+ {
724
+ "name": "color.semantic.dark.bgCanvas",
725
+ "category": "color",
726
+ "light": "#09090b",
727
+ "dark": "#09090b",
728
+ "tailwind": ""
729
+ },
730
+ {
731
+ "name": "color.semantic.dark.bgSubtle",
732
+ "category": "color",
733
+ "light": "#121214",
734
+ "dark": "#121214",
735
+ "tailwind": ""
736
+ },
737
+ {
738
+ "name": "color.semantic.dark.bgSurface",
739
+ "category": "color",
740
+ "light": "#18181b",
741
+ "dark": "#18181b",
742
+ "tailwind": ""
743
+ },
744
+ {
745
+ "name": "color.semantic.dark.bgElevated",
746
+ "category": "color",
747
+ "light": "#27272a",
748
+ "dark": "#27272a",
749
+ "tailwind": ""
750
+ },
751
+ {
752
+ "name": "color.semantic.dark.bgOverlay",
753
+ "category": "color",
754
+ "light": "rgba(9, 9, 11, 0.7)",
755
+ "dark": "rgba(9, 9, 11, 0.7)",
756
+ "tailwind": ""
757
+ },
758
+ {
759
+ "name": "color.semantic.dark.borderSubtle",
760
+ "category": "color",
761
+ "light": "#1f1f23",
762
+ "dark": "#1f1f23",
763
+ "tailwind": ""
764
+ },
765
+ {
766
+ "name": "color.semantic.dark.borderStrong",
767
+ "category": "color",
768
+ "light": "#27272a",
769
+ "dark": "#27272a",
770
+ "tailwind": ""
771
+ },
772
+ {
773
+ "name": "color.semantic.dark.chart1",
774
+ "category": "color",
775
+ "light": "#fbbf24",
776
+ "dark": "#fbbf24",
777
+ "tailwind": ""
778
+ },
779
+ {
780
+ "name": "color.semantic.dark.chart2",
781
+ "category": "color",
782
+ "light": "#2dd4bf",
783
+ "dark": "#2dd4bf",
784
+ "tailwind": ""
785
+ },
786
+ {
787
+ "name": "color.semantic.dark.chart3",
788
+ "category": "color",
789
+ "light": "#0ea5e9",
790
+ "dark": "#0ea5e9",
791
+ "tailwind": ""
792
+ },
653
793
  {
654
794
  "name": "typography.font.sans",
655
795
  "category": "typography",
@@ -894,5 +1034,68 @@
894
1034
  "light": "0 0 0 1px rgb(245 158 11 / 0.16), 0 16px 48px rgb(245 158 11 / 0.18)",
895
1035
  "dark": "0 0 0 1px rgb(245 158 11 / 0.16), 0 16px 48px rgb(245 158 11 / 0.18)",
896
1036
  "tailwind": "shadow-kj-glow"
1037
+ },
1038
+ {
1039
+ "name": "density.default",
1040
+ "category": "density",
1041
+ "light": "1.0",
1042
+ "dark": "1.0",
1043
+ "tailwind": ""
1044
+ },
1045
+ {
1046
+ "name": "density.compact",
1047
+ "category": "density",
1048
+ "light": "0.82",
1049
+ "dark": "0.82",
1050
+ "tailwind": ""
1051
+ },
1052
+ {
1053
+ "name": "density.comfortable",
1054
+ "category": "density",
1055
+ "light": "1.18",
1056
+ "dark": "1.18",
1057
+ "tailwind": ""
1058
+ },
1059
+ {
1060
+ "name": "motion.duration.fast",
1061
+ "category": "motion",
1062
+ "light": "120ms",
1063
+ "dark": "120ms",
1064
+ "tailwind": ""
1065
+ },
1066
+ {
1067
+ "name": "motion.duration.normal",
1068
+ "category": "motion",
1069
+ "light": "180ms",
1070
+ "dark": "180ms",
1071
+ "tailwind": ""
1072
+ },
1073
+ {
1074
+ "name": "motion.duration.slow",
1075
+ "category": "motion",
1076
+ "light": "280ms",
1077
+ "dark": "280ms",
1078
+ "tailwind": ""
1079
+ },
1080
+ {
1081
+ "name": "motion.ease.standard",
1082
+ "category": "motion",
1083
+ "light": "cubic-bezier(0.4, 0, 0.2, 1)",
1084
+ "dark": "cubic-bezier(0.4, 0, 0.2, 1)",
1085
+ "tailwind": ""
1086
+ },
1087
+ {
1088
+ "name": "motion.ease.out",
1089
+ "category": "motion",
1090
+ "light": "cubic-bezier(0, 0, 0.2, 1)",
1091
+ "dark": "cubic-bezier(0, 0, 0.2, 1)",
1092
+ "tailwind": ""
1093
+ },
1094
+ {
1095
+ "name": "motion.ease.spring",
1096
+ "category": "motion",
1097
+ "light": "cubic-bezier(0.34, 1.56, 0.64, 1)",
1098
+ "dark": "cubic-bezier(0.34, 1.56, 0.64, 1)",
1099
+ "tailwind": ""
897
1100
  }
898
1101
  ]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kjaniec-dev/ui-mcp",
3
- "version": "0.4.1",
3
+ "version": "0.6.0",
4
4
  "description": "MCP (Model Context Protocol) server for KJ Product Kit design system and UI components",
5
5
  "license": "MIT",
6
6
  "author": "kjaniec-dev",