@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,126 @@
1
+ /* ==========================================================================
2
+ BELLHOP UTILITIES - TRUNCATION
3
+ Text overflow and truncation utilities
4
+
5
+ Dependencies:
6
+ - None (standalone utilities)
7
+
8
+ Generated classes:
9
+ - .bh-truncate (single line ellipsis)
10
+ - .bh-line-clamp_{n} (multi-line clamp)
11
+ - .bh-truncate_none (disable truncation)
12
+ - .bh-break-word, .bh-break-all (word breaking)
13
+ ========================================================================== */
14
+
15
+ /* --- SINGLE LINE TRUNCATE --- */
16
+
17
+ .bh-truncate {
18
+ overflow: hidden;
19
+ text-overflow: ellipsis;
20
+ white-space: nowrap;
21
+ }
22
+
23
+ /* --- MULTI-LINE CLAMP --- */
24
+ /* Uses -webkit-line-clamp for cross-browser support */
25
+
26
+ .bh-line-clamp_1 {
27
+ display: -webkit-box;
28
+ -webkit-box-orient: vertical;
29
+ -webkit-line-clamp: 1;
30
+ overflow: hidden;
31
+ }
32
+
33
+ .bh-line-clamp_2 {
34
+ display: -webkit-box;
35
+ -webkit-box-orient: vertical;
36
+ -webkit-line-clamp: 2;
37
+ overflow: hidden;
38
+ }
39
+
40
+ .bh-line-clamp_3 {
41
+ display: -webkit-box;
42
+ -webkit-box-orient: vertical;
43
+ -webkit-line-clamp: 3;
44
+ overflow: hidden;
45
+ }
46
+
47
+ .bh-line-clamp_4 {
48
+ display: -webkit-box;
49
+ -webkit-box-orient: vertical;
50
+ -webkit-line-clamp: 4;
51
+ overflow: hidden;
52
+ }
53
+
54
+ .bh-line-clamp_5 {
55
+ display: -webkit-box;
56
+ -webkit-box-orient: vertical;
57
+ -webkit-line-clamp: 5;
58
+ overflow: hidden;
59
+ }
60
+
61
+ .bh-line-clamp_6 {
62
+ display: -webkit-box;
63
+ -webkit-box-orient: vertical;
64
+ -webkit-line-clamp: 6;
65
+ overflow: hidden;
66
+ }
67
+
68
+ /* --- DISABLE TRUNCATION --- */
69
+
70
+ .bh-truncate_none {
71
+ overflow: visible;
72
+ text-overflow: clip;
73
+ white-space: normal;
74
+ }
75
+
76
+ /* --- WORD BREAKING --- */
77
+
78
+ .bh-break-word {
79
+ word-break: break-word;
80
+ overflow-wrap: break-word;
81
+ }
82
+
83
+ .bh-break-all {
84
+ word-break: break-all;
85
+ }
86
+
87
+ .bh-break-normal {
88
+ word-break: normal;
89
+ overflow-wrap: normal;
90
+ }
91
+
92
+ .bh-break-keep {
93
+ word-break: keep-all;
94
+ }
95
+
96
+ /* --- WHITE SPACE --- */
97
+
98
+ .bh-whitespace-normal {
99
+ white-space: normal;
100
+ }
101
+
102
+ .bh-whitespace-nowrap {
103
+ white-space: nowrap;
104
+ }
105
+
106
+ .bh-whitespace-pre {
107
+ white-space: pre;
108
+ }
109
+
110
+ .bh-whitespace-pre-line {
111
+ white-space: pre-line;
112
+ }
113
+
114
+ .bh-whitespace-pre-wrap {
115
+ white-space: pre-wrap;
116
+ }
117
+
118
+ /* --- TEXT OVERFLOW --- */
119
+
120
+ .bh-text-ellipsis {
121
+ text-overflow: ellipsis;
122
+ }
123
+
124
+ .bh-text-clip {
125
+ text-overflow: clip;
126
+ }
@@ -0,0 +1,117 @@
1
+ /* ==========================================================================
2
+ BELLHOP UTILITIES - VISIBILITY
3
+ Responsive show/hide and accessibility utilities
4
+
5
+ Dependencies:
6
+ - _semantic.scss (tokens)
7
+ - _responsive.scss (breakpoint mixins)
8
+
9
+ Generated classes:
10
+ - .bh-hidden, .bh-invisible (always hidden)
11
+ - .bh-hide@{breakpoint} (responsive hide)
12
+ - .bh-show@{breakpoint} (responsive show)
13
+ - .bh-sr-only (screen reader only)
14
+ - .bh-hide@print, .bh-show@print (print utilities)
15
+ ========================================================================== */
16
+
17
+ @use '../mixins/responsive' as *;
18
+
19
+ /* --- ALWAYS HIDDEN --- */
20
+
21
+ .bh-hidden {
22
+ display: none !important;
23
+ }
24
+
25
+ .bh-invisible {
26
+ visibility: hidden;
27
+ }
28
+
29
+ /* --- RESPONSIVE HIDE --- */
30
+ /* Hidden at breakpoint and below (mobile-first) */
31
+
32
+ .bh-hide\@mobile {
33
+ @include bh-breakpoint-only('mobile') {
34
+ display: none !important;
35
+ }
36
+ }
37
+
38
+ .bh-hide\@tablet {
39
+ @include bh-breakpoint-down('tablet') {
40
+ display: none !important;
41
+ }
42
+ }
43
+
44
+ .bh-hide\@desktop {
45
+ @include bh-breakpoint-down('desktop') {
46
+ display: none !important;
47
+ }
48
+ }
49
+
50
+ /* --- RESPONSIVE SHOW --- */
51
+ /* Hidden by default, shown at breakpoint and above */
52
+
53
+ .bh-show\@tablet {
54
+ display: none !important;
55
+
56
+ @include bh-breakpoint-up('tablet') {
57
+ display: block !important;
58
+ }
59
+ }
60
+
61
+ .bh-show\@desktop {
62
+ display: none !important;
63
+
64
+ @include bh-breakpoint-up('desktop') {
65
+ display: block !important;
66
+ }
67
+ }
68
+
69
+ .bh-show\@wide {
70
+ display: none !important;
71
+
72
+ @include bh-breakpoint-up('wide') {
73
+ display: block !important;
74
+ }
75
+ }
76
+
77
+ /* --- SCREEN READER ONLY --- */
78
+ /* Accessible to screen readers but visually hidden */
79
+
80
+ .bh-sr-only {
81
+ position: absolute;
82
+ width: 1px;
83
+ height: 1px;
84
+ padding: 0;
85
+ margin: -1px;
86
+ overflow: hidden;
87
+ clip: rect(0, 0, 0, 0);
88
+ white-space: nowrap;
89
+ border-width: 0;
90
+ }
91
+
92
+ /* Allow element to be focusable when navigated to via keyboard */
93
+ .bh-sr-only-focusable:focus,
94
+ .bh-sr-only-focusable:active {
95
+ position: static;
96
+ width: auto;
97
+ height: auto;
98
+ padding: inherit;
99
+ margin: inherit;
100
+ overflow: visible;
101
+ clip: auto;
102
+ white-space: normal;
103
+ }
104
+
105
+ /* --- PRINT UTILITIES --- */
106
+
107
+ .bh-hide\@print {
108
+ @media print {
109
+ display: none !important;
110
+ }
111
+ }
112
+
113
+ .bh-show\@print {
114
+ @media not print {
115
+ display: none !important;
116
+ }
117
+ }
@@ -0,0 +1,32 @@
1
+ /* ==========================================================================
2
+ BELLHOP UTILITIES
3
+ Public entry point for all utility classes
4
+
5
+ Usage:
6
+ @import '@actabldesign/bellhop-styles/utilities';
7
+
8
+ Or import specific utilities:
9
+ @import '@actabldesign/bellhop-styles/utilities/spacing';
10
+
11
+ Available utilities:
12
+
13
+ Phase 1 - Foundation:
14
+ - Spacing: margin, padding, gap with responsive variants
15
+ - Breakpoints: CSS custom properties for JavaScript access
16
+
17
+ Phase 2 - Layout:
18
+ - Grid: CSS Grid layout utilities
19
+ - Flex: Flexbox alignment utilities
20
+ - Sizing: Width/height utilities
21
+
22
+ Phase 3 - Content:
23
+ - Visibility: Show/hide utilities with responsive and print support
24
+ - Truncation: Text overflow and line-clamp utilities
25
+ - Scrollable: Overflow and scroll behavior utilities
26
+ ========================================================================== */
27
+
28
+ // Import design tokens first (required for utilities)
29
+ @use './bh-tokens/semantic';
30
+
31
+ // Import all utilities
32
+ @use './utilities/index';
@@ -1,167 +0,0 @@
1
- .appbar {
2
- display: flex;
3
- align-items: center;
4
- justify-content: space-between;
5
- height: 56px;
6
- padding: 0 var(--spacing-sm);
7
- background-color: var(--color-white);
8
- border-bottom: 1px solid var(--color-neutral-200);
9
- font-family: var(--font-inter);
10
- position: sticky;
11
- top: 0;
12
- z-index: 1000;
13
- box-sizing: border-box;
14
- user-select: none;
15
- -webkit-user-select: none;
16
- -moz-user-select: none;
17
- -ms-user-select: none;
18
- }
19
-
20
- /* Left Section */
21
- .left-section {
22
- display: flex;
23
- align-items: center;
24
- gap: var(--spacing-xl);
25
- flex-shrink: 0;
26
- }
27
-
28
- /* Menu toggle styles removed - now using app-button component */
29
-
30
- .logo {
31
- display: flex;
32
- align-items: center;
33
- justify-content: center;
34
- width: var(--spacing-4xl);
35
- height: var(--spacing-4xl);
36
- color: var(--color-brand-500);
37
- }
38
-
39
- .logo-image {
40
- width: 36px;
41
- height: 36px;
42
- object-fit: contain;
43
- }
44
-
45
- .property-name {
46
- font-size: var(--text-md-size);
47
- font-weight: var(--weight-semibold);
48
- color: var(--color-neutral-800);
49
- line-height: var(--text-md-line);
50
- white-space: nowrap;
51
- }
52
-
53
- /* Center Section */
54
- .center-section {
55
- flex: 1;
56
- display: flex;
57
- justify-content: center;
58
- min-width: 0;
59
- }
60
-
61
- .breadcrumbs {
62
- display: flex;
63
- align-items: center;
64
- gap: var(--spacing-md);
65
- max-width: 100%;
66
- }
67
-
68
- .breadcrumb-item {
69
- font-size: var(--text-sm-size);
70
- font-weight: var(--weight-regular);
71
- line-height: var(--text-sm-line);
72
- color: var(--color-neutral-500);
73
- background: none;
74
- border: none;
75
- cursor: pointer;
76
- padding: var(--spacing-xs) var(--spacing-md);
77
- border-radius: var(--radius-xs);
78
- transition: all 0.2s ease;
79
- white-space: nowrap;
80
- text-overflow: ellipsis;
81
- overflow: hidden;
82
- }
83
-
84
-
85
- .breadcrumb-item.active {
86
- color: var(--color-neutral-800);
87
- font-weight: var(--weight-medium);
88
- cursor: default;
89
- }
90
-
91
- .breadcrumb-item:disabled {
92
- cursor: default;
93
- }
94
-
95
- .breadcrumb-separator {
96
- color: var(--color-neutral-200);
97
- flex-shrink: 0;
98
- }
99
-
100
- /* Right Section */
101
- .right-section {
102
- display: flex;
103
- align-items: center;
104
- gap: var(--spacing-md);
105
- flex-shrink: 0;
106
- }
107
-
108
- /* Icon button styles removed - now using app-button component */
109
-
110
- .icon-button-wrapper {
111
- position: relative;
112
- }
113
-
114
- .icon-badge-dot {
115
- position: absolute;
116
- top: 0;
117
- right: 4px;
118
- }
119
-
120
- /* Responsive Design */
121
- @media (max-width: 768px) {
122
- .appbar {
123
- padding: 0 16px;
124
- }
125
-
126
- .property-name {
127
- display: none;
128
- }
129
-
130
- .left-section {
131
- gap: 12px;
132
- }
133
-
134
- .breadcrumbs {
135
- max-width: 200px;
136
- }
137
-
138
- .breadcrumb-item {
139
- font-size: 13px;
140
- padding: 2px 6px;
141
- max-width: 80px;
142
- }
143
- }
144
-
145
- @media (max-width: 480px) {
146
- .appbar {
147
- padding: 0 12px;
148
- }
149
-
150
- .breadcrumbs {
151
- max-width: 150px;
152
- }
153
-
154
- .breadcrumb-item {
155
- font-size: 12px;
156
- max-width: 60px;
157
- }
158
-
159
- .right-section {
160
- gap: 4px;
161
- }
162
-
163
- .icon-button {
164
- width: 32px;
165
- height: 32px;
166
- }
167
- }
@@ -1,142 +0,0 @@
1
- /* ==========================================================================
2
- AUTOCOMPLETE MENU COMPONENT
3
- Shared styles for all frameworks
4
- ========================================================================== */
5
-
6
- .autocomplete-menu {
7
- position: absolute;
8
- z-index: 1000;
9
- top: calc(100% + var(--spacing-sm));
10
- left: 0;
11
- right: 0;
12
- width: 100%;
13
- min-width: 240px;
14
- background: var(--color-white);
15
- border-radius: var(--radius-md);
16
- box-shadow: 0px 32px 64px -12px rgba(64, 73, 104, 0.14),
17
- 0px 0px 1px 1px rgba(64, 73, 104, 0.1);
18
- border: 1px solid var(--color-neutral-200);
19
- overflow: hidden;
20
- overflow-y: auto;
21
- /* Add padding like dropdown-menu items container */
22
- padding: var(--spacing-xs) 0;
23
- /* Optimizations for stable layout */
24
- box-sizing: border-box;
25
- transform: translateZ(0); /* Hardware acceleration */
26
- will-change: opacity, transform;
27
- }
28
-
29
-
30
- /* Menu Items - Match dropdown-menu styling exactly */
31
- .autocomplete-item {
32
- padding: var(--spacing-xxs) var(--spacing-sm);
33
- cursor: pointer;
34
- }
35
-
36
- .autocomplete-item.disabled {
37
- opacity: 0.5;
38
- cursor: not-allowed;
39
- }
40
-
41
- .item-content {
42
- display: flex;
43
- align-items: center;
44
- justify-content: space-between;
45
- gap: var(--spacing-lg);
46
- padding: var(--spacing-xl) var(--spacing-md);
47
- border-radius: var(--radius-sm);
48
- transition: background-color 0.15s ease;
49
- }
50
-
51
- .autocomplete-item:hover:not(.disabled) .item-content {
52
- background: var(--color-neutral-100);
53
- }
54
-
55
- .autocomplete-item.selected .item-content {
56
- background: var(--color-neutral-100);
57
- }
58
-
59
- .item-text {
60
- font-family: var(--font-inter);
61
- font-weight: var(--weight-medium);
62
- font-size: var(--text-sm-size);
63
- line-height: var(--text-sm-line);
64
- color: var(--color-neutral-700);
65
- flex: 1;
66
- white-space: nowrap;
67
- overflow: hidden;
68
- text-overflow: ellipsis;
69
- min-width: 0;
70
- }
71
-
72
- .autocomplete-item.selected .item-text {
73
- color: var(--color-neutral-700);
74
- font-weight: var(--weight-medium);
75
- }
76
-
77
- .autocomplete-item.disabled .item-text {
78
- color: var(--color-neutral-400);
79
- }
80
-
81
- /* Highlight matching text */
82
- .item-text .highlight {
83
- font-weight: var(--weight-semibold);
84
- color: var(--color-neutral-800);
85
- }
86
-
87
- /* Check icon for multi-select */
88
- .check-icon {
89
- font-size: var(--text-xl-size);
90
- color: var(--color-brand-600);
91
- flex-shrink: 0;
92
- font-variation-settings: 'FILL' 1, 'wght' 500, 'GRAD' 0, 'opsz' 24;
93
- }
94
-
95
- /* Custom Scrollbar */
96
- .autocomplete-menu::-webkit-scrollbar {
97
- width: 6px;
98
- }
99
-
100
- .autocomplete-menu::-webkit-scrollbar-track {
101
- background: var(--color-neutral-50);
102
- border-radius: var(--radius-xs);
103
- }
104
-
105
- .autocomplete-menu::-webkit-scrollbar-thumb {
106
- background: var(--color-neutral-200);
107
- border-radius: var(--radius-xs);
108
- }
109
-
110
- .autocomplete-menu::-webkit-scrollbar-thumb:hover {
111
- background: var(--color-neutral-300);
112
- }
113
-
114
- /* Firefox scrollbar */
115
- .autocomplete-menu {
116
- scrollbar-width: thin;
117
- scrollbar-color: var(--color-neutral-200) var(--color-neutral-50);
118
- }
119
-
120
- /* High contrast mode support */
121
- @media (prefers-contrast: high) {
122
- .autocomplete-menu {
123
- border-width: 2px;
124
- }
125
-
126
- .autocomplete-item.selected {
127
- outline: 2px solid var(--color-brand-500);
128
- outline-offset: -2px;
129
- }
130
- }
131
-
132
- /* Reduced motion support */
133
- @media (prefers-reduced-motion: reduce) {
134
- .autocomplete-menu.animate-dropdown-enter,
135
- .autocomplete-menu.animate-dropdown-exit {
136
- animation: none;
137
- }
138
-
139
- .autocomplete-item {
140
- transition: none;
141
- }
142
- }
@@ -1,112 +0,0 @@
1
- /* ==========================================================================
2
- AVATAR ADD BUTTON COMPONENT
3
- Shared styles for all frameworks
4
- ========================================================================== */
5
-
6
- /* Base Button */
7
- .avatar-add {
8
- position: relative;
9
- display: inline-flex;
10
- align-items: center;
11
- justify-content: center;
12
- background-color: var(--color-white);
13
- border: 1px dashed var(--color-neutral-300);
14
- border-radius: 50%;
15
- cursor: pointer;
16
- transition: all 0.2s ease-in-out;
17
- padding: 0;
18
- outline: none;
19
- }
20
-
21
- /* Button Sizes */
22
- .avatar-add-xs {
23
- width: 24px;
24
- height: 24px;
25
- }
26
-
27
- .avatar-add-sm {
28
- width: 32px;
29
- height: 32px;
30
- }
31
-
32
- .avatar-add-md {
33
- width: 40px;
34
- height: 40px;
35
- }
36
-
37
- /* ==========================================================================
38
- BUTTON STATES
39
- ========================================================================== */
40
-
41
- /* Hover State */
42
- .avatar-add-hover,
43
- .avatar-add:hover:not(:disabled) {
44
- background-color: var(--color-neutral-50);
45
- }
46
-
47
- .avatar-add-hover .avatar-add-icon,
48
- .avatar-add:hover:not(:disabled) .avatar-add-icon {
49
- color: var(--color-neutral-600);
50
- }
51
-
52
- /* Focus State */
53
- .avatar-add-focus,
54
- .avatar-add:focus-visible {
55
- background-color: var(--color-white);
56
- box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-brand-500);
57
- }
58
-
59
- /* Disabled State */
60
- .avatar-add-disabled,
61
- .avatar-add:disabled {
62
- background-color: var(--color-neutral-50);
63
- cursor: not-allowed;
64
- pointer-events: none;
65
- }
66
-
67
- .avatar-add-disabled .avatar-add-icon,
68
- .avatar-add:disabled .avatar-add-icon {
69
- color: var(--color-neutral-300);
70
- }
71
-
72
- /* ==========================================================================
73
- CONTENT ELEMENTS
74
- ========================================================================== */
75
-
76
- /* Content Container */
77
- .avatar-add-content {
78
- display: flex;
79
- align-items: center;
80
- justify-content: center;
81
- padding: 4px;
82
- }
83
-
84
- /* Icon */
85
- .avatar-add-icon {
86
- color: var(--color-neutral-500);
87
- line-height: 1;
88
- }
89
-
90
- /* Icon Sizes - adjusted for Material Symbols stroke weight */
91
- .avatar-add-xs .avatar-add-icon,
92
- .avatar-add-sm .avatar-add-icon {
93
- font-variation-settings: 'wght' 400;
94
- }
95
-
96
- .avatar-add-md .avatar-add-icon {
97
- font-variation-settings: 'wght' 500;
98
- }
99
-
100
- /* ==========================================================================
101
- TOOLTIP POSITIONING
102
- ========================================================================== */
103
-
104
- .avatar-add-button {
105
- position: relative;
106
- }
107
-
108
- .avatar-add-tooltip {
109
- position: absolute;
110
- top: 0;
111
- left: 50%;
112
- }