@utahdts/utah-design-system 0.0.2 → 0.2.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 (70) hide show
  1. package/README.md +3 -3
  2. package/css/1-settings/_color-swatches.scss +1 -1
  3. package/css/1-settings/_font-stuff.scss +3 -0
  4. package/css/1-settings/_icons.scss +201 -0
  5. package/css/1-settings/_settings-index.scss +15 -2
  6. package/css/1-settings/_spacing.scss +8 -0
  7. package/css/4-elements/_elements-index.scss +27 -11
  8. package/css/6-components/_components-index.scss +1 -0
  9. package/css/6-components/base-components/buttons/_button.scss +14 -5
  10. package/css/6-components/base-components/buttons/_icon-button.scss +101 -23
  11. package/css/6-components/base-components/forms/_checkbox.scss +34 -34
  12. package/css/6-components/base-components/forms/_input-wrapper.scss +1 -1
  13. package/css/6-components/base-components/forms/_select-input.scss +2 -2
  14. package/css/6-components/base-components/forms/_switch.scss +1 -1
  15. package/css/6-components/base-components/forms/_text-input.scss +6 -1
  16. package/css/6-components/base-components/popups/_popups.scss +134 -0
  17. package/css/6-components/base-components/tablesAndLists/_table.scss +43 -1
  18. package/css/7-utilities/_animation.scss +30 -30
  19. package/css/7-utilities/_utilities-index.scss +20 -20
  20. package/css/8-super/_print.scss +26 -26
  21. package/css/build/utah-design-system.css +1301 -78
  22. package/dist/utah-design-system.es.js +25934 -0
  23. package/dist/utah-design-system.umd.js +219 -0
  24. package/package.json +28 -28
  25. package/react/components/buttons/Button.jsx +36 -13
  26. package/react/components/buttons/ConfirmationButton.jsx +90 -0
  27. package/react/components/buttons/IconButton.jsx +83 -4
  28. package/react/components/forms/Switch.jsx +4 -1
  29. package/react/components/navigation/MenuItem.jsx +4 -2
  30. package/react/components/navigation/SidePanelNavigation.jsx +1 -1
  31. package/react/components/navigation/util/findElementsByTagNameMatch.js +6 -2
  32. package/react/components/navigation/util/groupElementsByHeaderLevel.js +1 -6
  33. package/react/components/pagination/Pagination.jsx +102 -0
  34. package/react/components/pagination/usePaginatedList.js +25 -0
  35. package/react/components/popups/Popup.jsx +154 -0
  36. package/react/components/table/TableBodyData.jsx +4 -3
  37. package/react/components/table/TableFilterCustom.jsx +20 -7
  38. package/react/components/table/TableFilterDate.jsx +64 -0
  39. package/react/components/table/TableFilterNone.jsx +7 -6
  40. package/react/components/table/TableFilterSelect.jsx +40 -6
  41. package/react/components/table/TableFilterSelectOption.jsx +19 -10
  42. package/react/components/table/TableFilterTextInput.jsx +5 -5
  43. package/react/components/table/TableFilters.jsx +3 -2
  44. package/react/components/table/TableFootCell.jsx +2 -1
  45. package/react/components/table/TableHeadCell.jsx +13 -6
  46. package/react/components/table/TableSortingRule.jsx +12 -10
  47. package/react/components/table/TableSortingRules.jsx +19 -15
  48. package/react/components/table/TableWrapper.jsx +5 -6
  49. package/react/components/table/useCurrentValuesFromStateContext.js +3 -3
  50. package/react/components/templates/DocumentationTemplate.jsx +4 -6
  51. package/react/components/templates/LandingTemplate.jsx +3 -5
  52. package/react/enums/buttonEnums.js +16 -0
  53. package/react/enums/componentColors.js +6 -0
  54. package/react/enums/popperPlacement.js +18 -0
  55. package/react/hooks/forms/useComponentState.js +22 -0
  56. package/react/hooks/forms/useCurrentValuesFromForm.js +1 -0
  57. package/react/hooks/useClickOutside.js +49 -0
  58. package/react/hooks/useGlobalKeyEvent.js +34 -0
  59. package/react/hooks/useMountingTracker.js +14 -0
  60. package/react/propTypesShapes/RefShape.js +9 -0
  61. package/react/util/joinClassNames.js +15 -13
  62. package/react/util/rectContainsPoint.js +3 -1
  63. package/react/util/toSafeString.js +9 -0
  64. package/dist/cjs/index.js +0 -5999
  65. package/dist/cjs/index.js.map +0 -1
  66. package/dist/esm/index.js +0 -5935
  67. package/dist/esm/index.js.map +0 -1
  68. package/react/components/popups/PLACEHOLDER.md +0 -1
  69. package/react/components/utahHeader/UtahHeader.jsx +0 -25
  70. package/react/components/utahHeader/UtahUnbrand.jsx +0 -50
