@planningcenter/tapestry-react 2.9.2 → 2.10.0-rc.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 (64) hide show
  1. package/dist/cjs/Badge/Badge.js +19 -7
  2. package/dist/cjs/Badge/Status.js +52 -77
  3. package/dist/cjs/Button/Button.js +1 -1
  4. package/dist/cjs/Calendar/Day.js +5 -2
  5. package/dist/cjs/Combobox/ComboboxPopover.js +20 -6
  6. package/dist/cjs/Input/Inline.js +1 -1
  7. package/dist/cjs/Input/InputBox.js +1 -1
  8. package/dist/cjs/Menu/Item.js +47 -25
  9. package/dist/cjs/Modal/Modal.js +4 -3
  10. package/dist/cjs/NumberField/NumberField.js +112 -31
  11. package/dist/cjs/NumberField/NumberField.test.js +8 -2
  12. package/dist/cjs/Portal/Portal.js +2 -1
  13. package/dist/cjs/Progress/Progress.js +2 -2
  14. package/dist/cjs/Radio/Radio.js +12 -8
  15. package/dist/cjs/Toolbar/Toolbar.js +1 -0
  16. package/dist/cjs/Tooltip/Tooltip.js +4 -2
  17. package/dist/cjs/Wizard/Wizard.js +4 -4
  18. package/dist/cjs/system/utils.js +2 -0
  19. package/dist/esm/Badge/Badge.js +19 -7
  20. package/dist/esm/Badge/Status.js +52 -77
  21. package/dist/esm/Button/Button.js +1 -1
  22. package/dist/esm/Calendar/Day.js +5 -2
  23. package/dist/esm/Combobox/ComboboxPopover.js +20 -6
  24. package/dist/esm/Input/Inline.js +1 -1
  25. package/dist/esm/Input/InputBox.js +1 -1
  26. package/dist/esm/Menu/Item.js +47 -25
  27. package/dist/esm/Modal/Modal.js +4 -3
  28. package/dist/esm/NumberField/NumberField.js +112 -32
  29. package/dist/esm/NumberField/NumberField.test.js +8 -2
  30. package/dist/esm/Portal/Portal.js +2 -1
  31. package/dist/esm/Progress/Progress.js +2 -2
  32. package/dist/esm/Radio/Radio.js +12 -8
  33. package/dist/esm/Toolbar/Toolbar.js +2 -1
  34. package/dist/esm/Tooltip/Tooltip.js +4 -2
  35. package/dist/esm/Wizard/Wizard.js +4 -4
  36. package/dist/esm/system/utils.js +2 -0
  37. package/dist/types/Badge/Status.d.ts +27 -0
  38. package/dist/types/Button/Button.d.ts +4 -2
  39. package/dist/types/Modal/Modal.d.ts +23 -0
  40. package/dist/types/NumberField/NumberField.d.ts +89 -0
  41. package/dist/types/Progress/Progress.d.ts +12 -0
  42. package/dist/types/Radio/Radio.d.ts +44 -0
  43. package/dist/types/Wizard/Wizard.d.ts +63 -0
  44. package/package.json +3 -1
  45. package/src/Badge/Badge.js +8 -0
  46. package/src/Badge/Status.tsx +90 -0
  47. package/src/Button/Button.tsx +2 -2
  48. package/src/Calendar/Day.js +11 -0
  49. package/src/Combobox/ComboboxPopover.js +30 -0
  50. package/src/Input/Inline.js +1 -1
  51. package/src/Input/InputBox.js +1 -1
  52. package/src/Menu/Item.js +15 -0
  53. package/src/Modal/{Modal.js → Modal.tsx} +8 -9
  54. package/src/NumberField/NumberField.mdx +13 -0
  55. package/src/NumberField/NumberField.test.tsx +38 -11
  56. package/src/NumberField/{NumberField.js → NumberField.tsx} +124 -48
  57. package/src/Portal/Portal.tsx +1 -0
  58. package/src/Progress/{Progress.js → Progress.tsx} +3 -4
  59. package/src/Radio/{Radio.js → Radio.tsx} +21 -15
  60. package/src/Toolbar/Toolbar.js +1 -0
  61. package/src/Tooltip/Tooltip.js +8 -1
  62. package/src/Wizard/{Wizard.js → Wizard.tsx} +42 -35
  63. package/src/system/utils.js +2 -0
  64. package/src/Badge/Status.js +0 -101
