@utahdts/utah-design-system 0.0.1

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 (134) hide show
  1. package/README.md +54 -0
  2. package/css/1-settings/_class-vars.scss +11 -0
  3. package/css/1-settings/_color-swatches.scss +422 -0
  4. package/css/1-settings/_font-stuff.scss +48 -0
  5. package/css/1-settings/_grid.scss +39 -0
  6. package/css/1-settings/_icons.scss +6 -0
  7. package/css/1-settings/_settings-index.scss +116 -0
  8. package/css/1-settings/_spacing.scss +70 -0
  9. package/css/2-tools/_tools-index.scss +47 -0
  10. package/css/3-generic/_generic-index.scss +4 -0
  11. package/css/3-generic/normalize.css +349 -0
  12. package/css/4-elements/_elements-index.scss +89 -0
  13. package/css/5-objects/_objects-index.scss +9 -0
  14. package/css/6-components/_components-index.scss +31 -0
  15. package/css/6-components/base-components/buttons/_button.scss +401 -0
  16. package/css/6-components/base-components/buttons/_icon-button.scss +54 -0
  17. package/css/6-components/base-components/containers/_accordion.scss +31 -0
  18. package/css/6-components/base-components/containers/_tab-group.scss +57 -0
  19. package/css/6-components/base-components/forms/_checkbox.scss +67 -0
  20. package/css/6-components/base-components/forms/_info-box.scss +23 -0
  21. package/css/6-components/base-components/forms/_input-wrapper.scss +9 -0
  22. package/css/6-components/base-components/forms/_input.scss +10 -0
  23. package/css/6-components/base-components/forms/_radio-button.scss +60 -0
  24. package/css/6-components/base-components/forms/_select-input.scss +18 -0
  25. package/css/6-components/base-components/forms/_switch.scss +191 -0
  26. package/css/6-components/base-components/forms/_text-input.scss +15 -0
  27. package/css/6-components/base-components/navigation/_main-menu.scss +69 -0
  28. package/css/6-components/base-components/navigation/_menu-item.scss +44 -0
  29. package/css/6-components/base-components/navigation/_side-panel-navigation.scss +83 -0
  30. package/css/6-components/base-components/tablesAndLists/_table.scss +52 -0
  31. package/css/6-components/base-components/templates/_documenation-template.scss +50 -0
  32. package/css/6-components/base-components/templates/_landing-page-template.scss +8 -0
  33. package/css/6-components/base-components/templates/_on-this-page.scss +33 -0
  34. package/css/6-components/base-components/widgetsInicators/_spinner.scss +38 -0
  35. package/css/6-components/project-components/_popup.scss +22 -0
  36. package/css/6-components/project-components/_swatch-list.scss +41 -0
  37. package/css/7-utilities/_animation.scss +41 -0
  38. package/css/7-utilities/_utilities-index.scss +119 -0
  39. package/css/8-super/_print.scss +38 -0
  40. package/css/8-super/_super-index.scss +6 -0
  41. package/css/9-tip/_tip-index.scss +6 -0
  42. package/css/build/utah-design-system.css +2374 -0
  43. package/css/index.scss +52 -0
  44. package/index.js +117 -0
  45. package/package.json +55 -0
  46. package/react/components/buttons/Button.jsx +103 -0
  47. package/react/components/buttons/IconButton.jsx +36 -0
  48. package/react/components/buttons/SegmentedButton.jsx +1 -0
  49. package/react/components/containers/accordion/Accordion.jsx +67 -0
  50. package/react/components/containers/tabs/Tab.jsx +53 -0
  51. package/react/components/containers/tabs/TabGroup.jsx +66 -0
  52. package/react/components/containers/tabs/TabGroupContext.jsx +3 -0
  53. package/react/components/containers/tabs/TabGroupTitle.jsx +28 -0
  54. package/react/components/containers/tabs/TabList.jsx +31 -0
  55. package/react/components/containers/tabs/TabPanel.jsx +41 -0
  56. package/react/components/containers/tabs/TabPanels.jsx +20 -0
  57. package/react/components/forms/CheckBox.jsx +79 -0
  58. package/react/components/forms/ErrorMessage.jsx +25 -0
  59. package/react/components/forms/Form.jsx +68 -0
  60. package/react/components/forms/FormContext.jsx +3 -0
  61. package/react/components/forms/FormContextProvider.jsx +87 -0
  62. package/react/components/forms/PLACEHOLDER.md +1 -0
  63. package/react/components/forms/Select.jsx +85 -0
  64. package/react/components/forms/SelectOption.jsx +42 -0
  65. package/react/components/forms/Switch.jsx +122 -0
  66. package/react/components/forms/TextInput.jsx +80 -0
  67. package/react/components/icons/Icons.jsx +7 -0
  68. package/react/components/lists/PLACEHOLDER.md +1 -0
  69. package/react/components/map/PLACEHOLDER.md +1 -0
  70. package/react/components/navigation/HorizontalMenu.jsx +46 -0
  71. package/react/components/navigation/MainMenu.jsx +28 -0
  72. package/react/components/navigation/MenuItem.jsx +116 -0
  73. package/react/components/navigation/OnThisPage.jsx +34 -0
  74. package/react/components/navigation/OnThisPageHeadersLevel.jsx +35 -0
  75. package/react/components/navigation/SidePanelNavigation.jsx +41 -0
  76. package/react/components/navigation/util/findElementsByTagNameMatch.js +11 -0
  77. package/react/components/navigation/util/groupElementsByHeaderLevel.js +41 -0
  78. package/react/components/popups/PLACEHOLDER.md +1 -0
  79. package/react/components/table/Table.jsx +34 -0
  80. package/react/components/table/TableBody.jsx +35 -0
  81. package/react/components/table/TableBodyData.jsx +91 -0
  82. package/react/components/table/TableBodyDataCellTemplate.jsx +73 -0
  83. package/react/components/table/TableBodyDataRowContext.jsx +3 -0
  84. package/react/components/table/TableBodyDataRowTemplate.jsx +56 -0
  85. package/react/components/table/TableCell.jsx +50 -0
  86. package/react/components/table/TableContext.jsx +3 -0
  87. package/react/components/table/TableFilterCustom.jsx +34 -0
  88. package/react/components/table/TableFilterNone.jsx +34 -0
  89. package/react/components/table/TableFilterSelect.jsx +34 -0
  90. package/react/components/table/TableFilterSelectOption.jsx +34 -0
  91. package/react/components/table/TableFilterTextInput.jsx +64 -0
  92. package/react/components/table/TableFilters.jsx +88 -0
  93. package/react/components/table/TableFoot.jsx +34 -0
  94. package/react/components/table/TableFootCell.jsx +34 -0
  95. package/react/components/table/TableFootRow.jsx +34 -0
  96. package/react/components/table/TableHead.jsx +39 -0
  97. package/react/components/table/TableHeadCell.jsx +79 -0
  98. package/react/components/table/TableHeadRow.jsx +34 -0
  99. package/react/components/table/TableRow.jsx +49 -0
  100. package/react/components/table/TableSortingRule.jsx +55 -0
  101. package/react/components/table/TableSortingRules.jsx +64 -0
  102. package/react/components/table/TableWrapper.jsx +128 -0
  103. package/react/components/table/useCurrentValuesFromStateContext.js +73 -0
  104. package/react/components/templates/DocumentationTemplate.jsx +52 -0
  105. package/react/components/templates/LandingTemplate.jsx +29 -0
  106. package/react/components/utahHeader/UtahHeader.jsx +25 -0
  107. package/react/components/utahHeader/UtahUnbrand.jsx +50 -0
  108. package/react/components/widgetsIndicators/Spinner.jsx +71 -0
  109. package/react/enums/formElementSizesEnum.js +9 -0
  110. package/react/enums/tableSortingRuleFieldType.js +9 -0
  111. package/react/hooks/forms/useCurrentValuesFromForm.js +44 -0
  112. package/react/hooks/useBanner.js +6 -0
  113. package/react/hooks/useCurrentMenuItem.js +29 -0
  114. package/react/hooks/usePrepMenuItems.js +24 -0
  115. package/react/hooks/useRefAlways.js +8 -0
  116. package/react/hooks/useRefLazy.js +11 -0
  117. package/react/hooks/useScrollPosition.js +18 -0
  118. package/react/hooks/useStateEffect.js +43 -0
  119. package/react/propTypesShapes/MenuItemShape.js +20 -0
  120. package/react/propTypesShapes/MenuItemsShape.js +4 -0
  121. package/react/propTypesShapes/MenuShape.js +10 -0
  122. package/react/propTypesShapes/RefShape.js +9 -0
  123. package/react/util/arrayMatchRecursive.js +21 -0
  124. package/react/util/chainSorters.js +19 -0
  125. package/react/util/handleEvent.js +25 -0
  126. package/react/util/handleKeyPress.js +1 -0
  127. package/react/util/joinClassNames.js +23 -0
  128. package/react/util/menuItems/calculateMenuItemsParents.js +54 -0
  129. package/react/util/menuItems/findMenuItemInMenusByPathname.js +25 -0
  130. package/react/util/onKeyPress.js +12 -0
  131. package/react/util/rectContainsPoint.js +7 -0
  132. package/react/util/state/setValueAtPath.js +80 -0
  133. package/react/util/state/valueAtPath.js +5 -0
  134. package/react/util/stringToId.js +11 -0
