myoperator-ui 0.0.120 → 0.0.122

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 (2) hide show
  1. package/dist/index.js +136 -502
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -6201,30 +6201,10 @@ import path3 from "path";
6201
6201
  import prompts2 from "prompts";
6202
6202
  import ora2 from "ora";
6203
6203
  import { execSync } from "child_process";
6204
- var CSS_VARIABLES_V4 = `@import "tailwindcss";
6205
-
6206
- @theme {
6207
- --color-background: hsl(0 0% 100%);
6208
- --color-foreground: hsl(222.2 84% 4.9%);
6209
- --color-card: hsl(0 0% 100%);
6210
- --color-card-foreground: hsl(222.2 84% 4.9%);
6211
- --color-popover: hsl(0 0% 100%);
6212
- --color-popover-foreground: hsl(222.2 84% 4.9%);
6213
- --color-primary: hsl(222.2 47.4% 11.2%);
6214
- --color-primary-foreground: hsl(210 40% 98%);
6215
- --color-secondary: hsl(210 40% 96.1%);
6216
- --color-secondary-foreground: hsl(222.2 47.4% 11.2%);
6217
- --color-muted: hsl(210 40% 96.1%);
6218
- --color-muted-foreground: hsl(215.4 16.3% 46.9%);
6219
- --color-accent: hsl(210 40% 96.1%);
6220
- --color-accent-foreground: hsl(222.2 47.4% 11.2%);
6221
- --color-destructive: hsl(0 84.2% 60.2%);
6222
- --color-destructive-foreground: hsl(210 40% 98%);
6223
- --color-border: hsl(214.3 31.8% 91.4%);
6224
- --color-input: hsl(214.3 31.8% 91.4%);
6225
- --color-ring: hsl(222.2 84% 4.9%);
6226
- --radius: 0.5rem;
6227
- }
6204
+ var MYOPERATOR_THEME_CSS = `/* myOperator UI Theme - Design System Variables
6205
+ * Auto-generated by myoperator-ui CLI
6206
+ * Do not edit directly - run 'npx myoperator-ui init' to update
6207
+ */
6228
6208
 
