bobjoll 1.0.3

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 (95) hide show
  1. package/README.md +35 -0
  2. package/package.json +25 -0
  3. package/scss/layout/_footer.scss +10 -0
  4. package/scss/layout/_header.scss +10 -0
  5. package/scss/modules/_fonts.scss +26 -0
  6. package/scss/modules/_reset.scss +219 -0
  7. package/scss/modules/bourbon/addons/_clearfix.scss +25 -0
  8. package/scss/modules/bourbon/addons/_ellipsis.scss +30 -0
  9. package/scss/modules/bourbon/addons/_position.scss +48 -0
  10. package/scss/modules/bourbon/addons/_prefixer.scss +66 -0
  11. package/scss/modules/bourbon/addons/_size.scss +51 -0
  12. package/scss/modules/bourbon/addons/_timing-functions.scss +34 -0
  13. package/scss/modules/bourbon/addons/_triangle.scss +63 -0
  14. package/scss/modules/bourbon/css3/_calc.scss +4 -0
  15. package/scss/modules/bourbon/css3/_flex-box.scss +287 -0
  16. package/scss/modules/bourbon/css3/_keyframes.scss +36 -0
  17. package/scss/modules/bourbon/css3/_linear-gradient.scss +38 -0
  18. package/scss/modules/bourbon/css3/_placeholder.scss +8 -0
  19. package/scss/modules/bourbon/css3/_selection.scss +42 -0
  20. package/scss/modules/bourbon/css3/_transition.scss +71 -0
  21. package/scss/modules/mixins/_component.scss +9 -0
  22. package/scss/modules/mixins/_grid.scss +75 -0
  23. package/scss/modules/mixins/_helpers.scss +224 -0
  24. package/scss/modules/variables/_colors.scss +447 -0
  25. package/scss/modules/variables/_general.scss +235 -0
  26. package/scss/partials/_accordion-v1-0.scss +165 -0
  27. package/scss/partials/_autocomplete-v1-0.scss +55 -0
  28. package/scss/partials/_general-v1-0.scss +51 -0
  29. package/scss/partials/_grid-v1-0.scss +109 -0
  30. package/scss/partials/_helper-v1-0.scss +299 -0
  31. package/scss/partials/_icon-v2-0.scss +323 -0
  32. package/scss/partials/_list-v1-0.scss +100 -0
  33. package/scss/partials/_modal-v1-0.scss +159 -0
  34. package/scss/partials/_notification-v1-1.scss +297 -0
  35. package/scss/partials/_progress-bar-v1.0.scss +25 -0
  36. package/scss/partials/_range-v1.0.scss +75 -0
  37. package/scss/partials/_tooltipFixed-v1.0.scss +128 -0
  38. package/scss/partials/_typography-v1-0.scss +201 -0
  39. package/scss/partials/animations/_fade.scss +23 -0
  40. package/scss/partials/animations/_rotate.scss +11 -0
  41. package/scss/partials/animations/_scale.scss +23 -0
  42. package/scss/partials/animations/_slide.scss +31 -0
  43. package/scss/partials/button-v4-0/_component.scss +304 -0
  44. package/scss/partials/form/_checkbox-and-radio-v1-0.scss +187 -0
  45. package/scss/partials/form/_dropdowns-v1-0.scss +323 -0
  46. package/scss/partials/form/_general-v1-0.scss +166 -0
  47. package/scss/partials/form/_group-v1-0.scss +157 -0
  48. package/scss/partials/form/_password-v1-0.scss +28 -0
  49. package/scss/partials/form/_switch-v1-0.scss +128 -0
  50. package/scss/partials/form/_upload-v1-0.scss +91 -0
  51. package/ts/library/common.ts +30 -0
  52. package/ts/library/cookie.ts +47 -0
  53. package/ts/library/delegate.ts +122 -0
  54. package/ts/library/dom.ts +124 -0
  55. package/ts/library/event.ts +138 -0
  56. package/ts/library/extend.js +32 -0
  57. package/ts/library/gr/dom.q.ts +12 -0
  58. package/ts/library/gr/social/dependency/twitter_pu.js +66 -0
  59. package/ts/library/gr/social/facebook.ts +154 -0
  60. package/ts/library/gr/social/google.ts +127 -0
  61. package/ts/library/gr/social/index.ts +35 -0
  62. package/ts/library/gr/social/twitter.ts +65 -0
  63. package/ts/library/helpers.ts +9 -0
  64. package/ts/library/number-abbreviate.js +57 -0
  65. package/ts/library/settings.ts +7 -0
  66. package/ts/library/storage.ts +131 -0
  67. package/ts/library/svg4everybody.legacy.js +122 -0
  68. package/ts/partials/accordion-v1.0.ts +104 -0
  69. package/ts/partials/accordionTabs-v1.0.ts +27 -0
  70. package/ts/partials/alert-v1.0.ts +51 -0
  71. package/ts/partials/copy-v1.0.ts +17 -0
  72. package/ts/partials/countdown-v1.0.ts +119 -0
  73. package/ts/partials/dropdown-v1.0.ts +247 -0
  74. package/ts/partials/hbs-v1.0.ts +9 -0
  75. package/ts/partials/modal-v1.0.ts +213 -0
  76. package/ts/partials/notifications-v1.1.ts +376 -0
  77. package/ts/partials/notify-v1.0.ts +746 -0
  78. package/ts/partials/password-v1.0.ts +19 -0
  79. package/ts/partials/popover-v1.0.ts +125 -0
  80. package/ts/partials/progress-bar-v1.0.ts +29 -0
  81. package/ts/partials/scroll-v1.0.ts +169 -0
  82. package/ts/partials/scrollable-v1.0.ts +90 -0
  83. package/ts/partials/tabs-v1.0.ts +79 -0
  84. package/ts/partials/tags-v1.0.ts +21 -0
  85. package/ts/partials/trigger-v2.0.ts +155 -0
  86. package/ts/partials/upload-v1.0.ts +17 -0
  87. package/ts/views/hbs/alert-v1.0/element.html.hbs +35 -0
  88. package/ts/views/hbs/countdown-v1.0/countdown-inner.hbs +39 -0
  89. package/ts/views/hbs/countdown-v1.0/countdown.hbs +4 -0
  90. package/ts/views/hbs/dropdown-v1.0/element.html.hbs +70 -0
  91. package/ts/views/hbs/helpers.js +58 -0
  92. package/ts/views/hbs/modal-v1.0/element.html.hbs +17 -0
  93. package/ts/views/hbs/notification-v1.1/element-disable.html.hbs +26 -0
  94. package/ts/views/hbs/notification-v1.1/element.html.hbs +43 -0
  95. package/ts/views/hbs/notification-v1.1/wrapper.html.hbs +4 -0
