domma-js 0.19.0 → 0.19.2

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.
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Domma Themes v0.19.0
2
+ * Domma Themes v0.19.2
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-03-04T12:17:54.419Z
6
- * Commit: ff798af
5
+ * Built: 2026-03-06T13:45:53.761Z
6
+ * Commit: cd0754a
7
7
  */
8
8
 
9
9
  /**
@@ -4320,216 +4320,471 @@
4320
4320
  --dm-elevation-4: 0 20px 25px rgba(0, 0, 0, 0.15), 0 10px 10px rgba(0, 0, 0, 0.04);
4321
4321
  }
4322
4322
 
4323
- .dm-theme-grayve {
4324
- color-scheme: dark; /* Slate is typically a dark theme */
4325
-
4326
- /* Tailwind-based color palette - adapting for grayve */
4327
- /* Slate (using bootswatch values) */
4328
- --dm-slate-50: #F8F9FA; /* Off-white */
4329
- --dm-slate-100: #E9ECEF;
4330
- --dm-slate-200: #DEE2E6;
4331
- --dm-slate-300: #CED4DA;
4332
- --dm-slate-400: #ADB5BD;
4333
- --dm-slate-500: #6C757D; /* Medium Gray */
4334
- --dm-slate-600: #495057;
4335
- --dm-slate-700: #343A40;
4336
- --dm-slate-800: #212529;
4337
- --dm-slate-900: #1a1e21; /* Dark Gray */
4338
- --dm-slate-950: #141619; /* Very Dark Gray */
4339
-
4340
- /* Blues (for primary/info, etc.) */
4341
- --dm-blue-50: #e0f7fa;
4342
- --dm-blue-100: #b2ebf2;
4343
- --dm-blue-200: #80deea;
4344
- --dm-blue-300: #4dd0e1;
4345
- --dm-blue-400: #26c6da;
4346
- --dm-blue-500: #00bcd4; /* Bootswatch primary might be close to this or lighter */
4347
- --dm-blue-600: #00acc1;
4348
- --dm-blue-700: #0097a7;
4349
- --dm-blue-800: #00838f;
4350
- --dm-blue-900: #006064;
4351
- --dm-blue-950: #004d40;
4352
-
4353
- /* Green (Success) */
4354
- --dm-green-500: #28a745;
4355
- --dm-green-400: #49cc61;
4356
- --dm-green-300: #6fd180;
4357
- --dm-green-600: #218838;
4358
-
4359
- /* Red (Danger) */
4360
- --dm-red-500: #dc3545;
4361
- --dm-red-400: #e35a67;
4362
- --dm-red-300: #eb808a;
4363
- --dm-red-600: #c82333;
4364
-
4365
- /* Amber (Warning) */
4366
- --dm-amber-500: #ffc107;
4367
- --dm-amber-400: #ffcd38;
4368
- --dm-amber-300: #ffd865;
4369
- --dm-amber-600: #e0a800;
4370
-
4371
- /* Sky (Info - often similar to primary but distinct) */
4372
- --dm-sky-500: #17a2b8;
4373
- --dm-sky-400: #26d2e9;
4374
- --dm-sky-300: #51daec;
4375
- --dm-sky-600: #138496;
4376
-
4377
- /* Semantic colors */
4378
- --dm-background: var(--dm-slate-900);
4379
- --dm-background-alt: var(--dm-slate-800);
4380
- --dm-surface: var(--dm-slate-800);
4381
- --dm-surface-raised: var(--dm-slate-700);
4382
- --dm-surface-overlay: rgba(0, 0, 0, 0.7);
4383
-
4384
- /* Text */
4385
- --dm-text: var(--dm-slate-200);
4386
- --dm-text-secondary: var(--dm-slate-400);
4387
- --dm-text-muted: var(--dm-slate-500);
4388
- --dm-text-disabled: var(--dm-slate-600);
4389
- --dm-text-inverse: var(--dm-slate-900);
4390
-
4391
- /* Borders */
4392
- --dm-border: var(--dm-slate-700);
4393
- --dm-border-light: var(--dm-slate-800);
4394
- --dm-border-dark: var(--dm-slate-600);
4395
- --dm-border-focus: var(--dm-blue-500); /* Use a vibrant blue for focus */
4396
- --dm-focus-ring: rgba(0, 188, 212, 0.3); /* Based on dm-blue-500 */
4397
- --dm-focus-ring-danger: rgba(220, 53, 69, 0.3); /* Based on dm-red-500 */
4398
-
4399
- /* Interactive States */
4400
- --dm-hover-bg: rgba(255, 255, 255, 0.07);
4401
- --dm-active-bg: rgba(255, 255, 255, 0.1);
4402
- --dm-selected-bg: var(--dm-blue-600);
4403
- --dm-disabled-opacity: 0.4;
4323
+ /**
4324
+ * Domma Grayve Light Theme
4325
+ * Slate/cyan monochrome palette — complementary light variant
4326
+ * Light mode variant
4327
+ */
4404
4328
 
