@actabldesign/bellhop-styles 0.0.4 → 0.0.12

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 (60) hide show
  1. package/README.md +105 -70
  2. package/dist/index.css +33 -0
  3. package/dist/utilities.css +5730 -0
  4. package/llms.txt +2765 -119
  5. package/package.json +6 -1
  6. package/rollup.config.js +39 -24
  7. package/src/bh-tokens/_primitives.scss +296 -0
  8. package/src/bh-tokens/_semantic.scss +158 -0
  9. package/src/bh-tokens/components/_avatar.tokens.scss +64 -0
  10. package/src/bh-tokens/components/_badge-dot.tokens.scss +33 -0
  11. package/src/bh-tokens/components/_badge.tokens.scss +61 -0
  12. package/src/bh-tokens/components/_button-icon.tokens.scss +65 -0
  13. package/src/bh-tokens/components/_button.tokens.scss +185 -0
  14. package/src/bh-tokens/components/_checkbox.tokens.scss +67 -0
  15. package/src/bh-tokens/components/_dropdown.tokens.scss +103 -0
  16. package/src/bh-tokens/components/_featured-icon.tokens.scss +57 -0
  17. package/src/bh-tokens/components/_input-number.tokens.scss +50 -0
  18. package/src/bh-tokens/components/_input.tokens.scss +86 -0
  19. package/src/bh-tokens/components/_label.tokens.scss +37 -0
  20. package/src/bh-tokens/components/_modal.tokens.scss +42 -0
  21. package/src/bh-tokens/components/_pagination.tokens.scss +104 -0
  22. package/src/bh-tokens/components/_password.tokens.scss +63 -0
  23. package/src/bh-tokens/components/_progress-bar.tokens.scss +34 -0
  24. package/src/bh-tokens/components/_progress-spinner.tokens.scss +51 -0
  25. package/src/bh-tokens/components/_radiobutton.tokens.scss +90 -0
  26. package/src/bh-tokens/components/_skeleton.tokens.scss +22 -0
  27. package/src/bh-tokens/components/_textarea.tokens.scss +76 -0
  28. package/src/bh-tokens/components/_toggle.tokens.scss +74 -0
  29. package/src/bh-tokens/components/avatar.scss +288 -0
  30. package/src/bh-tokens/components/badge-dot.scss +177 -0
  31. package/src/bh-tokens/components/badge.scss +497 -0
  32. package/src/bh-tokens/components/button-icon.scss +227 -0
  33. package/src/bh-tokens/components/button.scss +640 -0
  34. package/src/bh-tokens/components/checkbox.scss +254 -0
  35. package/src/bh-tokens/components/dropdown.scss +231 -0
  36. package/src/bh-tokens/components/featured-icon.scss +219 -0
  37. package/src/bh-tokens/components/input-number.scss +147 -0
  38. package/src/bh-tokens/components/input.scss +271 -0
  39. package/src/bh-tokens/components/label.scss +176 -0
  40. package/src/bh-tokens/components/modal.scss +103 -0
  41. package/src/bh-tokens/components/pagination.scss +324 -0
  42. package/src/bh-tokens/components/password.scss +193 -0
  43. package/src/bh-tokens/components/progress-bar.scss +124 -0
  44. package/src/bh-tokens/components/progress-spinner.scss +130 -0
  45. package/src/bh-tokens/components/radiobutton.scss +193 -0
  46. package/src/bh-tokens/components/skeleton.scss +50 -0
  47. package/src/bh-tokens/components/textarea.scss +228 -0
  48. package/src/bh-tokens/components/toggle.scss +320 -0
  49. package/src/mixins/_responsive.scss +167 -0
  50. package/src/tokens/bellhop-typography.css +34 -0
  51. package/src/utilities/_breakpoints.scss +19 -0
  52. package/src/utilities/_flex.scss +228 -0
  53. package/src/utilities/_grid.scss +189 -0
  54. package/src/utilities/_index.scss +32 -0
  55. package/src/utilities/_scrollable.scss +239 -0
  56. package/src/utilities/_sizing.scss +229 -0
  57. package/src/utilities/_spacing.scss +187 -0
  58. package/src/utilities/_truncation.scss +126 -0
  59. package/src/utilities/_visibility.scss +117 -0
  60. package/src/utilities.scss +32 -0
