@nqlib/nqui 0.1.4 → 0.1.5

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 (52) hide show
  1. package/dist/assets/svg/auth-lines.d.ts +4 -0
  2. package/dist/assets/svg/auth-lines.d.ts.map +1 -0
  3. package/dist/assets/svg/logo.d.ts +4 -0
  4. package/dist/assets/svg/logo.d.ts.map +1 -0
  5. package/dist/{base-80a1f760-DjCXSyeI.cjs → base-80a1f760-D44t-CIk.cjs} +1 -1
  6. package/dist/{base-80a1f760-D0C4rGX6.js → base-80a1f760-DLJZ5UgN.js} +1 -1
  7. package/dist/components/AppLayout.d.ts.map +1 -1
  8. package/dist/components/app-sidebar.d.ts.map +1 -1
  9. package/dist/components/custom/enhanced-combobox.d.ts +35 -0
  10. package/dist/components/custom/enhanced-combobox.d.ts.map +1 -0
  11. package/dist/components/custom/enhanced-dropdown-menu.d.ts +37 -0
  12. package/dist/components/custom/enhanced-dropdown-menu.d.ts.map +1 -0
  13. package/dist/components/custom/enhanced-radio-group.d.ts +86 -11
  14. package/dist/components/custom/enhanced-radio-group.d.ts.map +1 -1
  15. package/dist/components/custom/enhanced-select.d.ts +25 -0
  16. package/dist/components/custom/enhanced-select.d.ts.map +1 -0
  17. package/dist/components/custom/enhanced-sonner.d.ts +16 -0
  18. package/dist/components/custom/enhanced-sonner.d.ts.map +1 -0
  19. package/dist/components/shadcn-studio/blocks/login-page-05/login-form.d.ts +3 -0
  20. package/dist/components/shadcn-studio/blocks/login-page-05/login-form.d.ts.map +1 -0
  21. package/dist/components/shadcn-studio/blocks/login-page-05/login-page-05.d.ts +3 -0
  22. package/dist/components/shadcn-studio/blocks/login-page-05/login-page-05.d.ts.map +1 -0
  23. package/dist/components/shadcn-studio/logo.d.ts +5 -0
  24. package/dist/components/shadcn-studio/logo.d.ts.map +1 -0
  25. package/dist/components/ui/card.d.ts +7 -1
  26. package/dist/components/ui/card.d.ts.map +1 -1
  27. package/dist/components/ui/checkbox.d.ts +2 -2
  28. package/dist/components/ui/checkbox.d.ts.map +1 -1
  29. package/dist/components/ui/progress.d.ts +7 -1
  30. package/dist/components/ui/progress.d.ts.map +1 -1
  31. package/dist/components/ui/separator.d.ts.map +1 -1
  32. package/dist/components/ui/sonner.d.ts.map +1 -1
  33. package/dist/{consoleHook-59e792cb-Bo5H9MpE.cjs → consoleHook-59e792cb-286K79en.cjs} +1 -1
  34. package/dist/{consoleHook-59e792cb-Bn_kYimG.js → consoleHook-59e792cb-SgosFBBV.js} +1 -1
  35. package/dist/{index-599aeaf7-DrU1PSR6.cjs → index-599aeaf7-Cd8e6ALI.cjs} +1 -1
  36. package/dist/{index-599aeaf7-D4wnsI9S.js → index-599aeaf7-ChXOdoQL.js} +3 -3
  37. package/dist/{index-y0wancIw.js → index-BG1QVHV6.js} +1 -1
  38. package/dist/{index-BXIRKklr.js → index-BJ0woKXc.js} +3 -3
  39. package/dist/{index-BfXl0N5c.cjs → index-CK4-0ZYu.cjs} +1 -1
  40. package/dist/{index-DXsoJSDt.cjs → index-CWZlTjBW.cjs} +750 -103
  41. package/dist/{index-DC77eP71.js → index-DLKGUTWT.js} +23356 -21839
  42. package/dist/{index-Blaj1BKg.cjs → index-DNnTYNuG.cjs} +1 -1
  43. package/dist/{index-Bh54my7Z.cjs → index-ECcgGcBd.cjs} +1 -1
  44. package/dist/{index-Dk2p9rpx.js → index-IhbpsLSn.js} +2 -2
  45. package/dist/index.d.ts +8 -4
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/nqui.cjs.js +1 -1
  48. package/dist/nqui.es.js +354 -300
  49. package/dist/pages/Dashboard.d.ts.map +1 -1
  50. package/dist/styles.css +96 -310
  51. package/package.json +2 -1
  52. package/scripts/publish-npmjs.js +30 -0