6229
6209
  :root {
6230
6210
  /* =========================================================================
@@ -6459,253 +6439,46 @@ var CSS_VARIABLES_V4 = `@import "tailwindcss";
6459
6439
  --ring: 213 27% 84%;
6460
6440
  }
6461
6441
  `;
6442
+ var CSS_VARIABLES_V4 = `@import "tailwindcss";
6443
+ @import "./lib/myoperator-ui-theme.css";
6444
+
6445
+ @theme {
6446
+ --color-background: hsl(0 0% 100%);
6447
+ --color-foreground: hsl(222.2 84% 4.9%);
6448
+ --color-card: hsl(0 0% 100%);
6449
+ --color-card-foreground: hsl(222.2 84% 4.9%);
6450
+ --color-popover: hsl(0 0% 100%);
6451
+ --color-popover-foreground: hsl(222.2 84% 4.9%);
6452
+ --color-primary: hsl(222.2 47.4% 11.2%);
6453
+ --color-primary-foreground: hsl(210 40% 98%);
6454
+ --color-secondary: hsl(210 40% 96.1%);
6455
+ --color-secondary-foreground: hsl(222.2 47.4% 11.2%);
6456
+ --color-muted: hsl(210 40% 96.1%);
6457
+ --color-muted-foreground: hsl(215.4 16.3% 46.9%);
6458
+ --color-accent: hsl(210 40% 96.1%);
6459
+ --color-accent-foreground: hsl(222.2 47.4% 11.2%);
6460
+ --color-destructive: hsl(0 84.2% 60.2%);
6461
+ --color-destructive-foreground: hsl(210 40% 98%);
6462
+ --color-border: hsl(214.3 31.8% 91.4%);
6463
+ --color-input: hsl(214.3 31.8% 91.4%);
6464
+ --color-ring: hsl(222.2 84% 4.9%);
6465
+ --radius: 0.5rem;
6466
+ }
6467
+ `;
6462
6468
  var CSS_VARIABLES_V4_BOOTSTRAP = `/* myOperator UI - Tailwind CSS for Bootstrap projects */
6463
6469
  /* Selective imports to avoid Preflight conflicts with Bootstrap */
6464
6470
  @layer theme, base, components, utilities;
6465
6471
  @import "tailwindcss/theme.css" layer(theme);
6466
6472
  @import "tailwindcss/utilities.css" layer(utilities);
6473
+ @import "./lib/myoperator-ui-theme.css";
6467
6474
 
6468
6475
  /* Tell Tailwind to scan component files for utility classes */
6469
6476
  @source "./components/**/*.{js,ts,jsx,tsx}";
6470
6477
  @source "./lib/**/*.{js,ts,jsx,tsx}";
6471
-
6472
- :root {
6473
- /* =========================================================================
6474
- PRIMITIVE COLORS - CSS Custom Properties
6475
- ========================================================================= */
6476
-
6477
- /* Base */
6478
- --color-white: #FFFFFF;
6479
- --color-black: #000000;
6480
-
6481
- /* Neutral (Gray) */
6482
- --color-neutral-25: #FDFDFD;
6483
- --color-neutral-50: #FAFAFA;
6484
- --color-neutral-100: #F5F5F5;
6485
- --color-neutral-200: #E9EAEB;
6486
- --color-neutral-300: #D5D7DA;
6487
- --color-neutral-400: #A4A7AE;
6488
- --color-neutral-500: #717680;
6489
- --color-neutral-600: #535862;
6490
- --color-neutral-700: #414651;
6491
- --color-neutral-800: #252B37;
6492
- --color-neutral-900: #181D27;
6493
- --color-neutral-950: #0A0D12;
6494
-
6495
- /* Primary (Blue Gray) */
6496
- --color-primary-25: #F9FAFB;
6497
- --color-primary-50: #EBECEE;
6498
- --color-primary-100: #C0C3CA;
6499
- --color-primary-200: #A2A6B1;
6500
- --color-primary-300: #777E8D;
6501
- --color-primary-400: #5D6577;
6502
- --color-primary-500: #343E55;
6503
- --color-primary-600: #2F384D;
6504
- --color-primary-700: #252C3C;
6505
- --color-primary-800: #1D222F;
6506
- --color-primary-900: #161A24;
6507
- --color-primary-950: #0C0F12;
6508
-
6509
- /* Secondary (Turquoise) */
6510
- --color-secondary-25: #F6FCFD;
6511
- --color-secondary-50: #EAF8FA;
6512
- --color-secondary-100: #BDEAEF;
6513
- --color-secondary-200: #9DE0E7;
6514
- --color-secondary-300: #71D2DB;
6515
- --color-secondary-400: #55C9D5;
6516
- --color-secondary-500: #2BBCCA;
6517
- --color-secondary-600: #27ABB8;
6518
- --color-secondary-700: #1F858F;
6519
- --color-secondary-800: #18676F;
6520
- --color-secondary-900: #124F55;
6521
- --color-secondary-950: #0F3D3D;
6522
-
6523
- /* Error (Red) */
6524
- --color-error-25: #FFFBFA;
6525
- --color-error-50: #FEF3F2;
6526
- --color-error-100: #FEE4E2;
6527
- --color-error-200: #FECDCA;
6528
- --color-error-300: #FDA29B;
6529
- --color-error-400: #F97066;
6530
- --color-error-500: #F04438;
6531
- --color-error-600: #D92D20;
6532
- --color-error-700: #B42318;
6533
- --color-error-800: #912018;
6534
- --color-error-900: #7A271A;
6535
- --color-error-950: #55160C;
6536
-
6537
- /* Warning (Amber) */
6538
- --color-warning-25: #FFFCF5;
6539
- --color-warning-50: #FFFAEB;
6540
- --color-warning-100: #FEF0C7;
6541
- --color-warning-200: #FEDF89;
6542
- --color-warning-300: #FEC84B;
6543
- --color-warning-400: #FDB022;
6544
- --color-warning-500: #F79009;
6545
- --color-warning-600: #DC6803;
6546
- --color-warning-700: #B54708;
6547
- --color-warning-800: #93370D;
6548
- --color-warning-900: #7A2E0E;
6549
- --color-warning-950: #4E1D09;
6550
-
6551
- /* Success (Green) */
6552
- --color-success-25: #F6FEF9;
6553
- --color-success-50: #ECFDF3;
6554
- --color-success-100: #DCFAE6;
6555
- --color-success-200: #ABEFC6;
6556
- --color-success-300: #75E0A7;
6557
- --color-success-400: #47CD89;
6558
- --color-success-500: #17B26A;
6559
- --color-success-600: #079455;
6560
- --color-success-700: #067647;
6561
- --color-success-800: #085D3A;
6562
- --color-success-900: #074D31;
6563
- --color-success-950: #053321;
6564
-
6565
- /* Info (Blue) */
6566
- --color-info-25: #F6F8FD;
6567
- --color-info-50: #ECF1FB;
6568
- --color-info-100: #C4D4F2;
6569
- --color-info-200: #A8C0EC;
6570
- --color-info-300: #80A3E4;
6571
- --color-info-400: #6891DE;
6572
- --color-info-500: #4275D6;
6573
- --color-info-600: #3C6AC3;
6574
- --color-info-700: #2F5398;
6575
- --color-info-800: #244076;
6576
- --color-info-900: #1C315A;
6577
- --color-info-950: #182A44;
6578
-
6579
- /* =========================================================================
6580
- SEMANTIC COLORS - Purpose-driven tokens
6581
- ========================================================================= */
6582
-
6583
- /* Primary UI Colors */
6584
- --semantic-primary: var(--color-primary-500);
6585
- --semantic-primary-hover: var(--color-primary-600);
6586
- --semantic-primary-selected: var(--color-primary-300);
6587
- --semantic-primary-selected-hover: var(--color-primary-400);
6588
- --semantic-primary-highlighted: var(--color-primary-700);
6589
- --semantic-primary-surface: var(--color-primary-50);
6590
-
6591
- /* Brand Colors */
6592
- --semantic-brand: var(--color-secondary-500);
6593
- --semantic-brand-hover: var(--color-secondary-700);
6594
- --semantic-brand-selected: var(--color-secondary-300);
6595
- --semantic-brand-selected-hover: var(--color-secondary-600);
6596
- --semantic-brand-highlighted: var(--color-secondary-600);
6597
- --semantic-brand-surface: var(--color-secondary-50);
6598
-
6599
- /* Background Colors */
6600
- --semantic-bg-primary: var(--color-white);
6601
- --semantic-bg-secondary: var(--color-primary-950);
6602
- --semantic-bg-ui: var(--color-neutral-100);
6603
- --semantic-bg-grey: var(--color-neutral-200);
6604
- --semantic-bg-grey-hover: var(--color-neutral-400);
6605
- --semantic-bg-inverted: var(--color-black);
6606
- --semantic-bg-hover: var(--color-neutral-300);
6607
-
6608
- /* Text Colors */
6609
- --semantic-text-primary: var(--color-neutral-900);
6610
- --semantic-text-secondary: var(--color-primary-500);
6611
- --semantic-text-placeholder: var(--color-primary-200);
6612
- --semantic-text-link: var(--color-info-500);
6613
- --semantic-text-inverted: var(--color-white);
6614
- --semantic-text-muted: var(--color-neutral-500);
6615
-
6616
- /* Border Colors */
6617
- --semantic-border-primary: var(--color-primary-500);
6618
- --semantic-border-secondary: var(--color-primary-300);
6619
- --semantic-border-accent: var(--color-secondary-600);
6620
- --semantic-border-layout: var(--color-neutral-200);
6621
- --semantic-border-input: var(--color-neutral-200);
6622
- --semantic-border-input-focus: var(--color-secondary-500);
6623
-
6624
- /* Disabled State */
6625
- --semantic-disabled-primary: var(--color-primary-200);
6626
- --semantic-disabled-secondary: var(--color-primary-50);
6627
- --semantic-disabled-text: var(--color-neutral-500);
6628
- --semantic-disabled-border: var(--color-neutral-300);
6629
-
6630
- /* Error State */
6631
- --semantic-error-primary: var(--color-error-500);
6632
- --semantic-error-surface: var(--color-error-50);
6633
- --semantic-error-text: var(--color-error-700);
6634
- --semantic-error-border: var(--color-error-300);
6635
- --semantic-error-hover: var(--color-error-600);
6636
-
6637
- /* Warning State */
6638
- --semantic-warning-primary: var(--color-warning-500);
6639
- --semantic-warning-surface: var(--color-warning-50);
6640
- --semantic-warning-text: var(--color-warning-700);
6641
- --semantic-warning-border: var(--color-warning-300);
6642
- --semantic-warning-hover: var(--color-warning-600);
6643
-
6644
- /* Success State */
6645
- --semantic-success-primary: var(--color-success-500);
6646
- --semantic-success-surface: var(--color-success-50);
6647
- --semantic-success-text: var(--color-success-700);
6648
- --semantic-success-border: var(--color-success-300);
6649
- --semantic-success-hover: var(--color-success-600);
6650
-
6651
- /* Info State */
6652
- --semantic-info-primary: var(--color-info-500);
6653
- --semantic-info-surface: var(--color-info-50);
6654
- --semantic-info-text: var(--color-info-700);
6655
- --semantic-info-border: var(--color-info-200);
6656
- --semantic-info-hover: var(--color-info-600);
6657
-
6658
- /* =========================================================================
6659
- LEGACY SHADCN VARIABLES (for compatibility)
6660
- ========================================================================= */
6661
- --background: 0 0% 100%;
6662
- --foreground: 220 20% 12%;
6663
- --card: 0 0% 100%;
6664
- --card-foreground: 220 20% 12%;
6665
- --popover: 0 0% 100%;
6666
- --popover-foreground: 220 20% 12%;
6667
- --primary: 222 26% 27%;
6668
- --primary-foreground: 210 40% 98%;
6669
- --secondary: 183 64% 46%;
6670
- --secondary-foreground: 0 0% 100%;
6671
- --muted: 210 40% 96.1%;
6672
- --muted-foreground: 220 9% 46%;
6673
- --accent: 183 64% 46%;
6674
- --accent-foreground: 0 0% 100%;
6675
- --destructive: 4 89% 58%;
6676
- --destructive-foreground: 0 0% 100%;
6677
- --border: 220 13% 91%;
6678
- --input: 220 13% 91%;
6679
- --ring: 222 26% 27%;
6680
- --radius: 0.5rem;
6681
- }
6682
-
6683
- .dark {
6684
- --background: 222 47% 5%;
6685
- --foreground: 210 40% 98%;
6686
- --card: 222 47% 5%;
6687
- --card-foreground: 210 40% 98%;
6688
- --popover: 222 47% 5%;
6689
- --popover-foreground: 210 40% 98%;
6690
- --primary: 210 40% 98%;
6691
- --primary-foreground: 222 47% 11%;
6692
- --secondary: 217 33% 17.5%;
6693
- --secondary-foreground: 210 40% 98%;
6694
- --muted: 217 33% 17.5%;
6695
- --muted-foreground: 215 20% 65%;
6696
- --accent: 217 33% 17.5%;
6697
- --accent-foreground: 210 40% 98%;
6698
- --destructive: 0 63% 31%;
6699
- --destructive-foreground: 210 40% 98%;
6700
- --border: 217 33% 17.5%;
6701
- --input: 217 33% 17.5%;
6702
- --ring: 213 27% 84%;
6703
- }
6704
-
6705
- /* End myOperator UI imports */
6706
-
6707
6478
  `;
6708
- var CSS_VARIABLES_V3 = `@tailwind base;
6479
+ var CSS_VARIABLES_V3 = `@import "./lib/myoperator-ui-theme.css";
6480
+
6481
+ @tailwind base;
6709
6482
  @tailwind components;
6710
6483
  @tailwind utilities;
6711
6484
 
@@ -6719,242 +6492,6 @@ var CSS_VARIABLES_V3 = `@tailwind base;
6719
6492
  box-shadow: none;
6720
6493
  }
