activeadmin_blaze_theme 0.5.4 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e7b586313848af603e6f2ace1ede83c5ec86d98f
4
- data.tar.gz: f44276e61a7ab8267e3639d6c3c7a1832d993fc4
3
+ metadata.gz: 476c0034a1998c815337d243602c8a117c91141e
4
+ data.tar.gz: 70688d619ad55a089aff9a9add73e1986051122d
5
5
  SHA512:
6
- metadata.gz: 02f68e7dfdf2a9b8c9b63f2f948164152b1eb9ed17e187dd7ee08c7401631a246f806074554015bfd01aeb16bcdbdf20c2adbdcde312e81af20923d3f5bd6c7f
7
- data.tar.gz: cc31a531350faba477667a20b402527fa8dc8be704f1230c295ab22e90f96632c0e69df9d11bbd8d6da2938e43aed7ef99214226240dcf188f313a141e296dd9
6
+ metadata.gz: df3fd6bdc6ddbe8450f6ec308f203742bde560be53c274b76351bcef2df5c449af42868b905e2ac9ff21af5df6b3710bc14d02ab7259d3c05ace4c16d6c21894
7
+ data.tar.gz: f37587dbd2443d1635e61f6a822a6947af06e95b42415812b645d38796262d6eeda2055496ff8fb242a9924bd46668338cf97259443821bad8cb0ad46181020e
data/README.md CHANGED
@@ -7,7 +7,7 @@ Features:
7
7
  - CSS only theme with clean UI
8
8
  - compact nested forms
9
9
  - [customizable](#customize): colors, sidebar position, scroll on cells
10
- - custom controls: [toggle](#toggle)
10
+ - custom controls / components: [toggle](#toggle), [Sidebar menu](#sidebar-menu), [Accordion](#accordion), [Readonly field](#readonly-field)
11
11
  - Blaze CSS [widgets](#blaze-widgets)
12
12
 
13
13
  ## Install
@@ -105,30 +105,53 @@ Standard checkbox with label on the left:
105
105
  A sidebar menu (*priority* option permit to put the sidebar above the filters):
106
106
 
107
107
  ```rb
108
- sidebar :help, priority: 0 do
109
- ul class: 'blaze-menu' do
110
- li do
111
- link_to 'Menu item 1', admin_root_path
112
- end
113
- li do
114
- link_to 'Menu item 2', admin_root_path
115
- end
116
- li do
117
- link_to 'Menu item 3', admin_root_path
118
- end
108
+ sidebar :help, priority: 0 do
109
+ ul class: 'blaze-menu' do
110
+ li do
111
+ link_to 'Menu item 1', admin_root_path
112
+ end
113
+ li do
114
+ link_to 'Menu item 2', admin_root_path
115
+ end
116
+ li do
117
+ link_to 'Menu item 3', admin_root_path
119
118
  end
120
119
  end
120
+ end
121
121
  ```
122
122
 
123
- ![menu](screenshot4.jpg)
123
+ ![menu](extra/screenshot4.jpg)
124
+
125
+ ### Accordion
126
+
127
+ An accordion group in a form:
128
+
129
+ ```rb
130
+ f.accordion_group do
131
+ f.accordion 'First accordion' do
132
+ f.inputs for: [:detail, f.object.detail || Detail.new] do |f2|
133
+ f2.input :meta_title
134
+ f2.input :meta_keywords
135
+ end
136
+ end
137
+ f.accordion 'Second accordion' do
138
+ f.inputs for: [:more_detail, f.object.morel_detail || Detail.new] do |f2|
139
+ f2.input :meta_title
140
+ f2.input :meta_keywords
141
+ end
142
+ end
143
+ end
144
+ ```
124
145
 
125
146
  ### Readonly field
126
147
 
127
- Some readonly fields in form:
148
+ Some readonly fields in a form:
149
+
150
+ `f.readonly :position`
128
151
 
129
- `f.readonly 'Code', 'Automatically set after save'`
152
+ `f.readonly :position, f.object.position * 2`
130
153
 
131
- `f.readonly :position, f.object.position`
154
+ `f.readonly 'Code', 'Automatically set after save', class: 'a-wrapper-class'`
132
155
 
133
156
  `f.readonly nil, 'Value only, no label'`
134
157
 
@@ -160,15 +183,15 @@ end
160
183
 
161
184
  Index:
162
185
 
163
- ![index](screenshot1.jpg)
186
+ ![index](extra/screenshot1.jpg)
164
187
 
165
188
  Edit:
166
189
 
167
- ![edit](screenshot2.jpg)
190
+ ![edit](extra/screenshot2.jpg)
168
191
 
169
192
  Show - sidebar on the left:
170
193
 
171
- ![edit](screenshot3.jpg)
194
+ ![edit](extra/screenshot3.jpg)
172
195
 
173
196
  ## Do you like it? Star it!
174
197
 
@@ -11,4 +11,20 @@
11
11
  .u-bg-#{$name} {
12
12
  background-color: $value;
13
13
  }
14
- }
14
+
15
+ .u-fill-#{$name} {
16
+ fill: $value;
17
+ }
18
+
19
+ .u-stroke-#{$name} {
20
+ stroke: $value;
21
+ }
22
+ }
23
+
24
+ .u-stroke-none {
25
+ stroke: none;
26
+ }
27
+
28
+ .u-fill-none {
29
+ fill: none;
30
+ }
@@ -4,6 +4,7 @@
4
4
  .c-card {
5
5
  @include list--unstyled;
6
6
  display: block;
7
+ width: 100%;
7
8
  border-radius: $card-border-radius;
8
9
  background-color: $card-background-color;
9
10
  box-shadow: $card-box-shadow;
@@ -19,17 +20,23 @@
19
20
  }