package/README.md CHANGED
@@ -30,9 +30,9 @@ $ npm i @utahdts/utah-design-system
30
30
  import { DocumentationTemplate, LandingTemplate } from '@utahdts/utah-design-system';
31
31
 
32
32
  // uncompiled style
33
- import OnThisPage from '@utahdts/utah-design-system/react/components/navigation/OnThisPage';
34
- import SidePanelNavigation from '@utahdts/utah-design-system/react/components/navigation/SidePanelNavigation';
35
- import useCurrentMenuItem from '@utahdts/utah-design-system/react/hooks/useCurrentMenuItem';
33
+ import { OnThisPage } from '@utahdts/utah-design-systemOnThisPage';
34
+ import { SidePanelNavigation } from '@utahdts/utah-design-system';
35
+ import { useCurrentMenuItem } from '@utahdts/utah-design-system';
36
36
 
37
37
  //import all scss
38
38
  import '@utahdts/utah-design-system/css/index.scss';
@@ -374,7 +374,7 @@ $neutral-gray-06: #616161;
374
374
  $neutral-gray-07: #6e6e6e;
375
375
  $neutral-gray-08: #7b7b7b;
376
376
  $neutral-gray-09: #888888;
377
- $neutral-gray-10: #959595;
377
+ $neutral-gray-10: #949494;
378
378
  $neutral-gray-11: #a3a3a3;
379
379
  $neutral-gray-12: #b0b0b0;
380
380
  $neutral-gray-13: #bdbdbd;
@@ -5,6 +5,9 @@ Font size variables
5
5
  @use "../1-settings/class-vars";
6
6
 
7
7
  #{class-vars.$base-class} {
8
+ --normal-font-family: 'Source Sans Pro', 'Helvetica Neue', sans-serif;
9
+ --fixed-width-font-family: 'Source Code Pro', monospace;
10
+
8
11
  --font-size-2xs: .8125rem; //13
9
12
  --font-size-xs: .875rem; //14
10
13
  --font-size-s: .9375rem; //15
@@ -1,6 +1,207 @@
1
1
  @use "../1-settings/class-vars";
2
2
 
3
+ /* Generated by Glyphter (http://www.glyphter.com) on Fri Jan 20 2023*/
4
+ @font-face {
5
+ font-family: 'utah design system';
6
+ src: url('/fonts/utah-design-system.eot');
7
+ src: url('/fonts/utah-design-system.eot?#iefix') format('embedded-opentype'),
8
+ url('/fonts/utah-design-system.woff') format('woff'),
9
+ url('/fonts/utah-design-system.ttf') format('truetype'),
10
+ url('/fonts/utah-design-system.svg#utah-design-system') format('svg');
11
+ font-weight: normal;
12
+ font-style: normal;
13
+ }
14
+
3
15
  #{class-vars.$base-class} {
4
16
  --icon-check-mark-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 12.15'%3E%3Cg%3E%3Cpath d='M6.185,12.15L0,5.966,2.335,3.631l3.85,3.849L13.665,0l2.335,2.335L6.185,12.15Z' style='fill: %23fff;'/%3E%3C/g%3E%3C/svg%3E");
