active_s95 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 (71) hide show
  1. checksums.yaml +7 -0
  2. data/LICENCE.txt +24 -0
  3. data/README.md +120 -0
  4. data/app/assets/fonts/Lato-Bold.eot +0 -0
  5. data/app/assets/fonts/Lato-Bold.ttf +0 -0
  6. data/app/assets/fonts/Lato-Bold.woff +0 -0
  7. data/app/assets/fonts/Lato-Bold.woff2 +0 -0
  8. data/app/assets/fonts/Lato-BoldItalic.eot +0 -0
  9. data/app/assets/fonts/Lato-BoldItalic.ttf +0 -0
  10. data/app/assets/fonts/Lato-BoldItalic.woff +0 -0
  11. data/app/assets/fonts/Lato-BoldItalic.woff2 +0 -0
  12. data/app/assets/fonts/Lato-Italic.eot +0 -0
  13. data/app/assets/fonts/Lato-Italic.ttf +0 -0
  14. data/app/assets/fonts/Lato-Italic.woff +0 -0
  15. data/app/assets/fonts/Lato-Italic.woff2 +0 -0
  16. data/app/assets/fonts/Lato-Regular.eot +0 -0
  17. data/app/assets/fonts/Lato-Regular.ttf +0 -0
  18. data/app/assets/fonts/Lato-Regular.woff +0 -0
  19. data/app/assets/fonts/Lato-Regular.woff2 +0 -0
  20. data/app/assets/javascripts/arctic_admin/base.js +2 -0
  21. data/app/assets/javascripts/arctic_admin/main.js +105 -0
  22. data/app/assets/stylesheets/arctic_admin/_base.scss +30 -0
  23. data/app/assets/stylesheets/arctic_admin/_buttons.scss +80 -0
  24. data/app/assets/stylesheets/arctic_admin/_common.scss +101 -0
  25. data/app/assets/stylesheets/arctic_admin/_custom_enhancements.scss +275 -0
  26. data/app/assets/stylesheets/arctic_admin/_fonts.scss +47 -0
  27. data/app/assets/stylesheets/arctic_admin/_grid.scss +4 -0
  28. data/app/assets/stylesheets/arctic_admin/_main.scss +57 -0
  29. data/app/assets/stylesheets/arctic_admin/_mobile_utilities.scss +212 -0
  30. data/app/assets/stylesheets/arctic_admin/_reset.scss +41 -0
  31. data/app/assets/stylesheets/arctic_admin/components/_columns.scss +4 -0
  32. data/app/assets/stylesheets/arctic_admin/components/_comments.scss +49 -0
  33. data/app/assets/stylesheets/arctic_admin/components/_date_picker.scss +38 -0
  34. data/app/assets/stylesheets/arctic_admin/components/_dialogs.scss +23 -0
  35. data/app/assets/stylesheets/arctic_admin/components/_flash.scss +32 -0
  36. data/app/assets/stylesheets/arctic_admin/components/_form.scss +182 -0
  37. data/app/assets/stylesheets/arctic_admin/components/_inputs.scss +218 -0
  38. data/app/assets/stylesheets/arctic_admin/components/_pagination.scss +80 -0
  39. data/app/assets/stylesheets/arctic_admin/components/_panel_contents.scss +126 -0
  40. data/app/assets/stylesheets/arctic_admin/components/_select2.scss +50 -0
  41. data/app/assets/stylesheets/arctic_admin/components/_status_tag.scss +41 -0
  42. data/app/assets/stylesheets/arctic_admin/components/_tables.scss +434 -0
  43. data/app/assets/stylesheets/arctic_admin/components/_tabs.scss +51 -0
  44. data/app/assets/stylesheets/arctic_admin/components/_toggle.scss +77 -0
  45. data/app/assets/stylesheets/arctic_admin/layouts/_filter.scss +142 -0
  46. data/app/assets/stylesheets/arctic_admin/layouts/_footer.scss +4 -0
  47. data/app/assets/stylesheets/arctic_admin/layouts/_header.scss +444 -0
  48. data/app/assets/stylesheets/arctic_admin/layouts/_main_content.scss +47 -0
  49. data/app/assets/stylesheets/arctic_admin/layouts/_sidebar.scss +150 -0
  50. data/app/assets/stylesheets/arctic_admin/layouts/_wrapper.scss +8 -0
  51. data/app/assets/stylesheets/arctic_admin/mixins/_buttons_mixins.scss +142 -0
  52. data/app/assets/stylesheets/arctic_admin/mixins/_forms.scss +9 -0
  53. data/app/assets/stylesheets/arctic_admin/mixins/_mixins.scss +4 -0
  54. data/app/assets/stylesheets/arctic_admin/mixins/_prefix_mixins.scss +63 -0
  55. data/app/assets/stylesheets/arctic_admin/mixins/_sidebar_mixins.scss +24 -0
  56. data/app/assets/stylesheets/arctic_admin/pages/_form.scss +124 -0
  57. data/app/assets/stylesheets/arctic_admin/pages/_index.scss +207 -0
  58. data/app/assets/stylesheets/arctic_admin/pages/_login.scss +65 -0
  59. data/app/assets/stylesheets/arctic_admin/pages/_show.scss +3 -0
  60. data/app/assets/stylesheets/arctic_admin/variables/_borders.scss +7 -0
  61. data/app/assets/stylesheets/arctic_admin/variables/_box_shadows.scss +6 -0
  62. data/app/assets/stylesheets/arctic_admin/variables/_colors.scss +59 -0
  63. data/app/assets/stylesheets/arctic_admin/variables/_fonts.scss +10 -0
  64. data/app/assets/stylesheets/arctic_admin/variables/_icons.scss +17 -0
  65. data/app/assets/stylesheets/arctic_admin/variables/_media_queries.scss +41 -0
  66. data/app/assets/stylesheets/arctic_admin/variables/_size.scss +15 -0
  67. data/app/assets/stylesheets/arctic_admin/variables/_spaces.scss +31 -0
  68. data/app/assets/stylesheets/arctic_admin/variables/_variables.scss +7 -0
  69. data/lib/active_s95/version.rb +3 -0
  70. data/lib/arctic_admin.rb +9 -0
  71. metadata +171 -0
