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,29 @@
1
+ @mixin make-card() {
2
+ --background-color: var(--white);
3
+ --border-color: var(--black-transparent-12);
4
+ --border: 1px solid var(--border-color);
5
+ --border-radius: var(--border-radius-medium);
6
+
7
+ margin-bottom: var(--spacer);
8
+ background-color: var(--background-color);
9
+ border-radius: var(--border-radius);
10
+ display: flex;
11
+ flex-direction: column;
12
+ border: var(--border);
13
+ min-width: 0;
14
+ word-wrap: break-word;
15
+ width: 100%;
16
+ position: relative;
17
+
18
+ & > * {
19
+ &:first-child {
20
+ border-top-left-radius: calc(var(--border-radius) - 1px);
21
+ border-top-right-radius: calc(var(--border-radius) - 1px);
22
+ }
23
+
24
+ &:last-child {
25
+ border-bottom-left-radius: calc(var(--border-radius) - 1px);
26
+ border-bottom-right-radius: calc(var(--border-radius) - 1px);
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,42 @@
1
+ @import 'button.css';
2
+
3
+ @mixin make-close() {
4
+ @include make-button();
5
+
6
+ --padding: calc(var(--spacer) * 0.575);
7
+ --border-radius: var(--border-radius-round);
8
+ --border-color: var(--transparent);
9
+ --border-color-hover: var(--transparent);
10
+ --background-color: var(--black-transparent-20);
11
+ --background-color-hover: var(--black-transparent-30);
12
+ --background-color-focus: var(--black-transparent-40);
13
+ --box-shadow-active: none;
14
+ --box-shadow-focus: none;
15
+ --position: relative;
16
+ --vertical-align: text-bottom;
17
+
18
+ position: var(--position);
19
+ vertical-align: var(--vertical-align);
20
+
21
+ &::before,
22
+ &::after {
23
+ position: absolute;
24
+ display: block;
25
+ content: '';
26
+ left: 50%;
27
+ top: 50%;
28
+ background-color: var(--white);
29
+ transform-origin: center center;
30
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
31
+ }
32
+
33
+ &::before {
34
+ height: 2px;
35
+ width: 50%;
36
+ }
37
+
38
+ &::after {
39
+ width: 2px;
40
+ height: 50%;
41
+ }
42
+ }
@@ -0,0 +1,24 @@
1
+ @import "./../group.css";
2
+
3
+ @mixin make-list-unsyled() {
4
+ --list-style: none;
5
+ --margin: 0 0 var(--spacer);
6
+ --padding: 0;
7
+
8
+ list-style: var(--list-style);
9
+ margin: var(--margin);
10
+ padding: var(--padding);
11
+ }
12
+
13
+ @mixin make-list-inline() {
14
+ @include make-group-row();
15
+ @include make-list-unsyled();
16
+
17
+ --gap: var(--spacer);
18
+
19
+ & > * {
20
+ &:not(:last-child) {
21
+ margin-right: var(--gap);
22
+ }
23
+ }
24
+ }
@@ -0,0 +1,44 @@
1
+ @mixin make-pill() {
2
+ --border-width: 1px;
3
+ --border-color: var(--black-transparent-12);
4
+ --border-style: solid;
5
+ --border-radius: var(--border-radius-round);
6
+ --color: var(--body-color);
7
+ --background-color: var(--light);
8
+ --background-color-hover: color-mod(var(--light) shade(10%));
9
+ --padding: calc((var(--spacer) * 0.125) - 1px) calc(var(--spacer) * 0.25);
10
+ --line-height: 1;
11
+ --font-weight: 700;
12
+ --display: inline-flex;
13
+ --align-items: center;
14
+ --vertical-align: top;
15
+ --justify-content: center;
16
+ --text-align: center;
17
+ --white-space: nowrap;
18
+ --height: auto;
19
+ --min-width: var(--spacer);
20
+ --outline: 0;
21
+ --text-decoration: none;
22
+ --font-size: var(--font-size-small);
23
+
24
+ border-width: var(--border-width);
25
+ border-color: var(--border-color);
26
+ border-style: var(--border-style);
27
+ font-weight: var(--font-weight);
28
+ line-height: var(--line-height);
29
+ color: var(--color);
30
+ background-color: var(--background-color);
31
+ padding: var(--padding);
32
+ border-radius: var(--border-radius);
33
+ align-items: var(--align-items);
34
+ display: var(--display);
35
+ vertical-align: var(--vertical-align);
36
+ justify-content: var(--justify-content);
37
+ text-align: var(--text-align);
38
+ white-space: var(--white-space);
39
+ height: var(--height);
40
+ min-width: var(--min-width);
41
+ outline: var(--outline);
42
+ text-decoration: var(--text-decoration);
43
+ font-size: var(--font-size);
44
+ }
@@ -0,0 +1,75 @@
1
+ @mixin make-table() {
2
+ --border-color: var(--black-transparent-12);
3
+ --border-width: 1px;
4
+ --border-width-thick: 2px;
5
+ --border: var(--border-width) solid var(--border-color);
6
+ --padding: calc((var(--spacer) * 0.625) - 1px) var(--spacer);
7
+ --padding-small: calc((var(--spacer) * 0.25) - 1px) calc(var(--spacer) * 0.75);
8
+
9
+ width: 100%;
10
+
11
+ & td,
12
+ & th {
13
+ border: var(--border);
14
+ border-width: 0 0 var(--border-width);
15
+ padding: var(--padding);
16
+ vertical-align: top;
17
+ }
18
+
19
+ & thead {
20
+ & tr {
21
+ & th {
22
+ border-bottom-width: var(--border-width-thick);
23
+ }
24
+ }
25
+ }
26
+
27
+ & tfoot {
28
+ & tr {
29
+ & th {
30
+ border-top-width: var(--border-width-thick);
31
+ }
32
+ }
33
+ }
34
+ }
35
+
36
+ @mixin make-tableBordered() {
37
+ & td,
38
+ & th {
39
+ border-width: var(--border-width);
40
+ }
41
+ }
42
+
43
+ @mixin make-tableStriped() {
44
+ & tbody {
45
+ & tr {
46
+ &:nth-of-type(even) {
47
+ background-color: color-mod(var(--dark) a(4%));
48
+ }
49
+
50
+ &:nth-of-type(odd) {
51
+ background-color: color-mod(var(--light) a(4%));
52
+ }
53
+ }
54
+ }
55
+ }
56
+
57
+ @mixin make-tableSmall() {
58
+ & td,
59
+ & th {
60
+ padding: var(--padding-small);
61
+ }
62
+ }
63
+
64
+ @mixin make-tableHover() {
65
+ & tbody {
66
+ & tr {
67
+ &:hover {
68
+ & td,
69
+ & th {
70
+ background-color: var(--black-transparent-5);
71
+ }
72
+ }
73
+ }
74
+ }
75
+ }
@@ -0,0 +1,13 @@
1
+ @import './mixins/helpers/container.css';
2
+ @import './mixins/helpers/grid.css';
3
+ @import './mixins/helpers/link.css';
4
+ @import './mixins/helpers/wrap.css';
5
+ @import './mixins/modules/button.css';
6
+ @import './mixins/modules/card.css';
7
+ @import './mixins/modules/close.css';
8
+ @import './mixins/modules/list.css';
9
+ @import './mixins/modules/pill.css';
10
+ @import './mixins/modules/table.css';
11
+ @import './mixins/caret.css';
12
+ @import './mixins/clearfix.css';
13
+ @import './mixins/group.css';
@@ -0,0 +1,85 @@
1
+ .alert {
2
+ --border-color: var(--black-transparent-12);
3
+ --border: 1px solid var(--border-color);
4
+ --border-radius: var(--border-radius-medium);
5
+ --background-color: color-mod(var(--body-color) tint(87.5%));
6
+ --color: var(--body-color);
7
+ --link-color: color-mod(var(--body-color) shade(40%));
8
+ --link-color-hover: color-mod(var(--body-color) shade(30%));
9
+ --margin-bottom: var(--spacer);
10
+ --position: relative;
11
+
12
+ border: var(--border);
13
+ margin-bottom: var(--spacer);
14
+ padding: var(--spacer);
15
+ border-radius: var(--border-radius);
16
+ background-color: var(--background-color);
17
+ color: var(--color);
18
+ position: var(--position);
19
+
20
+ & > * {
21
+ &:last-child {
22
+ --margin-bottom: 0;
23
+ }
24
+ }
25
+
26
+ & a:not(.button) {
27
+ font-weight: bolder;
28
+ color: var(--link-color);
29
+
30
+ &:hover {
31
+ color: var(--link-color-hover);
32
+ }
33
+ }
34
+ }
35
+
36
+ @each $name
37
+ in (
38
+ white,
39
+ black,
40
+ light,
41
+ medium,
42
+ dark,
43
+ transparent,
44
+ primary,
45
+ primary-light,
46
+ primary-dark,
47
+ secondary,
48
+ secondary-light,
49
+ secondary-dark,
50
+ info,
51
+ info-light,
52
+ info-dark,
53
+ success,
54
+ success-light,
55
+ success-dark,
56
+ warning,
57
+ warning-light,
58
+ warning-dark,
59
+ danger,
60
+ danger-light,
61
+ danger-dark,
62
+ gray-1,
63
+ gray-2,
64
+ gray-3,
65
+ gray-4,
66
+ gray-5,
67
+ gray-6,
68
+ gray-7,
69
+ gray-8,
70
+ gray-9
71
+ )
72
+ {
73
+ .alert--$(name) {
74
+ --background-color: var(--#{$name});
75
+ --color: color-mod(var(--#{$name}) shade(75%));
76
+ --link-color: color-mod(var(--#{$name}) shade(75%));
77
+ --link-color-hover: color-mod(var(--#{$name}) shade(50%));
78
+
79
+ &.is-dark {
80
+ --color: color-mod(var(--#{$name}) tint(75%));
81
+ --link-color: color-mod(var(--#{$name}) tint(75%));
82
+ --link-color-hover: color-mod(var(--#{$name}) tint(90%));
83
+ }
84
+ }
85
+ }
@@ -0,0 +1,41 @@
1
+ @import '../mixins/modules/list.css';
2
+
3
+ .breadcrumbs {
4
+ @include make-list-unsyled();
5
+
6
+ --color: var(--medium);
7
+ --link-color: var(--color);
8
+ --link-color-hover: color-mod(var(--link-color) shade(15%));
9
+
10
+ display: flex;
11
+ flex-wrap: wrap;
12
+
13
+ & li {
14
+ position: relative;
15
+
16
+ &:not(:last-child) {
17
+ color: var(--color);
18
+ padding-right: var(--spacer);
19
+
20
+ &::after {
21
+ content: '';
22
+ position: absolute;
23
+ width: calc(var(--spacer) * 0.5);
24
+ height: calc(var(--spacer) * 0.5);
25
+ right: calc(var(--spacer) * 0.375);
26
+ top: calc(var(--spacer) * 0.5);
27
+ border-top: 1px solid var(--color);
28
+ border-right: 1px solid var(--color);
29
+ transform: rotate(45deg);
30
+ }
31
+ }
32
+
33
+ & a {
34
+ color: var(--link-color);
35
+
36
+ &:hover {
37
+ color: var(--link-color-hover);
38
+ }
39
+ }
40
+ }
41
+ }
@@ -0,0 +1,151 @@
1
+ @import '../mixins/group.css';
2
+ @import '../mixins/modules/button.css';
3
+
4
+ .button {
5
+ @include make-button();
6
+
7
+ &.button--small {
8
+ --padding: calc((var(--spacer) * 0.25) - 1px) calc(var(--spacer) * 0.75);
9
+ --font-size: var(--font-size-small);
10
+ }
11
+
12
+ &.button--large {
13
+ --padding: calc((var(--spacer) * 0.5) - 1px) calc(var(--spacer) * 1.75);
14
+ --font-size: var(--font-size-5);
15
+ }
16
+
17
+ &.button--rounded {
18
+ --border-radius: var(--border-radius-round);
19
+ }
20
+
21
+ &.button--square {
22
+ --border-radius: 0;
23
+ }
24
+
25
+ &.button--outline {
26
+ --background-color: var(--transparent);
27
+ }
28
+
29
+ &.button--link {
30
+ --border-color: var(--transparent);
31
+ --border-color-hover: var(--transparent);
32
+ --background-color: var(--transparent);
33
+ --background-color-hover: var(--black-transparent-7);
34
+ --box-shadow-active: none;
35
+ --box-shadow-focus: none;
36
+ }
37
+
38
+ &.button--unstyled {
39
+ --border-color: var(--transparent);
40
+ --border-color-hover: var(--transparent);
41
+ --background-color: var(--transparent);
42
+ --background-color-hover: var(--transparent);
43
+ --background-color-focus: var(--transparent);
44
+ --box-shadow-active: none;
45
+ --box-shadow-focus: none;
46
+ --padding: 0;
47
+ }
48
+
49
+ &.disabled,
50
+ &[disabled] {
51
+ --pointer-events: none;
52
+ --opacity: 0.5;
53
+ }
54
+ }
55
+
56
+ .buttons {
57
+ @include make-group-row();
58
+
59
+ & .buttons {
60
+ margin-bottom: 0;
61
+ }
62
+
63
+ &.buttons--grouped {
64
+ @include make-grouped-row();
65
+ }
66
+ }
67
+
68
+ @each $name
69
+ in (
70
+ white,
71
+ black,
72
+ light,
73
+ medium,
74
+ dark,
75
+ transparent,
76
+ primary,
77
+ primary-light,
78
+ primary-dark,
79
+ secondary,
80
+ secondary-light,
81
+ secondary-dark,
82
+ info,
83
+ info-light,
84
+ info-dark,
85
+ success,
86
+ success-light,
87
+ success-dark,
88
+ warning,
89
+ warning-light,
90
+ warning-dark,
91
+ danger,
92
+ danger-light,
93
+ danger-dark,
94
+ gray-1,
95
+ gray-2,
96
+ gray-3,
97
+ gray-4,
98
+ gray-5,
99
+ gray-6,
100
+ gray-7,
101
+ gray-8,
102
+ gray-9
103
+ )
104
+ {
105
+ .button--$(name) {
106
+ --color: color-mod(var(--#{$name}) tint(85%));
107
+ --color-hover: color-mod(var(--#{$name}) tint(85%));
108
+ --color-focus: color-mod(var(--#{$name}) tint(85%));
109
+ --background-color: var(--#{$name});
110
+ --background-color-hover: color-mod(var(--#{$name}) shade(10%));
111
+ --background-color-focus: color-mod(var(--#{$name}) shade(15%));
112
+ --shadow-color-active: color-mod(var(--#{$name}) a(35%));
113
+ --shadow-color-focus: color-mod(var(--#{$name}) a(30%));
114
+
115
+ &.is-light {
116
+ --color: color-mod(var(--#{$name}) shade(75%));
117
+ --color-hover: color-mod(var(--#{$name}) shade(90%));
118
+ }
119
+
120
+ &.button--link {
121
+ --color: var(--#{$name});
122
+ --color-hover: color-mod(var(--#{$name}) shade(15%));
123
+ --color-focus: color-mod(var(--#{$name}) shade(15%));
124
+ --background-color: var(--transparent);
125
+ --background-color-hover: color-mod(var(--#{$name}) a(10%));
126
+ --background-color-focus: color-mod(var(--#{$name}) a(15%));
127
+ --border-color: var(--transparent);
128
+ --shadow-color-active: var(--transparent);
129
+ --shadow-color-focus: var(--transparent);
130
+ }
131
+
132
+ &.button--unstyled {
133
+ --color: var(--#{$name});
134
+ --color-hover: color-mod(var(--#{$name}) shade(15%));
135
+ --color-focus: color-mod(var(--#{$name}) shade(15%));
136
+ --background-color: var(--transparent);
137
+ --background-color-hover: var(--transparent);
138
+ --background-color-focus: var(--transparent);
139
+ --border-color: var(--transparent);
140
+ --shadow-color-active: var(--transparent);
141
+ --shadow-color-focus: var(--transparent);
142
+ }
143
+
144
+ &.button--outline {
145
+ --color: var(--#{$name});
146
+ --color-focus: var(--white);
147
+ --border-color: var(--#{$name});
148
+ --background-color-hover: var(--#{$name});
149
+ }
150
+ }
151
+ }
@@ -0,0 +1,80 @@
1
+ @import '../mixins/group.css';
2
+ @import '../mixins/modules/card.css';
3
+
4
+ .card {
5
+ @include make-card();
6
+
7
+ & .card--header,
8
+ & .card--footer {
9
+ --display: flex;
10
+ --flex-direction: row;
11
+ --flex-wrap: wrap;
12
+ --align-items: normal;
13
+ --padding: calc(var(--spacer) * 0.5) var(--spacer);
14
+
15
+ display: var(--display);
16
+ flex-direction: var(--flex-direction);
17
+ flex-wrap: var(--flex-wrap);
18
+ align-items: var(--align-items);
19
+ padding: var(--padding);
20
+
21
+ & > * {
22
+ margin-bottom: 0;
23
+ }
24
+ }
25
+
26
+ & .card--header {
27
+ flex: 0 1 auto;
28
+ border-bottom: var(--border);
29
+ }
30
+
31
+ & .card--footer {
32
+ margin-top: auto;
33
+ flex: 0 0 auto;
34
+ border-top: var(--border);
35
+ }
36
+
37
+ & .card--body {
38
+ flex: 0 0 auto;
39
+ width: 100%;
40
+ padding: var(--spacer);
41
+
42
+ & > *:last-child:not(.grid--form) {
43
+ margin-bottom: 0;
44
+ }
45
+ }
46
+
47
+ & .card--image {
48
+ flex: 1 0 100%;
49
+ overflow: hidden;
50
+
51
+ & img {
52
+ width: 100%;
53
+ height: auto;
54
+ }
55
+ }
56
+ }
57
+
58
+ details.card {
59
+ & .card--header {
60
+ border-bottom-color: var(--transparent);
61
+
62
+ &:hover {
63
+ background-color: var(--black-transparent-5);
64
+ }
65
+ }
66
+
67
+ &[open] {
68
+ & .card--header {
69
+ border-bottom-color: var(--border-color);
70
+ }
71
+ }
72
+ }
73
+
74
+ .cards {
75
+ @include make-group-column();
76
+
77
+ &.cards--grouped {
78
+ @include make-grouped-column();
79
+ }
80
+ }
@@ -0,0 +1,5 @@
1
+ @import './../mixins/modules/close.css';
2
+
3
+ .close {
4
+ @include make-close();
5
+ }
@@ -0,0 +1,61 @@
1
+ details {
2
+ margin-bottom: var(--spacer);
3
+
4
+ & summary {
5
+ position: relative;
6
+ list-style-image: none;
7
+ list-style: none;
8
+ padding-left: calc(var(--spacer) * 1.5);
9
+
10
+ &:focus {
11
+ outline: none;
12
+ }
13
+
14
+ &::before {
15
+ pointer-events: none;
16
+ outline: none;
17
+ transform: none;
18
+ position: absolute;
19
+ content: '';
20
+ left: 0;
21
+ top: calc(50% - 0.125em);
22
+ width: 0;
23
+ height: 0;
24
+ border-left: 0.25em solid var(--transparent);
25
+ border-right: 0.25em solid var(--transparent);
26
+ border-top: 0.25em solid var(--primary);
27
+ border-bottom: 0 none;
28
+ pointer-events: none;
29
+ }
30
+
31
+ &::marker {
32
+ color: var(--transparent);
33
+ display: none;
34
+ }
35
+
36
+ &::-webkit-details-marker {
37
+ display: none;
38
+ }
39
+
40
+ &.card--header {
41
+ padding-left: calc(var(--spacer) * 2) !important;
42
+
43
+ &::before {
44
+ left: calc(var(--spacer) * 0.75);
45
+ }
46
+ }
47
+ }
48
+
49
+ &[open] {
50
+ height: auto;
51
+
52
+ & summary {
53
+ &::before {
54
+ border-left: 0.25em solid var(--transparent);
55
+ border-right: 0.25em solid var(--transparent);
56
+ border-bottom: 0.25em solid var(--primary);
57
+ border-top: 0 none;
58
+ }
59
+ }
60
+ }
61
+ }