beyond-rails 0.0.139

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/src/font/icomoon.eot +0 -0
  3. data/src/font/icomoon.svg +125 -0
  4. data/src/font/icomoon.ttf +0 -0
  5. data/src/font/icomoon.woff +0 -0
  6. data/src/img/black-cat.svg +15 -0
  7. data/src/img/cart.svg +16 -0
  8. data/src/img/china-flag.svg +16 -0
  9. data/src/img/ecpay.svg +12 -0
  10. data/src/img/family-mart.svg +13 -0
  11. data/src/img/fb-messenger.svg +12 -0
  12. data/src/img/fb.svg +10 -0
  13. data/src/img/hct.svg +16 -0
  14. data/src/img/hi-life.svg +23 -0
  15. data/src/img/line.svg +14 -0
  16. data/src/img/ok-mart.svg +9 -0
  17. data/src/img/pelican.svg +33 -0
  18. data/src/img/seven-eleven.svg +13 -0
  19. data/src/img/smilepay.svg +13 -0
  20. data/src/img/taiwan-flag.svg +17 -0
  21. data/src/js/components/Alert.js +23 -0
  22. data/src/js/components/Autocomplete.js +110 -0
  23. data/src/js/components/AutocompleteMenu.js +88 -0
  24. data/src/js/components/Btn.js +41 -0
  25. data/src/js/components/Checkbox.js +24 -0
  26. data/src/js/components/DateInput.js +74 -0
  27. data/src/js/components/DateMenu.js +370 -0
  28. data/src/js/components/DateTimeRanger.js +436 -0
  29. data/src/js/components/Datepicker.js +250 -0
  30. data/src/js/components/DatepickerBtnArrow.js +18 -0
  31. data/src/js/components/Dropdown.js +137 -0
  32. data/src/js/components/Menu.js +43 -0
  33. data/src/js/components/Modal.js +76 -0
  34. data/src/js/components/Navbar.js +47 -0
  35. data/src/js/components/Radio.js +24 -0
  36. data/src/js/components/SearchDropdown.js +339 -0
  37. data/src/js/components/Sidebar.js +56 -0
  38. data/src/js/components/Tabbox.js +229 -0
  39. data/src/js/components/TimeInput.js +71 -0
  40. data/src/js/components/TimeMenu.js +117 -0
  41. data/src/js/components/Toast.js +47 -0
  42. data/src/js/components/ToastItem.js +62 -0
  43. data/src/js/components/Tooltip.js +94 -0
  44. data/src/js/consts/createdComponents.js +1 -0
  45. data/src/js/consts/index.js +5 -0
  46. data/src/js/helpers/bind.js +53 -0
  47. data/src/js/helpers/dateEq.js +5 -0
  48. data/src/js/helpers/dateGt.js +5 -0
  49. data/src/js/helpers/dateLt.js +5 -0
  50. data/src/js/helpers/docReady.js +10 -0
  51. data/src/js/helpers/getFloatedTargetPos.js +250 -0
  52. data/src/js/helpers/getKey.js +14 -0
  53. data/src/js/helpers/isTouchDevice.js +3 -0
  54. data/src/js/helpers/msToS.js +3 -0
  55. data/src/js/helpers/promisify.js +9 -0
  56. data/src/js/helpers/range.js +7 -0
  57. data/src/js/helpers/supportDom.js +46 -0
  58. data/src/js/helpers/toPixel.js +3 -0
  59. data/src/js/helpers/unbindAll.js +6 -0
  60. data/src/js/index.js +47 -0
  61. data/src/js/jquery/bindAlertFn.js +13 -0
  62. data/src/js/jquery/bindAutocompleteFn.js +13 -0
  63. data/src/js/jquery/bindBtnFn.js +17 -0
  64. data/src/js/jquery/bindCheckboxFn.js +13 -0
  65. data/src/js/jquery/bindDateTimeRangerFn.js +14 -0
  66. data/src/js/jquery/bindDatepickerFn.js +14 -0
  67. data/src/js/jquery/bindDropdownFn.js +14 -0
  68. data/src/js/jquery/bindMenuFn.js +13 -0
  69. data/src/js/jquery/bindModalFn.js +14 -0
  70. data/src/js/jquery/bindNavbarFn.js +13 -0
  71. data/src/js/jquery/bindRadioFn.js +13 -0
  72. data/src/js/jquery/bindSearchDropdownFn.js +14 -0
  73. data/src/js/jquery/bindSidebarFn.js +13 -0
  74. data/src/js/jquery/bindTabboxFn.js +13 -0
  75. data/src/js/jquery/bindToastFn.js +6 -0
  76. data/src/js/jquery/bindTooltipFn.js +13 -0
  77. data/src/js/jquery/index.js +52 -0
  78. data/src/js/polyfills/classList.js +263 -0
  79. data/src/js/polyfills/elementDataset.js +3 -0
  80. data/src/js/polyfills/nodeContains.js +17 -0
  81. data/src/js/polyfills/nodeHasAttribute.js +5 -0
  82. data/src/js/polyfills/nodeRemove.js +19 -0
  83. data/src/sass/_beyond-sprockets.scss +1 -0
  84. data/src/sass/_beyond.scss +50 -0
  85. data/src/sass/_main.scss +141 -0
  86. data/src/sass/abstracts/_mixins.scss +129 -0
  87. data/src/sass/abstracts/_placeholders.scss +43 -0
  88. data/src/sass/abstracts/_variables.scss +355 -0
  89. data/src/sass/base/_background.scss +10 -0
  90. data/src/sass/base/_typography.scss +183 -0
  91. data/src/sass/components/_alert.scss +50 -0
  92. data/src/sass/components/_autocomplete.scss +29 -0
  93. data/src/sass/components/_avatar.scss +28 -0
  94. data/src/sass/components/_badge.scss +29 -0
  95. data/src/sass/components/_breadcrumb.scss +17 -0
  96. data/src/sass/components/_btn-group.scss +19 -0
  97. data/src/sass/components/_btn.scss +172 -0
  98. data/src/sass/components/_card.scss +183 -0
  99. data/src/sass/components/_checkbox.scss +99 -0
  100. data/src/sass/components/_date-input.scss +28 -0
  101. data/src/sass/components/_date-menu.scss +85 -0
  102. data/src/sass/components/_date-time-ranger.scss +21 -0
  103. data/src/sass/components/_datepicker.scss +3 -0
  104. data/src/sass/components/_dropdown.scss +144 -0
  105. data/src/sass/components/_form.scss +383 -0
  106. data/src/sass/components/_icon.scss +371 -0
  107. data/src/sass/components/_input.scss +48 -0
  108. data/src/sass/components/_list.scss +23 -0
  109. data/src/sass/components/_modal.scss +72 -0
  110. data/src/sass/components/_nav.scss +75 -0
  111. data/src/sass/components/_navbar.scss +211 -0
  112. data/src/sass/components/_pagination.scss +64 -0
  113. data/src/sass/components/_radio.scss +71 -0
  114. data/src/sass/components/_search-dropdown.scss +28 -0
  115. data/src/sass/components/_select.scss +54 -0
  116. data/src/sass/components/_sidebar.scss +35 -0
  117. data/src/sass/components/_spinner.scss +79 -0
  118. data/src/sass/components/_tabbox.scss +83 -0
  119. data/src/sass/components/_table.scss +65 -0
  120. data/src/sass/components/_tag.scss +43 -0
  121. data/src/sass/components/_time-input.scss +28 -0
  122. data/src/sass/components/_time-menu.scss +24 -0
  123. data/src/sass/components/_toast.scss +51 -0
  124. data/src/sass/components/_tooltip.scss +10 -0
  125. data/src/sass/img/arrow-dropdown.svg +4 -0
  126. data/src/sass/img/arrow-select-ex.svg +18 -0
  127. data/src/sass/img/arrow-select.svg +18 -0
  128. data/src/sass/layout/_border-util.scss +36 -0
  129. data/src/sass/layout/_col.scss +90 -0
  130. data/src/sass/layout/_container.scss +44 -0
  131. data/src/sass/layout/_flex-util.scss +18 -0
  132. data/src/sass/layout/_offset-util.scss +20 -0
  133. data/src/sass/layout/_sizing-util.scss +14 -0
  134. data/src/sass/layout/_spacing-util.scss +9 -0
  135. data/src/sass/layout/_visibility-util.scss +25 -0
  136. data/src/sass/vendor/_normalize.scss +578 -0
  137. data/src/sass/vendor/_turbolink.scss +5 -0
  138. metadata +235 -0
