@amelharrak/eldo-ui 1.0.1

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 (134) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/dist/css/eldo.css +11683 -0
  4. package/dist/css/eldo.css.map +1 -0
  5. package/dist/css/eldo.min.css +1 -0
  6. package/dist/index.cjs +2 -0
  7. package/dist/index.cjs.map +1 -0
  8. package/dist/index.mjs +64 -0
  9. package/dist/index.mjs.map +1 -0
  10. package/dist/types/__tests__/Alert.test.d.ts +1 -0
  11. package/dist/types/__tests__/Button.test.d.ts +1 -0
  12. package/dist/types/__tests__/Modal.test.d.ts +1 -0
  13. package/dist/types/components/Accordion.d.ts +15 -0
  14. package/dist/types/components/Alert.d.ts +15 -0
  15. package/dist/types/components/Avatar.d.ts +10 -0
  16. package/dist/types/components/Badge.d.ts +7 -0
  17. package/dist/types/components/Box.d.ts +27 -0
  18. package/dist/types/components/Breadcrumb.d.ts +15 -0
  19. package/dist/types/components/Button.d.ts +16 -0
  20. package/dist/types/components/ButtonGroup.d.ts +7 -0
  21. package/dist/types/components/Card.d.ts +15 -0
  22. package/dist/types/components/Carousel.d.ts +21 -0
  23. package/dist/types/components/Checkbox.d.ts +10 -0
  24. package/dist/types/components/Col.d.ts +12 -0
  25. package/dist/types/components/Collapse.d.ts +12 -0
  26. package/dist/types/components/Container.d.ts +8 -0
  27. package/dist/types/components/Dropdown.d.ts +19 -0
  28. package/dist/types/components/FileUpload.d.ts +13 -0
  29. package/dist/types/components/Input.d.ts +20 -0
  30. package/dist/types/components/InputOTP.d.ts +13 -0
  31. package/dist/types/components/ListGroup.d.ts +20 -0
  32. package/dist/types/components/Modal.d.ts +13 -0
  33. package/dist/types/components/Navbar.d.ts +17 -0
  34. package/dist/types/components/NumberInput.d.ts +15 -0
  35. package/dist/types/components/Offcanvas.d.ts +15 -0
  36. package/dist/types/components/Pagination.d.ts +14 -0
  37. package/dist/types/components/Popover.d.ts +14 -0
  38. package/dist/types/components/Progress.d.ts +11 -0
  39. package/dist/types/components/Radio.d.ts +11 -0
  40. package/dist/types/components/Row.d.ts +7 -0
  41. package/dist/types/components/Scrollspy.d.ts +13 -0
  42. package/dist/types/components/Select.d.ts +16 -0
  43. package/dist/types/components/Slider.d.ts +16 -0
  44. package/dist/types/components/Sonner.d.ts +21 -0
  45. package/dist/types/components/Spinner.d.ts +11 -0
  46. package/dist/types/components/Stat.d.ts +24 -0
  47. package/dist/types/components/Switch.d.ts +14 -0
  48. package/dist/types/components/Tabs.d.ts +20 -0
  49. package/dist/types/components/Text.d.ts +13 -0
  50. package/dist/types/components/Timeline.d.ts +41 -0
  51. package/dist/types/components/Toast.d.ts +17 -0
  52. package/dist/types/components/Tooltip.d.ts +12 -0
  53. package/dist/types/index.d.ts +40 -0
  54. package/package.json +106 -0
  55. package/setup.js +260 -0
  56. package/src/scss/abstracts/_functions.scss +19 -0
  57. package/src/scss/abstracts/_mixins.scss +33 -0
  58. package/src/scss/abstracts/_variables.scss +119 -0
  59. package/src/scss/base/_reset.scss +24 -0
  60. package/src/scss/base/_transitions.scss +10 -0
  61. package/src/scss/base/_typography.scss +50 -0
  62. package/src/scss/components/_accordion.scss +238 -0
  63. package/src/scss/components/_alert.scss +85 -0
  64. package/src/scss/components/_alerts.scss +137 -0
  65. package/src/scss/components/_avatar.scss +184 -0
  66. package/src/scss/components/_badge.scss +70 -0
  67. package/src/scss/components/_blockquote.scss +41 -0
  68. package/src/scss/components/_breadcrumb.scss +39 -0
  69. package/src/scss/components/_button-group.scss +43 -0
  70. package/src/scss/components/_button.scss +92 -0
  71. package/src/scss/components/_buttons.scss +66 -0
  72. package/src/scss/components/_calendar.scss +520 -0
  73. package/src/scss/components/_card.scss +52 -0
  74. package/src/scss/components/_cards.scss +123 -0
  75. package/src/scss/components/_carousel.scss +490 -0
  76. package/src/scss/components/_charts.scss +29 -0
  77. package/src/scss/components/_checkbox.scss +194 -0
  78. package/src/scss/components/_code.scss +70 -0
  79. package/src/scss/components/_collapse.scss +13 -0
  80. package/src/scss/components/_combobox.scss +239 -0
  81. package/src/scss/components/_date-picker.scss +102 -0
  82. package/src/scss/components/_divider.scss +55 -0
  83. package/src/scss/components/_dropdown.scss +122 -0
  84. package/src/scss/components/_file-upload.scss +233 -0
  85. package/src/scss/components/_floating-labels.scss +247 -0
  86. package/src/scss/components/_form-select.scss +49 -0
  87. package/src/scss/components/_forms.scss +41 -0
  88. package/src/scss/components/_index.scss +7 -0
  89. package/src/scss/components/_input-otp.scss +338 -0
  90. package/src/scss/components/_list-group.scss +95 -0
  91. package/src/scss/components/_modal.scss +166 -0
  92. package/src/scss/components/_nav.scss +175 -0
  93. package/src/scss/components/_navbar.scss +228 -0
  94. package/src/scss/components/_number-input.scss +67 -0
  95. package/src/scss/components/_offcanvas.scss +123 -0
  96. package/src/scss/components/_pagination.scss +64 -0
  97. package/src/scss/components/_placeholders.scss +52 -0
  98. package/src/scss/components/_popovers.scss +69 -0
  99. package/src/scss/components/_progress.scss +90 -0
  100. package/src/scss/components/_range.scss +82 -0
  101. package/src/scss/components/_scrollspy.scss +239 -0
  102. package/src/scss/components/_skeleton.scss +108 -0
  103. package/src/scss/components/_slider.scss +95 -0
  104. package/src/scss/components/_snippet.scss +79 -0
  105. package/src/scss/components/_spinners.scss +137 -0
  106. package/src/scss/components/_stat.scss +42 -0
  107. package/src/scss/components/_stepper.scss +104 -0
  108. package/src/scss/components/_switch.scss +57 -0
  109. package/src/scss/components/_table.scss +109 -0
  110. package/src/scss/components/_tag.scss +60 -0
  111. package/src/scss/components/_tags-input.scss +60 -0
  112. package/src/scss/components/_timeline.scss +238 -0
  113. package/src/scss/components/_toasts.scss +75 -0
  114. package/src/scss/components/_tooltips.scss +50 -0
  115. package/src/scss/components/_tree-view.scss +72 -0
  116. package/src/scss/components/_user.scss +26 -0
  117. package/src/scss/docs/_examples.scss +148 -0
  118. package/src/scss/docs/_layout.scss +251 -0
  119. package/src/scss/docs/_search.scss +141 -0
  120. package/src/scss/eldo.scss +74 -0
  121. package/src/scss/layout/_container.scss +37 -0
  122. package/src/scss/layout/_grid.scss +49 -0
  123. package/src/scss/pages/_landing-config.scss +135 -0
  124. package/src/scss/pages/_landing-features-enhanced.scss +165 -0
  125. package/src/scss/pages/_landing-hero-enhanced.scss +427 -0
  126. package/src/scss/pages/_landing-setup.scss +264 -0
  127. package/src/scss/pages/_landing.scss +1828 -0
  128. package/src/scss/utilities/_api.scss +66 -0
  129. package/src/scss/utilities/_colors.scss +32 -0
  130. package/src/scss/utilities/_display.scss +70 -0
  131. package/src/scss/utilities/_glass.scss +32 -0
  132. package/src/scss/utilities/_helpers.scss +16 -0
  133. package/src/scss/utilities/_map.scss +224 -0
  134. package/src/scss/utilities/_spacing.scss +58 -0
