@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
@@ -0,0 +1,42 @@
1
+ /* ==========================================================================
2
+ BELLHOP MODAL COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- MODAL SIZING --- */
10
+ --bh-modal-max-width: 400px;
11
+ --bh-modal-max-width-mobile: 100%;
12
+
13
+ /* --- MODAL SPACING --- */
14
+ --bh-modal-wrapper-padding: var(--bh-spacing-4xl);
15
+ --bh-modal-wrapper-padding-mobile: var(--bh-spacing-xl);
16
+
17
+ /* --- MODAL BORDER --- */
18
+ --bh-modal-radius: var(--bh-radius-xl);
19
+
20
+ /* --- MODAL Z-INDEX --- */
21
+ --bh-modal-z-index: 1000;
22
+ --bh-modal-content-z-index: 1;
23
+
24
+ /* --- MODAL OVERLAY --- */
25
+ --bh-modal-overlay-bg: rgba(64, 73, 104, 0.7);
26
+ --bh-modal-overlay-backdrop-blur: blur(16px);
27
+
28
+ /* --- MODAL COLORS --- */
29
+ --bh-modal-bg: var(--bh-bg-primary);
30
+
31
+ /* --- MODAL SHADOW --- */
32
+ --bh-modal-shadow:
33
+ 0px 20px 24px -4px rgba(16, 24, 40, 0.08),
34
+ 0px 8px 8px -4px rgba(16, 24, 40, 0.03);
35
+
36
+ /* --- MODAL ANIMATION --- */
37
+ --bh-modal-animation-duration: 0.2s;
38
+ --bh-modal-animation-timing: ease-out;
39
+
40
+ /* --- MODAL BREAKPOINTS --- */
41
+ --bh-modal-mobile-breakpoint: 480px;
42
+ }
@@ -0,0 +1,104 @@
1
+ /* ==========================================================================
2
+ BELLHOP PAGINATION COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- PAGINATION CONTAINER --- */
10
+ --bh-pagination-gap: var(--bh-spacing-4);
11
+ --bh-pagination-padding-block: var(--bh-spacing-3);
12
+ --bh-pagination-padding-inline: var(--bh-spacing-4);
13
+ --bh-pagination-bg: var(--bh-white);
14
+ --bh-pagination-border-color: var(--bh-neutral-200);
15
+ --bh-pagination-border-width: 1px;
16
+
17
+ /* --- DISABLED STATE --- */
18
+ --bh-pagination-disabled-opacity: 0.5;
19
+
20
+ /* --- INFO TEXT --- */
21
+ --bh-pagination-info-font-size: 0.875rem;
22
+ --bh-pagination-info-color: var(--bh-neutral-600);
23
+
24
+ /* --- CONTROLS --- */
25
+ --bh-pagination-controls-gap: var(--bh-spacing-4);
26
+
27
+ /* --- PAGE SIZE SELECTOR --- */
28
+ --bh-pagination-page-size-gap: var(--bh-spacing-2);
29
+ --bh-pagination-page-size-label-font-size: 0.875rem;
30
+ --bh-pagination-page-size-label-color: var(--bh-neutral-600);
31
+
32
+ /* --- SELECT DROPDOWN --- */
33
+ --bh-pagination-select-bg: var(--bh-white);
34
+ --bh-pagination-select-bg-disabled: var(--bh-neutral-100);
35
+ --bh-pagination-select-border: var(--bh-neutral-300);
36
+ --bh-pagination-select-border-hover: var(--bh-neutral-400);
37
+ --bh-pagination-select-border-focus: var(--bh-brand-600);
38
+ --bh-pagination-select-border-radius: var(--bh-radius-md);
39
+ --bh-pagination-select-padding-inline: var(--bh-spacing-3);
40
+ --bh-pagination-select-padding-inline-end: var(--bh-spacing-6);
41
+ --bh-pagination-select-height: 32px;
42
+ --bh-pagination-select-font-size: 0.875rem;
43
+ --bh-pagination-select-color: var(--bh-neutral-900);
44
+ --bh-pagination-select-transition: border-color 0.15s ease, box-shadow 0.15s ease;
45
+ --bh-pagination-select-focus-ring: 0 0 0 3px var(--bh-brand-100);
46
+
47
+ /* --- NAVIGATION BUTTONS --- */
48
+ --bh-pagination-nav-gap: var(--bh-spacing-1);
49
+ --bh-pagination-btn-size: 32px;
50
+ --bh-pagination-btn-bg: transparent;
51
+ --bh-pagination-btn-bg-hover: var(--bh-neutral-100);
52
+ --bh-pagination-btn-bg-active: var(--bh-neutral-200);
53
+ --bh-pagination-btn-color: var(--bh-neutral-600);
54
+ --bh-pagination-btn-color-hover: var(--bh-neutral-900);
55
+ --bh-pagination-btn-border-radius: var(--bh-radius-md);
56
+ --bh-pagination-btn-disabled-opacity: 0.4;
57
+ --bh-pagination-btn-transition: background-color 0.15s ease, color 0.15s ease;
58
+ --bh-pagination-btn-icon-size: 20px;
59
+ --bh-pagination-btn-focus-ring: 0 0 0 2px var(--bh-brand-100);
60
+
61
+ /* --- PAGE NUMBER BUTTONS --- */
62
+ --bh-pagination-page-btn-min-width: 32px;
63
+ --bh-pagination-page-btn-height: 32px;
64
+ --bh-pagination-page-btn-padding-inline: var(--bh-spacing-2);
65
+ --bh-pagination-page-btn-bg: transparent;
66
+ --bh-pagination-page-btn-bg-hover: var(--bh-neutral-100);
67
+ --bh-pagination-page-btn-bg-active: var(--bh-brand-600);
68
+ --bh-pagination-page-btn-color: var(--bh-neutral-700);
69
+ --bh-pagination-page-btn-color-hover: var(--bh-neutral-900);
70
+ --bh-pagination-page-btn-color-active: var(--bh-white);
71
+ --bh-pagination-page-btn-border-color-active: var(--bh-brand-600);
72
+ --bh-pagination-page-btn-border-radius: var(--bh-radius-md);
73
+ --bh-pagination-page-btn-font-size: 0.875rem;
74
+ --bh-pagination-page-btn-font-weight: 500;
75
+ --bh-pagination-page-btn-disabled-opacity: 0.4;
76
+ --bh-pagination-page-btn-transition: all 0.15s ease;
77
+ --bh-pagination-page-btn-focus-ring: 0 0 0 2px var(--bh-brand-400);
78
+
79
+ /* --- ELLIPSIS --- */
80
+ --bh-pagination-ellipsis-min-width: 24px;
81
+ --bh-pagination-ellipsis-color: var(--bh-neutral-400);
82
+ --bh-pagination-ellipsis-font-size: 0.875rem;
83
+
84
+ /* --- COMPACT MODE - PAGE INPUT --- */
85
+ --bh-pagination-page-display-gap: var(--bh-spacing-2);
86
+ --bh-pagination-page-text-font-size: 0.875rem;
87
+ --bh-pagination-page-text-color: var(--bh-neutral-700);
88
+ --bh-pagination-page-input-width: 60px;
89
+ --bh-pagination-page-input-height: 32px;
90
+ --bh-pagination-page-input-padding: var(--bh-spacing-2);
91
+ --bh-pagination-page-input-border: var(--bh-neutral-300);
92
+ --bh-pagination-page-input-border-hover: var(--bh-neutral-400);
93
+ --bh-pagination-page-input-border-focus: var(--bh-brand-500);
94
+ --bh-pagination-page-input-border-radius: var(--bh-radius-md);
95
+ --bh-pagination-page-input-font-size: 0.875rem;
96
+ --bh-pagination-page-input-color: var(--bh-neutral-900);
97
+ --bh-pagination-page-input-bg: var(--bh-white);
98
+ --bh-pagination-page-input-bg-disabled: var(--bh-neutral-100);
99
+ --bh-pagination-page-input-transition: border-color 0.15s ease, box-shadow 0.15s ease;
100
+ --bh-pagination-page-input-focus-ring: 0 0 0 3px var(--bh-brand-100);
101
+
102
+ /* --- RESPONSIVE --- */
103
+ --bh-pagination-mobile-gap: var(--bh-spacing-3);
104
+ }
@@ -0,0 +1,63 @@
1
+ /* ==========================================================================
2
+ BELLHOP PASSWORD 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
+ /* --- PASSWORD CONTAINER --- */
12
+ --bh-password-container-gap: var(--bh-spacing-sm);
13
+ --bh-password-container-padding-sm: 0 var(--bh-spacing-sm);
14
+ --bh-password-container-padding-md: 0 var(--bh-spacing-md);
15
+ --bh-password-container-padding-lg: 0 var(--bh-spacing-lg);
16
+
17
+ /* Inherit input sizes */
18
+ --bh-password-height-sm: var(--bh-input-height-sm);
19
+ --bh-password-height-md: var(--bh-input-height-md);
20
+ --bh-password-height-lg: var(--bh-input-height-lg);
21
+
22
+ /* Inherit input colors */
23
+ --bh-password-bg: var(--bh-input-bg);
24
+ --bh-password-border: var(--bh-input-border);
25
+ --bh-password-text: var(--bh-input-text);
26
+ --bh-password-radius: var(--bh-input-radius);
27
+ --bh-password-transition: var(--bh-input-transition);
28
+ --bh-password-border-width: var(--bh-input-border-width);
29
+
30
+ /* --- PASSWORD TOGGLE BUTTON --- */
31
+ --bh-password-toggle-button-size: 20px;
32
+ --bh-password-toggle-button-color: var(--bh-neutral-500);
33
+ --bh-password-toggle-button-color-hover: var(--bh-neutral-700);
34
+ --bh-password-toggle-button-transition: color 0.2s ease-in-out;
35
+ --bh-password-toggle-icon-size: 20px;
36
+
37
+ /* --- PASSWORD FEEDBACK PANEL --- */
38
+ --bh-password-feedback-panel-margin-top: var(--bh-spacing-sm);
39
+ --bh-password-feedback-panel-padding: var(--bh-spacing-md);
40
+ --bh-password-feedback-panel-bg: var(--bh-white);
41
+ --bh-password-feedback-panel-border: 1px solid var(--bh-neutral-200);
42
+ --bh-password-feedback-panel-radius: var(--bh-radius-md);
43
+ --bh-password-feedback-panel-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
44
+
45
+ /* --- PASSWORD FEEDBACK HEADER --- */
46
+ --bh-password-feedback-header-gap: var(--bh-spacing-sm);
47
+ --bh-password-feedback-header-font-weight: var(--bh-font-weight-medium);
48
+ --bh-password-feedback-header-font-size: var(--bh-font-size-sm);
49
+ --bh-password-prompt-color: var(--bh-neutral-600);
50
+ --bh-password-strength-label-color: var(--bh-neutral-800);
51
+
52
+ /* --- PASSWORD STRENGTH METER --- */
53
+ --bh-password-strength-meter-width: 100%;
54
+ --bh-password-strength-meter-height: 4px;
55
+ --bh-password-strength-meter-bg: var(--bh-neutral-200);
56
+ --bh-password-strength-meter-radius: 2px;
57
+ --bh-password-strength-meter-transition: width 0.3s ease-in-out, background-color 0.3s ease-in-out;
58
+
59
+ /* --- PASSWORD STRENGTH COLORS --- */
60
+ --bh-password-strength-weak-color: var(--bh-error-500);
61
+ --bh-password-strength-medium-color: var(--bh-warning-500);
62
+ --bh-password-strength-strong-color: var(--bh-success-500);
63
+ }
@@ -0,0 +1,34 @@
1
+ /* ==========================================================================
2
+ BELLHOP PROGRESS BAR COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- PROGRESS BAR SIZING --- */
10
+ --bh-progress-bar-height: calc(var(--bh-spacing-md) * 0.5); /* 8px */
11
+
12
+ /* --- PROGRESS BAR BORDER --- */
13
+ --bh-progress-bar-radius: var(--bh-radius-full);
14
+
15
+ /* --- PROGRESS BAR TRANSITION --- */
16
+ --bh-progress-bar-transition: width 0.3s ease-in-out;
17
+
18
+ /* --- PROGRESS BAR ANIMATION --- */
19
+ --bh-progress-bar-animation-duration: 3s;
20
+
21
+ /* --- PROGRESS BAR COLORS --- */
22
+ --bh-progress-bar-bg: var(--bh-neutral-200);
23
+ --bh-progress-bar-bg-filled: var(--bh-brand-600);
24
+
25
+ /* --- PROGRESS BAR LABEL --- */
26
+ --bh-progress-bar-label-color: var(--bh-neutral-800);
27
+ --bh-progress-bar-label-border: var(--bh-neutral-200);
28
+ --bh-progress-bar-label-font-size: var(--bh-font-body-sm);
29
+ --bh-progress-bar-label-line-height: var(--bh-line-height-body);
30
+ --bh-progress-bar-label-font-weight: var(--bh-font-weight-semibold);
31
+ --bh-progress-bar-label-padding: 0 var(--bh-spacing-xs);
32
+ --bh-progress-bar-label-shadow: var(--bh-shadow-sm);
33
+ --bh-progress-bar-label-radius: var(--bh-radius-md);
34
+ }
@@ -0,0 +1,51 @@
1
+ /* ==========================================================================
2
+ BELLHOP PROGRESS SPINNER COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- PROGRESS SPINNER SIZING --- */
10
+ --bh-progress-spinner-size-xs: 16px;
11
+ --bh-progress-spinner-size-sm: 24px;
12
+ --bh-progress-spinner-size-md: 40px;
13
+ --bh-progress-spinner-size-lg: 56px;
14
+ --bh-progress-spinner-size-xl: 72px;
15
+
16
+ /* --- PROGRESS SPINNER STROKE --- */
17
+ --bh-progress-spinner-stroke-width: 4;
18
+
19
+ /* --- PROGRESS SPINNER SPACING --- */
20
+ --bh-progress-spinner-gap: var(--bh-spacing-sm);
21
+ --bh-progress-spinner-overlay-gap: var(--bh-spacing-md);
22
+ --bh-progress-spinner-message-margin-top: var(--bh-spacing-xs);
23
+
24
+ /* --- PROGRESS SPINNER ANIMATION --- */
25
+ --bh-progress-spinner-rotation-duration: 2s;
26
+ --bh-progress-spinner-dash-duration: 1.5s;
27
+ --bh-progress-spinner-rotation-duration-hover: 1s;
28
+ --bh-progress-spinner-dash-duration-hover: 0.6s;
29
+
30
+ /* --- PROGRESS SPINNER OVERLAY --- */
31
+ --bh-progress-spinner-overlay-bg: rgba(0, 0, 0, 0.3);
32
+ --bh-progress-spinner-overlay-backdrop-blur: blur(4px);
33
+ --bh-progress-spinner-overlay-z-index: 9999;
34
+
35
+ /* --- PROGRESS SPINNER MESSAGE --- */
36
+ --bh-progress-spinner-message-color: var(--bh-neutral-700);
37
+ --bh-progress-spinner-message-color-overlay: var(--bh-white);
38
+ --bh-progress-spinner-message-font-size: var(--bh-font-size-sm);
39
+ --bh-progress-spinner-message-line-height: var(--bh-line-height-sm);
40
+ --bh-progress-spinner-message-font-weight: var(--bh-font-weight-medium);
41
+
42
+ /* --- PROGRESS SPINNER GRADIENT --- */
43
+ --bh-progress-spinner-gradient-start: var(--bh-accent-300);
44
+ --bh-progress-spinner-gradient-mid: var(--bh-brand-400);
45
+ --bh-progress-spinner-gradient-end: var(--bh-brand-600);
46
+
47
+ /* --- PROGRESS SPINNER WHITE VARIANT --- */
48
+ --bh-progress-spinner-white-opacity-start: 1;
49
+ --bh-progress-spinner-white-opacity-mid: 0.8;
50
+ --bh-progress-spinner-white-opacity-end: 0.5;
51
+ }
@@ -0,0 +1,90 @@
1
+ /**
2
+ * RadioButton Component Tokens
3
+ * Maps semantic design tokens to RadioButton-specific custom properties
4
+ */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* ================================
10
+ Size Tokens
11
+ ================================ */
12
+
13
+ --bh-radiobutton-size-sm: 16px;
14
+ --bh-radiobutton-size-md: 20px;
15
+
16
+ /* ================================
17
+ Color Tokens - Default State
18
+ ================================ */
19
+
20
+ --bh-radiobutton-bg: var(--bh-white);
21
+ --bh-radiobutton-bg-checked: var(--bh-brand-600);
22
+ --bh-radiobutton-border: var(--bh-neutral-400);
23
+ --bh-radiobutton-border-checked: var(--bh-brand-600);
24
+ --bh-radiobutton-indicator: var(--bh-white);
25
+
26
+ /* ================================
27
+ Color Tokens - Hover State
28
+ ================================ */
29
+
30
+ --bh-radiobutton-bg-hover: var(--bh-neutral-50);
31
+ --bh-radiobutton-bg-checked-hover: var(--bh-brand-700);
32
+ --bh-radiobutton-border-hover: var(--bh-brand-500);
33
+ --bh-radiobutton-border-checked-hover: var(--bh-brand-700);
34
+
35
+ /* ================================
36
+ Color Tokens - Focus State
37
+ ================================ */
38
+
39
+ --bh-radiobutton-border-focus: var(--bh-brand-600);
40
+ --bh-radiobutton-outline-focus: var(--bh-brand-100);
41
+ --bh-radiobutton-outline-offset: 2px;
42
+
43
+ /* ================================
44
+ Color Tokens - Disabled State
45
+ ================================ */
46
+
47
+ --bh-radiobutton-bg-disabled: var(--bh-neutral-100);
48
+ --bh-radiobutton-bg-checked-disabled: var(--bh-neutral-300);
49
+ --bh-radiobutton-border-disabled: var(--bh-neutral-300);
50
+ --bh-radiobutton-indicator-disabled: var(--bh-neutral-500);
51
+ --bh-radiobutton-label-disabled: var(--bh-neutral-500);
52
+
53
+ /* ================================
54
+ Color Tokens - Invalid State
55
+ ================================ */
56
+
57
+ --bh-radiobutton-border-invalid: var(--bh-error-600);
58
+ --bh-radiobutton-border-invalid-hover: var(--bh-error-700);
59
+ --bh-radiobutton-outline-invalid: var(--bh-error-100);
60
+
61
+ /* ================================
62
+ Spacing Tokens
63
+ ================================ */
64
+
65
+ --bh-radiobutton-indicator-size: 8px;
66
+ --bh-radiobutton-indicator-size-sm: 6px;
67
+ --bh-radiobutton-label-gap: 8px;
68
+
69
+ /* ================================
70
+ Border Tokens
71
+ ================================ */
72
+
73
+ --bh-radiobutton-border-width: 2px;
74
+ --bh-radiobutton-border-radius: 50%;
75
+
76
+ /* ================================
77
+ Transition Tokens
78
+ ================================ */
79
+
80
+ --bh-radiobutton-transition: all 0.15s ease-in-out;
81
+
82
+ /* ================================
83
+ Variant: Filled
84
+ ================================ */
85
+
86
+ --bh-radiobutton-filled-bg: var(--bh-neutral-100);
87
+ --bh-radiobutton-filled-bg-hover: var(--bh-neutral-200);
88
+ --bh-radiobutton-filled-bg-checked: var(--bh-brand-50);
89
+ --bh-radiobutton-filled-border-checked: var(--bh-brand-600);
90
+ }
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Skeleton Loader Design Tokens
3
+ * Based on BellhopOS design system
4
+ */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- SKELETON COLORS --- */
10
+ --bh-skeleton-bg: var(--bh-neutral-200);
11
+ --bh-skeleton-shimmer-from: rgba(255, 255, 255, 0);
12
+ --bh-skeleton-shimmer-via: rgba(255, 255, 255, 0.4);
13
+ --bh-skeleton-shimmer-to: rgba(255, 255, 255, 0);
14
+
15
+ /* --- SKELETON SHAPE --- */
16
+ --bh-skeleton-border-radius: 0.25rem;
17
+ --bh-skeleton-circle-border-radius: 50%;
18
+
19
+ /* --- SKELETON ANIMATION --- */
20
+ --bh-skeleton-animation-duration: 1.2s;
21
+ --bh-skeleton-animation-timing: ease-in-out;
22
+ }
@@ -0,0 +1,76 @@
1
+ /* ==========================================================================
2
+ BELLHOP TEXTAREA COMPONENT TOKENS
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- TEXTAREA FONT --- */
10
+ --bh-textarea-font-family: var(--bh-font-family-base);
11
+ --bh-textarea-font-size: var(--bh-font-size-sm);
12
+ --bh-textarea-font-weight: var(--bh-font-weight-regular);
13
+ --bh-textarea-line-height: var(--bh-line-height-sm);
14
+
15
+ /* --- TEXTAREA SIZING --- */
16
+ --bh-textarea-padding-sm: var(--bh-spacing-sm) var(--bh-spacing-md);
17
+ --bh-textarea-padding-md: var(--bh-spacing-md);
18
+ --bh-textarea-padding-lg: var(--bh-spacing-lg);
19
+
20
+ --bh-textarea-min-height-sm: 64px;
21
+ --bh-textarea-min-height-md: 80px;
22
+ --bh-textarea-min-height-lg: 96px;
23
+
24
+ /* --- TEXTAREA SPACING --- */
25
+ --bh-textarea-wrapper-gap: var(--bh-spacing-sm);
26
+ --bh-textarea-container-gap: var(--bh-spacing-md);
27
+ --bh-textarea-label-gap: var(--bh-spacing-xs);
28
+
29
+ /* --- TEXTAREA BORDER --- */
30
+ --bh-textarea-border-width: var(--bh-border-stroke-medium);
31
+ --bh-textarea-border-radius: var(--bh-radius-md);
32
+
33
+ /* --- TEXTAREA TRANSITION --- */
34
+ --bh-textarea-transition: all 0.2s ease-in-out;
35
+
36
+ /* --- TEXTAREA COLORS - DEFAULT --- */
37
+ --bh-textarea-bg: var(--bh-white);
38
+ --bh-textarea-border: var(--bh-neutral-300);
39
+ --bh-textarea-text-color: var(--bh-neutral-800);
40
+ --bh-textarea-placeholder-color: var(--bh-neutral-500);
41
+
42
+ --bh-textarea-border-hover: var(--bh-brand-500);
43
+
44
+ --bh-textarea-bg-focused: var(--bh-white);
45
+ --bh-textarea-border-focused: var(--bh-brand-500);
46
+ --bh-textarea-focus-shadow: 0 0 0 1px var(--bh-brand-500);
47
+
48
+ --bh-textarea-bg-disabled: var(--bh-neutral-50);
49
+ --bh-textarea-opacity-disabled: 0.5;
50
+
51
+ --bh-textarea-border-invalid: var(--bh-error-300);
52
+ --bh-textarea-border-invalid-hover: var(--bh-error-500);
53
+ --bh-textarea-border-invalid-focused: var(--bh-brand-600);
54
+
55
+ /* --- TEXTAREA COLORS - FILLED VARIANT --- */
56
+ --bh-textarea-filled-bg: var(--bh-neutral-50);
57
+ --bh-textarea-filled-border: transparent;
58
+ --bh-textarea-filled-bg-hover: var(--bh-neutral-100);
59
+ --bh-textarea-filled-bg-focused: var(--bh-white);
60
+ --bh-textarea-filled-border-focused: var(--bh-brand-500);
61
+
62
+ /* --- TEXTAREA LABEL --- */
63
+ --bh-textarea-label-font-size: var(--bh-font-size-sm);
64
+ --bh-textarea-label-font-weight: var(--bh-font-weight-medium);
65
+ --bh-textarea-label-color: var(--bh-neutral-700);
66
+ --bh-textarea-label-required-color: var(--bh-error-500);
67
+
68
+ /* --- TEXTAREA HINT TEXT --- */
69
+ --bh-textarea-hint-font-size: var(--bh-font-size-sm);
70
+ --bh-textarea-hint-color: var(--bh-neutral-600);
71
+ --bh-textarea-hint-error-color: var(--bh-error-600);
72
+
73
+ /* --- TEXTAREA HELP ICON --- */
74
+ --bh-textarea-help-icon-color: var(--bh-neutral-500);
75
+ --bh-textarea-help-icon-color-hover: var(--bh-neutral-700);
76
+ }
@@ -0,0 +1,74 @@
1
+ /* ==========================================================================
2
+ BELLHOP TOGGLE COMPONENT TOKENS - Material You Design
3
+ Component-specific tokens that map to semantic layer
4
+ ========================================================================== */
5
+
6
+ @use '../_semantic.scss';
7
+
8
+ :root {
9
+ /* --- TOGGLE WRAPPER --- */
10
+ --bh-toggle-gap-with-text-sm: var(--bh-spacing-md);
11
+ --bh-toggle-gap-with-text-md: var(--bh-spacing-lg);
12
+
13
+ /* --- TOGGLE SWITCH BASE --- */
14
+ --bh-toggle-border-radius: var(--bh-radius-full);
15
+ --bh-toggle-transition: background-color 0.2s ease;
16
+ --bh-toggle-disabled-opacity: 0.38;
17
+
18
+ /* --- TOGGLE SWITCH SIZES --- */
19
+ --bh-toggle-width-sm: 36px;
20
+ --bh-toggle-height-sm: 20px;
21
+ --bh-toggle-width-md: 40px;
22
+ --bh-toggle-height-md: 24px;
23
+
24
+ /* --- TOGGLE SWITCH STATES - UNPRESSED --- */
25
+ --bh-toggle-unpressed-bg: var(--bh-neutral-300);
26
+ --bh-toggle-unpressed-bg-hover: var(--bh-neutral-400);
27
+ --bh-toggle-unpressed-bg-focus: var(--bh-neutral-200);
28
+ --bh-toggle-unpressed-bg-disabled: var(--bh-neutral-100);
29
+ --bh-toggle-unpressed-focus-ring: var(--bh-neutral-600);
30
+ --bh-toggle-unpressed-focus-ring-opacity: 0.12;
31
+
32
+ /* --- TOGGLE SWITCH STATES - PRESSED --- */
33
+ --bh-toggle-pressed-bg: var(--bh-brand-600);
34
+ --bh-toggle-pressed-bg-hover: var(--bh-brand-700);
35
+ --bh-toggle-pressed-bg-focus: var(--bh-brand-600);
36
+ --bh-toggle-pressed-bg-disabled: var(--bh-neutral-200);
37
+ --bh-toggle-pressed-focus-ring: var(--bh-brand-100);
38
+ --bh-toggle-pressed-focus-ring-opacity: 0.24;
39
+
40
+ /* --- TOGGLE BUTTON (HANDLE) --- */
41
+ --bh-toggle-button-bg: var(--bh-white);
42
+ --bh-toggle-button-bg-disabled: var(--bh-neutral-400);
43
+ --bh-toggle-button-bg-disabled-pressed: var(--bh-neutral-100);
44
+ --bh-toggle-button-shadow-hover: var(--bh-shadow-sm);
45
+ --bh-toggle-button-transition: all 0.2s ease;
46
+
47
+ /* --- TOGGLE BUTTON SIZES --- */
48
+ --bh-toggle-button-size-sm: 16px;
49
+ --bh-toggle-button-size-md: 20px;
50
+ --bh-toggle-button-offset-sm: 1px;
51
+ --bh-toggle-button-offset-md: 1px;
52
+ --bh-toggle-button-disabled-size-md: 16px;
53
+ --bh-toggle-button-disabled-offset-md: 4px;
54
+
55
+ /* --- FOCUS RING --- */
56
+ --bh-toggle-focus-ring-offset: -6px;
57
+ --bh-toggle-focus-ring-size: 12px;
58
+
59
+ /* --- TOGGLE LABEL --- */
60
+ --bh-toggle-label-color: var(--bh-neutral-700);
61
+ --bh-toggle-label-font-weight: var(--bh-font-weight-medium);
62
+ --bh-toggle-label-line-height: 1.5;
63
+ --bh-toggle-label-size-sm: var(--bh-font-body-sm);
64
+ --bh-toggle-label-size-md: var(--bh-font-body-md);
65
+
66
+ /* --- TOGGLE SUPPORTING TEXT --- */
67
+ --bh-toggle-supporting-text-color: var(--bh-neutral-600);
68
+ --bh-toggle-supporting-text-font-weight: var(--bh-font-weight-regular);
69
+ --bh-toggle-supporting-text-size: var(--bh-font-body-sm);
70
+ --bh-toggle-supporting-text-margin-top: var(--bh-spacing-xxs);
71
+
72
+ /* --- HIGH CONTRAST MODE --- */
73
+ --bh-toggle-high-contrast-border-width: 2px;
74
+ }