@@ -1 +1 @@
1
- {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../src/pages/Dashboard.tsx"],"names":[],"mappings":"AA4PA,MAAM,CAAC,OAAO,UAAU,SAAS,4CAk0DhC"}
1
+ {"version":3,"file":"Dashboard.d.ts","sourceRoot":"","sources":["../../src/pages/Dashboard.tsx"],"names":[],"mappings":"AA6PA,MAAM,CAAC,OAAO,UAAU,SAAS,4CAm7DhC"}
package/dist/styles.css CHANGED
@@ -314,31 +314,104 @@
314
314
  color-mix(in oklch, var(--primary) 50%, transparent) 100%
315
315
  );
316
316
  }
317
- }
318
317
 
319
- /* nqui Design System CSS
320
- *
321
- * This file contains ALL design tokens, CSS variables, and color scales from nqui.
322
- * It includes everything the library needs to style components correctly.
323
- *
324
- * IMPORTANT: This file does NOT include Tailwind CSS imports.
325
- * You must have Tailwind CSS configured in your project.
326
- *
327
- * For Tailwind CSS v4, add this at the TOP of your CSS file:
328
- * *
329
- * For Tailwind CSS v3, configure it in your tailwind.config.js
330
- *
331
- * This file includes:
332
- * - All CSS variables (--primary, --background, --foreground, etc.)
333
- * - Complete color scales (100-600) for all semantic colors
334
- * - Light and dark mode support
335
- * - Base layer styles
336
- * - Utility animations
337
- *
338
- * Generated by: npx nqui init-css
339
- * Do not edit manually - regenerate if nqui is updated
340
- */
318
+ /* Toast Animations */
319
+ @keyframes toast-checkmark {
320
+ 0% {
321
+ transform: scale(0);
322
+ opacity: 0;
323
+ }
324
+ 50% {
325
+ transform: scale(1.2);
326
+ }
327
+ 100% {
328
+ transform: scale(1);
329
+ opacity: 1;
330
+ }
331
+ }
332
+
333
+ @keyframes toast-pulse {
334
+ 0%, 100% {
335
+ opacity: 1;
336
+ }
337
+ 50% {
338
+ opacity: 0.6;
339
+ }
340
+ }
341
+
342
+ @keyframes toast-shake {
343
+ 0%, 100% {
344
+ transform: translateX(0);
345
+ }
346
+ 10%, 30%, 50%, 70%, 90% {
347
+ transform: translateX(-2px);
348
+ }
349
+ 20%, 40%, 60%, 80% {
350
+ transform: translateX(2px);
351
+ }
352
+ }
353
+
354
+ /* Toast Icon Animations */
355
+ .toast-icon-success {
356
+ animation: toast-checkmark 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
357
+ filter: drop-shadow(0 0 4px color-mix(in oklch, var(--success) 60%, transparent));
358
+ }
359
+
360
+ .toast-icon-loading {
361
+ animation: spin 1s linear infinite;
362
+ filter: drop-shadow(0 0 4px color-mix(in oklch, var(--primary) 60%, transparent));
363
+ }
364
+
365
+ .toast-icon-warning {
366
+ animation: toast-pulse 2s ease-in-out infinite;
367
+ filter: drop-shadow(0 0 4px color-mix(in oklch, var(--warning) 60%, transparent));
368
+ }
369
+
370
+ .toast-icon-error {
371
+ animation: toast-shake 0.5s ease-in-out;
372
+ filter: drop-shadow(0 0 4px color-mix(in oklch, var(--destructive) 60%, transparent));
373
+ }
374
+
375
+ .toast-icon-info {
376
+ filter: drop-shadow(0 0 4px color-mix(in oklch, var(--info) 60%, transparent));
377
+ }
378
+
379
+ /* Toast Base Styles */
380
+ .cn-toast {
381
+ @apply border shadow-lg;
382
+ background-color: var(--normal-bg);
383
+ color: var(--normal-text);
384
+ border-color: var(--normal-border);
385
+ border-radius: var(--border-radius);
386
+ position: relative;
387
+ }
388
+
389
+ .cn-toast > * {
390
+ position: relative;
391
+ z-index: 1;
392
+ }
393
+
394
+ /* Toast Icon Colors Only - All variants use same base styling */
395
+ .toast-success .toast-icon-success {
396
+ color: var(--success);
397
+ }
398
+
399
+ .toast-error .toast-icon-error {
400
+ color: var(--destructive);
401
+ }
402
+
403
+ .toast-warning .toast-icon-warning {
404
+ color: var(--warning);
405
+ }
341
406
 
