@chekinapp/tokens 1.0.0-beta.0 → 1.0.0-beta.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@chekinapp/tokens",
3
- "version": "1.0.0-beta.0",
3
+ "version": "1.0.0-beta.1",
4
4
  "description": "Chekin design tokens — CSS variables, JSON, and Tailwind preset",
5
5
  "private": false,
6
6
  "license": "UNLICENSED",
@@ -63,6 +63,8 @@
63
63
  --chekin-gray-400: #9ca3af;
64
64
  --chekin-gray-500: #6b7280;
65
65
  --chekin-gray-600: #4b5563;
66
+ --chekin-gray-700: #353945; /* dark slate (links / strong body text) */
67
+ --chekin-gray-900: #101828; /* near-black ink (widget / darkest text) */
66
68
 
67
69
  /* ── Green (success) ───────────────────────────────────────────────── */
68
70
  --chekin-green-50: #e8fcf7;
@@ -129,6 +131,14 @@
129
131
  --chekin-airbnb-pink-surface: #ffe8ef;
130
132
  --chekin-airbnb-pink-surface-soft: #fff5f3;
131
133
 
134
+ /* ── Alpha overlays (translucent tints over content) ───────────────── */
135
+ --chekin-blue-900-a05: rgba(22, 22, 67, 0.05); /* navy 5% — subtle dividers / hover */
136
+ --chekin-blue-500-a15: rgba(56, 91, 248, 0.15); /* brand 15% — soft fill */
137
+ --chekin-blue-600-a10: rgba(41, 77, 241, 0.1); /* brand glow — box-shadow color */
138
+
139
+ /* ── HSL channels (for hsl(var(--…)) consumers) ────────────────────── */
140
+ --chekin-neutral-150-hsl: 233, 21%, 92%; /* = neutral-150 (#e5e6ee) */
141
+
132
142
  --chekin-white: var(--chekin-neutral-0);
133
143
 
134
144
  /* ════════════════════════════════════════════════════════════════════
@@ -90,10 +90,22 @@
90
90
  --sidebar-item-active-bg: var(--chekin-color-surface-pressed);
91
91
  --sidebar-item-active-text: var(--chekin-color-gray-1);
92
92
  --sidebar-item-active-ring: transparent;
93
+ /* Active-item elevation. Defaults to the inset ring above; surfaces can swap
94
+ it for an outer glow. */
95
+ --sidebar-item-active-shadow: inset 0 0 0 1px var(--sidebar-item-active-ring);
93
96
  --sidebar-item-accent-text: var(--chekin-color-brand-blue);
97
+ /* Inactive label text on hover. Defaults to no change. */
98
+ --sidebar-item-hover-text: var(--sidebar-item-text);
94
99
  --sidebar-border: var(--chekin-color-gray-3);
100
+ /* Group label. Defaults to the muted tone; surfaces can dim it further. */
101
+ --sidebar-label-text: var(--sidebar-text-muted);
95
102
  --sidebar-badge-bg: var(--chekin-color-surface-pressed);
96
103
  --sidebar-badge-text: var(--chekin-color-brand-blue);
104
+ /* Badge variants. Default to the neutral badge above. */
105
+ --sidebar-badge-warning-bg: var(--sidebar-badge-bg);
106
+ --sidebar-badge-warning-text: var(--sidebar-badge-text);
107
+ --sidebar-badge-teal-bg: var(--sidebar-badge-bg);
108
+ --sidebar-badge-teal-text: var(--sidebar-badge-text);
97
109
 
98
110
  /* ── Progress ring (checklist completion) ─────────────────────────── */
99
111
  --progress-ring-track: var(--chekin-border-default);
@@ -163,6 +175,8 @@
163
175
  --accordion-item-open-bg: transparent;
164
176
  --accordion-item-hover-bg: rgba(245, 245, 245, 0.5);
165
177
  --accordion-item-shadow: 0 0 10px 0 rgba(143, 143, 143, 0.2);
178
+ /* Shadow while open. Defaults to the resting shadow (no change). */
179
+ --accordion-item-open-shadow: var(--accordion-item-shadow);
166
180
 
167
181
  --accordion-trigger-gap: 16px;
168
182
  --accordion-trigger-font-family: var(--chekin-font-family-primary);
@@ -175,6 +189,15 @@
175
189
  --accordion-icon-color-closed: var(--chekin-color-gray-1);