5
17
  --icon-chevron-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cg%3E%3Crect width='14' height='14' style='fill: none;'/%3E%3Cpath d='M3.142,5l3.716,3.71,3.717-3.71,1.142,1.142-4.859,4.858L2,6.142l1.142-1.142Z' style='fill: %23474747;'/%3E%3C/g%3E%3C/svg%3E");
18
+
19
+ [class*='utds-icon-after-']::after {
20
+ display: inline-block;
21
+ font-family: 'utah design system';
22
+ font-style: normal;
23
+ font-weight: normal;
24
+ line-height: 1;
25
+ -webkit-font-smoothing: antialiased;
26
+ -moz-osx-font-smoothing: grayscale;
27
+ margin-left: var(--spacing-2xs);
28
+ }
29
+ [class*='utds-icon-before-']::before {
30
+ display: inline-block;
31
+ font-family: 'utah design system';
32
+ font-style: normal;
33
+ font-weight: normal;
34
+ line-height: 1;
35
+ -webkit-font-smoothing: antialiased;
36
+ -moz-osx-font-smoothing: grayscale;
37
+ margin-right: var(--spacing-2xs);
38
+ }
39
+ .utds-icon-before-external-link::before,
40
+ .utds-icon-after-external-link::after {
41
+ content: '\0041';
42
+ font-size: .65em;
43
+ }
44
+
45
+ .utds-icon-before-waffle::before,
46
+ .utds-icon-after-waffle::after {
47
+ content: '\0042';
48
+ }
49
+
50
+ .utds-icon-before-alert::before,
51
+ .utds-icon-after-alert::after {
52
+ content: '\0043';
53
+ }
54
+
55
+ .utds-icon-before-help::before,
56
+ .utds-icon-after-help::after {
57
+ content: '\0044';
58
+ }
59
+
60
+ .utds-icon-before-bookmark::before,
61
+ .utds-icon-after-bookmark::after {
62
+ content: '\0045';
63
+ }
64
+
65
+ .utds-icon-before-search::before,
66
+ .utds-icon-after-search::after {
67
+ content: '\0046';
68
+ }
69
+
70
+ .utds-icon-before-check::before,
71
+ .utds-icon-after-check::after {
72
+ content: '\0047';
73
+ }
74
+
75
+ .utds-icon-before-star::before,
76
+ .utds-icon-after-star::after {
77
+ content: '\0048';
78
+ }
79
+
80
+ .utds-icon-before-info::before,
81
+ .utds-icon-after-info::after {
82
+ content: '\0049';
83
+ }
84
+
85
+ .utds-icon-before-unfold-less::before,
86
+ .utds-icon-after-unfold-less::after {
87
+ content: '\004a';
88
+ }
89
+
90
+ .utds-icon-before-unfold-more::before,
91
+ .utds-icon-after-unfold-more::after {
92
+ content: '\004b';
93
+ }
94
+
95
+ .utds-icon-before-circle-chevron-down::before,
96
+ .utds-icon-after-circle-chevron-down::after {
97
+ content: '\004c';
98
+ }
99
+
100
+ .utds-icon-before-circle-chevron-up::before,
101
+ .utds-icon-after-circle-chevron-up::after {
102
+ content: '\004d';
103
+ }
104
+
105
+ .utds-icon-before-chevron-up::before,
106
+ .utds-icon-after-chevron-up::after {
107
+ content: '\004e';
108
+ }
109
+
110
+ .utds-icon-before-chevron-right::before,
111
+ .utds-icon-after-chevron-right::after {
112
+ content: '\004f';
113
+ }
114
+
115
+ .utds-icon-before-chevron-down::before,
116
+ .utds-icon-after-chevron-down::after {
117
+ content: '\0050';
118
+ }
119
+
120
+ .utds-icon-before-chevron-left::before,
121
+ .utds-icon-after-chevron-left::after {
122
+ content: '\0051';
123
+ }
124
+
125
+ .utds-icon-before-arrow-up::before,
126
+ .utds-icon-after-arrow-up::after {
127
+ content: '\0052';
128
+ }
129
+
130
+ .utds-icon-before-arrow-right::before,
131
+ .utds-icon-after-arrow-right::after {
132
+ content: '\0053';
133
+ }
134
+
135
+ .utds-icon-before-arrow-down::before,
136
+ .utds-icon-after-arrow-down::after {
137
+ content: '\0054';
138
+ }
139
+
140
+ .utds-icon-before-arrow-left::before,
141
+ .utds-icon-after-arrow-left::after {
142
+ content: '\0055';
143
+ }
144
+
145
+ .utds-icon-before-plus::before,
146
+ .utds-icon-after-plus::after {
147
+ content: '\0056';
148
+ }
149
+
150
+ .utds-icon-before-minus::before,
151
+ .utds-icon-after-minus::after {
152
+ content: '\0057';
153
+ }
154
+
155
+ .utds-icon-before-x-icon::before,
156
+ .utds-icon-after-x-icon::after {
157
+ content: '\0058';
158
+ }
159
+
160
+ .utds-icon-before-edit::before,
161
+ .utds-icon-after-edit::after {
162
+ content: '\0059';
163
+ }
164
+
165
+ .utds-icon-before-edit-box::before,
166
+ .utds-icon-after-edit-box::after {
167
+ content: '\005a';
168
+ }
169
+
170
+ .utds-icon-before-verified::before,
171
+ .utds-icon-after-verified::after {
172
+ content: '\0061';
173
+ }
174
+
175
+ .utds-icon-before-gear::before,
176
+ .utds-icon-after-gear::after {
177
+ content: '\0062';
178
+ }
179
+
180
+ .utds-icon-before-doc::before,
181
+ .utds-icon-after-doc::after {
182
+ content: '\0063';
183
+ }
184
+
185
+ .utds-icon-before-doc-square::before,
186
+ .utds-icon-after-doc-square::after {
187
+ content: '\0064';
188
+ }
189
+
190
+ .utds-icon-before-warning::before,
191
+ .utds-icon-after-warning::after {
192
+ content: '\0065';
193
+ }
194
+
195
+ .utds-icon-before-error::before,
196
+ .utds-icon-after-error::after {
197
+ content: '\0066';
198
+ }
199
+
200
+ .utds-icon-before-copy::before,
201
+ .utds-icon-after-copy::after {
202
+ content: '\0067';
203
+ }
6
204
  }
