beyond-rails 0.0.183 → 0.0.188

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
  SHA256:
3
- metadata.gz: 2b95840e6e097242680b87b6f18a62d8143c862b42475a6267cf8fb1b3392b14
4
- data.tar.gz: fb4dc8da9afd023477ae1e0615051b8117996518eb1b1278a2c8f1e4349fa3de
3
+ metadata.gz: a72c8e57a80e8c6a653ea5356f23c3be9ce034f88d23ec5e42c3a2a6256bda6f
4
+ data.tar.gz: cb191ff4300f1f09c79162109b85d44f0e07f0c86f4926b40654f83f25d2dc98
5
5
  SHA512:
6
- metadata.gz: 5e07119c9cfc45279155a1d0e47fe0c893b1c838537ee5d7589dfa158d36f0d5b1ecd1ef2422b7c964ef6f7d9c6913a6a19c70fc5bae67f5022d7942a0d8d2f2
7
- data.tar.gz: ff1cd77dc2d294fcbffff1315be60393e7430e51504f928da1d082267ee266d8fa82802903450a3cf348ad2c5248f9f0ee1cc5441b35fdae19c175a26a9264a8
6
+ metadata.gz: 12b25834e8759f6c421a785e1fc6e41d5095e197a383f8df7c8f8c85ed9cb35bd6651793e63dfcdb8071cf7a94cb495ac95b42c924f02c453b9e45599a25af00
7
+ data.tar.gz: 6b308a81c3ae0cadb78dcacf76fcf41ef76b5f0bae1b79685333632938eb697690093cba2f4db84d3fb131e9fdb934a9b57407809191c9f7d86719c962f8118c
@@ -46,15 +46,19 @@ export default class Modal {
46
46
  addEvents() {
47
47
  this.addEvent(this.dom, 'click', () => this.show())
48
48
 
49
- this.addEvent(this.closeBtn, 'click', () => {
50
- this.hide()
51
- this.options.cancel('close')
52
- })
49
+ if (this.closeBtn) {
50
+ this.addEvent(this.closeBtn, 'click', () => {
51
+ this.hide()
52
+ this.options.cancel('close')
53
+ })
54
+ }
53
55
 
54
- this.addEvent(this.cancelBtn, 'click', () => {
55
- this.hide()
56
- this.options.cancel('cancel')
57
- })
56
+ if (this.cancelBtn) {
57
+ this.addEvent(this.cancelBtn, 'click', () => {
58
+ this.hide()
59
+ this.options.cancel('cancel')
60
+ })
61
+ }
58
62
 
59
63
  this.addEvent(this.modal, 'click', event => {
60
64
  // is backdrop
@@ -64,13 +68,15 @@ export default class Modal {
64
68
  }
65
69
  })
66
70
 
67
- this.addEvent(this.confirmBtn, 'click', () => {
68
- if (typeof this.options.confirm === 'function') {
69
- this.options.confirm()
70
- }
71
- else {
72
- this.hide()
73
- }
74
- })
71
+ if (this.confirmBtn) {
72
+ this.addEvent(this.confirmBtn, 'click', () => {
73
+ if (typeof this.options.confirm === 'function') {
74
+ this.options.confirm()
75
+ }
76
+ else {
77
+ this.hide()
78
+ }
79
+ })
80
+ }
75
81
  }
76
82
  }
@@ -82,6 +82,9 @@ export default class Tabbox {
82
82
  this.slider = document.createElement('div')
83
83
  this.slider.classList.add('js-slider')
84
84
  this.dom.appendChild(this.slider)
85
+
86
+ this.defaultSliderColor = getComputedStyle(this.slider).getPropertyValue('background-color')
87
+
85
88
  const defaultBtn = this.btns.find(btn => 'default' in btn.dataset)
86
89
 
87
90
  this.adjustSlider()
@@ -129,10 +132,12 @@ export default class Tabbox {
129
132
  })
130
133
  }
131
134
 
