@jinaan/uikit 0.1.3 → 0.1.5

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.
package/styles.css CHANGED
@@ -11,8 +11,16 @@
11
11
  * Values mirror the Clerk "Ceramic" system captured in docs/design-reference.md.
12
12
  */
13
13
  :root {
14
- --canvas: #fafafb;
15
- --surface: #ffffff;
14
+ /* Clerk shell: white page, gray-50 chrome/cards. */
15
+ --page: #ffffff;
16
+ --canvas: #ffffff;
17
+ --surface: #fafafb;
18
+ --chrome: #fafafb;
19
+ --chrome-border: #ececee;
20
+ --tab: #5f5f6f;
21
+ --tab-active: #131316;
22
+ --tab-underline: #131316;
23
+ --subnav-active: #ececee;
16
24
  --elevated: #f6f6f7;
17
25
  --fg: #131316;
18
26
  --fg-muted: #5f5f6f;
@@ -53,6 +61,8 @@
53
61
  --table-row-hover: #f6f6f7;
54
62
  --table-row-selected: #ececee;
55
63
  --table-accent: var(--primary);
64
+ /* Card divider: a touch brighter than the card's outer shell in both themes. */
65
+ --card-divider: color-mix(in oklab, var(--table-container-bg) 90%, white);
56
66
  /* Table geometry (theme-independent). */
57
67
  --table-radius-outer: 1.5rem;
58
68
  --table-radius-panel: 1.25rem;
@@ -128,6 +138,10 @@
128
138
  --dialog-panel-shadow:
129
139
  0 1px 2px rgb(19 19 22 / 0.06),
130
140
  0 10px 28px -14px rgb(19 19 22 / 0.2);
141
+ --dialog-noise-opacity: 0.04;
142
+
143
+ /* Settings danger-zone shell (Clerk red-tinted surface). */
144
+ --settings-danger-bg: #fff5f4;
131
145
 
132
146
  /* Third-party brand marks (identity providers). */
133
147
  --brand-google-blue: #4285f4;
@@ -141,8 +155,16 @@
141
155
  }
142
156
 
143
157
  .dark {
144
- --canvas: #131316;
145
- --surface: #1b1b1f;
158
+ /* Clerk shell: page gray-1400, chrome/cards gray-1500. */
159
+ --page: #19191c;
160
+ --canvas: #1b1b1f;
161
+ --surface: #111113;
162
+ --chrome: #121213;
163
+ --chrome-border: #232328;
164
+ --tab: #adadb7;
165
+ --tab-active: #fcfcfc;
166
+ --tab-underline: #fcfcfc;
167
+ --subnav-active: #2b2b34;
146
168
  --elevated: #232328;
147
169
  --fg: #fcfcfc;
148
170
  --fg-muted: #adadb7;
@@ -222,11 +244,21 @@
222
244
  --dialog-panel-shadow:
223
245
  inset 0 1px 0 rgb(255 255 255 / 0.04),
224
246
  0 12px 32px -16px rgb(0 0 0 / 0.6);
247
+ --dialog-noise-opacity: 0.065;
248
+
249
+ --settings-danger-bg: #240b0a;
225
250
  }
226
251
 
227
252
  @theme inline {
253
+ --color-page: var(--page);
228
254
  --color-canvas: var(--canvas);
229
255
  --color-surface: var(--surface);
256
+ --color-chrome: var(--chrome);
257
+ --color-chrome-border: var(--chrome-border);
258
+ --color-tab: var(--tab);
259
+ --color-tab-active: var(--tab-active);
260
+ --color-tab-underline: var(--tab-underline);
261
+ --color-subnav-active: var(--subnav-active);
230
262
  --color-elevated: var(--elevated);
231
263
  --color-fg: var(--fg);
232
264
  --color-muted: var(--fg-muted);
@@ -281,6 +313,7 @@
281
313
  --color-table-row-hover: var(--table-row-hover);
282
314
  --color-table-row-selected: var(--table-row-selected);
283
315
  --color-table-accent: var(--table-accent);
316
+ --color-card-divider: var(--card-divider);
284
317
  }
285
318
 
286
319
  @utility font-numeric {
@@ -307,6 +340,14 @@
307
340
  inset 0 0 0 1px var(--button-inner-border, transparent);
308
341
  }
309
342
 
343
+ /* Dropdown/select surface: same top gloss and inset hairline as buttons. */
344
+ .menu-surface {
345
+ box-shadow:
346
+ var(--shadow-md),
347
+ inset 0 1px 0.5px 0 var(--button-inner),
348
+ inset 0 0 0 1px var(--button-inner-border, transparent);
349
+ }
350
+
310
351
  /*
311
352
  * Light-theme definition for filled buttons: a subtle inset hairline keeps
312
353
  * the surface readable on white, where a white gloss has no contrast.
@@ -361,6 +402,68 @@
361
402
  }
362
403
  }
363
404
 
405
+ /* Dialog motion + texture: caller-origin flight, centered fallback, noise. */
406
+ @keyframes dialog-fly-in {
407
+ from {
408
+ opacity: 0;
409
+ transform: translate3d(
410
+ var(--dialog-dx, 0px),
411
+ var(--dialog-dy, 0px),
412
+ 0
413
+ ) scale(var(--dialog-sx, 1), var(--dialog-sy, 1));
414
+ }
415
+ to {
416
+ opacity: 1;
417
+ transform: translate3d(0, 0, 0) scale(1);
418
+ }
419
+ }
420
+
421
+ @keyframes dialog-pop-in {
422
+ from {
423
+ opacity: 0;
424
+ transform: translate3d(0, 0, 0) scale(0.95);
425
+ }
426
+ to {
427
+ opacity: 1;
428
+ transform: translate3d(0, 0, 0) scale(1);
429
+ }
430
+ }
431
+
432
+ .dialog-fly-in {
433
+ animation: dialog-fly-in 240ms cubic-bezier(0.22, 1, 0.36, 1) both;
434
+ backface-visibility: hidden;
435
+ will-change: transform, opacity;
436
+ }
437
+
438
+ .dialog-pop-in {
439
+ animation: dialog-pop-in 200ms cubic-bezier(0.22, 1, 0.36, 1) both;
440
+ backface-visibility: hidden;
441
+ will-change: transform, opacity;
442
+ }
443
+
444
+ @keyframes dialog-fly-out {
445
+ from {
446
+ opacity: 1;
447
+ transform: translate3d(0, 0, 0) scale(1);
448
+ }
449
+ to {
450
+ opacity: 0;
451
+ transform: translate3d(0, calc(50vh + 50%), 0) scale(0.98);
452
+ }
453
+ }
454
+
455
+ .dialog-closing {
456
+ animation: dialog-fly-out 240ms cubic-bezier(0.4, 0, 1, 1) both;
457
+ backface-visibility: hidden;
458
+ will-change: transform, opacity;
459
+ }
460
+
461
+ .dialog-noise {
462
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
463
+ background-size: 160px 160px;
464
+ opacity: var(--dialog-noise-opacity);
465
+ }
466
+
364
467
  @media (prefers-reduced-motion: reduce) {
365
468
  *,
366
469
  *::before,