205
+
206
+
207
+
@@ -36,6 +36,7 @@ variables and settings
36
36
 
37
37
  --gray-color: #{color-swatches.$neutral-gray-04};
38
38
  --gray-medium-color: #{color-swatches.$neutral-gray-06};
39
+ --gray-3-1-contrast: #{color-swatches.$neutral-gray-10};
39
40
  --gray-medium-light-color: #{color-swatches.$neutral-gray-15};
40
41
  --gray-light-color: #{color-swatches.$neutral-gray-17};
41
42
  --gray-dark-color: #{color-swatches.$neutral-gray-02};
@@ -46,6 +47,10 @@ variables and settings
46
47
  --code-color: #{color-swatches.$neutral-gray-16};
47
48
  --gray-border: #{color-swatches.$neutral-gray-15};
48
49
 
50
+ --danger-color: #ba0000;
51
+ --warning-color: #ba6300;
52
+ --info-color: var(--secondary-color);
53
+ --success-color: #2f8700;
49
54
 
50
55
  /* transition timings */
51
56
  --timing-xquick: 100ms;
@@ -61,10 +66,10 @@ variables and settings
61
66
  --radius-circle: 999px;
62
67
 
63
68
  /* form element sizes */
64
- --form-ele-small4x: .75rem; //small switch
69
+ --form-ele-small4x: .75rem; //small switch
65
70
  --form-ele-small3x: 1rem;
