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.
- package/dist/index.js +136 -502
- 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
|
|
6205
|
-
|
|
6206
|
-
|
|
6207
|
-
|
|
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 = `@
|
|
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
|
|
7264
|
-
if (!
|
|
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
|
|
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
|
-
|
|
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
|
|
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`));
|