domma-js 0.41.0 → 0.44.0

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,8 +1,8 @@
1
1
  /*!
2
- * Domma Complete CSS Bundle v0.41.0
2
+ * Domma Complete CSS Bundle v0.44.0
3
3
  * Dynamic Object Manipulation & Modeling API
4
4
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5
- * Built: 2026-08-22T13:41:49.437Z
5
+ * Built: 2026-09-22T03:19:19.495Z
6
6
  */
7
7
 
8
8
  /* ============================================
@@ -11,11 +11,11 @@
11
11
  ============================================ */
12
12
 
13
13
  /*!
14
- * Domma Core CSS v0.41.0
14
+ * Domma Core CSS v0.44.0
15
15
  * Dynamic Object Manipulation & Modeling API
16
16
  * (c) 2026 Darryl Waterhouse & DCBW-IT
17
- * Built: 2026-08-22T13:41:49.294Z
18
- * Commit: 5d8b7e1
17
+ * Built: 2026-09-22T03:19:19.324Z
18
+ * Commit: a452582
19
19
  */
20
20
 
21
21
  /**
@@ -4838,11 +4838,11 @@ body.dm-cloaked.dm-ready {
4838
4838
  ============================================ */
4839
4839
 
4840
4840
  /*!
4841
- * Domma Grid CSS v0.41.0
4841
+ * Domma Grid CSS v0.44.0
4842
4842
  * Dynamic Object Manipulation & Modeling API
4843
4843
  * (c) 2026 Darryl Waterhouse & DCBW-IT
4844
- * Built: 2026-08-22T13:41:49.299Z
4845
- * Commit: 5d8b7e1
4844
+ * Built: 2026-09-22T03:19:19.327Z
4845
+ * Commit: a452582
4846
4846
  */
4847
4847
 
4848
4848
  /**
@@ -5463,11 +5463,11 @@ body.dm-cloaked.dm-ready {
5463
5463
  ============================================ */
5464
5464
 
5465
5465
  /*!
5466
- * Domma Elements CSS v0.41.0
5466
+ * Domma Elements CSS v0.44.0
5467
5467
  * Dynamic Object Manipulation & Modeling API
5468
5468
  * (c) 2026 Darryl Waterhouse & DCBW-IT
5469
- * Built: 2026-08-22T13:41:49.303Z
5470
- * Commit: 5d8b7e1
5469
+ * Built: 2026-09-22T03:19:19.332Z
5470
+ * Commit: a452582
5471
5471
  */
5472
5472
 
5473
5473
  /**
@@ -10800,7 +10800,9 @@ code {
10800
10800
  z-index: 1000;
10801
10801
  min-width: 10rem;
10802
10802
  padding: 0.5rem 0;
10803
- margin: 0.125rem 0 0;
10803
+ /* No margin: the menu is placed by JS from `offset`, and a margin here would
10804
+ silently add to it, so the box would not sit where it was measured to. */
10805
+ margin: 0;
10804
10806
  background-color: var(--dm-surface);
10805
10807
  border: 1px solid var(--dm-border);
10806
10808
  border-radius: var(--dm-radius-md);
@@ -10818,30 +10820,13 @@ code {
10818
10820
  }
10819
10821
 
10820
10822
  /*
10821
- * Hover bridge: the menu is rendered as a document.body sibling positioned with a
10822
- * small offset/margin gap from its trigger. On a hover-triggered dropdown that gap
10823
- * is a dead-zone - the pointer leaves the trigger before reaching the menu, firing
10824
- * the close. These transparent pseudo-elements extend the menu's hoverable area
10825
- * above and below it, so the trigger→menu path is one continuous hover surface.
10826
- * Only present on hover dropdowns, so click dropdowns are unaffected.
10823
+ * The trigger→menu gap is bridged in JS, not CSS. A transparent pseudo-element
10824
+ * strip used to sit above and below the menu to keep the hover path continuous,
10825
+ * but it only ever covered a fixed 12px directly in line with the menu box: any
10826
+ * `offset` larger than that, or an approach taken at an angle, fell outside it,
10827
+ * and while open it also blocked the page underneath. Dropdown._pointerInSafeZone()
10828
+ * does the same job geometrically - see src/elements.js.
10827
10829
  */