66
71
  --form-ele-small2x: 1.25rem;
67
- --form-ele-small1x: 1.5rem;
72
+ --form-ele-small1x: 1.5rem; //small1x button
68
73
  --form-ele-small: 1.875rem; //small button
69
74
  --form-ele-medium: 2.25rem; //medium button
70
75
  --form-ele-large: 2.5rem; //large button
@@ -82,6 +87,13 @@ variables and settings
82
87
  --documentation-left-width: 200px;
83
88
  --documentation-right-width: 200px;
84
89
  --documentation-padding: var(--spacing-2xl) var(--spacing-xl);
90
+
91
+ /* elevation box shadows */
92
+ --drop-shadow-color: rgba(0, 0, 0, 0.3);
93
+ --elevation-small: 0 3px 6px var(--drop-shadow-color);
94
+ --elevation-medium: 0 6px 12px var(--drop-shadow-color);
95
+ --elevation-large: 0 12px 16px var(--drop-shadow-color);
96
+
85
97
  }
86
98
 
87
99
  /* color utility classes */
@@ -114,3 +126,4 @@ variables and settings
114
126
 
115
127
  .white-color { color: white; }
116
128
 
129
+
@@ -36,6 +36,14 @@
36
36
  .mx-spacing-l { margin-left: var(--spacing-l); margin-right: var(--spacing-l); }
37
37
  .my-spacing-l { margin-top: var(--spacing-l); margin-bottom: var(--spacing-l); }
38
38
 
39
+ .m-spacing-s { margin: var(--spacing-s); }
40
+ .mt-spacing-s { margin-top: var(--spacing-s); }
41
+ .mr-spacing-s { margin-right: var(--spacing-s); }
42
+ .mb-spacing-s { margin-bottom: var(--spacing-s); }
43
+ .ml-spacing-s { margin-left: var(--spacing-s); }
44
+ .mx-spacing-s { margin-left: var(--spacing-s); margin-right: var(--spacing-s); }
45
+ .my-spacing-s { margin-top: var(--spacing-s); margin-bottom: var(--spacing-s); }
46
+
39
47
  .m-spacing-xs { margin: var(--spacing-xs); }
40
48
  .mt-spacing-xs { margin-top: var(--spacing-xs); }
41
49
  .mr-spacing-xs { margin-right: var(--spacing-xs); }
@@ -5,13 +5,13 @@ elemental html: h1, h2, h3, ul, li, etc.
5
5
  @use "../1-settings/class-vars";
6
6
 
7
7
  #{class-vars.$base-class} {
8
- margin: 0;
9
- font-family: 'Source Sans Pro', 'Helvetica Neue', sans-serif;
8
+ margin: 0;
9
+ font-family: var(--normal-font-family);
10
10
  font-size: 16px;
11
- line-height: 1.3;
12
- -webkit-font-smoothing: antialiased;
13
- -moz-osx-font-smoothing: grayscale;
14
- background: white;
11
+ line-height: 1.4;
12
+ -webkit-font-smoothing: antialiased;
13
+ -moz-osx-font-smoothing: grayscale;
14
+ background: white;
15
15
  color: var(--gray-color);
16
16
 
17
17
  h1 {
@@ -46,10 +46,10 @@ elemental html: h1, h2, h3, ul, li, etc.
46
46
  }
47
47
 
48
48
  code {
49
- font-family: 'Source Code Pro', monospace;
50
- font-size: .95em;
49
+ font-family: var(--fixed-width-font-family);
50
+ font-size: .95rem;
51
51
  background: var(--code-color);
52
- padding: var(--spacing-3xs) var(--spacing-xs);
52
+ padding: var(--spacing-3xs) var(--spacing-2xs);
53
53
  border-radius: var(--radius-small1x);
54
54
  &.primary-color {
55
55
  color: var(--primary-color);
@@ -57,12 +57,19 @@ elemental html: h1, h2, h3, ul, li, etc.
57
57
  }
58
58
  }
