flipper-ui 0.16.2 → 0.20.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. checksums.yaml +5 -5
  2. data/docs/ui/README.md +34 -24
  3. data/docs/ui/images/banner.png +0 -0
  4. data/docs/ui/images/description.png +0 -0
  5. data/docs/ui/images/feature.png +0 -0
  6. data/docs/ui/images/features.png +0 -0
  7. data/examples/ui/basic.ru +20 -0
  8. data/flipper-ui.gemspec +2 -3
  9. data/lib/flipper/ui/action.rb +3 -6
  10. data/lib/flipper/ui/actions/feature.rb +5 -2
  11. data/lib/flipper/ui/actions/features.rb +14 -1
  12. data/lib/flipper/ui/actions/file.rb +1 -1
  13. data/lib/flipper/ui/assets/javascripts/application.coffee +5 -3
  14. data/lib/flipper/ui/configuration.rb +34 -10
  15. data/lib/flipper/ui/decorators/feature.rb +39 -13
  16. data/lib/flipper/ui/public/css/application.css +20 -6493
  17. data/lib/flipper/ui/public/js/application.js +5 -5
  18. data/lib/flipper/ui/util.rb +40 -0
  19. data/lib/flipper/ui/views/add_actor.erb +2 -2
  20. data/lib/flipper/ui/views/add_feature.erb +2 -2
  21. data/lib/flipper/ui/views/add_group.erb +1 -1
  22. data/lib/flipper/ui/views/feature.erb +199 -180
  23. data/lib/flipper/ui/views/features.erb +55 -36
  24. data/lib/flipper/ui/views/layout.erb +4 -14
  25. data/lib/flipper/ui.rb +4 -7
  26. data/lib/flipper/version.rb +1 -1
  27. data/spec/flipper/ui/actions/actors_gate_spec.rb +9 -13
  28. data/spec/flipper/ui/actions/feature_spec.rb +14 -16
  29. data/spec/flipper/ui/actions/features_spec.rb +49 -14
  30. data/spec/flipper/ui/actions/file_spec.rb +0 -10
  31. data/spec/flipper/ui/actions/groups_gate_spec.rb +0 -6
  32. data/spec/flipper/ui/actions/percentage_of_actors_gate_spec.rb +0 -2
  33. data/spec/flipper/ui/actions/percentage_of_time_gate_spec.rb +0 -2
  34. data/spec/flipper/ui/configuration_spec.rb +69 -34
  35. data/spec/flipper/ui/decorators/feature_spec.rb +2 -32
  36. data/spec/flipper/ui_spec.rb +1 -1
  37. metadata +21 -133
  38. data/docs/ui/images/configured-ui.png +0 -0
  39. data/docs/ui/images/environment-banner.png +0 -0
  40. data/lib/flipper/ui/assets/stylesheets/.DS_Store +0 -0
  41. data/lib/flipper/ui/assets/stylesheets/application.scss +0 -19
  42. data/lib/flipper/ui/assets/stylesheets/bootstrap/_alert.scss +0 -51
  43. data/lib/flipper/ui/assets/stylesheets/bootstrap/_badge.scss +0 -47
  44. data/lib/flipper/ui/assets/stylesheets/bootstrap/_breadcrumb.scss +0 -38
  45. data/lib/flipper/ui/assets/stylesheets/bootstrap/_button-group.scss +0 -166
  46. data/lib/flipper/ui/assets/stylesheets/bootstrap/_buttons.scss +0 -143
  47. data/lib/flipper/ui/assets/stylesheets/bootstrap/_card.scss +0 -270
  48. data/lib/flipper/ui/assets/stylesheets/bootstrap/_carousel.scss +0 -191
  49. data/lib/flipper/ui/assets/stylesheets/bootstrap/_close.scss +0 -34
  50. data/lib/flipper/ui/assets/stylesheets/bootstrap/_code.scss +0 -56
  51. data/lib/flipper/ui/assets/stylesheets/bootstrap/_custom-forms.scss +0 -297
  52. data/lib/flipper/ui/assets/stylesheets/bootstrap/_dropdown.scss +0 -131
  53. data/lib/flipper/ui/assets/stylesheets/bootstrap/_forms.scss +0 -333
  54. data/lib/flipper/ui/assets/stylesheets/bootstrap/_functions.scss +0 -86
  55. data/lib/flipper/ui/assets/stylesheets/bootstrap/_grid.scss +0 -52
  56. data/lib/flipper/ui/assets/stylesheets/bootstrap/_images.scss +0 -42
  57. data/lib/flipper/ui/assets/stylesheets/bootstrap/_input-group.scss +0 -159
  58. data/lib/flipper/ui/assets/stylesheets/bootstrap/_jumbotron.scss +0 -16
  59. data/lib/flipper/ui/assets/stylesheets/bootstrap/_list-group.scss +0 -115
  60. data/lib/flipper/ui/assets/stylesheets/bootstrap/_media.scss +0 -8
  61. data/lib/flipper/ui/assets/stylesheets/bootstrap/_mixins.scss +0 -42
  62. data/lib/flipper/ui/assets/stylesheets/bootstrap/_modal.scss +0 -168
  63. data/lib/flipper/ui/assets/stylesheets/bootstrap/_nav.scss +0 -118
  64. data/lib/flipper/ui/assets/stylesheets/bootstrap/_navbar.scss +0 -311
  65. data/lib/flipper/ui/assets/stylesheets/bootstrap/_pagination.scss +0 -77
  66. data/lib/flipper/ui/assets/stylesheets/bootstrap/_popover.scss +0 -183
  67. data/lib/flipper/ui/assets/stylesheets/bootstrap/_print.scss +0 -124
  68. data/lib/flipper/ui/assets/stylesheets/bootstrap/_progress.scss +0 -33
  69. data/lib/flipper/ui/assets/stylesheets/bootstrap/_reboot.scss +0 -482
  70. data/lib/flipper/ui/assets/stylesheets/bootstrap/_root.scss +0 -19
  71. data/lib/flipper/ui/assets/stylesheets/bootstrap/_tables.scss +0 -180
  72. data/lib/flipper/ui/assets/stylesheets/bootstrap/_tooltip.scss +0 -115
  73. data/lib/flipper/ui/assets/stylesheets/bootstrap/_transitions.scss +0 -36
  74. data/lib/flipper/ui/assets/stylesheets/bootstrap/_type.scss +0 -125
  75. data/lib/flipper/ui/assets/stylesheets/bootstrap/_utilities.scss +0 -14
  76. data/lib/flipper/ui/assets/stylesheets/bootstrap/_variables.scss +0 -894
  77. data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap-grid.scss +0 -32
  78. data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap-reboot.scss +0 -12
  79. data/lib/flipper/ui/assets/stylesheets/bootstrap/bootstrap.scss +0 -42
  80. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_alert.scss +0 -13
  81. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_background-variant.scss +0 -21
  82. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_badge.scss +0 -12
  83. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_border-radius.scss +0 -35
  84. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_box-shadow.scss +0 -5
  85. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_breakpoints.scss +0 -123
  86. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_buttons.scss +0 -109
  87. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_caret.scss +0 -65
  88. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_clearfix.scss +0 -7
  89. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_float.scss +0 -11
  90. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_forms.scss +0 -137
  91. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_gradients.scss +0 -45
  92. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_grid-framework.scss +0 -67
  93. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_grid.scss +0 -52
  94. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_hover.scss +0 -39
  95. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_image.scss +0 -36
  96. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_list-group.scss +0 -21
  97. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_lists.scss +0 -7
  98. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_nav-divider.scss +0 -10
  99. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_navbar-align.scss +0 -10
  100. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_pagination.scss +0 -22
  101. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_reset-text.scss +0 -17
  102. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_resize.scss +0 -6
  103. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_screen-reader.scss +0 -35
  104. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_size.scss +0 -6
  105. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_table-row.scss +0 -30
  106. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-emphasis.scss +0 -14
  107. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-hide.scss +0 -9
  108. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_text-truncate.scss +0 -8
  109. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_transition.scss +0 -9
  110. data/lib/flipper/ui/assets/stylesheets/bootstrap/mixins/_visibility.scss +0 -7
  111. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_align.scss +0 -8
  112. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_background.scss +0 -19
  113. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_borders.scss +0 -59
  114. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_clearfix.scss +0 -3
  115. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_display.scss +0 -38
  116. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_embed.scss +0 -52
  117. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_flex.scss +0 -46
  118. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_float.scss +0 -9
  119. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_position.scss +0 -36
  120. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_screenreaders.scss +0 -11
  121. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_sizing.scss +0 -12
  122. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_spacing.scss +0 -51
  123. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_text.scss +0 -52
  124. data/lib/flipper/ui/assets/stylesheets/bootstrap/utilities/_visibility.scss +0 -11
  125. data/lib/flipper/ui/assets/stylesheets/primer/.scss-lint.yml +0 -446
  126. data/lib/flipper/ui/assets/stylesheets/primer/_alerts.scss +0 -106
  127. data/lib/flipper/ui/assets/stylesheets/primer/_avatars.scss +0 -36
  128. data/lib/flipper/ui/assets/stylesheets/primer/_base.scss +0 -40
  129. data/lib/flipper/ui/assets/stylesheets/primer/_blankslate.scss +0 -96
  130. data/lib/flipper/ui/assets/stylesheets/primer/_buttons.scss +0 -404
  131. data/lib/flipper/ui/assets/stylesheets/primer/_counter.scss +0 -10
  132. data/lib/flipper/ui/assets/stylesheets/primer/_filter-list.scss +0 -68
  133. data/lib/flipper/ui/assets/stylesheets/primer/_flex-table.scss +0 -20
  134. data/lib/flipper/ui/assets/stylesheets/primer/_forms.scss +0 -756
  135. data/lib/flipper/ui/assets/stylesheets/primer/_layout.scss +0 -69
  136. data/lib/flipper/ui/assets/stylesheets/primer/_menu.scss +0 -113
  137. data/lib/flipper/ui/assets/stylesheets/primer/_mixins.scss +0 -53
  138. data/lib/flipper/ui/assets/stylesheets/primer/_normalize.scss +0 -425
  139. data/lib/flipper/ui/assets/stylesheets/primer/_states.scss +0 -32
  140. data/lib/flipper/ui/assets/stylesheets/primer/_tabnav.scss +0 -65
  141. data/lib/flipper/ui/assets/stylesheets/primer/_tooltips.scss +0 -255
  142. data/lib/flipper/ui/assets/stylesheets/primer/_truncate.scss +0 -27
  143. data/lib/flipper/ui/assets/stylesheets/primer/_type.scss +0 -92
  144. data/lib/flipper/ui/assets/stylesheets/primer/_utility.scss +0 -73
  145. data/lib/flipper/ui/assets/stylesheets/primer/_variables.scss +0 -34
  146. data/lib/flipper/ui/assets/stylesheets/primer/primer.scss +0 -39
  147. data/lib/flipper/ui/eruby.rb +0 -11
  148. data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.eot +0 -0
  149. data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.svg +0 -288
  150. data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  151. data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.woff +0 -0
  152. data/lib/flipper/ui/public/fonts/bootstrap/glyphicons-halflings-regular.woff2 +0 -0
  153. data/lib/flipper/ui/public/images/remove.png +0 -0
  154. data/lib/flipper/ui/public/octicons/octicons.less +0 -235
  155. data/lib/flipper/ui/public/octicons/sprockets-octicons.scss +0 -232
