@actabldesign/bellhop-styles 0.0.3 → 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 (127) hide show
  1. package/README.md +105 -70
  2. package/dist/index.css +1538 -0
  3. package/dist/utilities.css +5730 -0
  4. package/llms.txt +2852 -0
  5. package/package.json +29 -20
  6. package/project.json +29 -0
  7. package/rollup.config.js +44 -0
  8. package/{base → src/base}/normalize.css +4 -0
  9. package/src/bh-tokens/_primitives.scss +296 -0
  10. package/src/bh-tokens/_semantic.scss +158 -0
  11. package/src/bh-tokens/components/_avatar.tokens.scss +64 -0
  12. package/src/bh-tokens/components/_badge-dot.tokens.scss +33 -0
  13. package/src/bh-tokens/components/_badge.tokens.scss +61 -0
  14. package/src/bh-tokens/components/_button-icon.tokens.scss +65 -0
  15. package/src/bh-tokens/components/_button.tokens.scss +185 -0
  16. package/src/bh-tokens/components/_checkbox.tokens.scss +67 -0
  17. package/src/bh-tokens/components/_dropdown.tokens.scss +103 -0
  18. package/src/bh-tokens/components/_featured-icon.tokens.scss +57 -0
  19. package/src/bh-tokens/components/_input-number.tokens.scss +50 -0
  20. package/src/bh-tokens/components/_input.tokens.scss +86 -0
  21. package/src/bh-tokens/components/_label.tokens.scss +37 -0
  22. package/src/bh-tokens/components/_modal.tokens.scss +42 -0
  23. package/src/bh-tokens/components/_pagination.tokens.scss +104 -0
  24. package/src/bh-tokens/components/_password.tokens.scss +63 -0
  25. package/src/bh-tokens/components/_progress-bar.tokens.scss +34 -0
  26. package/src/bh-tokens/components/_progress-spinner.tokens.scss +51 -0
  27. package/src/bh-tokens/components/_radiobutton.tokens.scss +90 -0
  28. package/src/bh-tokens/components/_skeleton.tokens.scss +22 -0
  29. package/src/bh-tokens/components/_textarea.tokens.scss +76 -0
  30. package/src/bh-tokens/components/_toggle.tokens.scss +74 -0
  31. package/src/bh-tokens/components/avatar.scss +288 -0
  32. package/src/bh-tokens/components/badge-dot.scss +177 -0
  33. package/src/bh-tokens/components/badge.scss +497 -0
  34. package/src/bh-tokens/components/button-icon.scss +227 -0
  35. package/src/bh-tokens/components/button.scss +640 -0
  36. package/src/bh-tokens/components/checkbox.scss +254 -0
  37. package/src/bh-tokens/components/dropdown.scss +231 -0
  38. package/src/bh-tokens/components/featured-icon.scss +219 -0
  39. package/src/bh-tokens/components/input-number.scss +147 -0
  40. package/src/bh-tokens/components/input.scss +271 -0
  41. package/src/bh-tokens/components/label.scss +176 -0
  42. package/src/bh-tokens/components/modal.scss +103 -0
  43. package/src/bh-tokens/components/pagination.scss +324 -0
  44. package/src/bh-tokens/components/password.scss +193 -0
  45. package/src/bh-tokens/components/progress-bar.scss +124 -0
  46. package/src/bh-tokens/components/progress-spinner.scss +130 -0
  47. package/src/bh-tokens/components/radiobutton.scss +193 -0
  48. package/src/bh-tokens/components/skeleton.scss +50 -0
  49. package/src/bh-tokens/components/textarea.scss +228 -0
  50. package/src/bh-tokens/components/toggle.scss +320 -0
  51. package/src/index.css +22 -0
  52. package/src/mixins/_responsive.scss +167 -0
  53. package/src/tokens/bellhop-animations.css +392 -0
  54. package/src/tokens/bellhop-global.css +175 -0
  55. package/src/tokens/bellhop-icons.css +77 -0
  56. package/src/tokens/bellhop-layout.css +216 -0
  57. package/src/tokens/bellhop-primary-colors.css +96 -0
  58. package/src/tokens/bellhop-radius.css +14 -0
  59. package/src/tokens/bellhop-secondary-colors.css +154 -0
  60. package/src/tokens/bellhop-shadows.css +55 -0
  61. package/src/tokens/bellhop-spacing.css +66 -0
  62. package/src/tokens/bellhop-styles.css +174 -0
  63. package/src/tokens/bellhop-typography.css +146 -0
  64. package/src/tokens/colors.json +737 -0
  65. package/src/tokens/colors.mdx +59 -0
  66. package/src/tokens/index.css +17 -0
  67. package/src/utilities/_breakpoints.scss +19 -0
  68. package/src/utilities/_flex.scss +228 -0
  69. package/src/utilities/_grid.scss +189 -0
  70. package/src/utilities/_index.scss +32 -0
  71. package/src/utilities/_scrollable.scss +239 -0
  72. package/src/utilities/_sizing.scss +229 -0
  73. package/src/utilities/_spacing.scss +187 -0
  74. package/src/utilities/_truncation.scss +126 -0
  75. package/src/utilities/_visibility.scss +117 -0
  76. package/src/utilities.scss +32 -0
  77. package/components/appbar.css +0 -167
  78. package/components/autocomplete-menu.css +0 -142
  79. package/components/avatar-add.css +0 -112
  80. package/components/avatar.css +0 -253
  81. package/components/badge-dot.css +0 -78
  82. package/components/badge.css +0 -337
  83. package/components/bar-chart-card.css +0 -261
  84. package/components/bar-chart.css +0 -149
  85. package/components/breadcrumbs.css +0 -136
  86. package/components/button.css +0 -266
  87. package/components/chart-tooltip.css +0 -96
  88. package/components/checkbox-label.css +0 -53
  89. package/components/checkbox.css +0 -127
  90. package/components/container-footer.css +0 -22
  91. package/components/container.css +0 -17
  92. package/components/date-picker-content.css +0 -337
  93. package/components/date-picker.css +0 -103
  94. package/components/date-range-picker-content.css +0 -85
  95. package/components/date-range-picker.css +0 -72
  96. package/components/dropdown-menu.css +0 -204
  97. package/components/dropdown.css +0 -126
  98. package/components/empty-state.css +0 -83
  99. package/components/featured-icon.css +0 -194
  100. package/components/illustrations.css +0 -120
  101. package/components/input-autocomplete.css +0 -158
  102. package/components/input-number.css +0 -2
  103. package/components/input-verification.css +0 -137
  104. package/components/input.css +0 -374
  105. package/components/loader-spinner.css +0 -421
  106. package/components/logo-box.css +0 -85
  107. package/components/month-picker-content.css +0 -190
  108. package/components/month-picker.css +0 -83
  109. package/components/nav-item.css +0 -110
  110. package/components/notification.css +0 -262
  111. package/components/page-navigation.css +0 -294
  112. package/components/picker-menu.css +0 -43
  113. package/components/pie-chart-card.css +0 -213
  114. package/components/pie-chart.css +0 -80
  115. package/components/product-switcher.css +0 -127
  116. package/components/property-switcher.css +0 -95
  117. package/components/radio-button-label.css +0 -53
  118. package/components/radio-button.css +0 -134
  119. package/components/sidebar.css +0 -178
  120. package/components/skeleton-loader.css +0 -47
  121. package/components/tag.css +0 -214
  122. package/components/textarea.css +0 -211
  123. package/components/toggle.css +0 -298
  124. package/components/tooltip.css +0 -85
  125. package/components/trend-chart-card.css +0 -189
  126. package/components/trend-chart.css +0 -94
  127. package/index.css +0 -8115