59
59
  pre {
60
+ font-family: var(--fixed-width-font-family);
61
+ font-size: .95rem;
60
62
  white-space: pre-wrap;
61
63
  word-wrap: break-word;
64
+ margin: 0 0 var(--spacing) 0;
65
+ &.gray-block {
66
+ background: var(--gray-light-color);
67
+ padding: var(--spacing-s) var(--spacing);
68
+ border-radius: var(--radius-medium);
69
+ }
62
70
  }
63
71
 
64
- ul {
65
- list-style-type: disc;
72
+ ul, ol {
66
73
  padding: 0 0 0 var(--spacing-2xl);
67
74
  margin: 0;
68
75
  line-height: 1.7;
@@ -86,4 +93,13 @@ elemental html: h1, h2, h3, ul, li, etc.
86
93
  color: var(--primary-color-dark);
87
94
  }
88
95
  }
96
+
97
+ .external-link::after {
98
+ content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18.1143 18.1138'%3E%3Cg%3E%3Cpath d='m15.0996,18.1138H1c-.5527,0-1-.4478-1-1V3.0142c0-.5522.4473-1,1-1h7.043v2H2v12.0996h12.0996v-6.043h2v7.043c0,.5522-.4473,1-1,1Z' style='fill: var(--primary-color);'/%3E%3Crect x='6.5977' y='4.5318' width='11.9697' height='1.9998' transform='translate(-.2262 10.5174) rotate(-45)' style='fill: currentColor;'/%3E%3Cpolygon points='18.1143 8.0425 16.1143 8.0425 16.1143 2 10.0713 2 10.0713 0 18.1143 0 18.1143 8.0425' style='fill: currentColor;'/%3E%3C/g%3E%3C/svg%3E%0A");
99
+ height: .7rem;
100
+ width: .7rem;
101
+ background-position: top left;
102
+
103
+ display: inline-block;
104
+ }
89
105
  }
@@ -19,6 +19,7 @@ component specific, BEM (Block, Element, Modifier)
19
19
  @use "base-components/navigation/main-menu";
20
20
  @use "base-components/navigation/menu-item";
21
21
  @use "base-components/navigation/side-panel-navigation";
22
+ @use "base-components/popups/popups";
22
23
  @use "base-components/templates/documenation-template";
23
24
  @use "base-components/templates/landing-page-template";
24
25
  @use "base-components/forms/input";
@@ -19,13 +19,15 @@
19
19
  transition: all 200ms ease-in-out, transform 100ms ease, box-shadow 100ms ease;
20
20
  color: var(--gray-color);
21
21
  text-decoration: none;
22
+ position: relative;
23
+
24
+ svg {
25
+ fill: currentColor;
26
+ }
22
27
 
23
28
  &:hover {
24
29
  background: var(--gray-color);
25
30
  color: white;
26
- svg {
27
- fill: currentColor;
28
- }
29
31
  }
30
32
 