20
21
 
21
22
  .c-card__header {
22
- padding: $spacing-small $spacing-small 0;
23
+ padding: $card-header-padding;
23
24
 
24
25
  .c-heading {
25
26
  padding: 0;
26
27
  }
27
28
  }
28
29
 
29
- .c-card__item,
30
- .c-card__body,
30
+ .c-card__item {
31
+ padding: $card-item-padding;
32
+ }
33
+
34
+ .c-card__body {
35
+ padding: $card-body-padding;
36
+ }
37
+
31
38
  .c-card__footer {
32
- padding: $spacing-small;
39
+ padding: $card-footer-padding;
33
40
  }
34
41
 
35
42
  .c-card__item + .c-card__footer--block {
@@ -37,14 +44,20 @@
37
44
  }
38
45
 
39
46
  .c-card__footer--block {
40
- padding: $spacing-small 0 0;
47
+ padding: $card-footer-block-padding;
48
+
49
+ .c-input-group .c-button {
50
+ border-bottom: 0;
51
+ }
41
52
 
42
53
  .c-input-group .c-button:first-child {
54
+ border-left: 0;
43
55
  border-top-left-radius: 0;
44
56
  border-bottom-left-radius: 0;
45
57
  }
46
58
 
47
59
  .c-input-group .c-button:last-child {
60
+ border-right: 0;
48
61
  border-top-right-radius: 0;
49
62
  border-bottom-right-radius: 0;
50
63
  }
@@ -12,27 +12,3 @@
12
12
  font-size: $heading-subheading-font-size;
13
13
  opacity: $heading-subheading-opacity;
14
14
  }
15
-
16
- h1.c-heading {
17
- font-size: $text-font-size-super;
18
- }
19
-
20
- h2.c-heading {
21
- font-size: $text-font-size-xlarge;
22
- }
23
-
24
- h3.c-heading {
25
- font-size: $text-font-size-large;
26
- }
27
-
28
- h4.c-heading {
29
- font-size: $text-font-size-medium;
30
- }
31
-
32
- h5.c-heading {
33
- font-size: $text-font-size-small;
34
- }
35
-
36
- h6.c-heading {
37
- font-size: $text-font-size-xsmall;
38
- }
@@ -87,12 +87,18 @@
87
87
  // SELECTS, CHECKBOXES AND RADIOS
88
88
  select.c-field {
89
89
  cursor: pointer;
90
+
91
+ &::-ms-expand {
92
+ display: none;
93
+ }
90
94
  }
91
95
 
92
96
  // SELECTS
