@jameskabz/nextcraft-ui 0.5.0 → 0.6.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.
Files changed (59) hide show
  1. package/README.md +94 -0
  2. package/dist/chunk-6F7FN2ZF.js +671 -0
  3. package/dist/chunk-6F7FN2ZF.js.map +1 -0
  4. package/dist/chunk-7Q4Z47HT.js +657 -0
  5. package/dist/chunk-7Q4Z47HT.js.map +1 -0
  6. package/dist/chunk-7SKDTIEK.js +49 -0
  7. package/dist/chunk-7SKDTIEK.js.map +1 -0
  8. package/dist/chunk-FEFH5O5K.js +49 -0
  9. package/dist/chunk-FEFH5O5K.js.map +1 -0
  10. package/dist/chunk-M2EKVXB6.js +127 -0
  11. package/dist/chunk-M2EKVXB6.js.map +1 -0
  12. package/dist/chunk-SBLIF6UU.js +1029 -0
  13. package/dist/chunk-SBLIF6UU.js.map +1 -0
  14. package/dist/chunk-VQ6T3HIX.js +9 -0
  15. package/dist/chunk-VQ6T3HIX.js.map +1 -0
  16. package/dist/chunk-YVZL4GET.js +328 -0
  17. package/dist/chunk-YVZL4GET.js.map +1 -0
  18. package/dist/chunk-ZRV4Y374.js +582 -0
  19. package/dist/chunk-ZRV4Y374.js.map +1 -0
  20. package/dist/craft/components.cjs +1838 -0
  21. package/dist/craft/components.cjs.map +1 -0
  22. package/dist/craft/components.d.cts +369 -0
  23. package/dist/craft/components.d.ts +369 -0
  24. package/dist/craft/components.js +78 -0
  25. package/dist/craft/components.js.map +1 -0
  26. package/dist/craft/forms.cjs +1376 -0
  27. package/dist/craft/forms.cjs.map +1 -0
  28. package/dist/craft/forms.d.cts +101 -0
  29. package/dist/craft/forms.d.ts +101 -0
  30. package/dist/craft/forms.js +14 -0
  31. package/dist/craft/forms.js.map +1 -0
  32. package/dist/craft/layout.cjs +410 -0
  33. package/dist/craft/layout.cjs.map +1 -0
  34. package/dist/craft/layout.d.cts +170 -0
  35. package/dist/craft/layout.d.ts +170 -0
  36. package/dist/craft/layout.js +27 -0
  37. package/dist/craft/layout.js.map +1 -0
  38. package/dist/craft/table.cjs +662 -0
  39. package/dist/craft/table.cjs.map +1 -0
  40. package/dist/craft/table.d.cts +99 -0
  41. package/dist/craft/table.d.ts +99 -0
  42. package/dist/craft/table.js +15 -0
  43. package/dist/craft/table.js.map +1 -0
  44. package/dist/craft/theme.cjs +166 -0
  45. package/dist/craft/theme.cjs.map +1 -0
  46. package/dist/craft/theme.d.cts +10 -0
  47. package/dist/craft/theme.d.ts +10 -0
  48. package/dist/craft/theme.js +12 -0
  49. package/dist/craft/theme.js.map +1 -0
  50. package/dist/index.cjs +1000 -299
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.d.cts +10 -499
  53. package/dist/index.d.ts +10 -499
  54. package/dist/index.js +81 -2689
  55. package/dist/index.js.map +1 -1
  56. package/dist/styles.css +124 -0
  57. package/dist/theme-context-EVI9PfKv.d.cts +22 -0
  58. package/dist/theme-context-EVI9PfKv.d.ts +22 -0
  59. package/package.json +28 -1
package/dist/styles.css CHANGED
@@ -6,8 +6,10 @@
6
6
  --color-amber-200: oklch(92.4% 0.12 95.746);
7
7
  --color-amber-400: oklch(82.8% 0.189 84.429);
8
8
  --color-emerald-200: oklch(90.5% 0.093 164.15);
9
+ --color-emerald-300: oklch(84.5% 0.143 164.978);
9
10
  --color-emerald-400: oklch(76.5% 0.177 163.223);
