layered-ui-rails 0.7.0 → 0.8.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.
- checksums.yaml +4 -4
- data/.claude/skills/layered-ui-rails/SKILL.md +5 -5
- data/.claude/skills/layered-ui-rails/references/CSS.md +1 -1
- data/AGENTS.md +1 -1
- data/CHANGELOG.md +9 -0
- data/README.md +9 -11
- data/app/assets/tailwind/layered/ui/styles.css +66 -66
- data/lib/generators/layered/ui/create_overrides_generator.rb +43 -42
- data/lib/layered/ui/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d5abac205810e228d971ffa9c13f2c069c56be3f143c0f25612f02c2d8b6e598
|
|
4
|
+
data.tar.gz: 3dbb48d42029cce15cb92dcbd6cc014046032cb7449f145e63854b4898936d14
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e39b4bbc08bb0f198320dccf181de35003e0ab2927eabe3666e0f39743e652a3e9ca45dc295d40b3ce22e1a85381392d86bd202dda9d905f1b500f2c837fdb6d
|
|
7
|
+
data.tar.gz: 8efb4d5a510c8ef52541b0d9f1286e13dce5b8d64c90d7f984e4d4eccfc7153f91eafa83c5beadf54911b2a8a405e5b8c54383ea3884dc2ed6c0169c70f283ca
|
|
@@ -61,7 +61,7 @@ Populate layout regions with `content_for` (always above the render call):
|
|
|
61
61
|
<%# Inject into <head> (e.g. per-tenant theming) %>
|
|
62
62
|
<% content_for :l_ui_head do %>
|
|
63
63
|
<style nonce="<%= content_security_policy_nonce %>">
|
|
64
|
-
:root { --accent:
|
|
64
|
+
:root { --accent: oklch(0.58 0.19 255); }
|
|
65
65
|
</style>
|
|
66
66
|
<% end %>
|
|
67
67
|
|
|
@@ -150,17 +150,17 @@ All controllers use the `l-ui--` namespace and are auto-registered via importmap
|
|
|
150
150
|
|
|
151
151
|
## Theming
|
|
152
152
|
|
|
153
|
-
Override CSS custom properties after the engine import. Values are
|
|
153
|
+
Override CSS custom properties after the engine import. Values are full CSS colors - `oklch()` is recommended for perceptually uniform mixing and consistent contrast, but `#hex`, `rgb()`, and keywords also work. A converter such as https://oklch.com/ can help translate from hex/rgb.
|
|
154
154
|
|
|
155
155
|
```css
|
|
156
156
|
@import "./layered_ui";
|
|
157
157
|
|
|
158
158
|
:root {
|
|
159
|
-
--accent:
|
|
160
|
-
--accent-foreground: 0 0
|
|
159
|
+
--accent: oklch(0.58 0.19 255);
|
|
160
|
+
--accent-foreground: oklch(1 0 0);
|
|
161
161
|
}
|
|
162
162
|
.dark {
|
|
163
|
-
--accent:
|
|
163
|
+
--accent: oklch(0.72 0.14 255);
|
|
164
164
|
}
|
|
165
165
|
```
|
|
166
166
|
|
|
@@ -283,7 +283,7 @@ WCAG 2.2 AA table pattern:
|
|
|
283
283
|
|
|
284
284
|
## Theming tokens
|
|
285
285
|
|
|
286
|
-
All color values are
|
|
286
|
+
All color values are full CSS colors - `oklch()` is recommended for perceptually uniform mixing and consistent contrast (e.g. `oklch(0.58 0.19 255)`), but `#hex`, `rgb()`, and keywords also work. Override after importing the engine CSS. A converter such as https://oklch.com/ can help translate from hex/rgb.
|
|
287
287
|
|
|
288
288
|
Tier 1 - Accent (quick branding):
|
|
289
289
|
```
|
data/AGENTS.md
CHANGED
|
@@ -6,7 +6,7 @@ Guidance for AI agents working in this repository.
|
|
|
6
6
|
|
|
7
7
|
- **Entry:** `require "layered-ui-rails"` → `lib/layered/ui.rb` → `lib/layered/ui/engine.rb`
|
|
8
8
|
- **Engine:** importmap, assets, Pagy helpers when present; helpers: `AuthenticationHelper`, `NavigationHelper`, `PagyHelper`
|
|
9
|
-
- **CSS** `app/assets/tailwind/layered/ui/styles.css`:
|
|
9
|
+
- **CSS** `app/assets/tailwind/layered/ui/styles.css`: OKLCH tokens, `.dark` on `<html>`, `@theme` utilities (`bg-background`, etc.), BEM components (`.l-ui-button--primary`, etc.). Layout: 63px header, 240px sidebar, 320px panel. WCAG 2.2 AA.
|
|
10
10
|
- **CSS `@apply`:** Multi-line with grouping (layout → spacing → typography → colors → effects). Single utilities may stay on one line.
|
|
11
11
|
- **Generators:** `bin/rails generate layered:ui:install` (copy CSS, import CSS, import JS)
|
|
12
12
|
- **JS** `app/javascript/layered_ui/`: Stimulus controllers registered as `l-ui--theme`, `l-ui--navigation`, `l-ui--panel`, `l-ui--modal`, `l-ui--tabs`
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. This project follows [Semantic Versioning](https://semver.org/).
|
|
4
4
|
|
|
5
|
+
## [Unreleased]
|
|
6
|
+
|
|
7
|
+
## [0.8.0] - 2026-04-24
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- **Breaking:** Theme tokens migrated from HSL channels (`220 80% 55%`) to full `oklch()` values for perceptually uniform mixing. `@theme` now references the vars directly instead of wrapping them in `hsl()`. Existing overrides files need to be updated: replace `hue sat% lightness%` with the equivalent `oklch(L C H)` value (or any valid CSS color - `#hex`, `rgb()`, and keywords all work now).
|
|
12
|
+
- `layered:ui:create_overrides` generator and token documentation (`SKILL.md`, `references/CSS.md`, `README.md`, dummy app colour/head pages) updated to reflect the new `oklch()` format.
|
|
13
|
+
|
|
5
14
|
## [0.7.0] - 2026-04-23
|
|
6
15
|
|
|
7
16
|
### Added
|
data/README.md
CHANGED
|
@@ -104,14 +104,14 @@ All colors are CSS custom properties on `:root` using a two-tier system:
|
|
|
104
104
|
@import "./layered_ui";
|
|
105
105
|
|
|
106
106
|
:root {
|
|
107
|
-
--accent:
|
|
108
|
-
--accent-foreground: 0 0
|
|
107
|
+
--accent: oklch(0.58 0.19 255);
|
|
108
|
+
--accent-foreground: oklch(1 0 0);
|
|
109
109
|
}
|
|
110
110
|
|
|
111
111
|
.dark {
|
|
112
|
-
--accent:
|
|
113
|
-
--accent-foreground: 0 0
|
|
114
|
-
--button-primary-text: 0 0
|
|
112
|
+
--accent: oklch(0.72 0.14 255);
|
|
113
|
+
--accent-foreground: oklch(0.2044 0 0);
|
|
114
|
+
--button-primary-text: oklch(1 0 0); /* white icons/text on colored buttons */
|
|
115
115
|
}
|
|
116
116
|
```
|
|
117
117
|
|
|
@@ -120,7 +120,7 @@ For dynamic theming (e.g. per-tenant branding), use `content_for :l_ui_head` to
|
|
|
120
120
|
```erb
|
|
121
121
|
<% content_for :l_ui_head do %>
|
|
122
122
|
<style>
|
|
123
|
-
:root { --accent: <%= @tenant.
|
|
123
|
+
:root { --accent: <%= @tenant.accent_color %>; --accent-foreground: oklch(1 0 0); }
|
|
124
124
|
</style>
|
|
125
125
|
<% end %>
|
|
126
126
|
```
|
|
@@ -132,7 +132,7 @@ For dynamic theming (e.g. per-tenant branding), use `content_for :l_ui_head` to
|
|
|
132
132
|
> ```erb
|
|
133
133
|
> <% content_for :l_ui_head do %>
|
|
134
134
|
> <style nonce="<%= content_security_policy_nonce %>">
|
|
135
|
-
> :root { --accent: <%= @tenant.
|
|
135
|
+
> :root { --accent: <%= @tenant.accent_color %>; --accent-foreground: oklch(1 0 0); }
|
|
136
136
|
> </style>
|
|
137
137
|
> <% end %>
|
|
138
138
|
> ```
|
|
@@ -213,9 +213,7 @@ kamal deploy
|
|
|
213
213
|
|
|
214
214
|
## Contributing
|
|
215
215
|
|
|
216
|
-
This project is still in its early days. We welcome issues, feedback, and ideas - they genuinely help shape the direction of the project. That said, we're holding off on accepting pull requests
|
|
217
|
-
|
|
218
|
-
- [CLA.md](CLA.md) - contributor license agreement
|
|
216
|
+
This project is still in its early days. We welcome issues, feedback, and ideas - they genuinely help shape the direction of the project. That said, we're holding off on accepting pull requests for now to stay focused on getting the foundations right. Thank you for your patience and interest. See [CLA.md](CLA.md) for the full policy.
|
|
219
217
|
|
|
220
218
|
## License
|
|
221
219
|
|
|
@@ -225,4 +223,4 @@ Copyright 2026 LAYERED AI LIMITED (UK company number: 17056830). See [NOTICE](NO
|
|
|
225
223
|
|
|
226
224
|
## Trademarks
|
|
227
225
|
|
|
228
|
-
The source code is fully open, but the layered.ai name, logo, and brand assets are trademarks of LAYERED AI LIMITED. The Apache 2.0 license does not grant rights to use the layered.ai branding. Forks and redistributions must use a distinct name. See [TRADEMARK.md](TRADEMARK.md) for the full policy.
|
|
226
|
+
The source code is fully open, but the layered.ai name, logo, and brand assets are trademarks of LAYERED AI LIMITED. The Apache 2.0 license does not grant rights to use the layered.ai branding. Forks and redistributions must use a distinct name. See [TRADEMARK.md](TRADEMARK.md) for the full policy.
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
@variant dark (&:where(.dark, .dark *));
|
|
34
34
|
|
|
35
35
|
/*
|
|
36
|
-
* Color tokens (
|
|
36
|
+
* Color tokens (full oklch() values, e.g. "oklch(0.7 0.15 240)")
|
|
37
37
|
*
|
|
38
38
|
* Tier 1 - Accent: --accent, --accent-foreground
|
|
39
39
|
* Tier 2 - Full palette: background, foreground, border, surface, etc.
|
|
@@ -48,59 +48,59 @@
|
|
|
48
48
|
@layer base {
|
|
49
49
|
:root {
|
|
50
50
|
/* Tier 1 - Accent */
|
|
51
|
-
--accent: 0 0
|
|
52
|
-
--accent-foreground: 0 0
|
|
51
|
+
--accent: oklch(0.2044 0 0);
|
|
52
|
+
--accent-foreground: oklch(1 0 0);
|
|
53
53
|
/* Tier 2 - Full palette */
|
|
54
|
-
--background: 0 0
|
|
55
|
-
--foreground: 0 0
|
|
56
|
-
--foreground-muted: 0 0
|
|
57
|
-
--border: 0 0
|
|
58
|
-
--border-control: 0 0
|
|
59
|
-
--ring: 0 0
|
|
60
|
-
--surface: 0 0
|
|
61
|
-
--surface-highlighted: 0 0
|
|
54
|
+
--background: oklch(1 0 0);
|
|
55
|
+
--foreground: oklch(0.2484 0 0);
|
|
56
|
+
--foreground-muted: oklch(0.4089 0 0);
|
|
57
|
+
--border: oklch(0.9312 0 0);
|
|
58
|
+
--border-control: oklch(0.6409 0 0);
|
|
59
|
+
--ring: oklch(0.2484 0 0);
|
|
60
|
+
--surface: oklch(0.9696 0 0);
|
|
61
|
+
--surface-highlighted: oklch(0.9312 0 0);
|
|
62
62
|
--button-primary-bg: var(--accent);
|
|
63
63
|
--button-primary-text: var(--accent-foreground);
|
|
64
64
|
--button-primary-icon: var(--button-primary-text);
|
|
65
|
-
--danger: 0
|
|
66
|
-
--danger-light: 0
|
|
67
|
-
--danger-text: 0
|
|
68
|
-
--success-bg:
|
|
69
|
-
--success-text:
|
|
70
|
-
--switch-track-checked:
|
|
71
|
-
--warning-bg:
|
|
72
|
-
--warning-text:
|
|
73
|
-
--error-bg: 0
|
|
74
|
-
--error-text: 0
|
|
65
|
+
--danger: oklch(0.47 0.1742 27.23);
|
|
66
|
+
--danger-light: oklch(0.9663 0.0166 17.44);
|
|
67
|
+
--danger-text: oklch(0.443 0.1634 27.14);
|
|
68
|
+
--success-bg: oklch(0.8395 0.1698 152.91);
|
|
69
|
+
--success-text: oklch(0.3088 0.0763 150.76);
|
|
70
|
+
--switch-track-checked: oklch(0.6334 0.1664 149.75);
|
|
71
|
+
--warning-bg: oklch(0.8908 0.1551 94.86);
|
|
72
|
+
--warning-text: oklch(0.3625 0.0732 93.12);
|
|
73
|
+
--error-bg: oklch(0.748 0.1306 20.64);
|
|
74
|
+
--error-text: oklch(0.2248 0.0874 28.11);
|
|
75
75
|
--header-height: 63px;
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
.dark {
|
|
79
79
|
/* Tier 1 - Accent */
|
|
80
|
-
--accent: 0 0
|
|
81
|
-
--accent-foreground: 0 0
|
|
80
|
+
--accent: oklch(1 0 0);
|
|
81
|
+
--accent-foreground: oklch(0.2044 0 0);
|
|
82
82
|
/* Tier 2 - Full palette */
|
|
83
|
-
--background: 0 0
|
|
84
|
-
--foreground: 0 0
|
|
85
|
-
--foreground-muted: 0 0
|
|
86
|
-
--border: 0 0
|
|
87
|
-
--border-control: 0 0
|
|
88
|
-
--ring: 0 0
|
|
89
|
-
--surface: 0 0
|
|
90
|
-
--surface-highlighted: 0 0
|
|
83
|
+
--background: oklch(0 0 0);
|
|
84
|
+
--foreground: oklch(0.9157 0 0);
|
|
85
|
+
--foreground-muted: oklch(0.7733 0 0);
|
|
86
|
+
--border: oklch(0.2801 0 0);
|
|
87
|
+
--border-control: oklch(0.5103 0 0);
|
|
88
|
+
--ring: oklch(0.9157 0 0);
|
|
89
|
+
--surface: oklch(0.193 0 0);
|
|
90
|
+
--surface-highlighted: oklch(0.2801 0 0);
|
|
91
91
|
--button-primary-bg: var(--accent);
|
|
92
92
|
--button-primary-text: var(--accent-foreground);
|
|
93
93
|
--button-primary-icon: var(--button-primary-text);
|
|
94
|
-
--danger: 0
|
|
95
|
-
--danger-light: 0
|
|
96
|
-
--danger-text: 0
|
|
97
|
-
--success-bg:
|
|
98
|
-
--success-text:
|
|
99
|
-
--switch-track-checked:
|
|
100
|
-
--warning-bg:
|
|
101
|
-
--warning-text:
|
|
102
|
-
--error-bg: 0
|
|
103
|
-
--error-text: 0
|
|
94
|
+
--danger: oklch(0.6362 0.2102 25.49);
|
|
95
|
+
--danger-light: oklch(0.2596 0.1021 28.32);
|
|
96
|
+
--danger-text: oklch(0.6607 0.1921 24.02);
|
|
97
|
+
--success-bg: oklch(0.3385 0.0852 150.45);
|
|
98
|
+
--success-text: oklch(0.8999 0.1022 155.94);
|
|
99
|
+
--switch-track-checked: oklch(0.7176 0.1902 149.6);
|
|
100
|
+
--warning-bg: oklch(0.3625 0.0732 93.12);
|
|
101
|
+
--warning-text: oklch(0.9336 0.1 95.79);
|
|
102
|
+
--error-bg: oklch(0.2248 0.0874 28.11);
|
|
103
|
+
--error-text: oklch(0.748 0.1306 20.64);
|
|
104
104
|
}
|
|
105
105
|
|
|
106
106
|
/* Typography */
|
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
.l-ui-body,
|
|
149
149
|
.l-ui-body * {
|
|
150
150
|
scrollbar-width: thin;
|
|
151
|
-
scrollbar-color:
|
|
151
|
+
scrollbar-color: color-mix(in oklch, var(--foreground-muted) 30%, transparent) transparent;
|
|
152
152
|
}
|
|
153
153
|
}
|
|
154
154
|
|
|
@@ -157,29 +157,29 @@
|
|
|
157
157
|
@theme {
|
|
158
158
|
--font-manrope: 'Manrope', ui-sans-serif, system-ui, sans-serif;
|
|
159
159
|
--font-inter: 'Inter', ui-sans-serif, system-ui, sans-serif;
|
|
160
|
-
--color-accent:
|
|
161
|
-
--color-accent-foreground:
|
|
162
|
-
--color-background:
|
|
163
|
-
--color-foreground:
|
|
164
|
-
--color-foreground-muted:
|
|
165
|
-
--color-border:
|
|
166
|
-
--color-border-control:
|
|
167
|
-
--color-surface:
|
|
168
|
-
--color-surface-highlighted:
|
|
169
|
-
--color-button-primary-bg:
|
|
170
|
-
--color-button-primary-text:
|
|
171
|
-
--color-button-primary-icon:
|
|
172
|
-
--color-danger:
|
|
173
|
-
--color-danger-light:
|
|
174
|
-
--color-danger-text:
|
|
175
|
-
--color-success-bg:
|
|
176
|
-
--color-success-text:
|
|
177
|
-
--color-switch-track-checked:
|
|
178
|
-
--color-warning-bg:
|
|
179
|
-
--color-warning-text:
|
|
180
|
-
--color-error-bg:
|
|
181
|
-
--color-error-text:
|
|
182
|
-
--color-ring:
|
|
160
|
+
--color-accent: var(--accent);
|
|
161
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
162
|
+
--color-background: var(--background);
|
|
163
|
+
--color-foreground: var(--foreground);
|
|
164
|
+
--color-foreground-muted: var(--foreground-muted);
|
|
165
|
+
--color-border: var(--border);
|
|
166
|
+
--color-border-control: var(--border-control);
|
|
167
|
+
--color-surface: var(--surface);
|
|
168
|
+
--color-surface-highlighted: var(--surface-highlighted);
|
|
169
|
+
--color-button-primary-bg: var(--button-primary-bg);
|
|
170
|
+
--color-button-primary-text: var(--button-primary-text);
|
|
171
|
+
--color-button-primary-icon: var(--button-primary-icon);
|
|
172
|
+
--color-danger: var(--danger);
|
|
173
|
+
--color-danger-light: var(--danger-light);
|
|
174
|
+
--color-danger-text: var(--danger-text);
|
|
175
|
+
--color-success-bg: var(--success-bg);
|
|
176
|
+
--color-success-text: var(--success-text);
|
|
177
|
+
--color-switch-track-checked: var(--switch-track-checked);
|
|
178
|
+
--color-warning-bg: var(--warning-bg);
|
|
179
|
+
--color-warning-text: var(--warning-text);
|
|
180
|
+
--color-error-bg: var(--error-bg);
|
|
181
|
+
--color-error-text: var(--error-text);
|
|
182
|
+
--color-ring: var(--ring);
|
|
183
183
|
}
|
|
184
184
|
|
|
185
185
|
/* Accessibility */
|
|
@@ -1092,7 +1092,7 @@ pre.l-ui-surface {
|
|
|
1092
1092
|
w-4 h-4
|
|
1093
1093
|
pointer-events-none;
|
|
1094
1094
|
content: '';
|
|
1095
|
-
background-color:
|
|
1095
|
+
background-color: var(--foreground);
|
|
1096
1096
|
-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z'/%3E%3C/svg%3E");
|
|
1097
1097
|
mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7.41 8.59L12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z'/%3E%3C/svg%3E");
|
|
1098
1098
|
-webkit-mask-size: contain;
|
|
@@ -26,10 +26,11 @@ module Layered
|
|
|
26
26
|
* This file is NOT overwritten by the install generator, so your
|
|
27
27
|
* changes are preserved when you upgrade layered-ui-rails.
|
|
28
28
|
*
|
|
29
|
-
* Values are
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
29
|
+
* Values are full `oklch()` colors (e.g. `oklch(0.7 0.15 240)`).
|
|
30
|
+
* Any valid CSS color works too - `#hex`, `rgb(...)`, keywords -
|
|
31
|
+
* but `oklch()` is recommended for perceptually uniform mixing
|
|
32
|
+
* and consistent contrast. A converter such as
|
|
33
|
+
* https://oklch.com/ can help translate from hex/rgb.
|
|
33
34
|
*/
|
|
34
35
|
|
|
35
36
|
/* ----------------------------------------------------------------
|
|
@@ -46,13 +47,13 @@ module Layered
|
|
|
46
47
|
* ---------------------------------------------------------------- */
|
|
47
48
|
|
|
48
49
|
:root {
|
|
49
|
-
/* --accent: 0 0
|
|
50
|
-
/* --accent-foreground: 0 0
|
|
50
|
+
/* --accent: oklch(0.2044 0 0); */
|
|
51
|
+
/* --accent-foreground: oklch(1 0 0); */
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
.dark {
|
|
54
|
-
/* --accent: 0 0
|
|
55
|
-
/* --accent-foreground: 0 0
|
|
55
|
+
/* --accent: oklch(1 0 0); */
|
|
56
|
+
/* --accent-foreground: oklch(0.2044 0 0); */
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
/* ----------------------------------------------------------------
|
|
@@ -63,49 +64,49 @@ module Layered
|
|
|
63
64
|
|
|
64
65
|
/*
|
|
65
66
|
:root {
|
|
66
|
-
--background: 0 0
|
|
67
|
-
--foreground: 0 0
|
|
68
|
-
--foreground-muted: 0 0
|
|
69
|
-
--border: 0 0
|
|
70
|
-
--border-control: 0 0
|
|
71
|
-
--ring: 0 0
|
|
72
|
-
--surface: 0 0
|
|
73
|
-
--surface-highlighted: 0 0
|
|
67
|
+
--background: oklch(1 0 0);
|
|
68
|
+
--foreground: oklch(0.2484 0 0);
|
|
69
|
+
--foreground-muted: oklch(0.4089 0 0);
|
|
70
|
+
--border: oklch(0.9312 0 0);
|
|
71
|
+
--border-control: oklch(0.6409 0 0);
|
|
72
|
+
--ring: oklch(0.2484 0 0);
|
|
73
|
+
--surface: oklch(0.9696 0 0);
|
|
74
|
+
--surface-highlighted: oklch(0.9312 0 0);
|
|
74
75
|
--button-primary-bg: var(--accent);
|
|
75
76
|
--button-primary-text: var(--accent-foreground);
|
|
76
77
|
--button-primary-icon: var(--button-primary-text);
|
|
77
|
-
--danger: 0
|
|
78
|
-
--danger-light: 0
|
|
79
|
-
--danger-text: 0
|
|
80
|
-
--success-bg:
|
|
81
|
-
--success-text:
|
|
82
|
-
--warning-bg:
|
|
83
|
-
--warning-text:
|
|
84
|
-
--error-bg: 0
|
|
85
|
-
--error-text: 0
|
|
78
|
+
--danger: oklch(0.47 0.1742 27.23);
|
|
79
|
+
--danger-light: oklch(0.9663 0.0166 17.44);
|
|
80
|
+
--danger-text: oklch(0.443 0.1634 27.14);
|
|
81
|
+
--success-bg: oklch(0.8395 0.1698 152.91);
|
|
82
|
+
--success-text: oklch(0.3088 0.0763 150.76);
|
|
83
|
+
--warning-bg: oklch(0.8908 0.1551 94.86);
|
|
84
|
+
--warning-text: oklch(0.3625 0.0732 93.12);
|
|
85
|
+
--error-bg: oklch(0.748 0.1306 20.64);
|
|
86
|
+
--error-text: oklch(0.2248 0.0874 28.11);
|
|
86
87
|
}
|
|
87
88
|
|
|
88
89
|
.dark {
|
|
89
|
-
--background: 0 0
|
|
90
|
-
--foreground: 0 0
|
|
91
|
-
--foreground-muted: 0 0
|
|
92
|
-
--border: 0 0
|
|
93
|
-
--border-control: 0 0
|
|
94
|
-
--ring: 0 0
|
|
95
|
-
--surface: 0 0
|
|
96
|
-
--surface-highlighted: 0 0
|
|
90
|
+
--background: oklch(0 0 0);
|
|
91
|
+
--foreground: oklch(0.9157 0 0);
|
|
92
|
+
--foreground-muted: oklch(0.7733 0 0);
|
|
93
|
+
--border: oklch(0.2801 0 0);
|
|
94
|
+
--border-control: oklch(0.5103 0 0);
|
|
95
|
+
--ring: oklch(0.9157 0 0);
|
|
96
|
+
--surface: oklch(0.193 0 0);
|
|
97
|
+
--surface-highlighted: oklch(0.2801 0 0);
|
|
97
98
|
--button-primary-bg: var(--accent);
|
|
98
99
|
--button-primary-text: var(--accent-foreground);
|
|
99
100
|
--button-primary-icon: var(--button-primary-text);
|
|
100
|
-
--danger: 0
|
|
101
|
-
--danger-light: 0
|
|
102
|
-
--danger-text: 0
|
|
103
|
-
--success-bg:
|
|
104
|
-
--success-text:
|
|
105
|
-
--warning-bg:
|
|
106
|
-
--warning-text:
|
|
107
|
-
--error-bg: 0
|
|
108
|
-
--error-text: 0
|
|
101
|
+
--danger: oklch(0.6362 0.2102 25.49);
|
|
102
|
+
--danger-light: oklch(0.2596 0.1021 28.32);
|
|
103
|
+
--danger-text: oklch(0.6607 0.1921 24.02);
|
|
104
|
+
--success-bg: oklch(0.3385 0.0852 150.45);
|
|
105
|
+
--success-text: oklch(0.8999 0.1022 155.94);
|
|
106
|
+
--warning-bg: oklch(0.3625 0.0732 93.12);
|
|
107
|
+
--warning-text: oklch(0.9336 0.1 95.79);
|
|
108
|
+
--error-bg: oklch(0.2248 0.0874 28.11);
|
|
109
|
+
--error-text: oklch(0.748 0.1306 20.64);
|
|
109
110
|
}
|
|
110
111
|
*/
|
|
111
112
|
|
data/lib/layered/ui/version.rb
CHANGED