|
31 | 31 | --memori-primary: var(--memori-primary-color, oklch(48% 0.19 297deg)); |
32 | 32 | --memori-secondary: var(--memori-secondary-color, oklch(70% 0.15 200deg)); |
33 | 33 |
|
| 34 | + /* RGB triple for use in rgb(var(--memori-primary-rgb)) — PDF export, share, etc. */ |
| 35 | + --memori-primary-rgb: 130, 70, 175; |
| 36 | + |
34 | 37 | /* ============================================ |
35 | 38 | DERIVED PRIMARY COLORS (Auto-calculated) |
36 | 39 | ============================================ */ |
|
69 | 72 | --memori-skeleton-base: color-mix(in oklch, var(--memori-primary), white 85%); |
70 | 73 | --memori-skeleton-highlight: color-mix(in oklch, var(--memori-primary), white 75%); |
71 | 74 |
|
| 75 | + /* ============================================ |
| 76 | + INTEGRATION / LAYOUT |
| 77 | + ============================================ */ |
| 78 | + |
| 79 | + /* Optional override for integration text; set on .memori-widget or parent. */ |
| 80 | + --memori-integration-text-color: var(--memori-text-color); |
| 81 | + |
| 82 | + /* Surface contrast for primary-subtle, skeleton, share button (light = white, dark = black). */ |
| 83 | + --memori-surface-contrast: white; |
| 84 | + --memori-surface-contrast-inverse: black; |
| 85 | + --memori-layout-max-width: 1280px; |
| 86 | + |
72 | 87 | /* ============================================ |
73 | 88 | STATIC COLORS (Don't change with theme) |
74 | 89 | ============================================ */ |
|
144 | 159 | /* Border size */ |
145 | 160 | --memori-border: 1px; /* Default border width for borders */ |
146 | 161 |
|
| 162 | + /* Button (padding and shadow for ExportHistoryButton, PoweredBy, etc.) */ |
| 163 | + --memori-button-padding: 0.5rem 1.5rem; |
| 164 | + --memori-button-box-shadow: var(--memori-shadow-sm); |
| 165 | + |
147 | 166 | /* Modal sizes */ |
148 | 167 | --memori-modal-size-sm: 400px; |
149 | 168 | --memori-modal-size-md: 600px; |
|
160 | 179 | --memori-shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / 25%); |
161 | 180 | --memori-noise: 0; /* Noise/grain effect intensity (0 = no noise) */ |
162 | 181 |
|
| 182 | + /* Backdrop blur (e.g. MediaItemWidget) */ |
| 183 | + --memori-blur-background: 10px; |
| 184 | + |
163 | 185 | /* Motion - for hover/focus and micro-interactions (under 300ms) */ |
164 | 186 | --memori-motion-duration-fast: 150ms; |
165 | 187 | --memori-motion-duration-normal: 200ms; |
|
168 | 190 | --memori-motion-ease-in-out: ease-in-out; |
169 | 191 | --memori-motion-ease-out: cubic-bezier(0.33, 1, 0.68, 1); |
170 | 192 | --memori-motion-ease-in: cubic-bezier(0.32, 0.72, 0, 1); |
| 193 | + |
| 194 | + /* Content preview modal (optional; components can override) */ |
| 195 | + --memori-content-preview-bg: var(--memori-secondary-background); |
| 196 | + --memori-content-preview-border: var(--memori-border-color); |
| 197 | + --memori-content-preview-title: var(--memori-text-color); |
| 198 | + --memori-content-preview-close-bg: transparent; |
| 199 | + --memori-content-preview-close-hover: oklch(0% 0 0deg / 8%); |
| 200 | + --memori-content-preview-image-bg: oklch(0% 0 0deg / 4%); |
| 201 | + --memori-content-preview-snippet-border: var(--memori-border-color); |
| 202 | + --memori-content-preview-snippet-bg: var(--memori-main-background); |
| 203 | + --memori-content-preview-snippet-text: var(--memori-text-color); |
171 | 204 | } |
172 | 205 |
|
173 | 206 | /* Dark theme */ |
174 | 207 | [data-theme='dark'], |
175 | 208 | :root.dark { |
176 | 209 | color-scheme: dark; |
177 | 210 |
|
| 211 | + /* Integration / layout - inverted for dark mode */ |
| 212 | + --memori-surface-contrast: black; |
| 213 | + --memori-surface-contrast-inverse: white; |
| 214 | + |
178 | 215 | /* Base colors - inverted for dark mode */ |
179 | 216 | --memori-main-background: oklch(27.4% 0.022 109.7deg); |
180 | 217 | --memori-secondary-background: oklch(21.6% 0.015 109.7deg); |
|
198 | 235 | /* |
199 | 236 | * Dynamic primary override (copy into your selector when setting --memori-primary in JS) |
200 | 237 | * Re-defining these in the same rule ensures hover/subtle/focus/skeleton use your primary. |
| 238 | + * When using RGB (e.g. for PDF/share), set --memori-primary-rgb to "R, G, B" and use |
| 239 | + * --memori-primary-color: rgb(var(--memori-primary-rgb)); (no second argument). |
201 | 240 | * |
202 | 241 | * your-selector { |
203 | 242 | * --memori-primary-color: <your-color>; |
|
0 commit comments