10
11
  --color-violet-200: oklch(89.4% 0.057 293.283);
12
+ --color-rose-300: oklch(81% 0.117 11.638);
11
13
  --color-rose-400: oklch(71.2% 0.194 13.428);
12
14
  --color-slate-300: oklch(86.9% 0.022 252.894);
13
15
  --color-slate-900: oklch(20.8% 0.042 265.755);
@@ -17,6 +19,7 @@
17
19
  --container-xs: 20rem;
18
20
  --container-sm: 24rem;
19
21
  --container-md: 28rem;
22
+ --container-xl: 36rem;
20
23
  --container-3xl: 48rem;
21
24
  --container-5xl: 64rem;
22
25
  --container-6xl: 72rem;
@@ -286,6 +289,9 @@
286
289
  .z-20 {
287
290
  z-index: 20;
288
291
  }
292
+ .z-40 {
293
+ z-index: 40;
294
+ }
289
295
  .z-50 {
290
296
  z-index: 50;
291
297
  }
@@ -298,6 +304,9 @@
298
304
  .mt-0\.5 {
299
305
  margin-top: calc(var(--spacing) * 0.5);
300
306
  }
307
+ .mt-1 {
308
+ margin-top: calc(var(--spacing) * 1);
309
+ }
301
310
  .mt-2 {
302
311
  margin-top: calc(var(--spacing) * 2);
303
312
  }
@@ -340,6 +349,9 @@
340
349
  .hidden {
341
350
  display: none;
342
351
  }
352
+ .inline-block {
353
+ display: inline-block;
354
+ }
343
355
  .inline-flex {
344
356
  display: inline-flex;
345
357
  }
@@ -358,6 +370,9 @@
358
370
  .h-6 {
359
371
  height: calc(var(--spacing) * 6);
360
372
  }
373
+ .h-8 {
374
+ height: calc(var(--spacing) * 8);
375
+ }
361
376
  .h-9 {
362
377
  height: calc(var(--spacing) * 9);
363
378
  }
@@ -403,6 +418,9 @@
403
418
  .w-6 {
404
419
  width: calc(var(--spacing) * 6);
405
420
  }
421
+ .w-8 {
422
+ width: calc(var(--spacing) * 8);
423
+ }
406
424
  .w-11 {
407
425
  width: calc(var(--spacing) * 11);
408
426
  }
@@ -418,6 +436,9 @@
418
436
  .w-full {
419
437
  width: 100%;
420
438
  }
439
+ .w-max {
440
+ width: max-content;
441
+ }
421
442
  .max-w-3xl {
422
443
  max-width: var(--container-3xl);
423
444
  }
@@ -436,9 +457,15 @@
436
457
  .max-w-sm {
437
458
  max-width: var(--container-sm);
438
459
  }
460
+ .max-w-xl {
461
+ max-width: var(--container-xl);
462
+ }
439
463
  .max-w-xs {
440
464
  max-width: var(--container-xs);
441
465
  }
466
+ .min-w-48 {
467
+ min-width: calc(var(--spacing) * 48);
468
+ }
442
469
  .flex-1 {
443
470
  flex: 1;
444
471
  }
@@ -585,6 +612,13 @@
585
612
  margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
586
613
  }
587
614
  }