31
33
  &[disabled], &[disable]:hover {
@@ -33,12 +35,12 @@
33
35
  background: white !important;
34
36
  color: var(--form-ele-disabled-color) !important;
35
37
  border-color: var(--form-ele-disabled-color) !important;
36
- &:active {
38
+ &:active, &.active {
37
39
  transform: none;
38
40
  box-shadow: none;
39
41
  }
40
42
  }
41
- &:active {
43
+ &:active, &--active {
42
44
  transform: scale(.96);
43
45
  box-shadow: inset 0 3px 5px rgba(0,0,0,0.5);
44
46
  }
@@ -49,6 +51,13 @@
49
51
  .button {
50
52
 
51
53
  /* ------------ SIZES ------------ */
54
+ &--small1x {
55
+ font-size: .85rem;
56
+ min-height: var(--form-ele-small1x);
57
+ padding: 0 var(--spacing-xs);
58
+ border-width: 1px;
59
+ }
60
+
52
61
  &--small {
53
62
  font-size: .938rem;
54
63
  min-height: var(--form-ele-small);
@@ -6,40 +6,68 @@
6
6
  #{class-vars.$base-class} {
7
7
 
8
8
  .icon-button {
9
- background: white;
10
9
  border-radius: 999px;
11
- border: 2px solid var(--gray-color);
12
10
  font-size: 1rem;
13
- min-height: 36px;
14
- min-width: 36px;
11
+ min-height: var(--form-ele-medium);
12
+ min-width: var(--form-ele-medium);
15
13
  padding: 0;
16
14
  display: flex;
17
15
  align-items: center;
18
16
  justify-content: center;
19
17
  cursor: pointer;
20
- transition: all 200ms ease-in-out;
21
- color: var(--gray-color);
22
-
23
- &:hover {
24
- background: var(--gray-color);
25
- color: white;
26
- }
27
-
28
- &--solid {
29
- background: var(--gray-color);
30
- color: white;
31
- &:hover {
32
- background-color: var(--gray-dark-color);
33
- border-color: var(--gray-dark-color);
34
- }
35
- }
36
18
 
37
- &--plain {
19
+ &--borderless {
38
20
  border-color: transparent;
21
+ background: transparent;
39
22
  &:hover {
40
- background-color: color-swatches.$neutral-gray-16;
41
- border-color: color-swatches.$neutral-gray-16;
42
23
  color: var(--gray-dark-color);
24
+ background: var(--hover-gray-color);
25
+ }
26
+ &.button--primary-color {
27
+ &:hover {
28
+ color: var(--primary-color-dark);
29
+ }
30
+ }
31
+ &.button--secondary-color {
32
+ &:hover {
33
+ color: var(--secondary-color-dark);
34
+ }
35
+ }
36
+ &.button--accent-color {
37
+ &:hover {
38
+ color: var(--accent-color-dark);
39
+ }
40
+ }
41
+ @at-root #{class-vars.$primary-color-is-light}#{&} {
42
+ &.button--primary-color {
43
+ border-color: transparent;
44
+ &:hover {
45
+ color: var(--primary-color-dark);
46
+ background: var(--hover-gray-color);
47
+ }
48
+ }
49
+ }
50
+ @at-root #{class-vars.$secondary-color-is-light}#{&} {
51
+ &.button--secondary-color {
52
+ border-color: transparent;
53
+ &:hover {
54
+ color: var(--secondary-color-dark);
55
+ background: var(--hover-gray-color);
56
+ }
57
+ }
58
+ }
59
+ @at-root #{class-vars.$accent-color-is-light}#{&} {
60
+ &.button--accent-color {
61
+ border-color: transparent;
62
+ &:hover {
63
+ color: var(--accent-color-dark);
64
+ background: var(--hover-gray-color);
65
+ }
66
+ }
67
+ }
68
+ &[disabled], &[disable]:hover {
69
+ background: transparent !important;
70
+ border-color: transparent !important;
43
71
  }
44
72
  }
45
73
 
@@ -50,5 +78,55 @@
50
78
  }
51
79
  }
52
80
 
81
+ [class*='utds-icon-before-'] {
82
+ line-height: .5;
83
+ &::before {
84
+ margin: 0;
85
+ font-size: 1.25rem;
86
+ }
87
+ }
88
+
89
+ /* ------------ SIZES ------------ */
90
+ &--small1x {
91
+ font-size: .85rem;
92
+ min-height: var(--form-ele-small1x);
93
+ min-width: var(--form-ele-small1x);
94
+ border-width: 1px;
95
+
96
+ [class*='utds-icon-before-']::before {
97
+ font-size: 1rem;
98
+ }
99
+ }
100
+
101
+ &--small {
102
+ font-size: .938rem;
103
+ min-height: var(--form-ele-small);
104
+ min-width: var(--form-ele-small);
105
+
106
+ [class*='utds-icon-before-']::before {
107
+ font-size: 1.125rem;
108
+ }
109
+ }
110
+
111
+ &--large {
112
+ font-size: 1.25rem;
113
+ min-height: var(--form-ele-large);
114
+ min-width: var(--form-ele-large);
115
+
116
+ [class*='utds-icon-before-']::before {
117
+ font-size: 1.45rem;
118
+ }
119
+ }
120
+
121
+ &--large1x {
122
+ font-size: 1.5rem;
123
+ min-height: var(--form-ele-large1x);
124
+ min-width: var(--form-ele-large1x);
125
+
126
+ [class*='utds-icon-before-']::before {
127
+ font-size: 1.7rem;
128
+ }
129
+ }
130
+
53
131
  }
