baseui 10.12.1 → 11.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (307) hide show
  1. package/README.md +3 -3
  2. package/accordion/accordion.js +60 -13
  3. package/accordion/accordion.js.flow +49 -12
  4. package/accordion/index.d.ts +0 -3
  5. package/accordion/panel.js +7 -6
  6. package/accordion/panel.js.flow +20 -20
  7. package/accordion/stateless-accordion.js +2 -4
  8. package/accordion/stateless-accordion.js.flow +0 -2
  9. package/accordion/types.js.flow +0 -5
  10. package/button/constants.js +1 -2
  11. package/button/constants.js.flow +0 -1
  12. package/button/index.d.ts +0 -1
  13. package/button/styled-components.js +2 -29
  14. package/button/styled-components.js.flow +2 -30
  15. package/checkbox/checkbox.js +6 -30
  16. package/checkbox/checkbox.js.flow +7 -38
  17. package/checkbox/constants.js +2 -1
  18. package/checkbox/constants.js.flow +2 -1
  19. package/checkbox/index.d.ts +4 -6
  20. package/checkbox/index.js +0 -6
  21. package/checkbox/index.js.flow +0 -1
  22. package/checkbox/styled-components.js +52 -149
  23. package/checkbox/styled-components.js.flow +59 -165
  24. package/checkbox/types.js.flow +0 -5
  25. package/data-table/column-categorical.js +1 -1
  26. package/data-table/column-categorical.js.flow +1 -1
  27. package/data-table/column-datetime.js +1 -1
  28. package/data-table/column-datetime.js.flow +3 -1
  29. package/data-table/column.js +6 -2
  30. package/data-table/column.js.flow +9 -7
  31. package/data-table/data-table.js +10 -2
  32. package/data-table/data-table.js.flow +4 -1
  33. package/data-table/header-cell.js +3 -0
  34. package/data-table/header-cell.js.flow +1 -1
  35. package/data-table/index.d.ts +7 -8
  36. package/data-table/stateful-data-table.js +2 -1
  37. package/data-table/stateful-data-table.js.flow +1 -0
  38. package/data-table/types.js.flow +8 -0
  39. package/datepicker/calendar.js +28 -15
  40. package/datepicker/calendar.js.flow +31 -14
  41. package/datepicker/constants.js +12 -2
  42. package/datepicker/constants.js.flow +10 -0
  43. package/datepicker/datepicker.js +117 -86
  44. package/datepicker/datepicker.js.flow +123 -66
  45. package/datepicker/day.js +85 -34
  46. package/datepicker/day.js.flow +118 -54
  47. package/datepicker/locale.js.flow +0 -1
  48. package/datepicker/month.js +3 -1
  49. package/datepicker/month.js.flow +2 -0
  50. package/datepicker/stateful-calendar.js +6 -1
  51. package/datepicker/stateful-calendar.js.flow +8 -1
  52. package/datepicker/stateful-container.js +23 -2
  53. package/datepicker/stateful-container.js.flow +17 -3
  54. package/datepicker/stateful-datepicker.js +6 -1
  55. package/datepicker/stateful-datepicker.js.flow +7 -1
  56. package/datepicker/styled-components.js +23 -1
  57. package/datepicker/styled-components.js.flow +12 -2
  58. package/datepicker/types.js.flow +46 -43
  59. package/datepicker/utils/date-helpers.js +30 -0
  60. package/datepicker/utils/date-helpers.js.flow +12 -0
  61. package/datepicker/week.js +3 -1
  62. package/datepicker/week.js.flow +2 -0
  63. package/es/accordion/accordion.js +52 -12
  64. package/es/accordion/panel.js +7 -5
  65. package/es/accordion/stateless-accordion.js +2 -4
  66. package/es/button/constants.js +1 -2
  67. package/es/button/styled-components.js +2 -29
  68. package/es/checkbox/checkbox.js +7 -32
  69. package/es/checkbox/constants.js +2 -1
  70. package/es/checkbox/index.js +1 -1
  71. package/es/checkbox/styled-components.js +51 -146
  72. package/es/data-table/column-categorical.js +1 -1
  73. package/es/data-table/column-datetime.js +1 -1
  74. package/es/data-table/column.js +6 -2
  75. package/es/data-table/data-table.js +6 -2
  76. package/es/data-table/header-cell.js +3 -0
  77. package/es/data-table/stateful-data-table.js +2 -1
  78. package/es/datepicker/calendar.js +28 -15
  79. package/es/datepicker/constants.js +8 -0
  80. package/es/datepicker/datepicker.js +106 -79
  81. package/es/datepicker/day.js +77 -34
  82. package/es/datepicker/month.js +3 -1
  83. package/es/datepicker/stateful-calendar.js +6 -1
  84. package/es/datepicker/stateful-container.js +22 -2
  85. package/es/datepicker/stateful-datepicker.js +6 -1
  86. package/es/datepicker/styled-components.js +8 -2
  87. package/es/datepicker/types.js +1 -1
  88. package/es/datepicker/utils/date-helpers.js +16 -0
  89. package/es/datepicker/week.js +3 -1
  90. package/es/file-uploader/file-uploader.js +4 -4
  91. package/es/form-control/styled-components.js +0 -1
  92. package/es/header-navigation/styled-components.js +3 -3
  93. package/es/helpers/overrides.js +1 -2
  94. package/es/input/styled-components.js +4 -4
  95. package/es/layer/layer.js +4 -4
  96. package/es/list/list-item.js +5 -1
  97. package/es/list/menu-adapter.js +4 -0
  98. package/es/locale/index.js +0 -7
  99. package/es/menu/stateful-container.js +0 -1
  100. package/es/menu/styled-components.js +1 -1
  101. package/es/modal/index.js +1 -1
  102. package/es/modal/modal.js +19 -65
  103. package/es/modal/styled-components.js +12 -48
  104. package/es/phone-input/default-props.js +1 -1
  105. package/es/phone-input/index.js +0 -4
  106. package/es/phone-input/phone-input-lite.js +55 -31
  107. package/es/radio/radio.js +1 -7
  108. package/es/radio/radiogroup.js +3 -28
  109. package/es/radio/styled-components.js +4 -5
  110. package/es/rating/styled-components.js +3 -3
  111. package/es/select/index.js +1 -2
  112. package/es/select/select-component.js +20 -20
  113. package/es/select/styled-components.js +21 -17
  114. package/es/snackbar/snackbar-context.js +1 -1
  115. package/es/snackbar/styled-components.js +2 -2
  116. package/es/spinner/index.js +3 -9
  117. package/es/spinner/styled-components.js +2 -32
  118. package/es/table/filter.js +3 -3
  119. package/es/tag/styled-components.js +1 -1
  120. package/es/themes/dark-theme/color-component-tokens.js +0 -38
  121. package/es/themes/dark-theme/color-tokens.js +0 -2
  122. package/es/themes/dark-theme/create-dark-theme.js +0 -2
  123. package/es/themes/dark-theme/dark-theme.js +0 -2
  124. package/es/themes/light-theme/color-component-tokens.js +0 -38
  125. package/es/themes/light-theme/color-tokens.js +0 -2
  126. package/es/themes/light-theme/create-light-theme.js +0 -2
  127. package/es/themes/light-theme/light-theme.js +0 -2
  128. package/es/timepicker/timepicker.js +1 -8
  129. package/es/typography/index.js +1 -31
  130. package/esm/accordion/accordion.js +60 -13
  131. package/esm/accordion/panel.js +7 -6
  132. package/esm/accordion/stateless-accordion.js +2 -4
  133. package/esm/button/constants.js +1 -2
  134. package/esm/button/styled-components.js +2 -29
  135. package/esm/checkbox/checkbox.js +7 -30
  136. package/esm/checkbox/constants.js +2 -1
  137. package/esm/checkbox/index.js +1 -1
  138. package/esm/checkbox/styled-components.js +52 -147
  139. package/esm/data-table/column-categorical.js +1 -1
  140. package/esm/data-table/column-datetime.js +1 -1
  141. package/esm/data-table/column.js +6 -2
  142. package/esm/data-table/data-table.js +10 -2
  143. package/esm/data-table/header-cell.js +3 -0
  144. package/esm/data-table/stateful-data-table.js +2 -1
  145. package/esm/datepicker/calendar.js +28 -15
  146. package/esm/datepicker/constants.js +8 -0
  147. package/esm/datepicker/datepicker.js +116 -86
  148. package/esm/datepicker/day.js +84 -34
  149. package/esm/datepicker/month.js +3 -1
  150. package/esm/datepicker/stateful-calendar.js +6 -1
  151. package/esm/datepicker/stateful-container.js +23 -2
  152. package/esm/datepicker/stateful-datepicker.js +6 -1
  153. package/esm/datepicker/styled-components.js +24 -2
  154. package/esm/datepicker/types.js +1 -1
  155. package/esm/datepicker/utils/date-helpers.js +30 -0
  156. package/esm/datepicker/week.js +3 -1
  157. package/esm/file-uploader/file-uploader.js +4 -4
  158. package/esm/form-control/styled-components.js +0 -1
  159. package/esm/header-navigation/styled-components.js +3 -3
  160. package/esm/helpers/overrides.js +1 -2
  161. package/esm/input/styled-components.js +4 -4
  162. package/esm/layer/layer.js +4 -4
  163. package/esm/list/list-item.js +5 -1
  164. package/esm/list/menu-adapter.js +4 -0
  165. package/esm/locale/index.js +0 -7
  166. package/esm/menu/stateful-container.js +0 -1
  167. package/esm/menu/styled-components.js +1 -1
  168. package/esm/modal/index.js +1 -1
  169. package/esm/modal/modal.js +28 -71
  170. package/esm/modal/styled-components.js +6 -38
  171. package/esm/phone-input/default-props.js +1 -1
  172. package/esm/phone-input/index.js +0 -4
  173. package/esm/phone-input/phone-input-lite.js +60 -37
  174. package/esm/radio/radio.js +1 -7
  175. package/esm/radio/radiogroup.js +3 -28
  176. package/esm/radio/styled-components.js +4 -5
  177. package/esm/rating/styled-components.js +3 -3
  178. package/esm/select/index.js +1 -2
  179. package/esm/select/select-component.js +20 -20
  180. package/esm/select/styled-components.js +21 -14
  181. package/esm/snackbar/snackbar-context.js +1 -1
  182. package/esm/snackbar/styled-components.js +2 -2
  183. package/esm/spinner/index.js +3 -9
  184. package/esm/spinner/styled-components.js +2 -40
  185. package/esm/table/filter.js +3 -3
  186. package/esm/tag/styled-components.js +1 -1
  187. package/esm/themes/dark-theme/color-component-tokens.js +0 -38
  188. package/esm/themes/dark-theme/color-tokens.js +0 -2
  189. package/esm/themes/dark-theme/create-dark-theme.js +1 -2
  190. package/esm/themes/dark-theme/dark-theme.js +1 -2
  191. package/esm/themes/light-theme/color-component-tokens.js +0 -38
  192. package/esm/themes/light-theme/color-tokens.js +0 -2
  193. package/esm/themes/light-theme/create-light-theme.js +1 -2
  194. package/esm/themes/light-theme/light-theme.js +1 -2
  195. package/esm/timepicker/timepicker.js +1 -8
  196. package/esm/typography/index.js +1 -35
  197. package/file-uploader/file-uploader.js +3 -3
  198. package/file-uploader/file-uploader.js.flow +4 -4
  199. package/form-control/index.d.ts +9 -0
  200. package/form-control/styled-components.js +0 -1
  201. package/form-control/styled-components.js.flow +0 -1
  202. package/header-navigation/styled-components.js +3 -3
  203. package/header-navigation/styled-components.js.flow +3 -3
  204. package/helpers/overrides.js +1 -2
  205. package/helpers/overrides.js.flow +1 -1
  206. package/input/index.d.ts +5 -9
  207. package/input/styled-components.js +4 -4
  208. package/input/styled-components.js.flow +4 -4
  209. package/layer/layer.js +4 -4
  210. package/layer/layer.js.flow +4 -3
  211. package/list/list-item.js +5 -1
  212. package/list/list-item.js.flow +4 -0
  213. package/list/menu-adapter.js +4 -0
  214. package/list/menu-adapter.js.flow +4 -0
  215. package/list/types.js.flow +4 -0
  216. package/locale/index.js +0 -7
  217. package/locale/index.js.flow +0 -7
  218. package/locale.ts +0 -1
  219. package/menu/index.d.ts +1 -3
  220. package/menu/stateful-container.js +0 -1
  221. package/menu/stateful-container.js.flow +0 -1
  222. package/menu/styled-components.js +1 -1
  223. package/menu/styled-components.js.flow +1 -1
  224. package/modal/index.d.ts +4 -6
  225. package/modal/index.js +0 -6
  226. package/modal/index.js.flow +0 -1
  227. package/modal/modal.js +27 -70
  228. package/modal/modal.js.flow +17 -83
  229. package/modal/styled-components.js +7 -40
  230. package/modal/styled-components.js.flow +12 -44
  231. package/modal/types.js.flow +1 -10
  232. package/package.json +3 -2
  233. package/phone-input/default-props.js +1 -1
  234. package/phone-input/default-props.js.flow +1 -1
  235. package/phone-input/index.d.ts +0 -1
  236. package/phone-input/index.js +0 -36
  237. package/phone-input/index.js.flow +0 -4
  238. package/phone-input/phone-input-lite.js +63 -38
  239. package/phone-input/phone-input-lite.js.flow +66 -44
  240. package/radio/index.d.ts +4 -9
  241. package/radio/radio.js +1 -7
  242. package/radio/radio.js.flow +1 -8
  243. package/radio/radiogroup.js +3 -28
  244. package/radio/radiogroup.js.flow +2 -26
  245. package/radio/styled-components.js +4 -5
  246. package/radio/styled-components.js.flow +3 -4
  247. package/radio/types.js.flow +4 -15
  248. package/rating/styled-components.js +3 -3
  249. package/rating/styled-components.js.flow +3 -3
  250. package/select/index.d.ts +0 -2
  251. package/select/index.js +0 -6
  252. package/select/index.js.flow +0 -2
  253. package/select/select-component.js +23 -24
  254. package/select/select-component.js.flow +25 -14
  255. package/select/styled-components.js +23 -17
  256. package/select/styled-components.js.flow +17 -12
  257. package/snackbar/snackbar-context.js +1 -1
  258. package/snackbar/snackbar-context.js.flow +1 -1
  259. package/snackbar/styled-components.js +1 -1
  260. package/snackbar/styled-components.js.flow +11 -11
  261. package/spinner/index.d.ts +5 -18
  262. package/spinner/index.js +2 -68
  263. package/spinner/index.js.flow +2 -27
  264. package/spinner/styled-components.js +9 -45
  265. package/spinner/styled-components.js.flow +2 -34
  266. package/spinner/types.js.flow +1 -19
  267. package/styles/types.js.flow +0 -2
  268. package/table/filter.js +3 -3
  269. package/table/filter.js.flow +3 -3
  270. package/tag/styled-components.js +1 -1
  271. package/tag/styled-components.js.flow +1 -1
  272. package/tag/types.js.flow +1 -1
  273. package/theme.ts +0 -81
  274. package/themes/dark-theme/color-component-tokens.js +0 -38
  275. package/themes/dark-theme/color-component-tokens.js.flow +0 -42
  276. package/themes/dark-theme/color-tokens.js +0 -2
  277. package/themes/dark-theme/color-tokens.js.flow +0 -2
  278. package/themes/dark-theme/create-dark-theme.js +1 -3
  279. package/themes/dark-theme/create-dark-theme.js.flow +0 -2
  280. package/themes/dark-theme/dark-theme.js +1 -3
  281. package/themes/dark-theme/dark-theme.js.flow +0 -2
  282. package/themes/light-theme/color-component-tokens.js +0 -38
  283. package/themes/light-theme/color-component-tokens.js.flow +0 -43
  284. package/themes/light-theme/color-tokens.js +0 -2
  285. package/themes/light-theme/color-tokens.js.flow +0 -2
  286. package/themes/light-theme/create-light-theme.js +1 -3
  287. package/themes/light-theme/create-light-theme.js.flow +0 -2
  288. package/themes/light-theme/light-theme.js +1 -3
  289. package/themes/light-theme/light-theme.js.flow +0 -2
  290. package/themes/types.js.flow +0 -68
  291. package/timepicker/timepicker.js +1 -8
  292. package/timepicker/timepicker.js.flow +4 -10
  293. package/typography/index.d.ts +0 -23
  294. package/typography/index.js +2 -57
  295. package/typography/index.js.flow +0 -31
  296. package/es/spinner/spinner.js +0 -68
  297. package/es/themes/dark-theme/color-deprecated-semantic-tokens.js +0 -35
  298. package/es/themes/light-theme/color-deprecated-semantic-tokens.js +0 -35
  299. package/esm/spinner/spinner.js +0 -125
  300. package/esm/themes/dark-theme/color-deprecated-semantic-tokens.js +0 -38
  301. package/esm/themes/light-theme/color-deprecated-semantic-tokens.js +0 -38
  302. package/spinner/spinner.js +0 -136
  303. package/spinner/spinner.js.flow +0 -75
  304. package/themes/dark-theme/color-deprecated-semantic-tokens.js +0 -50
  305. package/themes/dark-theme/color-deprecated-semantic-tokens.js.flow +0 -42
  306. package/themes/light-theme/color-deprecated-semantic-tokens.js +0 -50
  307. package/themes/light-theme/color-deprecated-semantic-tokens.js.flow +0 -42
