@pearpages/pulp-tokens 0.0.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.
Files changed (45) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +60 -0
  3. package/dist/tokens.css +914 -0
  4. package/dist/tokens.json +10638 -0
  5. package/package.json +33 -0
  6. package/tokens/component/accordion.json +83 -0
  7. package/tokens/component/alert.json +93 -0
  8. package/tokens/component/badge.json +153 -0
  9. package/tokens/component/button.json +118 -0
  10. package/tokens/component/calendar.json +48 -0
  11. package/tokens/component/card.json +28 -0
  12. package/tokens/component/checkbox.json +77 -0
  13. package/tokens/component/combobox.json +113 -0
  14. package/tokens/component/date-picker.json +145 -0
  15. package/tokens/component/dialog.json +36 -0
  16. package/tokens/component/field.json +23 -0
  17. package/tokens/component/heading.json +44 -0
  18. package/tokens/component/icon-button.json +17 -0
  19. package/tokens/component/icon.json +18 -0
  20. package/tokens/component/inline.json +32 -0
  21. package/tokens/component/listbox.json +37 -0
  22. package/tokens/component/menu.json +101 -0
  23. package/tokens/component/pagination.json +22 -0
  24. package/tokens/component/picker.json +113 -0
  25. package/tokens/component/popover.json +59 -0
  26. package/tokens/component/progress.json +60 -0
  27. package/tokens/component/radio.json +73 -0
  28. package/tokens/component/select.json +106 -0
  29. package/tokens/component/skeleton.json +41 -0
  30. package/tokens/component/slider.json +39 -0
  31. package/tokens/component/spinner.json +33 -0
  32. package/tokens/component/stack.json +32 -0
  33. package/tokens/component/switch.json +77 -0
  34. package/tokens/component/table.json +57 -0
  35. package/tokens/component/tabs.json +31 -0
  36. package/tokens/component/text-field.json +90 -0
  37. package/tokens/component/text.json +31 -0
  38. package/tokens/component/textarea.json +90 -0
  39. package/tokens/component/toast.json +35 -0
  40. package/tokens/component/tooltip.json +49 -0
  41. package/tokens/component/visually-hidden.json +9 -0
  42. package/tokens/primitives/bitepals.json +285 -0
  43. package/tokens/primitives/pulp.json +216 -0
  44. package/tokens/semantic/bitepals.json +727 -0
  45. package/tokens/semantic/pulp.json +728 -0