176
190
  --accordion-icon-color-open: var(--chekin-color-brand-blue);
177
191
 
192
+ /* Chevron-circle icon variant (iconVariant="chevron"). Defaults mirror the
193
+ plain icon so unstyled surfaces stay neutral. */
194
+ --accordion-chevron-size: 16px;
195
+ --accordion-chevron-icon-size: 16px;
196
+ --accordion-chevron-bg: transparent;
197
+ --accordion-chevron-bg-open: transparent;
198
+ --accordion-chevron-color: var(--accordion-icon-color-closed);
199
+ --accordion-chevron-color-open: var(--accordion-icon-color-open);
200
+
178
201
  --accordion-content-font-size: 14px;
179
202
  --accordion-content-line-height: 22px;
180
203
  --accordion-content-color: var(--chekin-color-gray-1);
@@ -255,8 +278,8 @@
255
278
  --link-text-decoration: none;
256
279
 
257
280
  /* ── Checkbox ──────────────────────────────────────────────────────── */
258
- --checkbox-border: var(--chekin-color-brand-blue);
259
- --checkbox-bg: transparent;
281
+ --checkbox-border: var(--chekin-border-strong);
282
+ --checkbox-bg: var(--chekin-color-white);
260
283
  --checkbox-checked-border: var(--chekin-color-brand-blue);
261
284
  --checkbox-checked-bg: var(--chekin-color-brand-blue);
262
285
  --checkbox-check-color: var(--chekin-color-white);
@@ -301,11 +324,27 @@
301
324
  --section-tooltip-color: var(--chekin-color-gray-1);
302
325
  --section-link-color: var(--chekin-color-brand-blue);
303
326
 
304
- /* ── SignatureCanvas (dashboard-only, migrated from ui-kit-2) ───────── */
305
- --signature-canvas-border: var(--chekin-color-brand-blue);
306
- --signature-canvas-placeholder-bg: var(--chekin-blue-tint-bright);
307
- --signature-canvas-placeholder-text: var(--chekin-color-brand-blue);
308
- --signature-canvas-shadow: 0 16px 16px #2699fb12;
327
+ /* ── FormSection (card with icon/title header + optional divided rows) */
328
+ --form-section-bg: var(--chekin-color-white);
329
+ --form-section-border: var(--chekin-border-default);
330
+ --form-section-radius: 18px;
331
+ --form-section-shadow: var(--chekin-shadow-card);
332
+ --form-section-px: 20px;
333
+ --form-section-header-py: 14px;
334
+ --form-section-row-py: 12px;
335
+ --form-section-icon-color: var(--chekin-color-brand-blue);
336
+ --form-section-title-color: var(--chekin-color-gray-1);
337
+ --form-section-title-size: 12px;
338
+ --form-section-title-weight: 700;
339
+ --form-section-title-tracking: 0.1em;
340
+
341
+ /* ── SignatureCanvas ───────────────────────────────────────────────── */
342
+ /* Soft, neutral pad shared across surfaces: dashed hairline + muted fill. */
343
+ --signature-canvas-border: var(--chekin-border-strong);
344
+ --signature-canvas-bg: var(--chekin-surface-input-empty);
345
+ --signature-canvas-placeholder-bg: transparent;
346
+ --signature-canvas-placeholder-text: var(--chekin-color-gray-1);
347
+ --signature-canvas-shadow: none;
309
348
 
310
349
  /* ── Carousel (image carousel controls) ─────────────────────────────── */
311
350
  --carousel-control-bg: var(--chekin-blue-tint-soft);
@@ -435,4 +474,50 @@
435
474
  --field-label-raised-top: -10px;
436
475
  --field-placeholder-font-size: 16px;
437
476
  --field-placeholder-font-weight: var(--chekin-font-weight-medium);