@@ -1,115 +0,0 @@
1
- // Base class
2
- .tooltip {
3
- position: absolute;
4
- z-index: $zindex-tooltip;
5
- display: block;
6
- margin: $tooltip-margin;
7
- // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
8
- // So reset our font and text properties to avoid inheriting weird values.
9
- @include reset-text();
10
- font-size: $tooltip-font-size;
11
- // Allow breaking very long words so they don't overflow the tooltip's bounds
12
- word-wrap: break-word;
13
- opacity: 0;
14
-
15
- &.show { opacity: $tooltip-opacity; }
16
-
17
- .arrow {
18
- position: absolute;
19
- display: block;
20
- width: $tooltip-arrow-width;
21
- height: $tooltip-arrow-height;
22
-
23
- &::before {
24
- position: absolute;
25
- content: "";
26
- border-color: transparent;
27
- border-style: solid;
28
- }
29
- }
30
- }
31
-
32
- .bs-tooltip-top {
33
- padding: $tooltip-arrow-height 0;
34
-
35
- .arrow {
36
- bottom: 0;
37
-
38
- &::before {
39
- top: 0;
40
- border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
41
- border-top-color: $tooltip-arrow-color;
42
- }
43
- }
44
- }
45
-
46
- .bs-tooltip-right {
47
- padding: 0 $tooltip-arrow-height;
48
-
49
- .arrow {
50
- left: 0;
51
- width: $tooltip-arrow-height;
52
- height: $tooltip-arrow-width;
53
-
54
- &::before {
55
- right: 0;
56
- border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
57
- border-right-color: $tooltip-arrow-color;
58
- }
59
- }
60
- }
61
-
62
- .bs-tooltip-bottom {
63
- padding: $tooltip-arrow-height 0;
64
-
65
- .arrow {
66
- top: 0;
67
-
68
- &::before {
69
- bottom: 0;
70
- border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
71
- border-bottom-color: $tooltip-arrow-color;
72
- }
73
- }
74
- }
75
-
76
- .bs-tooltip-left {
77
- padding: 0 $tooltip-arrow-height;
78
-
79
- .arrow {
80
- right: 0;
81
- width: $tooltip-arrow-height;
82
- height: $tooltip-arrow-width;
83
-
84
- &::before {
85
- left: 0;
86
- border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
87
- border-left-color: $tooltip-arrow-color;
88
- }
89
- }
90
- }
91
-
92
- .bs-tooltip-auto {
93
- &[x-placement^="top"] {
94
- @extend .bs-tooltip-top;
95
- }
96
- &[x-placement^="right"] {
97
- @extend .bs-tooltip-right;
98
- }
99
- &[x-placement^="bottom"] {
100
- @extend .bs-tooltip-bottom;
101
- }
102
- &[x-placement^="left"] {
103
- @extend .bs-tooltip-left;
104
- }
105
- }
106
-
107
- // Wrapper for the tooltip content
108
- .tooltip-inner {
109
- max-width: $tooltip-max-width;
110
- padding: $tooltip-padding-y $tooltip-padding-x;
111
- color: $tooltip-color;
112
- text-align: center;
113
- background-color: $tooltip-bg;
114
- @include border-radius($tooltip-border-radius);
115
- }
@@ -1,36 +0,0 @@
1
- // stylelint-disable selector-no-qualifying-type
2
-
3
- .fade {
4
- opacity: 0;
5
- @include transition($transition-fade);
6
-
7
- &.show {
8
- opacity: 1;
9
- }
10
- }
11
-
12
- .collapse {
13
- display: none;
14
- &.show {
15
- display: block;
16
- }
17
- }
18
-
19
- tr {
20
- &.collapse.show {
21
- display: table-row;
22
- }
23
- }
24
-
25
- tbody {
26
- &.collapse.show {
27
- display: table-row-group;
28
- }
29
- }
30
-
31
- .collapsing {
32
- position: relative;
33
- height: 0;
34
- overflow: hidden;
35
- @include transition($transition-collapse);
36
- }
@@ -1,125 +0,0 @@
1
- // stylelint-disable declaration-no-important, selector-list-comma-newline-after
2
-
3
- //
4
- // Headings
5
- //
6
-
7
- h1, h2, h3, h4, h5, h6,
8
- .h1, .h2, .h3, .h4, .h5, .h6 {
9
- margin-bottom: $headings-margin-bottom;
10
- font-family: $headings-font-family;
11
- font-weight: $headings-font-weight;
12
- line-height: $headings-line-height;
13
- color: $headings-color;
14
- }
15
-
16
- h1, .h1 { font-size: $h1-font-size; }
17
- h2, .h2 { font-size: $h2-font-size; }
18
- h3, .h3 { font-size: $h3-font-size; }
19
- h4, .h4 { font-size: $h4-font-size; }
20
- h5, .h5 { font-size: $h5-font-size; }
21
- h6, .h6 { font-size: $h6-font-size; }
22
-
23
- .lead {
24
- font-size: $lead-font-size;
25
- font-weight: $lead-font-weight;
26
- }
27
-
28
- // Type display classes
29
- .display-1 {
30
- font-size: $display1-size;
31
- font-weight: $display1-weight;
32
- line-height: $display-line-height;
33
- }
34
- .display-2 {
35
- font-size: $display2-size;
36
- font-weight: $display2-weight;
37
- line-height: $display-line-height;
38
- }
39
- .display-3 {
40
- font-size: $display3-size;
41
- font-weight: $display3-weight;
42
- line-height: $display-line-height;
43
- }
44
- .display-4 {
45
- font-size: $display4-size;
46
- font-weight: $display4-weight;
47
- line-height: $display-line-height;
48
- }
49
-
50
-
51
- //
52
- // Horizontal rules
53
- //
54
-
55
- hr {
56
- margin-top: $hr-margin-y;
57
- margin-bottom: $hr-margin-y;
58
- border: 0;
59
- border-top: $hr-border-width solid $hr-border-color;
60
- }
61
-
62
-
63
- //
64
- // Emphasis
65
- //
66
-
67
- small,
68
- .small {
69
- font-size: $small-font-size;
70
- font-weight: $font-weight-normal;
71
- }
72
-
73
- mark,
74
- .mark {
75
- padding: $mark-padding;
76
- background-color: $mark-bg;
77
- }
78
-
79
-
80
- //
81
- // Lists
82
- //
83
-
84
- .list-unstyled {
85
- @include list-unstyled;
86
- }
87
-
88
- // Inline turns list items into inline-block
89
- .list-inline {
90
- @include list-unstyled;
91
- }
92
- .list-inline-item {
93
- display: inline-block;
94
-
95
- &:not(:last-child) {
96
- margin-right: $list-inline-padding;
97
- }
98
- }
99
-
100
-
101
- //
102
- // Misc
103
- //
104
-
105
- // Builds on `abbr`
106
- .initialism {
107
- font-size: 90%;
108
- text-transform: uppercase;
109
- }
110
-
111
- // Blockquotes
112
- .blockquote {
113
- margin-bottom: $spacer;
114
- font-size: $blockquote-font-size;
115
- }
116
-
117
- .blockquote-footer {
118
- display: block;
119
- font-size: 80%; // back to default font-size
120
- color: $blockquote-small-color;
121
-
122
- &::before {
123
- content: "\2014 \00A0"; // em dash, nbsp
124
- }
125
- }
@@ -1,14 +0,0 @@
1
- @import "utilities/align";
2
- @import "utilities/background";
3
- @import "utilities/borders";
4
- @import "utilities/clearfix";
5
- @import "utilities/display";
6
- @import "utilities/embed";
7
- @import "utilities/flex";
8
- @import "utilities/float";
9
- @import "utilities/position";
10
- @import "utilities/screenreaders";
11
- @import "utilities/sizing";
12
- @import "utilities/spacing";
13
- @import "utilities/text";
14
- @import "utilities/visibility";