10828
- .domma-dropdown-menu-hover::before,
10829
- .domma-dropdown-menu-hover::after {
10830
- content: '';
10831
- position: absolute;
10832
- left: 0;
10833
- right: 0;
10834
- height: 0.75rem;
10835
- /* transparent - a hover surface only, never painted */
10836
- }
10837
-
10838
- .domma-dropdown-menu-hover::before {
10839
- bottom: 100%; /* bridges the gap when the menu opens below the trigger */
10840
- }
10841
-
10842
- .domma-dropdown-menu-hover::after {
10843
- top: 100%; /* bridges the gap when the menu opens above the trigger */
10844
- }
10845
10830
 
10846
10831
  .domma-dropdown-item {
10847
10832
  display: block;
@@ -13573,6 +13558,428 @@ code {
13573
13558
  }
13574
13559
  }
13575
13560
 
13561
+ /* ============================================
13562
+ Context Menu
13563
+ Bound to a container, delegated to its children. Nested menus shadow their
13564
+ parent for the region they cover; see src/context-menu.js for resolution.
13565
+ ============================================ */
13566
+
13567
+ /*
13568
+ * Every themeable value is a custom property with the theme token as its
13569
+ * fallback, so an unstyled menu follows the active theme and only the options
13570
+ * actually passed override it. Nothing here generates per-instance rules.
13571
+ */
13572
+ .dm-context-menu {
13573
+ position: fixed;
13574
+ z-index: 10050;
13575
+ display: flex;
13576
+ flex-direction: column;
13577
+ gap: 1px;
13578
+ padding: 4px;
13579
+ overflow-y: auto;
13580
+ background: var(--dm-ctx-surface, var(--dm-surface));
13581
+ color: var(--dm-text);
13582
+ border: 1px solid var(--dm-ctx-accent, var(--dm-border));
13583
+ border-radius: var(--dm-ctx-radius, var(--dm-radius-md));
13584
+ box-shadow: var(--dm-ctx-shadow, 0 8px 24px rgba(0, 0, 0, 0.18));
13585
+ font-size: 0.875rem;
13586
+ transform-origin: top left;
13587
+ outline: none;
13588
+ transition:
13589
+ opacity var(--dm-ctx-duration, 120ms) var(--dm-ctx-easing, ease),
13590
+ transform var(--dm-ctx-duration, 120ms) var(--dm-ctx-easing, ease);
13591
+ }
13592
+
13593
+ /*
13594
+ * A translucent panel needs its own layer: mixing the surface with transparent
13595
+ * keeps the text fully opaque, which `opacity` on the element would not - that
13596
+ * would fade the labels along with the background and fail contrast outright.
13597
+ */
13598
+ .dm-context-menu[style*="--dm-ctx-opacity"] {
13599
+ background: color-mix(
13600
+ in srgb,
13601
+ var(--dm-ctx-surface, var(--dm-surface)) calc(var(--dm-ctx-opacity) * 100%),
13602
+ transparent
13603
+ );
13604
+ backdrop-filter: blur(10px);
13605
+ }
13606
+
13607
+ /* An accent tints the leading edge as well as the border. */
13608
+ .dm-context-menu[style*="--dm-ctx-accent"] {
13609
+ border-left-width: 3px;
13610
+ }
13611
+
13612
+ /* ---- transitions ---- */
13613
+
13614
+ .dm-context-menu[data-transition] {
13615
+ opacity: 0;
13616
+ }
13617
+
13618
+ .dm-context-menu[data-transition="scale"] { transform: scale(0.97); }
13619
+ .dm-context-menu[data-transition="fade"] { transform: none; }
13620
+ .dm-context-menu[data-transition="slide"] { transform: translateY(-6px); }
13621
+ .dm-context-menu[data-transition="none"] { transform: none; transition: none; }
13622
+
13623
+ .dm-context-menu.is-open {
13624
+ opacity: 1;
13625
+ transform: none;
13626
+ }
13627
+
13628
+ /* ---- density ---- */
13629
+
13630
+ .dm-context-menu[data-density="compact"] {
13631
+ font-size: 0.8125rem;
13632
+ padding: 2px;
13633
+ }
13634
+
13635
+ .dm-context-menu[data-density="compact"] .dm-context-menu-item {
13636
+ padding: 0.25rem 0.45rem;
13637
+ }
13638
+
13639
+ .dm-context-menu-item {
13640
+ display: flex;
13641
+ align-items: center;
13642
+ gap: 0.5rem;
13643
+ width: 100%;
13644
+ padding: 0.4rem 0.6rem;
13645
+ background: none;
13646
+ border: 0;
13647
+ border-radius: var(--dm-radius-sm);
13648
+ color: inherit;
13649
+ font: inherit;
13650
+ text-align: left;
13651
+ cursor: pointer;
13652
+ transition: background var(--dm-transition-fast);
13653
+ }
13654
+
13655
+ .dm-context-menu-item:hover:not(.is-disabled),
13656
+ .dm-context-menu-item:focus-visible {
13657
+ background: var(--dm-background-alt);
13658
+ outline: none;
13659
+ }
13660
+
13661
+ /*
13662
+ * The accent tints the hover wash rather than the label. A named colour cannot
13663
+ * be guaranteed readable against whatever surface the menu is on - the same
13664
+ * trap that made --dm-danger 1.02:1 on admin-smooth-steel - so the text keeps
13665
+ * the one pairing every theme guarantees and the accent carries the meaning.
13666
+ */
13667
+ .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:hover:not(.is-disabled),
13668
+ .dm-context-menu[style*="--dm-ctx-accent"] .dm-context-menu-item:focus-visible {
13669
+ background: color-mix(in srgb, var(--dm-ctx-accent) 16%, transparent);
13670
+ }
13671
+
13672
+ .dm-context-menu-item:focus-visible {
13673
+ box-shadow: inset 0 0 0 2px var(--dm-border-focus);
13674
+ }
13675
+
13676
+ .dm-context-menu-item.is-disabled {
13677
+ opacity: 0.45;
13678
+ cursor: not-allowed;
13679
+ }
13680
+
13681
+ /*
13682
+ * Destructive items carry their warning in a tinted wash rather than in red
13683
+ * text. A saturated red cannot be read on a mid-tone surface - on
13684
+ * admin-smooth-steel, --dm-danger against --dm-surface lands at 1.02:1 - and
13685
+ * no single red works across a light surface, a dark one and the mid-tone
13686
+ * themes in between. The wash is mixed FROM the surface, so it adapts, and the
13687
+ * label keeps the one colour every theme guarantees is readable on it.
13688
+ */
13689
+ .dm-context-menu-item.is-danger {
13690
+ background: color-mix(in srgb, var(--dm-danger) 10%, transparent);
13691
+ }
13692
+
13693
+ .dm-context-menu-item.is-danger:hover:not(.is-disabled) {
13694
+ background: color-mix(in srgb, var(--dm-danger) 22%, transparent);
13695
+ }
13696
+
13697
+ .dm-context-menu-icon {
13698
+ display: inline-flex;
13699
+ align-items: center;
13700
+ justify-content: center;
13701
+ flex: 0 0 16px;
13702
+ width: 16px;
13703
+ height: 16px;
13704
+ }
13705
+
13706
+ .dm-context-menu-label {
13707
+ flex: 1 1 auto;
13708
+ white-space: nowrap;
13709
+ overflow: hidden;
13710
+ text-overflow: ellipsis;
13711
+ }
13712
+
13713
+ .dm-context-menu-shortcut {
13714
+ flex: 0 0 auto;
13715
+ padding-left: 1rem;
13716
+ font-size: 0.78em;
13717
+ font-variant-numeric: tabular-nums;
13718
+ opacity: 0.8;
13719
+ }
13720
+
13721
+ .dm-context-menu-chevron {
13722
+ display: inline-flex;
13723
+ flex: 0 0 auto;
13724
+ margin-left: auto;
13725
+ padding-left: 0.4rem;
13726
+ opacity: 0.7;
13727
+ }
13728
+
13729
+ .dm-context-menu-item.has-submenu .dm-context-menu-label {
13730
+ flex: 0 1 auto;
13731
+ }
13732
+
13733
+ .dm-context-menu-item.is-checked .dm-context-menu-icon::after {
13734
+ content: "";
13735
+ width: 8px;
13736
+ height: 8px;
13737
+ border-radius: 50%;
13738
+ background: var(--dm-ctx-accent, var(--dm-primary));
13739
+ }
13740
+
13741
+ .dm-context-menu-divider {
13742
+ height: 1px;
13743
+ margin: 4px 2px;
13744
+ background: var(--dm-border);
13745
+ }
13746
+
13747
+ .dm-context-menu-header {
13748
+ padding: 0.35rem 0.6rem 0.2rem;
13749
+ font-size: 0.72rem;
13750
+ font-weight: 600;
13751
+ letter-spacing: 0.04em;
13752
+ text-transform: uppercase;
13753
+ }
13754
+
13755
+ /* The affordance that tells people a menu is there at all. */
13756
+ .dm-context-menu-host {
13757
+ cursor: context-menu;
13758
+ }
13759
+
13760
+ @media (prefers-reduced-motion: reduce) {
13761
+ .dm-context-menu,
13762
+ .dm-context-menu[data-transition] {
13763
+ transition: none !important;
13764
+ transform: none !important;
13765
+ }
13766
+ }
13767
+
13768
+ /* ============================================
13769
+ DatePicker
13770
+ --------------------------------------------
13771
+ Every colour is a --dm-* token that the theme layer defines, so the calendar
13772
+ takes whatever theme the host is wearing - including one applied to a region
13773
+ by a theme override, since the tokens are inherited rather than hard-coded.
13774
+ Nothing here invents a token: an undefined var() resolves to nothing and
13775
+ paints a blank panel.
13776
+ ============================================ */
13777
+
13778
+ .dm-datepicker {
13779
+ position: absolute;
13780
+ z-index: 1080;
13781
+ width: max-content;
13782
+ padding: 0.5rem;
13783
+
13784
+ font-family: var(--dm-font-sans);
13785
+ font-size: var(--dm-font-size-sm);
13786
+ color: var(--dm-text);
13787
+
13788
+ background: var(--dm-surface-raised, var(--dm-surface));
13789
+ border: 1px solid var(--dm-border);
13790
+ border-radius: var(--dm-radius-lg);
13791
+ box-shadow: var(--dm-shadow-lg);
13792
+ }
13793
+
13794
+ .dm-datepicker--inline {
13795
+ position: static;
13796
+ box-shadow: none;
13797
+ margin-top: 0.35rem;
13798
+ }
13799
+
13800
+ /* Header: month and year pickers between two chevrons. */
13801
+
13802
+ .dm-datepicker-head {
13803
+ display: flex;
13804
+ align-items: center;
13805
+ gap: 0.35rem;
13806
+ margin-bottom: 0.4rem;
13807
+ }
13808
+
13809
+ .dm-datepicker-pickers {
13810
+ display: flex;
13811
+ gap: 0.3rem;
13812
+ flex: 1 1 auto;
13813
+ justify-content: center;
13814
+ }
13815
+
13816
+ /*
13817
+ * Five rules below are recorded in scripts/validate-contrast-pairs.baseline.json
13818
+ * rather than fixed, and the reason is the theme system, not this component.
13819
+ *
13820
+ * The three `--dm-text-disabled` rules (.is-outside, .is-disabled and the
13821
+ * disabled action) sit below 3:1 on `--dm-surface-raised` in ALL 33 themes -
13822
+ * 1.37 at worst. That is the disabled ramp behaving as designed, and WCAG AA
13823
+ * 1.4.3 exempts inactive controls from the contrast minimum. Lifting it to 4.5
13824
+ * here would make disabled dates LIGHTER than the muted weekday header, which
13825
+ * inverts the hierarchy.
13826
+ *
13827
+ * The two `--dm-text-muted` rules (.dm-datepicker-nav, .dm-datepicker-week)
13828
+ * fail on `--dm-surface-raised` in 23 of the 33 themes, worst 3.11. No token
13829
+ * below `--dm-text` clears AA on a raised surface everywhere, so this is not
13830
+ * fixable by picking a different variable - the muted ramp itself would have to
13831
+ * be redesigned across every theme. Using `--dm-text` instead would pass, and
13832
+ * cost the weekday header and adjacent-month days the de-emphasis that makes a
13833
+ * calendar readable at a glance.
13834
+ *
13835
+ * If the muted ramp is ever revisited, `npm run validate:contrast
13836
+ * --update-baseline` should drop these two.
13837
+ */
13838
+ .dm-datepicker-nav {
13839
+ display: inline-flex;
13840
+ align-items: center;
13841
+ justify-content: center;
13842
+ width: 28px;
13843
+ height: 28px;
13844
+ padding: 0;
13845
+ flex: 0 0 auto;
13846
+
13847
+ color: var(--dm-text-muted);
13848
+ background: transparent;
13849
+ border: 1px solid transparent;
13850
+ border-radius: var(--dm-radius-md);
13851
+ cursor: pointer;
13852
+ transition: background var(--dm-transition-fast), color var(--dm-transition-fast);
13853
+ }
13854
+
13855
+ .dm-datepicker-nav:hover {
13856
+ color: var(--dm-text);
13857
+ background: var(--dm-hover-bg);
13858
+ }
13859
+
13860
+ .dm-datepicker-select {
13861
+ padding: 0.2rem 0.35rem;
13862
+ font: inherit;
13863
+ color: var(--dm-input-text, var(--dm-text));
13864
+ background: var(--dm-input-bg, var(--dm-surface));
13865
+ border: 1px solid var(--dm-input-border, var(--dm-border));
13866
+ border-radius: var(--dm-radius-md);
13867
+ cursor: pointer;
13868
+ }
13869
+
13870
+ .dm-datepicker-select:focus-visible {
13871
+ outline: none;
13872
+ border-color: var(--dm-input-focus-border, var(--dm-primary));
13873
+ box-shadow: var(--dm-focus-ring);
13874
+ }
13875
+
13876
+ /* The grid. Seven equal columns, so the weekday row and the days line up
13877
+ whatever the digits are - a table would do the same but cannot carry the
13878
+ roles this needs. */
13879
+
13880
+ .dm-datepicker-row {
13881
+ display: grid;
13882
+ grid-template-columns: repeat(7, 2rem);
13883
+ gap: 2px;
13884
+ }
13885
+
13886
+ .dm-datepicker[data-week-numbers] .dm-datepicker-row {
13887
+ grid-template-columns: 1.6rem repeat(7, 2rem);
13888
+ }
13889
+
13890
+ .dm-datepicker-weekdays { margin-bottom: 2px; }
13891
+
13892
+ .dm-datepicker-weekday,
13893
+ .dm-datepicker-week {
13894
+ display: flex;
13895
+ align-items: center;
13896
+ justify-content: center;
13897
+ height: 1.6rem;
13898
+ font-size: var(--dm-font-size-xs);
13899
+ font-weight: var(--dm-font-weight-semibold);
13900
+ color: var(--dm-text-muted);
13901
+ }
13902
+
13903
+ .dm-datepicker-week { font-weight: 400; }
13904
+
13905
+ .dm-datepicker-day {
13906
+ display: flex;
13907
+ align-items: center;
13908
+ justify-content: center;
13909
+ height: 2rem;
13910
+ padding: 0;
13911
+
13912
+ font: inherit;
13913
+ font-variant-numeric: tabular-nums;
13914
+ color: var(--dm-text);
13915
+ background: transparent;
13916
+ border: 1px solid transparent;
13917
+ border-radius: var(--dm-radius-md);
13918
+ cursor: pointer;
13919
+ transition: background var(--dm-transition-fast), color var(--dm-transition-fast);
13920
+ }
13921
+
13922
+ .dm-datepicker-day:hover:not(.is-disabled) { background: var(--dm-hover-bg); }
13923
+
13924
+ .dm-datepicker-day:focus-visible {
13925
+ outline: none;
13926
+ box-shadow: var(--dm-focus-ring);
13927
+ }
13928
+
13929
+ /* The days either side of the month are shown rather than blanked: a calendar
13930
+ with holes in it is harder to read than one that runs on. */
13931
+ .dm-datepicker-day.is-outside { color: var(--dm-text-disabled); }
13932
+
13933
+ .dm-datepicker-day.is-today {
13934
+ border-color: var(--dm-primary);
13935
+ font-weight: var(--dm-font-weight-semibold);
13936
+ }
13937
+
13938
+ .dm-datepicker-day.is-selected,
13939
+ .dm-datepicker-day.is-selected:hover {
13940
+ color: var(--dm-primary-text);
13941
+ background: var(--dm-primary);
13942
+ border-color: var(--dm-primary);
13943
+ }
13944
+
13945
+ .dm-datepicker-day.is-disabled {
13946
+ color: var(--dm-text-disabled);
13947
+ cursor: not-allowed;
13948
+ opacity: var(--dm-disabled-opacity);
13949
+ }
13950
+
13951
+ /* Footer actions. */
13952
+
13953
+ .dm-datepicker-foot {
13954
+ display: flex;
13955
+ gap: 0.35rem;
13956
+ justify-content: flex-end;
13957
+ margin-top: 0.45rem;
13958
+ padding-top: 0.45rem;
13959
+ border-top: 1px solid var(--dm-border);
13960
+ }
13961
+
13962
+ .dm-datepicker-action {
13963
+ padding: 0.2rem 0.6rem;
13964
+ font: inherit;
13965
+ font-size: var(--dm-font-size-xs);
13966
+ color: var(--dm-link);
13967
+ background: transparent;
13968
+ border: 0;
13969
+ border-radius: var(--dm-radius-md);
13970
+ cursor: pointer;
13971
+ }
13972
+
13973
+ .dm-datepicker-action:hover:not(:disabled) {
13974
+ color: var(--dm-link-hover);
13975
+ background: var(--dm-hover-bg);
13976
+ }
13977
+
13978
+ .dm-datepicker-action:disabled {
13979
+ color: var(--dm-text-disabled);
13980
+ cursor: not-allowed;
13981
+ }
13982
+
13576
13983
 