@@ -0,0 +1,70 @@
1
+ @use "sass:color";
2
+ @use "../abstracts/variables" as *;
3
+
4
+ // Inline code
5
+ code {
6
+ font-size: 0.875em;
7
+ color: $primary;
8
+ word-wrap: break-word;
9
+
10
+ // Only apply background if not inside pre
11
+ &:not(pre > &) {
12
+ padding: 0.125rem 0.25rem;
13
+ background-color: $gray-100;
14
+ border-radius: $border-radius-sm;
15
+ }
16
+ }
17
+
18
+ // Code block styling enhancements
19
+ pre {
20
+ position: relative;
21
+ padding: 1rem;
22
+ background-color: $gray-100;
23
+ border: 1px solid $gray-200;
24
+ border-radius: $border-radius;
25
+
26
+ // Ensure the code doesn't overlap with the button if it's long
27
+ code {
28
+ display: block;
29
+ padding-right: 3rem;
30
+ color: inherit;
31
+ background-color: transparent; // Clean reset
32
+ }
33
+ }
34
+
35
+ .btn-copy {
36
+ position: absolute;
37
+ top: 0.5rem;
38
+ right: 0.5rem;
39
+ z-index: 10;
40
+ display: inline-flex;
41
+ align-items: center;
42
+ justify-content: center;
43
+ padding: 0.25rem 0.5rem;
44
+ font-size: 0.75rem;
45
+ font-weight: 500;
46
+ line-height: 1;
47
+ color: $gray-600;
48
+ background-color: #fff;
49
+ border: 1px solid $gray-300;
50
+ border-radius: $border-radius-sm;
51
+ cursor: pointer;
52
+ transition: all 0.2s ease;
53
+
54
+ &:hover {
55
+ color: $primary;
56
+ border-color: $primary;
57
+ background-color: $light;
58
+ }
59
+
60
+ &:focus {
61
+ outline: none;
62
+ box-shadow: 0 0 0 2px rgba($primary, 0.25);
63
+ }
64
+
65
+ &.copied {
66
+ color: $success;
67
+ border-color: $success;
68
+ background-color: rgba($success, 0.1);
69
+ }
70
+ }
@@ -0,0 +1,13 @@
1
+ @use "../abstracts/variables" as *;
2
+
3
+ .collapse {
4
+ &:not(.show) {
5
+ display: none;
6
+ }
7
+ }
8
+
9
+ .collapsing {
10
+ height: 0;
11
+ overflow: hidden;
12
+ transition: height 0.35s ease;
13
+ }
@@ -0,0 +1,239 @@
1
+ @use "sass:color";
2
+ @use "../abstracts/variables" as *;
3
+
4
+ .combobox-container {
5
+ position: relative;
6
+ width: 100%;
7
+ display: flex;
8
+ flex-wrap: wrap;
9
+ align-items: center;
10
+ min-height: calc(1.5em + 0.75rem + 2px);
11
+ padding: 0.125rem;
12
+ background-color: #fff;
13
+ border: 1px solid $gray-300;
14
+ border-radius: $border-radius;
15
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
16
+
17
+ &:focus-within {
18
+ border-color: color.scale($primary, $lightness: 25%);
19
+ box-shadow: 0 0 0 0.25rem rgba($primary, 0.25);
20
+ }
21
+
22
+ .combobox-input {
23
+ flex: 1 1 auto;
24
+ border: none !important;
25
+ padding: 0.375rem 0.75rem;
26
+ background: transparent;
27
+ outline: none;
28
+ min-width: 50px;
29
+ color: $body-color;
30
+
31
+ &::placeholder {
32
+ color: $gray-500;
33
+ }
34
+ }
35
+
36
+ .combobox-toggle-btn,
37
+ .combobox-clear-btn {
38
+ position: absolute;
39
+ top: 0;
40
+ height: 100%;
41
+ border: none;
42
+ background: transparent;
43
+ color: $gray-500;
44
+ display: flex;
45
+ align-items: center;
46
+ justify-content: center;
47
+ cursor: pointer;
48
+ padding: 0;
49
+ z-index: 2;
50
+ transition: color 0.15s ease;
51
+
52
+ &:hover {
53
+ color: $primary;
54
+ }
55
+
56
+ &:focus {
57
+ outline: none;
58
+ color: $primary;
59
+ }
60
+
61
+ svg {
62
+ transition: transform 0.2s ease;
63
+ }
64
+ }
65
+
66
+ .combobox-toggle-btn {
67
+ right: 0;
68
+ width: 2.5rem;
69
+ }
70
+
71
+ .combobox-clear-btn {
72
+ right: 2rem;
73
+ width: 1.5rem;
74
+ opacity: 0;
75
+ pointer-events: none;
76
+ transition: opacity 0.2s ease, color 0.15s ease;
77
+
78
+ &.show {
79
+ opacity: 1;
80
+ pointer-events: auto;
81
+ }
82
+ }
83
+
84
+ &.open .combobox-toggle-btn svg {
85
+ transform: rotate(180deg);
86
+ }
87
+
88
+ // Sizes
89
+ &-sm {
90
+ min-height: calc(1.5em + 0.5rem + 2px);
91
+
92
+ .combobox-input {
93
+ padding: 0.25rem 0.5rem;
94
+ font-size: 0.875rem;
95
+ }
96
+
97
+ .combobox-toggle-btn {
98
+ width: 2rem;
99
+ }
100
+
101
+ .combobox-clear-btn {
102
+ right: 1.5rem;
103
+ width: 1.25rem;
104
+ }
105
+ }
106
+
107
+ &-lg {
108
+ min-height: calc(1.5em + 1rem + 2px);
109
+
110
+ .combobox-input {
111
+ padding: 0.5rem 1rem;
112
+ font-size: 1.25rem;
113
+ }
114
+
115
+ .combobox-toggle-btn {
116
+ width: 3rem;
117
+ }
118
+
119
+ .combobox-clear-btn {
120
+ right: 2.5rem;
121
+ width: 2rem;
122
+ }
123
+ }
124
+
125
+ // Multi-select Tags
126
+ .combobox-tags {
127
+ display: flex;
128
+ flex-wrap: wrap;
129
+ gap: 0.25rem;
130
+ padding: 0.125rem 0.25rem;
131
+
132
+ .combobox-tag {
133
+ display: inline-flex;
134
+ align-items: center;
135
+ background-color: color.scale($primary, $lightness: 90%);
136
+ color: $primary;
137
+ padding: 0.125rem 0.5rem;
138
+ border-radius: $border-radius-sm;
139
+ font-size: 0.8125rem;
140
+ font-weight: 500;
141
+ border: 1px solid color.scale($primary, $lightness: 80%);
142
+
143
+ .btn-close {
144
+ padding: 0;
145
+ margin-left: 0.375rem;
146
+ width: 0.5rem;
147
+ height: 0.5rem;
148
+ font-size: 0.5rem;
149
+ background-size: 0.5rem;
150
+ }
151
+ }
152
+ }
153
+ }
154
+
155
+ .combobox-dropdown {
156
+ position: absolute;
157
+ top: 100%;
158
+ left: 0;
159
+ right: 0;
160
+ margin-top: 0.375rem;
161
+ padding: 0.375rem;
162
+ background-color: rgba(255, 255, 255, 0.85);
163
+ border: 1px solid rgba($gray-200, 0.5);
164
+ border-radius: $border-radius-lg;
165
+ box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
166
+ z-index: 1050;
167
+ max-height: 250px;
168
+ overflow-y: auto;
169
+ display: none;
170
+ backdrop-filter: blur(12px);
171
+ -webkit-backdrop-filter: blur(12px);
172
+
173
+ // Scrollbar styling
174
+ &::-webkit-scrollbar {
175
+ width: 5px;
176
+ }
177
+
178
+ &::-webkit-scrollbar-thumb {
179
+ background-color: $gray-300;
180
+ border-radius: 10px;
181
+ }
182
+
183
+ &.show {
184
+ display: block;
185
+ animation: comboboxFadeIn 0.2s ease-out;
186
+ }
187
+
188
+ .combobox-option {
189
+ padding: 0.5rem 0.75rem;
190
+ cursor: pointer;
191
+ color: $body-color;
192
+ border-radius: $border-radius;
193
+ margin-bottom: 0.125rem;
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: space-between;
197
+ transition: all 0.15s ease;
198
+
199
+ &:last-child {
200
+ margin-bottom: 0;
201
+ }
202
+
203
+ &:hover,
204
+ &.active,
205
+ &.highlighted {
206
+ background-color: rgba($primary, 0.1);
207
+ color: $primary;
208
+ transform: translateX(4px);
209
+ }
210
+
211
+ &.selected {
212
+ background-color: $primary;
213
+ color: #fff;
214
+
215
+ &::after {
216
+ content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M12.736 3.97a.733.733 0 0 1 1.047 0c.286.289.29.756.01 1.05L7.88 12.01a.733.733 0 0 1-1.065.02L3.217 8.384a.757.757 0 0 1 0-1.06.733.733 0 0 1 1.047 0l3.052 3.093 5.4-6.425a.247.247 0 0 1 .02-.022z'/%3E%3C/svg%3E");
217
+ }
218
+ }
219
+ }
220
+
221
+ .combobox-empty {
222
+ padding: 1rem;
223
+ color: $gray-500;
224
+ text-align: center;
225
+ font-size: 0.875rem;
226
+ }
227
+ }
228
+
229
+ @keyframes comboboxFadeIn {
230
+ from {
231
+ opacity: 0;
232
+ transform: translateY(-10px);
233
+ }
234
+
235
+ to {
236
+ opacity: 1;
237
+ transform: translateY(0);
238
+ }
239
+ }
@@ -0,0 +1,102 @@
1
+ @use "sass:color";
2
+ @use "../abstracts/variables" as *;
3
+
4
+ .date-picker {
5
+ position: relative;
6
+ display: inline-block;
7
+
8
+ .date-picker-input-group {
9
+ display: flex;
10
+ align-items: center;
11
+ position: relative;
12
+
13
+ .form-control {
14
+ padding-right: 2.5rem; // Space for icon
15
+ }
16
+
17
+ .date-picker-icon {
18
+ position: absolute;
19
+ right: 0.75rem;
20
+ color: $gray-500;
21
+ pointer-events: none;
22
+ }
23
+ }
24
+
25
+ .date-picker-popover {
26
+ position: absolute;
27
+ top: 100%;
28
+ left: 0;
29
+ z-index: 1060;
30
+ margin-top: 0.5rem;
31
+ background-color: #fff;
32
+ border: 1px solid rgba(0, 0, 0, 0.1);
33
+ border-radius: $border-radius-lg;
34
+ box-shadow: $box-shadow-lg;
35
+ display: none; // hidden by default
36
+
37
+ &.show {
38
+ display: block;
39
+ animation: fadeInScale 0.2s ease-out;
40
+ }
41
+
42
+ @keyframes fadeInScale {
43
+ from {
44
+ opacity: 0;
45
+ transform: scale(0.95);
46
+ }
47
+
48
+ to {
49
+ opacity: 1;
50
+ transform: scale(1);
51
+ }
52
+ }
53
+ }
54
+ }
55
+
56
+ .time-input {
57
+ display: flex;
58
+ align-items: center;
59
+ border: 1px solid $gray-300;
60
+ border-radius: $border-radius;
61
+ padding: 0.25rem 0.5rem;
62
+ background-color: #fff;
63
+
64
+ input[type="number"] {
65
+ border: none;
66
+ width: 2.5rem;
67
+ text-align: center;
68
+ -moz-appearance: textfield;
69
+ appearance: textfield;
70
+
71
+ &:focus {
72
+ outline: none;
73
+ background-color: $gray-100;
74
+ border-radius: $border-radius-sm;
75
+ }
76
+
77
+ &::-webkit-outer-spin-button,
78
+ &::-webkit-inner-spin-button {
79
+ -webkit-appearance: none;
80
+ margin: 0;
81
+ }
82
+ }
83
+
84
+ .time-separator {
85
+ margin: 0 0.25rem;
86
+ font-weight: bold;
87
+ color: $gray-500;
88
+ }
89
+
90
+ .time-period {
91
+ margin-left: 0.5rem;
92
+ color: $gray-600;
93
+ font-size: 0.875rem;
94
+ cursor: pointer;
95
+ padding: 0.125rem 0.375rem;
96
+ border-radius: $border-radius-sm;
97
+
98
+ &:hover {
99
+ background-color: $gray-100;
100
+ }
101
+ }
102
+ }
@@ -0,0 +1,55 @@
1
+ @use "../abstracts/variables" as *;
2
+
3
+ .divider {
4
+ display: flex;
5
+ align-items: center;
6
+ width: 100%;
7
+ margin: $spacer 0;
8
+ color: $gray-500;
9
+ font-size: $font-size-sm;
10
+ white-space: nowrap;
11
+ border: 0; // Reset hr
12
+
13
+ // Line style
14
+ &::before,
15
+ &::after {
16
+ content: "";
17
+ flex: 1;
18
+ border-top: 1px solid $gray-200;
19
+ }
20
+
21
+ &:not(:empty)::before {
22
+ margin-right: $spacer * 0.5;
23
+ }
24
+
25
+ &:not(:empty)::after {
26
+ margin-left: $spacer * 0.5;
27
+ }
28
+
29
+ // Vertical Divider
30
+ &.divider-vertical {
31
+ display: inline-flex;
32
+ width: auto;
33
+ height: auto;
34
+ min-height: 1.5rem;
35
+ margin: 0 $spacer;
36
+ flex-direction: column;
37
+ align-self: stretch;
38
+
39
+ &::before,
40
+ &::after {
41
+ border-top: 0;
42
+ border-left: 1px solid $gray-200;
43
+ }
44
+
45
+ &:not(:empty)::before {
46
+ margin-right: 0;
47
+ margin-bottom: $spacer * 0.5;
48
+ }
49
+
50
+ &:not(:empty)::after {
51
+ margin-left: 0;
52
+ margin-top: $spacer * 0.5;
53
+ }
54
+ }
55
+ }
@@ -0,0 +1,122 @@
1
+ @use "sass:color";
2
+ @use "../abstracts/variables" as *;
3
+
4
+ .dropdown {
5
+ position: relative;
6
+ display: inline-block;
7
+ }
8
+
9
+ .dropdown-toggle {
10
+ white-space: nowrap;
11
+ display: flex;
12
+ align-items: center;
13
+ gap: 0.5rem;
14
+
15
+ &::after {
16
+ display: inline-block;
17
+ content: "";
18
+ border-top: 0.3em solid;
19
+ border-right: 0.3em solid transparent;
20
+ border-bottom: 0;
21
+ border-left: 0.3em solid transparent;
22
+ transition: transform 0.2s;
23
+ }
24
+
25
+ &[aria-expanded="true"]::after {
26
+ transform: rotate(180deg);
27
+ }
28
+ }
29
+
30
+ .dropdown-menu {
31
+ position: absolute;
32
+ top: 100%;
33
+ left: 0;
34
+ z-index: 1000;
35
+ display: none;
36
+ min-width: 12rem;
37
+ padding: 0.5rem;
38
+ margin: 0.5rem 0 0; // Spacing from button
39
+ font-size: 0.875rem;
40
+ color: $body-color;
41
+ text-align: left;
42
+ list-style: none;
43
+ background-color: #fff;
44
+ background-clip: padding-box;
45
+ border: 0; // No border
46
+ border-radius: $border-radius-lg;
47
+ box-shadow: $box-shadow-lg;
48
+ opacity: 0;
49
+ transition: opacity 0.2s ease;
50
+
51
+ &.show {
52
+ display: block;
53
+ opacity: 1;
54
+ animation: dropdown-fade-in 0.2s ease forwards;
55
+ }
56
+ }
57
+
58
+ @keyframes dropdown-fade-in {
59
+ from {
60
+ opacity: 0;
61
+ margin-top: 1.5rem; // Increased offset start
62
+ }
63
+
64
+ to {
65
+ opacity: 1;
66
+ margin-top: 0.5rem; // Target offset
67
+ }
68
+ }
69
+
70
+ .dropdown-item {
71
+ display: block;
72
+ width: 100%;
73
+ padding: 0.5rem 0.75rem;
74
+ clear: both;
75
+ font-weight: 400;
76
+ color: $body-color;
77
+ text-align: inherit;
78
+ white-space: nowrap;
79
+ background-color: transparent;
80
+ border: 0;
81
+ border-radius: $border-radius; // Rounded items
82
+ text-decoration: none;
83
+ transition: background-color 0.15s, color 0.15s;
84
+
85
+ &:hover,
86
+ &:focus {
87
+ color: $dark;
88
+ background-color: $gray-100; // Light gray hover like HeroUI
89
+ }
90
+
91
+ &.active,
92
+ &:active {
93
+ color: $primary;
94
+ background-color: color.scale($primary, $lightness: 90%); // Light primary bg
95
+ font-weight: $font-weight-semibold;
96
+ }
97
+
98
+ &.disabled,
99
+ &:disabled {
100
+ color: $gray-400;
101
+ pointer-events: none;
102
+ background-color: transparent;
103
+ }
104
+ }
105
+
106
+ .dropdown-divider {
107
+ height: 0;
108
+ margin: 0.5rem 0;
109
+ overflow: hidden;
110
+ border-top: 1px solid $gray-100;
111
+ }
112
+
113
+ .dropdown-header {
114
+ display: block;
115
+ padding: 0.5rem 1rem;
116
+ margin-bottom: 0;
117
+ font-size: 0.75rem;
118
+ color: $gray-500;
119
+ white-space: nowrap;
120
+ font-weight: $font-weight-bold;
121
+ text-transform: uppercase;
122
+ }