93
97
  select.c-field:not([multiple]) {
94
98
  padding-right: 1em;
95
- background: url("data:image/png;base64,R0lGODlhDwAUAIABAAAAAP///yH5BAEAAAEALAAAAAAPABQAAAIXjI+py+0Po5wH2HsXzmw//lHiSJZmUAAAOw==") no-repeat 99% 50%;
99
+ background-image: url("data:image/png;base64,R0lGODlhDwAUAIABAAAAAP///yH5BAEAAAEALAAAAAAPABQAAAIXjI+py+0Po5wH2HsXzmw//lHiSJZmUAAAOw==");
100
+ background-repeat: no-repeat;
101
+ background-position: 99% 50%;
96
102
  }
97
103
 
98
104
  // CHECKBOXES and RADIOs
@@ -17,6 +17,21 @@
17
17
  box-shadow: 0 -.2em 0 0 $tab-heading-box-shadow-color inset;
18
18
  }
19
19
 
20
+ .c-tabs__nav {
21
+ overflow: hidden;
22
+
23
+ .c-tabs__headings {
24
+ margin-bottom: -1em;
25
+ padding-bottom: 1em;
26
+ overflow-y: hidden;
27
+ overflow-x: auto;
28
+ }
29
+
30
+ .c-tab-heading {
31
+ white-space: nowrap;
32
+ }
33
+ }
34
+
20
35
  .c-tab-heading--active {
21
36
  @include tab-heading--color;
22
37
  }
@@ -28,6 +28,10 @@
28
28
  color: $tree-item-expandable-indicator-color;
29
29
  content: "\276F";
30
30
  }
31
+
32
+ .c-tree {
33
+ display: none;
34
+ }
31
35
  }
32
36
 
33
37
  .c-tree__item--expanded {
@@ -36,4 +40,8 @@
36
40
  color: $tree-item-expanded-indicator-color;
37
41
  content: "\276F";
38
42
  }
43
+
44
+ .c-tree {
45
+ display: block;
46
+ }
39
47
  }
@@ -57,7 +57,7 @@
57
57
 