4405
- /* Brand Colors */
4406
- --dm-primary: var(--dm-blue-500);
4407
- --dm-primary-dark: var(--dm-blue-700);
4408
- --dm-primary-light: var(--dm-blue-300);
4409
- --dm-primary-hover: var(--dm-blue-400);
4410
- --dm-primary-active: var(--dm-blue-600);
4411
-
4412
- --dm-secondary: var(--dm-slate-500);
4413
- --dm-secondary-hover: var(--dm-slate-400);
4414
- --dm-secondary-active: var(--dm-slate-300);
4415
-
4416
- /* Status Colors */
4417
- --dm-success: var(--dm-green-500);
4418
- --dm-success-hover: var(--dm-green-400);
4419
- --dm-success-active: var(--dm-green-600);
4420
- --dm-success-light: rgba(40, 167, 69, 0.2);
4421
- --dm-success-dark: var(--dm-green-600);
4329
+ .dm-theme-grayve-light {
4330
+ color-scheme: light;
4422
4331
 
4423
- --dm-danger: var(--dm-red-500);
4424
- --dm-danger-hover: var(--dm-red-400);
4425
- --dm-danger-active: var(--dm-red-600);
4426
- --dm-danger-light: rgba(220, 53, 69, 0.2);
4427
- --dm-danger-dark: var(--dm-red-600);
4332
+ /* ================================================
4333
+ FOUNDATIONAL COLORS - Light Mode Base
4334
+ ================================================ */
4428
4335
 
4429
- --dm-warning: var(--dm-amber-400);
4430
- --dm-warning-hover: var(--dm-amber-300);
4431
- --dm-warning-active: var(--dm-amber-500);
4432
- --dm-warning-text: var(--dm-amber-900);
4433
- --dm-warning-light: rgba(255, 193, 7, 0.2);
4434
- --dm-warning-dark: var(--dm-amber-600);
4336
+ /* Backgrounds - Light/white backgrounds */
4337
+ --dm-background: #ffffff;
4338
+ --dm-background-alt: #f8f9fa;
4339
+ --dm-surface: #ffffff;
4340
+ --dm-surface-raised: #f1f3f5;
4341
+ --dm-surface-overlay: #f8f9fa;
4435
4342
 
4436
- --dm-info: var(--dm-sky-500);
4437
- --dm-info-hover: var(--dm-sky-400);
4438
- --dm-info-active: var(--dm-sky-600);
4439
- --dm-info-light: rgba(23, 162, 184, 0.2);
4440
- --dm-info-dark: var(--dm-sky-600);
4441
-
4442
- /* Background Tints */
4443
- --dm-primary-bg: rgba(0, 188, 212, 0.15);
4444
- --dm-secondary-bg: rgba(108, 117, 125, 0.15);
4445
- --dm-success-bg: rgba(40, 167, 69, 0.15);
4446
- --dm-danger-bg: rgba(220, 53, 69, 0.15);
4447
- --dm-warning-bg: rgba(255, 193, 7, 0.15);
4448
- --dm-info-bg: rgba(23, 162, 184, 0.15);
4449
-
4450
- /* Semantic Surface Colors */
4451
- --dm-surface-secondary: var(--dm-slate-900);
4452
- --dm-card-bg: var(--dm-slate-800);
4453
- --dm-card-border: var(--dm-slate-700);
4454
-
4455
- /* Legacy color names (kept for backwards compatibility) */
4456
- --dm-light: var(--dm-slate-200);
4457
- --dm-dark: var(--dm-slate-800);
4458
- --dm-white: #ffffff;
4459
- --dm-black: #000000;
4460
-
4461
- /* Grays (mapped to Slate) */
4462
- --dm-gray-50: var(--dm-slate-50);
4463
- --dm-gray-100: var(--dm-slate-100);
4464
- --dm-gray-200: var(--dm-slate-200);
4465
- --dm-gray-300: var(--dm-slate-300);
4466
- --dm-gray-400: var(--dm-slate-400);
4467
- --dm-gray-500: var(--dm-slate-500);
4468
- --dm-gray-600: var(--dm-slate-600);
4469
- --dm-gray-700: var(--dm-slate-700);
4470
- --dm-gray-800: var(--dm-slate-800);
4471
- --dm-gray-900: var(--dm-slate-900);
4472
- --dm-gray-950: var(--dm-slate-950);
4473
-
4474
- /* Component-specific variables */
4343
+ /* Text - Dark colours for readability on light */
4344
+ --dm-text: #212529;
4345
+ --dm-text-secondary: #495057;
4346
+ --dm-text-muted: #6c757d;
4347
+ --dm-text-disabled: #adb5bd;
4348
+ --dm-text-inverse: #ffffff;
4349
+
4350
+ /* Borders - Subtle on light backgrounds */
4351
+ --dm-border: #dee2e6;
4352
+ --dm-border-light: #e9ecef;
4353
+ --dm-border-dark: #ced4da;
4354
+
4355
+ /* ================================================
4356
+ GRAYVE ACCENT COLORS - Darker cyan for light-mode contrast
4357
+ ================================================ */
4358
+
4359
+ /* PRIMARY COLOURS - Dark Cyan for contrast */
4360
+ --dm-primary: #00838f;
4361
+ --dm-primary-hover: #006064;
4362
+ --dm-primary-active: #00acc1;
4363
+ --dm-primary-light: #e0f7fa;
4364
+ --dm-primary-dark: #006064;
4365
+
4366
+ /* Focus ring with cyan colour */
4367
+ --dm-focus-ring: 0 0 0 3px rgba(0, 131, 143, 0.3);
4368
+ --dm-border-focus: #00838f;
4369
+
4370
+ /* ================================================
4371
+ SECONDARY COLOURS - Blue Grey
4372
+ ================================================ */
4373
+ --dm-secondary: #546e7a;
4374
+ --dm-secondary-hover: #607d8b;
4375
+ --dm-secondary-active: #78909c;
4376
+ --dm-secondary-light: rgba(84, 110, 122, 0.15);
4377
+ --dm-secondary-dark: #455a64;
4378
+
4379
+ /* ================================================
4380
+ STATUS COLOURS
4381
+ ================================================ */
4382
+ --dm-success: #2e7d32;
4383
+ --dm-success-hover: #388e3c;
4384
+ --dm-success-active: #1b5e20;
4385
+ --dm-success-light: rgba(46, 125, 50, 0.1);
4386
+ --dm-success-dark: #1b5e20;
4387
+
4388
+ --dm-info: #0277bd;
4389
+ --dm-info-hover: #0288d1;
4390
+ --dm-info-active: #01579b;
4391
+ --dm-info-light: rgba(2, 119, 189, 0.1);
4392
+ --dm-info-dark: #01579b;
4393
+
4394
+ --dm-warning: #f57c00;
4395
+ --dm-warning-hover: #fb8c00;
4396
+ --dm-warning-active: #e65100;
4397
+ --dm-warning-text: #e65100;
4398
+ --dm-warning-light: rgba(245, 124, 0, 0.1);
4399
+ --dm-warning-dark: #e65100;
4400
+
4401
+ --dm-danger: #c62828;
4402
+ --dm-danger-hover: #d32f2f;
4403
+ --dm-danger-active: #b71c1c;
4404
+ --dm-danger-light: rgba(198, 40, 40, 0.1);
4405
+ --dm-danger-dark: #b71c1c;
4406
+
4407
+ /* ================================================
4408
+ ACCENT COLOURS
4409
+ ================================================ */
4410
+ --dm-accent-1: #b2ebf2; /* Cyan 100 */
4411
+ --dm-accent-2: #80deea; /* Cyan 200 */
4412
+ --dm-accent-3: #00838f; /* Cyan 800 */
4413
+ --dm-accent-4: #006064; /* Cyan 900 */
4414
+
4415
+ /* ================================================
4416
+ INTERACTIVE STATES
4417
+ ================================================ */
4418
+ --dm-hover-bg: rgba(0, 131, 143, 0.06);
4419
+ --dm-active-bg: rgba(0, 131, 143, 0.1);
4420
+ --dm-selected-bg: #e0f7fa;
4421
+ --dm-disabled-opacity: 0.4;
4422
+
4423
+ /* ================================================
4424
+ COMPONENT-SPECIFIC COLORS
4425
+ ================================================ */
4426
+
4427
+ /* Cards */
4428
+ --dm-card-bg: var(--dm-surface);
4429
+ --dm-card-border: var(--dm-border);
4430
+ --dm-card-shadow: var(--dm-shadow-md);
4431
+
4432
+ /* Inputs */
4475
4433
  --dm-input-bg: var(--dm-surface);
4476
4434
  --dm-input-border: var(--dm-border-dark);
4477
4435
  --dm-input-text: var(--dm-text);
4478
4436
  --dm-input-placeholder: var(--dm-text-muted);
4479
4437
  --dm-input-focus-border: var(--dm-primary);
4480
- --dm-input-disabled-bg: var(--dm-slate-800);
4438
+ --dm-input-disabled-bg: #f8f9fa;
4481
4439
 
4440
+ /* Buttons */
4441
+ --dm-btn-text: var(--dm-text);
4442
+ --dm-btn-bg: var(--dm-surface);
4443
+ --dm-btn-border: var(--dm-border-dark);
4444
+
4445
+ /* Tables */
4446
+ --dm-table-bg: transparent;
4482
4447
  --dm-table-border: var(--dm-border);
4448
+ --dm-table-header-bg: var(--dm-background-alt);
4449
+ --dm-table-header-text: var(--dm-text);
4450
+ --dm-table-stripe-bg: rgba(0, 0, 0, 0.02);
4483
4451
  --dm-table-hover-bg: var(--dm-hover-bg);
4484
- --dm-table-stripe-bg: rgba(255, 255, 255, 0.03);
4452
+ --dm-table-selected-bg: var(--dm-selected-bg);
4485
4453
 
4486
- --dm-navbar-bg: var(--dm-surface);
4487
- --dm-navbar-text: var(--dm-text);
4488
- --dm-navbar-border: var(--dm-border);
4454
+ /* Modals */
4455
+ --dm-modal-bg: var(--dm-surface);
4456
+ --dm-modal-border: var(--dm-border);
4457
+ --dm-modal-backdrop: rgba(0, 0, 0, 0.5);
4458
+ --dm-modal-shadow: var(--dm-shadow-xl);
4489
4459
 
4490
- --dm-dropdown-bg: var(--dm-surface-raised);
4460
+ /* Dropdowns */
4461
+ --dm-dropdown-bg: var(--dm-surface);
4491
4462
  --dm-dropdown-border: var(--dm-border);
4463
+ --dm-dropdown-shadow: var(--dm-shadow-lg);
4492
4464
  --dm-dropdown-item-hover: var(--dm-hover-bg);
4493
4465
  --dm-dropdown-item-active: var(--dm-selected-bg);
4494
4466
 
4467
+ /* Tooltips */
4468
+ --dm-tooltip-bg: #212529;
4469
+ --dm-tooltip-text: #ffffff;
4470
+
4471
+ /* Toasts */
4472
+ --dm-toast-bg: var(--dm-surface);
4473
+ --dm-toast-border: var(--dm-border);
4474
+ --dm-toast-shadow: var(--dm-shadow-lg);
4475
+
4476
+ /* Navbar */
4477
+ --dm-navbar-bg: var(--dm-surface);
4478
+ --dm-navbar-text: var(--dm-text);
4479
+ --dm-navbar-border: var(--dm-border);
4480
+
4481
+ /* Sidebar */
4495
4482
  --dm-sidebar-bg: var(--dm-surface);
4483
+ --dm-sidebar-text: var(--dm-text);
4496
4484
  --dm-sidebar-border: var(--dm-border);
4497
4485
  --dm-sidebar-item-hover: var(--dm-hover-bg);
4498
4486
  --dm-sidebar-item-active: var(--dm-selected-bg);
4499
4487
 
4488
+ /* Tabs */
4489
+ --dm-tab-border: var(--dm-border);
4490
+ --dm-tab-hover-bg: var(--dm-hover-bg);
4491
+
4492
+ /* Accordion */
4493
+ --dm-accordion-bg: var(--dm-surface);
4494
+ --dm-accordion-border: var(--dm-border);
4495
+ --dm-accordion-header-bg: var(--dm-background-alt);
4496
+ --dm-accordion-header-hover: var(--dm-hover-bg);
4497
+
4498
+ /* Badges */
4499
+ --dm-badge-bg: var(--dm-secondary);
4500
+ --dm-badge-text: #ffffff;
4501
+
4502
+ /* Pills */
4503
+ --dm-pill-bg: #e0f7fa;
4504
+ --dm-pill-color: #006064;
4505
+ --dm-pill-hover-bg: #b2ebf2;
4506
+
4507
+ /* Autocomplete / Pillbox */
4500
4508
  --dm-autocomplete-bg: var(--dm-surface);
4501
4509
  --dm-autocomplete-border: var(--dm-border);
4502
4510
  --dm-autocomplete-shadow: var(--dm-shadow-md);
4503
4511
  --dm-autocomplete-item-hover: var(--dm-hover-bg);
4504
4512
  --dm-autocomplete-item-active: var(--dm-selected-bg);
4505
4513
  --dm-autocomplete-highlight: var(--dm-primary-light);
4506
-
4507
4514
  --dm-pillbox-bg: var(--dm-surface);
4508
4515
  --dm-pillbox-border: var(--dm-border);
4509
- --dm-pill-bg: var(--dm-gray-700); /* Darker pill background for dark theme */
4510
- --dm-pill-color: var(--dm-text);
4511
- --dm-pill-hover-bg: var(--dm-gray-600);
4512
4516
 
4517
+ /* Progress */
4518
+ --dm-progress-bg: #e9ecef;
4519
+
4520
+ /* Scrollbar */
4521
+ --dm-scrollbar-track: #f8f9fa;
4522
+ --dm-scrollbar-thumb: #ced4da;
4523
+ --dm-scrollbar-thumb-hover: #adb5bd;
4524
+
4525
+ /* Code */
4526
+ --dm-code-bg: #f8f9fa;
4527
+ --dm-code-text: #00838f;
4528
+ --dm-code-border: var(--dm-border);
4529
+
4530
+ /* ================================================
4531
+ SHADOWS - Standard for light mode
4532
+ ================================================ */
4533
+ --dm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
4534
+ --dm-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
4535
+ --dm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
4536
+ --dm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
4537
+ --dm-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
4538
+ --dm-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
4539
+ --dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
4540
+ }
4541
+
4542
+ /* Syntax highlighting tokens for grayve-light */
4543
+ .dm-theme-grayve-light .code-block .syntax-keyword {
4544
+ color: #7c4dff; /* Deep Purple */
4545
+ font-weight: 500;
4546
+ }
4547
+
4548
+ .dm-theme-grayve-light .code-block .syntax-string,
4549
+ .dm-theme-grayve-light .code-block .syntax-template-string {
4550
+ color: #2e7d32; /* Green */
4551
+ }
4552
+
4553
+ .dm-theme-grayve-light .code-block .syntax-function {
4554
+ color: #00838f; /* Cyan */
4555
+ }
4556
+
4557
+ /**
4558
+ * Domma Grayve Dark Theme
4559
+ * Slate/cyan monochrome palette — adapted from Bootswatch Slate
4560
+ * Dark mode variant
4561
+ */
4562
+
4563
+ .dm-theme-grayve-dark {
4564
+ color-scheme: dark;
4565
+
4566
+ /* ================================================
4567
+ FOUNDATIONAL COLORS - Dark Mode Base
4568
+ ================================================ */
4569
+
4570
+ /* Backgrounds - Slate dark backgrounds */
4571
+ --dm-background: #1a1e21; /* slate-900 */
4572
+ --dm-background-alt: #212529; /* slate-800 */
4573
+ --dm-surface: #212529; /* slate-800 */
4574
+ --dm-surface-raised: #343A40; /* slate-700 */
4575
+ --dm-surface-overlay: #343A40;/* slate-700 */
4576
+
4577
+ /* Text - Light colours for readability on dark */
4578
+ --dm-text: #DEE2E6; /* slate-200 */
4579
+ --dm-text-secondary: #ADB5BD; /* slate-400 */
4580
+ --dm-text-muted: #6C757D; /* slate-500 */
4581
+ --dm-text-disabled: #495057; /* slate-600 */
4582
+ --dm-text-inverse: #1a1e21; /* slate-900 */
4583
+
4584
+ /* Borders - Subtle on dark backgrounds */
4585
+ --dm-border: #343A40; /* slate-700 */
4586
+ --dm-border-light: #212529; /* slate-800 */
4587
+ --dm-border-dark: #495057; /* slate-600 */
4588
+
4589
+ /* ================================================
4590
+ GRAYVE ACCENT COLORS - Cyan/teal tones
4591
+ ================================================ */
4592
+
4593
+ /* PRIMARY COLOURS - Cyan Teal */
4594
+ --dm-primary: #00bcd4;
4595
+ --dm-primary-hover: #00acc1;
4596
+ --dm-primary-active: #26c6da;
4597
+ --dm-primary-light: #e0f7fa;
4598
+ --dm-primary-dark: #0097a7;
4599
+
4600
+ /* Focus ring with cyan colour */
4601
+ --dm-focus-ring: 0 0 0 3px rgba(0, 188, 212, 0.3);
4602
+ --dm-border-focus: #00bcd4;
4603
+
4604
+ /* ================================================
4605
+ SECONDARY COLOURS - Blue Grey
4606
+ ================================================ */
4607
+ --dm-secondary: #6C757D;
4608
+ --dm-secondary-hover: #ADB5BD;
4609
+ --dm-secondary-active: #CED4DA;
4610
+ --dm-secondary-light: #E9ECEF;
4611
+ --dm-secondary-dark: #495057;
4612
+
4613
+ /* ================================================
4614
+ STATUS COLOURS
4615
+ ================================================ */
4616
+ --dm-success: #28a745;
4617
+ --dm-success-hover: #49cc61;
4618
+ --dm-success-active: #218838;
4619
+ --dm-success-light: rgba(40, 167, 69, 0.2);
4620
+ --dm-success-dark: #1e7e34;
4621
+
4622
+ --dm-info: #17a2b8;
4623
+ --dm-info-hover: #26d2e9;
4624
+ --dm-info-active: #138496;
4625
+ --dm-info-light: rgba(23, 162, 184, 0.2);
4626
+ --dm-info-dark: #117a8b;
4627
+
4628
+ --dm-warning: #ffc107;
4629
+ --dm-warning-hover: #ffcd38;
4630
+ --dm-warning-active: #e0a800;
4631
+ --dm-warning-text: #856404;
4632
+ --dm-warning-light: rgba(255, 193, 7, 0.2);
4633
+ --dm-warning-dark: #d39e00;
4634
+
4635
+ --dm-danger: #dc3545;
4636
+ --dm-danger-hover: #e35a67;
4637
+ --dm-danger-active: #c82333;
4638
+ --dm-danger-light: rgba(220, 53, 69, 0.2);
4639
+ --dm-danger-dark: #bd2130;
4640
+
4641
+ /* ================================================
4642
+ ACCENT COLOURS
4643
+ ================================================ */
4644
+ --dm-accent-1: #80deea; /* Cyan 200 */
4645
+ --dm-accent-2: #4dd0e1; /* Cyan 300 */
4646
+ --dm-accent-3: #00bcd4; /* Cyan 500 */
4647
+ --dm-accent-4: #0097a7; /* Cyan 700 */
4648
+
4649
+ /* ================================================
4650
+ INTERACTIVE STATES
4651
+ ================================================ */
4652
+ --dm-hover-bg: rgba(255, 255, 255, 0.07);
4653
+ --dm-active-bg: rgba(255, 255, 255, 0.1);
4654
+ --dm-selected-bg: #00838f;
4655
+ --dm-disabled-opacity: 0.4;
4656
+
4657
+ /* ================================================
4658
+ COMPONENT-SPECIFIC COLORS
4659
+ ================================================ */
4660
+
4661
+ /* Cards */
4662
+ --dm-card-bg: var(--dm-surface);
4663
+ --dm-card-border: var(--dm-border);
4664
+ --dm-card-shadow: var(--dm-shadow-md);
4665
+
4666
+ /* Inputs */
4667
+ --dm-input-bg: var(--dm-surface);
4668
+ --dm-input-border: var(--dm-border-dark);
4669
+ --dm-input-text: var(--dm-text);
4670
+ --dm-input-placeholder: var(--dm-text-muted);
4671
+ --dm-input-focus-border: var(--dm-primary);
4672
+ --dm-input-disabled-bg: #212529;
4673
+
4674
+ /* Buttons */
4675
+ --dm-btn-text: var(--dm-text);
4676
+ --dm-btn-bg: var(--dm-surface);
4677
+ --dm-btn-border: var(--dm-border-dark);
4678
+
4679
+ /* Tables */
4680
+ --dm-table-bg: transparent;
4681
+ --dm-table-border: var(--dm-border);
4682
+ --dm-table-header-bg: var(--dm-background-alt);
4683
+ --dm-table-header-text: var(--dm-text);
4684
+ --dm-table-stripe-bg: rgba(255, 255, 255, 0.03);
4685
+ --dm-table-hover-bg: var(--dm-hover-bg);
4686
+ --dm-table-selected-bg: var(--dm-selected-bg);
4687
+
4688
+ /* Modals */
4689
+ --dm-modal-bg: var(--dm-surface);
4690
+ --dm-modal-border: var(--dm-border);
4691
+ --dm-modal-backdrop: rgba(0, 0, 0, 0.7);
4692
+ --dm-modal-shadow: var(--dm-shadow-xl);
4693
+
4694
+ /* Dropdowns */
4695
+ --dm-dropdown-bg: var(--dm-surface-raised);
4696
+ --dm-dropdown-border: var(--dm-border);
4697
+ --dm-dropdown-shadow: var(--dm-shadow-lg);
4698
+ --dm-dropdown-item-hover: var(--dm-hover-bg);
4699
+ --dm-dropdown-item-active: var(--dm-selected-bg);
4700
+
4701
+ /* Tooltips */
4702
+ --dm-tooltip-bg: #1a1e21;
4703
+ --dm-tooltip-text: #ffffff;
4704
+
4705
+ /* Toasts */
4706
+ --dm-toast-bg: var(--dm-surface);
4707
+ --dm-toast-border: var(--dm-border);
4708
+ --dm-toast-shadow: var(--dm-shadow-lg);
4709
+
4710
+ /* Navbar */
4711
+ --dm-navbar-bg: var(--dm-surface);
4712
+ --dm-navbar-text: var(--dm-text);
4713
+ --dm-navbar-border: var(--dm-border);
4714
+
4715
+ /* Sidebar */
4716
+ --dm-sidebar-bg: var(--dm-surface);
4717
+ --dm-sidebar-text: var(--dm-text);
4718
+ --dm-sidebar-border: var(--dm-border);
4719
+ --dm-sidebar-item-hover: var(--dm-hover-bg);
4720
+ --dm-sidebar-item-active: var(--dm-selected-bg);
4721
+
4722
+ /* Tabs */
4513
4723
  --dm-tab-border: var(--dm-border);
4514
4724
  --dm-tab-hover-bg: var(--dm-hover-bg);
4515
- --dm-tab-active-border: var(--dm-primary);
4516
- --dm-tab-active-text: var(--dm-primary);
4517
4725
 
4726
+ /* Accordion */
4727
+ --dm-accordion-bg: var(--dm-surface);
4518
4728
  --dm-accordion-border: var(--dm-border);
4729
+ --dm-accordion-header-bg: var(--dm-background-alt);
4519
4730
  --dm-accordion-header-hover: var(--dm-hover-bg);
4731
+
4732
+ /* Badges */
4733
+ --dm-badge-bg: var(--dm-secondary);
4734
+ --dm-badge-text: #1a1e21;
4735
+
4736
+ /* Pills */
4737
+ --dm-pill-bg: #343A40;
4738
+ --dm-pill-color: var(--dm-text);
4739
+ --dm-pill-hover-bg: #495057;
4740
+
4741
+ /* Autocomplete / Pillbox */
4742
+ --dm-autocomplete-bg: var(--dm-surface);
4743
+ --dm-autocomplete-border: var(--dm-border);
4744
+ --dm-autocomplete-shadow: var(--dm-shadow-md);
4745
+ --dm-autocomplete-item-hover: var(--dm-hover-bg);
4746
+ --dm-autocomplete-item-active: var(--dm-selected-bg);
4747
+ --dm-autocomplete-highlight: var(--dm-primary-light);
4748
+ --dm-pillbox-bg: var(--dm-surface);
4749
+ --dm-pillbox-border: var(--dm-border);
4750
+
4751
+ /* Progress */
4752
+ --dm-progress-bg: #343A40;
4753
+
4754
+ /* Scrollbar */
4755
+ --dm-scrollbar-track: #212529;
4756
+ --dm-scrollbar-thumb: #495057;
4757
+ --dm-scrollbar-thumb-hover: #6C757D;
4758
+
4759
+ /* Code */
4760
+ --dm-code-bg: #1a1e21;
4761
+ --dm-code-text: #80deea;
4762
+ --dm-code-border: var(--dm-border);
4763
+
4764
+ /* ================================================
4765
+ SHADOWS - Subtle for dark mode
4766
+ ================================================ */
4767
+ --dm-shadow-sm: 0 1px 2px 0 rgb(0 0 0 / 0.05);
4768
+ --dm-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
4769
+ --dm-shadow-md: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
4770
+ --dm-shadow-lg: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
4771
+ --dm-shadow-xl: 0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1);
4772
+ --dm-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 0.25);
4773
+ --dm-shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / 0.05);
4520
4774
  }
