@castlabs/ui 4.18.2

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 (140) hide show
  1. package/README.md +94 -0
  2. package/dist/assets/castlabs-logo.svg +2 -0
  3. package/dist/assets/cookie.svg +1 -0
  4. package/dist/castlabs-ui-editor.common.js +23189 -0
  5. package/dist/castlabs-ui-editor.common.js.map +1 -0
  6. package/dist/castlabs-ui-editor.css +1 -0
  7. package/dist/castlabs-ui-editor.umd.js +23208 -0
  8. package/dist/castlabs-ui-editor.umd.js.map +1 -0
  9. package/dist/castlabs-ui-editor.umd.min.js +10 -0
  10. package/dist/castlabs-ui-editor.umd.min.js.map +1 -0
  11. package/dist/castlabs-ui.common.js +6828 -0
  12. package/dist/castlabs-ui.common.js.map +1 -0
  13. package/dist/castlabs-ui.core.js +1031 -0
  14. package/dist/castlabs-ui.css +12 -0
  15. package/dist/castlabs-ui.module.d.ts +83 -0
  16. package/dist/castlabs-ui.module.js +1031 -0
  17. package/dist/castlabs-ui.umd.js +6847 -0
  18. package/dist/castlabs-ui.umd.js.map +1 -0
  19. package/dist/castlabs-ui.umd.min.js +8 -0
  20. package/dist/castlabs-ui.umd.min.js.map +1 -0
  21. package/dist/demo.html +1 -0
  22. package/dist/favicon/192.png +0 -0
  23. package/dist/favicon/512.png +0 -0
  24. package/dist/favicon/apple-touch-icon.png +0 -0
  25. package/dist/favicon/favicon-unread.svg +75 -0
  26. package/dist/favicon/favicon.ico +0 -0
  27. package/dist/favicon/favicon.svg +43 -0
  28. package/dist/favicon/manifest.webmanifest +6 -0
  29. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCCwR26eg.f31394d2.woff2 +0 -0
  30. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCFwR26eg.00073a59.woff2 +0 -0
  31. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCGwR0.faa92a75.woff2 +0 -0
  32. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCIwR26eg.f8e38fba.woff2 +0 -0
  33. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCJwR26eg.f1d5cd16.woff2 +0 -0
  34. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCKwR26eg.ebbe259f.woff2 +0 -0
  35. package/dist/fonts/BngRUXNETWXI6LwhGYvaxZikqbCLwR26eg.e3d460d0.woff2 +0 -0
  36. package/dist/fonts/fa-brands-400.18993be8.woff2 +0 -0
  37. package/dist/fonts/fa-regular-400.e45bb696.woff2 +0 -0
  38. package/dist/fonts/fa-solid-900.16e3d2f0.woff2 +0 -0
  39. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0Udc1UAw.6de93dc1.woff2 +0 -0
  40. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0Wdc1UAw.55c9461f.woff2 +0 -0
  41. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0Xdc1UAw.111f8c99.woff2 +0 -0
  42. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0Zdc0.92257a03.woff2 +0 -0
  43. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0adc1UAw.1844ded3.woff2 +0 -0
  44. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0bdc1UAw.719267ea.woff2 +0 -0
  45. package/dist/fonts/mem6YaGs126MiZpBA-UFUK0ddc1UAw.037dea2d.woff2 +0 -0
  46. package/dist/fonts/mem8YaGs126MiZpBA-UFUZ0bbck.6869bd80.woff2 +0 -0
  47. package/dist/fonts/mem8YaGs126MiZpBA-UFV50bbck.05a41692.woff2 +0 -0
  48. package/dist/fonts/mem8YaGs126MiZpBA-UFVZ0b.38ffdf27.woff2 +0 -0
  49. package/dist/fonts/mem8YaGs126MiZpBA-UFVp0bbck.f12c0c2c.woff2 +0 -0
  50. package/dist/fonts/mem8YaGs126MiZpBA-UFW50bbck.03f14837.woff2 +0 -0
  51. package/dist/fonts/mem8YaGs126MiZpBA-UFWJ0bbck.abcca84a.woff2 +0 -0
  52. package/dist/fonts/mem8YaGs126MiZpBA-UFWp0bbck.4d1e267c.woff2 +0 -0
  53. package/package.json +71 -0
  54. package/plugins/uid/index.js +16 -0
  55. package/plugins/uid/index.ts +16 -0
  56. package/src/assets/castlabs-logo.svg +2 -0
  57. package/src/assets/cookie.svg +1 -0
  58. package/src/components/ClAlert/style.scss +117 -0
  59. package/src/components/ClBadge/style.scss +122 -0
  60. package/src/components/ClButton/style.scss +338 -0
  61. package/src/components/ClCard/style.scss +61 -0
  62. package/src/components/ClCard/style.variables.scss +179 -0
  63. package/src/components/ClDropdown/style.scss +272 -0
  64. package/src/components/ClDropzone/style.scss +21 -0
  65. package/src/components/ClFooter/style.scss +119 -0
  66. package/src/components/ClIcon/style.scss +58 -0
  67. package/src/components/ClIconotron/style.scss +86 -0
  68. package/src/components/ClList/style.scss +93 -0
  69. package/src/components/ClList/style.variables.scss +133 -0
  70. package/src/components/ClListGroup/style.scss +9 -0
  71. package/src/components/ClPagination/style.scss +123 -0
  72. package/src/components/ClProgress/style.scss +49 -0
  73. package/src/components/ClScrollbar/style.scss +14 -0
  74. package/src/components/ClSpinner/style.scss +26 -0
  75. package/src/components/ClTabs/style.scss +90 -0
  76. package/src/components/ClToggle/style.scss +97 -0
  77. package/src/components/ClTooltip/style.scss +46 -0
  78. package/src/components/ClWizard/style.scss +173 -0
  79. package/src/components/form/ClField/style.scss +45 -0
  80. package/src/components/form/ClFieldCheck/style.scss +99 -0
  81. package/src/components/form/ClFieldFile/style.scss +71 -0
  82. package/src/components/form/ClFieldGroup/style.scss +73 -0
  83. package/src/components/form/ClFieldInput/style.scss +118 -0
  84. package/src/components/form/ClFieldSelect/style.scss +39 -0
  85. package/src/components/form/ClFieldSet/style.scss +16 -0
  86. package/src/components/form/ClForm/style.scss +87 -0
  87. package/src/components/modal/ClModal/style.scss +138 -0
  88. package/src/components/navigation/ClNavSide/ClNavDrawer/style.scss +444 -0
  89. package/src/components/navigation/ClNavSide/ClNavSideMenu/style.scss +51 -0
  90. package/src/components/navigation/ClNavSide/style.scss +81 -0
  91. package/src/components/navigation/ClNavTop/style.scss +305 -0
  92. package/src/components/section/ClSectionHeadline/style.scss +49 -0
  93. package/src/components/section/ClSectionMainSide/style.scss +60 -0
  94. package/src/components/table/ClTable/style.scss +23 -0
  95. package/src/components/table/ClTable/style.variables.scss +155 -0
  96. package/src/components/table/ClTableCel/Actions/style.scss +11 -0
  97. package/src/components/table/ClTableCel/Audit/style.scss +26 -0
  98. package/src/components/table/ClTableCel/Boolean/style.scss +12 -0
  99. package/src/components/table/ClTableCel/Checkbox/style.scss +18 -0
  100. package/src/components/table/ClTableCel/Code/style.scss +13 -0
  101. package/src/components/table/ClTableCel/Currency/style.scss +9 -0
  102. package/src/components/table/ClTableCel/Date/style.scss +12 -0
  103. package/src/components/table/ClTableCel/ID/style.scss +16 -0
  104. package/src/components/table/ClTableCel/Links/style.scss +44 -0
  105. package/src/components/table/ClTableCel/style.scss +7 -0
  106. package/src/components/table/ClTableCel/style.variables.scss +25 -0
  107. package/src/components/table/ClTableFootChecked/style.scss +2 -0
  108. package/src/components/table/ClTableHead/style.scss +36 -0
  109. package/src/components/text/ClCopy/style.scss +42 -0
  110. package/src/components/text/ClHashtag/style.scss +31 -0
  111. package/src/components/text/ClLinkExternal/style.scss +147 -0
  112. package/src/components/text/ClOrg/style.scss +40 -0
  113. package/src/components/text/ClPlan/style.scss +35 -0
  114. package/src/components/text/ClRole/style.scss +39 -0
  115. package/src/components/widget/ClBackCancelOk/style.scss +3 -0
  116. package/src/components/widget/ClCookieBanner/style.scss +40 -0
  117. package/src/components/widget/ClPage/style.scss +11 -0
  118. package/src/fonts/FontAwesome5/FontAwesome5.scss +6121 -0
  119. package/src/fonts/NotoSansMono/NotoSansMono.scss +82 -0
  120. package/src/fonts/OpenSansVariable/OpenSansVariable.scss +183 -0
  121. package/src/styles/_global.scss +70 -0
  122. package/src/styles/abstracts/color.scss +127 -0
  123. package/src/styles/abstracts/layer.scss +10 -0
  124. package/src/styles/abstracts/spacing.scss +35 -0
  125. package/src/styles/abstracts/tools.scss +117 -0
  126. package/src/styles/assets/logo.scss +22 -0
  127. package/src/styles/components/button.variables.scss +18 -0
  128. package/src/styles/components/form.variables.scss +51 -0
  129. package/src/styles/layout/animation.scss +39 -0
  130. package/src/styles/layout/grid.scss +144 -0
  131. package/src/styles/layout/grid.variables.scss +50 -0
  132. package/src/styles/layout/section.scss +90 -0
  133. package/src/styles/layout/spacing.scss +295 -0
  134. package/src/styles/layout/typography.scss +321 -0
  135. package/src/styles/layout/typography.variables.scss +363 -0
  136. package/src/styles/ui.scss +98 -0
  137. package/src/styles/vendors/bootstrap.scss +28 -0
  138. package/src/styles/vendors/castlabs.scss +17 -0
  139. package/types/castlabs-ui.module.d.ts +83 -0
  140. package/types/index.d.ts +140 -0