58
58
  @mixin button {
59
59
  @include button-color;
60
- display: inline;
60
+ display: inline-block;
61
61
  max-width: 100%;
62
62
  margin: $button-margin;
63
63
  padding: $button-padding;
@@ -220,9 +220,9 @@ $text-font-family-serif: Georgia, Cambria, "Times New Roman", Times, serif !defa
220
220
  $text-font-family-mono: Consolas, "Andale Mono WT", "Andale Mono", "Lucida Console", "Lucida Sans Typewriter", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace !default;
221
221
  $text-font-size-super: 2em !default;
222
222
  $text-font-size-xlarge: 1.5em !default;
223
- $text-font-size-large: 1.17em !default;
223
+ $text-font-size-large: 1.25em !default;
224
224
  $text-font-size-medium: 1em !default;
225
- $text-font-size-small: .83em !default;
225
+ $text-font-size-small: .8em !default;
226
226
  $text-font-size-xsmall: .67em !default;
227
227
  $text-font-weight: normal !default;
228
228
  $text-font-weight-heavy: bold !default;
@@ -292,17 +292,17 @@ $alert-border-radius: $border-radius !default;
292
292
  //
293
293
  // Avatar
294
294
  //
295
- $avatar-margin: 0;
296
- $avatar-background-color: $color-brand;
297
- $avatar-color: $color-white;
298
- $avatar-img-border-radius: $border-radius-rounded;
299
- $avatar-inner-img-size: 50%;
300
- $avatar-xsmall-size: 1em;
301
- $avatar-small-size: 2em;
302
- $avatar-medium-size: 3em;
303
- $avatar-large-size: 4em;
304
- $avatar-xlarge-size: 5em;
305
- $avatar-super-size: 6em;
295
+ $avatar-margin: 0 !default;
296
+ $avatar-background-color: $color-brand !default;
297
+ $avatar-color: $color-white !default;
298
+ $avatar-img-border-radius: $border-radius-rounded !default;
299
+ $avatar-inner-img-size: 50% !default;
300
+ $avatar-xsmall-size: 1em !default;
301
+ $avatar-small-size: 2em !default;
302
+ $avatar-medium-size: 3em !default;
303
+ $avatar-large-size: 4em !default;
304
+ $avatar-xlarge-size: 5em !default;
305
+ $avatar-super-size: 6em !default;
306
306
 
307
307
  //
308
308
  // Badges
@@ -467,7 +467,7 @@ $card-image-padding: $spacing-medium 0 0 !default;
467
467
  $card-header-padding: $spacing-medium $spacing-medium 0 !default;
468
468
  $card-body-padding: $spacing-medium !default;
469
469
  $card-footer-padding: $spacing-medium !default;
470
- $card-footer-block-padding: 0 !default;
470
+ $card-footer-block-padding: $spacing-small 0 0 !default;
471
471
 
472
472
  $card-item-padding: $spacing-small !default;
473
473
  $card-item-border-width: $border-width !default;
@@ -511,8 +511,8 @@ $card-item-warning-active-background-color: map-get($colors, warning-dark) !defa
511
511
  $card-item-success-active-background-color: map-get($colors, success-dark) !default;
512
512
  $card-item-error-active-background-color: map-get($colors, error-dark) !default;
513
513
 
514
- $card-accordion-chevron-border: 2px solid;
515
- $card-accordion-chevron-size: .75em;
514
+ $card-accordion-chevron-border: 2px solid !default;
515
+ $card-accordion-chevron-size: .75em !default;
516
516
 
517
517
  //
518
518
  // Drawers
@@ -622,8 +622,8 @@ $list-inline-item-bullet-padding: 0 $spacing-small 0 0 !default;
622
622
  //
623
623
  // Medias
624
624
  //
625
- $media-image-width: $avatar-medium-size;
626
- $media-body-margin-left: $spacing-small;
625
+ $media-image-width: $avatar-medium-size !default;
626
+ $media-body-margin-left: $spacing-small !default;
627
627
 
628
628
  //
629
629
  // Modals
@@ -707,19 +707,19 @@ $pagination-ellipsis-padding: 0 $spacing-medium !default;
707
707
  //
708
708
  // Panels
709
709
  //
710
- $panel-nav-top: ($nav-item-padding * 2) + ($text-line-height * 1em);
711
- $panel-nav-bottom: $panel-nav-top;
710
+ $panel-nav-top: ($nav-item-padding * 2) + ($text-line-height * 1em) !default;
711
+ $panel-nav-bottom: $panel-nav-top !default;
712
712
 
713
713
  //
714
714
  // Progress
715
715
  //
716
- $progress-background-color: map-get($colors, grey-lighter);
717
- $progress-color: $color-white;
718
- $progress-border: 0;
719
- $progress-border-radius: $border-radius;
720
- $progress-rounded-border-radius: $border-radius-rounded;
721
- $progress-bar-background-color: $color-default;
722
- $progress-bar-text-align: center;
716
+ $progress-background-color: map-get($colors, grey-lighter) !default;
717
+ $progress-color: $color-white !default;
718
+ $progress-border: 0 !default;
719
+ $progress-border-radius: $border-radius !default;
720
+ $progress-rounded-border-radius: $border-radius-rounded !default;
721
+ $progress-bar-background-color: $color-default !default;
722
+ $progress-bar-text-align: center !default;
723
723
 
724
724
  //
725
725
  // Ranges
@@ -840,16 +840,16 @@ $toggle-handle-disabled-background-color: map-get($colors, grey-lighter) !defaul
840
840
  //
841
841
  // Tooltips
842
842
  //
843
- $tooltip-z-index: $z-over-page;
844
- $tooltip-arrow-width: .6em;
845
- $tooltip-body-padding: $spacing-small $spacing-medium;
846
- $tooltip-body-background-color: map-get($colors, black);
847
- $tooltip-body-color: map-get($colors, white);
848
- $tooltip-line-height: 1.45;
849
- $tooltip-body-border-width: 1px;
850
- $tooltip-body-border-style: solid;
851
- $tooltip-body-border-color: $tooltip-body-background-color;
852
- $tooltip-body-border-radius: $border-radius;
843
+ $tooltip-z-index: $z-over-page !default;
844
+ $tooltip-arrow-width: .6em !default;
845
+ $tooltip-body-padding: $spacing-small $spacing-medium !default;
846
+ $tooltip-body-background-color: map-get($colors, black) !default;
847
+ $tooltip-body-color: map-get($colors, white) !default;
848
+ $tooltip-line-height: 1.45 !default;
849
+ $tooltip-body-border-width: 1px !default;
850
+ $tooltip-body-border-style: solid !default;
851
+ $tooltip-body-border-color: $tooltip-body-background-color !default;
852
+ $tooltip-body-border-radius: $border-radius !default;
853
853
 
854
854
  //
855
855
  // Trees
@@ -11,7 +11,7 @@
11
11
  overflow-y: auto;
12
12
  -webkit-overflow-scrolling: touch;
13
13
 
14
- > .c-card {
14
+ > .c-card {
15
15
  background-color: transparent;
16
16
  box-shadow: none;
17
17
  }
@@ -20,6 +20,14 @@
20
20
  @include grid--bottom;
21
21
  }
22
22
 
23
+ &--full {
24
+ @include grid--full;
25
+
26
+ > .o-grid__cell {
27
+ @include grid__cell--full;
28
+ }
29
+ }
30
+
23
31
  &--no-gutter {
24
32
  > .o-grid__cell {
25
33
  @include grid__cell--no-gutter;
@@ -59,4 +67,4 @@
59
67
  @include grid__cell--visible;
60
68
  }
61
69
  }
62
- }
70
+ }
@@ -3,9 +3,12 @@
3
3
  @import "mixins/utilities.alignment";
