@nuvoui/core 0.2.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 (48) hide show
  1. package/README.md +19 -0
  2. package/dist/dark.css +1 -0
  3. package/dist/index.css +1 -0
  4. package/dist/index.css.map +1 -0
  5. package/dist/index.html +15 -0
  6. package/dist/light.css +1 -0
  7. package/dist/main.css +1 -0
  8. package/dist/main.js +1 -0
  9. package/package.json +43 -0
  10. package/src/js/main.js +1 -0
  11. package/src/styles/_global.scss +3 -0
  12. package/src/styles/base/_base.scss +75 -0
  13. package/src/styles/base/_reset.scss +92 -0
  14. package/src/styles/components/_alert.scss +0 -0
  15. package/src/styles/components/_avatar.scss +0 -0
  16. package/src/styles/components/_badge.scss +0 -0
  17. package/src/styles/components/_breadcrumb.scss +0 -0
  18. package/src/styles/components/_button.scss +247 -0
  19. package/src/styles/components/_calendar.scss +0 -0
  20. package/src/styles/components/_card.scss +0 -0
  21. package/src/styles/components/_checkbox.scss +23 -0
  22. package/src/styles/components/_dropdown.scss +0 -0
  23. package/src/styles/components/_form.scss +157 -0
  24. package/src/styles/components/_modal.scss +0 -0
  25. package/src/styles/components/_navbar.scss +125 -0
  26. package/src/styles/components/_pagination.scss +0 -0
  27. package/src/styles/components/_progress.scss +0 -0
  28. package/src/styles/components/_radio.scss +0 -0
  29. package/src/styles/components/_sidebar.scss +0 -0
  30. package/src/styles/components/_table.scss +0 -0
  31. package/src/styles/components/_tabs.scss +0 -0
  32. package/src/styles/components/_tooltip.scss +0 -0
  33. package/src/styles/index.scss +34 -0
  34. package/src/styles/layouts/_container.scss +49 -0
  35. package/src/styles/layouts/_flex.scss +138 -0
  36. package/src/styles/layouts/_grid.scss +147 -0
  37. package/src/styles/themes/_dark.scss +26 -0
  38. package/src/styles/themes/_light.scss +23 -0
  39. package/src/styles/themes/_theme.scss +136 -0
  40. package/src/styles/utilities/_animations.scss +135 -0
  41. package/src/styles/utilities/_colors.scss +158 -0
  42. package/src/styles/utilities/_functions.scss +59 -0
  43. package/src/styles/utilities/_position.scss +97 -0
  44. package/src/styles/utilities/_shadows.scss +107 -0
  45. package/src/styles/utilities/_spacing.scss +109 -0
  46. package/src/styles/utilities/_tooltips.scss +213 -0
  47. package/src/styles/utilities/_typography.scss +108 -0
  48. package/src/styles/utilities/_variables.scss +70 -0
