claritas-web-framework 5.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 (162) hide show
  1. package/dist/index.css +7 -0
  2. package/images/block.svg +3 -0
  3. package/images/check.svg +3 -0
  4. package/images/chevron-down.svg +1 -0
  5. package/images/menu.svg +3 -0
  6. package/images/remove.svg +3 -0
  7. package/images/subdirectory.svg +3 -0
  8. package/images/upload.svg +3 -0
  9. package/index.js +2 -0
  10. package/js/defaults/getPage.js +4 -0
  11. package/js/defaults/getSiblings.js +3 -0
  12. package/js/polyfills/customevent.js +16 -0
  13. package/js/utilities/debounce.js +27 -0
  14. package/js/utilities/isElement.js +11 -0
  15. package/js/utilities/removehash.js +8 -0
  16. package/package.json +33 -0
  17. package/postcss.config.js +45 -0
  18. package/scss/_base.scss +3 -0
  19. package/scss/_functions.scss +302 -0
  20. package/scss/_helpers.scss +7 -0
  21. package/scss/_mixins.scss +12 -0
  22. package/scss/_modules.scss +17 -0
  23. package/scss/_reboot.scss +403 -0
  24. package/scss/_root.scss +30 -0
  25. package/scss/_utilities.scss +17 -0
  26. package/scss/_variables.scss +500 -0
  27. package/scss/helpers/_container.scss +8 -0
  28. package/scss/helpers/_embed.scss +41 -0
  29. package/scss/helpers/_grid.scss +39 -0
  30. package/scss/helpers/_image.scss +5 -0
  31. package/scss/helpers/_link.scss +18 -0
  32. package/scss/helpers/_screenReaders.scss +22 -0
  33. package/scss/helpers/_wrap.scss +3 -0
  34. package/scss/index.scss +7 -0
  35. package/scss/mixins/_breakpoints.scss +123 -0
  36. package/scss/mixins/_button.scss +92 -0
  37. package/scss/mixins/_card.scss +31 -0
  38. package/scss/mixins/_caret.scss +33 -0
  39. package/scss/mixins/_clearfix.scss +7 -0
  40. package/scss/mixins/_close.scss +40 -0
  41. package/scss/mixins/_container.scss +20 -0
  42. package/scss/mixins/_grid.scss +20 -0
  43. package/scss/mixins/_group.scss +78 -0
  44. package/scss/mixins/_list.scss +22 -0
  45. package/scss/mixins/_pill.scss +44 -0
  46. package/scss/mixins/_table.scss +93 -0
  47. package/scss/mixins/_wrap.scss +7 -0
  48. package/scss/modules/_alert.scss +47 -0
  49. package/scss/modules/_button.scss +260 -0
  50. package/scss/modules/_card.scss +71 -0
  51. package/scss/modules/_close.scss +3 -0
  52. package/scss/modules/_details.scss +61 -0
  53. package/scss/modules/_dialog.scss +82 -0
  54. package/scss/modules/_dropdown.scss +74 -0
  55. package/scss/modules/_form.scss +191 -0
  56. package/scss/modules/_list.scss +88 -0
  57. package/scss/modules/_loader.scss +226 -0
  58. package/scss/modules/_nav.scss +92 -0
  59. package/scss/modules/_pill.scss +37 -0
  60. package/scss/modules/_table.scss +19 -0
  61. package/scss/modules/_tabs.scss +99 -0
  62. package/scss/modules/_tag.scss +82 -0
  63. package/scss/modules/_tile.scss +82 -0
  64. package/scss/modules/_tooltip.scss +127 -0
  65. package/scss/modules/form/_checkbox.scss +99 -0
  66. package/scss/modules/form/_file.scss +109 -0
  67. package/scss/modules/form/_formFieldGroup.scss +74 -0
  68. package/scss/modules/form/_output.scss +5 -0
  69. package/scss/modules/form/_progress.scss +57 -0
  70. package/scss/modules/form/_radio.scss +49 -0
  71. package/scss/modules/form/_range.scss +104 -0
  72. package/scss/modules/form/_select.scss +22 -0
  73. package/scss/modules/form/_text.scss +19 -0
  74. package/scss/utilities/_align.scss +21 -0
  75. package/scss/utilities/_border.scss +63 -0
  76. package/scss/utilities/_colors.scss +68 -0
  77. package/scss/utilities/_display.scss +21 -0
  78. package/scss/utilities/_flex.scss +55 -0
  79. package/scss/utilities/_float.scss +13 -0
  80. package/scss/utilities/_order.scss +19 -0
  81. package/scss/utilities/_overflow.scss +21 -0
  82. package/scss/utilities/_pointerEvents.scss +13 -0
  83. package/scss/utilities/_position.scss +43 -0
  84. package/scss/utilities/_shadow.scss +5 -0
  85. package/scss/utilities/_size.scss +63 -0
  86. package/scss/utilities/_spacing.scss +79 -0
  87. package/scss/utilities/_translate.scss +15 -0
  88. package/scss/utilities/_typography.scss +58 -0
  89. package/scss/utilities/_visibility.scss +13 -0
  90. package/scss/utilities/_zIndex.scss +11 -0
  91. package/styles/helpers/container.css +21 -0
  92. package/styles/helpers/embed.css +70 -0
  93. package/styles/helpers/grid.css +64 -0
  94. package/styles/helpers/image.css +5 -0
  95. package/styles/helpers/link.css +20 -0
  96. package/styles/helpers/screen-readers.css +22 -0
  97. package/styles/helpers/wrap.css +5 -0
  98. package/styles/helpers.css +7 -0
  99. package/styles/index.css +6 -0
  100. package/styles/mixins/caret.css +32 -0
  101. package/styles/mixins/clearfix.css +7 -0
  102. package/styles/mixins/group.css +78 -0
  103. package/styles/mixins/helpers/container.css +12 -0
  104. package/styles/mixins/helpers/grid.css +20 -0
  105. package/styles/mixins/helpers/link.css +18 -0
  106. package/styles/mixins/helpers/wrap.css +7 -0
  107. package/styles/mixins/modules/button.css +92 -0
  108. package/styles/mixins/modules/card.css +29 -0
  109. package/styles/mixins/modules/close.css +42 -0
  110. package/styles/mixins/modules/list.css +24 -0
  111. package/styles/mixins/modules/pill.css +44 -0
  112. package/styles/mixins/modules/table.css +75 -0
  113. package/styles/mixins.css +13 -0
  114. package/styles/modules/alert.css +85 -0
  115. package/styles/modules/breadcrumbs.css +41 -0
  116. package/styles/modules/button.css +151 -0
  117. package/styles/modules/card.css +80 -0
  118. package/styles/modules/close.css +5 -0
  119. package/styles/modules/details.css +61 -0
  120. package/styles/modules/dialog.css +82 -0
  121. package/styles/modules/dropdown.css +126 -0
  122. package/styles/modules/form/checkbox.css +99 -0
  123. package/styles/modules/form/file.css +117 -0
  124. package/styles/modules/form/form-field-group.css +74 -0
  125. package/styles/modules/form/output.css +5 -0
  126. package/styles/modules/form/progress.css +57 -0
  127. package/styles/modules/form/radio.css +49 -0
  128. package/styles/modules/form/range.css +104 -0
  129. package/styles/modules/form/select.css +24 -0
  130. package/styles/modules/form/text.css +19 -0
  131. package/styles/modules/form.css +191 -0
  132. package/styles/modules/list.css +98 -0
  133. package/styles/modules/loader.css +229 -0
  134. package/styles/modules/nav.css +99 -0
  135. package/styles/modules/pill.css +72 -0
  136. package/styles/modules/table.css +21 -0
  137. package/styles/modules/tabs.css +101 -0
  138. package/styles/modules/tag.css +117 -0
  139. package/styles/modules/tile.css +114 -0
  140. package/styles/modules.css +17 -0
  141. package/styles/reboot.css +403 -0
  142. package/styles/utilities/align.css +5 -0
  143. package/styles/utilities/border.css +55 -0
  144. package/styles/utilities/colors.css +65 -0
  145. package/styles/utilities/display.css +45 -0
  146. package/styles/utilities/flex.css +131 -0
  147. package/styles/utilities/float.css +15 -0
  148. package/styles/utilities/order.css +33 -0
  149. package/styles/utilities/overflow.css +31 -0
  150. package/styles/utilities/pointer-events.css +5 -0
  151. package/styles/utilities/position.css +79 -0
  152. package/styles/utilities/shadow.css +5 -0
  153. package/styles/utilities/size.css +123 -0
  154. package/styles/utilities/spacing.css +866 -0
  155. package/styles/utilities/tooltip.css +127 -0
  156. package/styles/utilities/translate.css +15 -0
  157. package/styles/utilities/typography.css +74 -0
  158. package/styles/utilities/visibility.css +14 -0
  159. package/styles/utilities/zindex.css +7 -0
  160. package/styles/utilities.css +18 -0
  161. package/styles/vars.css +158 -0
  162. package/webpack.config.js +25 -0