4
4
 
5
5
  .o-modal {
6
- @include center-block__content;
7
6
  display: block;
7
+ position: absolute;
8
+ top: 50%;
9
+ left: 50%;
8
10
  width: $modal-width;
11
+ transform: translate(-50%, -50%);
9
12
  border: $modal-border;
10
13
  border-radius: $modal-border-radius;
11
14
  background-color: $modal-background-color;
@@ -174,22 +174,27 @@ body.active_admin {
174
174
  line-height: $height-inputs;
175
175
  }
176
176
  }
177
- .filter_form_field.filter_date_range {
178
- input[type='datetime-local'],
179
- input[type='email'],
180
- input[type='number'],
181
- input[type='password'],
182
- input[type='search'],
183
- input[type='tel'],
184
- input[type='text'],
185
- input[type='time'],
186
- input[type='url'], {
187
- max-width: 100px;
188
- width: auto;
177
+ .filter_form_field.select_and_search {
178
+ >input, >select {
179
+ background-color: $bg-inputs;
180
+ width: 49%;
181
+ }
182
+ >input {
183
+ margin: 0 0 0 1%;
184
+ }
185
+ >select {
186
+ margin: 0 1% 0 0;
189
187
  }
190
188
  }
191
- .filter_form_field.select_and_search select {
192
- background-color: $bg-inputs;
189
+ .filter_form_field.filter_date_range {
190
+ >input {
191
+ background-color: $bg-inputs;
192
+ width: 49%;
193
+ margin: 0 1% 0 0;
194
+ }
195
+ >input:last-child {
196
+ margin: 0 0 0 1%;
197
+ }
193
198
  }
194
199
  .buttons {
195
200
  clear: both;
@@ -286,7 +291,7 @@ body.active_admin {
286
291
  }
287
292
  }
288
293
  }
289
- > fieldset.inputs, .ui-tabs-panel > fieldset.inputs {
294
+ > fieldset.inputs, div.c-card__item > fieldset.inputs, .ui-tabs-panel > fieldset.inputs {
290
295
  > legend {
291
296
  @extend .c-card__item;
292
297
  @extend .c-card__item--brand;
@@ -378,6 +383,9 @@ body.active_admin {
378
383
  margin-right: 10px;
379
384
  }
380
385
  }
386
+ div.c-card__item > fieldset.inputs {
387
+ margin-bottom: 0;
388
+ }
381
389
 
382
390
  // tabs
383
391
  .ui-tabs > .tab-content {
@@ -735,6 +743,11 @@ body.active_admin {
735
743
  margin: 0;
736
744
  }
737
745
  }
746
+ .section {
747
+ background: transparent;
748
+ box-shadow: none;
749
+ margin-bottom: 0;
750
+ }
738
751
  }
739
752
 
740
753
  // admin content
@@ -750,10 +763,16 @@ body.active_admin {
750
763
  .ui-dialog {
751
764
  button.ui-button {
752
765
  @extend .button-base;
753
- // margin-right: 10px;
754
- &:hover {
766
+ margin-right: 10px;
767
+ &:hover, &.ui-widget:hover {
755
768
  background-image: none;
756
769
  }
770
+ &.ui-dialog-titlebar-close {
771
+ display: none;
772
+ }
773
+ }
774
+ .ui-dialog-content {
775
+ min-height: auto;
757
776
  }
758
777
  .ui-dialog-titlebar {
759
778
  display: flex;
@@ -762,8 +781,9 @@ body.active_admin {
762
781
  align-self: center
763
782
  }
764
783
  }
765
- // .ui-dialog-buttonset
766
- // text-align: right
784
+ // .ui-dialog-buttonset {
785
+ // text-align: right;
786
+ // }
767
787
  }
768
788
 
769
789
  // footer
File without changes
File without changes
File without changes
File without changes
@@ -1,13 +1,30 @@
1
1
  ActiveAdmin::Views::ActiveAdminForm.class_eval do
2
- def readonly( field_label, field_value )
3
- li class: 'readonly-field' do
4
- if !field_label.blank?
5
- label field_label, for: nil, class: 'field_label'
2
+ def accordion( title, &block )
3
+ @accordion_id = @accordion_id ? ( @accordion_id + 1 ) : 1
4
+ text_node tag :input, type: 'checkbox', id: "accordion-#{@accordion_id}"
5
+ label title, for: "accordion-#{@accordion_id}", class: 'c-card__item c-card__item--brand'
6
+ div class: 'c-card__item' do
7
+ yield block
8
+ end
9
+ end
10
+
11
+ def accordion_group( &block )
12
+ div class: 'c-card c-card--accordion u-high' do
13
+ yield block
14
+ end
15
+ end
16
+
17
+ def readonly( field, value = nil, options = {} )
18
+ cl = 'readonly-field'
19
+ cl += ' ' + options[:class] if options[:class]
20
+ li class: cl do
21
+ if !field.blank?
22
+ label field, for: nil, class: 'field_label'
6
23
  else
7
24
  span ' '.html_safe, class: 'field_label'
8
25
  end
9
26
  div do
10
- span !field_value.blank? ? raw( field_value ) : '', class: 'field_value'
27
+ span ( value.nil? ? ( field && object.respond_to?( field ) ? object.send( field ) : '' ) : raw( value ) ), class: 'field_value'
11
28
  end
12
29
  end
13
30
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveAdminBlazeTheme
2
- VERSION = '0.5.4'
2
+ VERSION = '0.5.6'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activeadmin_blaze_theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.4
4
+ version: 0.5.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mattia Roccoberton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-22 00:00:00.000000000 Z
11
+ date: 2017-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeadmin
@@ -99,14 +99,14 @@ files:
99
99
  - app/assets/stylesheets/activeadmin_blaze_theme/blaze/utilities.elevation.scss
100
100
  - app/assets/stylesheets/activeadmin_blaze_theme/blaze/utilities.sizes.scss
101
101
  - app/assets/stylesheets/activeadmin_blaze_theme/theme.scss
102
+ - extra/screenshot1.jpg
103
+ - extra/screenshot2.jpg
104
+ - extra/screenshot3.jpg
105
+ - extra/screenshot4.jpg
102
106
  - lib/activeadmin/views/activeadmin_form.rb
103
107
  - lib/activeadmin_blaze_theme.rb
104
108
  - lib/activeadmin_blaze_theme/version.rb
105
109
  - lib/formtastic/inputs/blaze_toggle_input.rb
106
- - screenshot1.jpg
107
- - screenshot2.jpg
108
- - screenshot3.jpg
109
- - screenshot4.jpg
110
110
  homepage: https://github.com/blocknotes/activeadmin_blaze_theme
111
111
  licenses:
112
112
  - MIT