@@ -6,7 +6,7 @@ LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { styled } from '../styles/index.js';
8
8
  import getDayStateCode from './utils/day-state.js';
9
- import { ORIENTATION, DENSITY } from './constants.js';
9
+ import { ORIENTATION, DENSITY, INPUT_ROLE } from './constants.js';
10
10
  /**
11
11
  * Main component container element
12
12
  */
@@ -447,6 +447,9 @@ export const StyledDay = styled('div', props => {
447
447
  $outsideMonthWithinRange,
448
448
  $hasDateLabel,
449
449
  $density,
450
+ $hasLockedBehavior,
451
+ $selectedInput,
452
+ $value,
450
453
  $theme: {
451
454
  colors,
452
455
  typography,
@@ -470,6 +473,9 @@ export const StyledDay = styled('div', props => {
470
473
  }
471
474
  }
472
475
 
476
+ const [startDate, endDate] = Array.isArray($value) ? $value : [$value, null];
477
+ const oppositeInputIsPopulated = $selectedInput === INPUT_ROLE.startDate ? endDate !== null && typeof endDate !== 'undefined' : startDate !== null && typeof startDate !== 'undefined';
478
+ const shouldHighlightRange = $range && !($hasLockedBehavior && !oppositeInputIsPopulated);
473
479
  return { ...($density === DENSITY.high ? typography.ParagraphSmall : typography.ParagraphMedium),
474
480
  boxSizing: 'border-box',
475
481
  position: 'relative',
@@ -533,7 +539,7 @@ export const StyledDay = styled('div', props => {
533
539
  content: null
534
540
  } : {})
535
541
  },
536
- ...($range ? {
542
+ ...(shouldHighlightRange ? {
537
543
  // :before pseudo element defines a grey background style that extends
538
544
  // the selected/highlighted day's circle and spans through a range
539
545
  ':before': {
@@ -7,4 +7,4 @@ LICENSE file in the root directory of this source tree.
7
7
 
8
8
  /* eslint-disable flowtype/generic-spacing */
9
9
  import * as React from 'react';
10
- import { ORIENTATION, STATE_CHANGE_TYPE, DENSITY } from './constants.js';
10
+ import { INPUT_ROLE, ORIENTATION, RANGED_CALENDAR_BEHAVIOR, STATE_CHANGE_TYPE, DENSITY } from './constants.js';
@@ -201,6 +201,22 @@ class DateHelpers {
201
201
  return false;
202
202
  });
203
203
 
204
+ _defineProperty(this, "dateRangeIncludesDates", (dateRange, dates) => {
205
+ const [startDate, endDate] = dateRange;
206
+
207
+ if (startDate && endDate && Array.isArray(dates) && dates.length) {
208
+ for (let i = 0; i < dates.length; i++) {
209
+ const day = dates[i];
210
+
211
+ if (this.isDayInRange(day, startDate, endDate)) {
212
+ return true;
213
+ }
214
+ }
215
+ }
216
+
217
+ return false;
218
+ });
219
+
204
220
  _defineProperty(this, "subDays", (date, days) => {
205
221
  return this.adapter.addDays(date, days * -1);
206
222
  });
@@ -56,7 +56,9 @@ export default class Week extends React.Component {
56
56
  onMouseLeave: this.props.onDayMouseLeave,
57
57
  overrides: this.props.overrides,
58
58
  peekNextMonth: this.props.peekNextMonth,
59
- value: this.props.value
59
+ value: this.props.value,
60
+ hasLockedBehavior: this.props.hasLockedBehavior,
61
+ selectedInput: this.props.selectedInput
60
62
  })
61
63
  );
62
64
  }));
@@ -13,7 +13,7 @@ import { useStyletron } from '../styles/index.js';
13
13
  import { Button, KIND, SHAPE, SIZE as BUTTON_SIZE } from '../button/index.js';
14
14
  import { getOverrides } from '../helpers/overrides.js';
15
15
  import { ProgressBar } from '../progress-bar/index.js';
16
- import { StyledSpinnerNext, SIZE as SPINNER_SIZE } from '../spinner/index.js';
16
+ import { Spinner, SIZE as SPINNER_SIZE } from '../spinner/index.js';
17
17
  import { StyledRoot, StyledFileDragAndDrop, StyledContentMessage, StyledContentSeparator, StyledErrorMessage, StyledHiddenInput } from './styled-components.js';
18
18
 
19
19
  function prependStyleProps(styleProps) {
@@ -35,7 +35,7 @@ function FileUploader(props) {
35
35
  const [ErrorMessage, errorMessageProps] = getOverrides(overrides.ErrorMessage, StyledErrorMessage);
36
36
  const [HiddenInput, hiddenInputProps] = getOverrides(overrides.HiddenInput, StyledHiddenInput);
37
37
  const [ButtonComponent, buttonProps] = getOverrides(overrides.ButtonComponent, Button);
38
- const [SpinnerComponent, spinnerProps] = getOverrides(overrides.Spinner, StyledSpinnerNext);
38
+ const [SpinnerComponent, spinnerProps] = getOverrides(overrides.Spinner, Spinner);
39
39
  const afterFileDrop = !!(props.progressAmount || props.progressMessage || props.errorMessage);
40
40
  return /*#__PURE__*/React.createElement(Dropzone, _extends({}, props, {
41
41
  disabled: props.disabled || afterFileDrop
@@ -90,7 +90,7 @@ function FileUploader(props) {
90
90
  marginBottom: theme.sizing.scale300
91
91
  }
92
92
  }, spinnerProps)), (props.errorMessage || props.progressMessage) && props.errorMessage ? /*#__PURE__*/React.createElement(ErrorMessage, _extends({}, prefixedStyledProps, errorMessageProps), props.errorMessage) : /*#__PURE__*/React.createElement(ContentMessage, _extends({}, prefixedStyledProps, contentMessageProps), props.progressMessage), props.errorMessage ? /*#__PURE__*/React.createElement(ButtonComponent, {
93
- kind: KIND.minimal,
93
+ kind: KIND.tertiary,
94
94
  onClick: () => {
95
95
  props.onRetry && props.onRetry();
96
96
  },
@@ -98,7 +98,7 @@ function FileUploader(props) {
98
98
  "aria-describedby": props['aria-describedby'],
99
99
  "aria-errormessage": props.errorMessage
100
100
  }, locale.fileuploader.retry) : /*#__PURE__*/React.createElement(ButtonComponent, {
101
- kind: KIND.minimal,
101
+ kind: KIND.tertiary,
102
102
  onClick: () => {
103
103
  props.onCancel && props.onCancel();
104
104
  },
@@ -14,7 +14,6 @@ export const Label = styled('label', props => {
14
14
  }
15
15
  } = props;
16
16
  return { ...typography.font250,
17
- fontWeight: 500,
18
17
  width: '100%',
19
18
  color: $disabled ? colors.contentSecondary : colors.contentPrimary,
20
19
  display: 'block',
@@ -18,7 +18,7 @@ export const Root = styled('nav', props => {
18
18
  font300
19
19
  },
20
20
  colors: {
21
- border
21
+ borderOpaque
22
22
  }
23
23
  } = $theme;
24
24
  return { ...font300,
@@ -27,8 +27,8 @@ export const Root = styled('nav', props => {
27
27
  paddingTop: scale500,
28
28
  borderBottomWidth: '1px',
29
29
  borderBottomStyle: 'solid',
30
- borderBottomColor: `${border}`,
31
- backgroundColor: $theme.colors.headerNavigationFill
30
+ borderBottomColor: `${borderOpaque}`,
31
+ backgroundColor: $theme.colors.backgroundPrimary
32
32
  };
33
33
  });
34
34
  Root.displayName = "Root";
@@ -77,8 +77,7 @@ export function toObjectOverride(override) {
77
77
  /**
78
78
  * Get a convenient override array that will always have [component, props]
79
79
  */
80
-
81
- /* flowlint unclear-type:off */
80
+ // flowlint unclear-type:off
82
81
 
83
82
  export function getOverrides(override, defaultComponent) {
84
83
  const Component = getOverride(override) || defaultComponent;
@@ -123,10 +123,10 @@ function getRootColors($disabled, $isFocused, $error, $positive = false, colors)
123
123
 
124
124
  if ($isFocused) {
125
125
  return {
126
- borderLeftColor: colors.borderFocus,
127
- borderRightColor: colors.borderFocus,
128
- borderTopColor: colors.borderFocus,
129
- borderBottomColor: colors.borderFocus,
126
+ borderLeftColor: colors.borderSelected,
127
+ borderRightColor: colors.borderSelected,
128
+ borderTopColor: colors.borderSelected,
129
+ borderBottomColor: colors.borderSelected,
130
130
  backgroundColor: colors.inputFillActive
131
131
  };
132
132
  }
package/es/layer/layer.js CHANGED
@@ -161,10 +161,10 @@ class LayerComponent extends React.Component {
161
161
  }, children) : children;
162
162
 
163
163
  if (typeof document !== 'undefined') {
164
- const portalContainer = mountNode || container;
165
-
166
- if (portalContainer) {
167
- return /*#__PURE__*/ReactDOM.createPortal(childrenToRender, portalContainer);
164
+ if (mountNode) {
165
+ return /*#__PURE__*/ReactDOM.createPortal(childrenToRender, mountNode);
166
+ } else if (container) {
167
+ return /*#__PURE__*/ReactDOM.createPortal(childrenToRender, container);
168
168
  }
169
169
 
170
170
  return null;
@@ -41,7 +41,11 @@ const ListItem = /*#__PURE__*/React.forwardRef((props, ref) => {
41
41
  return /*#__PURE__*/React.createElement(Root // flowlint-next-line unclear-type:off
42
42
  , _extends({
43
43
  ref: ref,
44
- $shape: props.shape || SHAPE.DEFAULT
44
+ $shape: props.shape || SHAPE.DEFAULT,
45
+ "aria-label": props['aria-label'],
46
+ "aria-selected": props['aria-selected'],
47
+ id: props.id,
48
+ role: props.role
45
49
  }, rootProps), Artwork && /*#__PURE__*/React.createElement(ArtworkContainer, _extends({
46
50
  $artworkSize: artworkSize,
47
51
  $sublist: Boolean(props.sublist)
@@ -11,9 +11,13 @@ const MenuAdapter = /*#__PURE__*/React.forwardRef((props, ref) => {
11
11
  return /*#__PURE__*/React.createElement(ListItem, {
12
12
  ref: ref,
13
13
  sublist: props.sublist || props.$size === 'compact',
14
+ "aria-label": props['aria-label'],
15
+ "aria-selected": props['aria-selected'],
14
16
  artwork: props.artwork,
15
17
  artworkSize: props.artworkSize,
16
18
  endEnhancer: props.endEnhancer,
19
+ id: props.id,
20
+ role: props.role,
17
21
  overrides: mergeOverrides({
18
22
  Root: {
19
23
  props: {
@@ -14,13 +14,6 @@ const LocaleProvider = props => {
14
14
  locale,
15
15
  children
16
16
  } = props;
17
-
18
- if (process.env.NODE_ENV !== "production") {
19
- if (locale.datepicker && locale.datepicker.timePickerAriaLabel) {
20
- console.warn('`timePickerAriaLabel` will be removed in v11 - please use timePickerAriaLabel12Hour and timePickerAriaLabel24Hour instead');
21
- }
22
- }
23
-
24
17
  return /*#__PURE__*/React.createElement(LocaleContext.Provider, {
25
18
  value: extend({}, en_US, locale)
26
19
  }, children);
@@ -98,7 +98,6 @@ class MenuStatefulContainerInner extends React.Component {
98
98
  this.typeAheadChars = '';
99
99
  }, 500);
100
100
  var nextIndex = prevIndex;
101
- event.preventDefault();
102
101
  var list = this.getItems();
103
102
  if (list.length === 0 || !('label' in list[0])) return;
104
103
  var notMatch = true;
@@ -87,7 +87,7 @@ export const StyledOptgroupHeader = styled('li', props => {
87
87
  const paddingX = props.$theme.sizing.scale300;
88
88
  const paddingY = props.$theme.sizing.scale200;
89
89
  return { ...props.$theme.typography.font250,
90
- color: props.$theme.colors.colorPrimary,
90
+ color: props.$theme.colors.contentPrimary,
91
91
  paddingTop: paddingY,
92
92
  paddingBottom: paddingY,
93
93
  paddingRight: paddingX,
package/es/modal/index.js CHANGED
@@ -8,4 +8,4 @@ export { default as Modal } from './modal.js';
8
8
  export { default as ModalButton } from './modal-button.js';
9
9
  export { default as FocusOnce } from './focus-once.js';
10
10
  export { SIZE, ROLE, CLOSE_SOURCE } from './constants.js';
11
- export { Root as StyledRoot, Backdrop as StyledBackdrop, Dialog as StyledDialog, DialogContainer as StyledDialogContainer, Close as StyledClose, ModalHeader, ModalBody, ModalFooter } from './styled-components.js';
11
+ export { Root as StyledRoot, Dialog as StyledDialog, DialogContainer as StyledDialogContainer, Close as StyledClose, ModalHeader, ModalBody, ModalFooter } from './styled-components.js';
package/es/modal/modal.js CHANGED
@@ -18,7 +18,7 @@ import { LocaleContext } from '../locale/index.js';
18
18
  import { getOverrides } from '../helpers/overrides.js';
19
19
  import { Layer } from '../layer/index.js';
20
20
  import { SIZE, ROLE, CLOSE_SOURCE } from './constants.js';
21
- import { Root as StyledRoot, Backdrop as StyledBackdrop, Dialog as StyledDialog, DialogContainer as StyledDialogContainer, Close as StyledClose } from './styled-components.js';
21
+ import { Root as StyledRoot, Dialog as StyledDialog, DialogContainer as StyledDialogContainer, Close as StyledClose } from './styled-components.js';
22
22
  import { CloseIcon } from './close-icon.js';
23
23
  import { isFocusVisible, forkFocus, forkBlur } from '../utils/focusVisible.js';
24
24
 
@@ -30,11 +30,13 @@ class Modal extends React.Component {
30
30
 
31
31
  _defineProperty(this, "animateStartTimer", void 0);
32
32
 
33
+ _defineProperty(this, "dialogContainerRef", /*#__PURE__*/React.createRef());
34
+
33
35
  _defineProperty(this, "lastFocus", null);
34
36
 
35
37
  _defineProperty(this, "lastMountNodeOverflowStyle", null);
36
38
 
37
- _defineProperty(this, "_refs", {});
39
+ _defineProperty(this, "rootRef", /*#__PURE__*/React.createRef());
38
40
 
39
41
  _defineProperty(this, "state", {
40
42
  isVisible: false,
@@ -67,10 +69,7 @@ class Modal extends React.Component {
67
69
  });
68
70
 
69
71
  _defineProperty(this, "onDocumentClick", e => {
70
- if (e.target && e.target instanceof HTMLElement && ( // Handles modal closure when unstable_ModalBackdropScroll is set to true
71
- e.target.contains(this.getRef('DialogContainer').current) || // Handles modal closure when unstable_ModalBackdropScroll is set to false
72
- // $FlowFixMe
73
- e.target.contains(this.getRef('DeprecatedBackdrop').current))) {
72
+ if (e.target && e.target instanceof HTMLElement && e.target.contains(this.dialogContainerRef.current)) {
74
73
  this.onBackdropClick();
75
74
  }
76
75
  });
@@ -97,25 +96,10 @@ class Modal extends React.Component {
97
96
  componentDidMount() {
98
97
  this.setState({
99
98
  mounted: true
100
- }); // TODO(v11)
99
+ });
101
100
 
102
101
  if (process.env.NODE_ENV !== "production") {
103
- if (!this.props.unstable_ModalBackdropScroll) {
104
- console.warn(`Consider setting 'unstable_ModalBackdropScroll' prop to true
105
- to prepare for the next major version upgrade. 'unstable_ModalBackdropScroll'
106
- prop will be removed in the next major version but implemented as the default behavior.`);
107
- }
108
-
109
- if (this.props.overrides && this.props.overrides.Backdrop) {
110
- console.warn(`Backdrop element will be removed in the next major version in favor of
111
- DialogContainer element that will have the backdrop styles and backdrop click handle.
112
- Consider setting 'unstable_ModalBackdropScroll' prop to true that will apply backdrop
113
- styles to DialogContainer enable modal scrolling while cursor in over the backdrop.
114
- Then pass backdrop overrides to DialogContainer instead. Tha will help you with
115
- the next major version upgrade.`);
116
- } // $FlowFixMe: flow complains that this prop doesn't exist
117
-
118
-
102
+ // $FlowFixMe: flow complains that this prop doesn't exist
119
103
  if (this.props.closable) {
120
104
  console.warn('The property `closable` is not supported on the Modal. Did you mean `closeable`?');
121
105
  }
@@ -177,7 +161,7 @@ class Modal extends React.Component {
177
161
  didOpen() {
178
162
  // Sometimes scroll starts past zero, possibly due to animation
179
163
  // Reset scroll to 0 (other libraries do this as well)
180
- const rootRef = this.getRef('Root').current;
164
+ const rootRef = this.rootRef.current;
181
165
 
182
166
  if (rootRef) {
183
167
  rootRef.scrollTop = 0;
@@ -214,8 +198,7 @@ class Modal extends React.Component {
214
198
  isOpen,
215
199
  size,
216
200
  role,
217
- closeable,
218
- unstable_ModalBackdropScroll
201
+ closeable
219
202
  } = this.props;
220
203
  return {
221
204
  $animate: animate,
@@ -224,7 +207,6 @@ class Modal extends React.Component {
224
207
  $size: size,
225
208
  $role: role,
226
209
  $closeable: !!closeable,
227
- $unstable_ModalBackdropScroll: unstable_ModalBackdropScroll,
228
210
  $isFocusVisible: this.state.isFocusVisible
229
211
  };
230
212
  }
@@ -250,21 +232,11 @@ class Modal extends React.Component {
250
232
  return typeof children === 'function' ? children() : children;
251
233
  }
252
234
 
253
- getRef(component) {
254
- if (!this._refs[component]) {
255
- this._refs[component] = /*#__PURE__*/React.createRef();
256
- }
257
-
258
- return this._refs[component];
259
- }
260
-
261
235
  renderModal() {
262
236
  const {
263
237
  overrides = {},
264
238
  closeable,
265
239
  role,
266
- unstable_ModalBackdropScroll,
267
- autofocus,
268
240
  autoFocus,
269
241
  focusLock,
270
242
  returnFocus
@@ -273,47 +245,32 @@ class Modal extends React.Component {
273
245
  Root: RootOverride,
274
246
  Dialog: DialogOverride,
275
247
  DialogContainer: DialogContainerOverride,
276
- Backdrop: BackdropOverride,
277
248
  Close: CloseOverride
278
249
  } = overrides;
279
250
  const [Root, rootProps] = getOverrides(RootOverride, StyledRoot);
280
- const [Backdrop, backdropProps] = getOverrides(BackdropOverride, StyledBackdrop);
281
251
  const [DialogContainer, dialogContainerProps] = getOverrides(DialogContainerOverride, StyledDialogContainer);
282
252
  const [Dialog, dialogProps] = getOverrides(DialogOverride, StyledDialog);
283
253
  const [Close, closeProps] = getOverrides(CloseOverride, StyledClose);
284
254
  const sharedProps = this.getSharedProps();
285
255
  const children = this.getChildren();
286
-
287
- if (autofocus === false && process.env.NODE_ENV !== "production") {
288
- console.warn(`The prop "autofocus" is deprecated in favor of "autoFocus" to be consistent across the project.
289
- The property "autofocus" will be removed in a future major version.`);
290
- } // Handles backdrop click when `unstable_ModalBackdropScroll` is set to true
291
-
292
-
293
- if (dialogContainerProps.ref) {
294
- this._refs.DialogContainer = dialogContainerProps.ref;
295
- }
296
-
297
- const dialogContainerConditionalProps = unstable_ModalBackdropScroll ? {
298
- ref: this.getRef('DialogContainer')
299
- } : {};
300
256
  return /*#__PURE__*/React.createElement(LocaleContext.Consumer, null, locale => /*#__PURE__*/React.createElement(FocusLock, {
301
257
  disabled: !focusLock // Allow focus to escape when UI is within an iframe
302
258
  ,
303
259
  crossFrame: false,
304
260
  returnFocus: returnFocus,
305
- autoFocus: autofocus !== null ? autofocus : autoFocus
261
+ autoFocus: autoFocus
306
262
  }, /*#__PURE__*/React.createElement(Root, _extends({
307
- "data-baseweb": "modal",
308
- ref: this.getRef('Root')
309
- }, sharedProps, rootProps), /*#__PURE__*/React.createElement(Backdrop, _extends({}, unstable_ModalBackdropScroll ? {} : {
310
- ref: this.getRef('DeprecatedBackdrop')
311
- }, sharedProps, backdropProps)), /*#__PURE__*/React.createElement(DialogContainer, _extends({}, dialogContainerConditionalProps, sharedProps, dialogContainerProps), /*#__PURE__*/React.createElement(Dialog, _extends({
263
+ "data-baseweb": "modal" // flowlint-next-line unclear-type:off
264
+ ,
265
+ ref: this.rootRef
266
+ }, sharedProps, rootProps), /*#__PURE__*/React.createElement(DialogContainer // flowlint-next-line unclear-type:off
267
+ , _extends({
268
+ ref: this.dialogContainerRef
269
+ }, sharedProps, dialogContainerProps), /*#__PURE__*/React.createElement(Dialog, _extends({
312
270
  tabIndex: -1,
313
271
  "aria-modal": true,
314
272
  "aria-label": "dialog",
315
- role: role,
316
- ref: this.getRef('Dialog')
273
+ role: role
317
274
  }, sharedProps, dialogProps), children, closeable ? /*#__PURE__*/React.createElement(Close, _extends({
318
275
  "aria-label": locale.modal.close,
319
276
  onClick: this.onCloseClick
@@ -345,8 +302,6 @@ class Modal extends React.Component {
345
302
 
346
303
  _defineProperty(Modal, "defaultProps", {
347
304
  animate: true,
348
- // TODO(v11): remove
349
- autofocus: null,
350
305
  autoFocus: true,
351
306
  focusLock: true,
352
307
  returnFocus: true,
@@ -355,8 +310,7 @@ _defineProperty(Modal, "defaultProps", {
355
310
  isOpen: false,
356
311
  overrides: {},
357
312
  role: ROLE.dialog,
358
- size: SIZE.default,
359
- unstable_ModalBackdropScroll: false
313
+ size: SIZE.default
360
314
  });
361
315
 
362
316
  export default Modal;
@@ -43,67 +43,31 @@ export const Root = styled('div', props => {
43
43
  };
44
44
  });
45
45
  Root.displayName = "Root";
46
- export const Backdrop = styled('div', props => {
47
- const {
48
- $animate,
49
- $isOpen,
50
- $isVisible,
51
- $theme,
52
- $unstable_ModalBackdropScroll
53
- } = props;
54
-
55
- if ($unstable_ModalBackdropScroll) {
56
- return {};
57
- }
58
-
59
- return {
60
- position: 'fixed',
61
- right: 0,
62
- bottom: 0,
63
- top: 0,
64
- left: 0,
65
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
66
- // Remove grey highlight
67
- WebkitTapHighlightColor: 'transparent',
68
- // Disable scroll capabilities.
69
- touchAction: 'none',
70
- opacity: $isVisible && $isOpen ? 1 : 0,
71
- ...($animate ? {
72
- transitionProperty: 'opacity',
73
- transitionDuration: $theme.animation.timing400,
74
- transitionTimingFunction: $theme.animation.easeOutCurve
75
- } : null)
76
- };
77
- });
78
- Backdrop.displayName = "Backdrop";
79
46
  export const DialogContainer = styled('div', props => {
80
47
  const {
81
48
  $animate,
82
49
  $isOpen,
83
50
  $isVisible,
84
- $theme,
85
- $unstable_ModalBackdropScroll
51
+ $theme
86
52
  } = props;
53
+ const animationRules = {
54
+ transitionProperty: 'opacity',
55
+ transitionDuration: $theme.animation.timing400,
56
+ transitionTimingFunction: $theme.animation.easeOutCurve
57
+ };
87
58
  return {
88
59
  display: 'flex',
89
60
  alignItems: 'center',
90
61
  justifyContent: 'center',
91
62
  width: '100%',
92
63
  minHeight: '100%',
93
- pointerEvents: 'none',
94
64
  userSelect: 'none',
95
- ...($unstable_ModalBackdropScroll ? {
96
- pointerEvents: 'auto',
97
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
98
- // Remove grey highlight
99
- WebkitTapHighlightColor: 'transparent',
100
- opacity: $isVisible && $isOpen ? 1 : 0,
101
- ...($animate ? {
102
- transitionProperty: 'opacity',
103
- transitionDuration: $theme.animation.timing400,
104
- transitionTimingFunction: $theme.animation.easeOutCurve
105
- } : null)
106
- } : {})
65
+ pointerEvents: 'auto',
66
+ backgroundColor: 'rgba(0, 0, 0, 0.5)',
67
+ // Remove grey highlight
68
+ WebkitTapHighlightColor: 'transparent',
69
+ opacity: $isVisible && $isOpen ? 1 : 0,
70
+ ...($animate ? animationRules : null)
107
71
  };
108
72
  });
109
73
  DialogContainer.displayName = "DialogContainer";
@@ -9,7 +9,7 @@ const defaultProps = {
9
9
  'aria-label': 'Please enter a phone number without the country dial code.',
10
10
  'aria-describedby': null,
11
11
  'aria-labelledby': null,
12
- clearable: false,
12
+ clearable: true,
13
13
  focusLock: false,
14
14
  country: {
15
15
  label: 'United States',
@@ -6,13 +6,9 @@ LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  export { default as PhoneInput } from './phone-input.js';
8
8
  export { default as PhoneInputLite } from './phone-input-lite.js';
9
- export { default as PhoneInputNext } from './phone-input-next.js';
10
9
  export { default as StatefulPhoneInput } from './stateful-phone-input.js';
11
- export { default as StatefulPhoneInputNext } from './stateful-phone-input-next.js';
12
10
  export { default as StatefulPhoneInputContainer } from './stateful-phone-input-container.js';
13
11
  export { default as CountryPicker } from './country-picker.js';
14
- export { default as CountrySelect } from './country-select.js';
15
- export { default as CountrySelectDropdown } from './country-select-dropdown.js';
16
12
  export { default as Flag, StyledFlag } from './flag.js';
17
13
  export * from './constants.js';
18
14
  export * from './styled-components.js';