@@ -0,0 +1,123 @@
1
+ // Breakpoint viewport sizes and media queries.
2
+ //
3
+ // Breakpoints are defined as a map of (name: minimum width), order from small to large:
4
+ //
5
+ // (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)
6
+ //
7
+ // The map defined in the `$breakpoints` global variable is used as the `$breakpoints` argument by default.
8
+
9
+ // Name of the next breakpoint, or null for the last breakpoint.
10
+ //
11
+ // >> breakpoint-next(sm)
12
+ // md
13
+ // >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
14
+ // md
15
+ // >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
16
+ // md
17
+ @function breakpoint-next($name, $breakpoints: $breakpoints, $breakpoint-names: map-keys($breakpoints)) {
18
+ $n: index($breakpoint-names, $name);
19
+ @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);
20
+ }
21
+
22
+ // Minimum breakpoint width. Null for the smallest (first) breakpoint.
23
+ //
24
+ // >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
25
+ // 576px
26
+ @function breakpoint-min($name, $breakpoints: $breakpoints) {
27
+ $min: map-get($breakpoints, $name);
28
+ @return if($min != 0, $min, null);
29
+ }
30
+
31
+ // Maximum breakpoint width. Null for the largest (last) breakpoint.
32
+ // The maximum value is calculated as the minimum of the next one less 0.02px
33
+ // to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.
34
+ // See https://www.w3.org/TR/mediaqueries-4/#mq-min-max
35
+ // Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.
36
+ // See https://bugs.webkit.org/show_bug.cgi?id=178261
37
+ //
38
+ // >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
39
+ // 767.98px
40
+ @function breakpoint-max($name, $breakpoints: $breakpoints) {
41
+ $next: breakpoint-next($name, $breakpoints);
42
+ @return if($next, breakpoint-min($next, $breakpoints) - .02, null);
43
+ }
44
+
45
+ // Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.
46
+ // Useful for making responsive utilities.
47
+ //
48
+ // >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
49
+ // "" (Returns a blank string)
50
+ // >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
51
+ // "-sm"
52
+ @function breakpoint-infix($name, $breakpoints: $breakpoints) {
53
+ @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");
54
+ }
55
+
56
+ // Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
57
+ // Makes the @content apply to the given breakpoint and wider.
58
+ @mixin media-breakpoint-up($name, $breakpoints: $breakpoints) {
59
+ $min: breakpoint-min($name, $breakpoints);
60
+ @if $min {
61
+ @media (min-width: $min) {
62
+ @content;
63
+ }
64
+ } @else {
65
+ @content;
66
+ }
67
+ }
68
+
69
+ // Media of at most the maximum breakpoint width. No query for the largest breakpoint.
70
+ // Makes the @content apply to the given breakpoint and narrower.
71
+ @mixin media-breakpoint-down($name, $breakpoints: $breakpoints) {
72
+ $max: breakpoint-max($name, $breakpoints);
73
+ @if $max {
74
+ @media (max-width: $max) {
75
+ @content;
76
+ }
77
+ } @else {
78
+ @content;
79
+ }
80
+ }
81
+
82
+ // Media that spans multiple breakpoint widths.
83
+ // Makes the @content apply between the min and max breakpoints
84
+ @mixin media-breakpoint-between($lower, $upper, $breakpoints: $breakpoints) {
85
+ $min: breakpoint-min($lower, $breakpoints);
86
+ $max: breakpoint-max($upper, $breakpoints);
87
+
88
+ @if $min != null and $max != null {
89
+ @media (min-width: $min) and (max-width: $max) {
90
+ @content;
91
+ }
92
+ } @else if $max == null {
93
+ @include media-breakpoint-up($lower, $breakpoints) {
94
+ @content;
95
+ }
96
+ } @else if $min == null {
97
+ @include media-breakpoint-down($upper, $breakpoints) {
98
+ @content;
99
+ }
100
+ }
101
+ }
102
+
103
+ // Media between the breakpoint's minimum and maximum widths.
104
+ // No minimum for the smallest breakpoint, and no maximum for the largest one.
105
+ // Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
106
+ @mixin media-breakpoint-only($name, $breakpoints: $breakpoints) {
107
+ $min: breakpoint-min($name, $breakpoints);
108
+ $max: breakpoint-max($name, $breakpoints);
109
+
110
+ @if $min != null and $max != null {
111
+ @media (min-width: $min) and (max-width: $max) {
112
+ @content;
113
+ }
114
+ } @else if $max == null {
115
+ @include media-breakpoint-up($name, $breakpoints) {
116
+ @content;
117
+ }
118
+ } @else if $min == null {
119
+ @include media-breakpoint-down($name, $breakpoints) {
120
+ @content;
121
+ }
122
+ }
123
+ }
@@ -0,0 +1,92 @@
1
+ @mixin make-button() {
2
+ --#{$variable-prefix}border-style: solid;
3
+ --#{$variable-prefix}border-width: 1px;
4
+ --#{$variable-prefix}border-color: #{rgba($black, 0.2)};
5
+ --#{$variable-prefix}border-color-hover: #{rgba($black, 0.3)};
6
+ --#{$variable-prefix}border-radius: #{$border-radius-medium};
7
+ --#{$variable-prefix}color: #{$body-color};
8
+ --#{$variable-prefix}color-hover: #{$body-color};
9
+ --#{$variable-prefix}color-focus: #{$body-color};
10
+ --#{$variable-prefix}shadow-color-active: #{rgba($black, 0.2)};
11
+ --#{$variable-prefix}shadow-color-focus: #{rgba($black, 0.1)};
12
+ --#{$variable-prefix}box-shadow-active: 0 0 0 0.125em var(--#{$variable-prefix}shadow-color-active);
13
+ --#{$variable-prefix}box-shadow-focus: 0 0 0 0.125em var(--#{$variable-prefix}shadow-color-focus);
14
+ --#{$variable-prefix}background-color: #{$white};
15
+ --#{$variable-prefix}background-color-hover: #{$white};
16
+ --#{$variable-prefix}background-color-focus: #{rgba($black, 0.05)};
17
+ --#{$variable-prefix}padding-y: calc((#{$spacer} * 0.5) - 1.5px);
18
+ --#{$variable-prefix}padding-x: #{$spacer};
19
+ --#{$variable-prefix}padding: var(--#{$variable-prefix}padding-y) var(--#{$variable-prefix}padding-x);
20
+ --#{$variable-prefix}font-size: #{$font-size-base};
21
+ --#{$variable-prefix}align-items: center;
22
+ --#{$variable-prefix}display: inline-flex;
23
+ --#{$variable-prefix}vertical-align: top;
24
+ --#{$variable-prefix}cursor: pointer;
25
+ --#{$variable-prefix}justify-content: center;
26
+ --#{$variable-prefix}text-align: center;
27
+ --#{$variable-prefix}white-space: nowrap;
28
+ --#{$variable-prefix}height: auto;
29
+ --#{$variable-prefix}width: auto;
30
+ --#{$variable-prefix}outline: 0;
31
+ --#{$variable-prefix}text-decoration: none;
32
+ --#{$variable-prefix}pointer-events: auto;
33
+ --#{$variable-prefix}opacity: 1;
34
+
35
+ display: var(--#{$variable-prefix}display);
36
+ border-width: var(--#{$variable-prefix}border-width);
37
+ border-style: var(--#{$variable-prefix}border-style);
38
+ border-color: var(--#{$variable-prefix}border-color);
39
+ color: var(--#{$variable-prefix}color);
40
+ background-color: var(--#{$variable-prefix}background-color);
41
+ padding: var(--#{$variable-prefix}padding);
42
+ border-radius: var(--#{$variable-prefix}border-radius);
43
+ font-size: var(--#{$variable-prefix}font-size);
44
+ align-items: var(--#{$variable-prefix}align-items);
45
+ justify-content: var(--#{$variable-prefix}justify-content);
46
+ text-align: var(--#{$variable-prefix}text-align);
47
+ vertical-align: var(--#{$variable-prefix}vertical-align);
48
+ cursor: var(--#{$variable-prefix}cursor);
49
+ white-space: var(--#{$variable-prefix}white-space);
50
+ height: var(--#{$variable-prefix}height);
51
+ width: var(--#{$variable-prefix}width);
52
+ outline: var(--#{$variable-prefix}outline);
53
+ text-decoration: var(--#{$variable-prefix}text-decoration);
54
+ pointer-events: var(--#{$variable-prefix}pointer-events);
55
+ opacity: var(--#{$variable-prefix}opacity);
56
+
57
+ &.active,
58
+ &:active,
59
+ &:hover {
60
+ border-color: var(--#{$variable-prefix}border-color-hover);
61
+ }
62
+
63
+ &.active,
64
+ &:active,
65
+ &:focus,
66
+ &:hover {
67
+ background-color: var(--#{$variable-prefix}background-color-hover);
68
+ color: var(--#{$variable-prefix}color-hover);
69
+ text-decoration: var(--#{$variable-prefix}text-decoration);
70
+ }
71
+
72
+ &.active,
73
+ &:active {
74
+ box-shadow: var(--#{$variable-prefix}box-shadow-active);
75
+ color: var(--#{$variable-prefix}color-focus);
76
+ }
77
+
78
+ &:focus {
79
+ color: var(--#{$variable-prefix}color-focus);
80
+ background-color: var(--#{$variable-prefix}background-color-focus);
81
+
82
+ &:not(:active):not(.active) {
83
+ box-shadow: var(--#{$variable-prefix}box-shadow-focus);
84
+ }
85
+ }
86
+
87
+ &.active,
88
+ &:active,
89
+ &:focus {
90
+ z-index: 1;
91
+ }
92
+ }
@@ -0,0 +1,31 @@
1
+ @mixin make-card() {
2
+ --#{$variable-prefix}background-color: #{$white};
3
+ --#{$variable-prefix}border-color: #{rgba($black, .12)};
4
+ --#{$variable-prefix}border-radius: #{$card-border-radius};
5
+
6
+ border-width: 1px;
7
+ border-style: solid;
8
+ border-color: var(--#{$variable-prefix}border-color);
9
+
10
+ margin-bottom: $spacer;
11
+ background-color: var(--#{$variable-prefix}background-color);
12
+ border-radius: var(--#{$variable-prefix}border-radius);
13
+ display: flex;
14
+ flex-direction: column;
15
+ min-width: 0;
16
+ word-wrap: break-word;
17
+ width: 100%;
18
+ position: relative;
19
+
20
+ & > * {
21
+ &:first-child {
22
+ border-top-left-radius: calc(var(--#{$variable-prefix}border-radius) - 1px);
23
+ border-top-right-radius: calc(var(--#{$variable-prefix}border-radius) - 1px);
24
+ }
25
+
26
+ &:last-child {
27
+ border-bottom-left-radius: calc(var(--#{$variable-prefix}border-radius) - 1px);
28
+ border-bottom-right-radius: calc(var(--#{$variable-prefix}border-radius) - 1px);
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,33 @@
1
+ @mixin make-caret() {
2
+ position: relative;
3
+
4
+ &::after {
5
+ --#{$variable-prefix}color-caret: #{rgba($black, 0.5)};
6
+ position: absolute;
7
+ content: '';
8
+ top: calc(50% - calc($spacer * 0.125));
9
+ width: 0;
10
+ height: 0;
11
+ border-left: calc($spacer * 0.25) solid rgba($black, 0);
12
+ border-right: calc($spacer * 0.25) solid rgba($black, 0);
13
+ pointer-events: none;
14
+ }
15
+ }
16
+
17
+ @mixin make-caret-down() {
18
+ @include make-caret();
19
+
20
+ &::after {
21
+ border-bottom: 0;
22
+ border-top: calc($spacer * 0.25) solid var(--#{$variable-prefix}color-caret);
23
+ }
24
+ }
25
+
26
+ @mixin make-caret-up() {
27
+ @include make-caret();
28
+
29
+ &::after {
30
+ border-top: 0;
31
+ border-bottom: calc($spacer * 0.25) solid var(--#{$variable-prefix}color-caret);
32
+ }
33
+ }
@@ -0,0 +1,7 @@
1
+ @mixin clearfix() {
2
+ &::after {
3
+ display: block;
4
+ content: "";
5
+ clear: both;
6
+ }
7
+ }
@@ -0,0 +1,40 @@
1
+ @mixin make-close() {
2
+ @extend .button;
3
+
4
+ --#{$variable-prefix}padding: calc(#{$spacer} * 0.575);
5
+ --#{$variable-prefix}border-radius: #{$border-radius-round};
6
+ --#{$variable-prefix}border-color: #{rgba($black, 0)};
7
+ --#{$variable-prefix}border-color-hover: #{rgba($black, 0)};
8
+ --#{$variable-prefix}background-color: #{rgba($black, 0.2)};
9
+ --#{$variable-prefix}background-color-hover: #{rgba($black, 0.3)};
10
+ --#{$variable-prefix}background-color-focus: #{rgba($black, 0.4)};
11
+ --#{$variable-prefix}box-shadow-active: none;
12
+ --#{$variable-prefix}box-shadow-focus: none;
13
+ --#{$variable-prefix}position: relative;
14
+ --#{$variable-prefix}vertical-align: text-bottom;
15
+
16
+ position: var(--#{$variable-prefix}position);
17
+ vertical-align: var(--#{$variable-prefix}vertical-align);
18
+
19
+ &::before,
20
+ &::after {
21
+ position: absolute;
22
+ display: block;
23
+ content: '';
24
+ left: 50%;
25
+ top: 50%;
26
+ background-color: $white;
27
+ transform-origin: center center;
28
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
29
+ }
30
+
31
+ &::before {
32
+ height: 2px;
33
+ width: 50%;
34
+ }
35
+
36
+ &::after {
37
+ width: 2px;
38
+ height: 50%;
39
+ }
40
+ }
@@ -0,0 +1,20 @@
1
+ @mixin make-container() {
2
+ --#{$variable-prefix}width: 100%;
3
+ --#{$variable-prefix}max-width: 100vw;
4
+ --#{$variable-prefix}margin: auto;
5
+ --#{$variable-prefix}padding: 0 #{$grid-gutter-x};
6
+
7
+ width: var(--#{$variable-prefix}width);
8
+ max-width: var(--#{$variable-prefix}max-width);
9
+ margin-left: var(--#{$variable-prefix}margin);
10
+ margin-right: var(--#{$variable-prefix}margin);
11
+ padding: var(--#{$variable-prefix}padding);
12
+ }
13
+
14
+ @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $breakpoints) {
15
+ @each $breakpoint, $container-max-width in $max-widths {
16
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
17
+ --#{$variable-prefix}max-width: #{$container-max-width};
18
+ }
19
+ }
20
+ }
@@ -0,0 +1,20 @@
1
+ @mixin make-grid() {
2
+ display: flex;
3
+ flex-wrap: wrap;
4
+ margin-top: calc($grid-gutter-y * -1);
5
+ margin-right: calc($grid-gutter-x * -0.5) !important;
6
+ margin-left: calc($grid-gutter-x * -0.5) !important;
7
+
8
+ & > * {
9
+ flex-shrink: 0;
10
+ width: 100%;
11
+ max-width: 100%;
12
+ padding-right: calc($grid-gutter-x * 0.5);
13
+ padding-left: calc($grid-gutter-x * 0.5);
14
+ margin-top: $grid-gutter-y;
15
+ }
16
+ }
17
+
18
+ @mixin make-col-offset($size) {
19
+ margin-left: percentage($size / 12);
20
+ }
@@ -0,0 +1,78 @@
1
+ @mixin make-group() {
2
+ --#{$variable-prefix}margin: 0 0 #{$spacer};
3
+ --#{$variable-prefix}display: flex;
4
+ --#{$variable-prefix}flex-wrap: wrap;
5
+ --#{$variable-prefix}align-items: center;
6
+ --#{$variable-prefix}justify-content: flex-start;
7
+ --#{$variable-prefix}flex-direction: row;
8
+
9
+ margin: var(--#{$variable-prefix}margin);
10
+ display: var(--#{$variable-prefix}display);
11
+ flex-wrap: var(--#{$variable-prefix}flex-wrap);
12
+ align-items: var(--#{$variable-prefix}align-items);
13
+ justify-content: var(--#{$variable-prefix}justify-content);
14
+ flex-direction: var(--#{$variable-prefix}flex-direction);
15
+ }
16
+
17
+ @mixin make-group-column() {
18
+ @include make-group();
19
+
20
+ --#{$variable-prefix}flex-direction: column;
21
+
22
+ & > * {
23
+ margin-bottom: 0;
24
+
25
+ &:not(:last-child) {
26
+ margin-bottom: calc($spacer * 0.5);
27
+ }
28
+ }
29
+ }
30
+
31
+ @mixin make-group-row() {
32
+ @include make-group();
33
+
34
+ & > * {
35
+ margin-right: 0;
36
+
37
+ &:not(:last-child) {
38
+ margin-right: calc($spacer * 0.5);
39
+ }
40
+ }
41
+ }
42
+
43
+ @mixin make-grouped-column() {
44
+ & > * {
45
+ &:not(:last-child) {
46
+ border-bottom-right-radius: 0;
47
+ border-bottom-left-radius: 0;
48
+ margin-bottom: 0;
49
+ }
50
+
51
+ &:not(:first-child) {
52
+ border-top-left-radius: 0;
53
+ border-top-right-radius: 0;
54
+ margin-top: -1px;
55
+ }
56
+ }
57
+ }
58
+
59
+ @mixin make-grouped-row() {
60
+ flex-wrap: nowrap;
61
+
62
+ & > * {
63
+ &:not(:last-child) {
64
+ border-bottom-right-radius: 0;
65
+ border-top-right-radius: 0;
66
+ margin-right: -1px;
67
+ }
68
+
69
+ &:not(:first-child) {
70
+ border-bottom-left-radius: 0;
71
+ border-top-left-radius: 0;
72
+ }
73
+
74
+ &:last-child {
75
+ margin-right: 0;
76
+ }
77
+ }
78
+ }
@@ -0,0 +1,22 @@
1
+ @mixin make-list-unsyled() {
2
+ --#{$variable-prefix}list-style: none;
3
+ --#{$variable-prefix}margin: 0 0 #{$spacer};
4
+ --#{$variable-prefix}padding: 0;
5
+
6
+ list-style: var(--#{$variable-prefix}list-style);
7
+ margin: var(--#{$variable-prefix}margin);
8
+ padding: var(--#{$variable-prefix}padding);
9
+ }
10
+
11
+ @mixin make-list-inline() {
12
+ @include make-group-row();
13
+ @include make-list-unsyled();
14
+
15
+ --#{$variable-prefix}gap: #{$spacer};
16
+
17
+ & > * {
18
+ &:not(:last-child) {
19
+ margin-right: var(--#{$variable-prefix}gap);
20
+ }
21
+ }
22
+ }
@@ -0,0 +1,44 @@
1
+ @mixin make-pill() {
2
+ --#{$variable-prefix}border-width: 1px;
3
+ --#{$variable-prefix}border-color: #{rgba($black, 0.12)};
4
+ --#{$variable-prefix}border-style: solid;
5
+ --#{$variable-prefix}border-radius: #{$border-radius-round};
6
+ --#{$variable-prefix}color: #{$body-color};
7
+ --#{$variable-prefix}background-color: #{$light};
8
+ --#{$variable-prefix}background-color-hover: #{shade-color($light, 10%)};
9
+ --#{$variable-prefix}padding: calc((#{$spacer} * 0.125) - 1px) calc(#{$spacer} * 0.25);
10
+ --#{$variable-prefix}line-height: 1;
11
+ --#{$variable-prefix}font-weight: 700;
12
+ --#{$variable-prefix}display: inline-flex;
13
+ --#{$variable-prefix}align-items: center;
14
+ --#{$variable-prefix}vertical-align: top;
15
+ --#{$variable-prefix}justify-content: center;
16
+ --#{$variable-prefix}text-align: center;
17
+ --#{$variable-prefix}white-space: nowrap;
18
+ --#{$variable-prefix}height: auto;
19
+ --#{$variable-prefix}min-width: #{$spacer};
20
+ --#{$variable-prefix}outline: 0;
21
+ --#{$variable-prefix}text-decoration: none;
22
+ --#{$variable-prefix}font-size: #{$font-size-small};
23
+
24
+ border-width: var(--#{$variable-prefix}border-width);
25
+ border-color: var(--#{$variable-prefix}border-color);
26
+ border-style: var(--#{$variable-prefix}border-style);
27
+ font-weight: var(--f#{$variable-prefix}ont-weight);
28
+ line-height: var(--#{$variable-prefix}line-height);
29
+ color: var(--#{$variable-prefix}color);
30
+ background-color: var(--#{$variable-prefix}background-color);
31
+ padding: var(--#{$variable-prefix}padding);
32
+ border-radius: var(--#{$variable-prefix}border-radius);
33
+ align-items: var(--#{$variable-prefix}align-items);
34
+ display: var(--#{$variable-prefix}display);
35
+ vertical-align: var(--#{$variable-prefix}vertical-align);
36
+ justify-content: var(--#{$variable-prefix}justify-content);
37
+ text-align: var(--#{$variable-prefix}text-align);
38
+ white-space: var(--#{$variable-prefix}white-space);
39
+ height: var(--#{$variable-prefix}height);
40
+ min-width: var(--#{$variable-prefix}min-width);
41
+ outline: var(--#{$variable-prefix}outline);
42
+ text-decoration: var(--#{$variable-prefix}text-decoration);
43
+ font-size: var(--#{$variable-prefix}font-size);
44
+ }
@@ -0,0 +1,93 @@
1
+ @mixin make-table() {
2
+ --#{$variable-prefix}border-color: #{rgba($black, 0.12)};
3
+ --#{$variable-prefix}border-width: 1px;
4
+ --#{$variable-prefix}border-width-thick: 2px;
5
+ --#{$variable-prefix}padding: calc((#{$spacer} * 0.625) - 1px) #{$spacer};
6
+ --#{$variable-prefix}padding-small: calc((#{$spacer} * 0.25) - 1px) calc(#{$spacer} * 0.75);
7
+
8
+ width: 100%;
9
+
10
+ & td,
11
+ & th {
12
+ padding: var(--#{$variable-prefix}padding);
13
+ vertical-align: top;
14
+ border-style: solid;
15
+ border-color: var(--#{$variable-prefix}border-color);
16
+ border-width: 0 0 var(--#{$variable-prefix}border-width) 0;
17
+ }
18
+
19
+ & thead {
20
+ & tr {
21
+ & th {
22
+ border-width: 0 0 var(--#{$variable-prefix}border-width-thick) 0;
23
+ }
24
+ }
25
+ }
26
+
27
+ & tfoot {
28
+ & tr {
29
+ & th {
30
+ border-width: var(--#{$variable-prefix}border-width-thick) 0 var(--#{$variable-prefix}border-width) 0;
31
+ }
32
+ }
33
+ }
34
+ }
35
+
36
+ @mixin make-tableBordered() {
37
+ & td,
38
+ & th {
39
+ border-width: var(--#{$variable-prefix}border-width);
40
+ }
41
+
42
+ & thead {
43
+ & tr {
44
+ & th {
45
+ border-width: var(--#{$variable-prefix}border-width) var(--#{$variable-prefix}border-width)
46
+ var(--#{$variable-prefix}border-width-thick) var(--#{$variable-prefix}border-width);
47
+ }
48
+ }
49
+ }
50
+
51
+ & tfoot {
52
+ & tr {
53
+ & th {
54
+ border-width: var(--#{$variable-prefix}border-width-thick) var(--#{$variable-prefix}border-width)
55
+ var(--#{$variable-prefix}border-width) var(--#{$variable-prefix}border-width);
56
+ }
57
+ }
58
+ }
59
+ }
60
+
61
+ @mixin make-tableStriped() {
62
+ & tbody {
63
+ & tr {
64
+ &:nth-of-type(even) {
65
+ background-color: rgba($dark, 0.04);
66
+ }
67
+
68
+ &:nth-of-type(odd) {
69
+ background-color: rgba($light, 0.04);
70
+ }
71
+ }
72
+ }
73
+ }
74
+
75
+ @mixin make-tableSmall() {
76
+ & td,
77
+ & th {
78
+ padding: var(--#{$variable-prefix}padding-small);
79
+ }
80
+ }
81
+
82
+ @mixin make-tableHover() {
83
+ & tbody {
84
+ & tr {
85
+ &:hover {
86
+ & td,
87
+ & th {
88
+ background-color: rgba($black, 0.05);
89
+ }
90
+ }
91
+ }
92
+ }
93
+ }
@@ -0,0 +1,7 @@
1
+ @mixin make-wrap-overflow() {
2
+ display: block;
3
+ width: 100%;
4
+ overflow-x: auto;
5
+ -webkit-overflow-scrolling: touch;
6
+ position: static !important;
7
+ }
@@ -0,0 +1,47 @@
1
+ .alert {
2
+ --#{$variable-prefix}background-color: #{tint-color($body-color, 87.5%)};
3
+ --#{$variable-prefix}color: #{$body-color};
4
+ --#{$variable-prefix}link-color: #{$link-color};
5
+ --#{$variable-prefix}link-color-hover: #{$link-color-hover};
6
+
7
+ border: 1px solid rgba($black, 0.12);
8
+ margin-bottom: $spacer;
9
+ padding: $spacer;
10
+ border-radius: $border-radius-medium;
11
+ background-color: var(--#{$variable-prefix}background-color);
12
+ color: var(--#{$variable-prefix}color);
13
+ position: relative;
14
+
15
+ & > * {
16
+ &:last-child {
17
+ --margin-bottom: 0;
18
+ }
19
+ }
20
+
21
+ & a:not(.button) {
22
+ font-weight: bolder;
23
+ color: var(--#{$variable-prefix}link-color);
24
+
25
+ &:hover {
26
+ color: var(--#{$variable-prefix}link-color-hover);
27
+ }
28
+ }
29
+ }
30
+
31
+ @each $key, $value in $colors {
32
+ .alert--#{$key} {
33
+ --#{$variable-prefix}background-color: #{$value};
34
+ --#{$variable-prefix}color: #{shade-color($value, 75%)};
35
+ --#{$variable-prefix}link-color: #{shade-color($value, 75%)};
36
+ --#{$variable-prefix}link-color-hover: #{shade-color($value, 50%)};
37
+ }
38
+ }
39
+
40
+ @each $key, $value in $theme-colors {
41
+ .alert--#{$key} {
42
+ --#{$variable-prefix}background-color: #{$value};
43
+ --#{$variable-prefix}color: #{shade-color($value, 75%)};
44
+ --#{$variable-prefix}link-color: #{shade-color($value, 75%)};
45
+ --#{$variable-prefix}link-color-hover: #{shade-color($value, 50%)};
46
+ }
47
+ }