6721
6494
  }
6722
-
6723
- @layer base {
6724
- :root {
6725
- /* =========================================================================
6726
- PRIMITIVE COLORS - CSS Custom Properties
6727
- ========================================================================= */
6728
-
6729
- /* Base */
6730
- --color-white: #FFFFFF;
6731
- --color-black: #000000;
6732
-
6733
- /* Neutral (Gray) */
6734
- --color-neutral-25: #FDFDFD;
6735
- --color-neutral-50: #FAFAFA;
6736
- --color-neutral-100: #F5F5F5;
6737
- --color-neutral-200: #E9EAEB;
6738
- --color-neutral-300: #D5D7DA;
6739
- --color-neutral-400: #A4A7AE;
6740
- --color-neutral-500: #717680;
6741
- --color-neutral-600: #535862;
6742
- --color-neutral-700: #414651;
6743
- --color-neutral-800: #252B37;
6744
- --color-neutral-900: #181D27;
6745
- --color-neutral-950: #0A0D12;
6746
-
6747
- /* Primary (Blue Gray) */
6748
- --color-primary-25: #F9FAFB;
6749
- --color-primary-50: #EBECEE;
6750
- --color-primary-100: #C0C3CA;
6751
- --color-primary-200: #A2A6B1;
6752
- --color-primary-300: #777E8D;
6753
- --color-primary-400: #5D6577;
6754
- --color-primary-500: #343E55;
6755
- --color-primary-600: #2F384D;
6756
- --color-primary-700: #252C3C;
6757
- --color-primary-800: #1D222F;
6758
- --color-primary-900: #161A24;
6759
- --color-primary-950: #0C0F12;
6760
-
6761
- /* Secondary (Turquoise) */
6762
- --color-secondary-25: #F6FCFD;
6763
- --color-secondary-50: #EAF8FA;
6764
- --color-secondary-100: #BDEAEF;
6765
- --color-secondary-200: #9DE0E7;
6766
- --color-secondary-300: #71D2DB;
6767
- --color-secondary-400: #55C9D5;
6768
- --color-secondary-500: #2BBCCA;
6769
- --color-secondary-600: #27ABB8;
6770
- --color-secondary-700: #1F858F;
6771
- --color-secondary-800: #18676F;
6772
- --color-secondary-900: #124F55;
6773
- --color-secondary-950: #0F3D3D;
6774
-
6775
- /* Error (Red) */
6776
- --color-error-25: #FFFBFA;
6777
- --color-error-50: #FEF3F2;
6778
- --color-error-100: #FEE4E2;
6779
- --color-error-200: #FECDCA;
6780
- --color-error-300: #FDA29B;
6781
- --color-error-400: #F97066;
6782
- --color-error-500: #F04438;
6783
- --color-error-600: #D92D20;
6784
- --color-error-700: #B42318;
6785
- --color-error-800: #912018;
6786
- --color-error-900: #7A271A;
6787
- --color-error-950: #55160C;
6788
-
6789
- /* Warning (Amber) */
6790
- --color-warning-25: #FFFCF5;
6791
- --color-warning-50: #FFFAEB;
6792
- --color-warning-100: #FEF0C7;
6793
- --color-warning-200: #FEDF89;
6794
- --color-warning-300: #FEC84B;
6795
- --color-warning-400: #FDB022;
6796
- --color-warning-500: #F79009;
6797
- --color-warning-600: #DC6803;
6798
- --color-warning-700: #B54708;
6799
- --color-warning-800: #93370D;
6800
- --color-warning-900: #7A2E0E;
6801
- --color-warning-950: #4E1D09;
6802
-
6803
- /* Success (Green) */
6804
- --color-success-25: #F6FEF9;
6805
- --color-success-50: #ECFDF3;
6806
- --color-success-100: #DCFAE6;
6807
- --color-success-200: #ABEFC6;
6808
- --color-success-300: #75E0A7;
6809
- --color-success-400: #47CD89;
6810
- --color-success-500: #17B26A;
6811
- --color-success-600: #079455;
6812
- --color-success-700: #067647;
6813
- --color-success-800: #085D3A;
6814
- --color-success-900: #074D31;
6815
- --color-success-950: #053321;
6816
-
6817
- /* Info (Blue) */
6818
- --color-info-25: #F6F8FD;
6819
- --color-info-50: #ECF1FB;
6820
- --color-info-100: #C4D4F2;
6821
- --color-info-200: #A8C0EC;
6822
- --color-info-300: #80A3E4;
6823
- --color-info-400: #6891DE;
6824
- --color-info-500: #4275D6;
6825
- --color-info-600: #3C6AC3;
6826
- --color-info-700: #2F5398;
6827
- --color-info-800: #244076;
6828
- --color-info-900: #1C315A;
6829
- --color-info-950: #182A44;
6830
-
6831
- /* =========================================================================
6832
- SEMANTIC COLORS - Purpose-driven tokens
6833
- ========================================================================= */
6834
-
6835
- /* Primary UI Colors */
6836
- --semantic-primary: var(--color-primary-500);
6837
- --semantic-primary-hover: var(--color-primary-600);
6838
- --semantic-primary-selected: var(--color-primary-300);
6839
- --semantic-primary-selected-hover: var(--color-primary-400);
6840
- --semantic-primary-highlighted: var(--color-primary-700);
6841
- --semantic-primary-surface: var(--color-primary-50);
6842
-
6843
- /* Brand Colors */
6844
- --semantic-brand: var(--color-secondary-500);
6845
- --semantic-brand-hover: var(--color-secondary-700);
6846
- --semantic-brand-selected: var(--color-secondary-300);
6847
- --semantic-brand-selected-hover: var(--color-secondary-600);
6848
- --semantic-brand-highlighted: var(--color-secondary-600);
6849
- --semantic-brand-surface: var(--color-secondary-50);
6850
-
6851
- /* Background Colors */
6852
- --semantic-bg-primary: var(--color-white);
6853
- --semantic-bg-secondary: var(--color-primary-950);
6854
- --semantic-bg-ui: var(--color-neutral-100);
6855
- --semantic-bg-grey: var(--color-neutral-200);
6856
- --semantic-bg-grey-hover: var(--color-neutral-400);
6857
- --semantic-bg-inverted: var(--color-black);
6858
- --semantic-bg-hover: var(--color-neutral-300);
6859
-
6860
- /* Text Colors */
6861
- --semantic-text-primary: var(--color-neutral-900);
6862
- --semantic-text-secondary: var(--color-primary-500);
6863
- --semantic-text-placeholder: var(--color-primary-200);
6864
- --semantic-text-link: var(--color-info-500);
6865
- --semantic-text-inverted: var(--color-white);
6866
- --semantic-text-muted: var(--color-neutral-500);
6867
-
6868
- /* Border Colors */
6869
- --semantic-border-primary: var(--color-primary-500);
6870
- --semantic-border-secondary: var(--color-primary-300);
6871
- --semantic-border-accent: var(--color-secondary-600);
6872
- --semantic-border-layout: var(--color-neutral-200);
6873
- --semantic-border-input: var(--color-neutral-200);
6874
- --semantic-border-input-focus: var(--color-secondary-500);
6875
-
6876
- /* Disabled State */
6877
- --semantic-disabled-primary: var(--color-primary-200);
6878
- --semantic-disabled-secondary: var(--color-primary-50);
6879
- --semantic-disabled-text: var(--color-neutral-500);
6880
- --semantic-disabled-border: var(--color-neutral-300);
6881
-
6882
- /* Error State */
6883
- --semantic-error-primary: var(--color-error-500);
6884
- --semantic-error-surface: var(--color-error-50);
6885
- --semantic-error-text: var(--color-error-700);
6886
- --semantic-error-border: var(--color-error-300);
6887
- --semantic-error-hover: var(--color-error-600);
6888
-
6889
- /* Warning State */
6890
- --semantic-warning-primary: var(--color-warning-500);
6891
- --semantic-warning-surface: var(--color-warning-50);
6892
- --semantic-warning-text: var(--color-warning-700);
6893
- --semantic-warning-border: var(--color-warning-300);
6894
- --semantic-warning-hover: var(--color-warning-600);
6895
-
6896
- /* Success State */
6897
- --semantic-success-primary: var(--color-success-500);
6898
- --semantic-success-surface: var(--color-success-50);
6899
- --semantic-success-text: var(--color-success-700);
6900
- --semantic-success-border: var(--color-success-300);
6901
- --semantic-success-hover: var(--color-success-600);
6902
-
6903
- /* Info State */
6904
- --semantic-info-primary: var(--color-info-500);
6905
- --semantic-info-surface: var(--color-info-50);
6906
- --semantic-info-text: var(--color-info-700);
6907
- --semantic-info-border: var(--color-info-200);
6908
- --semantic-info-hover: var(--color-info-600);
6909
-
6910
- /* =========================================================================
6911
- LEGACY SHADCN VARIABLES (for compatibility)
6912
- ========================================================================= */
6913
- --background: 0 0% 100%;
6914
- --foreground: 220 20% 12%;
6915
- --card: 0 0% 100%;
6916
- --card-foreground: 220 20% 12%;
6917
- --popover: 0 0% 100%;
6918
- --popover-foreground: 220 20% 12%;
6919
- --primary: 222 26% 27%;
6920
- --primary-foreground: 210 40% 98%;
6921
- --secondary: 183 64% 46%;
6922
- --secondary-foreground: 0 0% 100%;
6923
- --muted: 210 40% 96.1%;
6924
- --muted-foreground: 220 9% 46%;
6925
- --accent: 183 64% 46%;
6926
- --accent-foreground: 0 0% 100%;
6927
- --destructive: 4 89% 58%;
6928
- --destructive-foreground: 0 0% 100%;
6929
- --border: 220 13% 91%;
6930
- --input: 220 13% 91%;
6931
- --ring: 222 26% 27%;
6932
- --radius: 0.5rem;
6933
- }
6934
-
6935
- .dark {
6936
- --background: 222 47% 5%;
6937
- --foreground: 210 40% 98%;
6938
- --card: 222 47% 5%;
6939
- --card-foreground: 210 40% 98%;
6940
- --popover: 222 47% 5%;
6941
- --popover-foreground: 210 40% 98%;
6942
- --primary: 210 40% 98%;
6943
- --primary-foreground: 222 47% 11%;
6944
- --secondary: 217 33% 17.5%;
6945
- --secondary-foreground: 210 40% 98%;
6946
- --muted: 217 33% 17.5%;
6947
- --muted-foreground: 215 20% 65%;
6948
- --accent: 217 33% 17.5%;
6949
- --accent-foreground: 210 40% 98%;
6950
- --destructive: 0 63% 31%;
6951
- --destructive-foreground: 210 40% 98%;
6952
- --border: 217 33% 17.5%;
6953
- --input: 217 33% 17.5%;
6954
- --ring: 213 27% 84%;
6955
- }
6956
- }
6957
-
6958
6495
  `;
6959
6496
  var getTailwindConfig = (prefix = "tw-", hasBootstrap = false) => `/** @type {import('tailwindcss').Config} */