407
+ .toast-info .toast-icon-info {
408
+ color: var(--info);
409
+ }
410
+
411
+ .toast-loading .toast-icon-loading {
412
+ color: var(--primary);
413
+ }
414
+ }
342
415
 
343
416
  /* ============================================
344
417
  nqui Color System & Design Tokens
@@ -702,290 +775,3 @@
702
775
  --sidebar-border: oklch(1 0 0 / 10%);
703
776
  --sidebar-ring: oklch(0.556 0 0);
704
777
  }
705
-
706
- @theme inline {
707
- --font-sans: 'Inter Variable', sans-serif;
708
- --color-sidebar-ring: var(--sidebar-ring);
709
- --color-sidebar-border: var(--sidebar-border);
710
- --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
711
- --color-sidebar-accent: var(--sidebar-accent);
712
- --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
713
- --color-sidebar-primary: var(--sidebar-primary);
714
- --color-sidebar-foreground: var(--sidebar-foreground);
715
- --color-sidebar: var(--sidebar);
716
- --color-chart-5: var(--chart-5);
717
- --color-chart-4: var(--chart-4);
718
- --color-chart-3: var(--chart-3);
719
- --color-chart-2: var(--chart-2);
720
- --color-chart-1: var(--chart-1);
721
- --color-ring: var(--ring);
722
- --color-input: var(--input);
723
- --color-border: var(--border);
724
- --color-destructive: var(--destructive);
725
- --color-destructive-foreground: var(--destructive-foreground);
726
- --color-success: var(--success);
727
- --color-success-foreground: var(--success-foreground);
728
- --color-warning: var(--warning);
729
- --color-warning-foreground: var(--warning-foreground);
730
- --color-info: var(--info);
731
- --color-info-foreground: var(--info-foreground);
732
- --color-accent-foreground: var(--accent-foreground);
733
- --color-accent: var(--accent);
734
- --color-muted-foreground: var(--muted-foreground);
735
- --color-muted: var(--muted);
736
- --color-secondary-foreground: var(--secondary-foreground);
737
- --color-secondary: var(--secondary);
738
- --color-primary-foreground: var(--primary-foreground);
739
- --color-primary: var(--primary);
740
- --color-popover-foreground: var(--popover-foreground);
741
- --color-popover: var(--popover);
742
- --color-card-foreground: var(--card-foreground);
743
- --color-card: var(--card);
744
- --color-foreground: var(--foreground);
745
- --color-background: var(--background);
746
- --radius-sm: calc(var(--radius) - 4px);
747
- --radius-md: calc(var(--radius) - 2px);
748
- --radius-lg: var(--radius);
749
- --radius-xl: calc(var(--radius) + 4px);
750
- --radius-2xl: calc(var(--radius) + 8px);
751
- --radius-3xl: calc(var(--radius) + 12px);
752
- --radius-4xl: calc(var(--radius) + 16px);
753
-
754
- /* Button enhanced styling */
755
- --button-gradient: linear-gradient(to bottom, rgba(255,255,255,0.15), transparent);
756
- --button-shadow: 0 1px 0 0 rgba(255,255,255,0.15) inset, 0 1px 1px 0 rgba(0,0,0,0.075);
757
- }
758
-
759
-
760
- @layer utilities {
761
- @keyframes radio-pulse {
762
- 0% {
763
- box-shadow: 0 0 0 0 color-mix(in oklch, var(--primary) 40%, transparent);
764
- }
765
- 70% {
766
- box-shadow: 0 0 0 8px color-mix(in oklch, var(--primary) 0%, transparent);
767
- }
768
- 100% {
769
- box-shadow: 0 0 0 0 color-mix(in oklch, var(--primary) 0%, transparent);
770
- }
771
- }
772
-
773
- @keyframes accordion-down {
774
- from {
775
- height: 0;
776
- }
777
- to {
778
- height: var(--radix-accordion-content-height);
779
- }
780
- }
781
-
782
- @keyframes accordion-up {
783
- from {
784
- height: var(--radix-accordion-content-height);
785
- }
786
- to {
787
- height: 0;
788
- }
789
- }
790
-
791
- /* Separator Decorative Variants */
792
- /* Base transparent gradient line for decorative variants */
793
- .separator-transparent::before {
794
- content: "";
795
- position: absolute;
796
- top: 0;
797
- left: 5%;
798
- right: 5%;
799
- width: 90%;
800
- height: 1px;
801
- background-image: linear-gradient(to right, transparent, var(--border), transparent);
802
- }
803
-
804
- /* Arrow/Diamond Down - decorative arrow shape in center */
805
- .separator-arrow-down::after {
806
- content: "";
807
- position: absolute;
808
- z-index: 1;
809
- top: -7px;
810
- left: calc(50% - 7px);
811
- width: 14px;
812
- height: 14px;
813
- transform: rotate(45deg);
814
- background-color: var(--background);
815
- border-bottom: 1px solid var(--border);
816
- border-right: 1px solid var(--border);
817
- }
818
-
819
- /* Tab Down - rounded tab shape in center */
820
- .separator-tab-down::after {
821
- content: "";
822
- position: absolute;
823
- z-index: 1;
824
- top: 0;
825
- left: calc(50% - 10px);
826
- width: 20px;
827
- height: 14px;
828
- background-color: var(--background);
829
- border-bottom: 1px solid var(--border);
830
- border-left: 1px solid var(--border);
831
- border-right: 1px solid var(--border);
832
- border-radius: 0 0 var(--radius) var(--radius);
833
- }
834
-
835
- /* Stopper - rectangular stopper in center */
836
- .separator-stopper::after {
837
- content: "";
838
- position: absolute;
839
- z-index: 1;
840
- top: -6px;
841
- left: calc(50% - 7px);
842
- width: 14px;
843
- height: 12px;
844
- background-color: var(--background);
845
- border-left: 1px solid var(--border);
846
- border-right: 1px solid var(--border);
847
- }
848
-
849
- /* Dot - circular dot in center with shadow */
850
- .separator-dot::after {
851
- content: "";
852
- position: absolute;
853
- z-index: 1;
854
- top: -9px;
855
- left: calc(50% - 9px);
856
- width: 18px;
857
- height: 18px;
858
- background-color: var(--primary);
859
- border: 1px solid var(--border);
860
- border-radius: 50%;
861
- box-shadow: inset 0 0 0 2px var(--background), 0 0 0 4px var(--background);
862
- }
863
-
864
- /* Text Decoration - text/character decoration in center */
865
- .separator-text-decoration {
866
- border-top: 1px solid var(--border);
867
- background-color: transparent;
868
- }
869
-
870
- .separator-text-decoration::before {
871
- content: var(--separator-text-content, "j");
872
- position: absolute;
873
- z-index: 1;
874
- top: 50%;
875
- left: 50%;
876
- transform: translate(-50%, -65%);
877
- background-color: var(--background);
878
- color: var(--foreground);
879
- display: inline-block;
880
- font-size: 1rem;
881
- line-height: 1rem;
882
- padding: 0 0.5rem;
883
- text-rendering: geometricPrecision;
884
- }
885
-
886
- /* Shiny Corner - lighting effect on 2 edges (left/right for horizontal, top/bottom for vertical) */
887
- .separator-shiny-corner {
888
- background: linear-gradient(
889
- 90deg,
890
- color-mix(in oklch, var(--foreground) 60%, transparent) 0%,
891
- transparent 8%,
892
- var(--border) 20%,
893
- var(--border) 80%,
894
- transparent 92%,
895
- color-mix(in oklch, var(--foreground) 60%, transparent) 100%
896
- );
897
- position: relative;
898
- }
899
-
900
- .separator-shiny-corner::before {
901
- content: "";
902
- position: absolute;
903
- inset: -1px;
904
- background: linear-gradient(
905
- 90deg,
906
- color-mix(in oklch, var(--foreground) 80%, transparent) 0%,
907
- transparent 5%,
908
- transparent 95%,
909
- color-mix(in oklch, var(--foreground) 80%, transparent) 100%
910
- );
911
- filter: blur(1px);
912
- opacity: 0.7;
913
- z-index: -1;
914
- }
915
-
916
- /* Vertical orientation support for shiny corner */
917
- [aria-orientation="vertical"].separator-shiny-corner {
918
- background: linear-gradient(
919
- 180deg,
920
- color-mix(in oklch, var(--foreground) 60%, transparent) 0%,
921
- transparent 8%,
922
- var(--border) 20%,
923
- var(--border) 80%,
924
- transparent 92%,
925
- color-mix(in oklch, var(--foreground) 60%, transparent) 100%
926
- );
927
- }
928
-
929
- [aria-orientation="vertical"].separator-shiny-corner::before {
930
- background: linear-gradient(
931
- 180deg,
932
- color-mix(in oklch, var(--foreground) 80%, transparent) 0%,
933
- transparent 5%,
934
- transparent 95%,
935
- color-mix(in oklch, var(--foreground) 80%, transparent) 100%
936
- );
937
- }
938
-
939
- /* Shiny Edge - softer gradient highlight on edges */
940
- .separator-shiny-edge {
941
- background: linear-gradient(
942
- 90deg,
943
- color-mix(in oklch, var(--foreground) 40%, transparent) 0%,
944
- transparent 10%,
945
- var(--border) 30%,
946
- var(--border) 70%,
947
- transparent 90%,
948
- color-mix(in oklch, var(--foreground) 40%, transparent) 100%
949
- );
950
- position: relative;
951
- }
952
-
953
- .separator-shiny-edge::before {
954
- content: "";
955
- position: absolute;
956
- inset: -0.5px;
957
- background: linear-gradient(
958
- 90deg,
959
- color-mix(in oklch, var(--primary) 50%, transparent) 0%,
960
- transparent 8%,
961
- transparent 92%,
962
- color-mix(in oklch, var(--primary) 50%, transparent) 100%
963
- );
964
- filter: blur(0.5px);
965
- opacity: 0.5;
966
- z-index: -1;
967
- }
968
-
969
- /* Vertical orientation support for shiny edge */
970
- [aria-orientation="vertical"].separator-shiny-edge {
971
- background: linear-gradient(
972
- 180deg,
973
- color-mix(in oklch, var(--foreground) 40%, transparent) 0%,
974
- transparent 10%,
975
- var(--border) 30%,
976
- var(--border) 70%,
977
- transparent 90%,
978
- color-mix(in oklch, var(--foreground) 40%, transparent) 100%
979
- );
980
- }
981
-
982
- [aria-orientation="vertical"].separator-shiny-edge::before {
983
- background: linear-gradient(
984
- 180deg,
985
- color-mix(in oklch, var(--primary) 50%, transparent) 0%,
986
- transparent 8%,
987
- transparent 92%,
988
- color-mix(in oklch, var(--primary) 50%, transparent) 100%
989
- );
990
- }
991
- }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nqlib/nqui",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "A React component library with enhanced UI components and developer tools",
5
5
  "type": "module",
