@planningcenter/tapestry-react 1.4.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/ActionsDropdown/ActionsDropdown.js +3 -3
- package/dist/cjs/Badge/Badge.js +41 -26
- package/dist/cjs/Badge/Status.js +2 -2
- package/dist/cjs/Calendar/Calendar.js +5 -3
- package/dist/cjs/Card/Card.js +2 -0
- package/dist/cjs/Checkbox/Checkbox.js +3 -3
- package/dist/cjs/ChurchCenterStatus/ChurchCenterStatus.js +4 -4
- package/dist/cjs/ColumnView/ColumnView.js +5 -2
- package/dist/cjs/Combobox/ComboboxPopover.js +2 -2
- package/dist/cjs/DataTable/components/CheckboxCell.js +4 -4
- package/dist/cjs/DataTable/components/ColumnPicker.js +6 -5
- package/dist/cjs/DataTable/hooks/useCollapsibleRows.js +1 -1
- package/dist/cjs/DataTable/hooks/useColumnSort.js +1 -1
- package/dist/cjs/DataTable/utils/getParsedColumns.js +4 -4
- package/dist/cjs/DateField/DateField.js +1 -1
- package/dist/cjs/Drawer/Drawer.js +4 -1
- package/dist/cjs/Dropdown/Dropdown.js +1 -1
- package/dist/cjs/Dropdown/Dropdown.test.js +194 -19
- package/dist/cjs/Dropdown/Link.js +3 -1
- package/dist/cjs/EditActions/EditActions.js +9 -3
- package/dist/cjs/FieldSet/FieldSet.js +24 -10
- package/dist/cjs/FilterLayout/FilterLayout.js +2 -1
- package/dist/cjs/Form/Form.js +1 -1
- package/dist/cjs/GridView/GridView.js +6 -4
- package/dist/cjs/Group/Group.js +10 -3
- package/dist/cjs/HeadingUppercase/HeadingUppercase.js +2 -2
- package/dist/cjs/HelperDrawer/HelperDrawer.js +1 -1
- package/dist/cjs/Highlight/Highlight.js +11 -5
- package/dist/cjs/Icon/Status.js +4 -4
- package/dist/cjs/Input/InputBox.js +1 -1
- package/dist/cjs/List/ListItem.js +1 -1
- package/dist/cjs/Menu/Heading.js +1 -0
- package/dist/cjs/Modal/Modal.test.js +156 -0
- package/dist/cjs/Pagination/Pagination.js +4 -2
- package/dist/cjs/Popover/Popover.js +4 -0
- package/dist/cjs/Popover/Popover.test.js +65 -0
- package/dist/cjs/Popover/rewireTabOrder.js +13 -30
- package/dist/cjs/Progress/Progress.js +12 -6
- package/dist/cjs/Radio/Radio.js +2 -2
- package/dist/cjs/RangeSlider/RangeSlider.js +10 -4
- package/dist/cjs/Scrim/Scrim.js +2 -2
- package/dist/cjs/Section/Section.js +14 -6
- package/dist/cjs/Select/Option.js +1 -1
- package/dist/cjs/Select/Select.js +10 -1
- package/dist/cjs/Sidebar/Sidebar.js +4 -3
- package/dist/cjs/Sortable/SortableItem.js +1 -1
- package/dist/cjs/StackView/StackView.js +5 -5
- package/dist/cjs/StepperField/StepperField.js +9 -6
- package/dist/cjs/StepperProgress/StepperProgress.js +9 -5
- package/dist/cjs/Table/ColumnPicker.js +1 -1
- package/dist/cjs/Table/DragHandle.js +1 -1
- package/dist/cjs/Table/NavigationArrow.js +1 -1
- package/dist/cjs/Table/SubRowToggleCell.js +1 -1
- package/dist/cjs/Table/Table.js +4 -6
- package/dist/cjs/Tabs/Tab.js +1 -0
- package/dist/cjs/ThemeProvider/ThemeProvider.js +5 -5
- package/dist/cjs/TileView/TileView.js +1 -1
- package/dist/cjs/TokenInput/DefaultToken.js +1 -1
- package/dist/cjs/Wizard/Wizard.js +2 -1
- package/dist/cjs/WrapView/WrapView.js +2 -27
- package/dist/cjs/hooks/use-accessibility-violation.js +1 -1
- package/dist/cjs/hooks/useConstant.js +23 -0
- package/dist/cjs/system/default-theme.js +8 -3
- package/dist/cjs/system/utils.js +2 -2
- package/dist/cjs/utils.js +3 -3
- package/dist/esm/ActionsDropdown/ActionsDropdown.js +3 -3
- package/dist/esm/Badge/Badge.js +42 -27
- package/dist/esm/Badge/Status.js +2 -2
- package/dist/esm/Calendar/Calendar.js +5 -3
- package/dist/esm/Card/Card.js +2 -3
- package/dist/esm/Checkbox/Checkbox.js +3 -3
- package/dist/esm/ChurchCenterStatus/ChurchCenterStatus.js +4 -4
- package/dist/esm/ColumnView/ColumnView.js +4 -2
- package/dist/esm/Combobox/ComboboxPopover.js +2 -2
- package/dist/esm/DataTable/components/CheckboxCell.js +4 -4
- package/dist/esm/DataTable/components/ColumnPicker.js +6 -5
- package/dist/esm/DataTable/hooks/useCollapsibleRows.js +1 -1
- package/dist/esm/DataTable/hooks/useColumnSort.js +1 -1
- package/dist/esm/DataTable/utils/getParsedColumns.js +4 -4
- package/dist/esm/DateField/DateField.js +1 -1
- package/dist/esm/Drawer/Drawer.js +3 -1
- package/dist/esm/Dropdown/Dropdown.js +1 -1
- package/dist/esm/Dropdown/Dropdown.test.js +158 -17
- package/dist/esm/Dropdown/Link.js +3 -1
- package/dist/esm/EditActions/EditActions.js +8 -3
- package/dist/esm/FieldSet/FieldSet.js +22 -10
- package/dist/esm/FilterLayout/FilterLayout.js +2 -1
- package/dist/esm/Form/Form.js +1 -1
- package/dist/esm/GridView/GridView.js +5 -4
- package/dist/esm/Group/Group.js +10 -3
- package/dist/esm/HeadingUppercase/HeadingUppercase.js +3 -3
- package/dist/esm/HelperDrawer/HelperDrawer.js +1 -1
- package/dist/esm/Highlight/Highlight.js +9 -5
- package/dist/esm/Icon/Status.js +4 -4
- package/dist/esm/Input/InputBox.js +1 -1
- package/dist/esm/List/ListItem.js +1 -1
- package/dist/esm/Menu/Heading.js +1 -0
- package/dist/esm/Modal/Modal.test.js +122 -0
- package/dist/esm/Pagination/Pagination.js +4 -2
- package/dist/esm/Popover/Popover.js +4 -0
- package/dist/esm/Popover/Popover.test.js +51 -0
- package/dist/esm/Popover/rewireTabOrder.js +13 -33
- package/dist/esm/Progress/Progress.js +10 -6
- package/dist/esm/Radio/Radio.js +2 -2
- package/dist/esm/RangeSlider/RangeSlider.js +8 -4
- package/dist/esm/Scrim/Scrim.js +2 -2
- package/dist/esm/Section/Section.js +12 -6
- package/dist/esm/Select/Option.js +1 -1
- package/dist/esm/Select/Select.js +10 -1
- package/dist/esm/Sidebar/Sidebar.js +4 -2
- package/dist/esm/Sortable/SortableItem.js +1 -1
- package/dist/esm/StackView/StackView.js +4 -5
- package/dist/esm/StepperField/StepperField.js +10 -7
- package/dist/esm/StepperProgress/StepperProgress.js +8 -5
- package/dist/esm/Table/ColumnPicker.js +1 -1
- package/dist/esm/Table/DragHandle.js +1 -1
- package/dist/esm/Table/NavigationArrow.js +1 -1
- package/dist/esm/Table/SubRowToggleCell.js +1 -1
- package/dist/esm/Table/Table.js +2 -3
- package/dist/esm/Tabs/Tab.js +1 -0
- package/dist/esm/ThemeProvider/ThemeProvider.js +1 -1
- package/dist/esm/TileView/TileView.js +1 -1
- package/dist/esm/TokenInput/DefaultToken.js +1 -1
- package/dist/esm/Wizard/Wizard.js +2 -1
- package/dist/esm/WrapView/WrapView.js +2 -28
- package/dist/esm/hooks/use-accessibility-violation.js +1 -1
- package/dist/esm/hooks/useConstant.js +15 -0
- package/dist/esm/system/default-theme.js +6 -2
- package/dist/esm/system/utils.js +1 -1
- package/dist/esm/utils.js +3 -3
- package/dist/types/Alert/Alert.d.ts +3 -0
- package/dist/types/Box/Box.d.ts +11 -2
- package/dist/types/Button/Button.d.ts +9 -1
- package/dist/types/Button/Input.d.ts +1 -1
- package/dist/types/Card/Card.d.ts +8 -1
- package/dist/types/Dropdown/Dropdown.test.d.ts +1 -1
- package/dist/types/GridView/GridView.d.ts +16 -4
- package/dist/types/Group/Group.d.ts +5 -1
- package/dist/types/Modal/Modal.test.d.ts +1 -0
- package/dist/types/Popover/Popover.test.d.ts +1 -0
- package/dist/types/Scrim/Scrim.d.ts +6 -1
- package/dist/types/StackView/StackView.d.ts +11 -0
- package/dist/types/Text/Text.d.ts +12 -0
- package/dist/types/TileView/TileView.d.ts +15 -7
- package/dist/types/WrapView/WrapView.d.ts +2 -1
- package/dist/types/hooks/useConstant.d.ts +1 -0
- package/package.json +16 -24
- package/src/ActionsDropdown/ActionsDropdown.tsx +3 -3
- package/src/Alert/Alert.mdx +1 -0
- package/src/Alert/Alert.tsx +5 -0
- package/src/Avatar/Avatar.mdx +1 -0
- package/src/Badge/Badge.js +66 -25
- package/src/Badge/Badge.mdx +2 -1
- package/src/Badge/Status.js +2 -2
- package/src/Badge/Status.mdx +1 -0
- package/src/Box/Box.mdx +2 -1
- package/src/Box/Box.tsx +13 -2
- package/src/Button/Button.mdx +4 -3
- package/src/Button/Button.tsx +11 -0
- package/src/Button/Input.mdx +2 -2
- package/src/Calendar/Calendar.js +8 -3
- package/src/Calendar/Calendar.mdx +1 -0
- package/src/Card/Card.mdx +1 -0
- package/src/Card/Card.tsx +7 -1
- package/src/Checkbox/Checkbox.js +8 -3
- package/src/Checkbox/Checkbox.mdx +1 -0
- package/src/CheckboxCard/CheckboxCard.js +26 -1
- package/src/CheckboxCard/CheckboxCard.mdx +1 -0
- package/src/CheckboxGroup/CheckboxGroup.js +6 -0
- package/src/CheckboxGroup/CheckboxGroup.mdx +1 -0
- package/src/ChurchCenterStatus/ChurchCenterStatus.mdx +1 -0
- package/src/ChurchCenterStatus/ChurchCenterStatus.tsx +4 -4
- package/src/Collapse/Collapse.js +2 -0
- package/src/ColumnView/ColumnView.js +7 -3
- package/src/ColumnView/ColumnView.mdx +1 -0
- package/src/Combobox/Combobox.js +11 -1
- package/src/Combobox/Combobox.mdx +2 -1
- package/src/Combobox/ComboboxPopover.js +2 -2
- package/src/DataTable/DataTable.js +48 -0
- package/src/DataTable/DataTable.mdx +2 -2
- package/src/DataTable/components/CheckboxCell.js +5 -4
- package/src/DataTable/components/ColumnPicker.js +4 -4
- package/src/DataTable/hooks/useCollapsibleRows.js +1 -1
- package/src/DataTable/hooks/useColumnSort.js +1 -1
- package/src/DataTable/utils/getParsedColumns.js +4 -4
- package/src/DateField/DateField.js +11 -1
- package/src/DateField/DateField.mdx +1 -0
- package/src/Divider/Divider.mdx +1 -0
- package/src/DragDrop/DragDrop.mdx +23 -9
- package/src/Drawer/Drawer.js +3 -0
- package/src/Drawer/Drawer.mdx +2 -1
- package/src/Dropdown/Dropdown.js +49 -3
- package/src/Dropdown/Dropdown.mdx +3 -2
- package/src/Dropdown/Dropdown.test.tsx +128 -17
- package/src/Dropdown/Link.js +3 -1
- package/src/EditActions/EditActions.js +18 -3
- package/src/EditActions/EditActions.mdx +1 -0
- package/src/Field/Field.js +15 -0
- package/src/Field/Field.mdx +1 -0
- package/src/FieldSet/FieldSet.js +35 -11
- package/src/FieldSet/FieldSet.mdx +1 -0
- package/src/FilterLayout/FilterLayout.mdx +1 -0
- package/src/FilterLayout/FilterLayout.tsx +4 -1
- package/src/Form/Form.js +1 -1
- package/src/Form/Form.mdx +26 -24
- package/src/GridView/GridView.mdx +2 -1
- package/src/GridView/GridView.tsx +27 -8
- package/src/Group/Group.mdx +8 -7
- package/src/Group/Group.tsx +12 -1
- package/src/Heading/Heading.js +6 -2
- package/src/Heading/Heading.mdx +1 -0
- package/src/HeadingUppercase/HeadingUppercase.js +9 -5
- package/src/HeadingUppercase/HeadingUppercase.mdx +1 -0
- package/src/HelperDrawer/HelperDrawer.js +10 -2
- package/src/HelperDrawer/HelperDrawer.mdx +1 -0
- package/src/Highlight/Highlight.js +6 -2
- package/src/Highlight/Highlight.mdx +1 -0
- package/src/Icon/Icon.js +6 -0
- package/src/Icon/Icon.mdx +42 -37
- package/src/Icon/Status.js +4 -4
- package/src/Input/Inline.js +11 -1
- package/src/Input/Inline.mdx +2 -1
- package/src/Input/Input.js +119 -1
- package/src/Input/Input.mdx +1 -6
- package/src/Input/InputBox.js +41 -1
- package/src/Input/InputBox.mdx +1 -0
- package/src/Input/InputField.js +32 -0
- package/src/Input/InputField.mdx +1 -0
- package/src/Input/InputLabel.mdx +1 -0
- package/src/Link/Link.js +10 -0
- package/src/Link/Link.mdx +2 -1
- package/src/LinkList/LinkList.js +7 -1
- package/src/LinkList/LinkList.mdx +1 -0
- package/src/List/List.js +25 -1
- package/src/List/List.mdx +1 -0
- package/src/List/ListItem.js +1 -1
- package/src/Logo/Logo.js +10 -1
- package/src/Logo/Logo.mdx +1 -0
- package/src/Menu/Heading.js +1 -0
- package/src/Menu/Menu.js +7 -1
- package/src/Menu/Menu.mdx +2 -1
- package/src/Modal/Modal.js +1 -0
- package/src/Modal/Modal.mdx +1 -0
- package/src/Modal/Modal.test.tsx +113 -0
- package/src/NumberField/NumberField.js +19 -0
- package/src/Page/Page.mdx +1 -1
- package/src/PagerView/PagerView.js +1 -0
- package/src/PagerView/PagerView.mdx +9 -8
- package/src/Pagination/Pagination.js +2 -2
- package/src/Pagination/Pagination.mdx +1 -0
- package/src/Popover/Popover.test.tsx +62 -0
- package/src/Popover/Popover.tsx +3 -0
- package/src/Popover/rewireTabOrder.ts +24 -42
- package/src/Progress/Progress.js +8 -3
- package/src/Progress/Progress.mdx +1 -0
- package/src/Radio/Radio.js +4 -2
- package/src/Radio/Radio.mdx +1 -0
- package/src/RangeSlider/RangeSlider.js +11 -2
- package/src/RangeSlider/RangeSlider.mdx +13 -10
- package/src/ScreenReader/ScreenReader.js +6 -1
- package/src/ScreenReader/ScreenReader.mdx +1 -0
- package/src/Scrim/Scrim.mdx +1 -0
- package/src/Scrim/Scrim.tsx +8 -2
- package/src/Section/Section.js +15 -3
- package/src/Section/Section.mdx +1 -0
- package/src/SegmentedControl/SegmentedControl.mdx +3 -2
- package/src/SegmentedTabs/SegmentedTabs.js +2 -0
- package/src/SegmentedTabs/SegmentedTabs.mdx +1 -0
- package/src/Select/Option.js +1 -1
- package/src/Select/Select.js +69 -2
- package/src/Select/Select.mdx +1 -0
- package/src/Sidebar/Sidebar.js +14 -6
- package/src/Sidebar/Sidebar.mdx +1 -0
- package/src/Sortable/SortableItem.js +1 -1
- package/src/Spinner/Spinner.mdx +1 -0
- package/src/StackView/StackView.mdx +17 -1
- package/src/StackView/StackView.tsx +23 -8
- package/src/StepperField/StepperField.js +35 -6
- package/src/StepperField/StepperField.mdx +2 -2
- package/src/StepperProgress/StepperProgress.js +9 -10
- package/src/StepperProgress/StepperProgress.mdx +1 -0
- package/src/Summary/Summary.mdx +1 -0
- package/src/Tab/Tab.mdx +1 -0
- package/src/Table/ColumnPicker.js +1 -1
- package/src/Table/DragHandle.js +1 -1
- package/src/Table/NavigationArrow.js +1 -1
- package/src/Table/SubRowToggleCell.js +1 -1
- package/src/Table/Table.js +2 -3
- package/src/Table/Table.mdx +2 -2
- package/src/Tabs/Tab.js +1 -0
- package/src/Tabs/Tabs.js +5 -0
- package/src/Tabs/Tabs.mdx +1 -0
- package/src/Text/Text.mdx +1 -0
- package/src/Text/Text.tsx +12 -0
- package/src/TextArea/TextArea.js +7 -1
- package/src/TextArea/TextArea.mdx +1 -0
- package/src/ThemeProvider/ThemeProvider.tsx +1 -1
- package/src/TileView/TileView.mdx +1 -0
- package/src/TileView/TileView.tsx +17 -3
- package/src/TimeField/TimeField.mdx +1 -0
- package/src/TokenInput/DefaultToken.js +1 -1
- package/src/TokenInput/TokenInput.js +12 -6
- package/src/TokenInput/TokenInput.mdx +1 -0
- package/src/Toolbar/Toolbar.mdx +1 -0
- package/src/Tooltip/Tooltip.js +39 -0
- package/src/Tooltip/Tooltip.mdx +4 -3
- package/src/Wizard/Wizard.js +1 -1
- package/src/Wizard/Wizard.mdx +7 -2
- package/src/WrapView/WrapView.mdx +1 -0
- package/src/WrapView/WrapView.tsx +6 -28
- package/src/hooks/use-accessibility-violation.tsx +1 -1
- package/src/hooks/useConstant.ts +17 -0
- package/src/system/default-theme.ts +7 -2
- package/src/system/utils.js +1 -1
- package/src/utils.js +3 -3
- package/src/utils.test.js +29 -0
- package/dist/cjs/icons.js +0 -126
- package/dist/esm/icons.js +0 -121
- package/src/icons.js +0 -121
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import userEvent from '@testing-library/user-event';
|
|
4
|
+
import '@testing-library/jest-dom/extend-expect';
|
|
5
|
+
import Dropdown from '../Dropdown';
|
|
6
|
+
import Select from '../Select';
|
|
7
|
+
import { Button, Heading, Modal, ThemeProvider } from '../';
|
|
8
|
+
import { noop } from 'lodash';
|
|
9
|
+
|
|
10
|
+
var _ref = /*#__PURE__*/React.createElement(Heading, {
|
|
11
|
+
"data-testid": "modal-header"
|
|
12
|
+
}, "Hello");
|
|
13
|
+
|
|
14
|
+
describe('Modal', function () {
|
|
15
|
+
var TestModal = function TestModal() {
|
|
16
|
+
var _useState = useState(false),
|
|
17
|
+
open = _useState[0],
|
|
18
|
+
setOpen = _useState[1];
|
|
19
|
+
|
|
20
|
+
return /*#__PURE__*/React.createElement(ThemeProvider, null, /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, {
|
|
21
|
+
"data-testid": "modal-toggle",
|
|
22
|
+
onClick: function onClick() {
|
|
23
|
+
return setOpen(!open);
|
|
24
|
+
},
|
|
25
|
+
title: "Toggle modal"
|
|
26
|
+
}), /*#__PURE__*/React.createElement(Modal, {
|
|
27
|
+
open: open,
|
|
28
|
+
onRequestClose: function onRequestClose() {
|
|
29
|
+
return setOpen(false);
|
|
30
|
+
}
|
|
31
|
+
}, _ref, /*#__PURE__*/React.createElement(Dropdown, null, [1, 2, 3].map(function (n) {
|
|
32
|
+
return /*#__PURE__*/React.createElement(Dropdown.Item, {
|
|
33
|
+
"data-testid": "dropdown-item-" + n,
|
|
34
|
+
key: n
|
|
35
|
+
}, n);
|
|
36
|
+
})), /*#__PURE__*/React.createElement(Select, {
|
|
37
|
+
onChange: noop
|
|
38
|
+
}, [1, 2, 3].map(function (n) {
|
|
39
|
+
return /*#__PURE__*/React.createElement(Select.Option, {
|
|
40
|
+
"data-testid": "select-option-" + n,
|
|
41
|
+
key: n,
|
|
42
|
+
value: n
|
|
43
|
+
}, n);
|
|
44
|
+
})))));
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
var _ref2 = /*#__PURE__*/React.createElement(TestModal, null);
|
|
48
|
+
|
|
49
|
+
var _ref3 = /*#__PURE__*/React.createElement(TestModal, null);
|
|
50
|
+
|
|
51
|
+
var _ref4 = /*#__PURE__*/React.createElement(TestModal, null);
|
|
52
|
+
|
|
53
|
+
var _ref5 = /*#__PURE__*/React.createElement(TestModal, null);
|
|
54
|
+
|
|
55
|
+
var _ref6 = /*#__PURE__*/React.createElement(TestModal, null);
|
|
56
|
+
|
|
57
|
+
var _ref7 = /*#__PURE__*/React.createElement(TestModal, null);
|
|
58
|
+
|
|
59
|
+
describe('Keyboard navigation', function () {
|
|
60
|
+
it('should close modal on escape keypress (dropdown button has focus)', function () {
|
|
61
|
+
render(_ref2);
|
|
62
|
+
expect(screen.queryByTestId('modal-header')).toBeNull();
|
|
63
|
+
userEvent.click(screen.getByTestId('modal-toggle'));
|
|
64
|
+
expect(screen.getByTestId('modal-header')).toBeInTheDocument();
|
|
65
|
+
userEvent.keyboard("{esc}");
|
|
66
|
+
expect(screen.queryByTestId('modal-header')).toBeNull();
|
|
67
|
+
});
|
|
68
|
+
it('should not close modal when escape key closes a dropdown within modal', function () {
|
|
69
|
+
render(_ref3);
|
|
70
|
+
userEvent.click(screen.getByTestId('modal-toggle'));
|
|
71
|
+
|
|
72
|
+
var _screen$getAllByRole = screen.getAllByRole('button'),
|
|
73
|
+
dropdown = _screen$getAllByRole[1];
|
|
74
|
+
|
|
75
|
+
expect(dropdown).toHaveFocus();
|
|
76
|
+
userEvent.keyboard('{arrowdown}');
|
|
77
|
+
userEvent.keyboard("{esc}");
|
|
78
|
+
expect(screen.getByTestId('modal-header')).toBeInTheDocument();
|
|
79
|
+
});
|
|
80
|
+
it('should close dropdown on escape & close modal on subsequent escape', function () {
|
|
81
|
+
render(_ref4);
|
|
82
|
+
userEvent.click(screen.getByTestId('modal-toggle'));
|
|
83
|
+
userEvent.keyboard('{arrowdown}');
|
|
84
|
+
userEvent.keyboard("{esc}");
|
|
85
|
+
expect(screen.getByTestId('modal-header')).toBeInTheDocument();
|
|
86
|
+
userEvent.keyboard("{esc}");
|
|
87
|
+
expect(screen.queryByTestId('modal-header')).toBeNull();
|
|
88
|
+
});
|
|
89
|
+
it('should hide select popover on escape, but select remains in dom', function () {
|
|
90
|
+
render(_ref5);
|
|
91
|
+
userEvent.click(screen.getByTestId('modal-toggle'));
|
|
92
|
+
userEvent.tab();
|
|
93
|
+
userEvent.keyboard('{arrowdown}');
|
|
94
|
+
userEvent.keyboard("{esc}");
|
|
95
|
+
expect(screen.queryByTestId('select-option-1')).toBeInTheDocument();
|
|
96
|
+
});
|
|
97
|
+
it('should hide select popover on escape, close (unmount) select popover on subsequent escape, persist modal', function () {
|
|
98
|
+
render(_ref6);
|
|
99
|
+
userEvent.click(screen.getByTestId('modal-toggle'));
|
|
100
|
+
userEvent.tab();
|
|
101
|
+
userEvent.keyboard('{arrowdown}');
|
|
102
|
+
userEvent.keyboard("{esc}");
|
|
103
|
+
expect(screen.queryByTestId('select-option-1')).toBeInTheDocument();
|
|
104
|
+
userEvent.keyboard("{esc}");
|
|
105
|
+
expect(screen.queryByTestId('select-option-1')).toBeNull();
|
|
106
|
+
expect(screen.queryByTestId('modal-header')).toBeInTheDocument();
|
|
107
|
+
});
|
|
108
|
+
it('should hide select popover on escape, close (unmount) select popover on subsequent escape, close modal on subsequent escape', function () {
|
|
109
|
+
render(_ref7);
|
|
110
|
+
userEvent.click(screen.getByTestId('modal-toggle'));
|
|
111
|
+
userEvent.tab();
|
|
112
|
+
userEvent.keyboard('{arrowdown}');
|
|
113
|
+
userEvent.keyboard("{esc}");
|
|
114
|
+
expect(screen.queryByTestId('select-option-1')).toBeInTheDocument();
|
|
115
|
+
userEvent.keyboard("{esc}");
|
|
116
|
+
expect(screen.queryByTestId('select-option-1')).toBeNull();
|
|
117
|
+
expect(screen.queryByTestId('modal-header')).toBeInTheDocument();
|
|
118
|
+
userEvent.keyboard("{esc}");
|
|
119
|
+
expect(screen.queryByTestId('modal-header')).toBeNull();
|
|
120
|
+
});
|
|
121
|
+
});
|
|
122
|
+
});
|
|
@@ -95,7 +95,8 @@ var Pagination = /*#__PURE__*/function (_Component) {
|
|
|
95
95
|
onClick: onPageChange.bind(null, currentPage - 1),
|
|
96
96
|
disabled: currentPage === 1,
|
|
97
97
|
icon: {
|
|
98
|
-
name: '
|
|
98
|
+
name: 'general.leftChevron',
|
|
99
|
+
size: 'xs'
|
|
99
100
|
},
|
|
100
101
|
tooltip: {
|
|
101
102
|
title: 'Previous Page'
|
|
@@ -106,7 +107,8 @@ var Pagination = /*#__PURE__*/function (_Component) {
|
|
|
106
107
|
onClick: onPageChange.bind(null, currentPage + 1),
|
|
107
108
|
disabled: currentPage === totalPages,
|
|
108
109
|
icon: {
|
|
109
|
-
name: '
|
|
110
|
+
name: 'general.rightChevron',
|
|
111
|
+
size: 'xs'
|
|
110
112
|
},
|
|
111
113
|
tooltip: {
|
|
112
114
|
title: 'Next Page'
|
|
@@ -103,6 +103,10 @@ export var Popover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
|
103
103
|
|
|
104
104
|
var requestClose = function requestClose(event) {
|
|
105
105
|
if (event.key === 'Escape' && onRequestClose) {
|
|
106
|
+
if (open) {
|
|
107
|
+
event.nativeEvent.stopImmediatePropagation();
|
|
108
|
+
}
|
|
109
|
+
|
|
106
110
|
onRequestClose();
|
|
107
111
|
}
|
|
108
112
|
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
|
+
import { render, screen } from '@testing-library/react';
|
|
3
|
+
import userEvent from '@testing-library/user-event';
|
|
4
|
+
import '@testing-library/jest-dom/extend-expect';
|
|
5
|
+
import { Box, Text, Button, Popover } from '..';
|
|
6
|
+
|
|
7
|
+
var PopBasic = function PopBasic(_ref) {
|
|
8
|
+
var children = _ref.children;
|
|
9
|
+
|
|
10
|
+
var _useState = useState(false),
|
|
11
|
+
open = _useState[0],
|
|
12
|
+
setOpen = _useState[1];
|
|
13
|
+
|
|
14
|
+
return /*#__PURE__*/React.createElement(Box, {
|
|
15
|
+
id: "container"
|
|
16
|
+
}, /*#__PURE__*/React.createElement(Popover, {
|
|
17
|
+
open: open,
|
|
18
|
+
offset: 1,
|
|
19
|
+
renderTo: "#container",
|
|
20
|
+
anchorElement: /*#__PURE__*/React.createElement(Button, {
|
|
21
|
+
title: "Toggle",
|
|
22
|
+
onClick: function onClick() {
|
|
23
|
+
return setOpen(!open);
|
|
24
|
+
},
|
|
25
|
+
id: "anchor-element"
|
|
26
|
+
})
|
|
27
|
+
}, children));
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
var _ref2 = /*#__PURE__*/React.createElement(PopBasic, null, /*#__PURE__*/React.createElement(Box, null));
|
|
31
|
+
|
|
32
|
+
describe('Popover', function () {
|
|
33
|
+
it('should not render string in closed Popover', function () {
|
|
34
|
+
var string = 'Test Text';
|
|
35
|
+
render( /*#__PURE__*/React.createElement(PopBasic, null, /*#__PURE__*/React.createElement(Text, null, string)));
|
|
36
|
+
expect(screen.queryByText(string)).toBeNull();
|
|
37
|
+
});
|
|
38
|
+
it('should render string in open Popover', function () {
|
|
39
|
+
var string = 'Test Text';
|
|
40
|
+
render( /*#__PURE__*/React.createElement(PopBasic, null, /*#__PURE__*/React.createElement(Text, null, string)));
|
|
41
|
+
var openPopover = screen.getByRole('button');
|
|
42
|
+
userEvent.click(openPopover);
|
|
43
|
+
expect(screen.getByText(string)).toBeInTheDocument();
|
|
44
|
+
});
|
|
45
|
+
it('should focus open button on click', function () {
|
|
46
|
+
render(_ref2);
|
|
47
|
+
var openPopover = screen.getByRole('button');
|
|
48
|
+
userEvent.click(openPopover);
|
|
49
|
+
expect(openPopover).toHaveFocus();
|
|
50
|
+
});
|
|
51
|
+
});
|
|
@@ -32,43 +32,31 @@ var RewireTabOrder = /*#__PURE__*/function () {
|
|
|
32
32
|
|
|
33
33
|
_defineProperty(this, "nextActiveElement", null);
|
|
34
34
|
|
|
35
|
-
_defineProperty(this, "focusOriginalActiveElement", function () {
|
|
36
|
-
_this.originalActiveElement.focus();
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
_defineProperty(this, "focusNextActiveElement", function () {
|
|
40
|
-
_this.nextActiveElement.focus();
|
|
41
|
-
});
|
|
42
|
-
|
|
43
35
|
_defineProperty(this, "moveFocusToTargetFromTriggerElement", function (event) {
|
|
44
36
|
if (!event.shiftKey && event.keyCode === TAB_KEY) {
|
|
45
37
|
event.preventDefault();
|
|
46
38
|
|
|
47
|
-
_this.
|
|
39
|
+
if (_this.tabbables.includes(_this.nextActiveElement)) {
|
|
40
|
+
_this.nextActiveElement.focus();
|
|
41
|
+
} else {
|
|
42
|
+
_this.firstFocusableElement.focus();
|
|
43
|
+
}
|
|
48
44
|
}
|
|
49
45
|
});
|
|
50
46
|
|
|
51
|
-
_defineProperty(this, "
|
|
47
|
+
_defineProperty(this, "moveFocusToTargetFromFirstElement", function (event) {
|
|
52
48
|
if (event.target === _this.firstFocusableElement && event.shiftKey && event.keyCode === TAB_KEY) {
|
|
53
49
|
event.preventDefault();
|
|
54
50
|
|
|
55
|
-
_this.originalActiveElement.focus();
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
|
|
59
|
-
_defineProperty(this, "moveFocusToTargetFromNextElement", function (event) {
|
|
60
|
-
if (event.shiftKey && event.keyCode === TAB_KEY) {
|
|
61
|
-
event.preventDefault();
|
|
62
|
-
|
|
63
51
|
_this.lastFocusableElement.focus();
|
|
64
52
|
}
|
|
65
53
|
});
|
|
66
54
|
|
|
67
|
-
_defineProperty(this, "
|
|
68
|
-
if (!event.shiftKey && event.keyCode === TAB_KEY) {
|
|
55
|
+
_defineProperty(this, "moveFocusToTargetFromLastElement", function (event) {
|
|
56
|
+
if (event.target === _this.lastFocusableElement && !event.shiftKey && event.keyCode === TAB_KEY) {
|
|
69
57
|
event.preventDefault();
|
|
70
58
|
|
|
71
|
-
_this.
|
|
59
|
+
_this.firstFocusableElement.focus();
|
|
72
60
|
}
|
|
73
61
|
});
|
|
74
62
|
|
|
@@ -89,12 +77,8 @@ var RewireTabOrder = /*#__PURE__*/function () {
|
|
|
89
77
|
this.originalActiveElement = document.activeElement;
|
|
90
78
|
this.nextActiveElement = getNextActiveElement(this.originalActiveElement);
|
|
91
79
|
this.originalActiveElement.addEventListener('keydown', this.moveFocusToTargetFromTriggerElement);
|
|
92
|
-
this.firstFocusableElement.addEventListener('keydown', this.
|
|
93
|
-
|
|
94
|
-
if (this.nextActiveElement) {
|
|
95
|
-
this.nextActiveElement.addEventListener('keydown', this.moveFocusToTargetFromNextElement);
|
|
96
|
-
this.lastFocusableElement.addEventListener('keydown', this.moveFocusFromTargetToNextElement);
|
|
97
|
-
}
|
|
80
|
+
this.firstFocusableElement.addEventListener('keydown', this.moveFocusToTargetFromFirstElement);
|
|
81
|
+
this.lastFocusableElement.addEventListener('keydown', this.moveFocusToTargetFromLastElement);
|
|
98
82
|
};
|
|
99
83
|
|
|
100
84
|
_proto.destroy = function destroy() {
|
|
@@ -103,12 +87,8 @@ var RewireTabOrder = /*#__PURE__*/function () {
|
|
|
103
87
|
}
|
|
104
88
|
|
|
105
89
|
this.originalActiveElement.removeEventListener('keydown', this.moveFocusToTargetFromTriggerElement);
|
|
106
|
-
this.firstFocusableElement.removeEventListener('keydown', this.
|
|
107
|
-
|
|
108
|
-
if (this.nextActiveElement) {
|
|
109
|
-
this.nextActiveElement.removeEventListener('keydown', this.moveFocusToTargetFromNextElement);
|
|
110
|
-
this.lastFocusableElement.removeEventListener('keydown', this.moveFocusFromTargetToNextElement);
|
|
111
|
-
}
|
|
90
|
+
this.firstFocusableElement.removeEventListener('keydown', this.moveFocusToTargetFromFirstElement);
|
|
91
|
+
this.lastFocusableElement.removeEventListener('keydown', this.moveFocusToTargetFromLastElement);
|
|
112
92
|
};
|
|
113
93
|
|
|
114
94
|
return RewireTabOrder;
|
|
@@ -2,12 +2,16 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import Box from '../Box';
|
|
5
|
+
import { useThemeProps } from '../system';
|
|
5
6
|
|
|
6
|
-
function Progress(
|
|
7
|
-
var value =
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
function Progress(_ref) {
|
|
8
|
+
var value = _ref.value,
|
|
9
|
+
restProps = _objectWithoutPropertiesLoose(_ref, ["value"]);
|
|
10
|
+
|
|
11
|
+
var _useThemeProps = useThemeProps('progress', restProps),
|
|
12
|
+
_useThemeProps$active = _useThemeProps.activeColor,
|
|
13
|
+
activeColor = _useThemeProps$active === void 0 ? 'primary' : _useThemeProps$active,
|
|
14
|
+
themeProps = _objectWithoutPropertiesLoose(_useThemeProps, ["activeColor"]);
|
|
11
15
|
|
|
12
16
|
return /*#__PURE__*/React.createElement(Box, _extends({
|
|
13
17
|
role: "progressbar",
|
|
@@ -18,7 +22,7 @@ function Progress(props) {
|
|
|
18
22
|
position: "relative",
|
|
19
23
|
overflow: "hidden",
|
|
20
24
|
backgroundColor: "grey-3"
|
|
21
|
-
},
|
|
25
|
+
}, themeProps), /*#__PURE__*/React.createElement(Box, {
|
|
22
26
|
position: "absolute",
|
|
23
27
|
top: 0,
|
|
24
28
|
right: 0,
|
package/dist/esm/Radio/Radio.js
CHANGED
|
@@ -9,8 +9,8 @@ import Text from '../Text';
|
|
|
9
9
|
import VariantProvider from '../VariantProvider';
|
|
10
10
|
import { useThemeValue } from '../system';
|
|
11
11
|
var iconPaths = {
|
|
12
|
-
fill: '
|
|
13
|
-
checked: '
|
|
12
|
+
fill: 'tapestry.radio0',
|
|
13
|
+
checked: 'tapestry.radio1'
|
|
14
14
|
};
|
|
15
15
|
var radioEmitter = mitt();
|
|
16
16
|
|
|
@@ -4,6 +4,7 @@ import React, { useRef, useState } from 'react';
|
|
|
4
4
|
import { clamp, snap } from '@popmotion/popcorn';
|
|
5
5
|
import Box from '../Box';
|
|
6
6
|
import { useMeasure } from '../hooks';
|
|
7
|
+
import { useThemeProps } from '../system';
|
|
7
8
|
|
|
8
9
|
function RangeSlider(props) {
|
|
9
10
|
var _props$min = props.min,
|
|
@@ -15,9 +16,12 @@ function RangeSlider(props) {
|
|
|
15
16
|
disabled = props.disabled,
|
|
16
17
|
value = props.value,
|
|
17
18
|
onChange = props.onChange,
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
restProps = _objectWithoutPropertiesLoose(props, ["min", "max", "step", "disabled", "value", "onChange"]);
|
|
20
|
+
|
|
21
|
+
var _useThemeProps = useThemeProps('rangeSlider', restProps),
|
|
22
|
+
_useThemeProps$varian = _useThemeProps.variant,
|
|
23
|
+
variant = _useThemeProps$varian === void 0 ? {} : _useThemeProps$varian,
|
|
24
|
+
themeProps = _objectWithoutPropertiesLoose(_useThemeProps, ["variant"]);
|
|
21
25
|
|
|
22
26
|
var snapTo = snap(step);
|
|
23
27
|
var sliderRef = useRef();
|
|
@@ -165,7 +169,7 @@ function RangeSlider(props) {
|
|
|
165
169
|
opacity: disabled ? 0.65 : undefined,
|
|
166
170
|
onMouseDown: disabled ? undefined : handleTrackPointerDown,
|
|
167
171
|
onTouchStart: disabled ? undefined : handleTrackPointerDown
|
|
168
|
-
},
|
|
172
|
+
}, themeProps), /*#__PURE__*/React.createElement(Box, _extends({
|
|
169
173
|
innerRef: trackRef,
|
|
170
174
|
height: 0.5,
|
|
171
175
|
radius: 6,
|
package/dist/esm/Scrim/Scrim.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import StackView from '../StackView';
|
|
4
|
-
var Scrim = /*#__PURE__*/React.forwardRef(function (props
|
|
4
|
+
var Scrim = /*#__PURE__*/React.forwardRef(function (props) {
|
|
5
5
|
React.useLayoutEffect(function () {
|
|
6
6
|
document.body.style.overflow = 'hidden';
|
|
7
7
|
return function () {
|
|
@@ -9,7 +9,7 @@ var Scrim = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
9
9
|
};
|
|
10
10
|
}, []);
|
|
11
11
|
return /*#__PURE__*/React.createElement(StackView, _extends({
|
|
12
|
-
innerRef: ref,
|
|
12
|
+
innerRef: props.ref,
|
|
13
13
|
position: "fixed",
|
|
14
14
|
top: 0,
|
|
15
15
|
right: 0,
|
|
@@ -4,25 +4,31 @@ import React from 'react';
|
|
|
4
4
|
import Heading from '../Heading';
|
|
5
5
|
import Toolbar from '../Toolbar';
|
|
6
6
|
import StackView from '../StackView';
|
|
7
|
+
import { useThemeProps } from '../system';
|
|
7
8
|
|
|
8
9
|
function Section(_ref) {
|
|
9
10
|
var _ref$actions = _ref.actions,
|
|
10
11
|
actions = _ref$actions === void 0 ? [] : _ref$actions,
|
|
11
12
|
children = _ref.children,
|
|
12
13
|
count = _ref.count,
|
|
13
|
-
countColor = _ref.countColor,
|
|
14
14
|
helpContent = _ref.helpContent,
|
|
15
15
|
onStatusClearRequest = _ref.onStatusClearRequest,
|
|
16
16
|
status = _ref.status,
|
|
17
17
|
title = _ref.title,
|
|
18
|
-
restProps = _objectWithoutPropertiesLoose(_ref, ["actions", "children", "count", "
|
|
18
|
+
restProps = _objectWithoutPropertiesLoose(_ref, ["actions", "children", "count", "helpContent", "onStatusClearRequest", "status", "title"]);
|
|
19
|
+
|
|
20
|
+
var _useThemeProps = useThemeProps('section', restProps),
|
|
21
|
+
countColor = _useThemeProps.countColor,
|
|
22
|
+
headingProps = _useThemeProps.headingProps,
|
|
23
|
+
toolbarProps = _useThemeProps.toolbarProps,
|
|
24
|
+
themeProps = _objectWithoutPropertiesLoose(_useThemeProps, ["countColor", "headingProps", "toolbarProps"]);
|
|
19
25
|
|
|
20
26
|
return /*#__PURE__*/React.createElement(StackView, _extends({
|
|
21
27
|
as: "section"
|
|
22
|
-
},
|
|
23
|
-
title: /*#__PURE__*/React.createElement(Heading, {
|
|
28
|
+
}, themeProps), /*#__PURE__*/React.createElement(Toolbar, _extends({
|
|
29
|
+
title: /*#__PURE__*/React.createElement(Heading, _extends({
|
|
24
30
|
level: 3
|
|
25
|
-
}, title),
|
|
31
|
+
}, headingProps), title),
|
|
26
32
|
helpContent: helpContent,
|
|
27
33
|
actions: actions,
|
|
28
34
|
count: count,
|
|
@@ -30,7 +36,7 @@ function Section(_ref) {
|
|
|
30
36
|
status: status,
|
|
31
37
|
onStatusClearRequest: onStatusClearRequest,
|
|
32
38
|
marginBottom: 2
|
|
33
|
-
}), children);
|
|
39
|
+
}, toolbarProps)), children);
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
export default Section;
|
|
@@ -358,6 +358,15 @@ var Select = /*#__PURE__*/function (_Component) {
|
|
|
358
358
|
|
|
359
359
|
break;
|
|
360
360
|
|
|
361
|
+
case 'Escape':
|
|
362
|
+
if (isPopoverOpen && !isPopoverVisible) {
|
|
363
|
+
event.preventDefault();
|
|
364
|
+
|
|
365
|
+
_this2.closePopover();
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
break;
|
|
369
|
+
|
|
361
370
|
case ' ':
|
|
362
371
|
event.preventDefault();
|
|
363
372
|
|
|
@@ -505,7 +514,7 @@ var Select = /*#__PURE__*/function (_Component) {
|
|
|
505
514
|
touchAction: "manipulation",
|
|
506
515
|
focusChildrenOnFocus: false,
|
|
507
516
|
renderRight: /*#__PURE__*/React.createElement(Icon, {
|
|
508
|
-
name: isPopoverVisible ? '
|
|
517
|
+
name: isPopoverVisible ? 'general.upCaret' : 'general.downCaret'
|
|
509
518
|
})
|
|
510
519
|
}, restProps), _this2.getValue(), _this2.getHiddenInputValues()));
|
|
511
520
|
});
|
|
@@ -7,7 +7,6 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
7
7
|
import { jsx } from '@emotion/core';
|
|
8
8
|
import { Children } from 'react';
|
|
9
9
|
import StickyBox from 'react-sticky-box';
|
|
10
|
-
import warning from 'warning';
|
|
11
10
|
import { css } from '../system';
|
|
12
11
|
import StackView from '../StackView';
|
|
13
12
|
import SidebarList from './SidebarList';
|
|
@@ -29,7 +28,10 @@ function Sidebar(_ref) {
|
|
|
29
28
|
}, restProps), jsx(StickyBox, {
|
|
30
29
|
css: flexColumnCss
|
|
31
30
|
}, Children.map(children, function (child) {
|
|
32
|
-
|
|
31
|
+
if (child && child.type !== Sidebar.List || child && child.type !== Sidebar.Item) {
|
|
32
|
+
console.warn("Invalid component nesting. " + child.type + " cannot appear as a child of <Sidebar>. Only <Sidebar.List/> or <Sidebar.Item/> may be used.");
|
|
33
|
+
}
|
|
34
|
+
|
|
33
35
|
return child;
|
|
34
36
|
})));
|
|
35
37
|
}
|
|
@@ -9,7 +9,7 @@ import { SORTABLE_TYPE } from './constants';
|
|
|
9
9
|
export var SORTABLE_ITEM_DISPLAY_NAME = 'SortableItem';
|
|
10
10
|
|
|
11
11
|
var _ref2 = /*#__PURE__*/React.createElement(Icon, {
|
|
12
|
-
name: "
|
|
12
|
+
name: "general.dragHandle",
|
|
13
13
|
size: "sm",
|
|
14
14
|
color: "foregroundTertiary"
|
|
15
15
|
});
|
|
@@ -12,6 +12,7 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
12
12
|
import { jsx } from '@emotion/core';
|
|
13
13
|
import * as React from 'react';
|
|
14
14
|
import splitStyles from '../system/split-styles';
|
|
15
|
+
import { spacingValue } from '../system';
|
|
15
16
|
import { joinChildren } from '../utils';
|
|
16
17
|
import { useVariant } from '../VariantProvider';
|
|
17
18
|
var BASELINE = 'baseline';
|
|
@@ -50,10 +51,8 @@ var stackViewPlugin = {
|
|
|
50
51
|
styles.justifyContent = distribution;
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
if (typeof spacing === 'number') {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
styles['& > *:not(:last-child)'] = (_styles$NotLa = {}, _styles$NotLa["margin" + (axis === HORIZONTAL ? 'Right' : 'Bottom')] = spacing * 8, _styles$NotLa["margin" + (axis === HORIZONTAL ? 'Bottom' : 'Right')] = 0, _styles$NotLa);
|
|
54
|
+
if (typeof spacing === 'number' || typeof spacing === 'string') {
|
|
55
|
+
styles.gap = spacingValue(spacing);
|
|
57
56
|
}
|
|
58
57
|
|
|
59
58
|
return styles;
|
|
@@ -69,7 +68,7 @@ export function StackView(_ref2) {
|
|
|
69
68
|
|
|
70
69
|
var Element = as || defaultElement;
|
|
71
70
|
var variant = useVariant();
|
|
72
|
-
var childrenToRender = Element === 'textarea' ? undefined : typeof props.spacing === '
|
|
71
|
+
var childrenToRender = Element === 'textarea' ? undefined : typeof props.spacing === 'object' ? joinChildren(children, props.spacing) : children;
|
|
73
72
|
return jsx(Element, _extends({
|
|
74
73
|
ref: innerRef
|
|
75
74
|
}, splitStyles(_objectSpread({
|
|
@@ -2,7 +2,7 @@ import _extends from "@babel/runtime/helpers/esm/extends";
|
|
|
2
2
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import Button from '../Button';
|
|
5
|
-
import { useBoxSize } from '../system';
|
|
5
|
+
import { useBoxSize, useThemeProps } from '../system';
|
|
6
6
|
import NumberField from '../NumberField';
|
|
7
7
|
import StackView from '../StackView';
|
|
8
8
|
|
|
@@ -12,12 +12,15 @@ function StepperField(_ref) {
|
|
|
12
12
|
_ref$max = _ref.max,
|
|
13
13
|
max = _ref$max === void 0 ? Infinity : _ref$max,
|
|
14
14
|
onChange = _ref.onChange,
|
|
15
|
-
_ref$size = _ref.size,
|
|
16
|
-
size = _ref$size === void 0 ? 'md' : _ref$size,
|
|
17
15
|
_ref$step = _ref.step,
|
|
18
16
|
step = _ref$step === void 0 ? 1 : _ref$step,
|
|
19
17
|
value = _ref.value,
|
|
20
|
-
restProps = _objectWithoutPropertiesLoose(_ref, ["min", "max", "onChange", "
|
|
18
|
+
restProps = _objectWithoutPropertiesLoose(_ref, ["min", "max", "onChange", "step", "value"]);
|
|
19
|
+
|
|
20
|
+
var _useThemeProps = useThemeProps('stepperField', restProps),
|
|
21
|
+
_useThemeProps$size = _useThemeProps.size,
|
|
22
|
+
size = _useThemeProps$size === void 0 ? 'md' : _useThemeProps$size,
|
|
23
|
+
themeProps = _objectWithoutPropertiesLoose(_useThemeProps, ["size"]);
|
|
21
24
|
|
|
22
25
|
var _useBoxSize = useBoxSize(size),
|
|
23
26
|
fontSize = _useBoxSize.fontSize,
|
|
@@ -27,11 +30,11 @@ function StepperField(_ref) {
|
|
|
27
30
|
return /*#__PURE__*/React.createElement(StackView, _extends({
|
|
28
31
|
axis: "horizontal",
|
|
29
32
|
fontSize: fontSize
|
|
30
|
-
},
|
|
33
|
+
}, themeProps), /*#__PURE__*/React.createElement(Button, {
|
|
31
34
|
size: size,
|
|
32
35
|
title: "Decrement by " + step,
|
|
33
36
|
icon: {
|
|
34
|
-
name: '
|
|
37
|
+
name: 'general.minus',
|
|
35
38
|
size: navigateSize(size, -1)
|
|
36
39
|
},
|
|
37
40
|
disabled: value <= min,
|
|
@@ -51,7 +54,7 @@ function StepperField(_ref) {
|
|
|
51
54
|
size: size,
|
|
52
55
|
title: "Increment by " + step,
|
|
53
56
|
icon: {
|
|
54
|
-
name: '
|
|
57
|
+
name: 'general.plus',
|
|
55
58
|
size: navigateSize(size, -1)
|
|
56
59
|
},
|
|
57
60
|
disabled: value >= max,
|
|
@@ -3,20 +3,23 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
3
3
|
import React, { Children } from 'react';
|
|
4
4
|
import GridView from '../GridView';
|
|
5
5
|
import StepperProgressContext from './Context';
|
|
6
|
-
|
|
6
|
+
import { useThemeProps } from '../system';
|
|
7
7
|
|
|
8
8
|
function StepperProgress(_ref) {
|
|
9
9
|
var activeStepIndex = _ref.activeStepIndex,
|
|
10
|
-
_ref$activeColor = _ref.activeColor,
|
|
11
|
-
activeColor = _ref$activeColor === void 0 ? ACTIVE_COLOR : _ref$activeColor,
|
|
12
10
|
children = _ref.children,
|
|
13
|
-
restProps = _objectWithoutPropertiesLoose(_ref, ["activeStepIndex", "
|
|
11
|
+
restProps = _objectWithoutPropertiesLoose(_ref, ["activeStepIndex", "children"]);
|
|
12
|
+
|
|
13
|
+
var _useThemeProps = useThemeProps('stepperProgress', restProps),
|
|
14
|
+
_useThemeProps$active = _useThemeProps.activeColor,
|
|
15
|
+
activeColor = _useThemeProps$active === void 0 ? 'primary-light' : _useThemeProps$active,
|
|
16
|
+
themeProps = _objectWithoutPropertiesLoose(_useThemeProps, ["activeColor"]);
|
|
14
17
|
|
|
15
18
|
return /*#__PURE__*/React.createElement(GridView, _extends({
|
|
16
19
|
autoFlow: "column",
|
|
17
20
|
autoColumns: "1fr",
|
|
18
21
|
alignment: "center"
|
|
19
|
-
},
|
|
22
|
+
}, themeProps), Children.map(children, function (child, stepIndex) {
|
|
20
23
|
return /*#__PURE__*/React.createElement(StepperProgressContext.Provider, {
|
|
21
24
|
key: stepIndex,
|
|
22
25
|
value: {
|