@finqu/cool 1.0.0

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 (199) hide show
  1. package/README.md +1 -0
  2. package/build/.eslintrc.json +10 -0
  3. package/build/banner.js +14 -0
  4. package/build/build-plugins.js +92 -0
  5. package/build/rollup.config.js +78 -0
  6. package/dist/css/cool-grid.css +3672 -0
  7. package/dist/css/cool-grid.css.map +30 -0
  8. package/dist/css/cool-grid.min.css +7 -0
  9. package/dist/css/cool-grid.min.css.map +1 -0
  10. package/dist/css/cool-reboot.css +281 -0
  11. package/dist/css/cool-reboot.css.map +58 -0
  12. package/dist/css/cool-reboot.min.css +7 -0
  13. package/dist/css/cool-reboot.min.css.map +1 -0
  14. package/dist/css/cool.css +14841 -0
  15. package/dist/css/cool.css.map +144 -0
  16. package/dist/css/cool.min.css +7 -0
  17. package/dist/css/cool.min.css.map +1 -0
  18. package/dist/js/cool.bundle.js +15304 -0
  19. package/dist/js/cool.bundle.js.map +1 -0
  20. package/dist/js/cool.bundle.min.js +45 -0
  21. package/dist/js/cool.bundle.min.js.map +1 -0
  22. package/dist/js/cool.esm.js +4766 -0
  23. package/dist/js/cool.esm.js.map +1 -0
  24. package/dist/js/cool.esm.min.js +7 -0
  25. package/dist/js/cool.esm.min.js.map +1 -0
  26. package/dist/js/cool.js +4948 -0
  27. package/dist/js/cool.js.map +1 -0
  28. package/dist/js/cool.min.js +7 -0
  29. package/dist/js/cool.min.js.map +1 -0
  30. package/html/index.html +892 -0
  31. package/js/dist/collapse.js +321 -0
  32. package/js/dist/collapse.js.map +1 -0
  33. package/js/dist/common.js +1474 -0
  34. package/js/dist/common.js.map +1 -0
  35. package/js/dist/cooldropdown.js +467 -0
  36. package/js/dist/cooldropdown.js.map +1 -0
  37. package/js/dist/coolpopover.js +391 -0
  38. package/js/dist/coolpopover.js.map +1 -0
  39. package/js/dist/coolsectiontabs.js +256 -0
  40. package/js/dist/coolsectiontabs.js.map +1 -0
  41. package/js/dist/coolselect.js +796 -0
  42. package/js/dist/coolselect.js.map +1 -0
  43. package/js/dist/cooltooltip.js +360 -0
  44. package/js/dist/cooltooltip.js.map +1 -0
  45. package/js/dist/coolui.js +73 -0
  46. package/js/dist/coolui.js.map +1 -0
  47. package/js/dist/dropdown.js +1716 -0
  48. package/js/dist/dropdown.js.map +1 -0
  49. package/js/dist/popover.js +587 -0
  50. package/js/dist/popover.js.map +1 -0
  51. package/js/dist/sectiontabs.js +263 -0
  52. package/js/dist/sectiontabs.js.map +1 -0
  53. package/js/dist/select.js +2029 -0
  54. package/js/dist/select.js.map +1 -0
  55. package/js/dist/tooltip.js +555 -0
  56. package/js/dist/tooltip.js.map +1 -0
  57. package/js/index.esm.js +21 -0
  58. package/js/index.umd.js +21 -0
  59. package/js/src/abstract-ui-component.js +70 -0
  60. package/js/src/collapse.js +258 -0
  61. package/js/src/common.js +280 -0
  62. package/js/src/dialog.js +570 -0
  63. package/js/src/dropdown.js +443 -0
  64. package/js/src/popover.js +615 -0
  65. package/js/src/section-tabs.js +204 -0
  66. package/js/src/select.js +832 -0
  67. package/js/src/toast.js +581 -0
  68. package/js/src/tooltip.js +575 -0
  69. package/js/src/util/animate-css.js +22 -0
  70. package/js/src/util/index.js +112 -0
  71. package/js/src/util/perfect-scrollbar.js +1316 -0
  72. package/less/alert.less +345 -0
  73. package/less/badge.less +38 -0
  74. package/less/bootstrap-noconflict.less +23 -0
  75. package/less/bootstrap.less +23 -0
  76. package/less/button-group.less +153 -0
  77. package/less/buttons.less +287 -0
  78. package/less/dialog-noconflict.less +174 -0
  79. package/less/dialog.less +203 -0
  80. package/less/dropdown.less +209 -0
  81. package/less/forms.less +770 -0
  82. package/less/images.less +242 -0
  83. package/less/input-group.less +163 -0
  84. package/less/list-group.less +73 -0
  85. package/less/mixins/aspect-ratio.less +23 -0
  86. package/less/mixins/border-radius.less +24 -0
  87. package/less/mixins/box-shadow.less +4 -0
  88. package/less/mixins/buttons.less +17 -0
  89. package/less/mixins/caret.less +51 -0
  90. package/less/mixins/clearfix.less +10 -0
  91. package/less/mixins/gradients.less +34 -0
  92. package/less/mixins/nav-divider.less +7 -0
  93. package/less/mixins/object-fit.less +13 -0
  94. package/less/mixins/reset-text.less +16 -0
  95. package/less/mixins.less +11 -0
  96. package/less/package.json +11 -0
  97. package/less/pagination.less +69 -0
  98. package/less/popover.less +143 -0
  99. package/less/project.sublime-workspace +774 -0
  100. package/less/reboot.less +235 -0
  101. package/less/section.less +793 -0
  102. package/less/select.less +150 -0
  103. package/less/tables.less +737 -0
  104. package/less/tabs.less +162 -0
  105. package/less/tooltip.less +87 -0
  106. package/less/type.less +71 -0
  107. package/less/utilities/align.less +27 -0
  108. package/less/utilities/animate.less +3512 -0
  109. package/less/utilities/background.less +70 -0
  110. package/less/utilities/borders.less +16 -0
  111. package/less/utilities/color.less +70 -0
  112. package/less/utilities/cursor.less +8 -0
  113. package/less/utilities/display.less +38 -0
  114. package/less/utilities/embed.less +61 -0
  115. package/less/utilities/flex.less +76 -0
  116. package/less/utilities/jquery-ui.less +116 -0
  117. package/less/utilities/lazyload.less +29 -0
  118. package/less/utilities/overflow.less +11 -0
  119. package/less/utilities/pace.less +25 -0
  120. package/less/utilities/placeholder.less +60 -0
  121. package/less/utilities/position.less +42 -0
  122. package/less/utilities/scrollbar.less +152 -0
  123. package/less/utilities/spacing.less +197 -0
  124. package/less/utilities/text.less +68 -0
  125. package/less/utilities/transform.less +7 -0
  126. package/less/utilities.less +21 -0
  127. package/less/variables.less +343 -0
  128. package/package.json +71 -0
  129. package/scss/LISENCE +15 -0
  130. package/scss/_alert.scss +125 -0
  131. package/scss/_badge.scss +58 -0
  132. package/scss/_button-group.scss +124 -0
  133. package/scss/_buttons.scss +206 -0
  134. package/scss/_custom-forms.scss +423 -0
  135. package/scss/_dialog.scss +149 -0
  136. package/scss/_dropdown.scss +234 -0
  137. package/scss/_forms.scss +257 -0
  138. package/scss/_frame.scss +523 -0
  139. package/scss/_functions.scss +114 -0
  140. package/scss/_grid.scss +35 -0
  141. package/scss/_images.scss +312 -0
  142. package/scss/_input-group.scss +245 -0
  143. package/scss/_list-group.scss +82 -0
  144. package/scss/_mixins.scss +32 -0
  145. package/scss/_navbar.scss +214 -0
  146. package/scss/_pagination.scss +79 -0
  147. package/scss/_popover.scss +165 -0
  148. package/scss/_reboot.scss +279 -0
  149. package/scss/_root.scss +15 -0
  150. package/scss/_section.scss +851 -0
  151. package/scss/_select.scss +166 -0
  152. package/scss/_tables.scss +707 -0
  153. package/scss/_tabs.scss +175 -0
  154. package/scss/_toast.scss +182 -0
  155. package/scss/_tooltip.scss +101 -0
  156. package/scss/_type.scss +90 -0
  157. package/scss/_utilities.scss +21 -0
  158. package/scss/_variables.scss +697 -0
  159. package/scss/cool-grid.scss +29 -0
  160. package/scss/cool-reboot.scss +11 -0
  161. package/scss/cool.scss +36 -0
  162. package/scss/mixins/_alert-variant.scss +40 -0
  163. package/scss/mixins/_aspect-ratio.scss +29 -0
  164. package/scss/mixins/_background-variant.scss +25 -0
  165. package/scss/mixins/_badge-variant.scss +13 -0
  166. package/scss/mixins/_breakpoints.scss +102 -0
  167. package/scss/mixins/_buttons.scss +104 -0
  168. package/scss/mixins/_caret.scss +80 -0
  169. package/scss/mixins/_clearfix.scss +10 -0
  170. package/scss/mixins/_float.scss +14 -0
  171. package/scss/mixins/_forms.scss +51 -0
  172. package/scss/mixins/_gradients.scss +40 -0
  173. package/scss/mixins/_grid-framework.scss +72 -0
  174. package/scss/mixins/_grid.scss +60 -0
  175. package/scss/mixins/_nav-divider.scss +9 -0
  176. package/scss/mixins/_object-fit.scss +16 -0
  177. package/scss/mixins/_reset-text.scss +19 -0
  178. package/scss/mixins/_text-emphasis.scss +21 -0
  179. package/scss/mixins/_text-hide.scss +10 -0
  180. package/scss/mixins/_text-truncate.scss +8 -0
  181. package/scss/project.sublime-workspace +491 -0
  182. package/scss/utilities/_align.scss +41 -0
  183. package/scss/utilities/_animate.scss +3512 -0
  184. package/scss/utilities/_background.scss +14 -0
  185. package/scss/utilities/_borders.scss +146 -0
  186. package/scss/utilities/_clearfix.scss +6 -0
  187. package/scss/utilities/_collapse.scss +33 -0
  188. package/scss/utilities/_cursor.scss +10 -0
  189. package/scss/utilities/_display.scss +16 -0
  190. package/scss/utilities/_embed.scss +78 -0
  191. package/scss/utilities/_flex.scss +50 -0
  192. package/scss/utilities/_lazyload.scss +31 -0
  193. package/scss/utilities/_overflow.scss +6 -0
  194. package/scss/utilities/_perfect-scrollbar.scss +154 -0
  195. package/scss/utilities/_placeholder.scss +76 -0
  196. package/scss/utilities/_position.scss +30 -0
  197. package/scss/utilities/_sizing.scss +32 -0
  198. package/scss/utilities/_spacing.scss +92 -0
  199. package/scss/utilities/_text.scss +97 -0