@@ -0,0 +1,27 @@
1
+ export declare type StatusProps = {
2
+ /**
3
+ * When `true`, Sets a light background to use against darker backgrounds.
4
+ */
5
+ light?: boolean;
6
+ /**
7
+ * Called when the status should be set hidden
8
+ */
9
+ onClearRequest: () => void;
10
+ /**
11
+ * The size of the badge
12
+ */
13
+ size?: string;
14
+ /**
15
+ * The status of the badge, if nothing passed, nothing will be rendered.
16
+ */
17
+ status?: 'error' | 'success';
18
+ /**
19
+ * Title of badge
20
+ */
21
+ title: string;
22
+ };
23
+ declare const Status: {
24
+ ({ light, onClearRequest, size, status, title, ...restProps }: StatusProps): JSX.Element;
25
+ displayName: string;
26
+ };
27
+ export default Status;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { BoxSizes, MediaQueries } from '../index';
3
3
  import { StackViewProps } from '../StackView';
4
- declare type ButtonProps = {
4
+ export declare type ButtonProps = {
5
5
  children?: any;
6
6
  /**
7
7
  * "Soft disables" button by adding an `aria-disabled` attribute and preventing `onClick` and `keyDown` events for "space" / "enter". This approach allows composing components (such as `Tooltip`) to still bubble up their events, while ensuring that clicking the button or submitting a form is prevented.
@@ -96,7 +96,9 @@ export declare namespace Button {
96
96
  close: any;
97
97
  }) => React.ReactNode);
98
98
  size?: "xs" | "sm" | "md" | "lg";
99
- onClose: () => void;
99
+ onClose: () => void; /**
100
+ * Pass styles for when the button is active.
101
+ */
100
102
  onOpen: () => void;
101
103
  } & {
102
104
  children?: any;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+ export declare type ModalProps = {
3
+ children?: React.ReactNode;
4
+ /**
5
+ * Close the modal when clicking outside of it.
6
+ */
7
+ closeOnOutsideClick?: boolean;
8
+ /**
9
+ * Called by either clicking on the internal [`<Scrim/>`](/scrim) component or
10
+ * by pressing the `Escape` key.
11
+ */
12
+ onRequestClose?: () => null;
13
+ /**
14
+ * Determines whether the modal is open or not.
15
+ */
16
+ open: boolean;
17
+ /**
18
+ * Props passed to the internal [`<Scrim/>`](/scrim) component.
19
+ */
20
+ scrimProps?: Record<string, any>;
21
+ };
22
+ declare const Modal: ({ children, closeOnOutsideClick, onRequestClose, open, ...restProps }: ModalProps) => JSX.Element;
23
+ export default Modal;
@@ -0,0 +1,89 @@
1
+ import React, { Component } from 'react';
2
+ declare type Props = {
3
+ /**
4
+ * Render custom component or HTML element tag. (Defaults to a [InputField](/input.inputfield) component.). */
5
+ as?: any;
6
+ /**
7
+ * Add controls to increment/decrement the value
8
+ */
9
+ hasControls?: boolean;
10
+ /**
11
+ * An array of keys to ignore when pushed.
12
+ * ex: ["ArrowUp", "ArrowDown"].
13
+ */
14
+ ignoredKeys: string[];
15
+ /**
16
+ * Maximum number that can be entered.
17
+ */
18
+ max: number;
19
+ /**
20
+ * Minimum number that can be entered.
21
+ */
22
+ min: number;
23
+ /**
24
+ * Called when the input's onInput is called with a valid value
25
+ * or when the arrow keys are used to increment/decrement the value.
26
+ * Please note traditional onInput/onChange events are not supported
27
+ * since this component takes control of them.
28
+ */
29
+ onChange: (value: string) => null;
30
+ /**
31
+ * Maps to the input's `onBlur` prop.
32
+ */
33
+ onBlur?: () => null;
34
+ onKeyDown?: Function;
35
+ /**
36
+ * The amount of 0s to pad the value with.
37
+ */
38
+ pad: number;
39
+ /**
40
+ * Forces the input text to stay fully selected while interacting with it.
41
+ */
42
+ highlightOnInteraction: boolean;
43
+ /**
44
+ * String to display when value is empty.
45
+ */
46
+ placeholder: string;
47
+ /**
48
+ * The amount to step up/down from the value when using the arrow keys
49
+ * defaults to `1`
50
+ */
51
+ step: number;
52
+ /**
53
+ * The value of the input.
54
+ */
55
+ value: number;
56
+ autoWidth: boolean;
57
+ moveFocusOnMax: boolean;
58
+ };
59
+ declare class NumberField extends Component<Props> {
60
+ static defaultProps: {
61
+ as: any;
62
+ hasControls: boolean;
63
+ ignoredKeys: any[];
64
+ min: number;
65
+ max: number;
66
+ step: number;
67
+ moveFocusOnMax: boolean;
68
+ };
69
+ firstTouch: boolean;
70
+ getParsedValues: (value: any) => {
71
+ value: number;
72
+ minValue: number;
73
+ maxValue: number;
74
+ };
75
+ clampValue: (valueToCheck: any) => number;
76
+ isValueValid: (valueToCheck: any) => boolean;
77
+ changeIfValid: (value: any) => void;
78
+ handleBlur: (event: any) => void;
79
+ stepValue: (baseValue: any, step: any) => void;
80
+ incrementValue: () => void;
81
+ decrementValue: () => void;
82
+ handleKeyDown: (event: any) => void;
83
+ handleInput: (event: any) => void;
84
+ getAutoWidthValue(value: any): any;
85
+ renderInput(restProps: any): React.CElement<any, React.Component<any, any, any>>;
86
+ renderInputWithControls(restProps: any): JSX.Element;
87
+ render(): JSX.Element;
88
+ }
89
+ export default NumberField;
@@ -0,0 +1,12 @@
1
+ export declare type Props = {
2
+ /**
3
+ * The current value of the progress bar.
4
+ */
5
+ value?: number;
6
+ /**
7
+ * Active color of the progress bar.
8
+ */
9
+ activeColor?: string;
10
+ };
11
+ declare const Progress: ({ value, ...restProps }: Props) => JSX.Element;
12
+ export default Progress;
@@ -0,0 +1,44 @@
1
+ export declare type RadioProps = {
2
+ /**
3
+ * Disables the radio component.
4
+ */
5
+ disabled?: boolean;
6
+ /**
7
+ * Determines if the radio should use an internal label or not.
8
+ */
9
+ label?: string;
10
+ /**
11
+ * Connects input to its corresponding label's `htmlFor`.
12
+ */
13
+ id?: string | number;
14
+ /**
15
+ * Checks the radio.
16
+ */
17
+ checked?: boolean;
18
+ /**
19
+ * Maps to the internal input's `name` prop.
20
+ */
21
+ name?: string;
22
+ /**
23
+ * Maps to the internal input's `value` prop.
24
+ */
25
+ value?: any;
26
+ /**
27
+ * Determines the size of the radio based on a [scale](http://google.com).
28
+ */
29
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
30
+ /**
31
+ * Maps to the internal input's `onChange` prop.
32
+ */
33
+ onChange?: () => null;
34
+ /**
35
+ * Maps to the internal input's `onFocus` prop.
36
+ */
37
+ onFocus?: () => null;
38
+ /**
39
+ * Maps to the internal input's `onBlur` prop.
40
+ */
41
+ onBlur?: () => null;
42
+ };
43
+ declare const Radio: ({ checked, disabled, id, label, name, onBlur, onChange, onFocus, size, value, ...restProps }: RadioProps) => JSX.Element;
44
+ export default Radio;
@@ -0,0 +1,63 @@
1
+ import React from 'react';
2
+ import { ButtonProps } from '../Button/Button';
3
+ export declare type Step = {
4
+ name: string;
5
+ valid?: (payload: Record<string, any>) => boolean;
6
+ };
7
+ export declare type WizardProps = {
8
+ /**
9
+ * Pass props to the back button.
10
+ */
11
+ backButtonProps?: ButtonProps;
12
+ /**
13
+ * Pass props to all Button components in the footer.
14
+ */
15
+ buttonProps?: ButtonProps;
16
+ /**
17
+ * Pass props to the cancel button.
18
+ */
19
+ cancelButtonProps?: ButtonProps;
20
+ /**
21
+ * The content of the component.
22
+ */
23
+ children: React.ReactNode;
24
+ /**
25
+ * Pass props to the Button components.
26
+ */
27
+ footerProps?: ButtonProps;
28
+ /**
29
+ * The initial payload state.
30
+ */
31
+ initialPayload?: Record<string, any>;
32
+ /**
33
+ * Pass props to the next button.
34
+ */
35
+ nextButtonProps?: ButtonProps;
36
+ /**
37
+ * Determines what the next button title displays.
38
+ */
39
+ nextButtonTitle?: (props: {
40
+ activeStepIndex: number;
41
+ steps: Step[];
42
+ totalSteps: number;
43
+ }) => string;
44
+ /**
45
+ * Creates a cancel button for canceling a process from the first step.
46
+ */
47
+ onCancel?: () => void;
48
+ /**
49
+ * Called when the `Done` button is pressed on the last view. Passes back the `payload` state
50
+ * as well as an option `complete` callback to revert the button spinner back to normal.
51
+ */
52
+ onSubmit?: (payload: Record<string, any>, complete: () => void) => void;
53
+ /**
54
+ * Provide a custom progress component to render in place of `StepperProgress`.
55
+ */
56
+ renderProgress?: (props: {
57
+ activeStepIndex: number;
58
+ steps: Step[];
59
+ totalSteps: number;
60
+ }) => React.ReactNode;
61
+ };
62
+ declare const Wizard: (props: WizardProps) => JSX.Element;
63
+ export default Wizard;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@planningcenter/tapestry-react",
3
- "version": "2.9.2",
3
+ "version": "2.10.0-rc.1",
4
4
  "description": "A collection of flexible React components to help you build resilient, accessible user interfaces quickly and effectively.",
5
5
  "author": "Front End Systems Engineering <frontend@pco.bz>",
6
6
  "main": "dist/cjs/index.js",
@@ -61,6 +61,8 @@
61
61
  "@types/jest": "^26.0.20",
62
62
  "@types/react": "^18.0.24",
63
63
  "@types/react-dom": "^18.0.8",
64
+ "@typescript-eslint/eslint-plugin": "^6.9.1",
65
+ "@typescript-eslint/parser": "^6.9.1",
64
66
  "babel-eslint": "10.1.0",
65
67
  "chokidar-cli": "^2.1.0",
66
68
  "dotenv": "^8.2.0",
@@ -106,9 +106,13 @@ function Badge({
106
106
  }
107
107
 
108
108
  if (badgeProps.radius === 'circle') {
109
+ // @ts-ignore error TS2339: Property 'position' does not exist on type ...
109
110
  textStyle.position = 'absolute'
111
+ // @ts-ignore error TS2339: Property 'top' does not exist on type ...
110
112
  textStyle.top = '50%'
113
+ // @ts-ignore error TS2339: Property 'left' does not exist on type ...
111
114
  textStyle.left = '50%'
115
+ // @ts-ignore error TS2339: Property 'transform' does not exist on type ...
112
116
  textStyle.transform = 'translate(-50%, -50%)'
113
117
  }
114
118
 
@@ -160,8 +164,10 @@ function Badge({
160
164
  >
161
165
  {typeof renderLeft === 'string'
162
166
  ? renderLeft
167
+ // @ts-ignore error TS2769: No overload matches this call.
163
168
  : cloneElement(renderLeft, {
164
169
  size:
170
+ // @ts-ignore error TS2339: Property 'props' does not exist on type ...
165
171
  (renderLeft.props && renderLeft.props.size) ||
166
172
  badgeProps.size,
167
173
  })}
@@ -187,8 +193,10 @@ function Badge({
187
193
  >
188
194
  {typeof renderRight === 'string'
189
195
  ? renderRight
196
+ // @ts-ignore error TS2769: No overload matches this call.
190
197
  : cloneElement(renderRight, {
191
198
  size:
199
+ // @ts-ignore error TS2339: Property 'props' does not exist on type ...
192
200
  (renderRight.props && renderRight.props.size) ||
193
201
  badgeProps.size,
194
202
  })}
@@ -0,0 +1,90 @@
1
+ import React, { useEffect, useState } from 'react'
2
+ import { getColor } from '../system'
3
+ import Icon from '../Icon'
4
+ import Badge from './Badge'
5
+
6
+ const statuses = {
7
+ error: { color: 'error', icon: 'general.x' },
8
+ success: { color: 'success', icon: 'general.check' },
9
+ }
10
+
11
+ export type StatusProps = {
12
+ /**
13
+ * When `true`, Sets a light background to use against darker backgrounds.
14
+ */
15
+ light?: boolean
16
+
17
+ /**
18
+ * Called when the status should be set hidden
19
+ */
20
+ onClearRequest: () => void
21
+
22
+ /**
23
+ * The size of the badge
24
+ */
25
+ size?: string
26
+
27
+ /**
28
+ * The status of the badge, if nothing passed, nothing will be rendered.
29
+ */
30
+ status?: 'error' | 'success'
31
+
32
+ /**
33
+ * Title of badge
34
+ */
35
+ title: string
36
+ }
37
+
38
+ const Status = ({
39
+ light,
40
+ onClearRequest,
41
+ size = 'sm',
42
+ status,
43
+ title,
44
+ ...restProps
45
+ }: StatusProps): JSX.Element => {
46
+ const [timeoutId, setTimeoutId] = useState<NodeJS.Timeout | null>(null)
47
+
48
+ useEffect(() => {
49
+ const requestClear = () => {
50
+ if (timeoutId) {
51
+ clearTimeout(timeoutId)
52
+ }
53
+ setTimeoutId(setTimeout(onClearRequest, 1800))
54
+ }
55
+
56
+ requestClear()
57
+
58
+ return () => {
59
+ if (timeoutId) {
60
+ clearTimeout(timeoutId)
61
+ }
62
+ }
63
+ }, [onClearRequest, status, timeoutId])
64
+
65
+ if (!status) {
66
+ return null
67
+ } else {
68
+ const { color, icon } = statuses[status]
69
+ return (
70
+ <Badge
71
+ color={
72
+ light
73
+ ? { background: 'light', foreground: getColor(color) }
74
+ : getColor(color)
75
+ }
76
+ fontWeight={600}
77
+ paddingRight={1}
78
+ radius="pill"
79
+ renderLeft={<Icon name={icon} />}
80
+ {...{ size, title }}
81
+ {...restProps}
82
+ />
83
+ )
84
+ }
85
+ }
86
+
87
+ // @ts-ignore error TS2339: Property 'displayName' does not exist on type 'typeof Status'.
88
+ Status.displayName = 'Badge.Status'
89
+
90
+ export default Status
@@ -12,7 +12,7 @@ import { useAccessibilityViolation } from '../hooks/use-accessibility-violation'
12
12
 
13
13
  import Input from './Input'
14
14
 
15
- type ButtonProps = {
15
+ export type ButtonProps = {
16
16
  children?: any
17
17
 
18
18
  /**
@@ -164,7 +164,7 @@ export function Button({
164
164
  inline: true,
165
165
  lineHeight,
166
166
  position: 'relative',
167
- radius: 3,
167
+ radius: 4,
168
168
  strokeAlign: 'inside',
169
169
  strokeWeight: 1,
170
170
  userSelect: 'none',
@@ -46,18 +46,26 @@ export type PublicProps = {
46
46
 
47
47
  const Day = ({
48
48
  backgroundColor,
49
+ // @ts-ignore error TS2339: Property 'cellSize' does not exist on type 'PublicProps'.
49
50
  cellSize,
50
51
  children,
51
52
  color,
53
+ // @ts-ignore error TS2339: Property 'date' does not exist on type 'PublicProps'.
52
54
  date,
53
55
  disabled,
54
56
  fontSize,
55
57
  fontWeight,
58
+ // @ts-ignore error TS2339: Property 'isSameMonth' does not exist on type 'PublicProps'.
56
59
  inSameMonth,
60
+ // @ts-ignore error TS2339: Property 'isMinDate' does not exist on type 'PublicProps'.
57
61
  isMinDate,
62
+ // @ts-ignore error TS2339: Property 'isMaxDate' does not exist on type 'PublicProps'.
58
63
  isMaxDate,
64
+ // @ts-ignore error TS2339: Property 'isSelected' does not exist on type 'PublicProps'.
59
65
  isSelected,
66
+ // @ts-ignore error TS2339: Property 'isToday' does not exist on type 'PublicProps'.
60
67
  isToday,
68
+ // @ts-ignore error TS2339: Property 'selectDate' does not exist on type 'PublicProps'.
61
69
  selectDate,
62
70
  selectedColor = 'primary',
63
71
  statusColor = 'transparent',
@@ -69,6 +77,8 @@ const Day = ({
69
77
  !disabled &&
70
78
  !isMinDate &&
71
79
  !isMaxDate &&
80
+ // @ts-ignore error TS2339: Property 'onClick' does not exist on type '{}'.
81
+ // @ts-ignore error TS2339: Property 'onMouseDown' does not exist on type '{}'.
72
82
  (selectDate || restProps.onClick || restProps.onMouseDown)
73
83
  return (
74
84
  <StackView
@@ -88,6 +98,7 @@ const Day = ({
88
98
  height="100%"
89
99
  alignment="center"
90
100
  distribution="center"
101
+ // @ts-ignore error TS2322: Type '"" | "none"' is not assignable to type 'PointerEvents'.
91
102
  pointerEvents={(disabled || isMinDate || isMaxDate) && 'none'}
92
103
  hover={
93
104
  affordance && {
@@ -27,6 +27,7 @@ class ComboboxPopover extends Component<Props> {
27
27
  }
28
28
 
29
29
  state = {
30
+ // @ts-ignore error TS2339: Property 'defaultOpen' does not exist on type 'Readonly<Props>'.
30
31
  isPopoverOpen: this.props.defaultOpen || false,
31
32
  }
32
33
 
@@ -41,6 +42,7 @@ class ComboboxPopover extends Component<Props> {
41
42
  componentDidUpdate(lastProps) {
42
43
  if (
43
44
  lastProps.disabled !== lastProps.disabled &&
45
+ // @ts-ignore error TS2339: Property 'disabled' does not exist on type 'Readonly<Props>'.
44
46
  this.props.disabled === true
45
47
  ) {
46
48
  this.closePopover()
@@ -48,7 +50,9 @@ class ComboboxPopover extends Component<Props> {
48
50
  const isComboboxFocused = document.activeElement === this.inputNode
49
51
  if (
50
52
  isComboboxFocused &&
53
+ // @ts-ignore error TS2339: Property 'value' does not exist on type 'Readonly<Props>'.
51
54
  lastProps.value !== this.props.value &&
55
+ // @ts-ignore error TS2339: Property 'value' does not exist on type 'Readonly<Props>'.
52
56
  this.props.value.length > 0 &&
53
57
  !this.state.isPopoverOpen
54
58
  ) {
@@ -63,15 +67,18 @@ class ComboboxPopover extends Component<Props> {
63
67
  }
64
68
 
65
69
  setItemListRef = (component) => {
70
+ // @ts-ignore error TS2339: Property 'itemList' does not exist on type 'ComboboxPopover'.
66
71
  this.itemList = component
67
72
  }
68
73
 
69
74
  setInputRef = (component) => {
75
+ // @ts-ignore error TS2339: Property 'input' does not exist on type 'ComboboxPopover'.
70
76
  this.input = component
71
77
  }
72
78
 
73
79
  openPopover = () => {
74
80
  this.setState({ isPopoverOpen: true }, () => {
81
+ // @ts-ignore error TS2339: Property 'itemList' does not exist on type 'ComboboxPopover'.
75
82
  this.itemList.setHighlightedIndex(0, { maybeScrollIntoView: false })
76
83
  })
77
84
  }
@@ -80,6 +87,7 @@ class ComboboxPopover extends Component<Props> {
80
87
  // push to next event stack because Popover events are messed up :(
81
88
  this.closeRequestId = requestAnimationFrame(() => {
82
89
  this.setState({ isPopoverOpen: false }, () => {
90
+ // @ts-ignore error TS2339: Property 'itemList' does not exist on type 'ComboboxPopover'.
83
91
  this.itemList.clearHighlightedIndex()
84
92
  })
85
93
  })
@@ -88,7 +96,9 @@ class ComboboxPopover extends Component<Props> {
88
96
  handleBlur = (event) => {
89
97
  this.closePopover()
90
98
  this.inputTouched = false
99
+ // @ts-ignore error TS2339: Property 'onBlur' does not exist on type 'Readonly<Props>'.
91
100
  if (this.props.onBlur) {
101
+ // @ts-ignore error TS2339: Property 'onBlur' does not exist on type 'Readonly<Props>'.
92
102
  this.props.onBlur(event)
93
103
  }
94
104
  }
@@ -97,30 +107,47 @@ class ComboboxPopover extends Component<Props> {
97
107
  if (this.props.closeOnSelect) {
98
108
  this.closePopover()
99
109
  }
110
+ // @ts-ignore error TS2339: Property 'onSelect' does not exist on type 'Readonly<Props>'.
100
111
  if (this.props.onSelect) {
112
+ // @ts-ignore error TS2339: Property 'onSelect' does not exist on type 'Readonly<Props>'.
101
113
  this.props.onSelect(event)
102
114
  }
103
115
  }
104
116
 
105
117
  render() {
106
118
  const {
119
+ // @ts-ignore error TS2339: Property 'children' does not exist on type 'Readonly<Props>'.
107
120
  children,
121
+ // @ts-ignore error TS2339: Property 'closeButton' does not exist on type 'Readonly<Props>'.
108
122
  closeButton,
109
123
  closeOnSelect,
124
+ // @ts-ignore error TS2339: Property 'disabled' does not exist on type 'Readonly<Props>'.
110
125
  disabled,
126
+ // @ts-ignore error TS2339: Property 'dropdownButton' does not exist on type 'Readonly<Props>'.
111
127
  dropdownButton,
128
+ // @ts-ignore error TS2339: Property 'innerRef' does not exist on type 'Readonly<Props>'.
112
129
  innerRef,
130
+ // @ts-ignore error TS2339: Property 'defaultOpen' does not exist on type 'Readonly<Props>'.
113
131
  defaultOpen,
132
+ // @ts-ignore error TS2339: Property 'lockScrollWhileOpen' does not exist on type 'Readonly<Props>'.
114
133
  lockScrollWhileOpen,
134
+ // @ts-ignore error TS2339: Property 'onClear' does not exist on type 'Readonly<Props>'.
115
135
  onClear,
136
+ // @ts-ignore error TS2339: Property 'onBlur' does not exist on type 'Readonly<Props>'.
116
137
  onBlur,
138
+ // @ts-ignore error TS2339: Property 'onFocus' does not exist on type 'Readonly<Props>'.
117
139
  onFocus,
140
+ // @ts-ignore error TS2339: Property 'onSelect' does not exist on type 'Readonly<Props>'.
118
141
  onSelect,
119
142
  openOnFocus,
143
+ // @ts-ignore error TS2339: Property 'placement' does not exist on type 'Readonly<Props>'.
120
144
  placement,
121
145
  popoverProps,
146
+ // @ts-ignore error TS2339: Property 'relativeTo' does not exist on type 'Readonly<Props>'.
122
147
  relativeTo,
148
+ // @ts-ignore error TS2339: Property 'renderTo' does not exist on type 'Readonly<Props>'.
123
149
  renderTo,
150
+ // @ts-ignore error TS2339: Property 'value' does not exist on type 'Readonly<Props>'.
124
151
  value,
125
152
  ...restProps
126
153
  } = this.props
@@ -138,6 +165,7 @@ class ComboboxPopover extends Component<Props> {
138
165
  {...popoverProps}
139
166
  as={Menu}
140
167
  ref={(component) => {
168
+ // @ts-ignore error TS2339: Property 'popover' does not exist on type 'ComboboxPopover'.
141
169
  this.popover = component
142
170
  }}
143
171
  innerRef={(node) => {
@@ -152,6 +180,7 @@ class ComboboxPopover extends Component<Props> {
152
180
  renderTo={renderTo}
153
181
  open={isPopoverOpen}
154
182
  onBlur={requestBlur}
183
+ // @ts-ignore error TS2322: Type '(anchorProps: any) => Element' is not assignable to type 'ReactElement<...
155
184
  anchorElement={(anchorProps) => (
156
185
  <ComboboxInput
157
186
  ref={this.setInputRef}
@@ -209,6 +238,7 @@ class ComboboxPopover extends Component<Props> {
209
238
  } else {
210
239
  this.openPopover()
211
240
  }
241
+ // @ts-ignore error TS2339: Property 'input' does not exist on type 'ComboboxPopover'.
212
242
  this.input.focus()
213
243
  }}
214
244
  />
@@ -51,7 +51,7 @@ function Inline({
51
51
  paddingHorizontal={0.5}
52
52
  paddingVertical={0}
53
53
  placeholderColor={light ? 'light-5' : 'foregroundTertiary'}
54
- radius={3}
54
+ radius={4}
55
55
  stroke={undefined}
56
56
  {...restProps}
57
57
  />
@@ -389,7 +389,7 @@ class InputBox extends Component<InputBoxProps> {
389
389
  alignment={StackView.CENTER}
390
390
  shrink={0}
391
391
  minHeight={boxSize}
392
- radius={3}
392
+ radius={4}
393
393
  position="relative"
394
394
  cursor="text"
395
395
  outline={0}