@@ -0,0 +1,338 @@
1
+ ////
2
+ /// @group components
3
+ /// @access public
4
+ ////
5
+
6
+ // This file adds & customizes bootstrap's buttons.
7
+
8
+ @import 'bootstrap/scss/buttons';
9
+
10
+ $button-disabled-color: $color-ci-silver;
11
+
12
+ // custom outline colors for bootstrap buttons
13
+ @mixin button-outline-variant-cl($color, $background) {
14
+ @include button-variant(
15
+ // background - border - text
16
+ $background,
17
+ $color,
18
+ $color,
19
+ $background,
20
+ $color,
21
+ $color,
22
+ $background,
23
+ $color,
24
+ $color
25
+ );
26
+
27
+ // our focus (tab'ed) buttons are outline
28
+ .btn-check:focus + &,
29
+ &:focus {
30
+ background-color: $background;
31
+ border-color: $color;
32
+ color: $color;
33
+ }
34
+
35
+ // our active (mouse-down) buttons don't look different
36
+ .btn-check:checked + &,
37
+ .btn-check:active + &,
38
+ &:active,
39
+ &.active,
40
+ .show > &.dropdown-toggle {
41
+ background-color: $background;
42
+ border-color: $color;
43
+ color: $color;
44
+ }
45
+ }
46
+
47
+ .btn {
48
+ @extend %p-nav;
49
+
50
+ @include button-variant(
51
+ transparent,
52
+ transparent,
53
+ $color-text,
54
+ transparent,
55
+ transparent,
56
+ $color-text,
57
+ transparent,
58
+ transparent,
59
+ $color-text
60
+ );
61
+ @include button-focus-outline($color-text);
62
+
63
+ & {
64
+ background-image: none;
65
+ border-width: 2px;
66
+ font-weight: 600; // repeat as @include overrides
67
+ line-height: 1em; // repeat as @include overrides
68
+ min-width: 8em;
69
+ opacity: 1;
70
+ overflow: hidden;
71
+ padding: px(12) px(18);
72
+ transition: opacity 0.15s;
73
+ white-space: nowrap;
74
+ }
75
+
76
+ &.cl-btn-icon {
77
+ min-width: 0;
78
+ }
79
+
80
+ &:hover {
81
+ opacity: $button-hover-opacity;
82
+ }
83
+
84
+ &:disabled,
85
+ &.disabled {
86
+ background-color: transparent !important; // sass-lint:disable-line no-important
87
+ border-color: transparent !important; // sass-lint:disable-line no-important
88
+ color: $button-disabled-color !important; // sass-lint:disable-line no-important
89
+ cursor: not-allowed;
90
+ opacity: 1 !important; // sass-lint:disable-line no-important
91
+ pointer-events: initial;
92
+ }
93
+
94
+ i {
95
+ margin-left: 0.5em;
96
+ margin-right: 0.5em;
97
+
98
+ &:first-child {
99
+ margin-left: 0;
100
+ }
101
+
102
+ &:last-child {
103
+ margin-right: 0;
104
+ }
105
+ }
106
+
107
+ &-xs {
108
+ font-size: 0.5em;
109
+ }
110
+
111
+ &.btn-sm {
112
+ font-size: px(14);
113
+ line-height: px(14);
114
+ min-width: 0;
115
+ padding: $spacing-tiny $spacing-small;
116
+
117
+ .fa {
118
+ line-height: px(14);
119
+ }
120
+ }
121
+ }
122
+
123
+ %cl-btn-text,
124
+ .cl-btn-text {
125
+ @include button-variant(
126
+ $color-ci-silver,
127
+ $color-ci-silver,
128
+ $color-ci-white,
129
+ $color-ci-silver,
130
+ $color-ci-silver,
131
+ $color-ci-white,
132
+ $color-ci-silver,
133
+ $color-ci-silver,
134
+ $color-ci-white
135
+ );
136
+ @include button-focus-outline($color-ci-silver);
137
+
138
+ &:disabled,
139
+ &.disabled {
140
+ border-color: $button-disabled-color !important; // sass-lint:disable-line no-important
141
+ }
142
+ }
143
+
144
+ %cl-btn-primary,
145
+ .cl-btn-primary {
146
+ @include button-variant(
147
+ $color-primary,
148
+ $color-primary,
149
+ $color-ci-white,
150
+ $color-primary,
151
+ $color-primary,
152
+ $color-ci-white,
153
+ $color-primary,
154
+ $color-primary,
155
+ $color-ci-white
156
+ );
157
+ @include button-focus-outline($color-primary);
158
+
159
+ &:disabled,
160
+ &.disabled {
161
+ border-color: $button-disabled-color !important; // sass-lint:disable-line no-important
162
+ }
163
+ }
164
+
165
+ %cl-btn-outline-primary,
166
+ .cl-btn-outline-primary {
167
+ @include button-outline-variant-cl($color-primary, transparent);
168
+ @include button-focus-outline($color-primary);
169
+
170
+ &:disabled,
171
+ &.disabled {
172
+ border-color: $button-disabled-color !important; // sass-lint:disable-line no-important
173
+ }
174
+ }
175
+
176
+ %cl-btn-outline-text,
177
+ .cl-btn-outline-text {
178
+ @include button-outline-variant-cl($color-text, transparent);
179
+ @include button-focus-outline($color-text);
180
+
181
+ &:disabled,
182
+ &.disabled {
183
+ border-color: $button-disabled-color !important; // sass-lint:disable-line no-important
184
+ }
185
+ }
186
+
187
+ .cl-btn-outline-blue {
188
+ @include button-outline-variant-cl($color-ci-blue, transparent);
189
+ @include button-focus-outline($color-ci-blue);
190
+
191
+ &:disabled,
192
+ &.disabled {
193
+ border-color: $button-disabled-color !important; // sass-lint:disable-line no-important
194
+ }
195
+ }
196
+
197
+ .cl-btn-quickaction {
198
+ @extend %cl-a-btn;
199
+
200
+ @include typography-links($color-text, $color-text, 0);
201
+
202
+ & {
203
+ border: 0;
204
+ line-height: 1;
205
+ margin-left: $spacing-tiny;
206
+ min-width: 0;
207
+ padding: 0;
208
+ }
209
+
210
+ &:not(:hover) {
211
+ color: $color-ci-silver;
212
+ }
213
+ }
214
+
215
+ .cl-btn-a {
216
+ // button styled as regular link
217
+ @include cl-btn-a(27);
218
+ }
219
+
220
+ .cl-btn-ghost {
221
+ // an accessible, invisible button that can trigger clicks
222
+ @include button-focus-outline($color-text);
223
+
224
+ & {
225
+ background: transparent;
226
+ border: 0;
227
+ color: unset;
228
+ cursor: pointer;
229
+ font-size: unset;
230
+ font-style: unset;
231
+ font-weight: unset;
232
+ letter-spacing: unset;
233
+ margin: 0;
234
+ min-width: unset;
235
+ padding: 0;
236
+ text-transform: unset;
237
+ width: unset;
238
+ }
239
+ }
240
+
241
+ .btn,
242
+ .btn:hover {
243
+ background-image: none; // remove our link underlines
244
+ }
245
+
246
+ .box {
247
+ // compensate margin that the elements
248
+ margin-bottom: -$spacing-small;
249
+ margin-right: -$spacing-small;
250
+
251
+ > * {
252
+ margin: $spacing-small $spacing-small $spacing-small 0;
253
+ }
254
+ }
255
+
256
+ .cl-section-primary {
257
+ .cl-btn-outline-text {
258
+ @include button-outline-variant-cl($color-ci-white, transparent);
259
+ @include button-focus-outline($color-ci-white);
260
+ }
261
+
262
+ .cl-btn-primary {
263
+ @include button-variant(
264
+ $color-ci-white,
265
+ $color-ci-white,
266
+ $color-primary,
267
+ $color-ci-white,
268
+ $color-ci-white,
269
+ $color-primary,
270
+ $color-ci-white,
271
+ $color-ci-white,
272
+ $color-primary
273
+ );
274
+ @include button-focus-outline($color-ci-white);
275
+ }
276
+ }
277
+
278
+ .btn.cl-btn-micro {
279
+ @extend %p-tiny;
280
+
281
+ color: inherit;
282
+ font-size: px(10);
283
+ letter-spacing: 0.5px;
284
+ min-width: 0;
285
+ overflow: hidden;
286
+ padding: 0 $spacing-micro;
287
+
288
+ &.cl-btn-primary,
289
+ &.cl-btn-text {
290
+ color: $color-white-100;
291
+ }
292
+
293
+ &.cl-btn-outline-primary {
294
+ color: $color-primary;
295
+ }
296
+ }
297
+
298
+ // --- spinner buttons ---------------------------------------------------------
299
+
300
+ @keyframes cl-btn-spinner-spin {
301
+ 0% {
302
+ transform: translateY(-50%) rotate(0deg);
303
+ }
304
+
305
+ 100% {
306
+ transform: translateY(-50%) rotate(360deg);
307
+ }
308
+ }
309
+
310
+ .cl-btn-spinner {
311
+ pointer-events: none;
312
+ position: relative;
313
+
314
+ > * {
315
+ visibility: hidden;
316
+ }
317
+
318
+ &::before {
319
+ @include cl-fontawesome('\f110');
320
+
321
+ & {
322
+ animation: cl-btn-spinner-spin 2s linear infinite;
323
+ display: block;
324
+ left: 0;
325
+ position: absolute;
326
+ right: 0;
327
+ top: 50%;
328
+ }
329
+ }
330
+ }
331
+
332
+ // --- responsive tweaks -------------------------------------------------------
333
+
334
+ .btn:not(.cl-btn-micro, .cl-btn-quickaction) {
335
+ @include media-breakpoint-down(sm) {
336
+ width: 100%;
337
+ }
338
+ }
@@ -0,0 +1,61 @@
1
+ ////
2
+ /// @group components
3
+ /// @access public
4
+ ////
5
+
6
+ // This file adds & customizes bootstrap's cards.
7
+
8
+ @import 'bootstrap/scss/card';
9
+ @import 'style.variables';
10
+
11
+ .card {
12
+ @extend %cl-card;
13
+ }
14
+
15
+ .card.cl-card-max {
16
+ height: 100%; // cards in responsive grid colums should have full height
17
+ margin-top: 0;
18
+ }
19
+
20
+ details.card {
21
+ // collapsible cards
22
+ summary {
23
+ list-style: none;
24
+
25
+ &::after {
26
+ @include cl-fontawesome('\f078'); // chevron-down
27
+
28
+ & {
29
+ align-items: center;
30
+ background-color: var(--element-bg-color);
31
+ box-shadow: -8px 0 4px var(--element-bg-color);
32
+ color: $color-ci-silver;
33
+ display: flex;
34
+ height: 100%;
35
+ justify-content: flex-start;
36
+ position: absolute;
37
+ right: $card-spacing;
38
+ top: 0;
39
+ }
40
+ }
41
+
42
+ &:focus {
43
+ @include color-focus-outline;
44
+ }
45
+ }
46
+
47
+ > summary::marker,
48
+ > summary::-webkit-details-marker {
49
+ display: none;
50
+ }
51
+
52
+ &[open] {
53
+ summary::after {
54
+ content: '\f077'; // chevron-up
55
+ }
56
+ }
57
+ }
58
+
59
+ .card.cl-card-tight {
60
+ @extend %cl-card-tight;
61
+ }
@@ -0,0 +1,179 @@
1
+ ////
2
+ /// @group components
3
+ /// @access public
4
+ ////
5
+
6
+ // This file adds & customizes bootstrap's cards.
7
+
8
+ $card-spacing: px(20);
9
+ $card-color-fg: $color-ci-dim;
10
+ $card-color-bg: $color-ci-haze;
11
+ $card-border-radius: $border-ui-radius;
12
+ $card-border-color: $color-ci-white;
13
+ $card-border-width: 2px;
14
+ $card-spacing: px(20);
15
+ $card-spacing-tight: $spacing-small;
16
+
17
+ %cl-card {
18
+ @include color-shadow-3d;
19
+
20
+ background-color: $card-color-bg;
21
+ border: 0;
22
+ color: $card-color-fg;
23
+ margin-top: $spacing-small;
24
+
25
+ &.cl-card-oversized {
26
+ @include media-breakpoint-up(sm) {
27
+ margin-left: -$card-spacing;
28
+ margin-right: -$card-spacing;
29
+ }
30
+ }
31
+
32
+ .card-header {
33
+ @extend %h3;
34
+
35
+ background-color: $color-secondary;
36
+ border-color: $card-border-color;
37
+ border-width: 0;
38
+ color: $color-ci-white;
39
+ padding: $spacing-small * 0.75 $card-spacing;
40
+ position: relative;
41
+ }
42
+
43
+ &.cl-card-primary .card-header {
44
+ background-color: $color-primary;
45
+ }
46
+
47
+ &.cl-card-secondary .card-header {
48
+ background-color: $color-secondary;
49
+ }
50
+
51
+ &.cl-card-dark .card-header {
52
+ background-color: $color-dark;
53
+ }
54
+
55
+ &.cl-card-light .card-header {
56
+ background-color: $color-ci-haze;
57
+ color: $color-ci-dim;
58
+ }
59
+
60
+ .card-body {
61
+ padding: $card-spacing;
62
+
63
+ > .container {
64
+ margin-top: -$spacing-small;
65
+ }
66
+ }
67
+
68
+ .card-footer {
69
+ background-color: $card-color-bg;
70
+ border-color: $card-border-color;
71
+ border-width: $card-border-width;
72
+ color: $card-color-fg;
73
+ padding: $card-spacing;
74
+ }
75
+
76
+ > .list-group {
77
+ border-color: $card-border-color;
78
+ border-width: $card-border-width;
79
+ }
80
+
81
+ .list-group-item {
82
+ background-color: $card-color-bg;
83
+ }
84
+
85
+ .card-img,
86
+ .card-img-top {
87
+ border-radius: $card-border-radius;
88
+ }
89
+
90
+ > * {
91
+ + * {
92
+ border-top: $card-border-width solid $card-border-color;
93
+ }
94
+ }
95
+
96
+ &.cl-card-border {
97
+ // bordered cards
98
+ .card-footer,
99
+ .card-body {
100
+ border-bottom: 2px solid transparent;
101
+ border-left: 2px solid transparent;
102
+ border-right: 2px solid transparent;
103
+ border-top: 0;
104
+ }
105
+
106
+ &.cl-card-primary {
107
+ .card-footer,
108
+ .card-body {
109
+ border-color: $color-primary;
110
+ }
111
+ }
112
+
113
+ &.cl-card-secondary {
114
+ .card-footer,
115
+ .card-body {
116
+ border-color: $color-secondary;
117
+ }
118
+ }
119
+
120
+ &.cl-card-dark {
121
+ .card-footer,
122
+ .card-body {
123
+ border-color: $color-dark;
124
+ }
125
+ }
126
+
127
+ &.cl-card-light {
128
+ .card-footer,
129
+ .card-body {
130
+ border-color: $color-ci-haze;
131
+ }
132
+ }
133
+ }
134
+
135
+ .card-icon-link {
136
+ @include typography-links(inherit, inherit, 0);
137
+
138
+ & {
139
+ margin-top: -0.6em;
140
+ opacity: 0.5;
141
+ position: absolute;
142
+ right: $card-spacing;
143
+ top: 50%;
144
+ }
145
+ }
146
+
147
+ &.cl-card-transparent {
148
+ background-color: transparent;
149
+ border-color: transparent;
150
+ box-shadow: none;
151
+
152
+ .card-header,
153
+ .card-body,
154
+ .card-footer {
155
+ background-color: transparent;
156
+ border-color: transparent;
157
+ color: $color-ci-dim;
158
+ }
159
+ }
160
+
161
+ + .card {
162
+ margin-top: $spacing-medium;
163
+ }
164
+ }
165
+
166
+ %cl-card-tight {
167
+ .card-header {
168
+ @extend %p-nav;
169
+
170
+ color: $color-ci-white;
171
+ font-size: px(18);
172
+ padding-bottom: $spacing-small;
173
+ padding-top: $spacing-small;
174
+ }
175
+
176
+ &.cl-card-light .card-header {
177
+ color: $color-ci-dim;
178
+ }
179
+ }