54
132
  }
@@ -1,32 +1,32 @@
1
1
  @use "../../../2-tools/tools-index";
2
2
 
3
3
  input[type="checkbox"] {
4
- width: var(--form-checkbox-medium);
5
- height: var(--form-checkbox-medium);
6
- position: relative;
4
+ width: var(--form-checkbox-medium);
5
+ height: var(--form-checkbox-medium);
6
+ position: relative;
7
7
  border-radius: var(--radius-small1x);
8
- border: 1px solid var(--gray-color);
9
- background-color: white;
8
+ border: 1px solid var(--gray-color);
9
+ background-color: white;
10
10
  box-sizing: border-box;
11
- appearance: none;
11
+ appearance: none;
12
12
 
13
- &::after {
14
- content: '';
15
- display: block;
16
- position: absolute;
17
- width: 100%;
18
- height: 100%;
19
- top: 0;
20
- left: 0;
21
- border-radius: var(--radius-circle);
22
- z-index: -1;
13
+ &::after {
14
+ content: '';
15
+ display: block;
16
+ position: absolute;
17
+ width: 100%;
18
+ height: 100%;
19
+ top: 0;
20
+ left: 0;
21
+ border-radius: var(--radius-circle);
22
+ z-index: -1;
23
23
  @include tools-index.form-ele-hover-base;
24
- }
25
- &:hover {
24
+ }
25
+ &:hover {
26
26
  border-color: black;
27
- &::after {
27
+ &::after {
28
28
  @include tools-index.form-ele-hover-hovered(7px);
29
- }
29
+ }
30
30
  }
31
31
 
32
32
  &::before {
@@ -37,12 +37,12 @@ input[type="checkbox"] {
37
37
  background-repeat: no-repeat;
38
38
  background-position: center center;
39
39
  background-size: 30%;
40
- border-radius: var(--radius-small1x);
40
+ border-radius: var(--radius-small1x);
41
41
  width: 100%;
42
42
  height: 100%;
43
43
  opacity: 0;
44
44
  }
45
- &:checked {
45
+ &:checked {
46
46
  border-width: 0;
47
47
  background-color: var(--form-ele-color);
48
48
  &::before {
@@ -50,18 +50,18 @@ input[type="checkbox"] {
50
50
  background-size: 80%;
51
51
  transition: background-size var(--timing-quick) ease, opacity var(--timing-quick) ease;
52
52
  }
53
- }
53
+ }
54
54
  }
55
55
  .input-wrapper {
56
- &--checkbox {
57
- display: flex;
58
- flex-direction: row-reverse;
59
- justify-content: flex-end;
60
- align-items: center;
61
- position: relative;
62
- z-index: 1;
63
- }
64
- label {
65
- padding: 0 0 0 var(--spacing-2xs);
66
- }
56
+ &--checkbox {
57
+ display: flex;
58
+ flex-direction: row-reverse;
59
+ justify-content: flex-end;
60
+ align-items: center;
61
+ position: relative;
62
+ z-index: 1;
63
+ }
64
+ label {
65
+ padding: 0 0 0 var(--spacing-2xs);
66
+ }
67
67
  }
@@ -1,5 +1,5 @@
1
1
  .input-wrapper {
2
- margin: 0 0 var(--spacing-s) 0;
2
+ margin: 0 0 var(--spacing-s) 0;
3
3
  .form.form--stacked & {
4
4
  display: flex;
5
5
  flex-direction: column;