package/package.json CHANGED
@@ -1,32 +1,41 @@
1
1
  {
2
2
  "name": "@actabldesign/bellhop-styles",
3
- "version": "0.0.3+9324769",
4
- "description": "BellhopOS styles and CSS",
3
+ "version": "0.0.12",
5
4
  "type": "module",
6
- "main": "./index.css",
7
- "style": "./index.css",
8
- "types": "./index.d.ts",
5
+ "description": "Shared CSS styles for Bellhop design system",
6
+ "main": "index.css",
7
+ "module": "index.css",
8
+ "types": "index.d.ts",
9
9
  "exports": {
10
- ".": {
11
- "types": "./index.d.ts",
12
- "import": "./index.css",
13
- "require": "./index.css",
14
- "default": "./index.css"
15
- },
16
- "./css": "./index.css"
10
+ ".": "./index.css",
11
+ "./utilities": "./utilities.css"
17
12
  },
18
13
  "files": [
19
- "index.css",
20
- "index.d.ts",
21
- "base/",
22
- "components/"
14
+ "**/*"
23
15
  ],
24
- "repository": {
25
- "type": "git",
26
- "url": "https://github.com/actabldesign/bellhop-dist.git",
27
- "directory": "styles"
16
+ "scripts": {
17
+ "build": "rollup -c",
18
+ "dev": "rollup -c -w",
19
+ "clean": "rimraf dist"
20
+ },
21
+ "keywords": [
22
+ "design-system",
23
+ "css",
24
+ "styles",
25
+ "bellhop",
26
+ "actabl"
27
+ ],
28
+ "author": "Actabl Design Team",
29
+ "license": "MIT",
30
+ "devDependencies": {
31
+ "rollup": "^4.0.0",
32
+ "rollup-plugin-postcss": "^4.0.2",
33
+ "postcss-import": "^16.0.0",
34
+ "postcss": "^8.4.5",
35
+ "rimraf": "^5.0.5"
28
36
  },
29
37
  "publishConfig": {
38
+ "registry": "https://registry.npmjs.org/",
30
39
  "access": "public"
31
40
  }
32
41
  }
package/project.json ADDED
@@ -0,0 +1,29 @@
1
+ {
2
+ "name": "bellhop-styles",
3
+ "$schema": "../../node_modules/nx/schemas/project-schema.json",
4
+ "projectType": "library",
5
+ "sourceRoot": "packages/bellhop-styles/src",
6
+ "targets": {
7
+ "build": {
8
+ "executor": "nx:run-commands",
9
+ "outputs": ["{workspaceRoot}/dist/bellhop-styles"],
10
+ "options": {
11
+ "commands": [
12
+ "mkdir -p dist/bellhop-styles",
13
+ "cd packages/bellhop-styles && npm run build",
14
+ "cp packages/bellhop-styles/dist/* dist/bellhop-styles/",
15
+ "cp packages/bellhop-styles/package.json dist/bellhop-styles/",
16
+ "cp packages/bellhop-styles/README.md dist/bellhop-styles/ || true"
17
+ ],
18
+ "parallel": false
19
+ }
20
+ },
21
+ "lint": {
22
+ "executor": "nx:run-commands",
23
+ "options": {
24
+ "command": "echo 'No linting configured for styles library'"
25
+ }
26
+ }
27
+ },
28
+ "tags": ["type:styles", "framework:agnostic"]
29
+ }
@@ -0,0 +1,44 @@
1
+ import postcss from 'rollup-plugin-postcss';
2
+ import postcssImport from 'postcss-import';
3
+ import { resolve } from 'path';
4
+
5
+ const postcssConfig = {
6
+ extract: true,
7
+ plugins: [
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
+ ];
@@ -36,6 +36,10 @@ dd {
36
36
  }
37
37
 
38
38
  /* Set core root defaults */
39
+ html {
40
+ font-size: 16px; /* Explicit base font size for consistent rem calculations */
41
+ }
42
+
39
43
  html:focus-within {
40
44
  scroll-behavior: smooth;
41
45
  }
@@ -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
+ }