@@ -0,0 +1,2374 @@
1
+ /*
2
+ BEM standard: Block, Element, Modifier
3
+ Block: use dashes to separate words:
4
+ - my-react-component
5
+ - super-list
6
+ - cats-r-great
7
+ Element: use two underscores for elements
8
+ Elements are children at any level of the Block:
9
+ - my-react-component__block
10
+ - super-list__name
11
+ - super-list__info
12
+ - cats-r-great__whiskers
13
+ Modifier: use two dashes for modifiers
14
+ - my-react-component--alt
15
+ - super-list--flat
16
+ - cats-r-great--black
17
+ */
18
+ /*
19
+ ############ _settings-index.scss ############
20
+ CSS Class Variables
21
+ */
22
+ /*
23
+ ############ _spacing.scss ############
24
+ 8px horizontal spacing
25
+ */
26
+ .utah-design-system {
27
+ --spacing-3xs: 2px;
28
+ --spacing-2xs: 4px;
29
+ --spacing-xs: 8px;
30
+ --spacing-s: 12px;
31
+ --spacing: 16px;
32
+ --spacing-l: 24px;
33
+ --spacing-xl: 32px;
34
+ --spacing-2xl: 40px;
35
+ --spacing-3xl: 48px;
36
+ --spacing-4xl: 64px;
37
+ --spacing-5xl: 80px;
38
+ --spacing-6xl: 96px;
39
+ }
40
+
41
+ .utah-design-system .m-spacing {
42
+ margin: var(--spacing);
43
+ }
44
+
45
+ .utah-design-system .mt-spacing {
46
+ margin-top: var(--spacing);
47
+ }
48
+
49
+ .utah-design-system .mr-spacing {
50
+ margin-right: var(--spacing);
51
+ }
52
+
53
+ .utah-design-system .mb-spacing {
54
+ margin-bottom: var(--spacing);
55
+ }
56
+
57
+ .utah-design-system .ml-spacing {
58
+ margin-left: var(--spacing);
59
+ }
60
+
61
+ .utah-design-system .mx-spacing {
62
+ margin-left: var(--spacing);
63
+ margin-right: var(--spacing);
64
+ }
65
+
66
+ .utah-design-system .my-spacing {
67
+ margin-top: var(--spacing);
68
+ margin-bottom: var(--spacing);
69
+ }
70
+
71
+ .utah-design-system .m-spacing-l {
72
+ margin: var(--spacing-l);
73
+ }
74
+
75
+ .utah-design-system .mt-spacing-l {
76
+ margin-top: var(--spacing-l);
77
+ }
78
+
79
+ .utah-design-system .mr-spacing-l {
80
+ margin-right: var(--spacing-l);
81
+ }
82
+
83
+ .utah-design-system .mb-spacing-l {
84
+ margin-bottom: var(--spacing-l);
85
+ }
86
+
87
+ .utah-design-system .ml-spacing-l {
88
+ margin-left: var(--spacing-l);
89
+ }
90
+
91
+ .utah-design-system .mx-spacing-l {
92
+ margin-left: var(--spacing-l);
93
+ margin-right: var(--spacing-l);
94
+ }
95
+
96
+ .utah-design-system .my-spacing-l {
97
+ margin-top: var(--spacing-l);
98
+ margin-bottom: var(--spacing-l);
99
+ }
100
+
101
+ .utah-design-system .m-spacing-xs {
102
+ margin: var(--spacing-xs);
103
+ }
104
+
105
+ .utah-design-system .mt-spacing-xs {
106
+ margin-top: var(--spacing-xs);
107
+ }
108
+
109
+ .utah-design-system .mr-spacing-xs {
110
+ margin-right: var(--spacing-xs);
111
+ }
112
+
113
+ .utah-design-system .mb-spacing-xs {
114
+ margin-bottom: var(--spacing-xs);
115
+ }
116
+
117
+ .utah-design-system .ml-spacing-xs {
118
+ margin-left: var(--spacing-xs);
119
+ }
120
+
121
+ .utah-design-system .mx-spacing-xs {
122
+ margin-left: var(--spacing-xs);
123
+ margin-right: var(--spacing-xs);
124
+ }
125
+
126
+ .utah-design-system .my-spacing-xs {
127
+ margin-top: var(--spacing-xs);
128
+ margin-bottom: var(--spacing-xs);
129
+ }
130
+
131
+ .utah-design-system .p-spacing {
132
+ padding: var(--spacing);
133
+ }
134
+
135
+ .utah-design-system .pt-spacing {
136
+ padding-top: var(--spacing);
137
+ }
138
+
139
+ .utah-design-system .pr-spacing {
140
+ padding-right: var(--spacing);
141
+ }
142
+
143
+ .utah-design-system .pb-spacing {
144
+ padding-bottom: var(--spacing);
145
+ }
146
+
147
+ .utah-design-system .pl-spacing {
148
+ padding-left: var(--spacing);
149
+ }
150
+
151
+ .utah-design-system .px-spacing {
152
+ padding-left: var(--spacing);
153
+ padding-right: var(--spacing);
154
+ }
155
+
156
+ .utah-design-system .py-spacing {
157
+ padding-top: var(--spacing);
158
+ padding-bottom: var(--spacing);
159
+ }
160
+
161
+ .utah-design-system .p-spacing-l {
162
+ padding: var(--spacing-l);
163
+ }
164
+
165
+ .utah-design-system .pt-spacing-l {
166
+ padding-top: var(--spacing-l);
167
+ }
168
+
169
+ .utah-design-system .pr-spacing-l {
170
+ padding-right: var(--spacing-l);
171
+ }
172
+
173
+ .utah-design-system .pb-spacing-l {
174
+ padding-bottom: var(--spacing-l);
175
+ }
176
+
177
+ .utah-design-system .pl-spacing-l {
178
+ padding-left: var(--spacing-l);
179
+ }
180
+
181
+ .utah-design-system .px-spacing-l {
182
+ padding-left: var(--spacing-l);
183
+ padding-right: var(--spacing-l);
184
+ }
185
+
186
+ .utah-design-system .py-spacing-l {
187
+ padding-top: var(--spacing-l);
188
+ padding-bottom: var(--spacing-l);
189
+ }
190
+
191
+ .utah-design-system .m-auto {
192
+ margin: auto;
193
+ }
194
+
195
+ .utah-design-system .mt-auto {
196
+ margin-top: auto;
197
+ }
198
+
199
+ .utah-design-system .mr-auto {
200
+ margin-right: auto;
201
+ }
202
+
203
+ .utah-design-system .mb-auto {
204
+ margin-bottom: auto;
205
+ }
206
+
207
+ .utah-design-system .ml-auto {
208
+ margin-left: auto;
209
+ }
210
+
211
+ .utah-design-system .mx-auto {
212
+ margin-left: auto;
213
+ margin-right: auto;
214
+ }
215
+
216
+ .utah-design-system .my-auto {
217
+ margin-top: auto;
218
+ margin-bottom: auto;
219
+ }
220
+
221
+ /*
222
+ ############ _font-size.scss ############
223
+ Grid variables
224
+ */
225
+ .utah-design-system {
226
+ --grid-fixed: var(--content-width);
227
+ --grid-fixed-half: calc(var(--grid-fixed) / 2);
228
+ --grid-fixed-form: calc(var(--grid-fixed) / 2.3);
229
+ --grid-fixed-third: calc(var(--grid-fixed) / 3);
230
+ --grid-fixed-fourth: calc(var(--grid-fixed) / 4);
231
+ }
232
+
233
+ .grid-wrapper {
234
+ display: flex;
235
+ justify-content: center;
236
+ }
237
+
238
+ .grid-fixed {
239
+ max-width: var(--grid-fixed);
240
+ width: 100%;
241
+ display: grid;
242
+ grid-template-columns: 1fr;
243
+ gap: var(--spacing-l);
244
+ }
245
+
246
+ .grid-fixed--2col {
247
+ grid-template-columns: 1fr 1fr;
248
+ }
249
+
250
+ .grid-fixed--3col {
251
+ grid-template-columns: 1fr 1fr 1fr;
252
+ }
253
+
254
+ .grid-fixed--4col {
255
+ grid-template-columns: 1fr 1fr 1fr 1fr;
256
+ }
257
+
258
+ .grid-fixed .grid-column-span-2 {
259
+ grid-column: span 2;
260
+ }
261
+
262
+ /*
263
+ ############ _font-size.scss ############
264
+ Font size variables
265
+ */
266
+ .utah-design-system {
267
+ --font-size-2xs: .8125rem;
268
+ --font-size-xs: .875rem;
269
+ --font-size-s: .9375rem;
270
+ --font-size: 1rem;
271
+ --font-size-m: 1.125rem;
272
+ --font-size-l: 1.25rem;
273
+ --font-size-xl: 1.5rem;
274
+ --font-size-2xl: 1.75rem;
275
+ --font-size-3xl: 2rem;
276
+ --font-size-4xl: 2.5rem;
277
+ --font-size-5xl: 3rem;
278
+ --font-size-6xl: 3.5rem;
279
+ --font-size-7xl: 4.5rem;
280
+ }
281
+
282
+ .font-size-2xs {
283
+ font-size: var(--font-size-2xs);
284
+ }
285
+
286
+ .font-size-xs {
287
+ font-size: var(--font-size-xs);
288
+ }
289
+
290
+ .font-size-s {
291
+ font-size: var(--font-size-s);
292
+ }
293
+
294
+ .font-size {
295
+ font-size: var(--font-size);
296
+ }
297
+
298
+ .font-size-m {
299
+ font-size: var(--font-size-m);
300
+ }
301
+
302
+ .font-size-l {
303
+ font-size: var(--font-size-l);
304
+ }
305
+
306
+ .font-size-xl {
307
+ font-size: var(--font-size-xl);
308
+ }
309
+
310
+ .font-size-2xl {
311
+ font-size: var(--font-size-2xl);
312
+ }
313
+
314
+ .font-size-3xl {
315
+ font-size: var(--font-size-3xl);
316
+ }
317
+
318
+ .font-size-4xl {
319
+ font-size: var(--font-size-4xl);
320
+ }
321
+
322
+ .font-size-5xl {
323
+ font-size: var(--font-size-5xl);
324
+ }
325
+
326
+ .font-size-6xl {
327
+ font-size: var(--font-size-6xl);
328
+ }
329
+
330
+ .font-size-7xl {
331
+ font-size: var(--font-size-7xl);
332
+ }
333
+
334
+ .utah-design-system {
335
+ --font-weight-normal: 400;
336
+ --font-weight-semi-bold: 600;
337
+ --font-weight-bold: 700;
338
+ --font-weight-black: 900;
339
+ }
340
+
341
+ .font-normal {
342
+ font-weight: var(--font-weight-normal);
343
+ }
344
+
345
+ .font-semi-bold {
346
+ font-weight: var(--font-weight-semi-bold);
347
+ }
348
+
349
+ .font-bold {
350
+ font-weight: var(--font-weight-bold);
351
+ }
352
+
353
+ .font-black {
354
+ font-weight: var(--font-weight-black);
355
+ }
356
+
357
+ /*
358
+ ############ _color-swatches.scss ############
359
+ base color swatches for the design system
360
+ */
361
+ .utah-design-system {
362
+ --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");
363
+ --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");
364
+ }
365
+
366
+ /*
367
+ ############ _settings-index.scss ############
368
+ variables and settings
369
+ */
370
+ .utah-design-system {
371
+ /* color */
372
+ /* ######## Pick these colors to match your desired style ######## */
373
+ --primary-color: purple;
374
+ --primary-color-dark: rgb(50, 0, 50);
375
+ --primary-color-light: rgb(219, 159, 219);
376
+ --gray-on-primary-color: #474747;
377
+ --secondary-color: rgb(0, 255, 136);
378
+ --secondary-color-dark: rgb(0, 66, 35);
379
+ --secondary-color-light: rgb(183, 250, 218);
380
+ --gray-on-secondary-color: #474747;
381
+ --accent-color: gold;
382
+ --accent-color-dark: rgb(114, 97, 0);
383
+ --accent-color-light: rgb(245, 238, 196);
384
+ --gray-on-accent-color: #474747;
385
+ --form-ele-color: #2765e4;
386
+ --form-ele-color-light: #7aa0ee;
387
+ --form-ele-disabled-color: #959595;
388
+ /* ######## --------------------------------------------- ######## */
389
+ --gray-color: #474747;
390
+ --gray-medium-color: #616161;
391
+ --gray-medium-light-color: #d7d7d7;
392
+ --gray-light-color: #f1f1f1;
393
+ --gray-dark-color: #333333;
394
+ --hover-gray-color: rgba(0,0,0,0.07);
395
+ --hover-gray-color-opaque: rgba(233,233,233);
396
+ --code-color: #e4e4e4;
397
+ --gray-border: #d7d7d7;
398
+ /* transition timings */
399
+ --timing-xquick: 100ms;
400
+ --timing-quick: 200ms;
401
+ --timing-medium: 400ms;
402
+ --timing-slow: 600ms;
403
+ /* rounded corners */
404
+ --radius-small1x: 3px;
405
+ --radius-small: 6px;
406
+ --radius-medium: 9px;
407
+ --radius-large: 12px;
408
+ --radius-circle: 999px;
409
+ /* form element sizes */
410
+ --form-ele-small4x: .75rem;
411
+ --form-ele-small3x: 1rem;
412
+ --form-ele-small2x: 1.25rem;
413
+ --form-ele-small1x: 1.5rem;
414
+ --form-ele-small: 1.875rem;
415
+ --form-ele-medium: 2.25rem;
416
+ --form-ele-large: 2.5rem;
417
+ --form-ele-large1x: 3.125rem;
418
+ --form-checkbox-small: 0.875rem;
419
+ --form-checkbox-medium: 1.125rem;
420
+ --form-checkbox-large: 1.375rem;
421
+ /* content layout sizes */
422
+ --content-width-narrow: 800px;
423
+ --content-width: 1224px;
424
+ --content-width-wide: 1432px;
425
+ --documentation-width: 700px;
426
+ --documentation-left-width: 200px;
427
+ --documentation-right-width: 200px;
428
+ --documentation-padding: var(--spacing-2xl) var(--spacing-xl);
429
+ }
430
+
431
+ /* color utility classes */
432
+ .primary-color-background {
433
+ background-color: var(--primary-color);
434
+ }
435
+
436
+ .primary-color-dark-background {
437
+ background-color: var(--primary-color-dark);
438
+ }
439
+
440
+ .primary-color-light-background {
441
+ background-color: var(--primary-color-light);
442
+ }
443
+
444
+ .gray-on-primary-background {
445
+ background-color: var(--gray-on-primary-color);
446
+ }
447
+
448
+ .primary-color {
449
+ color: var(--primary-color);
450
+ }
451
+
452
+ .primary-color-border {
453
+ border-color: var(--primary-color);
454
+ }
455
+
456
+ .secondary-color-background {
457
+ background-color: var(--secondary-color);
458
+ }
459
+
460
+ .secondary-color-dark-background {
461
+ background-color: var(--secondary-color-dark);
462
+ }
463
+
464
+ .secondary-color-light-background {
465
+ background-color: var(--secondary-color-light);
466
+ }
467
+
468
+ .gray-on-secondary-background {
469
+ background-color: var(--gray-on-secondary-color);
470
+ }
471
+
472
+ .secondary-color {
473
+ color: var(--secondary-color);
474
+ }
475
+
476
+ .secondary-color-border {
477
+ border-color: var(--secondary-color);
478
+ }
479
+
480
+ .accent-color-background {
481
+ background-color: var(--accent-color);
482
+ }
483
+
484
+ .accent-color-dark-background {
485
+ background-color: var(--accent-color-dark);
486
+ }
487
+
488
+ .accent-color-light-background {
489
+ background-color: var(--accent-color-light);
490
+ }
491
+
492
+ .gray-on-accent-background {
493
+ background-color: var(--gray-on-accent-color);
494
+ }
495
+
496
+ .accent-color {
497
+ color: var(--accent-color);
498
+ }
499
+
500
+ .accent-color-border {
501
+ border-color: var(--accent-color);
502
+ }
503
+
504
+ .gray-color-background {
505
+ background-color: var(--gray-color);
506
+ }
507
+
508
+ .gray-color-light-background {
509
+ background-color: var(--gray-light-color);
510
+ }
511
+
512
+ .white-color {
513
+ color: white;
514
+ }
515
+
516
+ /*
517
+ ############ _tools-index.scss ############
518
+ scss mixins and functions
519
+ */
520
+ /*
521
+ ############ _generic-index.scss ############
522
+ css resets, etc.
523
+ */
524
+ /*
525
+ ############ _settings-index.scss ############
526
+ CSS Class Variables
527
+ */
528
+ /*
529
+ ############ _elements-index.scss ############
530
+ elemental html: h1, h2, h3, ul, li, etc.
531
+ */
532
+ .utah-design-system {
533
+ margin: 0;
534
+ font-family: "Source Sans Pro", "Helvetica Neue", sans-serif;
535
+ font-size: 16px;
536
+ line-height: 1.3;
537
+ -webkit-font-smoothing: antialiased;
538
+ -moz-osx-font-smoothing: grayscale;
539
+ background: white;
540
+ color: var(--gray-color);
541
+ }
542
+
543
+ .utah-design-system h1 {
544
+ font-size: var(--font-size-4xl);
545
+ margin: 0;
546
+ }
547
+
548
+ .utah-design-system h2 {
549
+ font-size: var(--font-size-3xl);
550
+ margin: 0;
551
+ }
552
+
553
+ .utah-design-system h3 {
554
+ font-size: var(--font-size-2xl);
555
+ font-weight: var(--font-weight-normal);
556
+ margin: 0;
557
+ }
558
+
559
+ .utah-design-system h4 {
560
+ font-size: var(--font-size-l);
561
+ font-weight: var(--font-weight-normal);
562
+ margin: 0;
563
+ }
564
+
565
+ .utah-design-system h5 {
566
+ font-size: var(--font-size);
567
+ margin: 0;
568
+ }
569
+
570
+ .utah-design-system h6 {
571
+ font-size: var(--font-size);
572
+ margin: 0;
573
+ }
574
+
575
+ .utah-design-system p {
576
+ margin: 0 0 var(--spacing-l);
577
+ }
578
+
579
+ .utah-design-system code {
580
+ font-family: "Source Code Pro", monospace;
581
+ font-size: 0.95em;
582
+ background: var(--code-color);
583
+ padding: var(--spacing-3xs) var(--spacing-xs);
584
+ border-radius: var(--radius-small1x);
585
+ }
586
+
587
+ .utah-design-system code.primary-color {
588
+ color: var(--primary-color);
589
+ background: var(--primary-color-light);
590
+ }
591
+
592
+ .utah-design-system pre {
593
+ white-space: pre-wrap;
594
+ word-wrap: break-word;
595
+ }
596
+
597
+ .utah-design-system ul {
598
+ list-style-type: disc;
599
+ padding: 0 0 0 var(--spacing-2xl);
600
+ margin: 0;
601
+ line-height: 1.7;
602
+ }
603
+
604
+ .utah-design-system hr {
605
+ height: 0;
606
+ width: 100%;
607
+ border: none;
608
+ border-top: 1px solid var(--gray-border);
609
+ }
610
+
611
+ .utah-design-system a[href] {
612
+ color: var(--primary-color);
613
+ }
614
+
615
+ .utah-design-system a[href]:hover {
616
+ box-shadow: -3px -1px 0 0px var(--hover-gray-color-opaque), 3px -1px 0 0px var(--hover-gray-color-opaque), 3px 1px 0 0px var(--hover-gray-color-opaque), -3px 1px 0 0px var(--hover-gray-color-opaque), inset 0 0 0 1000px var(--hover-gray-color-opaque);
617
+ color: var(--primary-color-dark);
618
+ }
619
+
620
+ /*
621
+ ############ _objects-index.scss ############
622
+ containers and general design patterns, 2up, 3up, layout grids, etc.
623
+ */
624
+ .lead-in {
625
+ font-size: var(--font-size-m);
626
+ line-height: 1.6rem;
627
+ }
628
+
629
+ /*
630
+ ############ _settings-index.scss ############
631
+ CSS Class Variables
632
+ */
633
+ .utah-design-system .accordion__header, .utah-design-system .accordion__header.button {
634
+ border-radius: 0;
635
+ font-size: var(--font-size-2xl);
636
+ font-weight: var(--font-weight-bold);
637
+ padding: var(--spacing);
638
+ border: none;
639
+ display: flex;
640
+ flex-direction: row;
641
+ justify-content: space-between;
642
+ width: 100%;
643
+ box-sizing: border-box;
644
+ }
645
+
646
+ .utah-design-system .accordion__content {
647
+ background: var(--gray-light-color);
648
+ padding: 0;
649
+ box-sizing: border-box;
650
+ height: 0;
651
+ overflow: hidden;
652
+ }
653
+
654
+ .utah-design-system .accordion__content--open {
655
+ height: auto;
656
+ padding: var(--spacing);
657
+ }
658
+
659
+ .utah-design-system .tab-group__list {
660
+ display: flex;
661
+ justify-content: space-evenly;
662
+ }
663
+
664
+ .utah-design-system .tab-group__list.tab-group--small-text .tab-group__tab-button {
665
+ font-size: var(--font-size);
666
+ }
667
+
668
+ .utah-design-system .tab-group__tab {
669
+ flex: 1 1 auto;
670
+ display: flex;
671
+ justify-content: center;
672
+ position: relative;
673
+ }
674
+
675
+ .utah-design-system .tab-group__tab::after {
676
+ content: "";
677
+ position: absolute;
678
+ left: 0;
679
+ bottom: 0;
680
+ width: 100%;
681
+ height: 1px;
682
+ background: var(--gray-color);
683
+ }
684
+
685
+ .utah-design-system .tab-group__tab--selected::after {
686
+ height: 5px;
687
+ bottom: -2px;
688
+ border-radius: var(--radius-circle);
689
+ background-color: var(--primary-color);
690
+ }
691
+
692
+ .utah-design-system .tab-group__tab-button {
693
+ border: none;
694
+ font-size: var(--font-size-l);
695
+ font-weight: var(--font-weight-semi-bold);
696
+ background-color: transparent;
697
+ margin: var(--spacing-xs) 0;
698
+ }
699
+
700
+ .utah-design-system .tab-group__tab-button:hover {
701
+ background-color: var(--hover-gray-color);
702
+ color: inherit;
703
+ }
704
+
705
+ .utah-design-system .tab-group__tab-button--selected {
706
+ color: var(--primary-color);
707
+ }
708
+
709
+ .utah-design-system .tab-group__panel {
710
+ display: none;
711
+ padding-top: var(--spacing);
712
+ }
713
+
714
+ .utah-design-system .tab-group__panel--selected {
715
+ display: block;
716
+ }
717
+
718
+ /*
719
+ ############ _tools-index.scss ############
720
+ scss mixins and functions
721
+ */ /*
722
+ ############ _button.scss ############
723
+ */
724
+ .utah-design-system {
725
+ /* ------------ Show a dark contrast color on a light background ------------ */
726
+ /* ------------ Show a light contrast color on dark background ------------ */
727
+ }
728
+
729
+ .utah-design-system button, .utah-design-system .button {
730
+ background: white;
731
+ border-radius: 999px;
732
+ border: 2px solid var(--gray-color);
733
+ font-size: 1rem;
734
+ min-height: var(--form-ele-medium);
735
+ padding: 0 var(--spacing-xl);
736
+ display: flex;
737
+ align-items: center;
738
+ justify-content: center;
739
+ cursor: pointer;
740
+ transition: all 200ms ease-in-out, transform 100ms ease, box-shadow 100ms ease;
741
+ color: var(--gray-color);
742
+ text-decoration: none;
743
+ }
744
+
745
+ .utah-design-system button:hover, .utah-design-system .button:hover {
746
+ background: var(--gray-color);
747
+ color: white;
748
+ }
749
+
750
+ .utah-design-system button:hover svg, .utah-design-system .button:hover svg {
751
+ fill: currentColor;
752
+ }
753
+
754
+ .utah-design-system button[disabled], .utah-design-system button[disable]:hover, .utah-design-system .button[disabled], .utah-design-system .button[disable]:hover {
755
+ cursor: not-allowed;
756
+ background: white !important;
757
+ color: var(--form-ele-disabled-color) !important;
758
+ border-color: var(--form-ele-disabled-color) !important;
759
+ }
760
+
761
+ .utah-design-system button[disabled]:active, .utah-design-system button[disable]:hover:active, .utah-design-system .button[disabled]:active, .utah-design-system .button[disable]:hover:active {
762
+ transform: none;
763
+ box-shadow: none;
764
+ }
765
+
766
+ .utah-design-system button:active, .utah-design-system .button:active {
767
+ transform: scale(0.96);
768
+ box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.5);
769
+ }
770
+
771
+ .utah-design-system button:focus-visible, .utah-design-system .button:focus-visible {
772
+ outline: 2px solid var(--form-ele-color);
773
+ outline-offset: 2px;
774
+ transition: none;
775
+ }
776
+
777
+ .utah-design-system .button {
778
+ /* ------------ SIZES ------------ */
779
+ /* ------------ SOLID COLOR ------------ */
780
+ }
781
+
782
+ .utah-design-system .button--small {
783
+ font-size: 0.938rem;
784
+ min-height: var(--form-ele-small);
785
+ padding: 0 var(--spacing);
786
+ }
787
+
788
+ .utah-design-system .button--large {
789
+ font-size: 1.25rem;
790
+ min-height: var(--form-ele-large);
791
+ }
792
+
793
+ .utah-design-system .button--large1x {
794
+ font-size: 1.5rem;
795
+ min-height: var(--form-ele-large1x);
796
+ padding: 0 var(--spacing-2xl);
797
+ }
798
+
799
+ .utah-design-system .button--icon {
800
+ display: flex;
801
+ align-items: center;
802
+ }
803
+
804
+ .utah-design-system .button--icon svg {
805
+ height: 0.8rem;
806
+ width: 0.8rem;
807
+ fill: currentColor;
808
+ }
809
+
810
+ .utah-design-system .button--icon-left {
811
+ margin-right: var(--spacing-xs);
812
+ }
813
+
814
+ .utah-design-system .button--icon-right {
815
+ margin-left: var(--spacing-xs);
816
+ }
817
+
818
+ .utah-design-system .button--primary-color {
819
+ border-color: var(--primary-color);
820
+ color: var(--primary-color);
821
+ }
822
+
823
+ .utah-design-system .button--primary-color:hover {
824
+ background-color: var(--primary-color);
825
+ color: white;
826
+ }
827
+
828
+ .utah-design-system .button--primary-color:hover svg {
829
+ fill: white;
830
+ }
831
+
832
+ .primary-color-is-light.utah-design-system .button--primary-color {
833
+ border-color: var(--primary-color-dark);
834
+ color: var(--primary-color-dark);
835
+ }
836
+
837
+ .primary-color-is-light.utah-design-system .button--primary-color:hover {
838
+ background-color: var(--primary-color-dark);
839
+ color: white;
840
+ }
841
+
842
+ .utah-design-system .button--secondary-color {
843
+ border-color: var(--secondary-color);
844
+ color: var(--secondary-color);
845
+ }
846
+
847
+ .utah-design-system .button--secondary-color:hover {
848
+ background-color: var(--secondary-color);
849
+ color: white;
850
+ }
851
+
852
+ .secondary-color-is-light.utah-design-system .button--secondary-color {
853
+ border-color: var(--secondary-color-dark);
854
+ color: var(--secondary-color-dark);
855
+ }
856
+
857
+ .secondary-color-is-light.utah-design-system .button--secondary-color:hover {
858
+ background-color: var(--secondary-color-dark);
859
+ color: white;
860
+ }
861
+
862
+ .utah-design-system .button--accent-color {
863
+ border-color: var(--accent-color);
864
+ color: var(--accent-color);
865
+ }
866
+
867
+ .utah-design-system .button--accent-color:hover {
868
+ background-color: var(--accent-color);
869
+ color: white;
870
+ }
871
+
872
+ .accent-color-is-light.utah-design-system .button--accent-color {
873
+ border-color: var(--accent-color-dark);
874
+ color: var(--accent-color-dark);
875
+ }
876
+
877
+ .accent-color-is-light.utah-design-system .button--accent-color:hover {
878
+ background-color: var(--accent-color-dark);
879
+ color: white;
880
+ }
881
+
882
+ .utah-design-system .button--solid {
883
+ background: var(--gray-color);
884
+ color: white;
885
+ }
886
+
887
+ .utah-design-system .button--solid:hover {
888
+ background-color: var(--gray-dark-color);
889
+ border-color: var(--gray-dark-color);
890
+ }
891
+
892
+ .utah-design-system .button--solid.button--primary-color {
893
+ background-color: var(--primary-color);
894
+ border-color: var(--primary-color);
895
+ color: white;
896
+ }
897
+
898
+ .utah-design-system .button--solid.button--primary-color:hover {
899
+ background-color: var(--primary-color-dark);
900
+ border-color: var(--primary-color-dark);
901
+ }
902
+
903
+ .primary-color-is-light.utah-design-system .button--solid.button--primary-color {
904
+ color: var(--gray-on-primary-color);
905
+ border-color: var(--primary-color-dark);
906
+ }
907
+
908
+ .primary-color-is-light.utah-design-system .button--solid.button--primary-color:hover {
909
+ color: white;
910
+ border-color: var(--primary-color-dark);
911
+ }
912
+
913
+ .utah-design-system .button--solid.button--primary-color.contrast-border-dark {
914
+ border-color: var(--gray-on-primary-color);
915
+ }
916
+
917
+ .utah-design-system .button--solid.button--secondary-color {
918
+ background-color: var(--secondary-color);
919
+ border-color: var(--secondary-color);
920
+ color: white;
921
+ }
922
+
923
+ .utah-design-system .button--solid.button--secondary-color:hover {
924
+ background-color: var(--secondary-color-dark);
925
+ border-color: var(--secondary-color-dark);
926
+ }
927
+
928
+ .secondary-color-is-light.utah-design-system .button--solid.button--secondary-color {
929
+ color: var(--gray-on-secondary-color);
930
+ border-color: var(--secondary-color-dark);
931
+ }
932
+
933
+ .secondary-color-is-light.utah-design-system .button--solid.button--secondary-color:hover {
934
+ color: white;
935
+ border-color: var(--secondary-color-dark);
936
+ }
937
+
938
+ .utah-design-system .button--solid.button--secondary-color.contrast-border-dark {
939
+ border-color: var(--gray-on-secondary-color);
940
+ }
941
+
942
+ .utah-design-system .button--solid.button--accent-color {
943
+ background-color: var(--accent-color);
944
+ border-color: var(--accent-color);
945
+ color: white;
946
+ }
947
+
948
+ .utah-design-system .button--solid.button--accent-color:hover {
949
+ background-color: var(--accent-color-dark);
950
+ border-color: var(--accent-color-dark);
951
+ }
952
+
953
+ .accent-color-is-light.utah-design-system .button--solid.button--accent-color {
954
+ color: var(--gray-on-accent-color);
955
+ border-color: var(--accent-color-dark);
956
+ }
957
+
958
+ .accent-color-is-light.utah-design-system .button--solid.button--accent-color:hover {
959
+ color: white;
960
+ border-color: var(--accent-color-dark);
961
+ }
962
+
963
+ .utah-design-system .button--solid.button--accent-color.contrast-border-dark {
964
+ border-color: var(--gray-on-accent-color);
965
+ }
966
+
967
+ .utah-design-system .button--solid.contrast-border-light {
968
+ border-color: white;
969
+ }
970
+
971
+ .utah-design-system .button--solid[disabled], .utah-design-system .button--solid[disable]:hover {
972
+ cursor: not-allowed;
973
+ background: var(--form-ele-disabled-color) !important;
974
+ color: white !important;
975
+ border-color: var(--form-ele-disabled-color) !important;
976
+ }
977
+
978
+ .utah-design-system .primary-color-background .button--solid.contrast-border-dark {
979
+ border-color: var(--gray-on-primary-color);
980
+ }
981
+
982
+ .utah-design-system .secondary-color-background .button--solid.contrast-border-dark {
983
+ border-color: var(--gray-on-secondary-color);
984
+ }
985
+
986
+ .utah-design-system .accent-color-background .button--solid.contrast-border-dark {
987
+ border-color: var(--gray-on-accent-color);
988
+ }
989
+
990
+ .utah-design-system .dark-background-color .button {
991
+ border-color: white;
992
+ background: none;
993
+ color: white;
994
+ }
995
+
996
+ .utah-design-system .dark-background-color .button:hover {
997
+ border-color: white;
998
+ background: white;
999
+ color: var(--gray-color);
1000
+ }
1001
+
1002
+ .utah-design-system .dark-background-color .button.button--primary-color {
1003
+ border-color: var(--primary-color);
1004
+ background: white;
1005
+ color: var(--primary-color);
1006
+ }
1007
+
1008
+ .utah-design-system .dark-background-color .button.button--primary-color:hover {
1009
+ border-color: white;
1010
+ background: var(--primary-color);
1011
+ color: white;
1012
+ }
1013
+
1014
+ .primary-color-is-light.utah-design-system .dark-background-color .button.button--primary-color {
1015
+ border-color: var(--primary-color);
1016
+ background: none;
1017
+ color: var(--primary-color);
1018
+ }
1019
+
1020
+ .primary-color-is-light.utah-design-system .dark-background-color .button.button--primary-color:hover {
1021
+ background: var(--primary-color);
1022
+ color: var(--gray-color);
1023
+ }
1024
+
1025
+ .utah-design-system .dark-background-color .button.button--secondary-color {
1026
+ border-color: var(--secondary-color);
1027
+ background: white;
1028
+ color: var(--secondary-color);
1029
+ }
1030
+
1031
+ .utah-design-system .dark-background-color .button.button--secondary-color:hover {
1032
+ border-color: white;
1033
+ background: var(--secondary-color);
1034
+ color: white;
1035
+ }
1036
+
1037
+ .secondary-color-is-light.utah-design-system .dark-background-color .button.button--secondary-color {
1038
+ border-color: var(--secondary-color);
1039
+ background: none;
1040
+ color: var(--secondary-color);
1041
+ }
1042
+
1043
+ .secondary-color-is-light.utah-design-system .dark-background-color .button.button--secondary-color:hover {
1044
+ background: var(--secondary-color);
1045
+ color: var(--gray-color);
1046
+ }
1047
+
1048
+ .utah-design-system .dark-background-color .button.button--accent-color {
1049
+ border-color: var(--accent-color);
1050
+ background: white;
1051
+ color: var(--accent-color);
1052
+ }
1053
+
1054
+ .utah-design-system .dark-background-color .button.button--accent-color:hover {
1055
+ border-color: white;
1056
+ background: var(--accent-color);
1057
+ color: white;
1058
+ }
1059
+
1060
+ .accent-color-is-light.utah-design-system .dark-background-color .button.button--accent-color {
1061
+ border-color: var(--accent-color);
1062
+ background: none;
1063
+ color: var(--accent-color);
1064
+ }
1065
+
1066
+ .accent-color-is-light.utah-design-system .dark-background-color .button.button--accent-color:hover {
1067
+ background: var(--accent-color);
1068
+ color: var(--gray-color);
1069
+ }
1070
+
1071
+ .utah-design-system .dark-background-color .button--solid {
1072
+ border-color: white;
1073
+ background: white;
1074
+ color: var(--gray-color);
1075
+ }
1076
+
1077
+ .utah-design-system .dark-background-color .button--solid:hover {
1078
+ border-color: white;
1079
+ background: none;
1080
+ color: white;
1081
+ }
1082
+
1083
+ .utah-design-system .dark-background-color .button--solid.button--primary-color {
1084
+ border-color: white;
1085
+ background: var(--primary-color);
1086
+ color: white;
1087
+ }
1088
+
1089
+ .utah-design-system .dark-background-color .button--solid.button--primary-color:hover {
1090
+ border-color: var(--primary-color);
1091
+ background: white;
1092
+ color: var(--primary-color);
1093
+ }
1094
+
1095
+ .primary-color-is-light.utah-design-system .dark-background-color .button--solid.button--primary-color {
1096
+ border-color: var(--primary-color);
1097
+ background: var(--primary-color);
1098
+ color: var(--gray-color);
1099
+ }
1100
+
1101
+ .primary-color-is-light.utah-design-system .dark-background-color .button--solid.button--primary-color:hover {
1102
+ background: var(--primary-color-dark);
1103
+ color: white;
1104
+ }
1105
+
1106
+ .utah-design-system .dark-background-color .button--solid.button--secondary-color {
1107
+ border-color: white;
1108
+ background: var(--secondary-color);
1109
+ color: white;
1110
+ }
1111
+
1112
+ .utah-design-system .dark-background-color .button--solid.button--secondary-color:hover {
1113
+ border-color: var(--secondary-color);
1114
+ background: white;
1115
+ color: var(--secondary-color);
1116
+ }
1117
+
1118
+ .secondary-color-is-light.utah-design-system .dark-background-color .button--solid.button--secondary-color {
1119
+ border-color: var(--secondary-color);
1120
+ background: var(--secondary-color);
1121
+ color: var(--gray-color);
1122
+ }
1123
+
1124
+ .secondary-color-is-light.utah-design-system .dark-background-color .button--solid.button--secondary-color:hover {
1125
+ background: var(--secondary-color-dark);
1126
+ color: white;
1127
+ }
1128
+
1129
+ .utah-design-system .dark-background-color .button--solid.button--accent-color {
1130
+ border-color: white;
1131
+ background: var(--accent-color);
1132
+ color: white;
1133
+ }
1134
+
1135
+ .utah-design-system .dark-background-color .button--solid.button--accent-color:hover {
1136
+ border-color: var(--accent-color);
1137
+ background: white;
1138
+ color: var(--accent-color);
1139
+ }
1140
+
1141
+ .accent-color-is-light.utah-design-system .dark-background-color .button--solid.button--accent-color {
1142
+ border-color: var(--accent-color);
1143
+ background: var(--accent-color);
1144
+ color: var(--gray-color);
1145
+ }
1146
+
1147
+ .accent-color-is-light.utah-design-system .dark-background-color .button--solid.button--accent-color:hover {
1148
+ background: var(--accent-color-dark);
1149
+ color: white;
1150
+ }
1151
+
1152
+ /*
1153
+ ############ _color-swatches.scss ############
1154
+ base color swatches for the design system
1155
+ */
1156
+ /*
1157
+ ############ _icon-button.scss ############
1158
+ */
1159
+ .utah-design-system .icon-button {
1160
+ background: white;
1161
+ border-radius: 999px;
1162
+ border: 2px solid var(--gray-color);
1163
+ font-size: 1rem;
1164
+ min-height: 36px;
1165
+ min-width: 36px;
1166
+ padding: 0;
1167
+ display: flex;
1168
+ align-items: center;
1169
+ justify-content: center;
1170
+ cursor: pointer;
1171
+ transition: all 200ms ease-in-out;
1172
+ color: var(--gray-color);
1173
+ }
1174
+
1175
+ .utah-design-system .icon-button:hover {
1176
+ background: var(--gray-color);
1177
+ color: white;
1178
+ }
1179
+
1180
+ .utah-design-system .icon-button--solid {
1181
+ background: var(--gray-color);
1182
+ color: white;
1183
+ }
1184
+
1185
+ .utah-design-system .icon-button--solid:hover {
1186
+ background-color: var(--gray-dark-color);
1187
+ border-color: var(--gray-dark-color);
1188
+ }
1189
+
1190
+ .utah-design-system .icon-button--plain {
1191
+ border-color: transparent;
1192
+ }
1193
+
1194
+ .utah-design-system .icon-button--plain:hover {
1195
+ background-color: #e4e4e4;
1196
+ border-color: #e4e4e4;
1197
+ color: var(--gray-dark-color);
1198
+ }
1199
+
1200
+ .utah-design-system .icon-button__icon {
1201
+ transition: all var(--timing-quick) ease-in-out;
1202
+ }
1203
+
1204
+ .utah-design-system .icon-button__icon--rotate180 {
1205
+ transform: rotate(180deg);
1206
+ }
1207
+
1208
+ .input-wrapper {
1209
+ margin: 0 0 var(--spacing-s) 0;
1210
+ }
1211
+
1212
+ .form.form--stacked .input-wrapper {
1213
+ display: flex;
1214
+ flex-direction: column;
1215
+ gap: 3px;
1216
+ align-items: flex-start;
1217
+ }
1218
+
1219
+ input[type=text] {
1220
+ color: var(--gray-color);
1221
+ min-height: var(--form-ele-medium);
1222
+ border-radius: var(--radius-small);
1223
+ box-sizing: border-box;
1224
+ border: 1px solid var(--gray-color);
1225
+ width: 100%;
1226
+ padding: 0 var(--spacing-xs);
1227
+ box-sizing: border-box;
1228
+ box-shadow: var(--hover-gray-color) 0 0 0 0;
1229
+ transition: box-shadow var(--timing-xquick) ease-in-out;
1230
+ }
1231
+
1232
+ input[type=text]:hover {
1233
+ box-shadow: var(--hover-gray-color) 0 0 0 5px;
1234
+ border-color: black;
1235
+ }
1236
+
1237
+ input[type=text]:focus-visible {
1238
+ outline: 2px solid var(--form-ele-color);
1239
+ outline-offset: 2px;
1240
+ transition: none;
1241
+ }
1242
+
1243
+ input[type=checkbox] {
1244
+ width: var(--form-checkbox-medium);
1245
+ height: var(--form-checkbox-medium);
1246
+ position: relative;
1247
+ border-radius: var(--radius-small1x);
1248
+ border: 1px solid var(--gray-color);
1249
+ background-color: white;
1250
+ box-sizing: border-box;
1251
+ appearance: none;
1252
+ }
1253
+
1254
+ input[type=checkbox]::after {
1255
+ content: "";
1256
+ display: block;
1257
+ position: absolute;
1258
+ width: 100%;
1259
+ height: 100%;
1260
+ top: 0;
1261
+ left: 0;
1262
+ border-radius: var(--radius-circle);
1263
+ z-index: -1;
1264
+ box-shadow: var(--hover-gray-color) 0 0 0 0;
1265
+ transition: box-shadow var(--timing-xquick) ease-in-out;
1266
+ }
1267
+
1268
+ input[type=checkbox]:hover {
1269
+ border-color: black;
1270
+ }
1271
+
1272
+ input[type=checkbox]:hover::after {
1273
+ box-shadow: var(--hover-gray-color) 0 0 0 7px;
1274
+ border-color: black;
1275
+ }
1276
+
1277
+ input[type=checkbox]::before {
1278
+ content: "";
1279
+ display: block;
1280
+ background: var(--form-ele-color);
1281
+ background-image: var(--icon-check-mark-light);
1282
+ background-repeat: no-repeat;
1283
+ background-position: center center;
1284
+ background-size: 30%;
1285
+ border-radius: var(--radius-small1x);
1286
+ width: 100%;
1287
+ height: 100%;
1288
+ opacity: 0;
1289
+ }
1290
+
1291
+ input[type=checkbox]:checked {
1292
+ border-width: 0;
1293
+ background-color: var(--form-ele-color);
1294
+ }
1295
+
1296
+ input[type=checkbox]:checked::before {
1297
+ opacity: 1;
1298
+ background-size: 80%;
1299
+ transition: background-size var(--timing-quick) ease, opacity var(--timing-quick) ease;
1300
+ }
1301
+
1302
+ .input-wrapper--checkbox {
1303
+ display: flex;
1304
+ flex-direction: row-reverse;
1305
+ justify-content: flex-end;
1306
+ align-items: center;
1307
+ position: relative;
1308
+ z-index: 1;
1309
+ }
1310
+
1311
+ .input-wrapper label {
1312
+ padding: 0 0 0 var(--spacing-2xs);
1313
+ }
1314
+
1315
+ select {
1316
+ color: var(--gray-color);
1317
+ min-height: var(--form-ele-medium);
1318
+ border-radius: var(--radius-small);
1319
+ box-sizing: border-box;
1320
+ border: 1px solid var(--gray-color);
1321
+ width: 100%;
1322
+ padding: 0 var(--spacing-xs);
1323
+ box-sizing: border-box;
1324
+ appearance: none;
1325
+ background: white var(--icon-chevron-dark) no-repeat right 5px center;
1326
+ background-size: 16px;
1327
+ box-shadow: var(--hover-gray-color) 0 0 0 0;
1328
+ transition: box-shadow var(--timing-xquick) ease-in-out;
1329
+ }
1330
+
1331
+ select:hover {
1332
+ box-shadow: var(--hover-gray-color) 0 0 0 5px;
1333
+ border-color: black;
1334
+ }
1335
+
1336
+ select:focus-visible {
1337
+ outline: 2px solid var(--form-ele-color);
1338
+ outline-offset: 2px;
1339
+ transition: none;
1340
+ }
1341
+
1342
+ .info-box {
1343
+ display: flex;
1344
+ align-items: center;
1345
+ min-height: var(--form-ele-medium);
1346
+ background: white;
1347
+ position: relative;
1348
+ border-radius: var(--radius-small);
1349
+ }
1350
+
1351
+ .info-box::before {
1352
+ content: "";
1353
+ display: block;
1354
+ width: var(--spacing-xs);
1355
+ height: 100%;
1356
+ border-top-left-radius: var(--radius-small);
1357
+ border-bottom-left-radius: var(--radius-small);
1358
+ background-color: var(--secondary-color);
1359
+ }
1360
+
1361
+ .info-box__content {
1362
+ display: flex;
1363
+ align-items: center;
1364
+ padding: 0 var(--spacing-s);
1365
+ }
1366
+
1367
+ input[type=radio] {
1368
+ appearance: none;
1369
+ border-radius: var(--radius-circle);
1370
+ border: 1px solid var(--gray-color);
1371
+ width: var(--form-ele-small1x);
1372
+ height: var(--form-ele-small1x);
1373
+ position: relative;
1374
+ top: var(--spacing-2xs);
1375
+ margin-right: var(--spacing-xs);
1376
+ }
1377
+
1378
+ input[type=radio]::before {
1379
+ content: "";
1380
+ display: block;
1381
+ width: 100%;
1382
+ height: 100%;
1383
+ border-radius: var(--radius-circle);
1384
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px 0px;
1385
+ transition: box-shadow var(--timing-xquick) ease-in-out;
1386
+ }
1387
+
1388
+ input[type=radio]:hover::before {
1389
+ box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 0px 7px;
1390
+ }
1391
+
1392
+ input[type=radio]:checked {
1393
+ background-color: var(--secondary-color);
1394
+ border: 1px solid var(--secondary-color);
1395
+ }
1396
+
1397
+ input[type=radio]:checked::after {
1398
+ content: "";
1399
+ display: block;
1400
+ width: 50%;
1401
+ height: 50%;
1402
+ border-radius: var(--radius-circle);
1403
+ background-color: white;
1404
+ position: absolute;
1405
+ left: 50%;
1406
+ top: 50%;
1407
+ transform: translate(-50%, -50%);
1408
+ }
1409
+
1410
+ .checkbox:hover ~ span:first-of-type {
1411
+ box-shadow: rgb(240, 241, 242) 0px 0px 0px 7px;
1412
+ }
1413
+
1414
+ span {
1415
+ border-radius: 999px;
1416
+ box-shadow: rgb(240, 241, 242) 0px 0px 0px 0px;
1417
+ }
1418
+
1419
+ input[type=checkbox].switch {
1420
+ border: 0;
1421
+ clip: rect(0 0 0 0);
1422
+ height: 1px;
1423
+ margin: -1px;
1424
+ overflow: hidden;
1425
+ padding: 0;
1426
+ position: absolute;
1427
+ width: 1px;
1428
+ }
1429
+
1430
+ .switch__label {
1431
+ position: absolute;
1432
+ right: 0;
1433
+ transform: translateX(calc(100% + var(--spacing-2xs)));
1434
+ color: var(--gray-color);
1435
+ min-width: max-content;
1436
+ }
1437
+
1438
+ .switch__wrapper {
1439
+ min-width: 20px;
1440
+ background: #7b7b7b;
1441
+ color: white;
1442
+ border-radius: var(--radius-circle);
1443
+ min-height: var(--form-ele-small3x);
1444
+ padding: var(--spacing-3xs);
1445
+ position: relative;
1446
+ display: inline-flex;
1447
+ align-items: center;
1448
+ box-shadow: var(--hover-gray-color) 0 0 0 0;
1449
+ transition: box-shadow var(--timing-xquick) ease-in-out;
1450
+ }
1451
+
1452
+ .switch__wrapper--on {
1453
+ background: var(--form-ele-color);
1454
+ }
1455
+
1456
+ .switch__wrapper:hover {
1457
+ box-shadow: var(--hover-gray-color) 0 0 0 5px;
1458
+ border-color: black;
1459
+ }
1460
+
1461
+ .switch__wrapper:has(input:focus) {
1462
+ outline: 2px solid var(--form-ele-color);
1463
+ outline-offset: 2px;
1464
+ transition: none;
1465
+ }
1466
+
1467
+ .switch--small.switch__wrapper {
1468
+ min-height: var(--form-ele-small4x);
1469
+ }
1470
+
1471
+ .switch--small .switch__slider {
1472
+ height: var(--form-ele-small4x);
1473
+ width: var(--form-ele-small4x);
1474
+ }
1475
+
1476
+ .switch--small .switch__inner-label {
1477
+ font-size: var(--font-size-xs);
1478
+ height: var(--form-ele-small4x);
1479
+ line-height: var(--form-ele-small4x);
1480
+ }
1481
+
1482
+ .switch--large.switch__wrapper {
1483
+ min-height: var(--form-ele-small1x);
1484
+ }
1485
+
1486
+ .switch--large .switch__slider {
1487
+ height: var(--form-ele-small1x);
1488
+ width: var(--form-ele-small1x);
1489
+ }
1490
+
1491
+ .switch__slider {
1492
+ height: var(--form-ele-small3x);
1493
+ width: var(--form-ele-small3x);
1494
+ border-radius: var(--radius-circle);
1495
+ background: white;
1496
+ position: absolute;
1497
+ left: 2px;
1498
+ transition: all var(--timing-quick);
1499
+ display: flex;
1500
+ align-items: center;
1501
+ justify-content: center;
1502
+ }
1503
+
1504
+ .switch__slider--on {
1505
+ left: 100%;
1506
+ transform: translateX(calc(-100% - 2px));
1507
+ background: white;
1508
+ }
1509
+
1510
+ .switch__slider svg {
1511
+ fill: var(--gray-color);
1512
+ width: 0.65rem;
1513
+ height: 0.65rem;
1514
+ }
1515
+
1516
+ .switch__inner-label {
1517
+ position: relative;
1518
+ width: 100%;
1519
+ height: var(--form-ele-small3x);
1520
+ font-size: var(--font-size-s);
1521
+ line-height: var(--font-size-s);
1522
+ }
1523
+
1524
+ .switch__inner-label-on, .switch__inner-label-off {
1525
+ width: calc(100% - var(--form-ele-2small1x));
1526
+ position: absolute;
1527
+ right: 2px;
1528
+ opacity: 0;
1529
+ transition: opacity var(--timing-quick);
1530
+ text-align: center;
1531
+ display: inline-block;
1532
+ }
1533
+
1534
+ .switch__inner-label-on.show, .switch__inner-label-off.show {
1535
+ opacity: 1;
1536
+ }
1537
+
1538
+ .switch__inner-label-on {
1539
+ color: white;
1540
+ right: unset;
1541
+ left: 2px;
1542
+ }
1543
+
1544
+ .switch--disabled {
1545
+ background: var(--form-ele-disabled-color);
1546
+ cursor: not-allowed;
1547
+ }
1548
+
1549
+ .switch--disabled.switch__wrapper--on {
1550
+ background: var(--form-ele-color-light);
1551
+ }
1552
+
1553
+ .input-wrapper--switch label {
1554
+ padding: var(--spacing-3xs) var(--spacing-xs);
1555
+ }
1556
+
1557
+ .switch-old {
1558
+ display: block;
1559
+ box-sizing: border-box;
1560
+ border: none;
1561
+ background: none;
1562
+ padding: 0;
1563
+ position: relative;
1564
+ min-height: 20px;
1565
+ }
1566
+
1567
+ .switch-old:focus,
1568
+ .switch-old:hover {
1569
+ outline: none;
1570
+ }
1571
+
1572
+ .switch-old:focus::before,
1573
+ .switch-old:hover::before {
1574
+ box-shadow: 0 0 0.5em #2a2a28;
1575
+ }
1576
+
1577
+ .switch-old::before,
1578
+ .switch-old::after {
1579
+ content: "";
1580
+ position: absolute;
1581
+ height: 16px;
1582
+ transition: all 0.25s ease;
1583
+ }
1584
+
1585
+ .switch-old::before {
1586
+ left: 0;
1587
+ top: 0.2em;
1588
+ width: 32px;
1589
+ border: 1px solid #7a7a77;
1590
+ background: #7a7a77;
1591
+ border-radius: 16px;
1592
+ }
1593
+
1594
+ .switch-old::after {
1595
+ left: 1px;
1596
+ top: 4px;
1597
+ background-color: #fff;
1598
+ border-radius: 50%;
1599
+ width: 14px;
1600
+ height: 14px;
1601
+ border: 1px solid #7a7a77;
1602
+ }
1603
+
1604
+ .switch-old::after {
1605
+ left: 16px;
1606
+ border-color: #699957;
1607
+ color: #699957;
1608
+ }
1609
+
1610
+ .switch-old::before {
1611
+ background-color: #699957;
1612
+ border-color: #699957;
1613
+ }
1614
+
1615
+ .utah-design-system .menu-bar {
1616
+ background-color: var(--gray-light-color);
1617
+ }
1618
+
1619
+ .utah-design-system .menu-bar ul {
1620
+ list-style-type: none;
1621
+ display: flex;
1622
+ margin: 0 var(--spacing-xs) 0 var(--spacing-xs);
1623
+ padding: 0;
1624
+ }
1625
+
1626
+ .utah-design-system .menu-bar ul li.menu-item__search {
1627
+ margin-left: auto;
1628
+ }
1629
+
1630
+ .utah-design-system .menu-bar ul li a {
1631
+ display: flex;
1632
+ align-items: center;
1633
+ text-decoration: none;
1634
+ color: var(--gray-color);
1635
+ padding: var(--spacing-3xs) var(--spacing);
1636
+ margin: var(--spacing-xs) 0;
1637
+ border-radius: 999px;
1638
+ transition: all var(--timing-quick) ease-in-out;
1639
+ position: relative;
1640
+ box-sizing: border-box;
1641
+ font-size: var(--font-size);
1642
+ font-weight: var(--font-weight-semi-bold);
1643
+ }
1644
+
1645
+ .utah-design-system .menu-bar ul li a::after {
1646
+ content: "";
1647
+ width: 100%;
1648
+ height: var(--spacing-2xs);
1649
+ background: transparent;
1650
+ display: block;
1651
+ position: absolute;
1652
+ top: -9px;
1653
+ left: 0;
1654
+ border-bottom-left-radius: var(--spacing-2xs);
1655
+ border-bottom-right-radius: var(--spacing-2xs);
1656
+ }
1657
+
1658
+ .utah-design-system .menu-bar ul li a .icon-chevron-down {
1659
+ font-size: 1rem;
1660
+ margin-right: -2px;
1661
+ }
1662
+
1663
+ .utah-design-system .menu-bar ul li a:hover {
1664
+ color: black;
1665
+ box-shadow: inset 0 0 0 1000px var(--hover-gray-color);
1666
+ }
1667
+
1668
+ .utah-design-system .menu-bar ul li a.menu-item--selected::after {
1669
+ background: var(--primary-color);
1670
+ }
1671
+
1672
+ .utah-design-system .menu-bar ul li a .menu-item__search-icon {
1673
+ font-size: var(--font-size-l);
1674
+ line-height: 1rem;
1675
+ }
1676
+
1677
+ .utah-design-system .menu-item__title {
1678
+ display: flex;
1679
+ flex-direction: row;
1680
+ align-items: center;
1681
+ }
1682
+
1683
+ .utah-design-system .menu-item__button-title {
1684
+ border: none;
1685
+ padding: 0;
1686
+ background: none;
1687
+ }
1688
+
1689
+ .utah-design-system .menu-item__button-title:hover {
1690
+ background: none;
1691
+ color: var(--primary-color);
1692
+ }
1693
+
1694
+ .utah-design-system .menu-item a {
1695
+ text-decoration: none;
1696
+ color: var(--gray-color);
1697
+ }
1698
+
1699
+ .utah-design-system .menu-item a.menu-item--selected {
1700
+ color: var(--primary-color);
1701
+ }
1702
+
1703
+ .utah-design-system .menu-item__chevron {
1704
+ transform: rotate(-90deg);
1705
+ }
1706
+
1707
+ .utah-design-system .menu-item__chevron svg {
1708
+ width: 10px;
1709
+ height: 10px;
1710
+ }
1711
+
1712
+ .utah-design-system .menu-item__chevron--open {
1713
+ transform: rotate(0deg);
1714
+ }
1715
+
1716
+ .utah-design-system .menu-item__sub-menu {
1717
+ display: none;
1718
+ }
1719
+
1720
+ .utah-design-system .menu-item__sub-menu--open {
1721
+ display: block;
1722
+ }
1723
+
1724
+ .utah-design-system .menu-side-panel {
1725
+ margin: var(--spacing) 0 0 0;
1726
+ font-size: var(--font-size-xs);
1727
+ }
1728
+
1729
+ .utah-design-system .menu-side-panel:first-child {
1730
+ margin: 0;
1731
+ }
1732
+
1733
+ .utah-design-system .menu-side-panel__header {
1734
+ font-size: var(--font-size);
1735
+ }
1736
+
1737
+ .utah-design-system .menu-side-panel > ul {
1738
+ margin-left: calc(0px - var(--spacing));
1739
+ }
1740
+
1741
+ .utah-design-system .menu-side-panel ul {
1742
+ list-style-type: none;
1743
+ padding: 0;
1744
+ }
1745
+
1746
+ .utah-design-system .menu-side-panel ul ul:first-of-type {
1747
+ border-left: 1px solid #DBDBDB;
1748
+ margin-left: var(--spacing);
1749
+ }
1750
+
1751
+ .utah-design-system .menu-side-panel .menu-item__title a {
1752
+ flex: 1 0 auto;
1753
+ padding: var(--spacing-2xs) var(--spacing);
1754
+ display: block;
1755
+ border-radius: var(--radius-circle);
1756
+ position: relative;
1757
+ transition: all var(--timing-quick) ease-in-out;
1758
+ }
1759
+
1760
+ .utah-design-system .menu-side-panel .menu-item__title a:hover {
1761
+ box-shadow: inset 0 0 0 1000px var(--hover-gray-color);
1762
+ color: var(--primary-color);
1763
+ }
1764
+
1765
+ .utah-design-system .menu-side-panel .menu-item__title a.menu-item--selected {
1766
+ font-weight: bold;
1767
+ border-top-left-radius: 0;
1768
+ border-bottom-left-radius: 0;
1769
+ box-shadow: inset 0 0 0 1000px var(--hover-gray-color);
1770
+ }
1771
+
1772
+ .utah-design-system .menu-side-panel .menu-item__title a.menu-item--selected::after {
1773
+ content: "";
1774
+ position: absolute;
1775
+ left: -3px;
1776
+ top: 0;
1777
+ width: 5px;
1778
+ height: 100%;
1779
+ background: var(--primary-color);
1780
+ border-radius: var(--radius-circle);
1781
+ }
1782
+
1783
+ .utah-design-system .menu-side-panel .menu-item button {
1784
+ min-height: unset;
1785
+ min-width: unset;
1786
+ }
1787
+
1788
+ .utah-design-system .menu-side-panel .menu-item__button-title {
1789
+ flex: 1 0 auto;
1790
+ justify-content: flex-start;
1791
+ font-size: var(--font-size-xs);
1792
+ padding: var(--spacing-2xs) var(--spacing);
1793
+ line-height: 1.7;
1794
+ }
1795
+
1796
+ .utah-design-system .menu-side-panel .menu-item__button-title:hover {
1797
+ box-shadow: inset 0 0 0 1000px var(--hover-gray-color);
1798
+ }
1799
+
1800
+ .utah-design-system .menu-side-panel .menu-item__chevron {
1801
+ padding: var(--spacing-xs);
1802
+ }
1803
+
1804
+ .utah-design-system .menu-side-panel .menu-item__chevron svg {
1805
+ transition: transform var(--timing-quick) ease;
1806
+ }
1807
+
1808
+ .documentation-template {
1809
+ display: flex;
1810
+ flex-direction: row;
1811
+ width: 100%;
1812
+ max-width: var(--content-width-wide);
1813
+ justify-content: space-around;
1814
+ align-items: flex-start;
1815
+ }
1816
+
1817
+ .documentation-template__wrapper {
1818
+ display: flex;
1819
+ justify-content: center;
1820
+ }
1821
+
1822
+ .documentation-template__side-panel-left {
1823
+ border-right: 1px solid var(--gray-border);
1824
+ padding: var(--documentation-padding);
1825
+ width: var(--documentation-left-width);
1826
+ }
1827
+
1828
+ .documentation-template__content {
1829
+ flex: 1 1 auto;
1830
+ max-width: var(--documentation-width);
1831
+ padding: var(--documentation-padding);
1832
+ }
1833
+
1834
+ .documentation-template__content h1 {
1835
+ margin: calc(-1 * var(--spacing-xs)) 0 0 0;
1836
+ }
1837
+
1838
+ .documentation-template__content code svg {
1839
+ height: 10px;
1840
+ }
1841
+
1842
+ .documentation-template__content table .props-code-wrapper {
1843
+ display: flex;
1844
+ flex-direction: row;
1845
+ gap: var(--spacing-xs);
1846
+ flex-wrap: wrap;
1847
+ }
1848
+
1849
+ .documentation-template__side-panel-right {
1850
+ position: sticky;
1851
+ top: 0;
1852
+ border-left: 1px solid var(--gray-border);
1853
+ padding: var(--documentation-padding);
1854
+ width: var(--documentation-right-width);
1855
+ }
1856
+
1857
+ .landing-page-template {
1858
+ display: flex;
1859
+ justify-content: center;
1860
+ }
1861
+
1862
+ .landing-page-template .content-width {
1863
+ max-width: var(--content-width-narrow);
1864
+ }
1865
+
1866
+ input.input--height-small,
1867
+ .input--height-small {
1868
+ min-height: var(--form-ele-small);
1869
+ }
1870
+
1871
+ input.input--height-small1x,
1872
+ .input--height-small1x {
1873
+ min-height: var(--form-ele-small1x);
1874
+ }
1875
+
1876
+ .spinner {
1877
+ display: flex;
1878
+ align-items: center;
1879
+ justify-content: center;
1880
+ overflow: visible;
1881
+ vertical-align: middle;
1882
+ }
1883
+
1884
+ .spinner svg {
1885
+ display: block;
1886
+ }
1887
+
1888
+ .spinner svg path {
1889
+ fill: none;
1890
+ }
1891
+
1892
+ .spinner__animation {
1893
+ animation: spinner-animation 0.5s linear infinite;
1894
+ }
1895
+
1896
+ .spinner__track {
1897
+ stroke: #b0b0b0;
1898
+ }
1899
+
1900
+ .spinner__value {
1901
+ stroke: var(--form-ele-color);
1902
+ stroke-linecap: round;
1903
+ transform-origin: center;
1904
+ transition: stroke-dashoffset 0.2s cubic-bezier(0.4, 1, 0.75, 0.9);
1905
+ }
1906
+
1907
+ @keyframes spinner-animation {
1908
+ 0% {
1909
+ transform: rotate(0deg);
1910
+ }
1911
+ 100% {
1912
+ transform: rotate(1turn);
1913
+ }
1914
+ }
1915
+ table {
1916
+ border-collapse: collapse;
1917
+ }
1918
+
1919
+ table thead {
1920
+ border-bottom: 1px solid var(--gray-color);
1921
+ }
1922
+
1923
+ table thead tr th {
1924
+ text-align: center;
1925
+ font-weight: bold;
1926
+ padding: var(--spacing-s);
1927
+ }
1928
+
1929
+ table thead tr th.text-left {
1930
+ text-align: left;
1931
+ }
1932
+
1933
+ table thead tr th.text-right {
1934
+ text-align: right;
1935
+ }
1936
+
1937
+ table tbody tr td {
1938
+ vertical-align: top;
1939
+ padding: var(--spacing-s);
1940
+ }
1941
+
1942
+ table.table--alt tbody tr:nth-child(2n) td {
1943
+ background-color: #F5F5F5;
1944
+ }
1945
+
1946
+ table.table--lines-x tbody tr td {
1947
+ border-bottom: 1px solid var(--gray-medium-light-color);
1948
+ }
1949
+
1950
+ table.table--lines-x tbody tr:last-child td {
1951
+ border-bottom: 1px solid var(--gray-color);
1952
+ }
1953
+
1954
+ .utah-design-system .on-this-page {
1955
+ font-size: var(--font-size-xs);
1956
+ }
1957
+
1958
+ .utah-design-system .on-this-page__header {
1959
+ font-size: var(--font-size);
1960
+ font-weight: bold;
1961
+ }
1962
+
1963
+ .utah-design-system .on-this-page__list {
1964
+ list-style-type: none;
1965
+ padding: 0;
1966
+ margin-left: calc(0px - var(--spacing));
1967
+ }
1968
+
1969
+ .utah-design-system .on-this-page__list ul {
1970
+ margin-left: var(--spacing);
1971
+ }
1972
+
1973
+ .utah-design-system .on-this-page__list a {
1974
+ text-decoration: none;
1975
+ color: var(--gray-color);
1976
+ padding: var(--spacing-2xs) var(--spacing);
1977
+ display: block;
1978
+ margin-right: calc(0px - var(--spacing));
1979
+ border-radius: var(--radius-circle);
1980
+ transition: all var(--timing-quick) ease-in-out;
1981
+ }
1982
+
1983
+ .utah-design-system .on-this-page__list a:hover {
1984
+ box-shadow: inset 0 0 0 1000px var(--hover-gray-color);
1985
+ color: var(--primary-color);
1986
+ }
1987
+
1988
+ /*
1989
+ ############ _popup.scss ############
1990
+ */
1991
+ .utah-design-system .color-family {
1992
+ display: flex;
1993
+ margin: 0 0 var(--spacing-2xs) 0;
1994
+ }
1995
+
1996
+ .utah-design-system .color-family__title {
1997
+ margin: 0 var(--spacing-s) 0 0;
1998
+ padding: 0 var(--spacing-s);
1999
+ color: white;
2000
+ border-radius: 999px;
2001
+ min-height: unset;
2002
+ border: none;
2003
+ }
2004
+
2005
+ .utah-design-system .color-family__title.color-is-light {
2006
+ color: var(--gray-color);
2007
+ }
2008
+
2009
+ .utah-design-system .color-family__swatches {
2010
+ list-style-type: none;
2011
+ margin: 0 0 0 auto;
2012
+ padding: 0;
2013
+ display: flex;
2014
+ gap: 2px;
2015
+ }
2016
+
2017
+ .utah-design-system .color-family__swatches li {
2018
+ padding: 0;
2019
+ }
2020
+
2021
+ .utah-design-system .color-family__swatch {
2022
+ width: 20px;
2023
+ height: 20px;
2024
+ border: none;
2025
+ border-radius: 0;
2026
+ min-height: auto;
2027
+ padding: 0;
2028
+ }
2029
+
2030
+ /*
2031
+ ############ _popup.scss ############
2032
+ */
2033
+ .popup {
2034
+ position: fixed;
2035
+ top: 25%;
2036
+ left: 2%;
2037
+ background-color: white;
2038
+ border-radius: 10px;
2039
+ box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.4);
2040
+ z-index: 1000;
2041
+ }
2042
+
2043
+ .popup__title-bar {
2044
+ display: flex;
2045
+ justify-content: space-between;
2046
+ align-items: center;
2047
+ }
2048
+
2049
+ .popup__title {
2050
+ padding: var(--spacing);
2051
+ }
2052
+
2053
+ /*
2054
+ ############ _components-index.scss ############
2055
+ component specific, BEM (Block, Element, Modifier)
2056
+ @media for each component should be contained with the component.
2057
+ */
2058
+ /* ---- Base Components ---- */
2059
+ /* ---- Project Components ---- */
2060
+ @keyframes fade-in {
2061
+ 0% {
2062
+ opacity: 0;
2063
+ }
2064
+ 100% {
2065
+ opacity: 1;
2066
+ }
2067
+ }
2068
+ @keyframes drop-in {
2069
+ 0% {
2070
+ opacity: 0;
2071
+ transform: translate(-50%, -100px);
2072
+ }
2073
+ 100% {
2074
+ opacity: 1;
2075
+ transform: translate(-50%, 0);
2076
+ }
2077
+ }
2078
+ @keyframes pop-in {
2079
+ 0% {
2080
+ opacity: 0;
2081
+ transform: scale(0.7);
2082
+ }
2083
+ 100% {
2084
+ opacity: 1;
2085
+ transform: scale(1);
2086
+ }
2087
+ }
2088
+ @keyframes pop-in-center {
2089
+ 0% {
2090
+ opacity: 0;
2091
+ transform: scale(0.7) translateX(-50%);
2092
+ }
2093
+ 100% {
2094
+ opacity: 1;
2095
+ transform: scale(1) translateX(-50%);
2096
+ }
2097
+ }
2098
+ /*
2099
+ ############ _utilities.scss ############
2100
+ utility classes, atomic css
2101
+ */
2102
+ .content-width {
2103
+ width: 100%;
2104
+ max-width: var(--content-width);
2105
+ }
2106
+
2107
+ .full-width {
2108
+ width: 100%;
2109
+ }
2110
+
2111
+ .visually-hidden {
2112
+ border: 0;
2113
+ clip: rect(0 0 0 0);
2114
+ height: 1px;
2115
+ margin: -1px;
2116
+ overflow: hidden;
2117
+ padding: 0;
2118
+ position: absolute;
2119
+ width: 1px;
2120
+ }
2121
+
2122
+ /* alignment */
2123
+ .text-left {
2124
+ text-align: left;
2125
+ }
2126
+
2127
+ .text-center {
2128
+ text-align: center;
2129
+ }
2130
+
2131
+ .text-right {
2132
+ text-align: right;
2133
+ }
2134
+
2135
+ .text-justify {
2136
+ text-align: justify;
2137
+ }
2138
+
2139
+ /* flex */
2140
+ .flex {
2141
+ display: flex;
2142
+ }
2143
+
2144
+ .flex-row {
2145
+ flex-direction: row;
2146
+ }
2147
+
2148
+ .flex-row-reverse {
2149
+ flex-direction: row-reverse;
2150
+ }
2151
+
2152
+ .flex-col {
2153
+ flex-direction: column;
2154
+ }
2155
+
2156
+ .flex-col-reverse {
2157
+ flex-direction: column-reverse;
2158
+ }
2159
+
2160
+ .flex-wrap {
2161
+ flex-wrap: wrap;
2162
+ }
2163
+
2164
+ .flex-wrap-reverse {
2165
+ flex-wrap: wrap-reverse;
2166
+ }
2167
+
2168
+ .flex-nowrap {
2169
+ flex-wrap: nowrap;
2170
+ }
2171
+
2172
+ .flex-1 {
2173
+ flex: 1 1 0%;
2174
+ }
2175
+
2176
+ .flex-auto {
2177
+ flex: 1 1 auto;
2178
+ }
2179
+
2180
+ .flex-initial {
2181
+ flex: 0 1 auto;
2182
+ }
2183
+
2184
+ .flex-none {
2185
+ flex: none;
2186
+ }
2187
+
2188
+ /* flex - justify content */
2189
+ .justify-start {
2190
+ justify-content: flex-start;
2191
+ }
2192
+
2193
+ .justify-end {
2194
+ justify-content: flex-end;
2195
+ }
2196
+
2197
+ .justify-center {
2198
+ justify-content: center;
2199
+ }
2200
+
2201
+ .justify-between {
2202
+ justify-content: space-between;
2203
+ }
2204
+
2205
+ .justify-around {
2206
+ justify-content: space-around;
2207
+ }
2208
+
2209
+ .justify-evenly {
2210
+ justify-content: space-evenly;
2211
+ }
2212
+
2213
+ /* grid - justify self */
2214
+ .justify-self-auto {
2215
+ justify-self: auto;
2216
+ }
2217
+
2218
+ .justify-self-start {
2219
+ justify-self: start;
2220
+ }
2221
+
2222
+ .justify-self-end {
2223
+ justify-self: end;
2224
+ }
2225
+
2226
+ .justify-self-center {
2227
+ justify-self: center;
2228
+ }
2229
+
2230
+ .justify-self-stretch {
2231
+ justify-self: stretch;
2232
+ }
2233
+
2234
+ /* flex - align items */
2235
+ .items-start {
2236
+ align-items: flex-start;
2237
+ }
2238
+
2239
+ .items-end {
2240
+ align-items: flex-end;
2241
+ }
2242
+
2243
+ .items-center {
2244
+ align-items: center;
2245
+ }
2246
+
2247
+ .items-baseline {
2248
+ align-items: baseline;
2249
+ }
2250
+
2251
+ .items-stretch {
2252
+ align-items: stretch;
2253
+ }
2254
+
2255
+ /* flex - align self */
2256
+ .self-auto {
2257
+ align-self: auto;
2258
+ }
2259
+
2260
+ .self-start {
2261
+ align-self: flex-start;
2262
+ }
2263
+
2264
+ .self-end {
2265
+ align-self: flex-end;
2266
+ }
2267
+
2268
+ .self-center {
2269
+ align-self: center;
2270
+ }
2271
+
2272
+ .self-stretch {
2273
+ align-self: stretch;
2274
+ }
2275
+
2276
+ .self-baseline {
2277
+ align-self: baseline;
2278
+ }
2279
+
2280
+ /* flex/grid - gap */
2281
+ .gap-xs {
2282
+ gap: var(--spacing-xs);
2283
+ }
2284
+
2285
+ .gap-s {
2286
+ gap: var(--spacing-s);
2287
+ }
2288
+
2289
+ .gap {
2290
+ gap: var(--spacing);
2291
+ }
2292
+
2293
+ .gap-l {
2294
+ gap: var(--spacing-l);
2295
+ }
2296
+
2297
+ /* ----- Positioning ---- */
2298
+ .hcenter {
2299
+ position: absolute;
2300
+ left: 50%;
2301
+ transform: translateX(-50%);
2302
+ }
2303
+
2304
+ .vcenter {
2305
+ position: absolute;
2306
+ top: 50%;
2307
+ transform: translateY(-50%);
2308
+ }
2309
+
2310
+ .vcenter.right {
2311
+ right: 0;
2312
+ }
2313
+
2314
+ .vcenter.left {
2315
+ left: 0;
2316
+ }
2317
+
2318
+ .vcenter.hcenter {
2319
+ transform: translate(-50%, -50%);
2320
+ }
2321
+
2322
+ /* ----- Transformation ---- */
2323
+ .rotate90 {
2324
+ transform: rotate(90deg);
2325
+ }
2326
+
2327
+ .rotate180 {
2328
+ transform: rotate(180deg);
2329
+ }
2330
+
2331
+ .rotate270 {
2332
+ transform: rotate(270deg);
2333
+ }
2334
+
2335
+ /*
2336
+ PRINT SCSS
2337
+ */
2338
+ @media print {
2339
+ @page {
2340
+ size: 8.5in 11in;
2341
+ margin: 0.5in;
2342
+ }
2343
+ html, body {
2344
+ font-family: "Source Sans Pro", sans-serif;
2345
+ font-size: 8pt;
2346
+ height: auto;
2347
+ color: #000000;
2348
+ }
2349
+ .no-print {
2350
+ display: none;
2351
+ }
2352
+ .avoid {
2353
+ page-break-inside: avoid;
2354
+ }
2355
+ .page-break {
2356
+ page-break-after: always;
2357
+ }
2358
+ .print-page-no-margin {
2359
+ width: 8.5in;
2360
+ margin: 0;
2361
+ padding: 0;
2362
+ box-shadow: none;
2363
+ }
2364
+ }
2365
+ /*
2366
+ ############ _super-index.scss ############
2367
+ Overall overrides, @media, themes, etc. that supersede styles higher in the pyramid
2368
+ */
2369
+ /*
2370
+ ############ _tip-index.scss ############
2371
+ A place to add css temporarily
2372
+ NOTE: CSS added this this file should eventually be removed or
2373
+ located to the correct folder/file where it best belongs.
2374
+ */