615
+ .space-y-8 {
616
+ :where(& > :not(:last-child)) {
617
+ --tw-space-y-reverse: 0;
618
+ margin-block-start: calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));
619
+ margin-block-end: calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)));
620
+ }
621
+ }
588
622
  .space-y-10 {
589
623
  :where(& > :not(:last-child)) {
590
624
  --tw-space-y-reverse: 0;
@@ -635,6 +669,10 @@
635
669
  border-style: var(--tw-border-style);
636
670
  border-width: 2px;
637
671
  }
672
+ .border-\[3px\] {
673
+ border-style: var(--tw-border-style);
674
+ border-width: 3px;
675
+ }
638
676
  .border-t {
639
677
  border-top-style: var(--tw-border-style);
640
678
  border-top-width: 1px;
@@ -662,6 +700,21 @@
662
700
  .border-\[rgb\(var\(--nc-accent-1\)\/0\.6\)\] {
663
701
  border-color: rgb(var(--nc-accent-1)/0.6);
664
702
  }
703
+ .border-\[rgb\(var\(--nc-accent-1\)\/0\.25\)\] {
704
+ border-color: rgb(var(--nc-accent-1)/0.25);
705
+ }
706
+ .border-\[rgb\(var\(--nc-accent-1\)\/0\.45\)\] {
707
+ border-color: rgb(var(--nc-accent-1)/0.45);
708
+ }
709
+ .border-\[rgb\(var\(--nc-accent-2\)\/0\.45\)\] {
710
+ border-color: rgb(var(--nc-accent-2)/0.45);
711
+ }
712
+ .border-\[rgb\(var\(--nc-accent-3\)\/0\.45\)\] {
713
+ border-color: rgb(var(--nc-accent-3)/0.45);
714
+ }
715
+ .border-\[rgb\(var\(--nc-accent-3\)\/0\.65\)\] {
716
+ border-color: rgb(var(--nc-accent-3)/0.65);
717
+ }
665
718
  .border-\[rgb\(var\(--nc-border\)\/0\.3\)\] {
666
719
  border-color: rgb(var(--nc-border)/0.3);
667
720
  }
@@ -710,6 +763,9 @@
710
763
  border-color: color-mix(in oklab, var(--color-white) 60%, transparent);
711
764
  }
712
765
  }
766
+ .border-t-\[rgb\(var\(--nc-accent-1\)\)\] {
767
+ border-top-color: rgb(var(--nc-accent-1));
768
+ }
713
769
  .border-t-transparent {
714
770
  border-top-color: transparent;
715
771
  }
@@ -737,12 +793,24 @@
737
793
  .bg-\[rgb\(var\(--nc-accent-1\)\/0\.08\)\] {
738
794
  background-color: rgb(var(--nc-accent-1)/0.08);
739
795
  }
796
+ .bg-\[rgb\(var\(--nc-accent-1\)\/0\.12\)\] {
797
+ background-color: rgb(var(--nc-accent-1)/0.12);
798
+ }
740
799
  .bg-\[rgb\(var\(--nc-accent-1\)\/0\.25\)\] {
741
800
  background-color: rgb(var(--nc-accent-1)/0.25);
742
801
  }
743
802
  .bg-\[rgb\(var\(--nc-accent-1\)\/0\.65\)\] {
744
803
  background-color: rgb(var(--nc-accent-1)/0.65);
745
804
  }
805
+ .bg-\[rgb\(var\(--nc-accent-2\)\/0\.12\)\] {
806
+ background-color: rgb(var(--nc-accent-2)/0.12);
807
+ }
808
+ .bg-\[rgb\(var\(--nc-accent-3\)\/0\.12\)\] {
809
+ background-color: rgb(var(--nc-accent-3)/0.12);
810
+ }
811
+ .bg-\[rgb\(var\(--nc-accent-3\)\/0\.18\)\] {
812
+ background-color: rgb(var(--nc-accent-3)/0.18);
813
+ }
746
814
  .bg-\[rgb\(var\(--nc-surface\)\/0\.2\)\] {
747
815
  background-color: rgb(var(--nc-surface)/0.2);
748
816
  }
@@ -1005,6 +1073,12 @@
1005
1073
  .text-emerald-200 {
1006
1074
  color: var(--color-emerald-200);
1007
1075
  }
1076
+ .text-emerald-300 {
1077
+ color: var(--color-emerald-300);
1078
+ }
1079
+ .text-rose-300 {
1080
+ color: var(--color-rose-300);
1081
+ }
1008
1082
  .text-slate-300 {
1009
1083
  color: var(--color-slate-300);
1010
1084
  }
@@ -1035,6 +1109,12 @@
1035
1109
  .uppercase {
1036
1110
  text-transform: uppercase;
1037
1111
  }
1112
+ .underline {
1113
+ text-decoration-line: underline;
1114
+ }
1115
+ .underline-offset-4 {
1116
+ text-underline-offset: 4px;
1117
+ }
1038
1118
  .antialiased {
1039
1119
  -webkit-font-smoothing: antialiased;
1040
1120
  -moz-osx-font-smoothing: grayscale;
@@ -1081,6 +1161,10 @@
1081
1161
  --tw-shadow: 0 12px 30px var(--tw-shadow-color, rgb(var(--nc-accent-2)/0.45));
1082
1162
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1083
1163
  }
