@cdc/core 1.1.4 → 4.22.11

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 (138) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +1 -1
  3. package/assets/filtered-text.svg +1 -0
  4. package/assets/icon-caret-down.svg +3 -0
  5. package/assets/icon-caret-filled-down.svg +3 -0
  6. package/assets/icon-caret-filled-up.svg +3 -0
  7. package/assets/icon-caret-up.svg +3 -0
  8. package/assets/icon-chart-bar-paired.svg +15 -0
  9. package/assets/icon-chart-bar-stacked.svg +10 -0
  10. package/assets/icon-chart-bar.svg +3 -0
  11. package/assets/icon-chart-line.svg +3 -0
  12. package/assets/icon-chart-pie.svg +3 -0
  13. package/assets/icon-check.svg +3 -0
  14. package/assets/icon-close.svg +3 -1
  15. package/assets/icon-code.svg +2 -2
  16. package/assets/icon-dashboard.svg +34 -0
  17. package/assets/icon-databite.svg +3 -0
  18. package/assets/icon-edit.svg +3 -0
  19. package/assets/icon-file-upload.svg +3 -0
  20. package/assets/icon-filter-bars.svg +5 -0
  21. package/assets/icon-gear.svg +6 -0
  22. package/assets/icon-grid.svg +2 -3
  23. package/assets/icon-info.svg +1 -1
  24. package/assets/icon-link.svg +3 -0
  25. package/assets/{alabama-graphic.svg → icon-map-alabama.svg} +2 -2
  26. package/assets/icon-map-usa.svg +3 -0
  27. package/assets/icon-map-world.svg +3 -0
  28. package/assets/icon-minus.svg +3 -0
  29. package/assets/icon-move.svg +8 -0
  30. package/assets/icon-plus.svg +3 -0
  31. package/assets/icon-question-circle.svg +3 -0
  32. package/assets/icon-tools.svg +8 -0
  33. package/assets/icon-upload.svg +3 -0
  34. package/assets/icon-warning-circle.svg +3 -0
  35. package/assets/{icon-warning.svg → icon-warning-triangle.svg} +1 -1
  36. package/components/AdvancedEditor.js +52 -67
  37. package/components/{ErrorBoundary.js → ErrorBoundary.jsx} +10 -11
  38. package/components/GlobalContext.jsx +2 -6
  39. package/components/{LegendCircle.js → LegendCircle.jsx} +4 -4
  40. package/components/Loading.jsx +17 -0
  41. package/components/Waiting.jsx +20 -0
  42. package/components/elements/Button.jsx +111 -3
  43. package/components/elements/Card.jsx +13 -0
  44. package/components/inputs/InputCheckbox.jsx +43 -38
  45. package/components/inputs/InputGroup.jsx +71 -0
  46. package/components/inputs/InputSelect.jsx +28 -24
  47. package/components/inputs/InputText.jsx +20 -37
  48. package/components/inputs/InputToggle.jsx +39 -43
  49. package/components/managers/DataDesigner.jsx +194 -0
  50. package/components/ui/Accordion.jsx +18 -30
  51. package/components/ui/Icon.jsx +59 -20
  52. package/components/ui/LoadSpin.jsx +19 -0
  53. package/components/ui/Modal.jsx +40 -39
  54. package/components/ui/Overlay.jsx +15 -24
  55. package/components/ui/OverlayFrame.jsx +1 -5
  56. package/components/ui/Tooltip.jsx +20 -31
  57. package/data/colorPalettes.js +36 -227
  58. package/data/dataDesignerTables.js +148 -0
  59. package/data/themes.js +13 -13
  60. package/helpers/DataTransform.js +162 -0
  61. package/helpers/cacheBustingString.js +5 -0
  62. package/helpers/events.js +5 -6
  63. package/helpers/fetchRemoteData.js +41 -0
  64. package/helpers/getViewport.js +15 -15
  65. package/helpers/numberFromString.js +7 -7
  66. package/helpers/updatePaletteNames.js +15 -17
  67. package/helpers/useDataVizClasses.js +40 -0
  68. package/helpers/validateFipsCodeLength.js +41 -56
  69. package/package.json +3 -2
  70. package/styles/_data-table.scss +45 -40
  71. package/styles/_global.scss +41 -22
  72. package/styles/_mixins.scss +12 -12
  73. package/styles/_reset.scss +95 -16
  74. package/styles/_variables.scss +5 -5
  75. package/styles/base.scss +104 -37
  76. package/styles/heading-colors.scss +6 -2
  77. package/styles/loading.scss +62 -60
  78. package/styles/v2/base/_file-selector.scss +20 -0
  79. package/styles/v2/base/_general.scss +9 -22
  80. package/styles/v2/base/_heading.scss +20 -0
  81. package/styles/v2/base/_reset.scss +4 -3
  82. package/styles/v2/base/index.scss +7 -3
  83. package/styles/v2/components/accordion.scss +13 -13
  84. package/styles/v2/components/button.scss +29 -68
  85. package/styles/v2/components/card.scss +7 -0
  86. package/styles/v2/components/data-designer.scss +101 -0
  87. package/styles/v2/components/editor.scss +52 -50
  88. package/styles/v2/components/guidance-block.scss +74 -0
  89. package/styles/v2/components/icon.scss +0 -4
  90. package/styles/v2/components/input/_input-check-radio.scss +97 -0
  91. package/styles/v2/components/input/_input-group.scss +74 -0
  92. package/styles/v2/components/input/_input-slider.scss +183 -0
  93. package/styles/v2/components/input/_input.scss +66 -0
  94. package/styles/v2/components/input/index.scss +7 -0
  95. package/styles/v2/components/loadspin.scss +100 -0
  96. package/styles/v2/components/modal.scss +15 -8
  97. package/styles/v2/components/overlay.scss +6 -4
  98. package/styles/v2/layout/_alert.scss +15 -14
  99. package/styles/v2/layout/_component.scss +8 -1
  100. package/styles/v2/layout/_data-table.scss +78 -156
  101. package/styles/v2/layout/_progression.scss +12 -8
  102. package/styles/v2/layout/index.scss +5 -7
  103. package/styles/v2/main.scss +52 -2
  104. package/styles/v2/themes/_color-definitions.scss +103 -20
  105. package/styles/v2/themes/index.scss +1 -1
  106. package/styles/v2/utils/_align.scss +17 -0
  107. package/styles/v2/utils/_animations.scss +2 -2
  108. package/styles/v2/utils/_breakpoints.scss +59 -0
  109. package/styles/v2/utils/_grid.scss +47 -0
  110. package/styles/v2/utils/_mixins.scss +0 -16
  111. package/styles/v2/utils/_spacers.scss +31 -0
  112. package/styles/v2/utils/_variables.scss +7 -0
  113. package/styles/v2/utils/index.scss +9 -4
  114. package/styles/waiting.scss +22 -23
  115. package/assets/asc.svg +0 -1
  116. package/assets/chart-bar-solid.svg +0 -1
  117. package/assets/chart-line-solid.svg +0 -1
  118. package/assets/chart-pie-solid.svg +0 -1
  119. package/assets/check.svg +0 -3
  120. package/assets/dashboard.svg +0 -11
  121. package/assets/data-bite-graphic.svg +0 -3
  122. package/assets/desc.svg +0 -1
  123. package/assets/file-upload-solid.svg +0 -1
  124. package/assets/horizontal-stacked-bar.svg +0 -1
  125. package/assets/link.svg +0 -1
  126. package/assets/minus.svg +0 -1
  127. package/assets/paired-bar.svg +0 -11
  128. package/assets/plus.svg +0 -1
  129. package/assets/question-circle.svg +0 -1
  130. package/assets/upload-solid.svg +0 -1
  131. package/assets/usa-graphic.svg +0 -3
  132. package/assets/world-graphic.svg +0 -3
  133. package/components/DataTransform.js +0 -162
  134. package/components/Loading.js +0 -15
  135. package/components/Waiting.js +0 -11
  136. package/styles/v2/components/input.scss +0 -372
  137. package/styles/v2/layout/_header.scss +0 -13
  138. package/styles/v2/layout/_link.scss +0 -46