@@ -0,0 +1,323 @@
1
+ @if $form-v1-0 {
2
+ .dropdown {
3
+ position: relative;
4
+ display: block;
5
+
6
+ select {
7
+ display: none;
8
+ }
9
+
10
+ * {
11
+ @include user-select(none);
12
+ }
13
+
14
+ @include element("container") {
15
+ position: relative;
16
+ }
17
+
18
+ @include element("select") {
19
+ @include position(absolute, null null null null);
20
+ display: none;
21
+ width: 100%;
22
+ min-width: 200px;
23
+ margin: $small-spacing ($base-border-width * -1);
24
+ border-radius: $base-border-radius;
25
+ background-color: color("dropdown", "background");
26
+ box-shadow: $base-box-shadow;
27
+ z-index: 20;
28
+
29
+ &::after {
30
+ @include position(absolute, null null null null);
31
+ display: block;
32
+ z-index: 2;
33
+ content: "";
34
+ }
35
+
36
+ .scrollable {
37
+ overflow-x: hidden;
38
+ overflow-y: auto;
39
+ max-height: $base-input-height * 5;
40
+ }
41
+
42
+ .group {
43
+ &:before {
44
+ border-radius: 0;
45
+ box-shadow: none;
46
+ }
47
+
48
+ & > div > * {
49
+ border: 0 !important;
50
+ }
51
+ }
52
+
53
+ li {
54
+ height: $base-input-height;
55
+ margin: 0;
56
+ padding: 0 $small-spacing;
57
+ cursor: pointer;
58
+ background-color: color("bg", "dropdown");
59
+ color: color("text", "dropdown");
60
+ line-height: $base-input-height;
61
+
62
+ &:hover {
63
+ cursor: pointer;
64
+ background-color: color("bg-hover", "dropdown");
65
+ color: color("text-hover", "dropdown");
66
+
67
+ i {
68
+ color: color("text-hover", "dropdown");
69
+ }
70
+ }
71
+
72
+ &:last-child {
73
+ border: none;
74
+ }
75
+ }
76
+ }
77
+
78
+ @include element("check") {
79
+ li {
80
+ position: relative;
81
+ padding: 0 $small-spacing 0 35px;
82
+
83
+ &:hover i {
84
+ color: color("text-hover", "dropdown");
85
+ }
86
+
87
+ i {
88
+ position: absolute;
89
+ left: $small-spacing;
90
+ top: $small-spacing;
91
+ color: $gray-oxford;
92
+ }
93
+ }
94
+ }
95
+
96
+ @include element("search") {
97
+ input {
98
+ max-width: calc(100% - #{$base-element-height});
99
+ border-radius: 0 !important;
100
+ border-top-left-radius: $base-border-radius !important;
101
+ }
102
+
103
+ .icon {
104
+ background: color("light", "background");
105
+ }
106
+ }
107
+
108
+ @include element("button") {
109
+ @include transition($base-duration $base-timing);
110
+ height: $base-input-height;
111
+ position: relative;
112
+ margin: 0;
113
+ padding: 0 (($base-spacing + $small-spacing) + $base-triangle-size) 0 $base-spacing;
114
+ border: $base-border;
115
+ border-color: color("border", "general", 1, 10);
116
+ border-radius: $base-border-radius;
117
+ background-color: color("input", "background");
118
+ line-height: $base-input-height - ($base-border-width * 2);
119
+ overflow: hidden;
120
+ text-overflow: ellipsis;
121
+ white-space: nowrap;
122
+ word-break: break-all;
123
+
124
+ &::after {
125
+ $triangle-color: pick-visible-color(
126
+ color("button-inverted", "general"),
127
+ color("text", "general"),
128
+ color("text-inverted", "general")
129
+ );
130
+ @include position(absolute, 50% $base-spacing null null);
131
+ @include transform(translateY(-50%));
132
+ @include triangle($base-triangle-size, $triangle-color, down);
133
+ content: "";
134
+ }
135
+
136
+ &:hover {
137
+ background-color: color("secondary", "background");
138
+ color: pick-visible-color(
139
+ color("button-inverted", "general", 1, 10),
140
+ color("text", "general"),
141
+ color("text-inverted", "general")
142
+ );
143
+ cursor: pointer;
144
+ }
145
+
146
+ &.active ~ .dropdown__select {
147
+ display: block;
148
+ }
149
+ }
150
+
151
+ @include modifier("inverted") {
152
+ .dropdown__button {
153
+ border-color: color("button-inverted", "general");
154
+ background-color: transparent;
155
+ color: color("text-inverted", "general");
156
+
157
+ &::after {
158
+ border-top-color: color("text-inverted", "general");
159
+ }
160
+
161
+ &:hover {
162
+ background-color: color("inverted", "buttons");
163
+ color: color("text", "general");
164
+
165
+ &::after {
166
+ border-top-color: color("text", "general");
167
+ }
168
+ }
169
+ }
170
+ }
171
+
172
+ @include modifier("top") {
173
+ @extend %dropdown-bottom;
174
+
175
+ .dropdown__select {
176
+ @include transform(translateX(-50%));
177
+ left: 50%;
178
+ }
179
+ }
180
+
181
+ @include modifier("top-left") {
182
+ @extend %dropdown-top;
183
+
184
+ .dropdown__select {
185
+ left: 0;
186
+
187
+ &::after {
188
+ @include transform(none);
189
+ left: $base-spacing;
190
+ right: auto;
191
+ }
192
+ }
193
+ }
194
+
195
+ @include modifier("top-right") {
196
+ @extend %dropdown-top;
197
+
198
+ .dropdown__select {
199
+ right: 0;
200
+
201
+ &::after {
202
+ @include transform(none);
203
+ left: auto;
204
+ right: $base-spacing;
205
+ }
206
+ }
207
+ }
208
+
209
+ @include modifier("left") {
210
+ @extend %dropdown-left;
211
+ }
212
+
213
+ @include modifier("right") {
214
+ @extend %dropdown-right;
215
+ }
216
+
217
+ @include modifier("bottom") {
218
+ @extend %dropdown-bottom;
219
+
220
+ .dropdown__select {
221
+ @include transform(translateX(-50%));
222
+ left: 50%;
223
+ }
224
+ }
225
+
226
+ @include modifier("bottom-left") {
227
+ @extend %dropdown-bottom;
228
+
229
+ .dropdown__select {
230
+ left: 0;
231
+ }
232
+ }
233
+
234
+ @include modifier("bottom-right") {
235
+ @extend %dropdown-bottom;
236
+
237
+ .dropdown__select {
238
+ right: 0;
239
+ }
240
+ }
241
+
242
+ // Sizes
243
+ @each $size in $sizes {
244
+ @include modifier($size) {
245
+ .dropdown__button,
246
+ .dropdown__select li {
247
+ height: map-get($button-sizes, $size);
248
+ line-height: map-get($button-sizes, $size);
249
+ font-size: map-get($font-sizes, $size);
250
+ }
251
+
252
+ .dropdown__search {
253
+ input {
254
+ max-width: calc(100% - #{map-get($input-sizes, $size)});
255
+ }
256
+ }
257
+
258
+ .dropdown__button {
259
+ padding: 0 ((map-get($spacing-sizes, $size) * 2) + $base-triangle-size) 0
260
+ map-get($spacing-sizes, $size);
261
+
262
+ &::after {
263
+ right: map-get($spacing-sizes, $size);
264
+ }
265
+ }
266
+ }
267
+ }
268
+ }
269
+
270
+ %dropdown-top {
271
+ &.active {
272
+ .dropdown__select {
273
+ margin: 0 0 $small-spacing;
274
+ }
275
+ }
276
+
277
+ .dropdown__select {
278
+ bottom: 100%;
279
+ }
280
+ }
281
+
282
+ %dropdown-right {
283
+ &.active {
284
+ .dropdown__select {
285
+ margin: 0 $small-spacing 0 0;
286
+ }
287
+ }
288
+
289
+ .dropdown__select {
290
+ @include transform(translateY(-50%));
291
+ top: 50%;
292
+ left: 100%;
293
+ }
294
+ }
295
+
296
+ %dropdown-left {
297
+ &.active {
298
+ .dropdown__select {
299
+ margin: 0 $small-spacing 0 0;
300
+ }
301
+ }
302
+
303
+ .dropdown__select {
304
+ @include transform(translateY(-50%));
305
+ top: 50%;
306
+ right: 100%;
307
+ }
308
+ }
309
+
310
+ %dropdown-bottom {
311
+ &.active {
312
+ .dropdown__select {
313
+ margin: $small-spacing 0 0;
314
+ }
315
+ }
316
+
317
+ .dropdown__select {
318
+ top: 100%;
319
+ }
320
+ }
321
+ }
322
+
323
+ // End if
@@ -0,0 +1,166 @@
1
+ @if $form-v1-0 {
2
+ #{$all-text-inputs} {
3
+ @include appearance(none);
4
+ @include user-select(text);
5
+ @include transition(
6
+ border $base-duration $base-timing,
7
+ box-shadow $base-duration $base-timing
8
+ );
9
+
10
+ display: block;
11
+
12
+ width: 100%;
13
+ height: $base-input-height;
14
+
15
+ margin: 0 0 $small-spacing;
16
+ padding: $small-spacing;
17
+
18
+ border: $base-border;
19
+ border-color: color('form-border', 'general');
20
+
21
+ border-radius: $base-border-radius;
22
+
23
+ background-color: color('input', 'background');
24
+
25
+ box-shadow: 0 0 0 transparent;
26
+
27
+ color: color('text', 'general');
28
+ font-size: $base-font-size;
29
+ line-height: ($base-input-height - $base-spacing);
30
+
31
+ &:-webkit-autofill {
32
+ box-shadow: inset 0 0 0 $extra-large-element-height color('input', 'background');
33
+ }
34
+
35
+ &:hover {
36
+ outline: none;
37
+
38
+ border-color: color('border', 'general', 1, 20);
39
+ }
40
+
41
+ &:focus {
42
+ outline: none;
43
+
44
+ border-color: color('link', 'general');
45
+ }
46
+
47
+ &:disabled {
48
+ background-color: color('border', 'general', 1, -5);
49
+
50
+ cursor: no-drop;
51
+
52
+ color: color('text', 'general', .4);
53
+ }
54
+
55
+ &.error {
56
+ border-color: color('red', 'state');
57
+ }
58
+ }
59
+
60
+ input,
61
+ textarea {
62
+ @include placeholder {
63
+ color: color('text', 'general', .4);
64
+ }
65
+ }
66
+
67
+ .label {
68
+ @include user-select(none);
69
+
70
+ display: block;
71
+
72
+ & > span {
73
+ color: color('text-secondary', 'general');
74
+ font-size: $extra-small-font-size;
75
+ }
76
+
77
+ #{$all-text-inputs} {
78
+ font-size: $base-font-size;
79
+ font-weight: normal;
80
+ }
81
+
82
+ .text {
83
+ @include user-select(none);
84
+
85
+ display: block;
86
+
87
+ margin-bottom: $small-spacing;
88
+
89
+ color: color('text', 'general');
90
+ font-size: $base-font-size;
91
+ font-weight: normal;
92
+ }
93
+
94
+ @include modifier('inline') {
95
+ display: inline-block;
96
+ }
97
+ }
98
+
99
+ .groups {
100
+ @include element('item') {
101
+ @extend .row;
102
+ @extend .row--vertical-center;
103
+
104
+ border-bottom: $base-border;
105
+ border-color: color('form-border', 'general');
106
+
107
+ &:last-child {
108
+ border: none;
109
+ }
110
+
111
+ [class^="col__"], [class*="col__"] {
112
+ margin: 0 !important;
113
+ }
114
+
115
+ label {
116
+ margin: 0;
117
+
118
+ font-size: $small-font-size;
119
+ text-align: right
120
+ }
121
+
122
+ }
123
+
124
+ // Spacing
125
+ @each $size in $sizes {
126
+ @include modifier(pd-#{$size}) {
127
+ .groups__item {
128
+ margin: 0 (map-get($spacing-sizes, $size) * -1);
129
+ padding: $small-spacing map-get($spacing-sizes, $size);
130
+ }
131
+ }
132
+
133
+ @include modifier(mg-#{$size}) {
134
+ margin: (map-get($spacing-sizes, $size) * -1) 0;
135
+ }
136
+ }
137
+ }
138
+
139
+ textarea {
140
+ padding: $small-spacing;
141
+
142
+ min-height: $base-input-height * 4;
143
+
144
+ line-height: $base-line-height;
145
+ }
146
+ } // End if
147
+
148
+ .error-msg {
149
+ position: relative;
150
+
151
+ margin: $extra-small-spacing 0 0 0;
152
+ padding: 0 0 0 $base-icon-height+$extra-small-spacing;
153
+
154
+ color: color('red', 'state');
155
+ line-height: 20px;
156
+
157
+ .icon {
158
+ position: absolute;
159
+ top: 9px;
160
+ left: 0;
161
+
162
+ transform: translateY(-50%);
163
+
164
+ color: color('red', 'state');
165
+ }
166
+ }
@@ -0,0 +1,157 @@
1
+ @if $form-v1-0 {
2
+ .group {
3
+ @extend %row-flexbox;
4
+ @extend .row--vertical-center;
5
+
6
+ overflow: hidden;
7
+
8
+ position: relative;
9
+
10
+ border-radius: $base-border-radius;
11
+
12
+ box-sizing: border-box;
13
+
14
+ background-color: color('secondary', 'background');
15
+
16
+ &::before {
17
+ @include position(absolute, 0 null null 0);
18
+
19
+ width: 100%;
20
+ height: 100%;
21
+
22
+ pointer-events: none;
23
+
24
+ border-radius: $base-border-radius;
25
+
26
+ box-shadow: inset 0 0 0 $base-border-width color('form-border', 'general');
27
+
28
+ content: '';
29
+
30
+ z-index: 2;
31
+ }
32
+
33
+ & > * {
34
+ @extend .col--stretch;
35
+
36
+ border-right: $base-border;
37
+ border-color: color('form-border', 'general');
38
+
39
+ &:last-child {
40
+ border: none;
41
+ border-top-right-radius: $base-border-radius;
42
+ border-bottom-right-radius: $base-border-radius;
43
+ }
44
+ }
45
+
46
+ & > input {
47
+ flex: 1;
48
+
49
+ height: 100%;
50
+
51
+ margin: 0;
52
+
53
+ border: none;
54
+
55
+ @if $button-v1-0 {
56
+ &:focus ~ button {
57
+ @extend .button--main--hover.active;
58
+ }
59
+ }
60
+
61
+ @if $button-v2-0 {
62
+ @each $color, $hex in map-get($colors, 'buttons') {
63
+ &:focus ~ .button {
64
+ border: none !important;
65
+ }
66
+
67
+ &:focus ~ .button--#{$color}--hover {
68
+ --bg: color($color, 'buttons', 1);
69
+ --size: map-get($button-sizes, map-get-last($button-sizes)) / 2;
70
+ --color: color($color, 'buttons-text');
71
+
72
+ .icon {
73
+ color: color($color, 'buttons-text');
74
+ }
75
+
76
+ z-index: 2;
77
+ }
78
+ }
79
+ }
80
+ }
81
+
82
+ & > button {
83
+ @if ($button-v1-0) {
84
+ border: none;
85
+ }
86
+
87
+ @if ($button-v2-0) {
88
+ &.button--flat:not(.button--inverted) {
89
+ z-index: 2;
90
+ }
91
+ }
92
+
93
+ position: relative;
94
+
95
+ margin: 0;
96
+
97
+ border-radius: 0;
98
+
99
+ z-index: 1;
100
+
101
+ &:hover {
102
+ z-index: 2;
103
+ }
104
+ }
105
+
106
+ @include modifier('inverted') {
107
+ background-color: color('light', 'background');
108
+
109
+ color: color('text', 'general');
110
+
111
+ &::before {
112
+ box-shadow: none;
113
+ }
114
+ }
115
+
116
+ @include element('context') {
117
+ padding: 0 $small-spacing;
118
+
119
+ span {
120
+ @include position(relative, 50% null null null);
121
+ @include transform(translateY(-50%));
122
+
123
+ position: relative;
124
+
125
+ display: block;
126
+ }
127
+ }
128
+
129
+ @include element('button') {
130
+ .button {
131
+ position: relative;
132
+
133
+ border-radius: 0;
134
+
135
+ @if ($button-v1-0) {
136
+ box-shadow: none;
137
+ }
138
+
139
+ z-index: 3;
140
+ }
141
+ }
142
+
143
+ @include element('input') {
144
+ @include flex(1);
145
+
146
+ #{$all-text-inputs} {
147
+ margin: 0;
148
+
149
+ border: none;
150
+ }
151
+
152
+ input {
153
+ height: 100%;
154
+ }
155
+ }
156
+ }
157
+ }
@@ -0,0 +1,28 @@
1
+ .password {
2
+ position: relative;
3
+
4
+ @include modifier('show') {
5
+ .password__toggle i.active { display: block; }
6
+ .password__toggle i.inactive { display: none; }
7
+ }
8
+
9
+ @include element('toggle') {
10
+ position: absolute;
11
+ top: 50%;
12
+ right: $small-spacing;
13
+
14
+ transform: translateY(-50%);
15
+
16
+ background-color: color('light', 'background');
17
+
18
+ cursor: pointer;
19
+
20
+ i.active {
21
+ display: none;
22
+ }
23
+ }
24
+
25
+ input {
26
+ width: 100%;
27
+ }
28
+ }