6
6
  "main": "./dist/nqui.cjs.js",
@@ -80,6 +80,7 @@
80
80
  "@hugeicons/react": "^1.1.4",
81
81
  "@icons-pack/react-simple-icons": "^13.8.0",
82
82
  "@radix-ui/react-avatar": "^1.1.11",
83
+ "@radix-ui/react-checkbox": "^1.3.3",
83
84
  "@radix-ui/react-collapsible": "^1.1.12",
84
85
  "@radix-ui/react-dialog": "^1.1.15",
85
86
  "@radix-ui/react-dropdown-menu": "^2.1.16",
@@ -54,6 +54,25 @@ if (existsSync(npmrcPath)) {
54
54
  }
55
55
 
56
56
  try {
57
+ // Check if user is logged in to npm
58
+ console.log('🔐 Checking npm authentication...');
59
+ try {
60
+ const whoami = execSync('npm whoami --registry=https://registry.npmjs.com', {
61
+ encoding: 'utf-8',
62
+ cwd: rootDir,
63
+ env: {
64
+ ...process.env,
65
+ npm_config_registry: 'https://registry.npmjs.com'
66
+ }
67
+ }).trim();
68
+ console.log(`✅ Logged in as: ${whoami}`);
69
+ } catch (authError) {
70
+ console.error('❌ Not logged in to npmjs.com');
71
+ console.error('💡 Please run: npm login --registry=https://registry.npmjs.com');
72
+ console.error('💡 Or create an access token at: https://www.npmjs.com/settings/YOUR_USERNAME/tokens');
73
+ throw new Error('Authentication required. Please login to npmjs.com first.');
74
+ }
75
+
57
76
  console.log('📦 Publishing to npmjs.com...');
58
77
  execSync('npm publish --registry=https://registry.npmjs.com --access=public', {
59
78
  stdio: 'inherit',
@@ -67,6 +86,17 @@ try {
67
86
  console.log('✅ Published to npmjs.com successfully!');
68
87
  } catch (error) {
69
88
  console.error('❌ Failed to publish to npmjs.com');
89
+ if (error.message && error.message.includes('Authentication required')) {
90
+ throw error;
91
+ }
92
+ if (error.status === 404 || (error.output && error.output.toString().includes('404'))) {
93
+ console.error('💡 Package not found. This might be the first publish.');
94
+ console.error('💡 Make sure the @nqlib scope exists on npmjs.com');
95
+ console.error('💡 For scoped packages, you need to own the scope or be added to it');
96
+ }
97
+ if (error.status === 401 || (error.output && error.output.toString().includes('401'))) {
98
+ console.error('💡 Authentication failed. Please login: npm login --registry=https://registry.npmjs.com');
99
+ }
70
100
  throw error;
71
101
  } finally {
72
102
  // Restore original publishConfig