1164
+ .shadow-\[0_12px_30px_rgba\(0\,0\,0\,0\.25\)\] {
1165
+ --tw-shadow: 0 12px 30px var(--tw-shadow-color, rgba(0,0,0,0.25));
1166
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1167
+ }
1084
1168
  .shadow-\[0_12px_30px_rgba\(0\,0\,0\,0\.35\)\] {
1085
1169
  --tw-shadow: 0 12px 30px var(--tw-shadow-color, rgba(0,0,0,0.35));
1086
1170
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1125,6 +1209,10 @@
1125
1209
  --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1126
1210
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1127
1211
  }
1212
+ .shadow-none {
1213
+ --tw-shadow: 0 0 #0000;
1214
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
1215
+ }
1128
1216
  .shadow-sm {
1129
1217
  --tw-shadow: 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1));
1130
1218
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
@@ -1170,6 +1258,11 @@
1170
1258
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1171
1259
  transition-duration: var(--tw-duration, var(--default-transition-duration));
1172
1260
  }
1261
+ .transition-colors {
1262
+ transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to;
1263
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
1264
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
1265
+ }
1173
1266
  .transition-opacity {
1174
1267
  transition-property: opacity;
1175
1268
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
@@ -1526,6 +1619,20 @@
1526
1619
  }
1527
1620
  }
1528
1621
  }
1622
+ .hover\:bg-\[rgb\(var\(--nc-surface\)\/0\.16\)\] {
1623
+ &:hover {
1624
+ @media (hover: hover) {
1625
+ background-color: rgb(var(--nc-surface)/0.16);
1626
+ }
1627
+ }
1628
+ }
1629
+ .hover\:bg-\[rgb\(var\(--nc-surface\)\/0\.18\)\] {
1630
+ &:hover {
1631
+ @media (hover: hover) {
1632
+ background-color: rgb(var(--nc-surface)/0.18);
1633
+ }
1634
+ }
1635
+ }
1529
1636
  .hover\:bg-transparent {
1530
1637
  &:hover {
1531
1638
  @media (hover: hover) {
@@ -1543,6 +1650,13 @@
1543
1650
  }
1544
1651
  }
1545
1652
  }
1653
+ .hover\:text-\[rgb\(var\(--nc-accent-1\)\)\] {
1654
+ &:hover {
1655
+ @media (hover: hover) {
1656
+ color: rgb(var(--nc-accent-1));
1657
+ }
1658
+ }
1659
+ }
1546
1660
  .hover\:text-\[rgb\(var\(--nc-fg\)\)\] {
1547
1661
  &:hover {
1548
1662
  @media (hover: hover) {
@@ -1691,6 +1805,11 @@
1691
1805
  }
1692
1806
  }
1693
1807
  }
1808
+ .sm\:grid-cols-2 {
1809
+ @media (width >= 40rem) {
1810
+ grid-template-columns: repeat(2, minmax(0, 1fr));
1811
+ }
1812
+ }
1694
1813
  .sm\:px-6 {
1695
1814
  @media (width >= 40rem) {
1696
1815
  padding-inline: calc(var(--spacing) * 6);
@@ -1776,6 +1895,11 @@
1776
1895
  grid-template-columns: 260px 1fr;
1777
1896
  }
1778
1897
  }