477
+
478
+ /* ── RadioCard (selectable option row) ─────────────────────────────── */
479
+ --radio-card-bg: var(--chekin-color-white);
480
+ --radio-card-border: var(--chekin-border-default);
481
+ --radio-card-hover-bg: var(--chekin-neutral-50);
482
+ --radio-card-radius: 14px;
483
+ --radio-card-selected-bg: var(--chekin-blue-tint-info);
484
+ --radio-card-selected-border: var(--chekin-color-brand-blue);
485
+ --radio-card-accent: var(--chekin-color-brand-blue);
486
+ --radio-card-title: var(--chekin-color-brand-navy);
487
+ --radio-card-description: var(--chekin-color-gray-1);
488
+ --radio-card-icon: var(--chekin-color-brand-blue);
489
+ --radio-card-icon-bg: var(--chekin-blue-tint-info);
490
+ --radio-card-radio-border: var(--chekin-color-gray-2);
491
+ --radio-card-radio-checked: var(--chekin-color-brand-blue);
492
+
493
+ /* ── InstructionList (icon + title + desc rows; card chrome from FormSection) ─ */
494
+ --instruction-list-divider: var(--chekin-border-default);
495
+ --instruction-list-icon: var(--chekin-color-brand-blue);
496
+ --instruction-list-icon-bg: var(--chekin-blue-tint-info);
497
+ --instruction-list-title: var(--chekin-color-brand-navy);
498
+ --instruction-list-description: var(--chekin-color-gray-1);
499
+ --instruction-list-badge-bg: var(--chekin-neutral-75);
500
+ --instruction-list-badge-text: var(--chekin-color-gray-1);
501
+
502
+ /* ── CaptureFrame (document / face capture chrome) ─────────────────── */
503
+ --capture-frame-bg: var(--chekin-color-white);
504
+ --capture-frame-border: var(--chekin-color-white);
505
+ --capture-frame-radius: 18px;
506
+ --capture-frame-shadow: var(--chekin-shadow-elev);
507
+ --capture-bracket: var(--chekin-color-brand-blue);
508
+ --capture-bracket-success: var(--chekin-green-700);
509
+ --capture-bracket-error: var(--chekin-red-soft);
510
+ --capture-scanline: var(--chekin-color-brand-blue);
511
+ --capture-view-gradient: linear-gradient(150deg, #0f1b3d, #1c2c57);
512
+ --capture-view-gradient-face: linear-gradient(150deg, #8b8fa6, #9ea2b6);
513
+ --capture-status-bg: var(--chekin-color-white);
514
+ --capture-status-text: var(--chekin-color-brand-navy);
515
+ --capture-status-shadow: var(--chekin-shadow-elev);
516
+ --capture-dot-idle: var(--chekin-green-700);
517
+ --capture-dot-error: var(--chekin-red-soft);
518
+ --capture-overlay-success-bg: rgba(15, 159, 128, 0.34);
519
+ --capture-overlay-success-badge: var(--chekin-green-700);
520
+ --capture-overlay-error-bg: rgba(248, 75, 122, 0.34);
521
+ --capture-overlay-error-badge: var(--chekin-red-soft);
522
+ --capture-overlay-text: var(--chekin-color-white);
438
523
  }
@@ -19,14 +19,18 @@
19
19
  /* Redesign page background (desktop). Mobile override below. */
20
20
  --background-main: #f6f7fc;
21
21
  --empty-field-background: var(--chekin-surface-input-empty);
22
+ /* Cards: faint hairline border to match the V3 design (≈ #E8E9F1). */
23
+ --card-border: var(--chekin-border-default);
24
+ /* Mobile bottom-nav: lighter inactive tab label (V3 mobile design). */
25
+ --bottom-nav-item: var(--chekin-color-gray-2);
22
26
 
23
27
  /* Typography: Poppins for guest-facing */
24
28
  --chekin-font-family-primary:
25
29
  Poppins, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue',
26
30
  Arial, sans-serif;
27
31
 
28
- /* Radii: rounder for friendlier guest experience */
29
- --button-radius: 50px;
32
+ /* Radii: square (non-pill) buttons across the guest app */
33
+ --button-radius: 10px;
30
34
  --chekin-radius-input: 10px;
31
35
 
32
36
  /* Button sizing: larger touch targets for guest */
@@ -48,20 +52,53 @@
48
52
  --circular-loader-color: var(--chekin-color-brand-blue);
49
53
  --error-message-color: var(--chekin-red-soft);
50
54
 
51
- /* Sidebar: navy / dark surface for the redesign desktop shell */
55
+ /* Sidebar: solid navy shell for the V3 desktop journey design (#161643). */
52
56
  --sidebar-bg: var(--chekin-color-brand-navy);
53
57
  --sidebar-text: rgba(255, 255, 255, 0.92);
54
- --sidebar-text-muted: rgba(255, 255, 255, 0.55);
55
- /* Inactive nav labels stay readable (not dimmed to the muted group-label tone). */
56
- --sidebar-item-text: rgba(255, 255, 255, 0.92);
58
+ /* Muted tone: booking reference + footer email. */
59
+ --sidebar-text-muted: rgba(255, 255, 255, 0.5);
60
+ /* Inactive nav labels; brighten to white on hover. */
61
+ --sidebar-item-text: rgba(255, 255, 255, 0.78);
62
+ --sidebar-item-hover-text: #ffffff;
57
63
  --sidebar-item-hover-bg: rgba(255, 255, 255, 0.06);
58
- --sidebar-item-active-bg: rgba(56, 92, 248, 0.3);
64
+ /* Active item: diagonal blue wash + soft inset ring (design highlight). */
65
+ --sidebar-item-active-bg: linear-gradient(
66
+ 135deg,
67
+ rgba(56, 92, 248, 0.34),
68
+ rgba(56, 92, 248, 0.16)
69
+ );
59
70
  --sidebar-item-active-text: #ffffff;
60
71
  --sidebar-item-active-ring: rgba(140, 165, 255, 0.18);
72
+ --sidebar-item-active-shadow: inset 0 0 0 1px rgba(140, 165, 255, 0.18);
61
73
  --sidebar-item-accent-text: var(--chekin-color-brand-light);
62
74
  --sidebar-border: rgba(255, 255, 255, 0.06);
75
+ /* Group labels are dimmer than muted body text. */
76
+ --sidebar-label-text: rgba(255, 255, 255, 0.4);
63
77
  --sidebar-badge-bg: rgba(140, 165, 255, 0.18);
64
78
  --sidebar-badge-text: #c4d2ff;
79
+ --sidebar-badge-warning-bg: rgba(255, 183, 0, 0.2);
80
+ --sidebar-badge-warning-text: #ffcf5a;
81
+ --sidebar-badge-teal-bg: rgba(107, 224, 168, 0.22);
82
+ --sidebar-badge-teal-text: #7be3b0;
83
+
84
+ --accordion-item-radius: 16px;
85
+ --accordion-item-border: var(--chekin-neutral-200);
86
+ --accordion-item-bg: var(--chekin-color-white);
87
+ --accordion-item-open-bg: var(--chekin-color-white);
88
+ --accordion-item-hover-bg: var(--chekin-color-white);
89
+ --accordion-item-shadow: none;
90
+ --accordion-item-open-shadow: 0 4px 16px rgba(26, 148, 255, 0.1);
91
+ --accordion-trigger-color: var(--chekin-color-brand-navy);
92
+ --accordion-trigger-font-weight: var(--chekin-font-weight-semibold);
93
+ --accordion-content-color: var(--chekin-neutral-600);
94
+ --accordion-content-font-size: 15px;
95
+ --accordion-content-line-height: 24px;
96
+ --accordion-chevron-size: 28px;
97
+ --accordion-chevron-icon-size: 17px;
98
+ --accordion-chevron-bg: var(--chekin-neutral-50);
99
+ --accordion-chevron-bg-open: var(--chekin-color-brand-blue);
100
+ --accordion-chevron-color: var(--chekin-neutral-500);
101
+ --accordion-chevron-color-open: var(--chekin-color-white);
65
102
 
66
103
  /* Progress ring (check-in completion): cool track + blue gradient arc. */
67
104
  --progress-ring-track: #f0f0f8;
package/src/tokens.json CHANGED
@@ -44,7 +44,17 @@
44
44
  "300": {"value": "#D1D5DB", "type": "color"},
45
45
  "400": {"value": "#9CA3AF", "type": "color"},
46
46
  "500": {"value": "#6B7280", "type": "color"},
47
- "600": {"value": "#4B5563", "type": "color"}
47
+ "600": {"value": "#4B5563", "type": "color"},
48
+ "700": {
49
+ "value": "#353945",
50
+ "type": "color",
51
+ "description": "Dark slate (links / strong body text)"
52
+ },
53
+ "900": {
54
+ "value": "#101828",
55
+ "type": "color",
56
+ "description": "Near-black ink (widget / darkest text)"
57
+ }
48
58
  },
49
59
  "green": {
50
60
  "50": {"value": "#E8FCF7", "type": "color"},