132
- moveSlider({ top, left, width, color = '#858585' }) {
135
+ moveSlider({ top, left, width, color }) {
133
136
  this.slider.style.transform = `translate(${left}px, ${top}px)`
134
137
  this.slider.style.width = width + 'px'
135
- this.slider.style.backgroundColor = color
138
+
139
+ const defaultSliderColor = this.defaultSliderColor || '#858585'
140
+ this.slider.style.backgroundColor = color || defaultSliderColor
136
141
  }
137
142
 
138
143
  removeCurrentClass() {
@@ -159,6 +164,7 @@ export default class Tabbox {
159
164
  }
160
165
 
161
166
  let dropdownMatched = false
167
+
162
168
  this.eachDropdownOption(({ dropdownBtn, dropdownInstance, optionEl }) => {
163
169
  if (status === optionEl.dataset.tabboxItem) {
164
170
  this.setDropdown({ dropdownBtn, dropdownInstance, optionEl })
@@ -174,9 +180,11 @@ export default class Tabbox {
174
180
  }
175
181
 
176
182
  setDropdown({ dropdownBtn, dropdownInstance, optionEl }) {
183
+ this.removeCurrentClass()
177
184
  this.currentNode = dropdownBtn
178
185
  this.optionEl = optionEl
179
186
  this.moveToCurrentNode()
187
+ this.addCurrentClass()
180
188
 
181
189
  this.dropdownInstances.filter(d => d !== dropdownInstance)
182
190
  .forEach(d => d.restoreText())
@@ -67,6 +67,7 @@ export default class Tooltip {
67
67
  this.addEvent(dom, 'mouseover', () => {
68
68
 
69
69
  const msg = this.dom.dataset.msg || ''
70
+ const style = this.dom.dataset.style || 'default'
70
71
 
71
72
  if (msg.length === 0) {
72
73
  return
@@ -77,12 +78,15 @@ export default class Tooltip {
77
78
  tooltip.style.opacity = 0
78
79
  tooltip.style.display = 'block'
79
80
 
80
- const { pos } = getFloatedTargetPos({
81
+ const { pos, place } = getFloatedTargetPos({
81
82
  src: dom,
82
83
  target: tooltip,
83
84
  place: this.getPlace(),
84
85
  offset: this.getOffset()
85
86
  })
87
+
88
+ tooltip.className = (style === 'default') ? 'tooltip' : `tooltip tooltip-popover ${place}`
89
+
86
90
  tooltip.style.left = toPixel(pos.left)
87
91
  tooltip.style.top = toPixel(pos.top)
88
92
  tooltip.style.opacity = 1
@@ -49,3 +49,4 @@
49
49
  @import './components/_toast';
50
50
  @import './components/_tooltip';
51
51
  @import './components/_switch';
52
+ @import './components/_mega-menu';
@@ -69,7 +69,6 @@ hr {
69
69
  a {
70
70
  cursor: pointer;
71
71
  color: $color-anchor;
72
- font-weight: 500;
73
72
  text-decoration: none;
74
73
  &:hover {
75
74
  color: $color-anchor-ex;
@@ -1,5 +1,10 @@
1
1
  $beyond-use-helper: false !default;
2
2
 
3
+ // texts
4
+ $text-color-strong: #1a1f36;
5
+ $text-color: #3c4257;
6
+ $text-color-light: #828695;
7
+
3
8
  // backgrounds
4
9
  $bg-transparent: transparent;
5
10
  $bg-admin: #e3e8ee;
@@ -311,7 +316,7 @@ $badges:
311
316
  ('badge-danger', #cd3d64, #fff),
312
317
  ('badge-warn', #f1946a, #fff),
313
318
  ('badge-info', #5ecdf1, #fff),
314
- ('badge-light', #f8f9fa, #fff),
319
+ ('badge-light', #f8f9fa, #666),
315
320
  ('badge-dark', #000, #fff),
316
321
  ('badge-type1', #d681d8, #fff),
317
322
  ('badge-type2', #fdd85f, #516487);
@@ -320,18 +325,18 @@ $badges:
320
325
  $border-color: #dee2e6;
321
326
 
322
327
  // buttons
323
- // classname, bg, color, bg-ex, bg-disabled
324
- $btn-primary: 'btn-primary', #6772e5, #fff, #7795f8, #b2b7df;
325
- $btn-secondary: 'btn-secondary', #fff, #6772e5, #fff, #ebebeb;
326
- $btn-success: 'btn-success', #25b47e, #fff, #7de1bb, #98b6ab;
327
- $btn-danger: 'btn-danger', #cd3d64, #fff, #ef6a8e, #b59ba7;
328
- $btn-warn: 'btn-warn', #f1946a, #fff, #ffaf8c, #e5cec3;
329
- $btn-warning: 'btn-warning', #f1946a, #fff, #ffaf8c, #e5cec3;
330
- $btn-info: 'btn-info', #5ecdf1, #fff, #7bdfff, #a4c5d0;
331
- $btn-light: 'btn-light', #f8f9fa, #697386, #f8f9fa, #ebebeb;
332
- $btn-dark: 'btn-dark', #000, #fff, #4c4c4c, #b7b7b7;
333
- $btn-type1: 'btn-type1', #d681d8, #fff, #eda3ef, #d1bdd1;
334
- $btn-type2: 'btn-type2', #fdd85f, #516487, #ffe89e, #dcd7c9;
328
+ // classname, bg, color, bg-ex, bg-disabled, outlined-color, badge-bg, badge-color
329
+ $btn-primary: 'btn-primary', #6772e5, #fff, #7795f8, #b2b7df, darken(#6772e5, 10%), #6c8eef, #fff;
330
+ $btn-secondary: 'btn-secondary', #fff, #6772e5, #fff, #ebebeb, lighten(#6772e5, 18%), lighten(#ccc, 12%), #6772e5;
331
+ $btn-success: 'btn-success', #25b47e, #fff, #7de1bb, #98b6ab, darken(#25b47e, 10%), lighten(#25b47e, 5%), #fff;
332
+ $btn-danger: 'btn-danger', #cd3d64, #fff, #ef6a8e, #b59ba7, darken(#cd3d64, 10%), lighten(#cd3d64, 10%), #fff;
333
+ $btn-warn: 'btn-warn', #f1946a, #fff, #ffaf8c, #e5cec3, darken(#f1946a, 10%), lighten(#f1946a, 7%), #fff;
334
+ $btn-warning: 'btn-warning', #f1946a, #fff, #ffaf8c, #e5cec3, darken(#f1946a, 10%), lighten(#f1946a, 7%), #fff;
335
+ $btn-info: 'btn-info', #5ecdf1, #fff, #7bdfff, #a4c5d0, darken(#5ecdf1, 10%), lighten(#5ecdf1, 7%), #fff;
336
+ $btn-light: 'btn-light', #f8f9fa, #697386, #f8f9fa, #ebebeb, #ccc, lighten(#ccc, 13%), #697386;
337
+ $btn-dark: 'btn-dark', #000, #fff, #4c4c4c, #b7b7b7, #000, lighten(#000, 30%), #fff;
338
+ $btn-type1: 'btn-type1', #d681d8, #fff, #eda3ef, #d1bdd1, darken(#d681d8, 10%), lighten(#d681d8, 7%), #fff;
339
+ $btn-type2: 'btn-type2', #fdd85f, #516487, #ffe89e, #dcd7c9, darken(#fdd85f, 10%), lighten(#fdd85f, 7%), #516487;
335
340
 
336
341
  $btns:
337
342
  $btn-primary,
@@ -1,16 +1,10 @@
1
1
  .badge {
2
- position: relative;
3
- top: -1px;
4
2
  font-family: 'Roboto', sans-serif;
5
3
  font-weight: 900;
6
- font-size: 75%;
7
- display: inline-block;
8
- border-radius: .25em;
9
- line-height: 1;
10
- vertical-align: baseline;
4
+ font-size: 12px;
5
+ border-radius: 2px;
11
6
  background-color: #eaeaea;
12
- padding: .25em .4em;
13
- text-align: center;
7
+ padding: 1px 4px;
14
8
  white-space: nowrap;
15
9
  transform: translateY(-8%);
16
10
  }
@@ -1,7 +1,8 @@
1
1
  .btn {
2
2
  outline: 0;
3
3
  background-color: #fff;
4
- display: inline-block;
4
+ display: inline-flex;
5
+ align-items: center;
5
6
  border: 0;
6
7
  padding: 6px 12px 7px;
7
8
  border-radius: 3px;
@@ -65,11 +66,7 @@
65
66
  cursor: not-allowed;
66
67
  }
67
68
  .icon {
68
- display: inline-block;
69
- margin-right: 2px;
70
- vertical-align: sub;
71
- transform: translateY(-2px);
72
- font-size: 1rem;
69
+ margin-right: .7em;
73
70
  }
74
71
  }
75
72
  .btn-loader {
@@ -117,7 +114,12 @@
117
114
  }
118
115
  }
119
116
 
120
- @each $classname, $bg, $color, $bg-ex, $bg-disabled in $btns {
117
+ .btn .badge {
118
+ margin-left: .5rem;
119
+ font-weight: 400;
120
+ }
121
+
122
+ @each $classname, $bg, $color, $bg-ex, $bg-disabled, $outlined-color, $badge-bg, $badge-color in $btns {
121
123
  .btn.#{$classname} {
122
124
  background-color: $bg;
123
125
  color: $color;
@@ -131,14 +133,21 @@
131
133
  &:disabled {
132
134
  background-color: $bg-disabled;
133
135
  }
136
+ &.outlined {
137
+ border: 1px solid $outlined-color;
138
+ }
139
+ .badge {
140
+ background-color: $badge-bg;
141
+ color: $badge-color;
142
+ }
134
143
  }
135
144
  }
136
145
 
137
146
  .btn.btn-link {
138
- background-color: nth($btn-link, 2);
147
+ background-color: transparent;
139
148
  color: nth($btn-link, 3);
140
149
  cursor: pointer;
141
- box-shadow: 'none';
150
+ box-shadow: none;
142
151
  &.hover,
143
152
  &:hover,
144
153
  &.active,
@@ -149,6 +158,9 @@
149
158
  &:disabled {
150
159
  color: nth($btn-link, 5);
151
160
  }
161
+ &.outlined {
162
+ border: 1px solid #ccc;
163
+ }
152
164
  }
153
165
 
154
166
  button.close {
@@ -159,10 +171,14 @@ button.close {
159
171
 
160
172
  .btn-line {
161
173
  background-color: #7ec163;
162
- color: #fff;
174
+ &, &:hover {
175
+ color: #fff;
176
+ }
163
177
  }
164
178
 
165
179
  .btn-fb {
166
180
  background-color: #4a9cff;
167
- color: #fff;
181
+ &, &:hover {
182
+ color: #fff;
183
+ }
168
184
  }
@@ -36,6 +36,9 @@
36
36
 
37
37
  z-index: 1;
38
38
  padding: 8px 0;
39
+ &.no-padding {
40
+ padding: 0;
41
+ }
39
42
  position: absolute;
40
43
  background-color: #fff;
41
44
  box-shadow: 0 0 0 1px rgba(136, 152, 170, .1),
@@ -142,3 +145,13 @@
142
145
  bottom: 14px;
143
146
  }
144
147
  }
148
+
149
+ .dropdown-menu-title {
150
+ padding: 7px 14px;
151
+ font-weight: 500;
152
+ background-color: #f7fafc;
153
+ }
154
+ .dropdown-menu-content {
155
+ padding: 14px;
156
+ font-size: .9rem;
157
+ }
@@ -0,0 +1,63 @@
1
+ .mega-menu {
2
+ padding-top: .2rem;
3
+ padding-bottom: .2rem;
4
+ }
5
+ .mega-menu-divider {
6
+ border-bottom: 1px solid #ebebeb;
7
+ }
8
+ .mega-menu-col {
9
+ padding: .7rem 1.5rem;
10
+ flex-grow: 1;
11
+ transition: .3s background-color;
12
+ min-width: 180px;
13
+ color: $text-color;
14
+ display: flex;
15
+ align-items: center;
16
+ &:hover {
17
+ color: $text-color-strong;
18
+ background-color: #f6f6f6;
19
+ }
20
+ i {
21
+ margin-right: .6rem;
22
+ }
23
+ }
24
+ .mega-menu-label {
25
+ padding-left: 1.5rem;
26
+ margin-top: 1rem;
27
+ margin-bottom: .5rem;
28
+ color: $text-color-light;
29
+ font-size: 12px;
30
+ }
31
+ .mega-menu-item {
32
+ transition: .3s background-color;
33
+ color: $text-color;
34
+ display: block;
35
+ padding: .5rem 2.2rem;
36
+ &:hover {
37
+ color: $text-color-strong;
38
+ background-color: #f6f6f6;
39
+ }
40
+ }
41
+ .mega-menu-icon-box {
42
+ display: table;
43
+ width: 100%;
44
+ > div {
45
+ display: table-row;
46
+ }
47
+ }
48
+ .mega-menu-icon-box-item {
49
+ cursor: pointer;
50
+ transition: .3s all;
51
+ display: table-cell;
52
+ padding: 1rem 1.8rem;
53
+ color: $color-primary;
54
+ text-align: center;
55
+ &:hover {
56
+ color: $text-color-strong;
57
+ background-color: #f6f6f6;
58
+ }
59
+ i {
60
+ display: block;
61
+ margin-bottom: .4rem;
62
+ }
63
+ }
@@ -61,7 +61,6 @@
61
61
  text-align: right;
62
62
  .btn {
63
63
  padding: 6px 12px;
64
- min-width: 62px;
65
64
  font-size: 14px;
66
65
  font-weight: 400;
67
66
  }
@@ -70,3 +69,15 @@
70
69
  }
71
70
  }
72
71
  }
72
+
73
+ .modal.static {
74
+ overflow-y: initial;
75
+ background-color: transparent;
76
+ opacity: 1;
77
+ position: static;
78
+ display: block;
79
+ .modal-dialog {
80
+ transform: scale(1);
81
+ margin: 0 auto;
82
+ }
83
+ }
@@ -23,23 +23,28 @@
23
23
  }
24
24
  }
25
25
  .nav-folder + ul {
26
+ margin-bottom: .5rem;
26
27
  .nav-item {
27
- color: #626c98;
28
+ padding-left: 1rem;
28
29
  }
29
30
  }
30
31
  .nav-menu {
31
32
  display: none;
32
33
  }
33
34
  .nav-item {
35
+ font-weight: 400;
34
36
  color: #1a1f36;
35
37
  text-decoration: none;
36
- display: block;
38
+ display: flex;
39
+ align-items: center;
37
40
  padding: 7px;
38
41
  font-size: .875rem;
42
+ > i {
43
+ margin-right: .8rem;
44
+ }
39
45
  }
40
46
  .nav-item.active {
41
47
  color: $color-primary;
42
- font-weight: 700;
43
48
  }
44
49
  }
45
50
  .nav-tabs .nav-item.show .nav-link,
@@ -60,7 +60,7 @@
60
60
  border-left: 0;
61
61
  border-bottom-width: 2px;
62
62
  border-bottom-style: solid;
63
- border-bottom-color: #cdcdcd;
63
+ border-bottom-color: #e3e8ee;
64
64
  outline: 0;
65
65
  transition: all .3s;
66
66
  &:hover {
@@ -84,3 +84,13 @@
84
84
  }
85
85
  }
86
86
  }
87
+ .tabbox.tabbox-uno {
88
+ $tab-active-color: #6772e5;
89
+ .js-slider {
90
+ background-color: $tab-active-color;
91
+ }
92
+ .tab-btn.js-current {
93
+ color: $tab-active-color;
94
+ font-weight: 700;
95
+ }
96
+ }
@@ -8,3 +8,59 @@
8
8
  color: #fff;
9
9
  background-color: #555;
10
10
  }
11
+
12
+ .tooltip.tooltip-popover {
13
+ $border-color: #e8e8e8;
14
+ background-color: #fff;
15
+ color: #3c4257;
16
+ padding: 10px 13px;
17
+ box-shadow: 4px 4px 15px 1px rgba(68, 68, 72, .12);
18
+ border: 1px solid $border-color;
19
+
20
+ &:after {
21
+ content: ' ';
22
+ display: block;
23
+ border: 0;
24
+ border-top-left-radius: 4px;
25
+ @include size(12px);
26
+ background-color: #fff;
27
+ position: absolute;
28
+ transform: rotate(45deg);
29
+ }
30
+ &.top:after {
31
+ bottom: -6px;
32
+ left: 0;
33
+ right: 0;
34
+ margin-left: auto;
35
+ margin-right: auto;
36
+ border-right: 1px solid $border-color;
37
+ border-bottom: 1px solid $border-color;
38
+ }
39
+ &.bottom:after {
40
+ top: -6px;
41
+ left: 0;
42
+ right: 0;
43
+ margin-left: auto;
44
+ margin-right: auto;
45
+ border-left: 1px solid $border-color;
46
+ border-top: 1px solid $border-color;
47
+ }
48
+ &.left:after {
49
+ right: -6px;
50
+ top: 0;
51
+ bottom: 0;
52
+ margin-top: auto;
53
+ margin-bottom: auto;
54
+ border-right: 1px solid $border-color;
55
+ border-top: 1px solid $border-color;
56
+ }
57
+ &.right:after {
58
+ left: -6px;
59
+ top: 0;
60
+ bottom: 0;
61
+ margin-top: auto;
62
+ margin-bottom: auto;
63
+ border-left: 1px solid $border-color;
64
+ border-bottom: 1px solid $border-color;
65
+ }
66
+ }
@@ -4,6 +4,9 @@
4
4
  .justify-content-between {
5
5
  justify-content: space-between;
6
6
  }
7
+ .justify-content-around {
8
+ justify-content: space-around;
9
+ }
7
10
  .justify-content-start {
8
11
  justify-content: flex-start;
9
12
  }
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beyond-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.183
4
+ version: 0.0.188
5
5
  platform: ruby
6
6
  authors:
7
7
  - kmsheng
8
8
  - Eddie Li
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-08-26 00:00:00.000000000 Z
12
+ date: 2020-08-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: sassc
@@ -67,7 +67,7 @@ dependencies:
67
67
  - - ">="
68
68
  - !ruby/object:Gem::Version
69
69
  version: '5.0'
70
- description:
70
+ description:
71
71
  email: kmsh3ng@gmail.com
72
72
  executables: []
73
73
  extensions: []
@@ -191,6 +191,7 @@ files:
191
191
  - src/sass/components/_icon.scss
192
192
  - src/sass/components/_input.scss
193
193
  - src/sass/components/_list.scss
194
+ - src/sass/components/_mega-menu.scss
194
195
  - src/sass/components/_modal.scss
195
196
  - src/sass/components/_nav.scss
196
197
  - src/sass/components/_navbar.scss
@@ -225,7 +226,7 @@ homepage: https://superlanding.github.io/beyond/
225
226
  licenses:
226
227
  - MIT
227
228
  metadata: {}
228
- post_install_message:
229
+ post_install_message:
229
230
  rdoc_options: []
230
231
  require_paths:
231
232
  - lib
@@ -240,9 +241,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
240
241
  - !ruby/object:Gem::Version
241
242
  version: '0'
242
243
  requirements: []
243
- rubyforge_project:
244
- rubygems_version: 2.7.6.2
245
- signing_key:
244
+ rubygems_version: 3.0.6
245
+ signing_key:
246
246
  specification_version: 4
247
247
  summary: beyond is a collection of frontend components which aims for admin website.
248
248
  test_files: []