groovinads-ui 1.0.0

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 (66) hide show
  1. package/.babelrc +3 -0
  2. package/.storybook/main.js +19 -0
  3. package/.storybook/preview.js +13 -0
  4. package/.yarn/install-state.gz +0 -0
  5. package/.yarn/releases/yarn-4.1.1.cjs +893 -0
  6. package/.yarnrc.yml +3 -0
  7. package/package.json +40 -0
  8. package/src/components/Button/Button.jsx +104 -0
  9. package/src/components/Button/index.jsx +3 -0
  10. package/src/index.jsx +3 -0
  11. package/src/scss/abstracts/_borders-radius.scss +6 -0
  12. package/src/scss/abstracts/_colors.scss +33 -0
  13. package/src/scss/abstracts/_fonts.scss +8 -0
  14. package/src/scss/abstracts/_helpers.scss +7 -0
  15. package/src/scss/abstracts/_media-queries.scss +6 -0
  16. package/src/scss/abstracts/_mixins.scss +143 -0
  17. package/src/scss/abstracts/_spinner-duration.scss +1 -0
  18. package/src/scss/abstracts/_variables.scss +2 -0
  19. package/src/scss/animations/_alertToUp.scss +10 -0
  20. package/src/scss/animations/_aurora.scss +17 -0
  21. package/src/scss/animations/_colors.scss +15 -0
  22. package/src/scss/animations/_dash.scss +13 -0
  23. package/src/scss/animations/_fadeCopyFromLeft.scss +10 -0
  24. package/src/scss/animations/_goAndBack.scss +8 -0
  25. package/src/scss/animations/_inputUp.scss +10 -0
  26. package/src/scss/animations/_shake.scss +22 -0
  27. package/src/scss/animations/_showIn.scss +8 -0
  28. package/src/scss/animations/_showMenu.scss +12 -0
  29. package/src/scss/animations/_statusLine.scss +9 -0
  30. package/src/scss/animations/_toDown.scss +8 -0
  31. package/src/scss/animations/_toastFromLeft.scss +10 -0
  32. package/src/scss/animations/_toastFromRight.scss +10 -0
  33. package/src/scss/base/_base.scss +14 -0
  34. package/src/scss/base/_typography.scss +188 -0
  35. package/src/scss/components/_alerts.scss +115 -0
  36. package/src/scss/components/_breadcrumb.scss +30 -0
  37. package/src/scss/components/_buttons.scss +808 -0
  38. package/src/scss/components/_checks.scss +105 -0
  39. package/src/scss/components/_dropdown-deck.scss +115 -0
  40. package/src/scss/components/_dropdowns.scss +131 -0
  41. package/src/scss/components/_img-404.scss +6 -0
  42. package/src/scss/components/_inputs.scss +279 -0
  43. package/src/scss/components/_login-source.scss +19 -0
  44. package/src/scss/components/_modals.scss +89 -0
  45. package/src/scss/components/_nav-tabs.scss +38 -0
  46. package/src/scss/components/_pills.scss +88 -0
  47. package/src/scss/components/_radio.scss +102 -0
  48. package/src/scss/components/_shadows.scss +18 -0
  49. package/src/scss/components/_spinner.scss +20 -0
  50. package/src/scss/components/_status-icon.scss +61 -0
  51. package/src/scss/components/_switch.scss +77 -0
  52. package/src/scss/components/_tabulator.scss +386 -0
  53. package/src/scss/components/_textareas.scss +22 -0
  54. package/src/scss/components/_toast.scss +129 -0
  55. package/src/scss/custom/_campaign-id.scss +56 -0
  56. package/src/scss/custom/_img-not-found.scss +7 -0
  57. package/src/scss/custom/_modal-edit.scss +10 -0
  58. package/src/scss/index.jsx +0 -0
  59. package/src/scss/index.scss +9 -0
  60. package/src/scss/layout/_aurora.scss +39 -0
  61. package/src/scss/layout/_authentication.scss +65 -0
  62. package/src/scss/layout/_footer.scss +21 -0
  63. package/src/scss/layout/_main.scss +41 -0
  64. package/src/scss/layout/_navbar.scss +64 -0
  65. package/src/scss/views/_skeleton.scss +266 -0
  66. package/src/stories/Button.stories.jsx +11 -0