@@ -0,0 +1,113 @@
1
+ {
2
+ "$description": "Combobox component tokens: the input and its popover. Options are styled by --listbox-*.",
3
+ "combobox": {
4
+ "radius": {
5
+ "$type": "dimension",
6
+ "$value": "{radius.control}"
7
+ },
8
+ "padding-inline": {
9
+ "$type": "dimension",
10
+ "$value": "{space.3}"
11
+ },
12
+ "gap": {
13
+ "$type": "dimension",
14
+ "$value": "{space.2}",
15
+ "$description": "Between the control and its popover; carried as padding on the popover so no offset lives in code."
16
+ },
17
+ "height": {
18
+ "$type": "dimension",
19
+ "sm": {
20
+ "$value": "{size.control.sm}"
21
+ },
22
+ "md": {
23
+ "$value": "{size.control.md}"
24
+ },
25
+ "lg": {
26
+ "$value": "{size.control.lg}"
27
+ }
28
+ },
29
+ "font": {
30
+ "family": {
31
+ "$type": "fontFamily",
32
+ "$value": "{font.family.body}"
33
+ },
34
+ "size": {
35
+ "$type": "dimension",
36
+ "sm": {
37
+ "$value": "{font.size.sm}"
38
+ },
39
+ "md": {
40
+ "$value": "{font.size.md}"
41
+ },
42
+ "lg": {
43
+ "$value": "{font.size.lg}"
44
+ }
45
+ }
46
+ },
47
+ "bg": {
48
+ "$type": "color",
49
+ "$value": "{color.surface.raised}"
50
+ },
51
+ "fg": {
52
+ "$type": "color",
53
+ "$value": "{color.text.default}"
54
+ },
55
+ "placeholder": {
56
+ "$type": "color",
57
+ "$value": "{color.text.faint}"
58
+ },
59
+ "icon": {
60
+ "$type": "color",
61
+ "$value": "{color.text.muted}"
62
+ },
63
+ "icon-size": {
64
+ "$type": "dimension",
65
+ "$value": "{space.6}"
66
+ },
67
+ "border": {
68
+ "$type": "color",
69
+ "default": {
70
+ "$value": "{color.border.default}"
71
+ },
72
+ "hover": {
73
+ "$value": "{color.border.strong}"
74
+ },
75
+ "focus": {
76
+ "$value": "{color.border.focus}"
77
+ },
78
+ "invalid": {
79
+ "$value": "{color.status.error}"
80
+ }
81
+ },
82
+ "popover": {
83
+ "shadow": {
84
+ "$type": "shadow",
85
+ "$value": "{shadow.overlay}"
86
+ },
87
+ "duration": {
88
+ "$type": "duration",
89
+ "$value": "{motion.duration.fast}"
90
+ }
91
+ },
92
+ "focus": {
93
+ "ring": {
94
+ "$type": "color",
95
+ "$value": "{color.border.focus}"
96
+ },
97
+ "ring-width": {
98
+ "$type": "dimension",
99
+ "$value": "{focus.ring.width}"
100
+ },
101
+ "ring-offset": {
102
+ "$type": "dimension",
103
+ "$value": "{focus.ring.offset}"
104
+ }
105
+ },
106
+ "motion": {
107
+ "duration": {
108
+ "$type": "duration",
109
+ "$value": "{motion.duration.fast}"
110
+ }
111
+ }
112
+ }
113
+ }
@@ -0,0 +1,145 @@
1
+ {
2
+ "$description": "DatePicker component tokens: the segmented date input, its calendar button and popover. The calendar itself is styled by --calendar-*.",
3
+ "date-picker": {
4
+ "radius": {
5
+ "$type": "dimension",
6
+ "$value": "{radius.control}"
7
+ },
8
+ "padding-inline": {
9
+ "$type": "dimension",
10
+ "$value": "{space.3}"
11
+ },
12
+ "gap": {
13
+ "$type": "dimension",
14
+ "$value": "{space.2}",
15
+ "$description": "Between the control and its popover; carried as padding on the popover so no offset lives in code."
16
+ },
17
+ "height": {
18
+ "$type": "dimension",
19
+ "sm": {
20
+ "$value": "{size.control.sm}"
21
+ },
22
+ "md": {
23
+ "$value": "{size.control.md}"
24
+ },
25
+ "lg": {
26
+ "$value": "{size.control.lg}"
27
+ }
28
+ },
29
+ "font": {
30
+ "family": {
31
+ "$type": "fontFamily",
32
+ "$value": "{font.family.body}"
33
+ },
34
+ "size": {
35
+ "$type": "dimension",
36
+ "sm": {
37
+ "$value": "{font.size.sm}"
38
+ },
39
+ "md": {
40
+ "$value": "{font.size.md}"
41
+ },
42
+ "lg": {
43
+ "$value": "{font.size.lg}"
44
+ }
45
+ }
46
+ },
47
+ "bg": {
48
+ "$type": "color",
49
+ "$value": "{color.surface.raised}"
50
+ },
51
+ "fg": {
52
+ "$type": "color",
53
+ "$value": "{color.text.default}"
54
+ },
55
+ "placeholder": {
56
+ "$type": "color",
57
+ "$value": "{color.text.faint}"
58
+ },
59
+ "icon": {
60
+ "$type": "color",
61
+ "$value": "{color.text.muted}"
62
+ },
63
+ "icon-size": {
64
+ "$type": "dimension",
65
+ "$value": "{space.6}"
66
+ },
67
+ "border": {
68
+ "$type": "color",
69
+ "default": {
70
+ "$value": "{color.border.default}"
71
+ },
72
+ "hover": {
73
+ "$value": "{color.border.strong}"
74
+ },
75
+ "focus": {
76
+ "$value": "{color.border.focus}"
77
+ },
78
+ "invalid": {
79
+ "$value": "{color.status.error}"
80
+ }
81
+ },
82
+ "popover": {
83
+ "shadow": {
84
+ "$type": "shadow",
85
+ "$value": "{shadow.overlay}"
86
+ },
87
+ "duration": {
88
+ "$type": "duration",
89
+ "$value": "{motion.duration.fast}"
90
+ }
91
+ },
92
+ "focus": {
93
+ "ring": {
94
+ "$type": "color",
95
+ "$value": "{color.border.focus}"
96
+ },
97
+ "ring-width": {
98
+ "$type": "dimension",
99
+ "$value": "{focus.ring.width}"
100
+ },
101
+ "ring-offset": {
102
+ "$type": "dimension",
103
+ "$value": "{focus.ring.offset}"
104
+ }
105
+ },
106
+ "motion": {
107
+ "duration": {
108
+ "$type": "duration",
109
+ "$value": "{motion.duration.fast}"
110
+ }
111
+ },
112
+ "segment": {
113
+ "padding-inline": {
114
+ "$type": "dimension",
115
+ "$value": "{space.1}"
116
+ },
117
+ "radius": {
118
+ "$type": "dimension",
119
+ "$value": "{radius.control}"
120
+ },
121
+ "bg-focus": {
122
+ "$type": "color",
123
+ "$value": "{color.action.primary-quiet}"
124
+ },
125
+ "fg-placeholder": {
126
+ "$type": "color",
127
+ "$value": "{color.text.faint}"
128
+ }
129
+ },
130
+ "dialog": {
131
+ "bg": {
132
+ "$type": "color",
133
+ "$value": "{color.surface.raised}"
134
+ },
135
+ "border": {
136
+ "$type": "color",
137
+ "$value": "{color.border.default}"
138
+ },
139
+ "radius": {
140
+ "$type": "dimension",
141
+ "$value": "{radius.surface}"
142
+ }
143
+ }
144
+ }
145
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$description": "Dialog component tokens: the pulp side of the mapping onto @pearpages/modals. The vendor reads --modal-*; Dialog.module.css sets those from these --dialog-* tokens on the portal root.",
3
+ "dialog": {
4
+ "surface": { "$type": "color", "$value": "{color.surface.raised}" },
5
+ "surface-subtle": { "$type": "color", "$value": "{color.surface.sunken}" },
6
+ "fg": { "$type": "color", "$value": "{color.text.default}" },
7
+ "fg-muted": { "$type": "color", "$value": "{color.text.muted}" },
8
+ "backdrop": { "$type": "color", "$value": "{color.overlay.backdrop}" },
9
+ "border": { "$type": "color", "$value": "{color.border.default}" },
10
+ "border-hover": { "$type": "color", "$value": "{color.border.strong}" },
11
+ "focus": { "$type": "color", "$value": "{color.border.focus}" },
12
+ "radius": { "$type": "dimension", "$value": "{radius.surface}" },
13
+ "shadow": { "$type": "shadow", "$value": "{shadow.overlay}" },
14
+ "padding": { "$type": "dimension", "$value": "{space.5}" },
15
+ "gap": { "$type": "dimension", "$value": "{space.3}" },
16
+ "font-family": { "$type": "fontFamily", "$value": "{font.family.body}" },
17
+ "title": {
18
+ "font-size": { "$type": "dimension", "$value": "{font.size.lg}" },
19
+ "font-weight": { "$type": "fontWeight", "$value": "{font.weight.semibold}" },
20
+ "font-family": { "$type": "fontFamily", "$value": "{font.family.display}" }
21
+ },
22
+ "description": {
23
+ "font-size": { "$type": "dimension", "$value": "{font.size.sm}" }
24
+ },
25
+ "close": {
26
+ "bg": { "$type": "color", "$value": "{color.action.secondary}" },
27
+ "bg-hover": { "$type": "color", "$value": "{color.action.secondary-hover}" },
28
+ "fg": { "$type": "color", "$value": "{color.text.muted}" },
29
+ "fg-hover": { "$type": "color", "$value": "{color.text.default}" }
30
+ },
31
+ "motion": {
32
+ "duration": { "$type": "duration", "$value": "{motion.duration.base}" },
33
+ "easing": { "$type": "cubicBezier", "$value": "{motion.easing.standard}" }
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,23 @@
1
+ {
2
+ "$description": "Field component tokens: label, description and error wiring shared by every form control.",
3
+ "field": {
4
+ "gap": { "$type": "dimension", "$value": "{space.1}" },
5
+ "label": {
6
+ "fg": { "$type": "color", "$value": "{color.text.default}" },
7
+ "font-size": { "$type": "dimension", "$value": "{font.size.sm}" },
8
+ "font-weight": { "$type": "fontWeight", "$value": "{font.weight.medium}" }
9
+ },
10
+ "required": {
11
+ "fg": { "$type": "color", "$value": "{color.status.error-text}" },
12
+ "gap": { "$type": "dimension", "$value": "{space.1}" }
13
+ },
14
+ "description": {
15
+ "fg": { "$type": "color", "$value": "{color.text.muted}" },
16
+ "font-size": { "$type": "dimension", "$value": "{font.size.xs}" }
17
+ },
18
+ "error": {
19
+ "fg": { "$type": "color", "$value": "{color.status.error-text}" },
20
+ "font-size": { "$type": "dimension", "$value": "{font.size.xs}" }
21
+ }
22
+ }
23
+ }
@@ -0,0 +1,44 @@
1
+ {
2
+ "$description": "Heading component tokens. Display family, tight leading, sizes from the type scale.",
3
+ "heading": {
4
+ "font-family": {
5
+ "$type": "fontFamily",
6
+ "$value": "{font.family.display}"
7
+ },
8
+ "font-weight": {
9
+ "$type": "fontWeight",
10
+ "$value": "{font.weight.semibold}"
11
+ },
12
+ "line-height": {
13
+ "$type": "number",
14
+ "$value": "{font.line-height.tight}"
15
+ },
16
+ "size": {
17
+ "$type": "dimension",
18
+ "sm": {
19
+ "$value": "{font.size.md}"
20
+ },
21
+ "md": {
22
+ "$value": "{font.size.lg}"
23
+ },
24
+ "lg": {
25
+ "$value": "{font.size.xl}"
26
+ },
27
+ "xl": {
28
+ "$value": "{font.size.2xl}"
29
+ },
30
+ "2xl": {
31
+ "$value": "{font.size.3xl}"
32
+ }
33
+ },
34
+ "tone": {
35
+ "$type": "color",
36
+ "default": {
37
+ "$value": "{color.text.default}"
38
+ },
39
+ "muted": {
40
+ "$value": "{color.text.muted}"
41
+ }
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,17 @@
1
+ {
2
+ "$description": "IconButton component tokens: a square Button.",
3
+ "icon-button": {
4
+ "size": {
5
+ "$type": "dimension",
6
+ "sm": {
7
+ "$value": "{size.control.sm}"
8
+ },
9
+ "md": {
10
+ "$value": "{size.control.md}"
11
+ },
12
+ "lg": {
13
+ "$value": "{size.control.lg}"
14
+ }
15
+ }
16
+ }
17
+ }
@@ -0,0 +1,18 @@
1
+ {
2
+ "$description": "Icon component tokens: three sizes bound to the type scale so icons sit on text.",
3
+ "icon": {
4
+ "size": {
5
+ "$type": "dimension",
6
+ "sm": {
7
+ "$value": "{font.size.sm}"
8
+ },
9
+ "md": {
10
+ "$value": "{font.size.lg}"
11
+ },
12
+ "lg": {
13
+ "$value": "{font.size.xl}"
14
+ },
15
+ "$description": "One step above the text size an icon sits beside (md \u2192 font.size.lg next to md text): stroke glyphs read smaller than letters in the same box. Inside text-sized controls use Icon size=\"inherit\"."
16
+ }
17
+ }
18
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$description": "Inline layout tokens: the spacing scale as gap steps.",
3
+ "inline": {
4
+ "gap": {
5
+ "$type": "dimension",
6
+ "1": {
7
+ "$value": "{space.1}"
8
+ },
9
+ "2": {
10
+ "$value": "{space.2}"
11
+ },
12
+ "3": {
13
+ "$value": "{space.3}"
14
+ },
15
+ "4": {
16
+ "$value": "{space.4}"
17
+ },
18
+ "5": {
19
+ "$value": "{space.5}"
20
+ },
21
+ "6": {
22
+ "$value": "{space.6}"
23
+ },
24
+ "7": {
25
+ "$value": "{space.7}"
26
+ },
27
+ "8": {
28
+ "$value": "{space.8}"
29
+ }
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,37 @@
1
+ {
2
+ "$description": "Listbox component tokens. Also the option list inside Combobox and Picker, which render Listbox's options.",
3
+ "listbox": {
4
+ "bg": { "$type": "color", "$value": "{color.surface.raised}" },
5
+ "fg": { "$type": "color", "$value": "{color.text.default}" },
6
+ "border": { "$type": "color", "$value": "{color.border.default}" },
7
+ "radius": { "$type": "dimension", "$value": "{radius.surface}" },
8
+ "padding": { "$type": "dimension", "$value": "{space.1}" },
9
+ "max-height": { "$type": "dimension", "$value": "{size.listbox-height}" },
10
+ "font": {
11
+ "family": { "$type": "fontFamily", "$value": "{font.family.body}" },
12
+ "size": { "$type": "dimension", "$value": "{font.size.sm}" }
13
+ },
14
+ "empty": {
15
+ "fg": { "$type": "color", "$value": "{color.text.muted}" },
16
+ "padding": { "$type": "dimension", "$value": "{space.3}" }
17
+ },
18
+ "item": {
19
+ "padding-block": { "$type": "dimension", "$value": "{space.2}" },
20
+ "padding-inline": { "$type": "dimension", "$value": "{space.3}" },
21
+ "gap": { "$type": "dimension", "$value": "{space.2}" },
22
+ "radius": { "$type": "dimension", "$value": "{radius.control}" },
23
+ "fg": { "$type": "color", "$value": "{color.text.default}" },
24
+ "fg-muted": { "$type": "color", "$value": "{color.text.muted}" },
25
+ "fg-disabled": { "$type": "color", "$value": "{color.text.faint}" },
26
+ "bg-focus": { "$type": "color", "$value": "{color.action.primary-quiet}" },
27
+ "bg-selected": { "$type": "color", "$value": "{color.action.primary-quiet}" },
28
+ "check": { "$type": "color", "$value": "{color.action.text}" },
29
+ "description-font-size": { "$type": "dimension", "$value": "{font.size.xs}" }
30
+ },
31
+ "focus": {
32
+ "ring": { "$type": "color", "$value": "{color.border.focus}" },
33
+ "ring-width": { "$type": "dimension", "$value": "{focus.ring.width}" },
34
+ "ring-offset": { "$type": "dimension", "$value": "{focus.ring.offset}" }
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "$description": "Menu component tokens.",
3
+ "menu": {
4
+ "bg": {
5
+ "$type": "color",
6
+ "$value": "{color.surface.raised}"
7
+ },
8
+ "fg": {
9
+ "$type": "color",
10
+ "$value": "{color.text.default}"
11
+ },
12
+ "border": {
13
+ "$type": "color",
14
+ "$value": "{color.border.default}"
15
+ },
16
+ "radius": {
17
+ "$type": "dimension",
18
+ "$value": "{radius.surface}"
19
+ },
20
+ "padding": {
21
+ "$type": "dimension",
22
+ "$value": "{space.1}"
23
+ },
24
+ "gap": {
25
+ "$type": "dimension",
26
+ "$value": "{space.2}"
27
+ },
28
+ "min-width": {
29
+ "$type": "dimension",
30
+ "$value": "{size.menu-width}"
31
+ },
32
+ "shadow": {
33
+ "$type": "shadow",
34
+ "$value": "{shadow.overlay}"
35
+ },
36
+ "layer": {
37
+ "$type": "number",
38
+ "$value": "{layer.popover}"
39
+ },
40
+ "duration": {
41
+ "$type": "duration",
42
+ "$value": "{motion.duration.fast}"
43
+ },
44
+ "item": {
45
+ "padding-block": {
46
+ "$type": "dimension",
47
+ "$value": "{space.2}"
48
+ },
49
+ "padding-inline": {
50
+ "$type": "dimension",
51
+ "$value": "{space.3}"
52
+ },
53
+ "radius": {
54
+ "$type": "dimension",
55
+ "$value": "{radius.control}"
56
+ },
57
+ "font-size": {
58
+ "$type": "dimension",
59
+ "$value": "{font.size.sm}"
60
+ },
61
+ "fg": {
62
+ "$type": "color",
63
+ "$value": "{color.text.default}"
64
+ },
65
+ "fg-muted": {
66
+ "$type": "color",
67
+ "$value": "{color.text.muted}"
68
+ },
69
+ "bg-active": {
70
+ "$type": "color",
71
+ "$value": "{color.action.primary-quiet}"
72
+ },
73
+ "fg-active": {
74
+ "$type": "color",
75
+ "$value": "{color.text.default}"
76
+ },
77
+ "fg-danger": {
78
+ "$type": "color",
79
+ "$value": "{color.status.error-text}"
80
+ }
81
+ },
82
+ "separator": {
83
+ "$type": "color",
84
+ "$value": "{color.border.default}"
85
+ },
86
+ "focus": {
87
+ "ring": {
88
+ "$type": "color",
89
+ "$value": "{color.border.focus}"
90
+ },
91
+ "ring-width": {
92
+ "$type": "dimension",
93
+ "$value": "{focus.ring.width}"
94
+ },
95
+ "ring-offset": {
96
+ "$type": "dimension",
97
+ "$value": "{focus.ring.offset}"
98
+ }
99
+ }
100
+ }
101
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "$description": "Pagination component tokens. The page controls are Buttons; these cover the layout and the ellipsis.",
3
+ "pagination": {
4
+ "gap": { "$type": "dimension", "$value": "{space.1}" },
5
+ "font": {
6
+ "family": { "$type": "fontFamily", "$value": "{font.family.body}" },
7
+ "size": {
8
+ "$type": "dimension",
9
+ "sm": { "$value": "{font.size.sm}" },
10
+ "md": { "$value": "{font.size.md}" }
11
+ }
12
+ },
13
+ "ellipsis": {
14
+ "fg": { "$type": "color", "$value": "{color.text.muted}" },
15
+ "size": {
16
+ "$type": "dimension",
17
+ "sm": { "$value": "{size.control.sm}" },
18
+ "md": { "$value": "{size.control.md}" }
19
+ }
20
+ }
21
+ }
22
+ }