@@ -0,0 +1,48 @@
1
+ .input {
2
+ width: 250px;
3
+ @media (max-width: $screen-sm) {
4
+ width: initial;
5
+ }
6
+ color: #3c4257;
7
+ border-radius: 4px;
8
+ border: 0;
9
+ appearance: none;
10
+ box-shadow: 0 0 0 1px rgba(60, 66, 87, .16),
11
+ 0 1px 1px 0 rgba(0, 0, 0, .12);
12
+ font-size: 14px;
13
+ padding: 6px 7px 7px;
14
+ outline: 0;
15
+ background-color: #fff;
16
+ &:focus {
17
+ @include focus-outline;
18
+ }
19
+ &:disabled {
20
+ cursor: not-allowed;
21
+ opacity: .5;
22
+ }
23
+ &.input-danger {
24
+ box-shadow: 0 0 0 1px #e03953;
25
+ }
26
+ }
27
+
28
+ .search-input {
29
+ display: inline-block;
30
+ background-color: #fff;
31
+ border-radius: 4px;
32
+ box-shadow: 0 0 0 1px rgba(60, 66, 87, .16),
33
+ 0 1px 1px 0 rgba(0, 0, 0, .12);
34
+
35
+ i:before {
36
+ color: #8892b3;
37
+ margin-left: 10px;
38
+ font-size: 12px;
39
+ }
40
+ .input {
41
+ width: 174px;
42
+ border: 0;
43
+ box-shadow: none;
44
+ &::placeholder {
45
+ color: #697396;
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,23 @@
1
+ .list-inline {
2
+ list-style: none;
3
+ > li {
4
+ display: inline-block;
5
+ padding-left: 5px;
6
+ padding-right: 5px;
7
+ }
8
+ > li:not(:last-child) {
9
+ margin-right: 1.4rem;
10
+ }
11
+ }
12
+ .list-style-disc {
13
+ list-style-type: disc;
14
+ }
15
+ .list-style-circle {
16
+ list-style-type: circle;
17
+ }
18
+ .list-style-square {
19
+ list-style-type: square;
20
+ }
21
+ .list-style-decimal {
22
+ list-style-type: decimal;
23
+ }
@@ -0,0 +1,72 @@
1
+ .modal {
2
+ transition: .3s opacity;
3
+ opacity: .1;
4
+ display: none;
5
+ position: fixed;
6
+ top: 0;
7
+ left: 0;
8
+ right: 0;
9
+ bottom: 0;
10
+ margin: auto;
11
+ overflow-y: scroll;
12
+ -webkit-overflow-scrolling: touch;
13
+ background-color: rgba(82, 95, 127, .25);
14
+ .modal-dialog {
15
+ transition: .2s transform;
16
+ transform: scale(.1);
17
+ border-radius: 4px;
18
+ box-shadow: 0 7px 14px 0 rgba(60, 66, 87, .12),
19
+ 0 3px 6px 0 rgba(0, 0, 0, .12);
20
+ background-color: #fff;
21
+ margin: 20px auto 0;
22
+ max-width: 600px;
23
+ @media (max-width: $screen-sm) {
24
+ max-width: 90%;
25
+ }
26
+ }
27
+ &.js-active {
28
+ opacity: 1;
29
+ .modal-dialog {
30
+ transform: scale(1);
31
+ }
32
+ }
33
+ .modal-header {
34
+ position: relative;
35
+ font-size: 20px;
36
+ color: #1a1f36;
37
+ .modal-title {
38
+ padding: 20px;
39
+ }
40
+ .btn-close {
41
+ display: block;
42
+ position: absolute;
43
+ right: 0;
44
+ top: 0;
45
+ background-color: transparent;
46
+ border: 0;
47
+ @include size(68px);
48
+ .icon {
49
+ background-size: 16px 16px;
50
+ @include size(16px);
51
+ }
52
+ }
53
+ }
54
+ .modal-body {
55
+ font-size: 14px;
56
+ color: #1a1f36;
57
+ padding: 20px;
58
+ }
59
+ .modal-footer {
60
+ padding: 18px 20px;
61
+ text-align: right;
62
+ .btn {
63
+ padding: 6px 12px;
64
+ min-width: 62px;
65
+ font-size: 14px;
66
+ font-weight: 400;
67
+ }
68
+ .btn.btn-primary {
69
+ margin-left: 10px;
70
+ }
71
+ }
72
+ }
@@ -0,0 +1,75 @@
1
+ .nav {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ padding-left: 0;
5
+ list-style: none;
6
+ .nav-folder {
7
+ user-select: none;
8
+ cursor: pointer;
9
+ padding: 7px;
10
+ color: #1a1f36;
11
+ font-size: 1.1rem;
12
+ display: flex;
13
+ align-items: center;
14
+ justify-content: space-between;
15
+ i {
16
+ transition: .3s all;
17
+ transform: translateY(1px);
18
+ font-size: .7rem;
19
+ margin-left: 10px;
20
+ }
21
+ &.js-opened i {
22
+ transform: translateY(1px) rotate(180deg);
23
+ }
24
+ }
25
+ .nav-folder + ul {
26
+ .nav-item {
27
+ color: #626c98;
28
+ }
29
+ }
30
+ .nav-menu {
31
+ display: none;
32
+ }
33
+ .nav-item {
34
+ color: #1a1f36;
35
+ text-decoration: none;
36
+ display: block;
37
+ padding: 7px;
38
+ font-size: .875rem;
39
+ }
40
+ .nav-item.active {
41
+ color: $color-primary;
42
+ font-weight: 700;
43
+ }
44
+ }
45
+ .nav-tabs .nav-item.show .nav-link,
46
+ .nav-tabs .nav-link.active {
47
+ color: #495057;
48
+ background-color: #fff;
49
+ border-color: #dee2e6 #dee2e6 #fff;
50
+ }
51
+ .nav-link.disabled {
52
+ color: #6c757d;
53
+ cursor: not-allowed;
54
+ }
55
+ .nav-tabs .nav-item {
56
+ margin-bottom: -1px;
57
+ }
58
+ .nav-tabs .nav-link {
59
+ border: 1px solid transparent;
60
+ border-top-left-radius: .25rem;
61
+ border-top-right-radius: .25rem;
62
+ }
63
+ .nav-link {
64
+ display: block;
65
+ padding: .5rem 1rem;
66
+ }
67
+ .nav-pills .nav-link.active,
68
+ .nav-pills .show > .nav-link {
69
+ color: #fff;
70
+ background-color: $bg-primary;
71
+ }
72
+ .card-header-pills {
73
+ margin-right: -.625rem;
74
+ margin-left: -.625rem;
75
+ }
@@ -0,0 +1,211 @@
1
+ .navbar {
2
+ $bg-nav: rgb(227, 232, 238);
3
+ $color-nav-primary: rgb(60, 66, 87);
4
+ $color-nav-primary-ex: #101425;
5
+ $color-nav: rgb(105, 115, 150);
6
+ $color-nav-ex: #adb5d0;
7
+ $color-nav-disabled: #adb5d0;
8
+
9
+ display: flex;
10
+ background-color: $bg-nav;
11
+ font-size: 12px;
12
+ padding: 8px 14px 8px 8px;
13
+ @media (max-width: $screen-md) {
14
+ display: block;
15
+ .navbar-topbar {
16
+ @include flex-center;
17
+ }
18
+ }
19
+ &, a {
20
+ color: $color-nav;
21
+ }
22
+ .navbar-brand {
23
+ display: inline-block;
24
+ color: $color-nav-primary;
25
+ font-size: 16px;
26
+ padding: 4px 14px;
27
+ }
28
+ .navbar-nav {
29
+ display: flex;
30
+ align-items: center;
31
+ @media (max-width: $screen-md) {
32
+ display: block;
33
+ margin-bottom: 10px;
34
+ .nav-link {
35
+ display: block;
36
+ padding: 7px 0;
37
+ }
38
+ }
39
+ }
40
+ .nav-item.js-active,
41
+ .nav-item:hover {
42
+ .nav-link {
43
+ color: $color-nav-primary-ex;
44
+ }
45
+ }
46
+ .nav-link {
47
+ padding: 7px 14px;
48
+ &.disabled {
49
+ color: $color-nav-disabled;
50
+ cursor: not-allowed;
51
+ &:hover {
52
+ color: $color-nav-ex;
53
+ }
54
+ }
55
+ }
56
+ &.js-collapse {
57
+ @media (max-width: $screen-md) {
58
+ top: 14px;
59
+ left: 14px;
60
+ right: 14px;
61
+ position: fixed;
62
+ z-index: 20;
63
+ box-shadow: 0 0 0 1px rgba(136, 152, 170, .1),
64
+ 0 15px 35px 0 rgba(49, 49, 93, .1),
65
+ 0 5px 15px 0 rgba(0, 0, 0, .08);
66
+ }
67
+ }
68
+ .navbar-collapse {
69
+
70
+ display: flex;
71
+ justify-content: space-between;
72
+ flex-grow: 1;
73
+
74
+ @media (max-width: $screen-md) {
75
+ display: none;
76
+ }
77
+
78
+ &.js-collapse {
79
+ display: flex;
80
+ justify-content: space-between;
81
+ flex-grow: 1;
82
+ @media (max-width: $screen-md) {
83
+ display: block;
84
+ padding: 7px 14px 14px;
85
+ }
86
+ }
87
+ }
88
+ .navbar-toggler {
89
+ display: none;
90
+ @media (max-width: $screen-md) {
91
+ display: block;
92
+ }
93
+ border: 0;
94
+ background-color: transparent;
95
+ position: relative;
96
+ @include size(48px);
97
+ .navbar-toggler-icon {
98
+ @include absolute-center;
99
+ &,
100
+ &:before,
101
+ &:after {
102
+ transition: .3s all;
103
+ background-color: $color-nav-primary;
104
+ display: block;
105
+ position: absolute;
106
+ width: 24px;
107
+ height: 1px;
108
+ }
109
+ &:before {
110
+ content: '';
111
+ top: -7px;
112
+ left: 0;
113
+ right: 0;
114
+ margin-left: auto;
115
+ margin-right: auto;
116
+ }
117
+ &:after {
118
+ content: '';
119
+ bottom: -7px;
120
+ left: 0;
121
+ right: 0;
122
+ margin-left: auto;
123
+ margin-right: auto;
124
+ }
125
+ }
126
+ &.js-active .navbar-toggler-icon {
127
+ & {
128
+ background-color: transparent;
129
+ }
130
+ &:before {
131
+ transform: rotate(45deg);
132
+ top: 0;
133
+ }
134
+ &:after {
135
+ transform: rotate(-45deg);
136
+ bottom: 0;
137
+ }
138
+ }
139
+ }
140
+
141
+ &.navbar-type1 {
142
+ $bg-nav-type1: #1a1f36;
143
+ $color-nav-primary-type1: #fff;
144
+ $color-nav-type1: #6c8eef;
145
+ $color-nav-ex-type1: #b9d2ff;
146
+ $color-nav-disabled-type1: #9193ce;
147
+
148
+ background: $bg-nav-type1;
149
+ &, & a {
150
+ color: $color-nav-type1;
151
+ }
152
+ .navbar-brand {
153
+ color: #fff;
154
+ }
155
+ .nav-item.js-active,
156
+ .nav-item:hover {
157
+ .nav-link {
158
+ color: $color-nav-ex-type1;
159
+ }
160
+ }
161
+ .nav-link.disabled,
162
+ .nav-link.disabled:hover {
163
+ color: $color-nav-disabled-type1;
164
+ }
165
+ .navbar-toggler-icon,
166
+ .navbar-toggler-icon:before,
167
+ .navbar-toggler-icon:after {
168
+ background-color: $color-nav-primary-type1;
169
+ }
170
+ .search-input {
171
+ box-shadow: none;
172
+ }
173
+ }
174
+
175
+ &.navbar-type2 {
176
+ $color-nav-primary-type2: #fff;
177
+ $color-nav-type2: #e3e0e8;
178
+ $color-nav-ex-type2: #fff;
179
+ $color-nav-disabled-type2: #b5b6dc;
180
+
181
+ background: rgb(84,73,255);
182
+ background: linear-gradient(125deg,
183
+ rgba(84,73,255,1) 0%,
184
+ rgba(29,205,255,1) 80%,
185
+ rgba(166,255,203,1) 100%);
186
+ &, & a {
187
+ color: $color-nav-type2;
188
+ }
189
+ .navbar-brand {
190
+ color: $color-nav-primary-type2;
191
+ }
192
+ .nav-item.js-active,
193
+ .nav-item:hover {
194
+ .nav-link {
195
+ color: $color-nav-ex-type2;
196
+ }
197
+ }
198
+ .nav-link.disabled,
199
+ .nav-link.disabled:hover {
200
+ color: $color-nav-disabled-type2;
201
+ }
202
+ .navbar-toggler-icon,
203
+ .navbar-toggler-icon:before,
204
+ .navbar-toggler-icon:after {
205
+ background-color: $color-nav-primary-type2;
206
+ }
207
+ .search-input {
208
+ box-shadow: none;
209
+ }
210
+ }
211
+ }
@@ -0,0 +1,64 @@
1
+ .pagination {
2
+ display: flex;
3
+ list-style: none;
4
+ }
5
+
6
+ %page-link {
7
+ border-radius: 3px;
8
+ transition: .3s all;
9
+ margin: 0 7px;
10
+ color: #1a1f36;
11
+ display: block;
12
+ cursor: pointer;
13
+ padding: .5rem .75rem;
14
+ &:disabled {
15
+ cursor: not-allowed;
16
+ }
17
+ &:hover {
18
+ background-color: #3c4258;
19
+ color: #fff;
20
+ }
21
+ }
22
+
23
+ .page-link {
24
+ @extend %page-link;
25
+ }
26
+
27
+ .pagination-lg .page-link {
28
+ padding: 1rem 1.5rem;
29
+ font-size: 1.25rem;
30
+ line-height: 1.5;
31
+ }
32
+ .pagination-sm .page-link {
33
+ padding: .25rem .5rem;
34
+ font-size: .875rem;
35
+ line-height: 1.5;
36
+ }
37
+
38
+ .page-link-btn {
39
+ font-weight: 900;
40
+ @extend %page-link;
41
+ box-shadow: rgba(0, 0, 0, 0) 0 0 0 0,
42
+ rgba(0, 0, 0, 0.12) 0 1px 1px 0,
43
+ rgba(60, 66, 87, 0.16) 0 0 0 1px,
44
+ rgba(60, 66, 87, 0.12) 0 2px 5px 0;
45
+ &:hover {
46
+ box-shadow: rgba(0, 0, 0, 0) 0 0 0 0,
47
+ rgba(0, 0, 0, 0.12) 0 1px 1px 0,
48
+ rgba(60, 66, 87, 0.16) 0 0 0 1px,
49
+ rgba(60, 66, 87, 0.12) 0 3px 9px 0,
50
+ rgba(60, 66, 87, 0.12) 0 2px 5px 0;
51
+ }
52
+ }
53
+
54
+ .page-item.disabled {
55
+ .page-link,
56
+ .page-link-btn {
57
+ cursor: not-allowed;
58
+ opacity: .5;
59
+ &:hover {
60
+ background-color: initial;
61
+ color: initial;
62
+ }
63
+ }
64
+ }