4521
4775
 
4522
- /* Syntax highlighting tokens for grayve (assuming similar to dark theme) */
4523
- .dm-theme-grayve .code-block .syntax-keyword {
4776
+ /* Syntax highlighting tokens for grayve-dark */
4777
+ .dm-theme-grayve-dark .code-block .syntax-keyword {
4524
4778
  color: #c792ea; /* Purple */
4525
4779
  font-weight: 500;
4526
4780
  }
4527
4781
 
4528
- .dm-theme-grayve .code-block .syntax-string,
4529
- .dm-theme-grayve .code-block .syntax-template-string {
4782
+ .dm-theme-grayve-dark .code-block .syntax-string,
4783
+ .dm-theme-grayve-dark .code-block .syntax-template-string {
4530
4784
  color: #c3e88d; /* Green */
4531
4785
  }
4532
4786
 
4533
- .dm-theme-grayve .code-block .syntax-function {
4787
+ .dm-theme-grayve-dark .code-block .syntax-function {
4534
4788
  color: #82aaff; /* Light Blue */
4535
4789
  }
4790
+
@@ -554,7 +554,7 @@ $(document.body).on('themechange', (e) => {
554
554
  - **Silver:** `silver-light`, `silver-dark` - Cool gray tones
555
555
  - **Charcoal:** `charcoal-light`, `charcoal-dark` - Professional gray (default)
556
556
  - **Christmas:** `christmas-light`, `christmas-dark` - Festive red/green
557
- - **Grayve:** `grayve` - Monochrome design theme
557
+ - **Grayve:** `grayve-light`, `grayve-dark` - Monochrome slate theme
558
558
  - **Core:** `core-light` - Minimal, clean theme
559
559
 
560
560
  ### Icons (`I` / `Domma.icons`)