@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,66 @@
1
+ @use "sass:map";
2
+ @use "sass:meta";
3
+ @use "../abstracts/variables" as *;
4
+ @use "../abstracts/mixins" as *;
5
+ @use "map" as *;
6
+
7
+ // Loop over each breakpoint
8
+ @each $breakpoint in map.keys($grid-breakpoints) {
9
+
10
+ // Generate media query content if breakpoint is not xs
11
+ @include media-up($breakpoint) {
12
+ $infix: "";
13
+
14
+ @if $breakpoint !="xs" {
15
+ $infix: "-#{$breakpoint}";
16
+ }
17
+
18
+ // Loop over each utility property in the map
19
+ @each $key, $utility in $utilities {
20
+
21
+ // Check if utility is meant to be responsive or if it's XS (base)
22
+ @if (map.get($utility, responsive) or $infix =="") {
23
+
24
+ $values: map.get($utility, values);
25
+ $property: map.get($utility, property);
26
+
27
+ $property-class: $key;
28
+
29
+ @if map.has-key($utility, class) {
30
+ $property-class: map.get($utility, class);
31
+ }
32
+
33
+ $state: null;
34
+
35
+ @if map.has-key($utility, state) {
36
+ $state: map.get($utility, state);
37
+ }
38
+
39
+ // Assuming values is a map (key: value)
40
+ @if meta.type-of($values)=="map" {
41
+ @each $class-modifier, $value in $values {
42
+ // Create the class name
43
+ $property-class-modifier: "";
44
+
45
+ @if $class-modifier !=null {
46
+ $property-class-modifier: "-" + $class-modifier;
47
+ }
48
+
49
+ // Output the class
50
+ .#{$property-class}#{$infix}#{$property-class-modifier} {
51
+ #{$property}: $value !important;
52
+ }
53
+ }
54
+ }
55
+
56
+ @else if meta.type-of($values)=="list" {
57
+ @each $value in $values {
58
+ .#{$property-class}#{$infix}-#{$value} {
59
+ #{$property}: $value !important;
60
+ }
61
+ }
62
+ }
63
+ }
64
+ }
65
+ }
66
+ }
@@ -0,0 +1,32 @@
1
+ @use "../abstracts/variables" as *;
2
+ @use "../abstracts/functions" as *;
3
+
4
+ $theme-colors: (
5
+ "primary": $primary,
6
+ "secondary": $secondary,
7
+ "success": $success,
8
+ "info": $info,
9
+ "warning": $warning,
10
+ "danger": $danger,
11
+ "light": $light,
12
+ "dark": $dark
13
+ );
14
+
15
+ @each $name, $value in $theme-colors {
16
+ .text-#{$name} {
17
+ color: var(--e-#{$name}) !important;
18
+ }
19
+
20
+ .bg-#{$name} {
21
+ background-color: var(--e-#{$name}) !important;
22
+ color: color-contrast($value);
23
+ }
24
+ }
25
+
26
+ .text-white {
27
+ color: #fff !important;
28
+ }
29
+
30
+ .text-body {
31
+ color: var(--e-body-color) !important;
32
+ }
@@ -0,0 +1,70 @@
1
+ @use "sass:map";
2
+ @use "../abstracts/variables" as *;
3
+ @use "../abstracts/mixins" as *;
4
+
5
+ @each $breakpoint in map.keys($grid-breakpoints) {
6
+ $infix: "";
7
+
8
+ @if $breakpoint !=xs {
9
+ $infix: "-#{$breakpoint}";
10
+ }
11
+
12
+ @include media-up($breakpoint) {
13
+ .d#{$infix}-none {
14
+ display: none !important;
15
+ }
16
+
17
+ .d#{$infix}-block {
18
+ display: block !important;
19
+ }
20
+
21
+ .d#{$infix}-flex {
22
+ display: flex !important;
23
+ }
24
+
25
+ .d#{$infix}-inline {
26
+ display: inline !important;
27
+ }
28
+
29
+ .d#{$infix}-inline-block {
30
+ display: inline-block !important;
31
+ }
32
+
33
+ // Flex utilities
34
+ .flex#{$infix}-row {
35
+ flex-direction: row !important;
36
+ }
37
+
38
+ .flex#{$infix}-column {
39
+ flex-direction: column !important;
40
+ }
41
+
42
+ .justify-content#{$infix}-start {
43
+ justify-content: flex-start !important;
44
+ }
45
+
46
+ .justify-content#{$infix}-center {
47
+ justify-content: center !important;
48
+ }
49
+
50
+ .justify-content#{$infix}-end {
51
+ justify-content: flex-end !important;
52
+ }
53
+
54
+ .justify-content#{$infix}-between {
55
+ justify-content: space-between !important;
56
+ }
57
+
58
+ .align-items#{$infix}-start {
59
+ align-items: flex-start !important;
60
+ }
61
+
62
+ .align-items#{$infix}-center {
63
+ align-items: center !important;
64
+ }
65
+
66
+ .align-items#{$infix}-end {
67
+ align-items: flex-end !important;
68
+ }
69
+ }
70
+ }
@@ -0,0 +1,32 @@
1
+ @use "sass:color";
2
+ @use "../abstracts/variables" as *;
3
+
4
+ .glass {
5
+ background-color: rgba($white, 0.7);
6
+ backdrop-filter: blur(10px);
7
+ -webkit-backdrop-filter: blur(10px);
8
+ border: 1px solid rgba($white, 0.2);
9
+ }
10
+
11
+ .glass-dark {
12
+ background-color: rgba($dark, 0.7);
13
+ backdrop-filter: blur(10px);
14
+ -webkit-backdrop-filter: blur(10px);
15
+ border: 1px solid rgba($white, 0.1);
16
+ }
17
+
18
+ .glass-primary {
19
+ background-color: rgba($primary, 0.2);
20
+ backdrop-filter: blur(12px);
21
+ -webkit-backdrop-filter: blur(12px);
22
+ border: 1px solid rgba($primary, 0.3);
23
+ }
24
+
25
+ // Border only glass
26
+ .glass-border {
27
+ border-color: rgba($white, 0.2);
28
+
29
+ &:hover {
30
+ border-color: rgba($white, 0.4);
31
+ }
32
+ }
@@ -0,0 +1,16 @@
1
+ //
2
+ // Screenreaders
3
+ //
4
+
5
+ .visually-hidden,
6
+ .visually-hidden-focusable:not(:focus):not(:focus-within) {
7
+ position: absolute !important;
8
+ width: 1px !important;
9
+ height: 1px !important;
10
+ padding: 0 !important;
11
+ margin: -1px !important;
12
+ overflow: hidden !important;
13
+ clip: rect(0, 0, 0, 0) !important;
14
+ white-space: nowrap !important;
15
+ border: 0 !important;
16
+ }
@@ -0,0 +1,224 @@
1
+ @use "sass:map";
2
+ @use "../abstracts/variables" as *;
3
+
4
+ $utilities: (
5
+ // Spacing
6
+ "margin": (responsive: true,
7
+ property: margin,
8
+ class: m,
9
+ values: map.merge($spacers, (auto: auto))),
10
+ "margin-x": (responsive: true,
11
+ property: margin-inline,
12
+ class: mx,
13
+ values: map.merge($spacers, (auto: auto))),
14
+ "margin-y": (responsive: true,
15
+ property: margin-block,
16
+ class: my,
17
+ values: map.merge($spacers, (auto: auto))),
18
+ "margin-top": (responsive: true,
19
+ property: margin-top,
20
+ class: mt,
21
+ values: map.merge($spacers, (auto: auto))),
22
+ "margin-end": (responsive: true,
23
+ property: margin-right,
24
+ class: me,
25
+ values: map.merge($spacers, (auto: auto))),
26
+ "margin-bottom": (responsive: true,
27
+ property: margin-bottom,
28
+ class: mb,
29
+ values: map.merge($spacers, (auto: auto))),
30
+ "margin-start": (responsive: true,
31
+ property: margin-left,
32
+ class: ms,
33
+ values: map.merge($spacers, (auto: auto))),
34
+ // Padding
35
+ "padding": (responsive: true,
36
+ property: padding,
37
+ class: p,
38
+ values: $spacers ),
39
+ "padding-x": (responsive: true,
40
+ property: padding-inline,
41
+ class: px,
42
+ values: $spacers ),
43
+ "padding-y": (responsive: true,
44
+ property: padding-block,
45
+ class: py,
46
+ values: $spacers ),
47
+ "padding-top": (responsive: true,
48
+ property: padding-top,
49
+ class: pt,
50
+ values: $spacers ),
51
+ "padding-end": (responsive: true,
52
+ property: padding-right,
53
+ class: pe,
54
+ values: $spacers ),
55
+ "padding-bottom": (responsive: true,
56
+ property: padding-bottom,
57
+ class: pb,
58
+ values: $spacers ),
59
+ "padding-start": (responsive: true,
60
+ property: padding-left,
61
+ class: ps,
62
+ values: $spacers ),
63
+ // Display
64
+ "display": (responsive: true,
65
+ property: display,
66
+ class: d,
67
+ values: (none: none,
68
+ inline: inline,
69
+ inline-block: inline-block,
70
+ block: block,
71
+ grid: grid,
72
+ flex: flex,
73
+ inline-flex: inline-flex)),
74
+ // Flex
75
+ "flex-direction": (responsive: true,
76
+ property: flex-direction,
77
+ class: flex,
78
+ values: (row: row,
79
+ column: column,
80
+ row-reverse: row-reverse,
81
+ column-reverse: column-reverse)),
82
+ "flex-grow": (responsive: true,
83
+ property: flex-grow,
84
+ class: flex,
85
+ values: (grow-0: 0,
86
+ grow-1: 1)),
87
+ "justify-content": (responsive: true,
88
+ property: justify-content,
89
+ values: (start: flex-start,
90
+ end: flex-end,
91
+ center: center,
92
+ between: space-between,
93
+ around: space-around,
94
+ evenly: space-evenly)),
95
+ "align-items": (responsive: true,
96
+ property: align-items,
97
+ values: (start: flex-start,
98
+ end: flex-end,
99
+ center: center,
100
+ baseline: baseline,
101
+ stretch: stretch)),
102
+ "align-self": (responsive: true,
103
+ property: align-self,
104
+ values: (auto: auto,
105
+ start: flex-start,
106
+ end: flex-end,
107
+ center: center,
108
+ baseline: baseline,
109
+ stretch: stretch)),
110
+ // Gap
111
+ "gap": (responsive: true,
112
+ property: gap,
113
+ class: gap,
114
+ values: $spacers ),
115
+ // Sizing
116
+ "width": (responsive: true,
117
+ property: width,
118
+ class: w,
119
+ values: (25: 25%,
120
+ 50: 50%,
121
+ 75: 75%,
122
+ 100: 100%,
123
+ auto: auto)),
124
+ "height": (responsive: true,
125
+ property: height,
126
+ class: h,
127
+ values: (25: 25%,
128
+ 50: 50%,
129
+ 75: 75%,
130
+ 100: 100%,
131
+ auto: auto)),
132
+ "viewport-height": (responsive: true,
133
+ property: height,
134
+ class: vh,
135
+ values: (100: 100vh)),
136
+ "viewport-width": (responsive: true,
137
+ property: width,
138
+ class: vw,
139
+ values: (100: 100vw)),
140
+ // Text
141
+ "text-align": (responsive: true,
142
+ property: text-align,
143
+ class: text,
144
+ values: (start: left,
145
+ center: center,
146
+ end: right)),
147
+ "font-weight": (property: font-weight,
148
+ class: fw,
149
+ values: (light: $font-weight-light,
150
+ normal: $font-weight-normal,
151
+ medium: $font-weight-medium,
152
+ bold: $font-weight-bold,
153
+ semibold: $font-weight-semibold )),
154
+ "text-transform": (property: text-transform,
155
+ class: text,
156
+ values: lowercase uppercase capitalize),
157
+ "text-decoration": (property: text-decoration,
158
+ class: text,
159
+ values: none underline line-through),
160
+ "font-size": (property: font-size,
161
+ class: fs,
162
+ values: (1: $h1-font-size,
163
+ 2: $h2-font-size,
164
+ 3: $h3-font-size,
165
+ 4: $h4-font-size,
166
+ 5: $h5-font-size,
167
+ 6: $h6-font-size )),
168
+ // Borders
169
+ "border": (property: border,
170
+ values: (null: 1px solid $gray-200,
171
+ 0: 0)),
172
+ "border-top": (property: border-top,
173
+ values: (null: 1px solid $gray-200,
174
+ 0: 0)),
175
+ "border-bottom": (property: border-bottom,
176
+ values: (null: 1px solid $gray-200,
177
+ 0: 0)),
178
+ "rounded": (property: border-radius,
179
+ class: rounded,
180
+ values: (null: $border-radius,
181
+ 0: 0,
182
+ 1: $border-radius-sm,
183
+ 2: $border-radius,
184
+ 3: $border-radius-lg,
185
+ circle: 50%,
186
+ pill: 50rem)),
187
+ // Position
188
+ "position": (property: position,
189
+ values: static relative absolute fixed sticky),
190
+ "top": (property: top,
191
+ values: (0: 0,
192
+ 50: 50%,
193
+ 100: 100%)),
194
+ "bottom": (property: bottom,
195
+ values: (0: 0,
196
+ 50: 50%,
197
+ 100: 100%)),
198
+ "start": (property: left,
199
+ class: start,
200
+ values: (0: 0,
201
+ 50: 50%,
202
+ 100: 100%)),
203
+ "end": (property: right,
204
+ class: end,
205
+ values: (0: 0,
206
+ 50: 50%,
207
+ 100: 100%)),
208
+ "translate-middle": (property: transform,
209
+ class: translate,
210
+ values: (middle: translate(-50%, -50%),
211
+ middle-x: translateX(-50%),
212
+ middle-y: translateY(-50%))),
213
+ // Shadows
214
+ "shadow": (property: box-shadow,
215
+ class: shadow,
216
+ values: (null: $box-shadow,
217
+ sm: $box-shadow-sm,
218
+ lg: $box-shadow-lg,
219
+ none: none)),
220
+ // Float
221
+ "float": (responsive: true,
222
+ property: float,
223
+ values: start end none)
224
+ );
@@ -0,0 +1,58 @@
1
+ @use "sass:map";
2
+ @use "../abstracts/variables" as *;
3
+ @use "../abstracts/mixins" as *;
4
+
5
+ $utilities-spacing: (
6
+ "m": "margin",
7
+ "p": "padding",
8
+ "mt": "margin-top",
9
+ "mb": "margin-bottom",
10
+ "ms": "margin-left",
11
+ "me": "margin-right",
12
+ "mx": "margin-inline",
13
+ "my": "margin-block",
14
+ "pt": "padding-top",
15
+ "pb": "padding-bottom",
16
+ "ps": "padding-left",
17
+ "pe": "padding-right",
18
+ "px": "padding-inline",
19
+ "py": "padding-block"
20
+ );
21
+
22
+ @each $breakpoint in map.keys($grid-breakpoints) {
23
+ $infix: "";
24
+
25
+ @if $breakpoint !=xs {
26
+ $infix: "-#{$breakpoint}";
27
+ }
28
+
29
+ @include media-up($breakpoint) {
30
+ @each $key, $prop in $utilities-spacing {
31
+ @each $size-key, $size-val in $spacers {
32
+ .#{$key}#{$infix}-#{$size-key} {
33
+ #{$prop}: $size-val !important;
34
+ }
35
+ }
36
+ }
37
+
38
+ .m#{$infix}-auto {
39
+ margin: auto !important;
40
+ }
41
+
42
+ .mt#{$infix}-auto {
43
+ margin-top: auto !important;
44
+ }
45
+
46
+ .mb#{$infix}-auto {
47
+ margin-bottom: auto !important;
48
+ }
49
+
50
+ .ms#{$infix}-auto {
51
+ margin-left: auto !important;
52
+ }
53
+
54
+ .me#{$infix}-auto {
55
+ margin-right: auto !important;
56
+ }
57
+ }
58
+ }