6960
6497
  export default {
@@ -6972,6 +6509,7 @@ export default {
6972
6509
  },
6973
6510
  extend: {
6974
6511
  colors: {
6512
+ // Legacy shadcn colors
6975
6513
  border: "hsl(var(--border))",
6976
6514
  input: "hsl(var(--input))",
6977
6515
  ring: "hsl(var(--ring))",
@@ -7005,6 +6543,71 @@ export default {
7005
6543
  DEFAULT: "hsl(var(--card))",
7006
6544
  foreground: "hsl(var(--card-foreground))",
7007
6545
  },
6546
+ // Semantic colors - Primary UI
6547
+ "semantic-primary": "var(--semantic-primary)",
6548
+ "semantic-primary-hover": "var(--semantic-primary-hover)",
6549
+ "semantic-primary-selected": "var(--semantic-primary-selected)",
6550
+ "semantic-primary-selected-hover": "var(--semantic-primary-selected-hover)",
6551
+ "semantic-primary-highlighted": "var(--semantic-primary-highlighted)",
6552
+ "semantic-primary-surface": "var(--semantic-primary-surface)",
6553
+ // Semantic colors - Brand
6554
+ "semantic-brand": "var(--semantic-brand)",
6555
+ "semantic-brand-hover": "var(--semantic-brand-hover)",
6556
+ "semantic-brand-selected": "var(--semantic-brand-selected)",
6557
+ "semantic-brand-selected-hover": "var(--semantic-brand-selected-hover)",
6558
+ "semantic-brand-highlighted": "var(--semantic-brand-highlighted)",
6559
+ "semantic-brand-surface": "var(--semantic-brand-surface)",
6560
+ // Semantic colors - Background
6561
+ "semantic-bg-primary": "var(--semantic-bg-primary)",
6562
+ "semantic-bg-secondary": "var(--semantic-bg-secondary)",
6563
+ "semantic-bg-ui": "var(--semantic-bg-ui)",
6564
+ "semantic-bg-grey": "var(--semantic-bg-grey)",
6565
+ "semantic-bg-grey-hover": "var(--semantic-bg-grey-hover)",
6566
+ "semantic-bg-inverted": "var(--semantic-bg-inverted)",
6567
+ "semantic-bg-hover": "var(--semantic-bg-hover)",
6568
+ // Semantic colors - Text
6569
+ "semantic-text-primary": "var(--semantic-text-primary)",
6570
+ "semantic-text-secondary": "var(--semantic-text-secondary)",
6571
+ "semantic-text-placeholder": "var(--semantic-text-placeholder)",
6572
+ "semantic-text-link": "var(--semantic-text-link)",
6573
+ "semantic-text-inverted": "var(--semantic-text-inverted)",
6574
+ "semantic-text-muted": "var(--semantic-text-muted)",
6575
+ // Semantic colors - Border
6576
+ "semantic-border-primary": "var(--semantic-border-primary)",
6577
+ "semantic-border-secondary": "var(--semantic-border-secondary)",
6578
+ "semantic-border-accent": "var(--semantic-border-accent)",
6579
+ "semantic-border-layout": "var(--semantic-border-layout)",
6580
+ "semantic-border-input": "var(--semantic-border-input)",
6581
+ "semantic-border-input-focus": "var(--semantic-border-input-focus)",
6582
+ // Semantic colors - Disabled
6583
+ "semantic-disabled-primary": "var(--semantic-disabled-primary)",
6584
+ "semantic-disabled-secondary": "var(--semantic-disabled-secondary)",
6585
+ "semantic-disabled-text": "var(--semantic-disabled-text)",
6586
+ "semantic-disabled-border": "var(--semantic-disabled-border)",
6587
+ // Semantic colors - Error
6588
+ "semantic-error-primary": "var(--semantic-error-primary)",
6589
+ "semantic-error-surface": "var(--semantic-error-surface)",
6590
+ "semantic-error-text": "var(--semantic-error-text)",
6591
+ "semantic-error-border": "var(--semantic-error-border)",
6592
+ "semantic-error-hover": "var(--semantic-error-hover)",
6593
+ // Semantic colors - Warning
6594
+ "semantic-warning-primary": "var(--semantic-warning-primary)",
6595
+ "semantic-warning-surface": "var(--semantic-warning-surface)",
6596
+ "semantic-warning-text": "var(--semantic-warning-text)",
6597
+ "semantic-warning-border": "var(--semantic-warning-border)",
6598
+ "semantic-warning-hover": "var(--semantic-warning-hover)",
6599
+ // Semantic colors - Success
6600
+ "semantic-success-primary": "var(--semantic-success-primary)",
6601
+ "semantic-success-surface": "var(--semantic-success-surface)",
6602
+ "semantic-success-text": "var(--semantic-success-text)",
6603
+ "semantic-success-border": "var(--semantic-success-border)",
6604
+ "semantic-success-hover": "var(--semantic-success-hover)",
6605
+ // Semantic colors - Info
6606
+ "semantic-info-primary": "var(--semantic-info-primary)",
6607
+ "semantic-info-surface": "var(--semantic-info-surface)",
6608
+ "semantic-info-text": "var(--semantic-info-text)",
6609
+ "semantic-info-border": "var(--semantic-info-border)",
6610
+ "semantic-info-hover": "var(--semantic-info-hover)",
7008
6611
  },
7009
6612
  borderRadius: {
7010
6613
  lg: "var(--radius)",
@@ -7246,6 +6849,19 @@ export function cn(...inputs: ClassValue[]) {
7246
6849
  }
7247
6850
  const componentsFullPath = path3.join(cwd, componentsPath);
7248
6851
  await fs3.ensureDir(componentsFullPath);
6852
+ const themeFilePath = path3.join(cwd, "src/lib/myoperator-ui-theme.css");
6853
+ let themeCreated = false;
6854
+ if (!await fs3.pathExists(themeFilePath)) {
6855
+ await fs3.ensureDir(path3.dirname(themeFilePath));
6856
+ await fs3.writeFile(themeFilePath, MYOPERATOR_THEME_CSS);
6857
+ themeCreated = true;
6858
+ } else {
6859
+ const existingTheme = await fs3.readFile(themeFilePath, "utf-8");
6860
+ if (!existingTheme.includes("--semantic-text-primary")) {
6861
+ await fs3.writeFile(themeFilePath, MYOPERATOR_THEME_CSS);
6862
+ themeCreated = true;
6863
+ }
6864
+ }
7249
6865
  const globalCssPath = path3.join(cwd, globalCss);
7250
6866
  let cssContent;
7251
6867
  if (tailwindVersion === "v4") {
@@ -7260,13 +6876,13 @@ export function cn(...inputs: ClassValue[]) {
7260
6876
  cssUpdated = true;
7261
6877
  } else {
7262
6878
  const existingCss = await fs3.readFile(globalCssPath, "utf-8");
7263
- const hasSemanticVariables = existingCss.includes("--semantic-text-primary");
7264
- if (!hasSemanticVariables) {
6879
+ const hasThemeImport = existingCss.includes("myoperator-ui-theme.css");
6880
+ if (!hasThemeImport) {
7265
6881
  spinner.stop();
7266
6882
  const result = await prompts2({
7267
6883
  type: "confirm",
7268
6884
  name: "updateCss",
7269
- message: `${globalCss} is missing semantic CSS variables. Update with full variable set?`,
6885
+ message: `${globalCss} is missing myOperator UI theme import. Update?`,
7270
6886
  initial: true
7271
6887
  });
7272
6888
  spinner.start("Initializing project...");
@@ -7292,9 +6908,24 @@ export function cn(...inputs: ClassValue[]) {
7292
6908
  tailwindUpdated = true;
7293
6909
  } else {
7294
6910
  const existingConfig = await fs3.readFile(tailwindConfigPath, "utf-8");
7295
- if (!existingConfig.includes("hsl(var(--destructive))") && !existingConfig.includes("hsl(var(--ring))")) {
6911
+ const hasLegacyColors = existingConfig.includes("hsl(var(--destructive))") || existingConfig.includes("hsl(var(--ring))");
6912
+ const hasSemanticColors = existingConfig.includes("semantic-text-primary");
6913
+ if (!hasLegacyColors && !hasSemanticColors) {
7296
6914
  await fs3.writeFile(tailwindConfigPath, getTailwindConfig(userPrefix, hasBootstrap));
7297
6915
  tailwindUpdated = true;
6916
+ } else if (hasLegacyColors && !hasSemanticColors) {
6917
+ spinner.stop();
6918
+ const result = await prompts2({
6919
+ type: "confirm",
6920
+ name: "updateTailwind",
6921
+ message: `${tailwindConfig} is missing semantic color tokens. Update with full color set?`,
6922
+ initial: true
6923
+ });
6924
+ spinner.start("Initializing project...");
6925
+ if (result.updateTailwind) {
6926
+ await fs3.writeFile(tailwindConfigPath, getTailwindConfig(userPrefix, hasBootstrap));
6927
+ tailwindUpdated = true;
6928
+ }
7298
6929
  }
7299
6930
  }
7300
6931
  }
@@ -7372,8 +7003,11 @@ export function cn(...inputs: ClassValue[]) {
7372
7003
  console.log(chalk2.green(` \u2713 ${utilsPath} already has cn() function`));
7373
7004
  }
7374
7005
  console.log(chalk2.green(` \u2713 Created ${componentsPath}`));
7006
+ if (themeCreated) {
7007
+ console.log(chalk2.green(` \u2713 Created src/lib/myoperator-ui-theme.css (CSS variables)`));
7008
+ }
7375
7009
  if (cssUpdated) {
7376
- console.log(chalk2.green(` \u2713 Updated ${globalCss} with CSS variables`));
7010
+ console.log(chalk2.green(` \u2713 Updated ${globalCss} with theme import`));
7377
7011
  }
7378
7012
  if (tailwindUpdated) {
7379
7013
  console.log(chalk2.green(` \u2713 Updated ${tailwindConfig} with theme colors`));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "myoperator-ui",
3
- "version": "0.0.120",
3
+ "version": "0.0.122",
4
4
  "description": "CLI for adding myOperator UI components to your project",
5
5
  "type": "module",
6
6
  "exports": "./dist/index.js",