13577
13984
  /* ============================================
13578
13985
  THEME SYSTEM
@@ -13580,11 +13987,11 @@ code {
13580
13987
  ============================================ */
13581
13988
 
13582
13989
  /*!
13583
- * Domma Themes v0.41.0
13990
+ * Domma Themes v0.44.0
13584
13991
  * Dynamic Object Manipulation & Modeling API
13585
13992
  * (c) 2026 Darryl Waterhouse & DCBW-IT
13586
- * Built: 2026-08-22T13:41:49.280Z
13587
- * Commit: 5d8b7e1
13993
+ * Built: 2026-09-22T03:19:19.311Z
13994
+ * Commit: a452582
13588
13995
  */
13589
13996
 
13590
13997
  /**
@@ -19732,40 +20139,40 @@ code {
19732
20139
  .dm-theme-admin-smooth-steel {
19733
20140
  color-scheme: dark;
19734
20141
 
19735
- --dm-background: #586170;
19736
- --dm-background-alt: #4f5764;
19737
- --dm-surface: #646d7c;
19738
- --dm-surface-raised: #6c7686;
19739
- --dm-surface-overlay: #6c7686;
20142
+ --dm-background: #353a43;
20143
+ --dm-background-alt: #2f343c;
20144
+ --dm-surface: #3c414a;
20145
+ --dm-surface-raised: #414750;
20146
+ --dm-surface-overlay: #414750;
19740
20147
  --dm-text: #f7f9fb;
19741
20148
  --dm-text-secondary: #d2d8e0;
19742
20149
  --dm-text-muted: #b3bcc8;
19743
20150
  --dm-text-disabled: #8a93a1;
19744
20151
  --dm-text-inverse: #1f2733;
19745
- --dm-border: #6f7888;
19746
- --dm-border-light: #5c6573;
19747
- --dm-border-dark: #7a8494;
20152
+ --dm-border: #434852;
20153
+ --dm-border-light: #373d45;
20154
+ --dm-border-dark: #494f59;
19748
20155
  --dm-hover-bg: rgba(255, 255, 255, 0.07);
19749
20156
  --dm-active-bg: rgba(255, 255, 255, 0.10);
19750
20157
  --dm-disabled-opacity: 0.4;
19751
- --dm-sidebar-bg: #454d5a;
20158
+ --dm-sidebar-bg: #292e36;
19752
20159
  --dm-sidebar-text: #d2d8e0;
19753
- --dm-sidebar-border: #3b424d;
19754
- --dm-navbar-bg: #4f5764;
20160
+ --dm-sidebar-border: #232830;
20161
+ --dm-navbar-bg: #2f343c;
19755
20162
  --dm-navbar-text: #f7f9fb;
19756
- --dm-navbar-border: #5c6573;
19757
- --dm-table-header-bg: #535b69;
20163
+ --dm-navbar-border: #373d45;
20164
+ --dm-table-header-bg: #32373f;
19758
20165
  --dm-table-stripe-bg: rgba(255, 255, 255, 0.03);
19759
20166
  --dm-table-hover-bg: rgba(255, 255, 255, 0.07);
19760
20167
  --dm-modal-backdrop: rgba(0, 0, 0, 0.6);
19761
20168
  --dm-tooltip-bg: #1f2733;
19762
20169
  --dm-tooltip-text: #ffffff;
19763
- --dm-scrollbar-track: #4f5764;
19764
- --dm-scrollbar-thumb: #7a8494;
19765
- --dm-scrollbar-thumb-hover: #8b95a5;
19766
- --dm-code-bg: #454d5a;
20170
+ --dm-scrollbar-track: #2f343c;
20171
+ --dm-scrollbar-thumb: #494f59;
20172
+ --dm-scrollbar-thumb-hover: #5a616c;
20173
+ --dm-code-bg: #292e36;
19767
20174
  --dm-code-text: #ffd9a8;
19768
- --dm-progress-bg: #535b69;
20175
+ --dm-progress-bg: #32373f;
19769
20176
 
19770
20177
  --dm-primary: #3b76bc;
19771
20178
  --dm-primary-hover: #356bab;
@@ -19870,40 +20277,40 @@ code {
19870
20277
  .dm-theme-admin-smooth-indigo {
19871
20278
  color-scheme: dark;
19872
20279
 
19873
- --dm-background: #586170;
19874
- --dm-background-alt: #4f5764;
19875
- --dm-surface: #646d7c;
19876
- --dm-surface-raised: #6c7686;
19877
- --dm-surface-overlay: #6c7686;
20280
+ --dm-background: #353a43;
20281
+ --dm-background-alt: #2f343c;
20282
+ --dm-surface: #3c414a;
20283
+ --dm-surface-raised: #414750;
20284
+ --dm-surface-overlay: #414750;
19878
20285
  --dm-text: #f7f9fb;
19879
20286
  --dm-text-secondary: #d2d8e0;
19880
20287
  --dm-text-muted: #b3bcc8;
19881
20288
  --dm-text-disabled: #8a93a1;
19882
20289
  --dm-text-inverse: #1f2733;
19883
- --dm-border: #6f7888;
19884
- --dm-border-light: #5c6573;
19885
- --dm-border-dark: #7a8494;
20290
+ --dm-border: #434852;
20291
+ --dm-border-light: #373d45;
20292
+ --dm-border-dark: #494f59;
19886
20293
  --dm-hover-bg: rgba(255, 255, 255, 0.07);
19887
20294
  --dm-active-bg: rgba(255, 255, 255, 0.10);
19888
20295
  --dm-disabled-opacity: 0.4;
19889
- --dm-sidebar-bg: #454d5a;
20296
+ --dm-sidebar-bg: #292e36;
19890
20297
  --dm-sidebar-text: #d2d8e0;
19891
- --dm-sidebar-border: #3b424d;
19892
- --dm-navbar-bg: #4f5764;
20298
+ --dm-sidebar-border: #232830;
20299
+ --dm-navbar-bg: #2f343c;
19893
20300
  --dm-navbar-text: #f7f9fb;
19894
- --dm-navbar-border: #5c6573;
19895
- --dm-table-header-bg: #535b69;
20301
+ --dm-navbar-border: #373d45;
20302
+ --dm-table-header-bg: #32373f;
19896
20303
  --dm-table-stripe-bg: rgba(255, 255, 255, 0.03);
19897
20304
  --dm-table-hover-bg: rgba(255, 255, 255, 0.07);
19898
20305
  --dm-modal-backdrop: rgba(0, 0, 0, 0.6);
19899
20306
  --dm-tooltip-bg: #1f2733;
19900
20307
  --dm-tooltip-text: #ffffff;
19901
- --dm-scrollbar-track: #4f5764;
19902
- --dm-scrollbar-thumb: #7a8494;
19903
- --dm-scrollbar-thumb-hover: #8b95a5;
19904
- --dm-code-bg: #454d5a;
20308
+ --dm-scrollbar-track: #2f343c;
20309
+ --dm-scrollbar-thumb: #494f59;
20310
+ --dm-scrollbar-thumb-hover: #5a616c;
20311
+ --dm-code-bg: #292e36;
19905
20312
  --dm-code-text: #ffd9a8;
19906
- --dm-progress-bg: #535b69;
20313
+ --dm-progress-bg: #32373f;
19907
20314
 
19908
20315
  --dm-primary: #5b63a8;
19909
20316
  --dm-primary-hover: #4f5694;
@@ -20008,40 +20415,40 @@ code {
20008
20415
  .dm-theme-admin-smooth-teal {
20009
20416
  color-scheme: dark;
20010
20417
 
20011
- --dm-background: #586170;
20012
- --dm-background-alt: #4f5764;
20013
- --dm-surface: #646d7c;
20014
- --dm-surface-raised: #6c7686;
20015
- --dm-surface-overlay: #6c7686;
20418
+ --dm-background: #353a43;
20419
+ --dm-background-alt: #2f343c;
20420
+ --dm-surface: #3c414a;
20421
+ --dm-surface-raised: #414750;
20422
+ --dm-surface-overlay: #414750;
20016
20423
  --dm-text: #f7f9fb;
20017
20424
  --dm-text-secondary: #d2d8e0;
20018
20425
  --dm-text-muted: #b3bcc8;
20019
20426
  --dm-text-disabled: #8a93a1;
20020
20427
  --dm-text-inverse: #1f2733;
20021
- --dm-border: #6f7888;
20022
- --dm-border-light: #5c6573;
20023
- --dm-border-dark: #7a8494;
20428
+ --dm-border: #434852;
20429
+ --dm-border-light: #373d45;
20430
+ --dm-border-dark: #494f59;
20024
20431
  --dm-hover-bg: rgba(255, 255, 255, 0.07);
20025
20432
  --dm-active-bg: rgba(255, 255, 255, 0.10);
20026
20433
  --dm-disabled-opacity: 0.4;
20027
- --dm-sidebar-bg: #454d5a;
20434
+ --dm-sidebar-bg: #292e36;
20028
20435
  --dm-sidebar-text: #d2d8e0;
20029
- --dm-sidebar-border: #3b424d;
20030
- --dm-navbar-bg: #4f5764;
20436
+ --dm-sidebar-border: #232830;
20437
+ --dm-navbar-bg: #2f343c;
20031
20438
  --dm-navbar-text: #f7f9fb;
20032
- --dm-navbar-border: #5c6573;
20033
- --dm-table-header-bg: #535b69;
20439
+ --dm-navbar-border: #373d45;
20440
+ --dm-table-header-bg: #32373f;
20034
20441
  --dm-table-stripe-bg: rgba(255, 255, 255, 0.03);
20035
20442
  --dm-table-hover-bg: rgba(255, 255, 255, 0.07);
20036
20443
  --dm-modal-backdrop: rgba(0, 0, 0, 0.6);
20037
20444
  --dm-tooltip-bg: #1f2733;
20038
20445
  --dm-tooltip-text: #ffffff;
20039
- --dm-scrollbar-track: #4f5764;
20040
- --dm-scrollbar-thumb: #7a8494;
20041
- --dm-scrollbar-thumb-hover: #8b95a5;
20042
- --dm-code-bg: #454d5a;
20446
+ --dm-scrollbar-track: #2f343c;
20447
+ --dm-scrollbar-thumb: #494f59;
20448
+ --dm-scrollbar-thumb-hover: #5a616c;
20449
+ --dm-code-bg: #292e36;
20043
20450
  --dm-code-text: #ffd9a8;
20044
- --dm-progress-bg: #535b69;
20451
+ --dm-progress-bg: #32373f;
20045
20452
 
20046
20453
  --dm-primary: #2a8178;
20047
20454
  --dm-primary-hover: #287d75;