@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
@@ -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
+ }
@@ -0,0 +1,65 @@
1
+ /* ==========================================================================
2
+ BELLHOP BUTTON-ICON COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- BUTTON BASE --- */
10
+ --bh-button-icon-border-radius: var(--bh-radius-md);
11
+ --bh-button-icon-transition: all 0.2s ease-in-out;
12
+ --bh-button-icon-focus-ring-offset: 2px;
13
+ --bh-button-icon-focus-ring-width: 2px;
14
+ --bh-button-icon-focus-ring-color: var(--bh-brand-500);
15
+
16
+ /* --- SIZES --- */
17
+ --bh-button-icon-size-xs: 24px;
18
+ --bh-button-icon-size-sm: 32px;
19
+ --bh-button-icon-size-md: 40px;
20
+ --bh-button-icon-size-lg: 48px;
21
+
22
+ /* --- ICON SIZES --- */
23
+ --bh-button-icon-icon-size-xs: 16px;
24
+ --bh-button-icon-icon-size-sm: 18px;
25
+ --bh-button-icon-icon-size-md: 20px;
26
+ --bh-button-icon-icon-size-lg: 24px;
27
+
28
+ /* --- PRIMARY HIERARCHY --- */
29
+ --bh-button-icon-primary-bg: var(--bh-brand-600);
30
+ --bh-button-icon-primary-color: var(--bh-white);
31
+ --bh-button-icon-primary-bg-hover: var(--bh-brand-700);
32
+ --bh-button-icon-primary-bg-active: var(--bh-brand-800);
33
+
34
+ /* --- SECONDARY HIERARCHY --- */
35
+ --bh-button-icon-secondary-bg: var(--bh-white);
36
+ --bh-button-icon-secondary-color: var(--bh-neutral-700);
37
+ --bh-button-icon-secondary-border: var(--bh-neutral-300);
38
+ --bh-button-icon-secondary-bg-hover: var(--bh-neutral-50);
39
+ --bh-button-icon-secondary-border-hover: var(--bh-neutral-400);
40
+ --bh-button-icon-secondary-bg-active: var(--bh-neutral-100);
41
+
42
+ /* --- TERTIARY HIERARCHY --- */
43
+ --bh-button-icon-tertiary-bg: transparent;
44
+ --bh-button-icon-tertiary-color: var(--bh-brand-600);
45
+ --bh-button-icon-tertiary-bg-hover: var(--bh-brand-50);
46
+ --bh-button-icon-tertiary-bg-active: var(--bh-brand-100);
47
+
48
+ /* --- QUATERNARY HIERARCHY --- */
49
+ --bh-button-icon-quaternary-bg: transparent;
50
+ --bh-button-icon-quaternary-color: var(--bh-neutral-500);
51
+ --bh-button-icon-quaternary-bg-hover: var(--bh-neutral-100);
52
+ --bh-button-icon-quaternary-color-hover: var(--bh-neutral-700);
53
+ --bh-button-icon-quaternary-bg-active: var(--bh-neutral-200);
54
+
55
+ /* --- STATE --- */
56
+ --bh-button-icon-disabled-opacity: 0.5;
57
+
58
+ /* --- LOADING SPINNER --- */
59
+ --bh-button-icon-spinner-size-xs: 12px;
60
+ --bh-button-icon-spinner-size-sm: 14px;
61
+ --bh-button-icon-spinner-size-md: 16px;
62
+ --bh-button-icon-spinner-size-lg: 20px;
63
+ --bh-button-icon-spinner-border-width: 2px;
64
+ --bh-button-icon-spinner-animation-duration: 0.8s;
65
+ }
@@ -0,0 +1,185 @@
1
+ /* ==========================================================================
2
+ BELLHOP BUTTON COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- BUTTON TYPOGRAPHY --- */
10
+ --bh-button-font-family: var(--bh-font-family-base);
11
+ --bh-button-font-weight: var(--bh-font-weight-medium);
12
+ --bh-button-font-size-xs: var(--bh-font-size-sm);
13
+ --bh-button-font-size-sm: var(--bh-font-size-sm);
14
+ --bh-button-font-size-md: var(--bh-font-size-sm);
15
+ --bh-button-font-size-lg: var(--bh-font-size-md);
16
+
17
+ /* --- BUTTON SIZING --- */
18
+ --bh-button-height-xs: 24px;
19
+ --bh-button-height-sm: 32px;
20
+ --bh-button-height-md: 40px;
21
+ --bh-button-height-lg: 48px;
22
+
23
+ --bh-button-padding-x-xs: var(--bh-spacing-lg);
24
+ --bh-button-padding-x-sm: var(--bh-spacing-xl);
25
+ --bh-button-padding-x-md: var(--bh-spacing-xl);
26
+ --bh-button-padding-x-lg: var(--bh-spacing-xl);
27
+
28
+ --bh-button-gap-xs: var(--bh-spacing-xs);
29
+ --bh-button-gap-sm: var(--bh-spacing-xs);
30
+ --bh-button-gap-md: var(--bh-spacing-xs);
31
+ --bh-button-gap-lg: var(--bh-spacing-sm);
32
+
33
+ /* --- BUTTON RADIUS --- */
34
+ --bh-button-radius: var(--bh-radius-md);
35
+ --bh-button-badge-radius: var(--bh-radius-full);
36
+
37
+ /* --- BUTTON TRANSITION --- */
38
+ --bh-button-transition: all 0.2s ease-in-out;
39
+
40
+ /* --- BUTTON FOCUS --- */
41
+ --bh-button-focus-outline-width: 2px;
42
+ --bh-button-focus-outline-offset: 2px;
43
+
44
+ /* --- BUTTON ICON SIZES --- */
45
+ --bh-button-icon-size-xs: var(--bh-font-size-sm);
46
+ --bh-button-icon-size-sm: var(--bh-font-size-md);
47
+ --bh-button-icon-size-md: var(--bh-font-size-lg);
48
+ --bh-button-icon-size-lg: var(--bh-font-size-lg);
49
+
50
+ /* --- BUTTON ICON-ONLY DIMENSIONS --- */
51
+ --bh-button-icon-only-size-xs: 24px;
52
+ --bh-button-icon-only-size-sm: 32px;
53
+ --bh-button-icon-only-size-md: 40px;
54
+ --bh-button-icon-only-size-lg: 48px;
55
+
56
+ /* --- BUTTON BADGE --- */
57
+ --bh-button-badge-min-width: 20px;
58
+ --bh-button-badge-height: 20px;
59
+ --bh-button-badge-padding-x: var(--bh-spacing-xs);
60
+ --bh-button-badge-offset-top: -8px;
61
+ --bh-button-badge-offset-right: -8px;
62
+ --bh-button-badge-font-size: var(--bh-font-size-xs);
63
+ --bh-button-badge-font-weight: var(--bh-font-weight-semibold);
64
+
65
+ /* --- PRIMARY BUTTON - DEFAULT KIND --- */
66
+ --bh-button-primary-default-bg: var(--bh-brand-600);
67
+ --bh-button-primary-default-color: var(--bh-white);
68
+ --bh-button-primary-default-border: var(--bh-brand-600);
69
+ --bh-button-primary-default-bg-hover: var(--bh-brand-700);
70
+ --bh-button-primary-default-border-hover: var(--bh-brand-700);
71
+ --bh-button-primary-default-bg-active: var(--bh-brand-800);
72
+ --bh-button-primary-default-border-active: var(--bh-brand-800);
73
+ --bh-button-primary-default-focus: var(--bh-brand-500);
74
+
75
+ /* --- SECONDARY BUTTON - DEFAULT KIND --- */
76
+ --bh-button-secondary-default-bg: var(--bh-white);
77
+ --bh-button-secondary-default-color: var(--bh-neutral-600);
78
+ --bh-button-secondary-default-border: var(--bh-neutral-300);
79
+ --bh-button-secondary-default-bg-hover: var(--bh-neutral-50);
80
+ --bh-button-secondary-default-color-hover: var(--bh-neutral-700);
81
+ --bh-button-secondary-default-border-hover: var(--bh-neutral-400);
82
+ --bh-button-secondary-default-bg-active: var(--bh-neutral-100);
83
+ --bh-button-secondary-default-border-active: var(--bh-neutral-500);
84
+
85
+ /* --- TERTIARY BUTTON - DEFAULT KIND --- */
86
+ --bh-button-tertiary-default-bg: transparent;
87
+ --bh-button-tertiary-default-color: var(--bh-neutral-600);
88
+ --bh-button-tertiary-default-border: transparent;
89
+ --bh-button-tertiary-default-bg-hover: var(--bh-neutral-100);
90
+ --bh-button-tertiary-default-color-hover: var(--bh-neutral-700);
91
+ --bh-button-tertiary-default-bg-active: var(--bh-neutral-100);
92
+
93
+ /* --- QUATERNARY BUTTON - DEFAULT KIND --- */
94
+ --bh-button-quaternary-default-bg: transparent;
95
+ --bh-button-quaternary-default-color: var(--bh-brand-600);
96
+ --bh-button-quaternary-default-border: transparent;
97
+ --bh-button-quaternary-default-color-hover: var(--bh-brand-700);
98
+ --bh-button-quaternary-default-color-active: var(--bh-brand-800);
99
+
100
+ /* --- PRIMARY BUTTON - DESTRUCTIVE KIND --- */
101
+ --bh-button-primary-destructive-bg: var(--bh-error-600);
102
+ --bh-button-primary-destructive-color: var(--bh-white);
103
+ --bh-button-primary-destructive-border: var(--bh-error-600);
104
+ --bh-button-primary-destructive-bg-hover: var(--bh-error-700);
105
+ --bh-button-primary-destructive-border-hover: var(--bh-error-700);
106
+ --bh-button-primary-destructive-bg-active: var(--bh-error-800);
107
+ --bh-button-primary-destructive-border-active: var(--bh-error-800);
108
+ --bh-button-primary-destructive-focus: var(--bh-error-500);
109
+
110
+ /* --- SECONDARY BUTTON - DESTRUCTIVE KIND --- */
111
+ --bh-button-secondary-destructive-bg: var(--bh-white);
112
+ --bh-button-secondary-destructive-color: var(--bh-error-600);
113
+ --bh-button-secondary-destructive-border: var(--bh-error-300);
114
+ --bh-button-secondary-destructive-bg-hover: var(--bh-error-50);
115
+ --bh-button-secondary-destructive-border-hover: var(--bh-error-300);
116
+ --bh-button-secondary-destructive-bg-active: var(--bh-error-100);
117
+ --bh-button-secondary-destructive-border-active: var(--bh-error-400);
118
+
119
+ /* --- TERTIARY BUTTON - DESTRUCTIVE KIND --- */
120
+ --bh-button-tertiary-destructive-bg: transparent;
121
+ --bh-button-tertiary-destructive-color: var(--bh-error-600);
122
+ --bh-button-tertiary-destructive-border: transparent;
123
+ --bh-button-tertiary-destructive-bg-hover: var(--bh-error-50);
124
+ --bh-button-tertiary-destructive-bg-active: var(--bh-error-100);
125
+
126
+ /* --- QUATERNARY BUTTON - DESTRUCTIVE KIND --- */
127
+ --bh-button-quaternary-destructive-bg: transparent;
128
+ --bh-button-quaternary-destructive-color: var(--bh-error-600);
129
+ --bh-button-quaternary-destructive-border: transparent;
130
+ --bh-button-quaternary-destructive-color-hover: var(--bh-error-700);
131
+ --bh-button-quaternary-destructive-color-active: var(--bh-error-800);
132
+
133
+ /* --- PRIMARY BUTTON - SUCCESS KIND --- */
134
+ --bh-button-primary-success-bg: var(--bh-success-600);
135
+ --bh-button-primary-success-color: var(--bh-white);
136
+ --bh-button-primary-success-border: var(--bh-success-600);
137
+ --bh-button-primary-success-bg-hover: var(--bh-success-700);
138
+ --bh-button-primary-success-border-hover: var(--bh-success-700);
139
+ --bh-button-primary-success-bg-active: var(--bh-success-800);
140
+ --bh-button-primary-success-border-active: var(--bh-success-800);
141
+ --bh-button-primary-success-focus: var(--bh-success-500);
142
+
143
+ /* --- SECONDARY BUTTON - SUCCESS KIND --- */
144
+ --bh-button-secondary-success-bg: var(--bh-white);
145
+ --bh-button-secondary-success-color: var(--bh-success-600);
146
+ --bh-button-secondary-success-border: var(--bh-success-300);
147
+ --bh-button-secondary-success-bg-hover: var(--bh-success-50);
148
+ --bh-button-secondary-success-border-hover: var(--bh-success-300);
149
+ --bh-button-secondary-success-bg-active: var(--bh-success-100);
150
+ --bh-button-secondary-success-border-active: var(--bh-success-400);
151
+
152
+ /* --- TERTIARY BUTTON - SUCCESS KIND --- */
153
+ --bh-button-tertiary-success-bg: transparent;
154
+ --bh-button-tertiary-success-color: var(--bh-success-600);
155
+ --bh-button-tertiary-success-border: transparent;
156
+ --bh-button-tertiary-success-bg-hover: var(--bh-success-50);
157
+ --bh-button-tertiary-success-bg-active: var(--bh-success-100);
158
+
159
+ /* --- QUATERNARY BUTTON - SUCCESS KIND --- */
160
+ --bh-button-quaternary-success-bg: transparent;
161
+ --bh-button-quaternary-success-color: var(--bh-success-600);
162
+ --bh-button-quaternary-success-border: transparent;
163
+ --bh-button-quaternary-success-color-hover: var(--bh-success-700);
164
+ --bh-button-quaternary-success-color-active: var(--bh-success-800);
165
+
166
+ /* --- DISABLED STATE --- */
167
+ --bh-button-disabled-bg: var(--bh-neutral-200);
168
+ --bh-button-disabled-color: var(--bh-neutral-400);
169
+ --bh-button-disabled-border: var(--bh-neutral-200);
170
+ --bh-button-disabled-opacity: 0.5;
171
+
172
+ /* --- LOADING STATE --- */
173
+ --bh-button-loading-label-opacity: 0.7;
174
+
175
+ /* --- BADGE COLORS --- */
176
+ --bh-button-badge-bg-primary: var(--bh-brand-500);
177
+ --bh-button-badge-bg-secondary: var(--bh-neutral-500);
178
+ --bh-button-badge-bg-success: var(--bh-success-500);
179
+ --bh-button-badge-bg-info: var(--bh-brand-500);
180
+ --bh-button-badge-bg-warn: var(--bh-warning-500);
181
+ --bh-button-badge-bg-danger: var(--bh-error-500);
182
+ --bh-button-badge-bg-help: var(--bh-brand-500);
183
+ --bh-button-badge-bg-contrast: var(--bh-neutral-900);
184
+ --bh-button-badge-color: var(--bh-white);
185
+ }
@@ -0,0 +1,67 @@
1
+ /* ==========================================================================
2
+ BELLHOP CHECKBOX COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- CHECKBOX SIZING --- */
10
+ --bh-checkbox-size-sm: 16px;
11
+ --bh-checkbox-size-md: 20px;
12
+
13
+ /* --- CHECKBOX SPACING --- */
14
+ --bh-checkbox-label-gap: var(--bh-spacing-sm);
15
+
16
+ /* --- CHECKBOX BORDER --- */
17
+ --bh-checkbox-border-width: var(--bh-border-stroke-medium);
18
+ --bh-checkbox-border-radius: var(--bh-radius-xs);
19
+
20
+ /* --- CHECKBOX TRANSITION --- */
21
+ --bh-checkbox-transition: all 0.2s ease-in-out;
22
+
23
+ /* --- CHECKBOX COLORS - DEFAULT (OUTLINED) --- */
24
+ --bh-checkbox-bg: var(--bh-white);
25
+ --bh-checkbox-border: var(--bh-neutral-300);
26
+ --bh-checkbox-checkmark-color: var(--bh-white);
27
+
28
+ --bh-checkbox-bg-hover: var(--bh-neutral-50);
29
+ --bh-checkbox-border-hover: var(--bh-brand-500);
30
+
31
+ --bh-checkbox-bg-checked: var(--bh-brand-600);
32
+ --bh-checkbox-border-checked: var(--bh-brand-600);
33
+
34
+ --bh-checkbox-bg-checked-hover: var(--bh-brand-700);
35
+ --bh-checkbox-border-checked-hover: var(--bh-brand-700);
36
+
37
+ --bh-checkbox-bg-indeterminate: var(--bh-brand-600);
38
+ --bh-checkbox-border-indeterminate: var(--bh-brand-600);
39
+
40
+ --bh-checkbox-bg-indeterminate-hover: var(--bh-brand-700);
41
+ --bh-checkbox-border-indeterminate-hover: var(--bh-brand-700);
42
+
43
+ --bh-checkbox-bg-disabled: var(--bh-neutral-100);
44
+ --bh-checkbox-border-disabled: var(--bh-neutral-200);
45
+ --bh-checkbox-checkmark-color-disabled: var(--bh-neutral-400);
46
+ --bh-checkbox-opacity-disabled: 0.5;
47
+
48
+ --bh-checkbox-border-invalid: var(--bh-error-300);
49
+ --bh-checkbox-border-invalid-hover: var(--bh-error-500);
50
+
51
+ --bh-checkbox-border-readonly: var(--bh-neutral-300);
52
+
53
+ /* --- CHECKBOX FOCUS --- */
54
+ --bh-checkbox-focus-outline-width: var(--bh-border-stroke-2);
55
+ --bh-checkbox-focus-outline-offset: var(--bh-border-stroke-2);
56
+ --bh-checkbox-focus-outline-color: var(--bh-brand-500);
57
+
58
+ /* --- CHECKBOX LABEL --- */
59
+ --bh-checkbox-label-font-size: var(--bh-font-body-sm);
60
+ --bh-checkbox-label-font-weight: var(--bh-font-weight-regular);
61
+ --bh-checkbox-label-color: var(--bh-neutral-700);
62
+ --bh-checkbox-label-color-disabled: var(--bh-neutral-400);
63
+
64
+ /* --- CHECKBOX ICON/CHECKMARK --- */
65
+ --bh-checkbox-checkmark-size-sm: var(--bh-font-body-md);
66
+ --bh-checkbox-checkmark-size-md: var(--bh-font-body-lg);
67
+ }
@@ -0,0 +1,103 @@
1
+ /* ==========================================================================
2
+ BELLHOP DROPDOWN COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- DROPDOWN SIZING --- */
10
+ --bh-dropdown-menu-width: 240px;
11
+
12
+ /* --- DROPDOWN SPACING --- */
13
+ --bh-dropdown-trigger-gap: var(--bh-spacing-sm);
14
+ --bh-dropdown-trigger-padding: var(--bh-spacing-md) var(--bh-spacing-lg);
15
+ --bh-dropdown-header-padding: var(--bh-spacing-lg) var(--bh-spacing-xl);
16
+ --bh-dropdown-menu-items-padding: var(--bh-spacing-xs) 0;
17
+ --bh-dropdown-menu-item-gap: var(--bh-spacing-md);
18
+ --bh-dropdown-menu-item-padding: var(--bh-spacing-md) var(--bh-spacing-lg);
19
+ --bh-dropdown-divider-margin: var(--bh-spacing-xs) 0;
20
+ --bh-dropdown-header-avatar-gap: var(--bh-spacing-lg);
21
+
22
+ /* --- DROPDOWN BORDER --- */
23
+ --bh-dropdown-trigger-border-width: 1px;
24
+ --bh-dropdown-trigger-radius: var(--bh-radius-md);
25
+ --bh-dropdown-menu-radius: var(--bh-radius-md);
26
+ --bh-dropdown-divider-height: 1px;
27
+
28
+ /* --- DROPDOWN TRANSITION --- */
29
+ --bh-dropdown-trigger-transition: all 0.2s ease;
30
+ --bh-dropdown-menu-item-transition: background-color 0.15s ease;
31
+ --bh-dropdown-avatar-transition: box-shadow 0.2s ease;
32
+
33
+ /* --- DROPDOWN COLORS - TRIGGER --- */
34
+ --bh-dropdown-trigger-bg: var(--bh-white);
35
+ --bh-dropdown-trigger-border: var(--bh-neutral-300);
36
+ --bh-dropdown-trigger-text-color: var(--bh-neutral-700);
37
+
38
+ --bh-dropdown-trigger-bg-hover: var(--bh-neutral-50);
39
+ --bh-dropdown-trigger-border-hover: var(--bh-neutral-400);
40
+
41
+ --bh-dropdown-trigger-border-focused: var(--bh-brand-500);
42
+ --bh-dropdown-trigger-focus-shadow: 0 0 0 2px var(--bh-brand-100);
43
+
44
+ --bh-dropdown-trigger-opacity-disabled: 0.5;
45
+
46
+ /* --- DROPDOWN COLORS - MENU --- */
47
+ --bh-dropdown-menu-bg: var(--bh-white);
48
+ --bh-dropdown-menu-shadow:
49
+ 0px 32px 64px -12px rgba(64, 73, 104, 0.14),
50
+ 0px 0px 1px 1px rgba(64, 73, 104, 0.1);
51
+
52
+ /* --- DROPDOWN COLORS - HEADER --- */
53
+ --bh-dropdown-header-border: var(--bh-neutral-200);
54
+
55
+ /* --- DROPDOWN COLORS - MENU ITEMS --- */
56
+ --bh-dropdown-menu-item-text-color: var(--bh-neutral-700);
57
+ --bh-dropdown-menu-item-bg-hover: var(--bh-neutral-100);
58
+ --bh-dropdown-menu-item-opacity-disabled: 0.5;
59
+
60
+ /* --- DROPDOWN COLORS - MENU ITEM ICON --- */
61
+ --bh-dropdown-menu-item-icon-color: var(--bh-neutral-600);
62
+
63
+ /* --- DROPDOWN COLORS - MENU ITEM SHORTCUT --- */
64
+ --bh-dropdown-menu-item-shortcut-color: var(--bh-neutral-500);
65
+
66
+ /* --- DROPDOWN COLORS - DIVIDER --- */
67
+ --bh-dropdown-divider-bg: var(--bh-neutral-200);
68
+
69
+ /* --- DROPDOWN COLORS - HEADER TEXT --- */
70
+ --bh-dropdown-header-name-color: var(--bh-neutral-800);
71
+ --bh-dropdown-header-email-color: var(--bh-neutral-600);
72
+ --bh-dropdown-header-title-color: var(--bh-neutral-800);
73
+
74
+ /* --- DROPDOWN AVATAR --- */
75
+ --bh-dropdown-avatar-shadow-hover: 0 0 0 2px var(--bh-neutral-200);
76
+ --bh-dropdown-avatar-shadow-focused: 0 0 0 2px var(--bh-brand-500);
77
+ --bh-dropdown-avatar-opacity-disabled: 0.5;
78
+
79
+ /* --- DROPDOWN TYPOGRAPHY --- */
80
+ --bh-dropdown-trigger-font-family: var(--bh-font-family-base);
81
+ --bh-dropdown-trigger-font-weight: var(--bh-font-weight-semibold);
82
+ --bh-dropdown-trigger-font-size: var(--bh-font-size-sm);
83
+
84
+ --bh-dropdown-menu-item-font-family: var(--bh-font-family-base);
85
+ --bh-dropdown-menu-item-font-weight: var(--bh-font-weight-medium);
86
+ --bh-dropdown-menu-item-font-size: var(--bh-font-size-sm);
87
+ --bh-dropdown-menu-item-line-height: var(--bh-line-height-sm);
88
+
89
+ --bh-dropdown-menu-item-shortcut-font-weight: var(--bh-font-weight-regular);
90
+ --bh-dropdown-menu-item-shortcut-font-size: var(--bh-font-size-xs);
91
+
92
+ --bh-dropdown-header-name-font-weight: var(--bh-font-weight-semibold);
93
+ --bh-dropdown-header-name-font-size: var(--bh-font-size-sm);
94
+
95
+ --bh-dropdown-header-email-font-weight: var(--bh-font-weight-regular);
96
+ --bh-dropdown-header-email-font-size: var(--bh-font-size-sm);
97
+
98
+ --bh-dropdown-header-title-font-weight: var(--bh-font-weight-semibold);
99
+ --bh-dropdown-header-title-font-size: var(--bh-font-size-sm);
100
+
101
+ /* --- DROPDOWN ICON SIZE --- */
102
+ --bh-dropdown-icon-size: var(--bh-icon-size-md);
103
+ }
@@ -0,0 +1,57 @@
1
+ /* ==========================================================================
2
+ BELLHOP FEATURED-ICON COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- BASE --- */
10
+ --bh-featured-icon-transition: all 0.2s ease;
11
+
12
+ /* --- SIZES --- */
13
+ --bh-featured-icon-size-sm: 32px;
14
+ --bh-featured-icon-size-md: 40px;
15
+ --bh-featured-icon-size-lg: 48px;
16
+ --bh-featured-icon-size-xl: 56px;
17
+
18
+ /* --- BORDER RADIUS --- */
19
+ --bh-featured-icon-radius-sm: 6px;
20
+ --bh-featured-icon-radius-md: 8px;
21
+ --bh-featured-icon-radius-lg: 10px;
22
+ --bh-featured-icon-radius-xl: 12px;
23
+
24
+ /* --- ICON SIZES --- */
25
+ --bh-featured-icon-icon-size-sm: var(--bh-icon-size-xs);
26
+ --bh-featured-icon-icon-size-md: var(--bh-icon-size-md);
27
+ --bh-featured-icon-icon-size-lg: var(--bh-icon-size-lg);
28
+ --bh-featured-icon-icon-size-xl: var(--bh-icon-size-2xl);
29
+
30
+ /* --- OUTLINED BORDER --- */
31
+ --bh-featured-icon-outlined-border-width: 1px;
32
+ --bh-featured-icon-outlined-border-color: var(--bh-neutral-200);
33
+
34
+ /* --- BRAND THEME --- */
35
+ --bh-featured-icon-brand-icon: var(--bh-brand-600);
36
+ --bh-featured-icon-brand-bg-filled: var(--bh-brand-100);
37
+
38
+ /* --- GRAY THEME --- */
39
+ --bh-featured-icon-gray-icon: var(--bh-neutral-600);
40
+ --bh-featured-icon-gray-bg-filled: var(--bh-neutral-100);
41
+
42
+ /* --- ERROR THEME --- */
43
+ --bh-featured-icon-error-icon: var(--bh-error-600);
44
+ --bh-featured-icon-error-bg-filled: var(--bh-error-100);
45
+
46
+ /* --- WARNING THEME --- */
47
+ --bh-featured-icon-warning-icon: var(--bh-warning-600);
48
+ --bh-featured-icon-warning-bg-filled: var(--bh-warning-200);
49
+
50
+ /* --- SUCCESS THEME --- */
51
+ --bh-featured-icon-success-icon: var(--bh-success-600);
52
+ --bh-featured-icon-success-bg-filled: var(--bh-success-100);
53
+
54
+ /* --- HIGHLIGHT THEME --- */
55
+ --bh-featured-icon-highlight-icon: var(--bh-purple-600);
56
+ --bh-featured-icon-highlight-bg-filled: var(--bh-purple-200);
57
+ }
@@ -0,0 +1,50 @@
1
+ /* ==========================================================================
2
+ BELLHOP INPUT-NUMBER COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ Extends base input tokens
5
+ ========================================================================== */
6
+
7
+ @use '../_semantic.scss';
8
+ @use './input.tokens';
9
+
10
+ :root {
11
+ /* --- INPUT NUMBER CONTAINER --- */
12
+ --bh-input-number-container-gap: var(--bh-spacing-sm);
13
+ --bh-input-number-container-padding-sm: 0 var(--bh-spacing-sm);
14
+ --bh-input-number-container-padding-md: 0 var(--bh-spacing-md);
15
+ --bh-input-number-container-padding-lg: 0 var(--bh-spacing-lg);
16
+
17
+ /* Inherit input sizes */
18
+ --bh-input-number-height-sm: var(--bh-input-height-sm);
19
+ --bh-input-number-height-md: var(--bh-input-height-md);
20
+ --bh-input-number-height-lg: var(--bh-input-height-lg);
21
+
22
+ /* Inherit input colors */
23
+ --bh-input-number-bg: var(--bh-input-bg);
24
+ --bh-input-number-border: var(--bh-input-border);
25
+ --bh-input-number-text: var(--bh-input-text);
26
+ --bh-input-number-radius: var(--bh-input-radius);
27
+ --bh-input-number-transition: var(--bh-input-transition);
28
+ --bh-input-number-border-width: var(--bh-input-border-width);
29
+
30
+ /* --- INPUT NUMBER BUTTON --- */
31
+ --bh-input-number-button-size: 24px;
32
+ --bh-input-number-button-bg: transparent;
33
+ --bh-input-number-button-color: var(--bh-neutral-600);
34
+ --bh-input-number-button-radius: var(--bh-radius-xs);
35
+ --bh-input-number-button-transition: all 0.2s ease-in-out;
36
+
37
+ --bh-input-number-button-bg-hover: var(--bh-neutral-100);
38
+ --bh-input-number-button-color-hover: var(--bh-neutral-800);
39
+
40
+ --bh-input-number-button-bg-active: var(--bh-neutral-200);
41
+
42
+ --bh-input-number-button-opacity-disabled: 0.4;
43
+
44
+ /* --- INPUT NUMBER CLEAR BUTTON --- */
45
+ --bh-input-number-clear-button-bg: var(--bh-neutral-100);
46
+ --bh-input-number-clear-button-radius: var(--bh-radius-full);
47
+
48
+ /* --- INPUT NUMBER ICON --- */
49
+ --bh-input-number-icon-size: 20px;
50
+ }
@@ -0,0 +1,86 @@
1
+ /* ==========================================================================
2
+ BELLHOP INPUT COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- INPUT TYPOGRAPHY --- */
10
+ --bh-input-font-family: var(--bh-font-family-base);
11
+ --bh-input-font-weight: var(--bh-font-weight-regular);
12
+ --bh-input-font-size-sm: var(--bh-font-body-sm);
13
+ --bh-input-font-size-md: var(--bh-font-body-sm);
14
+
15
+ --bh-input-label-font-weight: var(--bh-font-weight-medium);
16
+ --bh-input-label-font-size: var(--bh-font-body-sm);
17
+
18
+ --bh-input-hint-font-weight: var(--bh-font-weight-regular);
19
+ --bh-input-hint-font-size: var(--bh-font-body-sm);
20
+
21
+ /* --- INPUT SIZING --- */
22
+ --bh-input-height-sm: 32px;
23
+ --bh-input-height-md: 40px;
24
+
25
+ --bh-input-padding-sm: var(--bh-spacing-xs) var(--bh-spacing-sm);
26
+ --bh-input-padding-md: var(--bh-spacing-sm) var(--bh-spacing-md);
27
+
28
+ --bh-input-padding-with-leading-sm: var(--bh-spacing-xs) var(--bh-spacing-sm);
29
+ --bh-input-padding-with-leading-md: var(--bh-spacing-sm) var(--bh-spacing-md);
30
+
31
+ /* --- INPUT GAPS --- */
32
+ --bh-input-wrapper-gap: var(--bh-spacing-sm);
33
+ --bh-input-label-gap: var(--bh-spacing-xs);
34
+ --bh-input-container-gap: var(--bh-spacing-md);
35
+ --bh-input-content-gap: var(--bh-spacing-sm);
36
+
37
+ /* --- INPUT RADIUS --- */
38
+ --bh-input-radius: var(--bh-radius-md);
39
+
40
+ /* --- INPUT TRANSITION --- */
41
+ --bh-input-transition: all 0.2s ease-in-out;
42
+
43
+ /* --- INPUT BORDER --- */
44
+ --bh-input-border-width: 1px;
45
+
46
+ /* --- INPUT COLORS - DEFAULT VARIANT --- */
47
+ --bh-input-bg: var(--bh-white);
48
+ --bh-input-border: var(--bh-neutral-300);
49
+ --bh-input-text: var(--bh-neutral-800);
50
+ --bh-input-placeholder: var(--bh-neutral-500);
51
+
52
+ --bh-input-border-hover: var(--bh-brand-500);
53
+
54
+ --bh-input-border-focused: var(--bh-brand-500);
55
+ --bh-input-shadow-focused: 0 0 0 1px var(--bh-brand-500);
56
+
57
+ --bh-input-bg-disabled: var(--bh-neutral-50);
58
+ --bh-input-opacity-disabled: 0.5;
59
+
60
+ --bh-input-border-invalid: var(--bh-error-500);
61
+ --bh-input-border-invalid-hover: var(--bh-error-600);
62
+ --bh-input-border-invalid-focused: var(--bh-brand-600);
63
+
64
+ /* --- INPUT COLORS - FILLED VARIANT --- */
65
+ --bh-input-filled-bg: var(--bh-neutral-50);
66
+ --bh-input-filled-border: transparent;
67
+ --bh-input-filled-bg-hover: var(--bh-neutral-100);
68
+ --bh-input-filled-bg-focused: var(--bh-white);
69
+ --bh-input-filled-border-focused: var(--bh-brand-500);
70
+
71
+ /* --- INPUT LABEL COLORS --- */
72
+ --bh-input-label-color: var(--bh-neutral-700);
73
+ --bh-input-label-required-color: var(--bh-error-500);
74
+
75
+ /* --- INPUT ICON COLORS --- */
76
+ --bh-input-icon-color: var(--bh-neutral-500);
77
+ --bh-input-icon-color-focused: var(--bh-brand-600);
78
+ --bh-input-icon-size: var(--bh-font-size-xl);
79
+
80
+ --bh-input-help-icon-color: var(--bh-neutral-500);
81
+ --bh-input-help-icon-color-hover: var(--bh-neutral-700);
82
+
83
+ /* --- INPUT HINT TEXT --- */
84
+ --bh-input-hint-color: var(--bh-neutral-600);
85
+ --bh-input-hint-error-color: var(--bh-error-600);
86
+ }