@utahdts/utah-design-system 1.12.1 → 1.13.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 (219) hide show
  1. package/css/3-generic/_generic-index.scss +335 -1
  2. package/css/4-elements/_elements-index.scss +4 -0
  3. package/css/6-components/_components-index.scss +1 -0
  4. package/css/6-components/base-components/buttons/_button.scss +1 -0
  5. package/css/6-components/base-components/buttons/_tag.scss +12 -25
  6. package/css/6-components/base-components/forms/_combo-box-input.scss +4 -2
  7. package/css/6-components/base-components/forms/_multi-select-input.scss +95 -0
  8. package/css/6-components/base-components/popups/_modal.scss +62 -8
  9. package/dist/style.css +472 -27
  10. package/dist/utah-design-system.es.js +38306 -40241
  11. package/dist/utah-design-system.umd.js +38287 -40225
  12. package/index.js +70 -84
  13. package/package.json +12 -3
  14. package/react/components/Tooltip/Tooltip.jsx +17 -57
  15. package/react/components/buttons/Button.jsx +28 -96
  16. package/react/components/buttons/ClickableTag.jsx +10 -12
  17. package/react/components/buttons/ConfirmationButton/ConfirmationButton.jsx +15 -18
  18. package/react/components/buttons/ConfirmationButton/ConfirmationChildren.jsx +7 -5
  19. package/react/components/buttons/ConfirmationButton/InitialChildren.jsx +7 -5
  20. package/react/components/buttons/ConfirmationButton/context/ConfirmationButtonContext.js +3 -5
  21. package/react/components/buttons/ConfirmationButton/context/ConfirmationButtonContextProvider.jsx +6 -2
  22. package/react/components/buttons/ConfirmationButton/context/useConfirmationButtonContext.js +1 -1
  23. package/react/components/buttons/IconButton.jsx +20 -80
  24. package/react/components/buttons/SegmentedButton.jsx +1 -9
  25. package/react/components/buttons/Tag.jsx +21 -15
  26. package/react/components/containers/accordion/Accordion.jsx +20 -32
  27. package/react/components/containers/tabs/Tab.jsx +12 -19
  28. package/react/components/containers/tabs/TabGroup.jsx +22 -37
  29. package/react/components/containers/tabs/TabGroupContext.jsx +8 -3
  30. package/react/components/containers/tabs/TabGroupTitle.jsx +12 -20
  31. package/react/components/containers/tabs/TabList.jsx +10 -18
  32. package/react/components/containers/tabs/TabPanel.jsx +13 -22
  33. package/react/components/containers/tabs/TabPanels.jsx +6 -14
  34. package/react/components/footer/FooterAgencyInformation.jsx +4 -18
  35. package/react/components/footer/FooterAgencyInformationColumn.jsx +4 -18
  36. package/react/components/footer/FooterAgencyInformationInfo.jsx +6 -36
  37. package/react/components/footer/FooterSocialMediaBar.jsx +5 -22
  38. package/react/components/forms/CharacterCount.jsx +8 -26
  39. package/react/components/forms/Checkbox.jsx +14 -10
  40. package/react/components/forms/ComboBox/ComboBox.jsx +72 -32
  41. package/react/components/forms/ComboBox/ComboBoxOption.jsx +41 -18
  42. package/react/components/forms/ComboBox/ComboBoxOptionGroup.jsx +12 -6
  43. package/react/components/forms/ComboBox/context/ComboBoxContext.js +4 -4
  44. package/react/components/forms/ComboBox/context/ComboBoxContextProvider.jsx +50 -14
  45. package/react/components/forms/ComboBox/context/ComboBoxOptionGroupContext.js +3 -4
  46. package/react/components/forms/ComboBox/context/ComboBoxOptionGroupContextProvider.jsx +3 -5
  47. package/react/components/forms/ComboBox/context/useComboBoxContext.js +2 -3
  48. package/react/components/forms/ComboBox/context/useComboBoxOptionGroupContext.js +2 -3
  49. package/react/components/forms/ComboBox/functions/clearComboBoxSelection.js +1 -3
  50. package/react/components/forms/ComboBox/functions/isOptionGroupVisible.js +9 -4
  51. package/react/components/forms/ComboBox/functions/moveComboBoxSelectionDown.js +16 -5
  52. package/react/components/forms/ComboBox/functions/moveComboBoxSelectionUp.js +14 -4
  53. package/react/components/forms/ComboBox/functions/selectComboBoxSelection.js +12 -6
  54. package/react/components/forms/ComboBox/internal/CombBoxListBox.jsx +21 -16
  55. package/react/components/forms/ComboBox/internal/ComboBoxTextInput.jsx +187 -111
  56. package/react/components/forms/ErrorMessage.jsx +7 -15
  57. package/react/components/forms/Form.jsx +23 -17
  58. package/react/components/forms/FormContext/FormContext.jsx +8 -5
  59. package/react/components/forms/FormContext/FormContextProvider.jsx +10 -12
  60. package/react/components/forms/FormContext/useFormContext.js +2 -11
  61. package/react/components/forms/FormContext/useFormContextInput.js +31 -20
  62. package/react/components/forms/MultiSelect/MultiSelect.jsx +72 -0
  63. package/react/components/forms/MultiSelect/MultiSelectClearIcon.jsx +37 -0
  64. package/react/components/forms/MultiSelect/MultiSelectComboBox.jsx +197 -0
  65. package/react/components/forms/MultiSelect/MultiSelectOption.jsx +51 -0
  66. package/react/components/forms/MultiSelect/MultiSelectOptionGroup.jsx +21 -0
  67. package/react/components/forms/MultiSelect/MultiSelectTagTemplate.jsx +36 -0
  68. package/react/components/forms/MultiSelect/MultiSelectTagWrapper.jsx +97 -0
  69. package/react/components/forms/MultiSelect/MultiSelectTags.jsx +67 -0
  70. package/react/components/forms/MultiSelect/context/MultiSelectContext.js +25 -0
  71. package/react/components/forms/MultiSelect/context/MultiSelectContextProvider.jsx +82 -0
  72. package/react/components/forms/MultiSelect/context/useMultiSelectContext.js +9 -0
  73. package/react/components/forms/MultiSelect/functions/removeSelectedOption.jsx +25 -0
  74. package/react/components/forms/RadioButton/RadioButton.jsx +9 -9
  75. package/react/components/forms/RadioButton/RadioButtonGroup.jsx +7 -10
  76. package/react/components/forms/RadioButton/context/RadioButtonGroupContext.js +3 -6
  77. package/react/components/forms/RadioButton/context/RadioButtonGroupContextProvider.jsx +8 -10
  78. package/react/components/forms/RadioButton/context/useRadioButtonGroupContext.js +4 -7
  79. package/react/components/forms/RequiredStar.jsx +1 -5
  80. package/react/components/forms/Select.jsx +23 -18
  81. package/react/components/forms/SelectOption.jsx +4 -25
  82. package/react/components/forms/Switch.jsx +38 -30
  83. package/react/components/forms/TextArea.jsx +35 -29
  84. package/react/components/forms/TextInput.jsx +62 -42
  85. package/react/components/icons/Icons.jsx +15 -13
  86. package/react/components/navigation/ExternalLink.jsx +7 -14
  87. package/react/components/navigation/HorizontalMenu.jsx +17 -28
  88. package/react/components/navigation/LinkCallback.jsx +9 -19
  89. package/react/components/navigation/MenuItem.jsx +28 -26
  90. package/react/components/navigation/OnThisPage.jsx +9 -15
  91. package/react/components/navigation/OnThisPageHeadersLevel.jsx +15 -14
  92. package/react/components/navigation/VerticalMenu.jsx +34 -36
  93. package/react/components/navigation/pagination/Pagination.jsx +45 -71
  94. package/react/components/navigation/pagination/PaginationLink.jsx +12 -26
  95. package/react/components/navigation/pagination/hooks/usePaginatedList.js +12 -13
  96. package/react/components/navigation/pagination/util/determinePaginationLinks.js +7 -1
  97. package/react/components/navigation/util/findElementsByTagNameMatch.js +20 -10
  98. package/react/components/navigation/util/groupElementsByHeaderLevel.js +15 -11
  99. package/react/components/popups/Banner/Banner.jsx +14 -14
  100. package/react/components/popups/Banner/BannerIcon.jsx +4 -6
  101. package/react/components/popups/Banner/BannerMessage.jsx +4 -6
  102. package/react/components/popups/Modal/Modal.jsx +126 -0
  103. package/react/components/popups/Modal/ModalContent.jsx +20 -0
  104. package/react/components/popups/Modal/ModalFooter.jsx +20 -0
  105. package/react/components/popups/Modal/ModalTitle.jsx +20 -0
  106. package/react/components/popups/Popup.jsx +38 -70
  107. package/react/components/table/Table.jsx +5 -7
  108. package/react/components/table/TableBody.jsx +5 -7
  109. package/react/components/table/TableBodyData.jsx +13 -14
  110. package/react/components/table/TableBodyDataCellTemplate.jsx +8 -9
  111. package/react/components/table/TableBodyDataRowContext.jsx +1 -2
  112. package/react/components/table/TableBodyDataRowTemplate.jsx +9 -10
  113. package/react/components/table/TableCell.jsx +6 -9
  114. package/react/components/table/TableContextConsumer.jsx +5 -5
  115. package/react/components/table/TableFilterCustom.jsx +8 -10
  116. package/react/components/table/TableFilterDate.jsx +6 -7
  117. package/react/components/table/TableFilterNone.jsx +5 -7
  118. package/react/components/table/TableFilterSelect.jsx +14 -10
  119. package/react/components/table/TableFilterSelectAllOptions.jsx +17 -12
  120. package/react/components/table/TableFilterSelectOption.jsx +4 -6
  121. package/react/components/table/TableFilterTextInput.jsx +8 -8
  122. package/react/components/table/TableFilters.jsx +9 -9
  123. package/react/components/table/TableFoot.jsx +9 -11
  124. package/react/components/table/TableFootCell.jsx +9 -11
  125. package/react/components/table/TableFootRow.jsx +9 -11
  126. package/react/components/table/TableHead.jsx +5 -7
  127. package/react/components/table/TableHeadCell.jsx +25 -24
  128. package/react/components/table/TableHeadRow.jsx +5 -7
  129. package/react/components/table/TablePagination.jsx +13 -14
  130. package/react/components/table/TableRow.jsx +5 -7
  131. package/react/components/table/TableSortingRule.jsx +8 -8
  132. package/react/components/table/TableSortingRules.jsx +5 -6
  133. package/react/components/table/TableWrapper.jsx +32 -18
  134. package/react/components/table/hooks/useTableContext.jsx +0 -1
  135. package/react/components/table/hooks/useTableFilterRegistration.js +1 -3
  136. package/react/components/table/useCurrentValuesFromStateContext.js +14 -10
  137. package/react/components/table/util/TableContext.jsx +1 -2
  138. package/react/components/table/util/convertRecordsToFilterValue.js +6 -7
  139. package/react/components/table/util/createTableFilterFunctions.js +5 -5
  140. package/react/components/table/util/filterTableRecords.js +5 -7
  141. package/react/components/templates/DocumentationTemplate.jsx +11 -19
  142. package/react/components/templates/LandingTemplate.jsx +8 -13
  143. package/react/components/templates/MainContent.jsx +10 -23
  144. package/react/components/widgetsIndicators/Spinner.jsx +6 -8
  145. package/react/contexts/UtahDesignSystemContext/UtahDesignSystemContext.js +3 -6
  146. package/react/contexts/UtahDesignSystemContext/UtahDesignSystemContextProvider.jsx +8 -21
  147. package/react/contexts/UtahDesignSystemContext/components/AriaLiveMessages.jsx +8 -21
  148. package/react/contexts/UtahDesignSystemContext/components/BannersGlobal.jsx +44 -26
  149. package/react/contexts/UtahDesignSystemContext/hooks/useAriaMessaging.js +3 -4
  150. package/react/contexts/UtahDesignSystemContext/hooks/useBanner.js +22 -18
  151. package/react/contexts/UtahDesignSystemContext/hooks/useUtahDesignSystemAriaMessaging.js +0 -0
  152. package/react/contexts/UtahDesignSystemContext/useUtahDesignSystemContext.js +4 -7
  153. package/react/contexts/utahHeaderContext/UtahHeaderContext.js +2 -4
  154. package/react/contexts/utahHeaderContext/UtahHeaderContextProvider.jsx +14 -25
  155. package/react/contexts/utahHeaderContext/useUtahHeaderContext.js +4 -5
  156. package/react/enums/ariaLiveTypes.js +1 -2
  157. package/react/enums/bannerPlacement.js +1 -3
  158. package/react/enums/buttonEnums.js +3 -5
  159. package/react/enums/componentColors.js +2 -3
  160. package/react/enums/formElementSizesEnum.js +2 -3
  161. package/react/enums/popupPlacement.js +1 -3
  162. package/react/enums/tableSortingRuleFieldType.js +1 -2
  163. package/react/hooks/debug/useDebugDidIChange.js +1 -2
  164. package/react/hooks/useClickOutside.js +9 -9
  165. package/react/hooks/useDebounceFunc.js +3 -4
  166. package/react/hooks/useGlobalKeyEvent.js +8 -9
  167. package/react/hooks/useImmerRef.js +8 -2
  168. package/react/hooks/useMountingTracker.js +1 -1
  169. package/react/hooks/usePopupDelay.js +1 -2
  170. package/react/hooks/useRefAlways.js +3 -4
  171. package/react/hooks/useRefLazy.js +4 -5
  172. package/react/hooks/useRememberCursorPosition.js +5 -4
  173. package/react/util/arrayMatchRecursive.js +14 -11
  174. package/react/util/chainSorters.js +3 -4
  175. package/react/util/handleEvent.js +3 -5
  176. package/react/util/handleKeyPress.js +14 -1
  177. package/react/util/htmlDecode.js +6 -2
  178. package/react/util/joinClassNames.js +4 -4
  179. package/react/util/notNull.js +1 -3
  180. package/react/util/notNullArray.js +16 -0
  181. package/react/util/notNullMap.js +1 -1
  182. package/react/util/rectContainsPoint.js +4 -4
  183. package/react/util/state/setValueAtPath.js +15 -19
  184. package/react/util/state/valueAtPath.js +16 -6
  185. package/react/util/stringToId.js +2 -1
  186. package/react/util/toSafeString.js +1 -3
  187. package/react/util/trailingS.js +1 -3
  188. package/react/util/useOnKeyUp.js +5 -8
  189. package/css/3-generic/normalize.css +0 -349
  190. package/react/hooks/forms/useComponentState.js +0 -29
  191. package/react/hooks/useBanner.js +0 -7
  192. package/react/hooks/useScrollPosition.js +0 -21
  193. package/react/hooks/useStateEffect.js +0 -45
  194. package/react/jsDocTypes.js +0 -311
  195. package/react/propTypesShapes/MenuItemShape.js +0 -22
  196. package/react/propTypesShapes/MenuItemsShape.js +0 -4
  197. package/react/propTypesShapes/MenuShape.js +0 -10
  198. package/react/propTypesShapes/RefShape.js +0 -9
  199. package/react/propTypesShapes/TablePaginationShape.js +0 -9
  200. package/react/propTypesShapes/header/ActionItemShape.js +0 -21
  201. package/react/propTypesShapes/header/BadgeShape.js +0 -12
  202. package/react/propTypesShapes/header/DomLocationTargetShape.js +0 -12
  203. package/react/propTypesShapes/header/EventActionShape.js +0 -8
  204. package/react/propTypesShapes/header/FooterSettingsShape.js +0 -12
  205. package/react/propTypesShapes/header/HeaderMainMenuItemShape.js +0 -19
  206. package/react/propTypesShapes/header/HeaderMenuItemShape.js +0 -21
  207. package/react/propTypesShapes/header/HeaderMenuItemUrlActionShape.js +0 -7
  208. package/react/propTypesShapes/header/LogoShape.js +0 -12
  209. package/react/propTypesShapes/header/MainMenuItemShape.js +0 -23
  210. package/react/propTypesShapes/header/MainMenuShape.js +0 -12
  211. package/react/propTypesShapes/header/MediaSizesShape.js +0 -8
  212. package/react/propTypesShapes/header/MenuItemFunctionUrlActionShape.js +0 -13
  213. package/react/propTypesShapes/header/MenuItemShape.js +0 -26
  214. package/react/propTypesShapes/header/MenuItemUrlActionShape.js +0 -11
  215. package/react/propTypesShapes/header/PopupMenuShape.js +0 -13
  216. package/react/propTypesShapes/header/SettingsShape.js +0 -31
  217. package/react/propTypesShapes/header/UserInfoShape.js +0 -20
  218. package/react/propTypesShapes/header/UtahIdShape.js +0 -18
  219. package/react/util/uuidv4.js +0 -19