package/package.json CHANGED
@@ -1,10 +1,15 @@
1
1
  {
2
2
  "name": "@actabldesign/bellhop-styles",
3
- "version": "0.0.4",
3
+ "version": "0.0.12",
4
+ "type": "module",
4
5
  "description": "Shared CSS styles for Bellhop design system",
5
6
  "main": "index.css",
6
7
  "module": "index.css",
7
8
  "types": "index.d.ts",
9
+ "exports": {
10
+ ".": "./index.css",
11
+ "./utilities": "./utilities.css"
12
+ },
8
13
  "files": [
9
14
  "**/*"
10
15
  ],
package/rollup.config.js CHANGED
@@ -2,28 +2,43 @@ import postcss from 'rollup-plugin-postcss';
2
2
  import postcssImport from 'postcss-import';
3
3
  import { resolve } from 'path';
4
4
 
5
- export default {
6
- input: 'src/index.css',
7
- output: {
8
- file: 'dist/index.css',
9
- format: 'es'
10
- },
5
+ const postcssConfig = {
6
+ extract: true,
11
7
  plugins: [
12
- postcss({
13
- extract: true,
14
- plugins: [
15
- postcssImport({
16
- resolve: (id, basedir) => {
17
- // Handle relative imports
18
- if (id.startsWith('./')) {
19
- return resolve(basedir, id);
20
- }
21
- return id;
22
- }
23
- })
24
- ],
25
- minimize: false,
26
- sourceMap: false
27
- })
28
- ]
29
- };
8
+ postcssImport({
9
+ resolve: (id, basedir) => {
10
+ // Handle relative imports
11
+ if (id.startsWith('./')) {
12
+ return resolve(basedir, id);
13
+ }
14
+ return id;
15
+ },
16
+ }),
17
+ ],
18
+ minimize: false,
19
+ sourceMap: false,
20
+ use: {
21
+ sass: {
22
+ silenceDeprecations: ['legacy-js-api', 'import', 'global-builtin'],
23
+ },
24
+ },
25
+ };
26
+
27
+ export default [
28
+ {
29
+ input: 'src/index.css',
30
+ output: {
31
+ file: 'dist/index.css',
32
+ format: 'es',
33
+ },
34
+ plugins: [postcss(postcssConfig)],
35
+ },
36
+ {
37
+ input: 'src/utilities.scss',
38
+ output: {
39
+ file: 'dist/utilities.css',
40
+ format: 'es',
41
+ },
42
+ plugins: [postcss(postcssConfig)],
43
+ },
44
+ ];
@@ -0,0 +1,296 @@
1
+ /* ==========================================================================
2
+ BELLHOP PRIMITIVES
3
+ Consolidated from all Bellhop primitives tokens.
4
+ ========================================================================== */
5
+
6
+ :root {
7
+ /* --- BASE COLORS --- */
8
+ --bh-white: hsl(0, 0%, 100%);
9
+ --bh-black: hsl(0, 0%, 0%);
10
+ --bh-transparent: hsla(0, 0%, 100%, 0);
11
+
12
+ /* --- NEUTRAL SCALE --- */
13
+ --bh-neutral-25: hsl(210, 20%, 99%);
14
+ --bh-neutral-50: hsl(225, 40%, 98%);
15
+ --bh-neutral-100: hsl(225, 40%, 96%);
16
+ --bh-neutral-200: hsl(223, 32%, 91%);
17
+ --bh-neutral-300: hsl(223, 29%, 84%);
18
+ --bh-neutral-400: hsl(224, 23%, 65%);
19
+ --bh-neutral-500: hsl(226, 16%, 47%);
20
+ --bh-neutral-600: hsl(225, 22%, 37%);
21
+ --bh-neutral-700: hsl(224, 25%, 27%);
22
+ --bh-neutral-800: hsl(226, 25%, 20%);
23
+ --bh-neutral-900: hsl(227, 31%, 11%);
24
+ --bh-neutral-950: hsl(228, 38%, 5%);
25
+
26
+ /* --- BRAND SCALE (Indigo) --- */
27
+ --bh-brand-25: hsl(220, 82%, 98%);
28
+ --bh-brand-50: hsl(226, 100%, 97%);
29
+ --bh-brand-100: hsl(223, 88%, 94%);
30
+ --bh-brand-200: hsl(226, 71%, 86%);
31
+ --bh-brand-300: hsl(227, 75%, 78%);
32
+ --bh-brand-400: hsl(228, 73%, 67%);
33
+ --bh-brand-500: hsl(230, 69%, 59%);
34
+ --bh-brand-600: hsl(230, 69%, 48%);
35
+ --bh-brand-700: hsl(230, 69%, 41%);
36
+ --bh-brand-800: hsl(230, 69%, 31%);
37
+ --bh-brand-900: hsl(230, 68%, 21%);
38
+ --bh-brand-950: hsl(229, 70%, 8%);
39
+
40
+ /* --- ACCENT (GUAVA) SCALE --- */
41
+ --bh-accent-25: hsl(7, 60%, 97%);
42
+ --bh-accent-50: hsl(355, 60%, 96%);
43
+ --bh-accent-100: hsl(353, 57%, 91%);
44
+ --bh-accent-200: hsl(353, 58%, 85%);
45
+ --bh-accent-300: hsl(353, 59%, 81%);
46
+ --bh-accent-400: hsl(353, 58%, 69%);
47
+ --bh-accent-500: hsl(353, 58%, 62%);
48
+ --bh-accent-600: hsl(354, 58%, 56%);
49
+ --bh-accent-700: hsl(354, 58%, 44%);
50
+ --bh-accent-800: hsl(354, 58%, 37%);
51
+ --bh-accent-900: hsl(353, 58%, 31%);
52
+ --bh-accent-950: hsl(353, 59%, 17%);
53
+
54
+ /* --- ERROR SCALE --- */
55
+ --bh-error-25: hsl(6, 100%, 99%);
56
+ --bh-error-50: hsl(6, 100%, 98%);
57
+ --bh-error-100: hsl(10, 100%, 93%);
58
+ --bh-error-200: hsl(8, 100%, 88%);
59
+ --bh-error-300: hsl(8, 100%, 79%);
60
+ --bh-error-400: hsl(10, 94%, 65%);
61
+ --bh-error-500: hsl(16, 100%, 48%);
62
+ --bh-error-600: hsl(12, 100%, 44%);
63
+ --bh-error-700: hsl(11, 100%, 37%);
64
+ --bh-error-800: hsl(10, 100%, 30%);
65
+ --bh-error-900: hsl(14, 100%, 25%);
66
+ --bh-error-950: hsl(7, 100%, 14%);
67
+
68
+ /* --- WARNING SCALE --- */
69
+ --bh-warning-25: hsl(47, 92%, 98%);
70
+ --bh-warning-50: hsl(47, 100%, 96%);
71
+ --bh-warning-100: hsl(48, 93%, 89%);
72
+ --bh-warning-200: hsl(48, 95%, 78%);
73
+ --bh-warning-300: hsl(46, 96%, 65%);
74
+ --bh-warning-400: hsl(40, 95%, 60%);
75
+ --bh-warning-500: hsl(33, 92%, 58%);
76
+ --bh-warning-600: hsl(26, 71%, 51%);
77
+ --bh-warning-700: hsl(21, 72%, 41%);
78
+ --bh-warning-800: hsl(21, 75%, 33%);
79
+ --bh-warning-900: hsl(21, 71%, 27%);
80
+ --bh-warning-950: hsl(21, 84%, 14%);
81
+
82
+ /* --- SUCCESS SCALE --- */
83
+ --bh-success-25: hsl(144, 78%, 98%);
84
+ --bh-success-50: hsl(138, 76%, 97%);
85
+ --bh-success-100: hsl(141, 78%, 93%);
86
+ --bh-success-200: hsl(140, 76%, 85%);
87
+ --bh-success-300: hsl(142, 75%, 73%);
88
+ --bh-success-400: hsl(143, 68%, 55%);
89
+ --bh-success-500: hsl(136, 57%, 49%);
90
+ --bh-success-600: hsl(134, 58%, 41%);
91
+ --bh-success-700: hsl(139, 61%, 31%);
92
+ --bh-success-800: hsl(143, 63%, 24%);
93
+ --bh-success-900: hsl(142, 54%, 19%);
94
+ --bh-success-950: hsl(143, 67%, 11%);
95
+
96
+ /* --- GENERAL UTILITY COLORS SCALE --- */
97
+ --bh-lime-25: hsl(80, 91%, 98%);
98
+ --bh-lime-50: hsl(80, 87%, 95%);
99
+ --bh-lime-100: hsl(79, 79%, 91%);
100
+ --bh-lime-200: hsl(81, 80%, 81%);
101
+ --bh-lime-300: hsl(83, 77%, 70%);
102
+ --bh-lime-400: hsl(87, 67%, 61%);
103
+ --bh-lime-500: hsl(92, 51%, 54%);
104
+ --bh-lime-600: hsl(93, 40%, 45%);
105
+ --bh-lime-700: hsl(92, 42%, 34%);
106
+ --bh-lime-800: hsl(89, 43%, 26%);
107
+ --bh-lime-900: hsl(91, 38%, 20%);
108
+ --bh-lime-950: hsl(92, 47%, 12%);
109
+
110
+ --bh-teal-25: hsl(166, 76%, 99%);
111
+ --bh-teal-50: hsl(166, 76%, 97%);
112
+ --bh-teal-100: hsl(167, 81%, 90%);
113
+ --bh-teal-200: hsl(168, 81%, 79%);
114
+ --bh-teal-300: hsl(171, 76%, 64%);
115
+ --bh-teal-400: hsl(172, 63%, 53%);
116
+ --bh-teal-500: hsl(171, 56%, 46%);
117
+ --bh-teal-600: hsl(173, 57%, 37%);
118
+ --bh-teal-700: hsl(174, 60%, 29%);
119
+ --bh-teal-800: hsl(176, 62%, 23%);
120
+ --bh-teal-900: hsl(175, 54%, 20%);
121
+ --bh-teal-950: hsl(178, 70%, 11%);
122
+
123
+ --bh-blue-25: hsl(210, 100%, 98%);
124
+ --bh-blue-50: hsl(206, 100%, 97%);
125
+ --bh-blue-100: hsl(209, 100%, 91%);
126
+ --bh-blue-200: hsl(206, 100%, 85%);
127
+ --bh-blue-300: hsl(206, 100%, 76%);
128
+ --bh-blue-400: hsl(207, 98%, 66%);
129
+ --bh-blue-500: hsl(211, 95%, 58%);
130
+ --bh-blue-600: hsl(215, 87%, 51%);
131
+ --bh-blue-700: hsl(218, 80%, 46%);
132
+ --bh-blue-800: hsl(220, 75%, 38%);
133
+ --bh-blue-900: hsl(218, 68%, 31%);
134
+ --bh-blue-950: hsl(218, 68%, 20%);
135
+
136
+ --bh-lavender-25: hsl(291, 33%, 98%);
137
+ --bh-lavender-50: hsl(291, 33%, 96%);
138
+ --bh-lavender-100: hsl(289, 35%, 91%);
139
+ --bh-lavender-200: hsl(291, 34%, 88%);
140
+ --bh-lavender-300: hsl(291, 34%, 84%);
141
+ --bh-lavender-400: hsl(290, 35%, 73%);
142
+ --bh-lavender-500: hsl(291, 35%, 64%);
143
+ --bh-lavender-600: hsl(290, 35%, 55%);
144
+ --bh-lavender-700: hsl(290, 35%, 45%);
145
+ --bh-lavender-800: hsl(290, 35%, 39%);
146
+ --bh-lavender-900: hsl(290, 35%, 31%);
147
+ --bh-lavender-950: hsl(291, 35%, 18%);
148
+
149
+ --bh-purple-25: hsl(270, 100%, 99%);
150
+ --bh-purple-50: hsl(268, 100%, 97%);
151
+ --bh-purple-100: hsl(264, 83%, 94%);
152
+ --bh-purple-200: hsl(267, 87%, 90%);
153
+ --bh-purple-300: hsl(267, 85%, 84%);
154
+ --bh-purple-400: hsl(267, 87%, 73%);
155
+ --bh-purple-500: hsl(267, 87%, 68%);
156
+ --bh-purple-600: hsl(272, 84%, 57%);
157
+ --bh-purple-700: hsl(272, 71%, 44%);
158
+ --bh-purple-800: hsl(273, 66%, 37%);
159
+ --bh-purple-900: hsl(273, 61%, 30%);
160
+ --bh-purple-950: hsl(273, 76%, 21%);
161
+
162
+ --bh-pink-25: hsl(327, 73%, 99%);
163
+ --bh-pink-50: hsl(327, 73%, 97%);
164
+ --bh-pink-100: hsl(328, 70%, 95%);
165
+ --bh-pink-200: hsl(326, 77%, 90%);
166
+ --bh-pink-300: hsl(328, 85%, 82%);
167
+ --bh-pink-400: hsl(328, 86%, 69%);
168
+ --bh-pink-500: hsl(330, 83%, 60%);
169
+ --bh-pink-600: hsl(331, 71%, 46%);
170
+ --bh-pink-700: hsl(331, 71%, 42%);
171
+ --bh-pink-800: hsl(331, 71%, 37%);
172
+ --bh-pink-900: hsl(331, 72%, 25%);
173
+ --bh-pink-950: hsl(331, 72%, 17%);
174
+
175
+ --bh-orange-25: hsl(29, 90%, 98%);
176
+ --bh-orange-50: hsl(29, 90%, 96%);
177
+ --bh-orange-100: hsl(30, 90%, 92%);
178
+ --bh-orange-200: hsl(36, 86%, 83%);
179
+ --bh-orange-300: hsl(27, 89%, 72%);
180
+ --bh-orange-400: hsl(23, 88%, 61%);
181
+ --bh-orange-500: hsl(21, 87%, 53%);
182
+ --bh-orange-600: hsl(17, 82%, 48%);
183
+ --bh-orange-700: hsl(13, 80%, 40%);
184
+ --bh-orange-800: hsl(11, 71%, 34%);
185
+ --bh-orange-900: hsl(11, 67%, 28%);
186
+ --bh-orange-950: hsl(11, 67%, 19%);
187
+
188
+ /* --- UTILITY CHART COLORS --- */
189
+ --bh-chart-01: var(--bh-brand-500);
190
+ --bh-chart-02: var(--bh-lavender-500);
191
+ --bh-chart-04: var(--bh-accent-500);
192
+ --bh-chart-03: var(--bh-neutral-500);
193
+ --bh-chart-07: var(--bh-neutral-400);
194
+ --bh-chart-08: var(--bh-accent-400);
195
+ --bh-chart-09: var(--bh-brand-300);
196
+ --bh-chart-06: var(--bh-lavender-400);
197
+ --bh-chart-05: var(--bh-brand-400);
198
+ --bh-chart-11: var(--bh-neutral-300);
199
+ --bh-chart-10: var(--bh-lavender-300);
200
+
201
+ /* --- SPACING SCALE (Unit: 0.25rem / 4px) --- */
202
+ --bh-scale-0: 0px;
203
+ --bh-scale-0_5: 1px;
204
+ --bh-scale-1: 2px;
205
+ --bh-scale-2: 4px;
206
+ --bh-scale-2_5: 6px;
207
+ --bh-scale-3: 8px;
208
+ --bh-scale-4: 12px;
209
+ --bh-scale-5: 16px;
210
+ --bh-scale-5_5: 20px;
211
+ --bh-scale-6: 24px;
212
+ --bh-scale-7: 32px;
213
+ --bh-scale-8: 40px;
214
+ --bh-scale-9: 48px;
215
+ --bh-scale-10: 56px;
216
+ --bh-scale-11: 64px;
217
+ --bh-scale-11_5: 72px;
218
+ --bh-scale-12: 80px;
219
+ --bh-scale-13: 96px;
220
+ --bh-scale-15: 120px;
221
+ --bh-scale-20: 160px;
222
+ --bh-scale-48: 192px;
223
+ --bh-scale-56: 224px;
224
+ --bh-scale-64: 256px;
225
+ --bh-scale-80: 320px;
226
+ --bh-scale-96: 384px;
227
+ --bh-scale-120: 480px;
228
+ --bh-scale-140: 560px;
229
+ --bh-scale-160: 640px;
230
+ --bh-scale-180: 720px;
231
+ --bh-scale-192: 768px;
232
+ --bh-scale-256: 1024px;
233
+ --bh-scale-320: 1280px;
234
+ --bh-scale-360: 1440px;
235
+ --bh-scale-400: 1600px;
236
+ --bh-scale-480: 1920px;
237
+
238
+ /* --- TYPOGRAPHY SCALE --- */
239
+ /* Font Families */
240
+ --bh-font-family-base: 'Inter', system-ui, -apple-system, BlinkMacSystemFont,
241
+ 'Segoe UI', sans-serif;
242
+ --bh-font-family-mono: 'SF Mono', 'Monaco', 'Inconsolata', 'Fira Mono',
243
+ 'Courier New', monospace;
244
+
245
+ /* Font Weights */
246
+ --bh-font-weight-400: 400;
247
+ --bh-font-weight-500: 500;
248
+ --bh-font-weight-600: 600;
249
+ --bh-font-weight-700: 700;
250
+
251
+ /* Font Sizes */
252
+ --bh-font-size-10: 10px;
253
+ --bh-font-size-12: 12px;
254
+ --bh-font-size-14: 14px;
255
+ --bh-font-size-16: 16px;
256
+ --bh-font-size-18: 18px;
257
+ --bh-font-size-20: 20px;
258
+ --bh-font-size-22: 22px;
259
+ --bh-font-size-26: 26px;
260
+ --bh-font-size-28: 28px;
261
+ --bh-font-size-32: 32px;
262
+ --bh-font-size-36: 36px;
263
+ --bh-font-size-40: 40px;
264
+
265
+ /* Line Heights */
266
+ --bh-leading-tight: 1.25;
267
+ --bh-leading-normal: 1.5;
268
+ --bh-leading-relaxed: 1.75;
269
+
270
+ /* --- RADIUS SCALE --- */
271
+ --bh-radii-none: 0rem;
272
+ --bh-radii-xxs: 0.125rem;
273
+ --bh-radii-xs: 0.25rem;
274
+ --bh-radii-sm: 0.375rem;
275
+ --bh-radii-md: 0.5rem;
276
+ --bh-radii-lg: 0.625rem;
277
+ --bh-radii-xl: 0.75rem;
278
+ --bh-radii-2xl: 1rem;
279
+ --bh-radii-3xl: 1.25rem;
280
+ --bh-radii-4xl: 1.5rem;
281
+ --bh-radii-full: 9999px;
282
+
283
+ /* --- BORDER WIDTH SCALE --- */
284
+ --bh-border-0: 0;
285
+ --bh-border-1: 1px;
286
+ --bh-border-2: 2px;
287
+
288
+ /* --- OPACITY PRIMITIVES --- */
289
+ --bh-opacity-0: 0;
290
+ --bh-opacity-10: 0.01;
291
+ --bh-opacity-20: 0.02;
292
+ --bh-opacity-40: 0.04;
293
+ --bh-opacity-60: 0.06;
294
+ --bh-opacity-80: 0.08;
295
+ --bh-opacity-100: 1;
296
+ }
@@ -0,0 +1,158 @@
1
+ /* ==========================================================================
2
+ BELLHOP SEMANTIC TOKENS
3
+ Functional mapping of primitives to UI intent.
4
+ ========================================================================== */
5
+
6
+ @use './_primitives.scss';
7
+
8
+ :root {
9
+ /* --- SURFACE TOKENS --- */
10
+ --bh-surface-canvas: var(--bh-neutral-25);
11
+ --bh-surface-default: var(--bh-white);
12
+ --bh-surface-elevated: var(--bh-white);
13
+ --bh-surface-inverse: var(--bh-neutral-900);
14
+
15
+ /* --- BACKGROUND TOKENS --- */
16
+ --bh-bg-base: var(--bh-white);
17
+ --bh-bg-subtle: var(--bh-neutral-50);
18
+ --bh-bg-muted: var(--bh-neutral-100);
19
+ --bh-bg-disabled: var(--bh-neutral-100);
20
+ --bh-bg-overlay: rgba(var(--bh-neutral-100), 60%);
21
+ --bh-bg-inverse: var(--bh-neutral-900);
22
+
23
+ /* --- BORDER TOKENS --- */
24
+ --bh-border-default: var(--bh-neutral-200);
25
+ --bh-border-subtle: var(--bh-neutral-300);
26
+ --bh-border-focus: var(--bh-brand-500);
27
+ --bh-border-selected: var(--bh-brand-600);
28
+
29
+ /* --- TEXT TOKENS --- */
30
+ --bh-text-primary: var(--bh-neutral-900);
31
+ --bh-text-secondary: var(--bh-neutral-800);
32
+ --bh-text-tertiary: var(--bh-neutral-600);
33
+ --bh-text-brand: var(--bh-brand-600);
34
+ --bh-text-disabled: var(--bh-neutral-400);
35
+ --bh-text-inverse: var(--bh-white);
36
+ --bh-text-error: var(--bh-error-600);
37
+ --bh-text-warning: var(--bh-warning-700);
38
+ --bh-text-success: var(--bh-success-700);
39
+ --bh-text-highlight: var(--bh-purple-700);
40
+
41
+ /* --- ACTION TOKENS --- */
42
+ --bh-action-primary: var(--bh-brand-600);
43
+ --bh-action-primary_hover: var(--bh-brand-700);
44
+ --bh-action-primary_active: var(--bh-brand-800);
45
+ --bh-action-primary-subtle: var(--bh-brand-50);
46
+ --bh-action-primary-subtle_hover: var(--bh-brand-100);
47
+ --bh-action-primary-subtle_active: var(--bh-brand-200);
48
+ --bh-action-secondary: var(--bh-neutral-100);
49
+ --bh-action-secondary_hover: var(--bh-neutral-200);
50
+ --bh-action-secondary_active: var(--bh-neutral-300);
51
+ --bh-action-tertiary: var(--bh-transparent);
52
+ --bh-action-tertiary-hover: var(--bh-neutral-50);
53
+ --bh-action-tertiary-active: var(--bh-neutral-100);
54
+ --bh-action-success: var(--bh-succes-600);
55
+ --bh-action-success_hover: var(--bh-succes-600);
56
+ --bh-action-error: var(--bh-error-600);
57
+ --bh-action-error_hover: var(--bh-error-700);
58
+ --bh-action-warning: var(--bh-warning-600);
59
+ --bh-action-warning_hover: var(--bh-warning-700);
60
+ --bh-action-highlight: var(--bh-purple-600);
61
+ --bh-action-highlight_hover: var(--bh-purple-600);
62
+ --bh-action-disabled: var(--bh-neutral-200);
63
+
64
+ /* --- SPACING SEMANTICS (can be used to any dimesion such as padding, width, height --- */
65
+ --bh-spacing-none: var(--bh-scale-0); /* 0px */
66
+ --bh-spacing-xxs: var(--bh-scale-1); /* 2px */
67
+ --bh-spacing-xs: var(--bh-scale-2); /* 4px */
68
+ --bh-spacing-sm: var(--bh-scale-3); /* 8px */
69
+ --bh-spacing-md: var(--bh-scale-5); /* 16px */
70
+ --bh-spacing-lg: var(--bh-scale-6); /* 24px */
71
+ --bh-spacing-xl: var(--bh-scale-7); /* 32px */
72
+ --bh-spacing-2xl: var(--bh-scale-9); /* 48px */
73
+ --bh-spacing-3xl: var(--bh-scale-11); /* 64px */
74
+ --bh-spacing-4xl: var(--bh-scale-13); /* 80px */
75
+ --bh-spacing-5xl: var(--bh-scale-15); /* 96px */
76
+ --bh-spacing-6xl: var(--bh-scale-20); /* 160px */
77
+
78
+ /* --- RADIUS SEMANTICS --- */
79
+ --bh-radius-none: var(--bh-radii-none);
80
+ --bh-radius-xs: var(--bh-radii-xs);
81
+ --bh-radius-sm: var(--bh-radii-sm);
82
+ --bh-radius-md: var(--bh-radii-md);
83
+ --bh-radius-lg: var(--bh-radii-lg);
84
+ --bh-radius-full: var(--bh-radii-full);
85
+
86
+ --bh-opacity-base: var(--bh-opacity-100);
87
+ --bh-opacity-medium: var(--bh-opacity-60);
88
+ --bh-opacity-low: var(--bh-opacity-20);
89
+ --bh-opacity-transparent: var(--bh-opacity-0);
90
+
91
+ --bh-border-stroke-none: var(--bh-border-0);
92
+ --bh-border-stroke-thin: var(--bh-border-1);
93
+ --bh-border-stroke-medium: calc(var(--bh-border-1) * 1.5);
94
+ --bh-border-stroke-thick: var(--bh-border-2);
95
+
96
+ /* --- SHADOW SEMANTICS --- */
97
+ /* Logic: color-mix(in srgb, [base_color] [opacity_percentage], transparent) */
98
+ --bh-shadow-color-base: var(--bh-neutral-600);
99
+
100
+ --bh-shadow-xs: 0px 0px 2px 1px
101
+ color-mix(in srgb, var(--bh-shadow-color-base) 6%, transparent);
102
+ --bh-shadow-sm: 0px 3px 4px 0px
103
+ color-mix(in srgb, var(--bh-shadow-color-base) 10%, transparent),
104
+ 0px 0px 1px 1px
105
+ color-mix(in srgb, var(--bh-shadow-color-base) 10%, transparent);
106
+ --bh-shadow-md: 0px 4px 8px 0px
107
+ color-mix(in srgb, var(--bh-shadow-color-base) 10%, transparent),
108
+ 0px 0px 4px 0px
109
+ color-mix(in srgb, var(--bh-shadow-color-base) 10%, transparent);
110
+
111
+ --bh-shadow-card: var(--bh-shadow-sm);
112
+ --bh-shadow-dropdown: var(--bh-shadow-md);
113
+ --bh-shadow-modal: var(--bh-shadow-lg);
114
+
115
+ /* --- ICON SEMANTICS --- */
116
+ --bh-icon-size-xxs: var(--bh-scale-4);
117
+ --bh-icon-size-xs: var(--bh-scale-5);
118
+ --bh-icon-size-sm: var(--bh-scale-5_5);
119
+ --bh-icon-size-md: var(--bh-scale-6);
120
+ --bh-icon-size-lg: var(--bh-scale-7);
121
+ --bh-icon-size-xl: var(--bh-scale-8);
122
+
123
+ /* --- FOCUS SEMANTICS --- */
124
+ --bh-focus-outline: var(--bh-brand-500);
125
+ --bh-focus-offset: 2px;
126
+
127
+ /* --- BREAKPOINT SEMANTICS --- */
128
+ --min-width-breakpoint-mobile: var(--bh-scale-80);
129
+ --min-width-breakpoint-tablet: var(--bh-scale-160);
130
+ --min-width-breakpoint-desktop: 1120px;
131
+ --min-width-breakpoint-wide: 1680px;
132
+
133
+ /* --- TYPOGRAPHY SEMANTICS --- */
134
+ --bh-font-heading: Inter;
135
+ --bh-font-body: Inter;
136
+
137
+ --bh-font-weight-regular: var(--bh-font-weight-400);
138
+ --bh-font-weight-medium: var(--bh-font-weight-500);
139
+ --bh-font-weight-semibold: var(--bh-font-weight-600);
140
+ --bh-font-weight-bold: var(--bh-font-weight-700);
141
+
142
+ --bh-font-heading-xs: var(--bh-font-size-20);
143
+ --bh-font-heading-sm: var(--bh-font-size-22);
144
+ --bh-font-heading-md: var(--bh-font-size-26);
145
+ --bh-font-heading-lg: var(--bh-font-size-28);
146
+ --bh-font-heading-xl: 60px;
147
+ --bh-font-heading-2xl: 72px;
148
+
149
+ --bh-font-body-xxs: var(--bh-font-size-10);
150
+ --bh-font-body-xs: var(--bh-font-size-12);
151
+ --bh-font-body-sm: var(--bh-font-size-14);
152
+ --bh-font-body-md: var(--bh-font-size-16);
153
+ --bh-font-body-lg: var(--bh-font-size-18);
154
+ --bh-font-body-xl: var(--bh-font-size-20);
155
+
156
+ --bh-line-height-heading: var(--bh-leading-tight);
157
+ --bh-line-height-body: var(--bh-leading-normal);
158
+ }
@@ -0,0 +1,64 @@
1
+ /* ==========================================================================
2
+ BELLHOP AVATAR COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- AVATAR CONTAINER --- */
10
+ --bh-avatar-bg: var(--bh-neutral-100);
11
+ --bh-avatar-border-radius: 50%;
12
+
13
+ /* --- AVATAR SIZES --- */
14
+ --bh-avatar-size-xs: 24px;
15
+ --bh-avatar-size-sm: 32px;
16
+ --bh-avatar-size-md: 40px;
17
+ --bh-avatar-size-lg: 48px;
18
+ --bh-avatar-size-xl: 56px;
19
+ --bh-avatar-size-2xl: 64px;
20
+
21
+ /* --- AVATAR BORDER --- */
22
+ --bh-avatar-border-color: var(--bh-border-default);
23
+ --bh-avatar-border-width-small: var(--bh-border-stroke-thin);
24
+ --bh-avatar-border-width-large: var(--bh-border-stroke-thin);
25
+
26
+ /* --- AVATAR TEXT --- */
27
+ --bh-avatar-text-color: var(--bh-neutral-500);
28
+ --bh-avatar-text-font-weight: var(--bh-font-weight-semibold);
29
+
30
+ /* --- AVATAR TEXT SIZES --- */
31
+ --bh-avatar-text-size-xxs: 10px;
32
+ --bh-avatar-text-size-xs: 12px;
33
+ --bh-avatar-text-size-sm: var(--bh-font-body-sm);
34
+ --bh-avatar-text-size-md: var(--bh-font-body-md);
35
+ --bh-avatar-text-size-lg: 18px;
36
+ --bh-avatar-text-size-xl: 20px;
37
+ --bh-avatar-text-size-2xl: 24px;
38
+
39
+ /* --- AVATAR ICON --- */
40
+ --bh-avatar-icon-color: var(--bh-neutral-500);
41
+
42
+ /* --- AVATAR ICON SIZES --- */
43
+ --bh-avatar-icon-size-sm: 16px;
44
+ --bh-avatar-icon-size-md: 20px;
45
+ --bh-avatar-icon-size-lg: 24px;
46
+ --bh-avatar-icon-size-xl: 28px;
47
+ --bh-avatar-icon-size-2xl: 32px;
48
+ --bh-avatar-icon-size-3xl: 36px;
49
+ --bh-avatar-icon-size-4xl: 40px;
50
+
51
+ /* --- STATUS INDICATOR --- */
52
+ --bh-avatar-status-border-width: 1.5px;
53
+ --bh-avatar-status-border-color: var(--bh-white);
54
+ --bh-avatar-status-online-bg: var(--bh-success-500);
55
+ --bh-avatar-status-offline-bg: var(--bh-neutral-400);
56
+
57
+ /* --- STATUS INDICATOR SIZES --- */
58
+ --bh-avatar-status-size-xs: 6px;
59
+ --bh-avatar-status-size-sm: 8px;
60
+ --bh-avatar-status-size-md: 10px;
61
+ --bh-avatar-status-size-lg: 12px;
62
+ --bh-avatar-status-size-xl: 14px;
63
+ --bh-avatar-status-size-2xl: 16px;
64
+ }
@@ -0,0 +1,33 @@
1
+ /* ==========================================================================
2
+ BELLHOP BADGE-DOT COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- BADGE DOT BASE --- */
10
+ --bh-badge-dot-border-radius: 9999px;
11
+
12
+ /* --- SIZES --- */
13
+ --bh-badge-dot-size-sm: 6px;
14
+ --bh-badge-dot-size-md: 8px;
15
+ --bh-badge-dot-size-lg: 10px;
16
+
17
+ /* --- COLORS --- */
18
+ --bh-badge-dot-bg-success: var(--bh-success-500);
19
+ --bh-badge-dot-bg-blue: var(--bh-blue-500);
20
+ --bh-badge-dot-bg-error: var(--bh-error-500);
21
+ --bh-badge-dot-bg-warning: var(--bh-warning-500);
22
+
23
+ /* --- OUTLINE WIDTHS --- */
24
+ --bh-badge-dot-outline-width-sm: 3px;
25
+ --bh-badge-dot-outline-width-md: 4px;
26
+ --bh-badge-dot-outline-width-lg: 5px;
27
+
28
+ /* --- OUTLINE COLORS --- */
29
+ --bh-badge-dot-outline-success: var(--bh-success-100);
30
+ --bh-badge-dot-outline-blue: var(--bh-blue-200);
31
+ --bh-badge-dot-outline-error: var(--bh-error-200);
32
+ --bh-badge-dot-outline-warning: var(--bh-warning-200);
33
+ }
@@ -0,0 +1,61 @@
1
+ /* ==========================================================================
2
+ BELLHOP BADGE COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- BADGE TYPOGRAPHY --- */
10
+ --bh-badge-font-family: var(--bh-font-family-base);
11
+ --bh-badge-font-weight: var(--bh-font-weight-medium);
12
+
13
+ /* --- BADGE SIZING --- */
14
+ --bh-badge-font-size-sm: var(--bh-font-body-sm);
15
+ --bh-badge-line-height-sm: var(--bh-line-height-body);
16
+ --bh-badge-height-sm: calc(var(--bh-spacing-md) * 1.25);
17
+ --bh-badge-padding-y-sm: var(--bh-spacing-xxs);
18
+ --bh-badge-padding-x-sm: var(--bh-spacing-sm);
19
+
20
+ --bh-badge-font-size-md: var(--bh-font-body-sm);
21
+ --bh-badge-line-height-md: var(--bh-line-height-body);
22
+ --bh-badge-height-md: var(--bh-spacing-lg);
23
+ --bh-badge-padding-y-md: var(--bh-spacing-xs);
24
+ --bh-badge-padding-x-md: calc(var(--bh-spacing-md) * 0.625);
25
+
26
+ --bh-badge-font-size-lg: var(--bh-font-body-md);
27
+ --bh-badge-line-height-lg: var(--bh-line-height-body);
28
+ --bh-badge-height-lg: calc(var(--bh-spacing-md) * 1.75);
29
+ --bh-badge-padding-y-lg: var(--bh-spacing-sm);
30
+ --bh-badge-padding-x-lg: calc(var(--bh-spacing-md) * 0.75);
31
+
32
+ /* --- BADGE BORDER --- */
33
+ --bh-badge-border-high: var(--bh-border-stroke-none) solid;
34
+ --bh-badge-border-medium: var(--bh-border-stroke-none) solid;
35
+ --bh-badge-border-low: var(--bh-border-stroke-thin) solid;
36
+
37
+ /* --- BADGE GAP --- */
38
+ --bh-badge-gap: var(--bh-spacing-sm);
39
+
40
+ /* --- BADGE RADIUS --- */
41
+ --bh-badge-radius: var(--bh-radius-full);
42
+
43
+ /* --- BADGE TRANSITION --- */
44
+ --bh-badge-transition: all 0.2s ease;
45
+
46
+ /* --- BADGE ICON SIZES --- */
47
+ --bh-badge-icon-dot-size-sm: var(--bh-icon-size-xxs);
48
+ --bh-badge-icon-dot-size-md: var(--bh-icon-size-xxs);
49
+ --bh-badge-icon-dot-size-lg: var(--bh-icon-size-xxs);
50
+
51
+ --bh-badge-icon-custom-size-sm: var(--bh-icon-size-xs);
52
+ --bh-badge-icon-custom-size-md: var(--bh-icon-size-xs);
53
+ --bh-badge-icon-custom-size-lg: var(--bh-icon-size-sm);
54
+
55
+ /* --- BADGE DISMISS BUTTON --- */
56
+ --bh-badge-dismiss-size-sm: var(--bh-icon-size-xs);
57
+ --bh-badge-dismiss-size-md: var(--bh-icon-size-xs);
58
+ --bh-badge-dismiss-size-lg: var(--bh-icon-size-xs);
59
+
60
+ --bh-badge-dismiss-hover: var(--bh-neutral-200);
61
+ }