@@ -0,0 +1,142 @@
1
+ #sidebar {
2
+ width: $filter-width;
3
+ background-color: #fff;
4
+ border-radius: $border-radius;
5
+ @include box-shadow(0 0 4px 0 rgba(0, 0, 0, .04));
6
+ margin-bottom: 30px;
7
+
8
+ // Mobile: Full-screen overlay
9
+ @media screen and (max-width: $sm-width) {
10
+ @include mobile-overlay;
11
+ border-radius: 0;
12
+ padding-top: env(safe-area-inset-top);
13
+ padding-bottom: env(safe-area-inset-bottom);
14
+ }
15
+
16
+ @media screen and (min-width: $x-lg-width) {
17
+ width: $lg-filter-width;
18
+ }
19
+
20
+ .sidebar_section {
21
+ padding: 15px 20px;
22
+ overflow-y: scroll;
23
+ max-height: 80vh;
24
+ @include momentum-scroll;
25
+
26
+ @media screen and (max-width: $sm-width) {
27
+ padding: 20px 24px;
28
+ max-height: calc(100vh - 160px); // Account for header and sticky buttons
29
+ }
30
+
31
+ h3 {
32
+ margin: 0 0 10px 0;
33
+
34
+ @media screen and (max-width: $sm-width) {
35
+ font-size: 18px;
36
+ margin-bottom: 14px;
37
+ }
38
+ }
39
+
40
+ .label {
41
+ display: block;
42
+ text-align: left;
43
+ }
44
+
45
+ .input {
46
+ margin-bottom: 10px;
47
+
48
+ input,
49
+ select {
50
+ height: 36px;
51
+ padding: 3px 5px;
52
+ font-size: 14px;
53
+
54
+ @media screen and (max-width: $sm-width) {
55
+ @include prevent-zoom;
56
+ min-height: 48px;
57
+ padding: 12px 16px;
58
+ }
59
+ }
60
+ }
61
+
62
+ .select_and_search {
63
+
64
+ input,
65
+ select {
66
+ width: 50%;
67
+ display: inline-block;
68
+ }
69
+
70
+ input {
71
+ float: right;
72
+ }
73
+ }
74
+
75
+ .filter_select select {
76
+ width: 100%;
77
+ }
78
+
79
+ .filter_date_range input {
80
+ width: 50%;
81
+ display: inline-block;
82
+
83
+ // consistent look of all filters
84
+ &:nth-child(2) {
85
+ float: left;
86
+ }
87
+ }
88
+
89
+ input[type="submit"] {
90
+ width: auto;
91
+ line-height: 31px;
92
+ margin-right: 10px;
93
+ @include touch-button();
94
+
95
+ @media screen and (max-width: $sm-width) {
96
+ width: 100%;
97
+ min-height: 48px;
98
+ margin-right: 0;
99
+ margin-bottom: 10px;
100
+ }
101
+ }
102
+
103
+ &.panel {
104
+ position: relative;
105
+ }
106
+ }
107
+
108
+ #search-status-_sidebar_section {
109
+ font-size: 14px;
110
+ }
111
+
112
+ // 'Filter' and 'Clear Filters' buttons
113
+ .buttons {
114
+ display: flex;
115
+ justify-content: space-between;
116
+ align-items: center;
117
+ margin-top: 1rem;
118
+ gap: 10px;
119
+
120
+ // Sticky at bottom on mobile
121
+ @media screen and (max-width: $sm-width) {
122
+ @include sticky-bottom-actions;
123
+ flex-direction: column;
124
+
125
+ a,
126
+ input[type="submit"] {
127
+ width: 100%;
128
+ text-align: center;
129
+ @include touch-button();
130
+ min-height: 48px;
131
+ }
132
+ }
133
+ }
134
+ }
135
+
136
+ // fix pour search select filter de ActiveAdmin_Addons
137
+ .search_select_filter,
138
+ .filter_boolean {
139
+ .select2.select2-container {
140
+ width: 100% !important;
141
+ }
142
+ }
@@ -0,0 +1,4 @@
1
+ .footer {
2
+ display: inline-block;
3
+ padding: 0 15px;
4
+ }
@@ -0,0 +1,444 @@
1
+ body.active_admin.logged_in {
2
+ padding-top: 50px;
3
+
4
+ @media screen and (min-width: $sm-width) {
5
+ padding-top: 60px;
6
+ }
7
+
8
+ @media screen and (min-width: $lg-width) {
9
+ padding-left: $header-width;
10
+ }
11
+
12
+ @media screen and (min-width: $x-lg-width) {
13
+ padding-left: $lg-header-width;
14
+ }
15
+
16
+ #active_admin_content {
17
+ padding: 20px 0;
18
+ @include clear-fix();
19
+
20
+ @media screen and (min-width: $lg-width) {
21
+ padding: 20px 25px;
22
+ }
23
+ }
24
+ }
25
+
26
+ .header {
27
+ .site_title {
28
+ width: 160px;
29
+ height: 50px;
30
+ font-size: 16px;
31
+ line-height: 50px;
32
+ position: fixed;
33
+ top: 0;
34
+ left: 0;
35
+ background-color: $header-background;
36
+ border-bottom: 1px solid $header-border-color;
37
+ text-align: center;
38
+ margin: 0;
39
+
40
+ @media screen and (min-width: $sm-width) {
41
+ width: $header-width;
42
+ height: 60px;
43
+ font-size: 20px;
44
+ line-height: 60px;
45
+ }
46
+
47
+ @media screen and (min-width: $x-lg-width) {
48
+ width: $lg-header-width;
49
+ }
50
+
51
+ #site_title_image {
52
+ height: 100%;
53
+ padding: 6px 0;
54
+ }
55
+ }
56
+
57
+ #utility_nav {
58
+ display: flex;
59
+ align-items: center;
60
+ justify-content: flex-end;
61
+ height: 50px;
62
+ width: calc(100% - 160px);
63
+ position: fixed;
64
+ top: 0;
65
+ right: 0;
66
+ z-index: 3;
67
+ text-align: right;
68
+ background-color: $header-background;
69
+ border-bottom: 1px solid $header-border-color;
70
+
71
+ &:before {
72
+ @include icon($icon-menu);
73
+
74
+ display: inline;
75
+ visibility: visible;
76
+ cursor: pointer;
77
+ position: absolute;
78
+ top: 0;
79
+ left: 0;
80
+ color: $text-color;
81
+ padding: 15px 0;
82
+ text-align: center;
83
+ width: 40px;
84
+ font-size: 20px;
85
+ }
86
+
87
+ @media screen and (min-width: $sm-width) {
88
+ height: 60px;
89
+ width: $screen-header-width;
90
+
91
+ &:before {
92
+ padding: 20px 0;
93
+ }
94
+ }
95
+
96
+ @media screen and (min-width: $lg-width) {
97
+ &:before {
98
+ display: none;
99
+ }
100
+ }
101
+
102
+ @media screen and (min-width: $x-lg-width) {
103
+ width: $lg-screen-header-width;
104
+ }
105
+
106
+ li {
107
+ display: inline-block;
108
+ @include transition-button();
109
+
110
+ &:hover {
111
+ background-color: $header-nav-action-hover-background;
112
+ }
113
+
114
+ &:active {
115
+ background-color: $header-nav-action-active-background;
116
+ }
117
+ }
118
+
119
+ #current_user {
120
+ a {
121
+ color: transparent;
122
+ position: relative;
123
+ width: 50px;
124
+ height: 49px;
125
+ display: inline-block;
126
+
127
+ &:before {
128
+ @include icon($icon-user);
129
+
130
+ display: inline;
131
+ visibility: visible;
132
+ cursor: pointer;
133
+ position: absolute;
134
+ top: 0;
135
+ right: 0;
136
+ color: $text-color;
137
+ padding: 15px 0;
138
+ text-align: center;
139
+ width: 50px;
140
+ font-size: 20px;
141
+ }
142
+
143
+ @media screen and (min-width: $sm-width) {
144
+ width: 60px;
145
+ height: 59px;
146
+
147
+ &:before {
148
+ padding: 20px 0;
149
+ width: 60px;
150
+ }
151
+ }
152
+ }
153
+ }
154
+
155
+ #logout {
156
+ min-width: 50px;
157
+ min-height: 49px;
158
+ float: right;
159
+
160
+ a {
161
+ color: transparent;
162
+ position: relative;
163
+ width: 50px;
164
+ display: block;
165
+
166
+ &:before {
167
+ @include icon($icon-logout);
168
+
169
+ display: inline;
170
+ visibility: visible;
171
+ cursor: pointer;
172
+ position: absolute;
173
+ top: 0;
174
+ right: 0;
175
+ color: $text-color;
176
+ padding: 15px 0;
177
+ text-align: center;
178
+ width: 50px;
179
+ font-size: 20px;
180
+ }
181
+
182
+ }
183
+
184
+ @media screen and (min-width: $sm-width) {
185
+ min-width: 60px;
186
+ min-height: 59px;
187
+
188
+ a {
189
+ width: 60px;
190
+ height: 59px;
191
+
192
+ &:before {
193
+ padding: 20px 0;
194
+ width: 60px;
195
+ }
196
+ }
197
+ }
198
+ }
199
+ }
200
+ }
201
+
202
+ #title_bar {
203
+ background-color: #fff;
204
+ @include box-shadow($box-shadow-card);
205
+ margin: 15px 0 0 0;
206
+ padding: 12px 15px;
207
+ @include clear-fix();
208
+ border-radius: $border-radius-small;
209
+
210
+ @media screen and (max-width: $sm-width) {
211
+ padding: 12px 16px;
212
+ margin: 12px 0 0 0;
213
+ }
214
+
215
+ @media screen and (min-width: $lg-width) {
216
+ padding: 12px 24px;
217
+ border-radius: $border-radius-card;
218
+ margin: 15px 25px 0 25px;
219
+ }
220
+
221
+ #titlebar_left {
222
+ display: inline-block;
223
+ float: left;
224
+ line-height: 32px;
225
+
226
+ @media screen and (max-width: $sm-width) {
227
+ line-height: 30px;
228
+ width: 100%;
229
+ float: none;
230
+ margin-bottom: 12px;
231
+ }
232
+
233
+ h2 {
234
+ display: inline-block;
235
+ font-size: 18px;
236
+ font-weight: 800;
237
+ color: $indigo-dark;
238
+ text-transform: uppercase;
239
+ letter-spacing: 1px;
240
+
241
+ @media screen and (max-width: $sm-width) {
242
+ font-size: 15px;
243
+ letter-spacing: 0.4px;
244
+ line-height: 1.4;
245
+ }
246
+ }
247
+ }
248
+
249
+ #titlebar_right {
250
+ display: inline-block;
251
+ float: right;
252
+
253
+ @media screen and (max-width: $sm-width) {
254
+ float: none;
255
+ width: 100%;
256
+ display: flex;
257
+ flex-direction: column;
258
+ gap: 8px;
259
+ }
260
+
261
+ .action_item a {
262
+ background: linear-gradient(135deg, $indigo 0%, $indigo-dark 100%);
263
+ color: #fff;
264
+ border: none;
265
+ border-radius: $border-radius-button;
266
+ padding: 8px 16px;
267
+ font-weight: 600;
268
+ box-shadow: $box-shadow;
269
+ transition: all 0.3s ease;
270
+ display: inline-block;
271
+ @include touch-button();
272
+
273
+ @media screen and (max-width: $sm-width) {
274
+ padding: 12px 18px;
275
+ font-size: 14px;
276
+ width: 100%;
277
+ text-align: center;
278
+ margin-bottom: 0;
279
+ min-height: 48px;
280
+ }
281
+
282
+ &:hover {
283
+ box-shadow: $box-shadow-hover;
284
+ transform: translateY(-2px);
285
+
286
+ @media screen and (max-width: $md-width) {
287
+ transform: none;
288
+ }
289
+ }
290
+ }
291
+ }
292
+
293
+ #page_title {
294
+ font-weight: 800;
295
+ margin: 0;
296
+ color: $indigo-dark;
297
+ text-transform: uppercase;
298
+ letter-spacing: 1px;
299
+
300
+ @media screen and (max-width: $sm-width) {
301
+ font-size: 16px;
302
+ letter-spacing: 0.5px;
303
+ }
304
+ }
305
+ }
306
+
307
+ // STICKY ACTION BAR - GLASSMORPHISM
308
+ .sticky-action-bar {
309
+ position: sticky;
310
+ top: 60px;
311
+ z-index: 100;
312
+ margin: 0 -20px 20px;
313
+ padding: 12px 20px;
314
+
315
+ // Glassmorphism effect
316
+ background: rgba(255, 255, 255, 0.85);
317
+ backdrop-filter: blur(12px);
318
+ -webkit-backdrop-filter: blur(12px);
319
+ border-bottom: 1px solid rgba($indigo, 0.1);
320
+ box-shadow: 0 4px 20px rgba($indigo, 0.15);
321
+
322
+ transition: all 0.3s ease;
323
+
324
+ @media screen and (max-width: $lg-width) {
325
+ top: 50px;
326
+ margin: 0 -15px 15px;
327
+ padding: 10px 15px;
328
+ }
329
+
330
+ @media screen and (max-width: $sm-width) {
331
+ top: 50px;
332
+ margin: 0 -16px 12px;
333
+ padding: 10px 16px;
334
+ @include safe-area-inset-padding('top', 50px);
335
+ }
336
+
337
+ &.scrolled {
338
+ background: rgba(255, 255, 255, 0.95);
339
+ box-shadow: 0 6px 24px rgba($indigo, 0.2);
340
+ }
341
+
342
+ .action-bar-content {
343
+ display: flex;
344
+ align-items: center;
345
+ justify-content: space-between;
346
+ gap: 12px;
347
+
348
+ @media screen and (max-width: $md-width) {
349
+ flex-direction: column;
350
+ align-items: stretch;
351
+ gap: 10px;
352
+ }
353
+ }
354
+
355
+ .action-bar-left {
356
+ display: flex;
357
+ align-items: center;
358
+ gap: 10px;
359
+
360
+ @media screen and (max-width: $sm-width) {
361
+ flex-direction: column;
362
+ width: 100%;
363
+ }
364
+
365
+ .status-badge {
366
+ display: inline-flex;
367
+ align-items: center;
368
+ gap: 6px;
369
+ padding: 6px 12px;
370
+ border-radius: $border-radius-badge;
371
+ font-size: 12px;
372
+ font-weight: 700;
373
+ text-transform: uppercase;
374
+ letter-spacing: 0.5px;
375
+
376
+ &.draft {
377
+ background: rgba(#f2a654, 0.15);
378
+ color: darken(#f2a654, 25%);
379
+ }
380
+
381
+ &.final {
382
+ background: rgba($teal, 0.15);
383
+ color: darken($teal, 20%);
384
+ }
385
+
386
+ &::before {
387
+ content: '';
388
+ width: 8px;
389
+ height: 8px;
390
+ border-radius: 50%;
391
+ background: currentColor;
392
+ }
393
+ }
394
+ }
395
+
396
+ .action-bar-right {
397
+ display: flex;
398
+ gap: 8px;
399
+ align-items: center;
400
+
401
+ @media screen and (max-width: $sm-width) {
402
+ flex-direction: column;
403
+ width: 100%;
404
+ gap: 8px;
405
+
406
+ .button {
407
+ width: 100%;
408
+ }
409
+ }
410
+
411
+ .button {
412
+ padding: 8px 18px;
413
+ font-size: 13px;
414
+ min-height: 38px;
415
+ @include touch-button();
416
+
417
+ @media screen and (max-width: $sm-width) {
418
+ min-height: 48px;
419
+ padding: 12px 20px;
420
+ font-size: 14px;
421
+ }
422
+
423
+ &.secondary {
424
+ background: transparent;
425
+ border: 2px solid $indigo;
426
+ color: $indigo;
427
+ box-shadow: none;
428
+
429
+ &:hover {
430
+ background: rgba($indigo, 0.08);
431
+ border-color: $indigo-dark;
432
+ }
433
+ }
434
+
435
+ &.success {
436
+ background: linear-gradient(135deg, $teal 0%, darken($teal, 10%) 100%);
437
+ }
438
+
439
+ &.export {
440
+ background: linear-gradient(135deg, #00bfa5 0%, #00897B 100%);
441
+ }
442
+ }
443
+ }
444
+ }
@@ -0,0 +1,47 @@
1
+ #main_content_wrapper {
2
+ float: left;
3
+ width: 100%;
4
+
5
+ @include clear-fix();
6
+ }
7
+
8
+ #active_admin_content.with_sidebar #main_content_wrapper {
9
+ width: 100%;
10
+
11
+ @media screen and (min-width: $sm-width) {
12
+ #main_content {
13
+ border-top-right-radius: $border-radius;
14
+ border-bottom-right-radius: $border-radius;
15
+ }
16
+ }
17
+
18
+ @media screen and (min-width: $lg-width) {
19
+ #main_content {
20
+ margin-right: 20px;
21
+ }
22
+ }
23
+
24
+ @media screen and (min-width: $lg-width) {
25
+ #main_content {
26
+ margin-right: 20px;
27
+ }
28
+ }
29
+ }
30
+
31
+ #main_content {
32
+ background-color: #fff;
33
+ @include box-shadow(0 0 4px 0 rgba(0, 0, 0, .04));
34
+ padding: 15px 10px;
35
+
36
+ @media screen and (max-width: $sm-width) {
37
+ overflow-x: auto;
38
+ -webkit-overflow-scrolling: touch;
39
+ padding: 16px;
40
+ @include safe-area-inset-padding('bottom', 16px);
41
+ }
42
+
43
+ @media screen and (min-width: $lg-width) {
44
+ padding: 20px;
45
+ border-radius: $border-radius;
46
+ }
47
+ }