@welcome-back/brand 0.3.0 → 0.5.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.
@@ -18,21 +18,28 @@ exports.POS_TOKENS = {
18
18
  "--wb-primary": "#171717",
19
19
  "--wb-accent": "#171717",
20
20
  "--wb-on-accent": "#ffffff",
21
+ // Light fill on an accent surface (the close button over a dark card).
22
+ "--wb-on-accent-soft": "rgba(255, 255, 255, 0.2)",
21
23
  // Tonal fill for hover/selected. A `-soft` token exists because the theme
22
24
  // tokens are complete colors — Tailwind's `/NN` alpha modifier on them
23
25
  // compiles to an invalid rgb() and renders transparent.
24
26
  "--wb-accent-soft": "rgba(23, 23, 23, 0.06)",
25
- // Warm ivory neutrals — the identity. Never cool gray.
26
- "--wb-bg": "#f6f4e9",
27
+ // White page like the dashboard (owner, 2026-10-21); warm neutrals for
28
+ // surfaces and borders. Ivory stays on the ticket, like paper.
29
+ "--wb-bg": "#ffffff",
27
30
  "--wb-surface": "#ffffff",
28
31
  "--wb-surface2": "#f2f1ec",
29
- "--wb-ticket-bg": "#f2f1ec",
32
+ "--wb-ticket-bg": "#f6f4e9",
30
33
  "--wb-border": "#e5e2d6",
31
34
  // Translucent ivory veil for overlays (e.g. "Agotado").
32
35
  "--wb-veil": "rgba(246, 244, 233, 0.72)",
33
36
  "--wb-text": "#000000",
34
37
  "--wb-muted": "#404040",
35
38
  "--wb-success": "#22c55e",
39
+ "--wb-success-soft": "rgba(34, 197, 94, 0.15)",
40
+ // Success as text on white: `--wb-success` is too light to read there
41
+ // (the change figure of the checkout).
42
+ "--wb-success-strong": "#15803d",
36
43
  "--wb-amber": "#f59e0b",
37
44
  "--wb-amber-soft": "rgba(245, 158, 11, 0.15)",
38
45
  "--wb-error": "#ef4444",
@@ -40,9 +47,17 @@ exports.POS_TOKENS = {
40
47
  "--wb-primary-soft": "rgba(23, 23, 23, 0.15)",
41
48
  // The brand tone. Same as the primary: the POS is monochrome.
42
49
  "--wb-brand": "#171717",
50
+ // 12 px everywhere like the dashboard, 6 px for items inside a control
51
+ // (segmented options). Owner, 2026-10-21.
43
52
  "--wb-radius": "12px",
44
- "--wb-radius-lg": "16px",
45
- "--wb-font": "'Montserrat'",
53
+ "--wb-radius-lg": "12px",
54
+ "--wb-radius-sm": "6px",
55
+ // Touch sizes: the POS differs from the dashboard (36 px) on purpose.
56
+ // 48 px controls, 56 px for money actions (Cobrar, keypad), 44 px floor.
57
+ "--wb-control-height": "48px",
58
+ "--wb-control-height-lg": "56px",
59
+ "--wb-touch-min": "44px",
60
+ "--wb-font": "'Inter'",
46
61
  };
47
62
  /** The tokens as one CSS rule, for apps that load them as a stylesheet. */
48
63
  function posTokensCss(selector = ":root") {
@@ -13,16 +13,19 @@ export declare const POS_TOKENS: {
13
13
  readonly "--wb-primary": "#171717";
14
14
  readonly "--wb-accent": "#171717";
15
15
  readonly "--wb-on-accent": "#ffffff";
16
+ readonly "--wb-on-accent-soft": "rgba(255, 255, 255, 0.2)";
16
17
  readonly "--wb-accent-soft": "rgba(23, 23, 23, 0.06)";
17
- readonly "--wb-bg": "#f6f4e9";
18
+ readonly "--wb-bg": "#ffffff";
18
19
  readonly "--wb-surface": "#ffffff";
19
20
  readonly "--wb-surface2": "#f2f1ec";
20
- readonly "--wb-ticket-bg": "#f2f1ec";
21
+ readonly "--wb-ticket-bg": "#f6f4e9";
21
22
  readonly "--wb-border": "#e5e2d6";
22
23
  readonly "--wb-veil": "rgba(246, 244, 233, 0.72)";
23
24
  readonly "--wb-text": "#000000";
24
25
  readonly "--wb-muted": "#404040";
25
26
  readonly "--wb-success": "#22c55e";
27
+ readonly "--wb-success-soft": "rgba(34, 197, 94, 0.15)";
28
+ readonly "--wb-success-strong": "#15803d";
26
29
  readonly "--wb-amber": "#f59e0b";
27
30
  readonly "--wb-amber-soft": "rgba(245, 158, 11, 0.15)";
28
31
  readonly "--wb-error": "#ef4444";
@@ -30,8 +33,12 @@ export declare const POS_TOKENS: {
30
33
  readonly "--wb-primary-soft": "rgba(23, 23, 23, 0.15)";
31
34
  readonly "--wb-brand": "#171717";
32
35
  readonly "--wb-radius": "12px";
33
- readonly "--wb-radius-lg": "16px";
34
- readonly "--wb-font": "'Montserrat'";
36
+ readonly "--wb-radius-lg": "12px";
37
+ readonly "--wb-radius-sm": "6px";
38
+ readonly "--wb-control-height": "48px";
39
+ readonly "--wb-control-height-lg": "56px";
40
+ readonly "--wb-touch-min": "44px";
41
+ readonly "--wb-font": "'Inter'";
35
42
  };
36
43
  export type PosToken = keyof typeof POS_TOKENS;
37
44
  /** The tokens as one CSS rule, for apps that load them as a stylesheet. */
@@ -14,21 +14,28 @@ export const POS_TOKENS = {
14
14
  "--wb-primary": "#171717",
15
15
  "--wb-accent": "#171717",
16
16
  "--wb-on-accent": "#ffffff",
17
+ // Light fill on an accent surface (the close button over a dark card).
18
+ "--wb-on-accent-soft": "rgba(255, 255, 255, 0.2)",
17
19
  // Tonal fill for hover/selected. A `-soft` token exists because the theme
18
20
  // tokens are complete colors — Tailwind's `/NN` alpha modifier on them
19
21
  // compiles to an invalid rgb() and renders transparent.
20
22
  "--wb-accent-soft": "rgba(23, 23, 23, 0.06)",
21
- // Warm ivory neutrals — the identity. Never cool gray.
22
- "--wb-bg": "#f6f4e9",
23
+ // White page like the dashboard (owner, 2026-10-21); warm neutrals for
24
+ // surfaces and borders. Ivory stays on the ticket, like paper.
25
+ "--wb-bg": "#ffffff",
23
26
  "--wb-surface": "#ffffff",
24
27
  "--wb-surface2": "#f2f1ec",
25
- "--wb-ticket-bg": "#f2f1ec",
28
+ "--wb-ticket-bg": "#f6f4e9",
26
29
  "--wb-border": "#e5e2d6",
27
30
  // Translucent ivory veil for overlays (e.g. "Agotado").
28
31
  "--wb-veil": "rgba(246, 244, 233, 0.72)",
29
32
  "--wb-text": "#000000",
30
33
  "--wb-muted": "#404040",
31
34
  "--wb-success": "#22c55e",
35
+ "--wb-success-soft": "rgba(34, 197, 94, 0.15)",
36
+ // Success as text on white: `--wb-success` is too light to read there
37
+ // (the change figure of the checkout).
38
+ "--wb-success-strong": "#15803d",
32
39
  "--wb-amber": "#f59e0b",
33
40
  "--wb-amber-soft": "rgba(245, 158, 11, 0.15)",
34
41
  "--wb-error": "#ef4444",
@@ -36,9 +43,17 @@ export const POS_TOKENS = {
36
43
  "--wb-primary-soft": "rgba(23, 23, 23, 0.15)",
37
44
  // The brand tone. Same as the primary: the POS is monochrome.
38
45
  "--wb-brand": "#171717",
46
+ // 12 px everywhere like the dashboard, 6 px for items inside a control
47
+ // (segmented options). Owner, 2026-10-21.
39
48
  "--wb-radius": "12px",
40
- "--wb-radius-lg": "16px",
41
- "--wb-font": "'Montserrat'",
49
+ "--wb-radius-lg": "12px",
50
+ "--wb-radius-sm": "6px",
51
+ // Touch sizes: the POS differs from the dashboard (36 px) on purpose.
52
+ // 48 px controls, 56 px for money actions (Cobrar, keypad), 44 px floor.
53
+ "--wb-control-height": "48px",
54
+ "--wb-control-height-lg": "56px",
55
+ "--wb-touch-min": "44px",
56
+ "--wb-font": "'Inter'",
42
57
  };
43
58
  /** The tokens as one CSS rule, for apps that load them as a stylesheet. */
44
59
  export function posTokensCss(selector = ":root") {
@@ -3,16 +3,19 @@
3
3
  --wb-primary: #171717;
4
4
  --wb-accent: #171717;
5
5
  --wb-on-accent: #ffffff;
6
+ --wb-on-accent-soft: rgba(255, 255, 255, 0.2);
6
7
  --wb-accent-soft: rgba(23, 23, 23, 0.06);
7
- --wb-bg: #f6f4e9;
8
+ --wb-bg: #ffffff;
8
9
  --wb-surface: #ffffff;
9
10
  --wb-surface2: #f2f1ec;
10
- --wb-ticket-bg: #f2f1ec;
11
+ --wb-ticket-bg: #f6f4e9;
11
12
  --wb-border: #e5e2d6;
12
13
  --wb-veil: rgba(246, 244, 233, 0.72);
13
14
  --wb-text: #000000;
14
15
  --wb-muted: #404040;
15
16
  --wb-success: #22c55e;
17
+ --wb-success-soft: rgba(34, 197, 94, 0.15);
18
+ --wb-success-strong: #15803d;
16
19
  --wb-amber: #f59e0b;
17
20
  --wb-amber-soft: rgba(245, 158, 11, 0.15);
18
21
  --wb-error: #ef4444;
@@ -20,6 +23,10 @@
20
23
  --wb-primary-soft: rgba(23, 23, 23, 0.15);
21
24
  --wb-brand: #171717;
22
25
  --wb-radius: 12px;
23
- --wb-radius-lg: 16px;
24
- --wb-font: 'Montserrat';
26
+ --wb-radius-lg: 12px;
27
+ --wb-radius-sm: 6px;
28
+ --wb-control-height: 48px;
29
+ --wb-control-height-lg: 56px;
30
+ --wb-touch-min: 44px;
31
+ --wb-font: 'Inter';
25
32
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@welcome-back/brand",
3
- "version": "0.3.0",
3
+ "version": "0.5.0",
4
4
  "description": "WelcomeBack brand assets for React apps: the running-W loader and the POS design tokens.",
5
5
  "license": "UNLICENSED",
6
6
  "repository": {