@@ -0,0 +1,213 @@
1
+
2
+
3
+ [data-tooltip][role~="tooltip"] {
4
+ position: relative
5
+ }
6
+
7
+ [data-tooltip][role~="tooltip"]::before,
8
+ [data-tooltip][role~="tooltip"]::after {
9
+ transform: translate3d(0, 0, 0);
10
+ -webkit-backface-visibility: hidden;
11
+ backface-visibility: hidden;
12
+ will-change: transform;
13
+ opacity: 0;
14
+ pointer-events: none;
15
+ transition: all var(--microtip-transition-duration, .18s) var(--microtip-transition-easing, ease-in-out) var(--microtip-transition-delay, 0s);
16
+ position: absolute;
17
+ box-sizing: border-box;
18
+ z-index: 10;
19
+ transform-origin: top
20
+ }
21
+
22
+ [data-tooltip][role~="tooltip"]::before {
23
+ background-size: 100% auto !important;
24
+ content: ""
25
+ }
26
+
27
+ [data-tooltip][role~="tooltip"]::after {
28
+ background: var(--tooltip-bg); //rgba(17, 17, 17, .95);
29
+ box-shadow: 0 3px 7px var(--tooltip-shadow-color);
30
+ border-radius: 4px;
31
+ color: #fff;
32
+ content: attr(data-tooltip);
33
+ font-size: var(--microtip-font-size, 13px);
34
+ font-weight: var(--microtip-font-weight, normal);
35
+ text-transform: var(--microtip-text-transform, none);
36
+ padding: .5em 1em;
37
+ white-space: nowrap;
38
+ box-sizing: content-box
39
+ }
40
+
41
+ [data-tooltip][role~="tooltip"]:hover::before,
42
+ [data-tooltip][role~="tooltip"]:hover::after,
43
+ [data-tooltip][role~="tooltip"]:focus::before,
44
+ [data-tooltip][role~="tooltip"]:focus::after {
45
+ opacity: 1;
46
+ pointer-events: auto
47
+ }
48
+
49
+ [role~="tooltip"][data-microtip-position|="top"]::before {
50
+ background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%280%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E) no-repeat;
51
+ height: 6px;
52
+ width: 18px;
53
+ margin-bottom: 5px
54
+ }
55
+
56
+ [role~="tooltip"][data-microtip-position|="top"]::after {
57
+ margin-bottom: 11px
58
+ }
59
+
60
+ [role~="tooltip"][data-microtip-position|="top"]::before {
61
+ transform: translate3d(-50%, 0, 0);
62
+ bottom: 100%;
63
+ left: 50%
64
+ }
65
+
66
+ [role~="tooltip"][data-microtip-position|="top"]:hover::before {
67
+ transform: translate3d(-50%, -5px, 0)
68
+ }
69
+
70
+ [role~="tooltip"][data-microtip-position|="top"]::after {
71
+ transform: translate3d(-50%, 0, 0);
72
+ bottom: 100%;
73
+ left: 50%
74
+ }
75
+
76
+ [role~="tooltip"][data-microtip-position="top"]:hover::after {
77
+ transform: translate3d(-50%, -5px, 0)
78
+ }
79
+
80
+ [role~="tooltip"][data-microtip-position="top-left"]::after {
81
+ transform: translate3d(calc(-100% + 16px), 0, 0);
82
+ bottom: 100%
83
+ }
84
+
85
+ [role~="tooltip"][data-microtip-position="top-left"]:hover::after {
86
+ transform: translate3d(calc(-100% + 16px), -5px, 0)
87
+ }
88
+
89
+ [role~="tooltip"][data-microtip-position="top-right"]::after {
90
+ transform: translate3d(calc(0% + -16px), 0, 0);
91
+ bottom: 100%
92
+ }
93
+
94
+ [role~="tooltip"][data-microtip-position="top-right"]:hover::after {
95
+ transform: translate3d(calc(0% + -16px), -5px, 0)
96
+ }
97
+
98
+ [role~="tooltip"][data-microtip-position|="bottom"]::before {
99
+ background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2236px%22%20height%3D%2212px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28180%2018%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E) no-repeat;
100
+ height: 6px;
101
+ width: 18px;
102
+ margin-top: 5px;
103
+ margin-bottom: 0
104
+ }
105
+
106
+ [role~="tooltip"][data-microtip-position|="bottom"]::after {
107
+ margin-top: 11px
108
+ }
109
+
110
+ [role~="tooltip"][data-microtip-position|="bottom"]::before {
111
+ transform: translate3d(-50%, -10px, 0);
112
+ bottom: auto;
113
+ left: 50%;
114
+ top: 100%
115
+ }
116
+
117
+ [role~="tooltip"][data-microtip-position|="bottom"]:hover::before {
118
+ transform: translate3d(-50%, 0, 0)
119
+ }
120
+
121
+ [role~="tooltip"][data-microtip-position|="bottom"]::after {
122
+ transform: translate3d(-50%, -10px, 0);
123
+ top: 100%;
124
+ left: 50%
125
+ }
126
+
127
+ [role~="tooltip"][data-microtip-position="bottom"]:hover::after {
128
+ transform: translate3d(-50%, 0, 0)
129
+ }
130
+
131
+ [role~="tooltip"][data-microtip-position="bottom-left"]::after {
132
+ transform: translate3d(calc(-100% + 16px), -10px, 0);
133
+ top: 100%
134
+ }
135
+
136
+ [role~="tooltip"][data-microtip-position="bottom-left"]:hover::after {
137
+ transform: translate3d(calc(-100% + 16px), 0, 0)
138
+ }
139
+
140
+ [role~="tooltip"][data-microtip-position="bottom-right"]::after {
141
+ transform: translate3d(calc(0% + -16px), -10px, 0);
142
+ top: 100%
143
+ }
144
+
145
+ [role~="tooltip"][data-microtip-position="bottom-right"]:hover::after {
146
+ transform: translate3d(calc(0% + -16px), 0, 0)
147
+ }
148
+
149
+ [role~="tooltip"][data-microtip-position="left"]::before,
150
+ [role~="tooltip"][data-microtip-position="left"]::after {
151
+ bottom: auto;
152
+ left: auto;
153
+ right: 100%;
154
+ top: 50%;
155
+ transform: translate3d(10px, -50%, 0)
156
+ }
157
+
158
+ [role~="tooltip"][data-microtip-position="left"]::before {
159
+ background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%28-90%2018%2018%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E) no-repeat;
160
+ height: 18px;
161
+ width: 6px;
162
+ margin-right: 5px;
163
+ margin-bottom: 0
164
+ }
165
+
166
+ [role~="tooltip"][data-microtip-position="left"]::after {
167
+ margin-right: 11px
168
+ }
169
+
170
+ [role~="tooltip"][data-microtip-position="left"]:hover::before,
171
+ [role~="tooltip"][data-microtip-position="left"]:hover::after {
172
+ transform: translate3d(0, -50%, 0)
173
+ }
174
+
175
+ [role~="tooltip"][data-microtip-position="right"]::before,
176
+ [role~="tooltip"][data-microtip-position="right"]::after {
177
+ bottom: auto;
178
+ left: 100%;
179
+ top: 50%;
180
+ transform: translate3d(-10px, -50%, 0)
181
+ }
182
+
183
+ [role~="tooltip"][data-microtip-position="right"]::before {
184
+ background: url(data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20width%3D%2212px%22%20height%3D%2236px%22%3E%3Cpath%20fill%3D%22rgba%2817,%2017,%2017,%200.9%29%22%20transform%3D%22rotate%2890%206%206%29%22%20d%3D%22M2.658,0.000%20C-13.615,0.000%2050.938,0.000%2034.662,0.000%20C28.662,0.000%2023.035,12.002%2018.660,12.002%20C14.285,12.002%208.594,0.000%202.658,0.000%20Z%22/%3E%3C/svg%3E) no-repeat;
185
+ height: 18px;
186
+ width: 6px;
187
+ margin-bottom: 0;
188
+ margin-left: 5px
189
+ }
190
+
191
+ [role~="tooltip"][data-microtip-position="right"]::after {
192
+ margin-left: 11px
193
+ }
194
+
195
+ [role~="tooltip"][data-microtip-position="right"]:hover::before,
196
+ [role~="tooltip"][data-microtip-position="right"]:hover::after {
197
+ transform: translate3d(0, -50%, 0)
198
+ }
199
+
200
+ [role~="tooltip"][data-microtip-size="small"]::after {
201
+ white-space: initial;
202
+ width: 80px
203
+ }
204
+
205
+ [role~="tooltip"][data-microtip-size="medium"]::after {
206
+ white-space: initial;
207
+ width: 150px
208
+ }
209
+
210
+ [role~="tooltip"][data-microtip-size="large"]::after {
211
+ white-space: initial;
212
+ width: 260px
213
+ }
@@ -0,0 +1,108 @@
1
+ @use 'sass:map';
2
+ // Import variables
3
+ @use '../utilities/variables' as *;
4
+
5
+ // Utilities for text sizes
6
+ @mixin text-xs { font-size: map.get($font-sizes, 'xs'); }
7
+ @mixin text-sm { font-size: map.get($font-sizes, 'sm'); }
8
+ @mixin text-md { font-size: map.get($font-sizes, 'md'); }
9
+ @mixin text-lg { font-size: map.get($font-sizes, 'lg'); }
10
+ @mixin text-xl { font-size: map.get($font-sizes, 'xl'); }
11
+ @mixin text-2xl { font-size: map.get($font-sizes, '2xl'); }
12
+ @mixin text-3xl { font-size: map.get($font-sizes, '3xl'); }
13
+ @mixin text-4xl { font-size: map.get($font-sizes, '4xl'); }
14
+
15
+ // Font weights
16
+ @mixin font-thin { font-weight: 100; }
17
+ @mixin font-extralight { font-weight: 200; }
18
+ @mixin font-light { font-weight: 300; }
19
+ @mixin font-normal { font-weight: 400; }
20
+ @mixin font-medium { font-weight: 500; }
21
+ @mixin font-semibold { font-weight: 600; }
22
+ @mixin font-bold { font-weight: 700; }
23
+ @mixin font-extrabold { font-weight: 800; }
24
+ @mixin font-black { font-weight: 900; }
25
+
26
+ // Line heights
27
+ @mixin leading-none { line-height: 1; }
28
+ @mixin leading-tight { line-height: 1.25; }
29
+ @mixin leading-snug { line-height: 1.375; }
30
+ @mixin leading-normal { line-height: 1.5; }
31
+ @mixin leading-relaxed { line-height: 1.625; }
32
+ @mixin leading-loose { line-height: 2; }
33
+
34
+ // Text alignment
35
+ @mixin text-left { text-align: left; }
36
+ @mixin text-center { text-align: center; }
37
+ @mixin text-right { text-align: right; }
38
+ @mixin text-justify { text-align: justify; }
39
+
40
+
41
+ // Text transform mixins
42
+ @mixin uppercase { text-transform: uppercase; }
43
+ @mixin lowercase { text-transform: lowercase; }
44
+ @mixin capitalize { text-transform: capitalize; }
45
+ @mixin normal-case { text-transform: none; }
46
+
47
+ // Font style mixins
48
+ @mixin italic { font-style: italic; }
49
+ @mixin not-italic { font-style: normal; }
50
+
51
+ // Text decoration mixins
52
+ @mixin underline { text-decoration: underline; }
53
+ @mixin line-through { text-decoration: line-through; }
54
+ @mixin no-underline { text-decoration: none; }
55
+
56
+ // Text overflow mixin
57
+ @mixin truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
58
+
59
+
60
+ // Generate text size utilities
61
+ .text-xs { @include text-xs; }
62
+ .text-sm { @include text-sm; }
63
+ .text-md { @include text-md; }
64
+ .text-lg { @include text-lg; }
65
+ .text-xl { @include text-xl; }
66
+ .text-2xl { @include text-2xl; }
67
+ .text-3xl { @include text-3xl; }
68
+ .text-4xl { @include text-4xl; }
69
+
70
+ // Generate font weight utilities
71
+ .font-thin { @include font-thin; }
72
+ .font-extralight { @include font-extralight; }
73
+ .font-light { @include font-light; }
74
+ .font-normal { @include font-normal; }
75
+ .font-medium { @include font-medium; }
76
+ .font-semibold { @include font-semibold; }
77
+ .font-bold { @include font-bold; }
78
+ .font-extrabold { @include font-extrabold; }
79
+ .font-black { @include font-black; }
80
+
81
+ // Generate line height utilities
82
+ .leading-none { @include leading-none; }
83
+ .leading-tight { @include leading-tight; }
84
+ .leading-snug { @include leading-snug; }
85
+ .leading-normal { @include leading-normal; }
86
+ .leading-relaxed { @include leading-relaxed; }
87
+ .leading-loose { @include leading-loose; }
88
+
89
+ // Generate text alignment utilities
90
+ .text-left { @include text-left; }
91
+ .text-center { @include text-center; }
92
+ .text-right { @include text-right; }
93
+ .text-justify { @include text-justify; }
94
+
95
+ // Classes using mixins
96
+ .uppercase { @include uppercase; }
97
+ .lowercase { @include lowercase; }
98
+ .capitalize { @include capitalize; }
99
+ .normal-case { @include normal-case; }
100
+
101
+ .italic { @include italic; }
102
+ .not-italic { @include not-italic; }
103
+
104
+ .underline { @include underline; }
105
+ .line-through { @include line-through; }
106
+ .no-underline { @include no-underline; }
107
+
108
+ .truncate { @include truncate; }
@@ -0,0 +1,70 @@
1
+ // Global variables that might be used across different modules
2
+ $enable-dark-mode: true;
3
+ $enable-rtl: false;
4
+ $enable-reduced-motion: true;
5
+
6
+ $column-count: 12 !default;
7
+
8
+ $color-primary: #007bff !default;
9
+ $color-secondary: #6c757d !default;
10
+ $color-success: #28a745 !default;
11
+ $color-danger: #dc3545 !default;
12
+ $color-warning: #ffc107 !default;
13
+ $color-info: #17a2b8 !default;
14
+ $color-light: #f8f9fa !default;
15
+ $color-dark: #1c1f22 !default;
16
+
17
+ $colors: (
18
+ 'primary': $color-primary,
19
+ 'secondary': $color-secondary,
20
+ 'success': $color-success,
21
+ 'danger': $color-danger,
22
+ 'warning': $color-warning,
23
+ 'info': $color-info,
24
+ 'light': $color-light,
25
+ 'dark': $color-dark
26
+ );
27
+
28
+ // Breakpoints
29
+ $breakpoints: (
30
+ 'xs': 480px,
31
+ 'sm': 640px,
32
+ 'md': 768px,
33
+ 'lg': 1024px,
34
+ 'xl': 1280px,
35
+ 'xxl': 1536px,
36
+ );
37
+
38
+ // Container max-widths
39
+ $container-max-widths: (
40
+ 'xs': 450px,
41
+ 'sm': 540px,
42
+ 'md': 720px,
43
+ 'lg': 960px,
44
+ 'xl': 1140px,
45
+ 'xxl': 1320px,
46
+ );
47
+
48
+ // _variables.scss
49
+ $font-sizes: (
50
+ '4xl': 2.5rem, // 40px
51
+ '3xl': 2rem, // 32px
52
+ '2xl': 1.75rem, // 28px
53
+ 'xl': 1.5rem, // 24px
54
+ 'lg': 1.25rem, // 20px
55
+ 'md': 1rem, // 16px
56
+ 'sm': 0.875rem, // 14px
57
+ 'xs': 0.75rem // 12px
58
+ );
59
+
60
+
61
+ // Column widths for auto-fit
62
+ $column-widths: (
63
+ 'sm': 200px,
64
+ 'md': 300px,
65
+ 'lg': 400px
66
+ );
67
+
68
+ $spacings: (
69
+ 0,1,2,3,4,5,6,7,8,9,10,12,14,15,16,18,20,25,30,35,40,45,50,55,60,65,70,75,80,85,90,95,100
70
+ )