@farming-labs/svelte-theme 0.2.6 → 0.2.7

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.
@@ -5,7 +5,8 @@
5
5
 
6
6
  /* ─── Color overrides (light) ─────────────────────────────────────── */
7
7
 
8
- :root {
8
+ body:has(#nd-docs-layout),
9
+ #nd-docs-layout {
9
10
  --color-fd-background: oklch(1 0 0);
10
11
  --color-fd-foreground: oklch(0.147 0.004 49.25);
11
12
  --color-fd-card: oklch(1 0 0);
@@ -26,7 +27,11 @@
26
27
 
27
28
  /* ─── Color overrides (dark) ──────────────────────────────────────── */
28
29
 
29
- .dark {
30
+ html.dark body:has(#nd-docs-layout),
31
+ body.dark:has(#nd-docs-layout),
32
+ body:has(#nd-docs-layout.dark),
33
+ :is(html.dark, body.dark) #nd-docs-layout,
34
+ #nd-docs-layout.dark {
30
35
  --color-fd-background: hsl(0 0% 0%);
31
36
  --color-fd-foreground: oklch(0.985 0.001 106.423);
32
37
  --color-fd-card: hsl(0 0% 0%);
@@ -49,65 +54,69 @@
49
54
  * Sharp radius — override all rounded utilities
50
55
  * ═══════════════════════════════════════════════════════════════════ */
51
56
 
52
- .fd-sidebar,
53
- .fd-nav,
54
- .fd-card,
55
- .fd-callout,
56
- .fd-code-block,
57
- .fd-search-dialog,
58
- .fd-toc,
59
- [class*="rounded-lg"] {
57
+ #nd-docs-layout .fd-sidebar,
58
+ #nd-docs-layout .fd-nav,
59
+ #nd-docs-layout .fd-card,
60
+ #nd-docs-layout .fd-callout,
61
+ #nd-docs-layout .fd-code-block,
62
+ #nd-docs-layout .fd-search-dialog,
63
+ #nd-docs-layout .fd-toc,
64
+ #nd-docs-layout [class*="rounded-lg"] {
60
65
  border-radius: 0.2rem !important;
61
66
  }
62
67
 
63
- [class*="rounded-md"] {
68
+ #nd-docs-layout [class*="rounded-md"] {
64
69
  border-radius: 0.1rem !important;
65
70
  }
66
71
 
67
- [class*="rounded-xl"],
68
- [class*="rounded-2xl"] {
72
+ #nd-docs-layout [class*="rounded-xl"],
73
+ #nd-docs-layout [class*="rounded-2xl"] {
69
74
  border-radius: 0.2rem !important;
70
75
  }
71
76
 
72
77
  /* ─── Tables ──────────────────────────────────────────────────────── */
73
78
 
74
- table {
79
+ #nd-docs-layout table {
75
80
  border-radius: 0 !important;
76
81
  border-collapse: collapse;
77
82
  }
78
83
 
79
- .dark th {
84
+ :is(html.dark, body.dark) #nd-docs-layout th,
85
+ #nd-docs-layout.dark th {
80
86
  background: hsl(0 0% 8%);
81
87
  color: hsl(0 0% 80%);
82
88
  font-weight: 500;
83
89
  }
84
90
 
85
- .dark td {
91
+ :is(html.dark, body.dark) #nd-docs-layout td,
92
+ #nd-docs-layout.dark td {
86
93
  background: hsl(0 0% 2%);
87
94
  }
88
95
 
89
- .dark tr {
96
+ :is(html.dark, body.dark) #nd-docs-layout tr,
97
+ #nd-docs-layout.dark tr {
90
98
  border-color: hsl(0 0% 14%);
91
99
  }
92
100
 
93
101
  /* ─── Code blocks ─────────────────────────────────────────────────── */
94
102
 
95
- .fd-code-block,
96
- .fd-code-block pre {
103
+ #nd-docs-layout .fd-code-block,
104
+ #nd-docs-layout .fd-code-block pre {
97
105
  border-radius: 0.2rem !important;
98
106
  }
99
107
 
100
- .fd-code-block button {
108
+ #nd-docs-layout .fd-code-block button {
101
109
  border-radius: 0.1rem !important;
102
110
  }
103
111
 
104
112
  /* ─── Inline code ─────────────────────────────────────────────────── */
105
113
 
106
- code:not(pre code) {
114
+ #nd-docs-layout code:not(pre code) {
107
115
  border-radius: 0.1rem !important;
108
116
  }
109
117
 
110
- .dark code:not(pre code) {
118
+ :is(html.dark, body.dark) #nd-docs-layout code:not(pre code),
119
+ #nd-docs-layout.dark code:not(pre code) {
111
120
  background: hsl(0 0% 10%);
112
121
  border: 1px solid hsl(0 0% 16%);
113
122
  color: hsl(0 0% 85%);
@@ -115,118 +124,128 @@ code:not(pre code) {
115
124
 
116
125
  /* ─── Callouts ────────────────────────────────────────────────────── */
117
126
 
118
- .dark .fd-card,
119
- .dark .fd-callout {
127
+ :is(html.dark, body.dark) #nd-docs-layout .fd-card,
128
+ #nd-docs-layout.dark .fd-card,
129
+ :is(html.dark, body.dark) #nd-docs-layout .fd-callout,
130
+ #nd-docs-layout.dark .fd-callout {
120
131
  border-color: hsl(0 0% 14%);
121
132
  }
122
133
 
123
134
  /* ─── Selection ───────────────────────────────────────────────────── */
124
135
 
125
- ::selection {
136
+ #nd-docs-layout::selection,
137
+ #nd-docs-layout *::selection {
126
138
  background: var(--color-fd-foreground);
127
139
  color: var(--color-fd-background);
128
140
  }
129
141
 
130
142
  /* ─── Sidebar (dark) ──────────────────────────────────────────────── */
131
143
 
132
- .dark .fd-sidebar {
144
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar,
145
+ #nd-docs-layout.dark .fd-sidebar {
133
146
  background: hsl(0 0% 0%);
134
147
  border-color: hsl(0 0% 12%);
135
148
  }
136
149
 
137
- .dark .fd-sidebar a[data-active="true"] {
150
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar a[data-active="true"],
151
+ #nd-docs-layout.dark .fd-sidebar a[data-active="true"] {
138
152
  background: hsl(0 0% 14%) !important;
139
153
  color: hsl(0 0% 96%) !important;
140
154
  }
141
155
 
142
- .dark .fd-sidebar a:hover {
156
+ :is(html.dark, body.dark) #nd-docs-layout .fd-sidebar a:hover,
157
+ #nd-docs-layout.dark .fd-sidebar a:hover {
143
158
  background: hsl(0 0% 10%);
144
159
  color: hsl(0 0% 90%);
145
160
  }
146
161
 
147
162
  /* ─── TOC ─────────────────────────────────────────────────────────── */
148
163
 
149
- .dark .fd-toc {
164
+ :is(html.dark, body.dark) #nd-docs-layout .fd-toc,
165
+ #nd-docs-layout.dark .fd-toc {
150
166
  border-color: hsl(0 0% 12%);
151
167
  }
152
168
 
153
169
  /* ─── Separator ───────────────────────────────────────────────────── */
154
170
 
155
- .dark hr {
171
+ :is(html.dark, body.dark) #nd-docs-layout hr,
172
+ #nd-docs-layout.dark hr {
156
173
  border-color: hsl(0 0% 14%);
157
174
  }
158
175
 
159
176
  /* ─── Nav cards (prev/next) ───────────────────────────────────────── */
160
177
 
161
- .dark .fd-nav-card {
178
+ :is(html.dark, body.dark) #nd-docs-layout .fd-nav-card,
179
+ #nd-docs-layout.dark .fd-nav-card {
162
180
  border-color: hsl(0 0% 14%);
163
181
  }
164
182
 
165
- .dark .fd-nav-card:hover {
183
+ :is(html.dark, body.dark) #nd-docs-layout .fd-nav-card:hover,
184
+ #nd-docs-layout.dark .fd-nav-card:hover {
166
185
  background: hsl(0 0% 8%);
167
186
  border-color: hsl(0 0% 20%);
168
187
  }
169
188
 
170
189
  /* ─── Search dialog ───────────────────────────────────────────────── */
171
190
 
172
- .fd-search-dialog {
191
+ #nd-docs-layout .fd-search-dialog {
173
192
  border-radius: 0.2rem !important;
174
193
  }
175
194
 
176
195
  /* ─── AI Chat (sharp edges) ───────────────────────────────────────── */
177
196
 
178
- .fd-ai-dialog,
179
- .fd-ai-bubble-user,
180
- .fd-ai-bubble-ai,
181
- .fd-ai-input-wrap,
182
- .fd-ai-send-btn,
183
- .fd-ai-close-btn,
184
- .fd-ai-floating-btn,
185
- .fd-ai-suggestion,
186
- .fd-ai-result,
187
- .fd-ai-esc,
188
- .fd-ai-clear-btn,
189
- .fd-ai-fm-input-container,
190
- .fd-ai-fm-send-btn,
191
- .fd-ai-fm-close-btn,
192
- .fd-ai-fm-suggestion,
193
- .fd-ai-fm-trigger-btn,
194
- .fd-ai-code-block,
195
- .fd-ai-code-copy {
197
+ #nd-docs-layout .fd-ai-dialog,
198
+ #nd-docs-layout .fd-ai-bubble-user,
199
+ #nd-docs-layout .fd-ai-bubble-ai,
200
+ #nd-docs-layout .fd-ai-input-wrap,
201
+ #nd-docs-layout .fd-ai-send-btn,
202
+ #nd-docs-layout .fd-ai-close-btn,
203
+ #nd-docs-layout .fd-ai-floating-btn,
204
+ #nd-docs-layout .fd-ai-suggestion,
205
+ #nd-docs-layout .fd-ai-result,
206
+ #nd-docs-layout .fd-ai-esc,
207
+ #nd-docs-layout .fd-ai-clear-btn,
208
+ #nd-docs-layout .fd-ai-fm-input-container,
209
+ #nd-docs-layout .fd-ai-fm-send-btn,
210
+ #nd-docs-layout .fd-ai-fm-close-btn,
211
+ #nd-docs-layout .fd-ai-fm-suggestion,
212
+ #nd-docs-layout .fd-ai-fm-trigger-btn,
213
+ #nd-docs-layout .fd-ai-code-block,
214
+ #nd-docs-layout .fd-ai-code-copy {
196
215
  border-radius: 2px !important;
197
216
  }
198
217
 
199
- .fd-ai-floating-btn:hover {
218
+ #nd-docs-layout .fd-ai-floating-btn:hover {
200
219
  box-shadow: 0 0 0 1px var(--color-fd-ring);
201
220
  transform: none;
202
221
  }
203
222
 
204
- .fd-ai-fm-trigger-btn:hover {
223
+ #nd-docs-layout .fd-ai-fm-trigger-btn:hover {
205
224
  transform: none;
206
225
  }
207
226
 
208
227
  /* Custom Ask AI trigger — same as fd-ai-floating-btn for theme */
209
- .fd-ai-floating-trigger .ask-ai-trigger {
228
+ #nd-docs-layout .fd-ai-floating-trigger .ask-ai-trigger {
210
229
  font-family: var(--fd-font-sans, inherit);
211
230
  border-radius: 2px !important;
212
231
  }
213
232
 
214
- .fd-ai-floating-trigger .ask-ai-trigger:hover {
233
+ #nd-docs-layout .fd-ai-floating-trigger .ask-ai-trigger:hover {
215
234
  box-shadow: 0 0 0 1px var(--color-fd-ring);
216
235
  transform: none;
217
236
  }
218
237
 
219
- .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger {
238
+ #nd-docs-layout .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger {
220
239
  border-radius: 2px !important;
221
240
  }
222
241
 
223
- .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger:hover {
242
+ #nd-docs-layout .fd-ai-fm-input-bar .fd-ai-floating-trigger .ask-ai-trigger:hover {
224
243
  transform: none;
225
244
  }
226
245
 
227
246
  /* ─── Omni Command Palette — darksharp theme ────────────────────── */
228
247
 
229
- .omni-content {
248
+ #nd-docs-layout .omni-content {
230
249
  border-radius: 0.5rem !important;
231
250
  border: 1px solid var(--color-fd-border) !important;
232
251
  background: var(--color-fd-popover) !important;
@@ -235,17 +254,17 @@ code:not(pre code) {
235
254
  0 0 0 1px rgba(255, 255, 255, 0.06) !important;
236
255
  }
237
256
 
238
- .omni-item {
257
+ #nd-docs-layout .omni-item {
239
258
  border-radius: 0.25rem !important;
240
259
  }
241
260
 
242
- .omni-highlight {
261
+ #nd-docs-layout .omni-highlight {
243
262
  background: color-mix(in srgb, var(--color-fd-primary) 30%, transparent) !important;
244
263
  }
245
264
 
246
265
  /* ─── Page Actions — darksharp theme ────────────────────────────── */
247
266
 
248
- .fd-page-action-btn {
267
+ #nd-docs-layout .fd-page-action-btn {
249
268
  border-radius: 0.2rem !important;
250
269
  font-size: 0.8125rem !important;
251
270
  letter-spacing: normal !important;
@@ -254,43 +273,46 @@ code:not(pre code) {
254
273
  font-family: var(--fd-font-sans, ui-sans-serif, system-ui, sans-serif) !important;
255
274
  }
256
275
 
257
- .fd-page-action-dropdown {
276
+ #nd-docs-layout .fd-page-action-dropdown {
258
277
  position: relative !important;
259
278
  }
260
279
 
261
- .fd-page-action-menu {
280
+ #nd-docs-layout .fd-page-action-menu {
262
281
  border-radius: 0.2rem !important;
263
282
  border: 1px solid var(--color-fd-border) !important;
264
283
  box-shadow: 0 4px 24px hsl(0 0% 0% / 0.4) !important;
265
284
  background: var(--color-fd-popover) !important;
266
285
  }
267
286
 
268
- .fd-page-action-menu-item {
287
+ #nd-docs-layout .fd-page-action-menu-item {
269
288
  border-radius: 0.1rem !important;
270
289
  font-size: 0.8125rem !important;
271
290
  color: var(--color-fd-foreground) !important;
272
291
  }
273
292
 
274
- .fd-page-action-menu-item:hover {
293
+ #nd-docs-layout .fd-page-action-menu-item:hover {
275
294
  background: var(--color-fd-accent) !important;
276
295
  color: var(--color-fd-accent-foreground) !important;
277
296
  }
278
297
 
279
298
  /* ─── Feedback (darksharp theme) ─────────────────────────────────── */
280
299
 
281
- .fd-feedback-input,
282
- .fd-feedback-submit {
300
+ #nd-docs-layout .fd-feedback-input,
301
+ #nd-docs-layout .fd-feedback-submit {
283
302
  border-radius: 0.2rem !important;
284
303
  }
285
304
 
286
- .dark .fd-feedback-input {
305
+ :is(html.dark, body.dark) #nd-docs-layout .fd-feedback-input,
306
+ #nd-docs-layout.dark .fd-feedback-input {
287
307
  background: hsl(0 0% 4%);
288
308
  }
289
309
 
290
- .dark .fd-feedback-choice[data-selected="true"] {
310
+ :is(html.dark, body.dark) #nd-docs-layout .fd-feedback-choice[data-selected="true"],
311
+ #nd-docs-layout.dark .fd-feedback-choice[data-selected="true"] {
291
312
  background: hsl(0 0% 8%);
292
313
  }
293
314
 
294
- .dark .fd-feedback-status[data-status="success"] {
315
+ :is(html.dark, body.dark) #nd-docs-layout .fd-feedback-status[data-status="success"],
316
+ #nd-docs-layout.dark .fd-feedback-status[data-status="success"] {
295
317
  color: hsl(0 0% 90%);
296
318
  }