@@ -1,4 +1,338 @@
1
1
  /*
2
2
  ############ _generic-index.scss ############
3
3
  css resets, etc.
4
- */
4
+ */
5
+
6
+ /* Borrowed from: */
7
+ /*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
8
+
9
+ @use "../1-settings/class-vars";
10
+
11
+ #{class-vars.$base-class} {
12
+ // 2. Prevent adjustments of font size after orientation changes in iOS.
13
+ -webkit-text-size-adjust: 100%; /* 2 */
14
+
15
+ /**
16
+ * Render the `main` element consistently in IE.
17
+ */
18
+
19
+ main {
20
+ display: block;
21
+ }
22
+
23
+ /**
24
+ * Correct the font size and margin on `h1` elements within `section` and
25
+ * `article` contexts in Chrome, Firefox, and Safari.
26
+ */
27
+
28
+ h1 {
29
+ font-size: 2em;
30
+ margin: 0.67em 0;
31
+ }
32
+
33
+ /* Grouping content
34
+ ========================================================================== */
35
+
36
+ /**
37
+ * 1. Add the correct box sizing in Firefox.
38
+ * 2. Show the overflow in Edge and IE.
39
+ */
40
+
41
+ hr {
42
+ box-sizing: content-box; /* 1 */
43
+ height: 0; /* 1 */
44
+ overflow: visible; /* 2 */
45
+ }
46
+
47
+ /**
48
+ * 1. Correct the inheritance and scaling of font size in all browsers.
49
+ * 2. Correct the odd `em` font sizing in all browsers.
50
+ */
51
+
52
+ pre {
53
+ font-family: monospace, monospace; /* 1 */
54
+ font-size: 1em; /* 2 */
55
+ }
56
+
57
+ /* Text-level semantics
58
+ ========================================================================== */
59
+
60
+ /**
61
+ * Remove the gray background on active links in IE 10.
62
+ */
63
+
64
+ a {
65
+ background-color: transparent;
66
+ }
67
+
68
+ /**
69
+ * 1. Remove the bottom border in Chrome 57-
70
+ * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
71
+ */
72
+
73
+ abbr[title] {
74
+ border-bottom: none; /* 1 */
75
+ text-decoration: underline; /* 2 */
76
+ text-decoration: underline dotted; /* 2 */
77
+ }
78
+
79
+ /**
80
+ * Add the correct font weight in Chrome, Edge, and Safari.
81
+ */
82
+
83
+ b,
84
+ strong {
85
+ font-weight: bolder;
86
+ }
87
+
88
+ /**
89
+ * 1. Correct the inheritance and scaling of font size in all browsers.
90
+ * 2. Correct the odd `em` font sizing in all browsers.
91
+ */
92
+
93
+ code,
94
+ kbd,
95
+ samp {
96
+ font-family: monospace, monospace; /* 1 */
97
+ font-size: 1em; /* 2 */
98
+ }
99
+
100
+ /**
101
+ * Add the correct font size in all browsers.
102
+ */
103
+
104
+ small {
105
+ font-size: 80%;
106
+ }
107
+
108
+ /**
109
+ * Prevent `sub` and `sup` elements from affecting the line height in
110
+ * all browsers.
111
+ */
112
+
113
+ sub,
114
+ sup {
115
+ font-size: 75%;
116
+ line-height: 0;
117
+ position: relative;
118
+ vertical-align: baseline;
119
+ }
120
+
121
+ sub {
122
+ bottom: -0.25em;
123
+ }
124
+
125
+ sup {
126
+ top: -0.5em;
127
+ }
128
+
129
+ /* Embedded content
130
+ ========================================================================== */
131
+
132
+ /**
133
+ * Remove the border on images inside links in IE 10.
134
+ */
135
+
136
+ img {
137
+ border-style: none;
138
+ }
139
+
140
+ /* Forms
141
+ ========================================================================== */
142
+
143
+ /**
144
+ * 1. Change the font styles in all browsers.
145
+ * 2. Remove the margin in Firefox and Safari.
146
+ */
147
+
148
+ button,
149
+ input,
150
+ optgroup,
151
+ select,
152
+ textarea {
153
+ font-family: inherit; /* 1 */
154
+ font-size: 100%; /* 1 */
155
+ line-height: 1.15; /* 1 */
156
+ margin: 0; /* 2 */
157
+ }
158
+
159
+ /**
160
+ * Show the overflow in IE.
161
+ * 1. Show the overflow in Edge.
162
+ */
163
+
164
+ button,
165
+ input { /* 1 */
166
+ overflow: visible;
167
+ }
168
+
169
+ /**
170
+ * Remove the inheritance of text transform in Edge, Firefox, and IE.
171
+ * 1. Remove the inheritance of text transform in Firefox.
172
+ */
173
+
174
+ button,
175
+ select { /* 1 */
176
+ text-transform: none;
177
+ }
178
+
179
+ /**
180
+ * Correct the inability to style clickable types in iOS and Safari.
181
+ */
182
+
183
+ button,
184
+ [type="button"],
185
+ [type="reset"],
186
+ [type="submit"] {
187
+ -webkit-appearance: button;
188
+ }
189
+
190
+ /**
191
+ * Remove the inner border and padding in Firefox.
192
+ */
193
+
194
+ button::-moz-focus-inner,
195
+ [type="button"]::-moz-focus-inner,
196
+ [type="reset"]::-moz-focus-inner,
197
+ [type="submit"]::-moz-focus-inner {
198
+ border-style: none;
199
+ padding: 0;
200
+ }
201
+
202
+ /**
203
+ * Restore the focus styles unset by the previous rule.
204
+ */
205
+
206
+ button:-moz-focusring,
207
+ [type="button"]:-moz-focusring,
208
+ [type="reset"]:-moz-focusring,
209
+ [type="submit"]:-moz-focusring {
210
+ outline: 1px dotted ButtonText;
211
+ }
212
+
213
+ /**
214
+ * Correct the padding in Firefox.
215
+ */
216
+
217
+ fieldset {
218
+ padding: 0.35em 0.75em 0.625em;
219
+ }
220
+
221
+ /**
222
+ * 1. Correct the text wrapping in Edge and IE.
223
+ * 2. Correct the color inheritance from `fieldset` elements in IE.
224
+ * 3. Remove the padding so developers are not caught out when they zero out
225
+ * `fieldset` elements in all browsers.
226
+ */
227
+
228
+ legend {
229
+ box-sizing: border-box; /* 1 */
230
+ color: inherit; /* 2 */
231
+ display: table; /* 1 */
232
+ max-width: 100%; /* 1 */
233
+ padding: 0; /* 3 */
234
+ white-space: normal; /* 1 */
235
+ }
236
+
237
+ /**
238
+ * Add the correct vertical alignment in Chrome, Firefox, and Opera.
239
+ */
240
+
241
+ progress {
242
+ vertical-align: baseline;
243
+ }
244
+
245
+ /**
246
+ * Remove the default vertical scrollbar in IE 10+.
247
+ */
248
+
249
+ textarea {
250
+ overflow: auto;
251
+ }
252
+
253
+ /**
254
+ * 1. Add the correct box sizing in IE 10.
255
+ * 2. Remove the padding in IE 10.
256
+ */
257
+
258
+ [type="checkbox"],
259
+ [type="radio"] {
260
+ box-sizing: border-box; /* 1 */
261
+ padding: 0; /* 2 */
262
+ }
263
+
264
+ /**
265
+ * Correct the cursor style of increment and decrement buttons in Chrome.
266
+ */
267
+
268
+ [type="number"]::-webkit-inner-spin-button,
269
+ [type="number"]::-webkit-outer-spin-button {
270
+ height: auto;
271
+ }
272
+
273
+ /**
274
+ * 1. Correct the odd appearance in Chrome and Safari.
275
+ * 2. Correct the outline style in Safari.
276
+ */
277
+
278
+ [type="search"] {
279
+ -webkit-appearance: textfield; /* 1 */
280
+ outline-offset: -2px; /* 2 */
281
+ }
282
+
283
+ /**
284
+ * Remove the inner padding in Chrome and Safari on macOS.
285
+ */
286
+
287
+ [type="search"]::-webkit-search-decoration {
288
+ -webkit-appearance: none;
289
+ }
290
+
291
+ /**
292
+ * 1. Correct the inability to style clickable types in iOS and Safari.
293
+ * 2. Change font properties to `inherit` in Safari.
294
+ */
295
+
296
+ ::-webkit-file-upload-button {
297
+ -webkit-appearance: button; /* 1 */
298
+ font: inherit; /* 2 */
299
+ }
300
+
301
+ /* Interactive
302
+ ========================================================================== */
303
+
304
+ /*
305
+ * Add the correct display in Edge, IE 10+, and Firefox.
306
+ */
307
+
308
+ details {
309
+ display: block;
310
+ }
311
+
312
+ /*
313
+ * Add the correct display in all browsers.
314
+ */
315
+
316
+ summary {
317
+ display: list-item;
318
+ }
319
+
320
+ /* Misc
321
+ ========================================================================== */
322
+
323
+ /**
324
+ * Add the correct display in IE 10+.
325
+ */
326
+
327
+ template {
328
+ display: none;
329
+ }
330
+
331
+ /**
332
+ * Add the correct display in IE 10.
333
+ */
334
+
335
+ [hidden] {
336
+ display: none;
337
+ }
338
+ }
@@ -96,4 +96,8 @@ elemental html: h1, h2, h3, ul, li, etc.
96
96
 