@@ -0,0 +1,523 @@
1
+ // Frame
2
+ // -----------------------------------------------------------------------------------------
3
+
4
+ @if $frame-enable {
5
+
6
+ // Html
7
+ html.dom-ready {
8
+
9
+ @include media-breakpoint-down(sm) {
10
+ .sidebar-left,
11
+ .sidebar-right {
12
+ transition: all 0.33s cubic-bezier(0.685, 0.0473, 0.346, 1);
13
+ }
14
+ }
15
+ }
16
+
17
+ html {
18
+ overflow-y: hidden;
19
+ }
20
+
21
+ html,
22
+ body {
23
+ width: 100%;
24
+ height: 100%;
25
+ overflow-x: hidden;
26
+ }
27
+
28
+ // Body
29
+ body {
30
+ @include media-breakpoint-down(sm) {
31
+ &.sidebar-left-open {
32
+ .site-main > .sidebar-left {
33
+ transform: translate3d(0px, 0, 0);
34
+ }
35
+
36
+ .site-header,
37
+ .site-main > .content {
38
+ transform: translate3d($frame-sidebar-left-width, 0, 0);
39
+ }
40
+ }
41
+
42
+ &.sidebar-right-open {
43
+ .site-main > .sidebar-right {
44
+ transform: translate3d(0px, 0, 0);
45
+ }
46
+
47
+ .site-header,
48
+ .site-main > .content {
49
+ transform: translate3d(-#{$frame-sidebar-right-width}, 0, 0);
50
+ }
51
+ }
52
+ }
53
+ }
54
+
55
+
56
+ // Site header
57
+ .site-header {
58
+ @include media-breakpoint-down(sm) {
59
+ transition: all 0.33s cubic-bezier(0.685, 0.0473, 0.346, 1);
60
+ }
61
+
62
+ & + .site-main {
63
+ height: calc(100% - #{$navbar-height + $navbar-border-width});
64
+
65
+ @include media-breakpoint-down(sm) {
66
+ height: calc(100% - #{$navbar-height-sm + $navbar-border-width});
67
+ }
68
+ }
69
+ }
70
+
71
+
72
+ // Site main
73
+ .site-main {
74
+ position: relative;
75
+ overflow: visible;
76
+ z-index: 1;
77
+
78
+ // Site content
79
+ .content {
80
+ position: relative;
81
+ width: 100%;
82
+ height: 100%;
83
+ overflow-x: hidden;
84
+ overflow-y: auto;
85
+ float: none;
86
+ transition: all 0.33s cubic-bezier(0.685, 0.0473, 0.346, 1);
87
+ -webkit-overflow-scrolling: touch;
88
+
89
+ @include media-breakpoint-up(md) {
90
+ transition-property: top, bottom, width;
91
+ transition-duration: 0.2s, 0.2s, 0.35s;
92
+ transition-timing-function: linear, linear, ease;
93
+ }
94
+
95
+ .content-inner {
96
+ position: relative;
97
+ margin: 10px 0;
98
+
99
+ @include media-breakpoint-up(md) {
100
+ margin: 20px 0;
101
+ }
102
+ }
103
+
104
+ .content-header {
105
+ position: relative;
106
+ width: 100%;
107
+ margin: 10px 0;
108
+
109
+ & + .content-inner {
110
+ margin-top: 0;
111
+ }
112
+
113
+ @include media-breakpoint-up(md) {
114
+ margin: 20px 0;
115
+ }
116
+
117
+ .content-header-title {
118
+ font-size: $h3-font-size;
119
+ margin-bottom: 0;
120
+
121
+ @include media-breakpoint-up(sm) {
122
+ font-size: $h1-font-size;
123
+ }
124
+ }
125
+
126
+ .content-header-primary-action .btn {
127
+ @include media-breakpoint-up(sm) {
128
+ @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size , $btn-line-height, $btn-border-radius);
129
+ }
130
+ }
131
+
132
+ .content-header-secondary-actions {
133
+ font-size: 0;
134
+ }
135
+ }
136
+ }
137
+
138
+
139
+ // Sidebar left
140
+ .sidebar-left {
141
+ display: flex;
142
+ flex-direction: column;
143
+ position: absolute;
144
+ top: 0;
145
+ bottom: 0;
146
+ left: 0;
147
+ overflow: hidden;
148
+ transform: translate3d(-#{$frame-sidebar-left-width}, 0, 0);
149
+ width: $frame-sidebar-left-width;
150
+ height: 100%;
151
+ max-height: 100%;
152
+ overflow-y: auto;
153
+ background-color: $frame-sidebar-left-bg-mobile;
154
+ border-right: $frame-sidebar-left-border-width solid $frame-sidebar-left-border-color;
155
+ transition-property: top, bottom, width;
156
+ transition-duration: 0.2s, 0.2s, 0.35s;
157
+ transition-timing-function: linear, linear, ease;
158
+ z-index: 1000;
159
+
160
+ @include media-breakpoint-down(sm) {
161
+ position: fixed;
162
+ right: auto;
163
+ visibility: visible;
164
+ }
165
+
166
+ @include media-breakpoint-up(md) {
167
+ background-color: $frame-sidebar-left-bg;
168
+
169
+ &.visible {
170
+ transform: translate3d(0, 0, 0);
171
+
172
+ & + .content {
173
+ width: calc(100% - #{$frame-sidebar-left-width});
174
+ float: right;
175
+
176
+ .container-content {
177
+ max-width: 100%;
178
+ }
179
+ }
180
+ }
181
+ }
182
+
183
+ .sidebar-header {
184
+ padding: 20px;
185
+
186
+ & + .sidebar-content {
187
+ &:before {
188
+ content: '';
189
+ display: block;
190
+ border-top: $frame-sidebar-left-border-width solid $frame-sidebar-left-border-color;
191
+ }
192
+ }
193
+
194
+ @include media-breakpoint-up(md) {
195
+ & + .sidebar-content {
196
+ &:before {
197
+ display: none;
198
+ }
199
+ }
200
+ }
201
+ }
202
+
203
+ .sidebar-content {
204
+ position: relative;
205
+ height: 100%;
206
+ z-index: 10;
207
+
208
+ .ps__thumb-y {
209
+ background-color: rgba(0,0,0,0.5);
210
+ }
211
+
212
+ .ps__rail-y:focus > .ps__thumb-y {
213
+ background-color: rgba(0,0,0,0.8);
214
+ }
215
+
216
+ .nav {
217
+ position: relative;
218
+ margin: 0;
219
+ padding: 0;
220
+ list-style: none;
221
+
222
+ li {
223
+ display: block;
224
+ position: relative;
225
+
226
+ &.has-additional-link {
227
+ > a:not(.additional-link) {
228
+ width: calc(100% - 60px);
229
+ }
230
+
231
+ .additional-link {
232
+ position: relative;
233
+ width: 16px;
234
+ height: 25px;
235
+ box-sizing: content-box;
236
+ vertical-align: top;
237
+
238
+ &:hover {
239
+ .icon {
240
+ color: $frame-sidebar-nav-icon-hover-color;
241
+ }
242
+ }
243
+
244
+ .icon {
245
+ display: flex;
246
+ align-items: center;
247
+ justify-content: flex-end;
248
+ height: 100%;
249
+ margin-left: 6px;
250
+ color: $frame-sidebar-nav-icon-color;
251
+ }
252
+ }
253
+ }
254
+
255
+ &.nav-parent {
256
+ > .nav-item {
257
+
258
+ &[disabled] {
259
+ cursor: default;
260
+ }
261
+
262
+ &:hover,
263
+ &:focus {
264
+ .nav-item-title {
265
+ color: $frame-sidebar-nav-item-parent-hover-color;
266
+ }
267
+ .nav-icon,
268
+ .icon {
269
+ color: $frame-sidebar-nav-icon-hover-color;
270
+ }
271
+ }
272
+
273
+ &.active,
274
+ &[aria-expanded="true"] {
275
+ .nav-item-title {
276
+ color: $frame-sidebar-nav-item-parent-active-color;
277
+ }
278
+ .nav-icon {
279
+ color: $frame-sidebar-nav-icon-active-color;
280
+ }
281
+ }
282
+
283
+ .nav-item-title {
284
+ display: block;
285
+ position: relative;
286
+ font-size: $frame-sidebar-nav-item-parent-font-size;
287
+ font-weight: $font-weight-normal;
288
+ color: $frame-sidebar-nav-item-parent-color;
289
+ line-height: 25px;
290
+ align-self: center;
291
+ text-align: left;
292
+ width: 100%;
293
+
294
+ @include media-breakpoint-up(sm) {
295
+ font-weight: $font-weight-bold;
296
+ }
297
+ }
298
+
299
+ .nav-icon {
300
+ align-self: center;
301
+ float: left;
302
+ text-align: center;
303
+ line-height: 25px;
304
+ font-size: $frame-sidebar-nav-icon-size;
305
+ margin: 0 auto;
306
+ color: $frame-sidebar-nav-icon-color;
307
+
308
+ & + span {
309
+ margin-left: 20px;
310
+ }
311
+ }
312
+
313
+ .icon {
314
+ color: $frame-sidebar-nav-icon-color;
315
+ }
316
+ }
317
+ }
318
+
319
+ .nav-item {
320
+ position: relative;
321
+ display: inline-flex;
322
+ flex-basis: auto;
323
+ flex-grow: 1;
324
+ width: 100%;
325
+ cursor: pointer;
326
+ padding: 8px 20px;
327
+ margin: 0;
328
+ opacity: .85;
329
+ border: 0;
330
+ background: none;
331
+ outline: 0;
332
+
333
+ .nav-item-title {
334
+ color: $frame-sidebar-nav-item-child-color;
335
+ }
336
+
337
+ &:hover,
338
+ &:focus {
339
+ outline: 0;
340
+
341
+ .nav-item-title {
342
+ color: $frame-sidebar-nav-item-child-hover-color;
343
+ }
344
+ }
345
+
346
+ &.active {
347
+ outline: 0;
348
+
349
+ .nav-item-title {
350
+ color: $frame-sidebar-nav-item-child-active-color;
351
+ font-weight: $font-weight-bold;
352
+ }
353
+ }
354
+ }
355
+
356
+ // Sub links
357
+ li {
358
+
359
+ &.divider {
360
+ margin-left: 67px;
361
+ margin-right: 20px;
362
+ border-bottom: 1px solid $frame-sidebar-nav-item-border-color;
363
+ }
364
+
365
+ > .nav-item {
366
+ padding-left: 67px;
367
+ }
368
+ }
369
+ }
370
+ }
371
+
372
+ > .nav {
373
+ padding: 20px 0;
374
+ }
375
+ }
376
+ }
377
+
378
+
379
+ // Sidebar right
380
+ .sidebar-right {
381
+ display: flex;
382
+ flex-direction: column;
383
+ position: absolute;
384
+ top: 0;
385
+ right: 0;
386
+ bottom: 0;
387
+ width: $frame-sidebar-right-width;
388
+ transform: translate3d($frame-sidebar-right-width, 0, 0);
389
+ height: 100%;
390
+ max-height: 100%;
391
+ overflow-y: auto;
392
+ background-color: $frame-sidebar-right-bg-mobile;
393
+ border-left: $frame-sidebar-right-border-width solid $frame-sidebar-right-border-color;
394
+ box-sizing: border-box;
395
+
396
+ @include media-breakpoint-up(md) {
397
+ background-color: $frame-sidebar-right-bg;
398
+ }
399
+
400
+ @include media-breakpoint-down(sm) {
401
+ position: fixed;
402
+ left: auto;
403
+ visibility: visible;
404
+ overflow-y: visible;
405
+ }
406
+
407
+ .sidebar-tabs {
408
+ display: flex;
409
+ flex-wrap: wrap;
410
+ padding: 0;
411
+ margin: 0;
412
+ list-style: none;
413
+ border-bottom: 1px solid $frame-sidebar-tabs-border-color;
414
+ min-height: 49px;
415
+
416
+ .tab-item {
417
+ display: flex;
418
+ align-items: center;
419
+ justify-content: center;
420
+ flex: 1;
421
+ margin-bottom: -1px;
422
+
423
+ .tab-item-action {
424
+ display: block;
425
+ border-left: 0;
426
+ border-top: 0;
427
+ border-right: 0;
428
+ border-bottom: 2px solid transparent;
429
+ cursor: pointer;
430
+ padding: 0;
431
+ margin: 0;
432
+ background: $frame-sidebar-tabs-bg;
433
+ outline: 0;
434
+ width: 100%;
435
+ height: 100%;
436
+ color: $frame-sidebar-tabs-color;
437
+
438
+ &.active {
439
+ color: $frame-sidebar-tabs-active-color;
440
+ border-color: $frame-sidebar-tabs-active-border-color;
441
+ background-color: $frame-sidebar-tabs-active-bg;
442
+ }
443
+
444
+ &:hover:not(.active) {
445
+ color: $frame-sidebar-tabs-hover-color;
446
+ border-color: $frame-sidebar-tabs-hover-border-color;
447
+ }
448
+ }
449
+ }
450
+ }
451
+
452
+ .sidebar-tab-content {
453
+ position: relative;
454
+ overflow: hidden;
455
+ display: flex;
456
+ height: 100%;
457
+ transition: height .5s cubic-bezier(.35,0,.25,1);
458
+
459
+ .sidebar-tab {
460
+ top: 0;
461
+ left: 0;
462
+ right: 0;
463
+ bottom: 0;
464
+ position: absolute;
465
+ display: block;
466
+ overflow: hidden;
467
+
468
+ &.active {
469
+ position: relative;
470
+ overflow-x: hidden;
471
+ overflow-y: auto;
472
+ z-index: 1;
473
+ flex-grow: 1;
474
+ }
475
+
476
+ .tab-content {
477
+ position: relative;
478
+ backface-visibility: hidden;
479
+ height: 100%;
480
+ overflow: auto;
481
+ transition: all .3s ease-in-out;
482
+ padding: 15px;
483
+ }
484
+ }
485
+ }
486
+ }
487
+ }
488
+
489
+ } @else {
490
+
491
+ .content-header {
492
+ position: relative;
493
+ width: 100%;
494
+ margin: 10px 0;
495
+
496
+ @include media-breakpoint-up(md) {
497
+ margin: 20px 0;
498
+ }
499
+
500
+ & + .content-inner {
501
+ margin-top: 0;
502
+ }
503
+
504
+ .content-header-title {
505
+ font-size: $h3-font-size;
506
+ margin-bottom: 0;
507
+
508
+ @include media-breakpoint-up(sm) {
509
+ font-size: $h1-font-size;
510
+ }
511
+ }
512
+
513
+ .content-header-primary-action .btn {
514
+ @include media-breakpoint-up(sm) {
515
+ @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size , $btn-line-height, $btn-border-radius);
516
+ }
517
+ }
518
+
519
+ .content-header-secondary-actions {
520
+ font-size: 0;
521
+ }
522
+ }
523
+ }
@@ -0,0 +1,114 @@
1
+ // Functions
2
+ // ---------------------------------------------------------------------------------------------------------------
3
+
4
+ // Ascending
5
+ // Used to evaluate Sass maps like our grid breakpoints.
6
+ @mixin _assert-ascending($map, $map-name) {
7
+
8
+ $prev-key: null;
9
+ $prev-num: null;
10
+
11
+ @each $key, $num in $map {
12
+ @if $prev-num == null or unit($num) == "%" {
13
+ // Do nothing
14
+ } @else if not comparable($prev-num, $num) {
15
+ @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
16
+ } @else if $prev-num >= $num {
17
+ @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
18
+ }
19
+ $prev-key: $key;
20
+ $prev-num: $num;
21
+ }
22
+ }
23
+
24
+
25
+ // Starts at zero
26
+ // Used to ensure the min-width of the lowest breakpoint starts at 0.
27
+ @mixin _assert-starts-at-zero($map, $map-name: '$grid-breakpoints') {
28
+
29
+ $values: map-values($map);
30
+ $first-value: nth($values, 1);
31
+
32
+ @if $first-value != 0 {
33
+ @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
34
+ }
35
+ }
36
+
37
+
38
+ // Make spacers
39
+ @function spacer($key) {
40
+
41
+ @if map-has-key($spacers, $key) {
42
+ @return map-get($spacers, $key);
43
+ }
44
+
45
+ @warn "Unknown `#{$key}` in $spacers.";
46
+ @return null;
47
+ }
48
+
49
+
50
+ // Replace `$search` with `$replace` in `$string`
51
+ // Used on our SVG icon backgrounds for custom forms.
52
+ //
53
+ // @author Hugo Giraudel
54
+ // @param {String} $string - Initial string
55
+ // @param {String} $search - Substring to replace
56
+ // @param {String} $replace ('') - New value
57
+ // @return {String} - Updated string
58
+ @function str-replace($string, $search, $replace: '') {
59
+
60
+ $index: str-index($string, $search);
61
+
62
+ @if $index {
63
+ @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
64
+ }
65
+
66
+ @return $string;
67
+ }
68
+
69
+
70
+ // Color contrast
71
+ @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
72
+
73
+ @if type-of($color) == 'color' {
74
+
75
+ $r: red($color);
76
+ $g: green($color);
77
+ $b: blue($color);
78
+
79
+ $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
80
+
81
+ @if ($yiq >= $yiq-contrasted-threshold) {
82
+ @return $dark;
83
+ } @else {
84
+ @return $light;
85
+ }
86
+ }
87
+
88
+ @warn "`#{$color}` is not a color.";
89
+ @return null;
90
+ }
91
+
92
+
93
+ // Color
94
+ @function color($key) {
95
+
96
+ @if map-has-key($colors, $key) {
97
+ @return map-get($colors, $key);
98
+ }
99
+
100
+ @warn "Unknown `#{$key}` in $colors.";
101
+ @return null;
102
+ }
103
+
104
+
105
+ // Theme color
106
+ @function theme-color($key) {
107
+
108
+ @if map-has-key($theme-colors, $key) {
109
+ @return map-get($theme-colors, $key);
110
+ }
111
+
112
+ @warn "Unknown `#{$key}` in $theme-colors.";
113
+ @return null;
114
+ }
@@ -0,0 +1,35 @@
1
+ // Grid
2
+ // ---------------------------------------------------------------------------------------------------------------
3
+
4
+ .container {
5
+ @include make-container();
6
+ @include make-container-max-widths();
7
+ }
8
+
9
+ .container-fluid {
10
+ @include make-container();
11
+ }
12
+
13
+ .container-content {
14
+ position: relative;
15
+ @include make-container-content();
16
+ }
17
+
18
+ .row {
19
+ @include make-row();
20
+ }
21
+
22
+ // Remove the negative margin from default .row, then the horizontal padding
23
+ // from all immediate children columns (to prevent runaway style inheritance).
24
+ .no-gutters {
25
+ margin-right: 0;
26
+ margin-left: 0;
27
+
28
+ > .col,
29
+ > [class*="col-"] {
30
+ padding-right: 0;
31
+ padding-left: 0;
32
+ }
33
+ }
34
+
35
+ @include make-grid-columns();