@@ -0,0 +1,21 @@
1
+ // Use
2
+ @use '../abstracts/helpers' as h;
3
+
4
+ footer {
5
+ position: absolute;
6
+ bottom: 0;
7
+ display: flex;
8
+ width: 100%;
9
+ justify-content: space-between;
10
+ @include h.font-family(h.$font-family-secondary, 1rem, h.$grey-dark, 400);
11
+
12
+ a {
13
+ color: h.$grey-dark;
14
+ text-decoration: none;
15
+
16
+ &:hover {
17
+ color: h.$grey-dark;
18
+ text-decoration: underline;
19
+ }
20
+ }
21
+ }
@@ -0,0 +1,41 @@
1
+ // Use
2
+ @use '../abstracts/helpers' as h;
3
+
4
+ .main {
5
+ padding-top: 2rem;
6
+ padding-bottom: 3rem;
7
+ min-height: 100vh;
8
+ position: relative;
9
+
10
+ .sidebar ~ & {
11
+ @include h.respond-to(h.$lg) {
12
+ width: calc(100% - 15rem);
13
+ margin-left: 15rem;
14
+ @include h.transition(width margin-left, 0.3s, cubic-bezier(0.2, 0, 0, 1));
15
+ }
16
+ }
17
+
18
+ .heading {
19
+ top: 0rem;
20
+ padding-top: 2rem;
21
+ margin-top: -2rem;
22
+ background-color: h.$grey-light;
23
+ z-index: 10;
24
+
25
+ @include h.respond-to(h.$md) {
26
+ position: sticky;
27
+ }
28
+
29
+ .buttons-wrapper {
30
+ display: flex;
31
+ gap: 1rem;
32
+ justify-content: flex-start;
33
+ flex-direction: column;
34
+
35
+ @include h.respond-to(h.$md) {
36
+ justify-content: flex-end;
37
+ flex-direction: row;
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,64 @@
1
+ // Use
2
+ @use '../abstracts/helpers' as h;
3
+
4
+ // Forward
5
+ @forward '../animations/toDown';
6
+
7
+ .header {
8
+ top: 0;
9
+ right: 0;
10
+ left: 0;
11
+ z-index: 1030;
12
+ position: fixed;
13
+ animation: toDown 0.2s ease-out both;
14
+ @include h.shadow(2, h.$ga-brand-dark, y);
15
+
16
+ &.fixed-top {
17
+ background-color: h.$white;
18
+ padding-right: 0px !important;
19
+
20
+ .navbar {
21
+ padding-top: 0.618rem;
22
+ padding-bottom: 0.618rem;
23
+ }
24
+ }
25
+
26
+ & ~ .container-fluid {
27
+ .main {
28
+ padding-top: 6rem;
29
+
30
+ .heading {
31
+ top: 4rem;
32
+ }
33
+ }
34
+ }
35
+
36
+ .navbar {
37
+ justify-content: space-between;
38
+ flex-wrap: nowrap;
39
+ height: 4rem;
40
+ padding-left: 1rem;
41
+ padding-right: 1rem;
42
+
43
+ .brand {
44
+ width: 100%;
45
+ max-width: h.$logo-width;
46
+ height: 100%;
47
+ vertical-align: middle;
48
+
49
+ .ga-logo {
50
+ width: 100%;
51
+ max-width: h.$logo-width;
52
+ height: auto;
53
+ pointer-events: none;
54
+ }
55
+ }
56
+
57
+ .brand-wrapper {
58
+ display: flex;
59
+ flex-direction: row;
60
+ gap: 1rem;
61
+ align-items: center;
62
+ }
63
+ }
64
+ }
@@ -0,0 +1,266 @@
1
+ // Use
2
+ @use '../abstracts/helpers' as h;
3
+
4
+ // Forward
5
+ @forward '../animations/goAndBack';
6
+
7
+ .loading {
8
+ width: 100%;
9
+ box-shadow: none !important;
10
+
11
+ .load {
12
+ background-color: h.$grey-light !important;
13
+ height: 1rem;
14
+ border-radius: h.$border-radius-xl;
15
+ position: relative;
16
+ overflow: hidden;
17
+
18
+ &::before {
19
+ content: '';
20
+ width: 100%;
21
+ height: 5rem;
22
+ background: rgb(255, 255, 255);
23
+ background: linear-gradient(
24
+ 90deg,
25
+ rgba(255, 255, 255, 0) 0%,
26
+ rgba(255, 255, 255, 0.7) 45%,
27
+ rgba(255, 255, 255, 0.7) 55%,
28
+ rgba(255, 255, 255, 0) 100%
29
+ );
30
+ position: absolute;
31
+ top: 0;
32
+ left: 0;
33
+ animation: goAndBack 1s ease-in-out forwards infinite;
34
+ }
35
+
36
+ &.title {
37
+ width: 30%;
38
+ }
39
+
40
+ &.circle {
41
+ width: 2rem;
42
+ height: 2rem;
43
+ margin-right: 2rem;
44
+ }
45
+
46
+ &.text {
47
+ width: 100%;
48
+ margin-bottom: 0.8rem;
49
+
50
+ &.small {
51
+ height: 0.7rem;
52
+ }
53
+ }
54
+
55
+ &.icn {
56
+ width: 4rem;
57
+ height: 4rem;
58
+ }
59
+
60
+ &.list {
61
+ margin-left: 1rem;
62
+ margin-right: 1rem;
63
+ width: 80%;
64
+ margin-bottom: 1.5rem;
65
+ }
66
+
67
+ &.btn-load {
68
+ @extend .load;
69
+ width: 150px;
70
+ height: 50px;
71
+ border-radius: h.$border-radius-sm;
72
+ background-color: rgba(h.$grey-dark, 10%) !important;
73
+ }
74
+ }
75
+
76
+ &.heading {
77
+ margin-top: 0;
78
+ padding-top: 0;
79
+
80
+ .breadcrumb {
81
+ background-color: rgba(h.$ga-brand-dark, 10%) !important;
82
+ margin-bottom: 1rem;
83
+ width: 10%;
84
+ height: 0.75rem;
85
+ }
86
+
87
+ .title {
88
+ height: 1.5rem;
89
+ margin-bottom: 1rem;
90
+ background-color: rgba(h.$grey-dark, 0.2) !important;
91
+ width: 50%;
92
+ }
93
+
94
+ .text {
95
+ background-color: rgba(h.$grey-dark, 10%) !important;
96
+ margin-bottom: 1rem;
97
+ width: 30%;
98
+ }
99
+ }
100
+ .load-wrapper {
101
+ display: flex;
102
+ flex-direction: row;
103
+ align-items: flex-start;
104
+ }
105
+
106
+ .load-paragraph {
107
+ display: flex;
108
+ flex-direction: column;
109
+ align-items: flex-start;
110
+ width: 100%;
111
+
112
+ .text {
113
+ &:last-child {
114
+ width: 50%;
115
+ }
116
+ }
117
+ }
118
+
119
+ .load-input {
120
+ @extend .load;
121
+ height: 58px;
122
+ border-radius: h.$border-radius-sm;
123
+ }
124
+
125
+ &:hover {
126
+ transform: none !important;
127
+ }
128
+
129
+ &.campaings-table {
130
+ overflow: hidden;
131
+
132
+ .campaign-table-header {
133
+ justify-content: space-between;
134
+
135
+ .load {
136
+ width: 30%;
137
+ height: 0.75rem;
138
+ background-color: rgba(h.$grey-dark, 0.3);
139
+ }
140
+ }
141
+
142
+ .campaign-table-body {
143
+
144
+ .campaign-row {
145
+ padding: 1rem 0;
146
+ }
147
+ .campaign-col {
148
+ padding: 0 1rem;
149
+ border-bottom: none;
150
+
151
+ &:first-child {
152
+ .load {
153
+ width: 50%;
154
+ margin: 0.5em 0;
155
+
156
+ @include h.respond-to(h.$md) {
157
+ width: 100%;
158
+ margin: 0;
159
+ }
160
+ }
161
+ }
162
+ }
163
+ }
164
+
165
+ &:not(:has(.campaign-table-header)) {
166
+
167
+ .campaign-table-body {
168
+
169
+ .campaign-row {
170
+
171
+ &:first-of-type {
172
+ border-top: none;
173
+ }
174
+ }
175
+ }
176
+ }
177
+
178
+ .campaign-col {
179
+
180
+ @include h.respond-to(h.$md) {
181
+ flex: 1 0 0;
182
+ width: auto;
183
+ }
184
+ }
185
+ }
186
+
187
+ &.table {
188
+ overflow: hidden;
189
+ border-collapse: collapse;
190
+
191
+ thead {
192
+ border: 1px solid rgba(h.$ga-brand-dark, 10%);
193
+
194
+ tr {
195
+ th {
196
+ .load {
197
+ width: 30%;
198
+ height: 0.75rem;
199
+ background-color: rgba(h.$grey-dark, 0.3);
200
+ }
201
+ }
202
+ }
203
+ }
204
+
205
+ tbody {
206
+ border: 1px solid rgba(h.$ga-brand-dark, 10%);
207
+
208
+ tr {
209
+ td {
210
+ .load {
211
+ width: 80%;
212
+ margin: 0.5em 0;
213
+ }
214
+ }
215
+
216
+ &:nth-of-type(odd) {
217
+ td {
218
+ .load {
219
+ background-color: rgba(h.$grey-dark, 0.2) !important;
220
+ }
221
+ }
222
+ }
223
+ }
224
+ }
225
+ }
226
+
227
+ &.filters {
228
+ display: flex;
229
+ flex-direction: column;
230
+ gap: 1rem;
231
+ align-items: center;
232
+ justify-content: flex-start;
233
+
234
+ @include h.respond-to(h.$md) {
235
+ flex-direction: row;
236
+ }
237
+
238
+ .text {
239
+ background-color: rgba(h.$grey-dark, 10%) !important;
240
+ margin-bottom: 0;
241
+ width: 150px;
242
+ }
243
+
244
+ .btn-load {
245
+ width: 100%;
246
+
247
+ @include h.respond-to(h.$md) {
248
+ width: 150px;
249
+ }
250
+ }
251
+ }
252
+ }
253
+
254
+ .table-responsive {
255
+ &.shadow-1 {
256
+ &:has(.loading) {
257
+ box-shadow: none;
258
+ }
259
+ }
260
+ }
261
+
262
+ .aside {
263
+ .loading {
264
+ height: 184px !important;
265
+ }
266
+ }
@@ -0,0 +1,11 @@
1
+ import React from "react";
2
+ import Button from "../components/Button/Button";
3
+
4
+ export default {
5
+ title: "Example/Button",
6
+ component: Button,
7
+ };
8
+
9
+ const Template = (args) => <Button {...args}>Button</Button>;
10
+
11
+ export const Primary = Template.bind({});