97
97
  display: inline-block;
98
98
  }
99
+
100
+ dialog {
101
+ border: none;
102
+ }
99
103
  }
@@ -17,6 +17,7 @@ component specific, BEM (Block, Element, Modifier)
17
17
  @use "base-components/forms/text-area";
18
18
  @use "base-components/forms/text-input";
19
19
  @use "base-components/forms/combo-box-input";
20
+ @use "base-components/forms/multi-select-input";
20
21
  @use "base-components/forms/character-count";
21
22
  @use "base-components/forms/checkbox";
22
23
  @use "base-components/forms/select-input";
@@ -23,6 +23,7 @@
23
23
  -webkit-tap-highlight-color: rgba(0,0,0,0);
24
24
  scale: 1;
25
25
  text-shadow: none;
26
+ box-shadow: none;
26
27
 
27
28
  svg {
28
29
  fill: currentColor;
@@ -2,12 +2,12 @@
2
2
 
3
3
  #{class-vars.$base-class} {
4
4
  .tag {
5
- padding: var(--spacing-2xs) var(--spacing-xs);
5
+ padding: 0 var(--spacing-s);
6
6
  display: flex;
7
7
  align-items: center;
8
8
  border-radius: var(--radius-small);
9
- background-color: var(--gray-light-color);
10
- min-height: var(--form-ele-small1x);
9
+ min-height: var(--form-ele-small);
10
+ line-height: 1;
11
11
 
12
12
  &__button[type="button"] {
13
13
  border: 1px solid var(--gray-medium-color);
@@ -17,17 +17,6 @@
17
17
  height: 100%;
18
18
  line-height: 1.4;
19
19
 
20
- &.tag--small {
21
- padding: var(--spacing-3xs) var(--spacing-2xs);
22
- min-height: 28px;
23
- font-size: var(--font-size-xs);
24
- }
25
-
26
- &.tag--large {
27
- min-height: var(--form-ele-small);
28
- font-size: var(--font-size-m);
29
- }
30
-
31
20
  &.tag--selected {
32
21
  background-color: var(--gray-color);
33
22
  color: white;
@@ -41,33 +30,27 @@
41
30
  }
42
31
 
43
32
  &__clear-button {
44
- position: absolute;
45
- top: 50%;
46
- transform: translateY(-50%);
47
- right: var(--spacing-3xs);
48
33
  font-weight: var(--font-weight-normal);
49
34
  transition: transform;
50
35
 
51
36
  [class*=utds-icon-before-]::before {
52
37
  font-size: .7rem;
53
38
  }
54
-
55
- &[disabled]:active {
56
- transform: translateY(-50%);
57
- }
58
39
  }
59
40
 
60
41
  &__wrapper {
61
42
  border-radius: var(--radius-small);
62
43
  display: flex;
63
44
  align-items: center;
64
- line-height: 1.4;
65
45
  position: relative;
46
+ background-color: var(--gray-light-color);
66
47
  }
67
48
 
68
49
  &--small {
69
50
  font-size: var(--font-size-xs);
70
- padding: var(--spacing-3xs) var(--spacing-2xs);
51
+ padding: 0 var(--spacing-xs);
52
+ min-height: var(--form-ele-small2x);
53
+
71
54
 
72
55
  .tag--icon {
73
56
  svg {
@@ -119,8 +102,12 @@
119
102
 
120
103
  &--clearable {
121
104
  .tag {
122
- padding: var(--spacing-2xs) var(--spacing-xl) var(--spacing-2xs) var(--spacing-xs);
105
+ padding: 0 0 0 var(--spacing-xs);
106
+ }
107
+ .tag--small {
108
+ padding: 0 0 0 var(--spacing-xs);
123
109
  }
124
110
  }
111
+
125
112
  }
126
113
  }
@@ -16,9 +16,8 @@
16
16
  transform: translateY(-50%);
17
17
  right: var(--spacing-xs);
18
18
  font-weight: var(--font-weight-normal);
19
- &[class*="utds-icon-before-"]::before {
19
+ [class*="utds-icon-before-"]::before {
20
20
  font-size: 0.9rem;
21
- line-height: 0;
22
21
  }
23
22
  &--is-disabled {
24
23
  color: var(--form-ele-disabled-color);
@@ -31,6 +30,9 @@
31
30
  .input-wrapper--text-input {
32
31
  margin: 0;
33
32
  }
33
+ .tooltip__wrapper {
34
+ z-index: 2001;
35
+ }
34
36
  }
35
37
  &__list-box {
36
38
  background: white;
@@ -0,0 +1,95 @@
1
+ @use "../../../2-tools/tools-index";
2
+
3
+ @use "../../../1-settings/class-vars";
4
+
5
+ #{class-vars.$base-class} {
6
+ .multi-select {
7
+ background: white;
8
+ color: var(--gray-color);
9
+ min-height: var(--form-ele-medium);
10
+ border-radius: var(--radius-small);
11
+ box-sizing: border-box;
12
+ border: 1px solid var(--gray-color);
13
+ width: 100%;
14
+ display: flex;
15
+ flex-wrap: wrap;
16
+ align-items: start;
17
+ gap: var(--spacing-2xs);
18
+ padding: var(--spacing-2xs) var(--spacing-xl) var(--spacing-2xs) var(--spacing-2xs);
19
+
20
+ &__wrapper {
21
+ position: relative;
22
+
23
+ .tooltip__wrapper {
24
+ z-index: 2001;
25
+ }
26
+ }
27
+
28
+ @include tools-index.form-ele-hover-medium;
29
+
30
+ &__combo-box {
31
+ flex: 1;
32
+ min-width: 25%;
33
+
34
+ .combo-box-input {
35
+ border: none;
36
+ min-height: var(--form-ele-small1x);
37
+ padding: 0;
38
+ flex: 1;
39
+
40
+ &__chevron {
41
+ display: none;
42
+ }
43
+
44
+ &:hover {
45
+ box-shadow: none;
46
+ }
47
+
48
+ &:focus-visible {
49
+ outline: none;
50
+ }
51
+ }
52
+ }
53
+
54
+ &__chevron, &__clear-button {
55
+ position: absolute;
56
+ top: 50%;
57
+ transform: translateY(-50%);
58
+ right: var(--spacing-xs);
59
+ font-weight: var(--font-weight-normal);
60
+ [class*="utds-icon-before-"]::before {
61
+ font-size: 0.9rem;
62
+ }
63
+ &[disabled]:active {
64
+ transform: translateY(-50%);
65
+ }
66
+ }
67
+ &__clear-button {
68
+ right: var(--spacing-xl);
69
+ [class*="utds-icon-before-"]::before {
70
+ font-size: .7rem;
71
+ }
72
+ }
73
+
74
+ &--clear-icon-visible {
75
+ padding: var(--spacing-2xs) var(--spacing-4xl) var(--spacing-2xs) var(--spacing-2xs);
76
+ }
77
+
78
+ &--disabled {
79
+ background-color: var(--disabled-gray);
80
+ cursor: not-allowed;
81
+ input[type=text] {
82
+ background: transparent;
83
+ }
84
+ }
85
+
86
+ &--focused {
87
+ outline: 2px solid var(--form-ele-color);
88
+ outline-offset: 2px;
89
+ transition: none;
90
+ &.multi-select--disabled {
91
+ outline: none;
92
+ }
93
+ }
94
+ }
95
+ }
@@ -1,15 +1,69 @@
1
1
  @use "../../../1-settings/settings-index";
2
2
  @use "../../../1-settings/class-vars";
3
3
  @use "../../../1-settings/spacing";
4
-
4
+ @use "../../../7-utilities/animation";
5
5
 
6
6
  #{class-vars.$base-class} {
7
- .modal-backdrop {
8
- position: fixed;
9
- width: 100vw;
10
- height: 100vh;
11
- top: 0;
12
- left: 0;
13
- z-index: 4000;
7
+ .modal{
8
+ &-backdrop {
9
+ position: fixed;
10
+ width: 100vw;
11
+ height: 100vh;
12
+ top: 0;
13
+ left: 0;
14
+ z-index: 4000;
15
+ }
16
+
17
+ &__wrapper {
18
+ animation: 400ms ease-in-out 100ms drop-in both;
19
+ background: #fff;
20
+ display: inline-block;
21
+ max-width: 660px;
22
+ width: calc(100% - var(--spacing-3xl));
23
+ border-radius: var(--radius-medium);
24
+ left: 50%;
25
+ margin: var(--spacing-4xl) var(--spacing) var(--spacing-4xl) 0;
26
+ overflow: hidden;
27
+ padding: 0;
28
+ position: absolute;
29
+ top: 0;
30
+ transform: translateX(-50%);
31
+ z-index: 5000;
32
+ }
33
+
34
+ &__title {
35
+ font-weight: var(--font-weight-bold);
36
+ font-size: var(--font-size-2xl);
37
+ padding: var(--spacing-xs) calc(var(--spacing) + 1.4rem) var(--spacing-xs) var(--spacing-l);
38
+ }
39
+
40
+ &__content {
41
+ line-height: 1.6rem;
42
+ padding: var(--spacing-xs) var(--spacing-l);
43
+ }
44
+
45
+ &__footer {
46
+ padding: var(--spacing-xs) var(--spacing-l) var(--spacing);
47
+ }
48
+
49
+ &__close-button {
50
+ position: absolute;
51
+ top: var(--spacing-2xs);
52
+ right: var(--spacing-2xs);
53
+
54
+ .utds-icon-before-x-icon::before {
55
+ font-size: 0.7rem;
56
+ }
57
+ }
58
+
59
+ &--small {
60
+ max-width: 440px;
61
+ border-radius: var(--radius-small);
62
+ }
63
+
64
+ &--large {
65
+ max-width: 990px;
66
+ border-radius: var(--radius-large);
67
+ }
14
68
  }
15
69
  }