1898
+ .lg\:grid-cols-\[minmax\(0\,1fr\)_auto\] {
1899
+ @media (width >= 64rem) {
1900
+ grid-template-columns: minmax(0,1fr) auto;
1901
+ }
1902
+ }
1779
1903
  .lg\:self-start {
1780
1904
  @media (width >= 64rem) {
1781
1905
  align-self: flex-start;
@@ -0,0 +1,22 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ type ThemeName = "aurora" | "ember" | "ocean" | "midnight" | "cosmic";
5
+ type ThemeMode = "light" | "dark" | "system";
6
+ type ThemeContextValue = {
7
+ theme: ThemeName;
8
+ mode: ThemeMode;
9
+ setTheme: (theme: ThemeName) => void;
10
+ setMode: (mode: ThemeMode) => void;
11
+ };
12
+ type ThemeProviderProps = {
13
+ children: React.ReactNode;
14
+ defaultTheme?: ThemeName;
15
+ defaultMode?: ThemeMode;
16
+ storageKeyTheme?: string;
17
+ storageKeyMode?: string;
18
+ };
19
+ declare function ThemeProvider({ children, defaultTheme, defaultMode, storageKeyTheme, storageKeyMode, }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
20
+ declare function useTheme(): ThemeContextValue;
21
+
22
+ export { type ThemeMode as T, type ThemeName as a, ThemeProvider as b, useTheme as u };
@@ -0,0 +1,22 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React from 'react';
3
+
4
+ type ThemeName = "aurora" | "ember" | "ocean" | "midnight" | "cosmic";
5
+ type ThemeMode = "light" | "dark" | "system";
6
+ type ThemeContextValue = {
7
+ theme: ThemeName;
8
+ mode: ThemeMode;
9
+ setTheme: (theme: ThemeName) => void;
10
+ setMode: (mode: ThemeMode) => void;
11
+ };
12
+ type ThemeProviderProps = {
13
+ children: React.ReactNode;
14
+ defaultTheme?: ThemeName;
15
+ defaultMode?: ThemeMode;
16
+ storageKeyTheme?: string;
17
+ storageKeyMode?: string;
18
+ };
19
+ declare function ThemeProvider({ children, defaultTheme, defaultMode, storageKeyTheme, storageKeyMode, }: ThemeProviderProps): react_jsx_runtime.JSX.Element;
20
+ declare function useTheme(): ThemeContextValue;
21
+
22
+ export { type ThemeMode as T, type ThemeName as a, ThemeProvider as b, useTheme as u };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jameskabz/nextcraft-ui",
3
- "version": "0.5.0",
3
+ "version": "0.6.1",
4
4
  "description": "Next.js + Tailwind UI components with a bold, crafted aesthetic.",
5
5
  "private": false,
6
6
  "license": "MIT",
@@ -27,6 +27,31 @@
27
27
  "import": "./dist/index.js",
28
28
  "require": "./dist/index.cjs"
29
29
  },
30
+ "./components": {
31
+ "types": "./dist/craft/components.d.ts",
32
+ "import": "./dist/craft/components.js",
33
+ "require": "./dist/craft/components.cjs"
34
+ },
35
+ "./layout": {
36
+ "types": "./dist/craft/layout.d.ts",
37
+ "import": "./dist/craft/layout.js",
38
+ "require": "./dist/craft/layout.cjs"
39
+ },
40
+ "./forms": {
41
+ "types": "./dist/craft/forms.d.ts",
42
+ "import": "./dist/craft/forms.js",
43
+ "require": "./dist/craft/forms.cjs"
44
+ },
45
+ "./theme": {
46
+ "types": "./dist/craft/theme.d.ts",
47
+ "import": "./dist/craft/theme.js",
48
+ "require": "./dist/craft/theme.cjs"
49
+ },
50
+ "./table": {
51
+ "types": "./dist/craft/table.d.ts",
52
+ "import": "./dist/craft/table.js",
53
+ "require": "./dist/craft/table.cjs"
54
+ },
30
55
  "./styles.css": "./dist/styles.css"
31
56
  },
32
57
  "sideEffects": [
@@ -45,6 +70,7 @@
45
70
  "test:coverage": "echo \"No coverage configured\""
46
71
  },
47
72
  "peerDependencies": {
73
+ "lucide-react": "^0.542.0",
48
74
  "next": "^16.1.4",
49
75
  "react": "^19.2.3",
50
76
  "react-dom": "^19.2.3",
@@ -60,6 +86,7 @@
60
86
  "babel-plugin-react-compiler": "1.0.0",
61
87
  "eslint": "^9",
62
88
  "eslint-config-next": "16.1.4",
89
+ "lucide-react": "^0.563.0",
63
90
  "next": "16.1.4",
64
91
  "react": "19.2.3",
65
92
  "react-dom": "19.2.3",