|
5 | 5 | @import "swiper/css/pagination"; |
6 | 6 | @import "slim-select/styles"; |
7 | 7 | @plugin "daisyui/index.js" { |
8 | | - themes: cakephp --default; |
| 8 | + themes: cakephp --default, cakephp-dark; |
9 | 9 | } |
10 | 10 |
|
11 | 11 | @plugin "daisyui/theme" { |
|
45 | 45 | --noise: 0; |
46 | 46 | } |
47 | 47 |
|
| 48 | +@plugin "daisyui/theme" { |
| 49 | + name: "cakephp-dark"; |
| 50 | + default: false; |
| 51 | + prefersdark: true; |
| 52 | + color-scheme: dark; |
| 53 | + |
| 54 | + --color-base-100: hsl(0 0% 10%); |
| 55 | + --color-base-200: hsl(0 0% 13%); |
| 56 | + --color-base-300: hsl(0 0% 17%); |
| 57 | + --color-base-content: hsl(0 0% 88%); |
| 58 | + |
| 59 | + --color-primary: var(--color-cake-red); |
| 60 | + --color-primary-content: hsl(0 0% 100%); |
| 61 | + --color-secondary: var(--color-cake-blue); |
| 62 | + --color-secondary-content: hsl(0 0% 100%); |
| 63 | + --color-accent: hsl(199 89% 58%); |
| 64 | + --color-accent-content: hsl(0 0% 100%); |
| 65 | + --color-neutral: hsl(0 0% 88%); |
| 66 | + --color-neutral-content: hsl(0 0% 10%); |
| 67 | + |
| 68 | + --color-info: hsl(198 93% 60%); |
| 69 | + --color-info-content: hsl(198 100% 88%); |
| 70 | + --color-success: hsl(158 64% 52%); |
| 71 | + --color-success-content: hsl(158 100% 88%); |
| 72 | + --color-warning: hsl(43 96% 56%); |
| 73 | + --color-warning-content: hsl(43 100% 88%); |
| 74 | + --color-error: hsl(0 72% 56%); |
| 75 | + --color-error-content: hsl(0 0% 100%); |
| 76 | + |
| 77 | + --radius-box: 1.5rem; |
| 78 | + --radius-field: 1rem; |
| 79 | + --radius-selector: 1rem; |
| 80 | + --border: 1px; |
| 81 | + --depth: 1; |
| 82 | + --noise: 0; |
| 83 | +} |
| 84 | + |
48 | 85 | @theme { |
49 | 86 | --font-raleway: "Raleway", sans-serif; |
50 | 87 | --color-cake-red: #d33c44; |
|
87 | 124 | --ss-primary-color: var(--color-cake-blue); |
88 | 125 | } |
89 | 126 |
|
| 127 | +/* SlimSelect dark mode overrides */ |
| 128 | +[data-theme="cakephp-dark"] .ss-main { |
| 129 | + --ss-primary-color: #d33c44; |
| 130 | + --ss-bg-color: hsl(0 0% 13%); |
| 131 | + --ss-font-color: hsl(0 0% 88%); |
| 132 | + --ss-border-color: hsl(0 0% 22%); |
| 133 | + --ss-highlight-color: hsl(0 0% 17%); |
| 134 | + --ss-spinner-color: hsl(0 0% 88%); |
| 135 | +} |
| 136 | + |
| 137 | +[data-theme="cakephp-dark"] [data-is-php-filter] + .ss-main { |
| 138 | + --ss-primary-color: var(--color-cake-blue); |
| 139 | +} |
| 140 | + |
| 141 | +[data-theme="cakephp-dark"] .ss-content { |
| 142 | + background: hsl(0 0% 13%); |
| 143 | + border-color: hsl(0 0% 22%); |
| 144 | +} |
| 145 | + |
| 146 | +[data-theme="cakephp-dark"] .ss-content .ss-search input { |
| 147 | + background: hsl(0 0% 17%); |
| 148 | + border-color: hsl(0 0% 22%); |
| 149 | + color: hsl(0 0% 88%); |
| 150 | +} |
| 151 | + |
| 152 | +[data-theme="cakephp-dark"] .ss-content .ss-list .ss-option { |
| 153 | + color: hsl(0 0% 80%); |
| 154 | +} |
| 155 | + |
| 156 | +[data-theme="cakephp-dark"] .ss-content .ss-list .ss-option:hover, |
| 157 | +[data-theme="cakephp-dark"] .ss-content .ss-list .ss-option.ss-highlighted { |
| 158 | + background: hsl(0 0% 17%); |
| 159 | + color: hsl(0 0% 88%); |
| 160 | +} |
| 161 | + |
| 162 | +[data-theme="cakephp-dark"] .ss-content .ss-list .ss-option.ss-selected { |
| 163 | + color: #d33c44; |
| 164 | + background: hsl(0 0% 17%); |
| 165 | +} |
| 166 | + |
| 167 | +[data-theme="cakephp-dark"] .ss-content .ss-list .ss-option.ss-disabled { |
| 168 | + color: hsl(0 0% 35%); |
| 169 | +} |
| 170 | + |
| 171 | +[data-theme="cakephp-dark"] .ss-single-selected { |
| 172 | + background: hsl(0 0% 13%); |
| 173 | + border-color: hsl(0 0% 22%); |
| 174 | + color: hsl(0 0% 88%); |
| 175 | +} |
| 176 | + |
| 177 | +[data-theme="cakephp-dark"] .ss-single-selected .ss-arrow span { |
| 178 | + border-color: hsl(0 0% 60%); |
| 179 | +} |
| 180 | + |
| 181 | +[data-theme="cakephp-dark"] .ss-multi-selected { |
| 182 | + background: hsl(0 0% 13%); |
| 183 | + border-color: hsl(0 0% 22%); |
| 184 | + color: hsl(0 0% 88%); |
| 185 | +} |
| 186 | + |
| 187 | +[data-theme="cakephp-dark"] .ss-multi-selected .ss-values .ss-value { |
| 188 | + background: hsl(0 0% 22%); |
| 189 | + color: hsl(0 0% 88%); |
| 190 | +} |
| 191 | + |
| 192 | +[data-theme="cakephp-dark"] .ss-multi-selected .ss-values .ss-value .ss-value-delete svg path { |
| 193 | + fill: hsl(0 0% 60%); |
| 194 | +} |
| 195 | + |
| 196 | +[data-theme="cakephp-dark"] .ss-content .ss-list .ss-option[aria-selected="true"] { |
| 197 | + background: #d33c44; |
| 198 | + color: #fff; |
| 199 | +} |
| 200 | + |
| 201 | +/* Dark mode: darker navbar background */ |
| 202 | +[data-theme="cakephp-dark"] .navbar-top { |
| 203 | + background-color: hsl(0 65% 12%) !important; |
| 204 | + border-bottom-color: hsl(0 65% 18%) !important; |
| 205 | +} |
| 206 | + |
| 207 | +/* Dark mode: placeholder text contrast */ |
| 208 | +[data-theme="cakephp-dark"] input::placeholder, |
| 209 | +[data-theme="cakephp-dark"] textarea::placeholder, |
| 210 | +[data-theme="cakephp-dark"] select::placeholder { |
| 211 | + color: hsl(0 0% 50%) !important; |
| 212 | + opacity: 1; |
| 213 | +} |
| 214 | + |
| 215 | +[data-theme="cakephp-dark"] .input input::placeholder { |
| 216 | + color: hsl(0 0% 50%) !important; |
| 217 | + opacity: 1; |
| 218 | +} |
| 219 | + |
90 | 220 | .htmx-indicator { |
91 | 221 | opacity: 1; |
92 | 222 | transition: opacity 0.2s ease; |
|
0 commit comments