package/styles/base.scss CHANGED
@@ -1,59 +1,57 @@
1
+ @use 'sass:string';
2
+
1
3
  @mixin breakpoint($class) {
2
4
  @if $class == xs {
3
- @media (max-width: 767px) { @content; }
4
- }
5
-
6
- @else if $class == sm {
7
- @media (min-width: 768px) { @content; }
8
- }
9
-
10
- @else if $class == md {
11
- @media (min-width: 960px) { @content; }
12
- }
13
-
14
- @else if $class == lg {
15
- @media (min-width: 1300px) { @content; }
16
- }
17
-
18
- @else {
5
+ @media (max-width: 767px) {
6
+ @content;
7
+ }
8
+ } @else if $class == sm {
9
+ @media (min-width: 768px) {
10
+ @content;
11
+ }
12
+ } @else if $class == md {
13
+ @media (min-width: 960px) {
14
+ @content;
15
+ }
16
+ } @else if $class == lg {
17
+ @media (min-width: 1300px) {
18
+ @content;
19
+ }
20
+ } @else {
19
21
  @warn "Breakpoint mixin supports: xs, sm, md, lg";
20
22
  }
21
23
  }
22
24
 
23
25
  @mixin breakpointClass($class) {
24
26
  @if $class == xs {
25
- &.xs, &.xxs {
27
+ &.xs,
28
+ &.xxs {
26
29
  @content;
27
30
  }
28
- }
29
-
30
- @else if $class == sm {
31
- &.sm, &.md, &.lg {
31
+ } @else if $class == sm {
32
+ &.sm,
33
+ &.md,
34
+ &.lg {
32
35
  @content;
33
36
  }
34
- }
35
-
36
- @else if $class == md {
37
- &.md, &.lg {
37
+ } @else if $class == md {
38
+ &.md,
39
+ &.lg {
38
40
  @content;
39
41
  }
40
- }
41
-
42
- @else if $class == lg {
42
+ } @else if $class == lg {
43
43
  &.lg {
44
44
  @content;
45
45
  }
46
- }
47
-
48
- @else {
46
+ } @else {
49
47
  @warn "Breakpoint Class mixin supports: xs, sm, md, lg";
50
48
  }
51
49
  }
52
50
 
53
51
  // Imports
54
- @import "reset";
55
- @import "variables";
56
- @import "mixins";
52
+ @import 'reset';
53
+ @import 'variables';
54
+ @import 'mixins';
57
55
 
58
56
  .cdc-open-viz-module {
59
57
  position: relative;
@@ -63,6 +61,75 @@
63
61
  @include breakpointClass(md) {
64
62
  font-size: 16px !important;
65
63
  }
66
- @import "data-table";
67
- @import "global";
68
- }
64
+ @import 'data-table';
65
+ @import 'global';
66
+ }
67
+
68
+ $theme: (
69
+ 'amber': (
70
+ '#fbab18',
71
+ '#ffd54f',
72
+ '#ffecb3',
73
+ '#fff7e1'
74
+ ),
75
+ 'blue': (
76
+ '#005eaa',
77
+ '#88c3ea',
78
+ '#c0e9ff',
79
+ '#edf9ff'
80
+ ),
81
+ 'brown': (
82
+ '#705043',
83
+ '#ad907b',
84
+ '#d7ccc8',
85
+ '#f2ebe8'
86
+ ),
87
+ 'cyan': (
88
+ '#006778',
89
+ '#65b0bd',
90
+ '#cce5e9',
91
+ '#ebf5f6'
92
+ ),
93
+ 'green': (
94
+ '#4b830d',
95
+ '#84bc49',
96
+ '#dcedc8',
97
+ '#f1f8e9'
98
+ ),
99
+ 'indigo': (
100
+ '#26418f',
101
+ '#92a6dd',
102
+ '#dee8ff',
103
+ '#f2f6ff'
104
+ ),
105
+ 'orange': (
106
+ '#bb4d00',
107
+ '#ffad42',
108
+ '#ffe97d',
109
+ '#fff4cf'
110
+ ),
111
+ 'pink': (
112
+ '#af4448',
113
+ '#e57373',
114
+ '#ffc2c2',
115
+ '#ffe7e7'
116
+ ),
117
+ 'purple': (
118
+ '#712177',
119
+ '#b890bb',
120
+ '#e3d3e4',
121
+ '#f7f2f7'
122
+ ),
123
+ 'slate': (
124
+ '#29434e',
125
+ '#7e9ba5',
126
+ '#b6c6d2',
127
+ '#e2e8ed'
128
+ ),
129
+ 'teal': (
130
+ '#00695c',
131
+ '#4ebaaa',
132
+ '#ceece7',
133
+ '#ebf7f5'
134
+ )
135
+ );
@@ -1,4 +1,8 @@
1
- div.dashboard-title, div.chart-title, div.map-title, .color-palette li, .btn {
1
+ div.dashboard-title,
2
+ div.chart-title,
3
+ div.map-title,
4
+ .color-palette li,
5
+ .btn {
2
6
  &.theme-purple {
3
7
  background: #712177;
4
8
  border-bottom-color: #b890bb;
@@ -43,4 +47,4 @@ div.dashboard-title, div.chart-title, div.map-title, .color-palette li, .btn {
43
47
  background: #005eaa;
44
48
  border-bottom-color: #88c3ea;
45
49
  }
46
- }
50
+ }
@@ -5,68 +5,70 @@
5
5
  * Licensed under MIT
6
6
  */
7
7
  @keyframes ball-beat {
8
- 50% {
9
- opacity: .2;
10
- -webkit-transform: scale(.75);
11
- -moz-transform: scale(.75);
12
- -o-transform: scale(.75);
13
- transform: scale(.75);
14
- }
15
- 100% {
16
- opacity: 1;
17
- -webkit-transform: scale(1);
18
- -moz-transform: scale(1);
19
- -o-transform: scale(1);
20
- transform: scale(1);
21
- }
8
+ 50% {
9
+ opacity: 0.2;
10
+ -webkit-transform: scale(0.75);
11
+ -moz-transform: scale(0.75);
12
+ -o-transform: scale(0.75);
13
+ transform: scale(0.75);
14
+ }
15
+ 100% {
16
+ opacity: 1;
17
+ -webkit-transform: scale(1);
18
+ -moz-transform: scale(1);
19
+ -o-transform: scale(1);
20
+ transform: scale(1);
21
+ }
22
22
  }
23
23
 
24
24
  .cdc-open-viz-module .loading {
25
- text-align: center;
26
- position: absolute;
27
- z-index: 3;
28
- background: rgba(255,255,255,.5);
29
- left: 0;
30
- right: 0;
31
- bottom: 0;
32
- top: 0;
33
- min-height: 30%;
34
- span {
35
- display: block;
36
- margin-bottom: 1em;
37
- font-size: 1.3em;
38
- }
39
- .la-ball-beat {
25
+ text-align: center;
26
+ position: absolute;
27
+ z-index: 3;
28
+ background: rgba(255, 255, 255, 0.5);
29
+ left: 0;
30
+ right: 0;
31
+ bottom: 0;
32
+ top: 0;
33
+ min-height: 30%;
34
+ span {
35
+ display: block;
36
+ margin-bottom: 1em;
37
+ font-size: 1.3em;
38
+ }
39
+ .la-ball-beat {
40
+ position: relative;
41
+ box-sizing: border-box;
42
+ margin: 0 auto;
43
+ transform: scale(1.3);
44
+ font-size: 0;
45
+ color: #777;
46
+ display: flex;
47
+ justify-content: center;
48
+ align-items: center;
49
+ width: 108px;
50
+ height: 36px;
51
+ &.sm,
52
+ &.xs,
53
+ &.xxs {
54
+ transform: scale(0.7);
55
+ }
56
+ div + div {
57
+ margin-left: 10px;
58
+ }
59
+ > div {
40
60
  position: relative;
41
- box-sizing: border-box;
42
- margin: 0 auto;
43
- transform: scale(1.3);
44
- font-size: 0;
45
- color: #777;
46
- display: flex;
47
- justify-content: center;
48
- align-items: center;
49
- width: 108px;
50
- height: 36px;
51
- &.sm, &.xs, &.xxs {
52
- transform: scale(0.7)
61
+ box-sizing: border-box;
62
+ width: 20px;
63
+ height: 20px;
64
+ border-radius: 100%;
65
+ animation: ball-beat 0.7s -0.15s infinite linear;
66
+ display: inline-block;
67
+ background-color: currentColor;
68
+ border: 0 solid currentColor;
69
+ &:nth-child(2n-1) {
70
+ animation-delay: -0.5s;
53
71
  }
54
- div + div {
55
- margin-left: 10px;
56
- }
57
- > div {
58
- position: relative;
59
- box-sizing: border-box;
60
- width: 20px;
61
- height: 20px;
62
- border-radius: 100%;
63
- animation: ball-beat .7s -.15s infinite linear;
64
- display: inline-block;
65
- background-color: currentColor;
66
- border: 0 solid currentColor;
67
- &:nth-child(2n-1) {
68
- animation-delay: -.5s;
69
- }
70
- }
71
- }
72
- }
72
+ }
73
+ }
74
+ }
@@ -0,0 +1,20 @@
1
+ .cove-file-selector {
2
+ padding: 1rem 3rem;
3
+ text-align: center;
4
+ font-size: 0.875rem;
5
+ color: $mediumGray;
6
+ border: $lightGray 2px dashed;
7
+ border-radius: 0.2rem;
8
+ cursor: pointer;
9
+ transition: 0.1s all;
10
+
11
+ &.drag-active {
12
+ background-color: $lightestGray;
13
+ }
14
+
15
+ span {
16
+ white-space: pre;
17
+ color: $blue;
18
+ text-decoration: underline;
19
+ }
20
+ }
@@ -1,33 +1,20 @@
1
+ @import '../themes/color-definitions';
2
+
1
3
  .cove {
2
4
  margin: 0;
3
5
  font: 1em/1.6 system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Droid Sans, Helvetica Neue, Fira Sans, sans-serif;
4
6
  font-weight: 400;
5
7
  font-style: normal;
8
+ line-height: 1.4;
9
+ color: $baseColor;
6
10
  text-rendering: optimizeLegibility;
7
11
  -webkit-font-smoothing: antialiased;
8
- color: #111;
9
-
10
- strong {
11
- font-weight: 600;
12
- }
13
-
14
- .subtext {
15
- margin-top: 1em;
16
- }
17
-
18
- .warning {
19
- padding: .75em 1em;
20
- margin: 1em 0;
21
- background-color: #FFD2D2;
22
- color: #D8000C;
23
- font-size: .8em;
24
- border: #D8000C 1px solid;
25
- border-radius: .4em;
26
12
 
27
- strong {
28
- font-weight: 600;
29
- display: block;
30
- }
13
+ small {
14
+ display: block;
15
+ font-size: 0.8rem;
16
+ font-style: italic;
17
+ color: $mediumGray;
31
18
  }
32
19
 
33
20
  .sr-only,
@@ -0,0 +1,20 @@
1
+ *[class^='cove-heading'] {
2
+ font-weight: 700;
3
+ margin-bottom: 1.5rem;
4
+ }
5
+
6
+ .cove-heading--1 {
7
+ font-size: 1.5rem;
8
+ }
9
+
10
+ .cove-heading--2 {
11
+ font-size: 1.25rem;
12
+ }
13
+
14
+ .cove-heading--3 {
15
+ font-size: 1rem;
16
+ }
17
+
18
+ .cove-heading--4 {
19
+ font-size: 0.75rem;
20
+ }
@@ -27,7 +27,8 @@ html:focus-within {
27
27
  }
28
28
 
29
29
  body {
30
- min-height: 100vh;
30
+ // TODO: Uncomment after cove refactor - conflicts with flex display on current <body>. Why the $#@&%! 'that' was done in the first place, I have no clue.
31
+ //min-height: 100vh;
31
32
  text-rendering: optimizeSpeed;
32
33
  line-height: 1.5;
33
34
  }
@@ -36,7 +37,6 @@ a:not([class]) {
36
37
  text-decoration-skip-ink: auto;
37
38
  }
38
39
 
39
-
40
40
  img,
41
41
  picture {
42
42
  max-width: 100%;
@@ -50,7 +50,8 @@ select {
50
50
  font: inherit;
51
51
  }
52
52
 
53
- sub, sup {
53
+ sub,
54
+ sup {
54
55
  font-size: 75%;
55
56
  line-height: 0;
56
57
  position: relative;
@@ -1,3 +1,7 @@
1
- @import "reset";
2
- @import "typography";
3
- @import "general";
1
+ //@import "reset"; TODO: Enable after cove refactor
2
+ @import 'typography';
3
+
4
+ @import 'general';
5
+ @import 'heading';
6
+
7
+ @import 'file-selector';
@@ -1,5 +1,5 @@
1
- @import "../utils/variables";
2
- @import "../themes/index";
1
+ @import '../utils/variables';
2
+ @import '../themes/index';
3
3
 
4
4
  .cove {
5
5
  .cove-accordion__item {
@@ -9,7 +9,7 @@
9
9
 
10
10
  .number-narrow {
11
11
  min-width: auto;
12
- width: 75px
12
+ width: 75px;
13
13
  }
14
14
  }
15
15
 
@@ -22,7 +22,7 @@
22
22
  justify-content: space-between;
23
23
  position: relative;
24
24
  width: 100%;
25
- padding: .3em 1em;
25
+ padding: 0.3em 1em;
26
26
  font-size: 1em;
27
27
  text-align: left;
28
28
  border-bottom: 1px solid rgba(0, 0, 0, 0.2);
@@ -41,14 +41,14 @@
41
41
  position: absolute;
42
42
  top: 50%;
43
43
  transform: rotate(-45deg) translateX(0) translateY(-50%);
44
- transition: .1s all;
44
+ transition: 0.1s all;
45
45
  }
46
46
 
47
47
  &[aria-expanded='true']::before,
48
48
  &[aria-selected='true']::before {
49
49
  transform: rotate(45deg) translateX(-2px) translateY(-70%);
50
50
  margin-right: 1.3em;
51
- transition: .1s all;
51
+ transition: 0.1s all;
52
52
  }
53
53
 
54
54
  .cove-tooltip,
@@ -71,7 +71,7 @@
71
71
  }
72
72
 
73
73
  h5 {
74
- font-size: .8em;
74
+ font-size: 0.8em;
75
75
  }
76
76
  }
77
77
 
@@ -114,7 +114,7 @@
114
114
  }
115
115
 
116
116
  .cove-accordion__small-inputs {
117
- input[type="text"] {
117
+ input[type='text'] {
118
118
  display: block;
119
119
  width: 100%;
120
120
  height: 22px;
@@ -139,14 +139,14 @@
139
139
  }
140
140
 
141
141
  .cove-accordion__input-error {
142
- color: #D8000C;
143
- border: #D8000C 1px solid;
142
+ color: #d8000c;
143
+ border: #d8000c 1px solid;
144
144
  }
145
145
 
146
146
  .cove-accordion__panel-error {
147
- color: #D8000C;
148
- background-color: #FFD2D2;
149
- border: #D8000C 1px solid;
147
+ color: #d8000c;
148
+ background-color: #ffd2d2;
149
+ border: #d8000c 1px solid;
150
150
  margin-top: 12px;
151
151
  padding: 4px 8px;
152
152
  line-height: 1.2em;
@@ -1,5 +1,15 @@
1
- @import "../utils/variables";
2
- @import "../themes/index";
1
+ @import '../utils/variables';
2
+ @import '../themes/index';
3
+
4
+ .sbdocs .cove-button {
5
+ margin-right: 1rem;
6
+ margin-bottom: 1rem;
7
+
8
+ &.fluid {
9
+ width: 100%;
10
+ margin-right: 0;
11
+ }
12
+ }
3
13
 
4
14
  .cove-button {
5
15
  display: inline-block;
@@ -24,7 +34,7 @@
24
34
 
25
35
  &:disabled {
26
36
  background-color: #adadad !important;
27
- cursor: not-allowed !important;
37
+ cursor: not-allowed;
28
38
  }
29
39
 
30
40
  &:not(:disabled) {
@@ -38,19 +48,25 @@
38
48
  background-color: lighten($primary, 5%);
39
49
  }
40
50
 
41
- &:active,
42
- &:focus {
43
- &::after {
44
- content: '';
45
- position: absolute;
46
- inset: 0;
47
- outline: 2px solid rgba(161, 161, 161, 0.6);
48
- border-radius: .3125em;
49
- margin: -2px;
50
- pointer-events: none;
51
+ &:not(.loading) {
52
+ &:focus,
53
+ &:active {
54
+ &::after {
55
+ content: '';
56
+ position: absolute;
57
+ inset: 0;
58
+ outline: 2px solid rgba(161, 161, 161, 0.6);
59
+ border-radius: 0.3125em;
60
+ margin: -2px;
61
+ pointer-events: none;
62
+ }
51
63
  }
52
64
  }
53
65
 
66
+ &.loading:disabled {
67
+ cursor: default;
68
+ }
69
+
54
70
  &.fluid {
55
71
  width: 100%;
56
72
  }
@@ -121,58 +137,3 @@
121
137
  transition: all 500ms $transition-expo-out;
122
138
  opacity: 0;
123
139
  }
124
-
125
- /* Old Styles ------------------------------------------
126
- .btn {
127
- display: block;
128
- padding: .4em .8em;
129
- font-size: 1em;
130
- color: #fff;
131
- background: #005eaa;
132
- border: 0;
133
- border-radius: .3em;
134
- transition: .1s background-color;
135
- cursor: pointer;
136
-
137
- &.full-width {
138
- width: 100%;
139
- }
140
-
141
- &:hover {
142
- transition: .1s background-color;
143
- }
144
-
145
- &.secondary {
146
- font-size: .8em;
147
- padding: .3em 1em;
148
- background: rgba(0, 0, 0, 0.3);
149
- display: inline-block;
150
- margin-bottom: 1em;
151
-
152
- &:hover {
153
- background: rgba(0, 0, 0, .5);
154
- }
155
- }
156
-
157
- &.danger {
158
- background-color: $red;
159
- color: #fff;
160
-
161
- &:hover {
162
- background-color: darken($red, 5%);
163
- }
164
- }
165
-
166
- &:hover {
167
- transition: .1s all;
168
- background: lighten(#005eaa, 5%);
169
- }
170
-
171
- svg {
172
- width: 16px;
173
- height: 16px;
174
- position: relative;
175
- top: 2px;
176
- margin-left: 5px;
177
- }
178
- }*/
@@ -0,0 +1,7 @@
1
+ .cove-card {
2
+ border: 1px solid #c7c7c7;
3
+ border-radius: 0.25rem;
4
+ background-color: #f2f2f2;
5
+ padding: 0.75rem;
6
+ height: 100%;
7
+ }