@planningcenter/tapestry-react 1.3.0 → 2.0.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 (302) hide show
  1. package/dist/cjs/ActionsDropdown/ActionsDropdown.js +3 -3
  2. package/dist/cjs/Badge/Badge.js +41 -26
  3. package/dist/cjs/Badge/Status.js +2 -2
  4. package/dist/cjs/Calendar/Calendar.js +5 -3
  5. package/dist/cjs/Card/Card.js +2 -0
  6. package/dist/cjs/Checkbox/Checkbox.js +3 -3
  7. package/dist/cjs/ChurchCenterStatus/ChurchCenterStatus.js +4 -4
  8. package/dist/cjs/ColumnView/ColumnView.js +5 -2
  9. package/dist/cjs/Combobox/ComboboxPopover.js +2 -2
  10. package/dist/cjs/DataTable/components/CheckboxCell.js +4 -4
  11. package/dist/cjs/DataTable/components/ColumnPicker.js +6 -5
  12. package/dist/cjs/DataTable/hooks/useColumnSort.js +1 -1
  13. package/dist/cjs/DataTable/utils/getParsedColumns.js +4 -4
  14. package/dist/cjs/DateField/DateField.js +1 -1
  15. package/dist/cjs/Drawer/Drawer.js +4 -1
  16. package/dist/cjs/Dropdown/Dropdown.js +1 -1
  17. package/dist/cjs/Dropdown/Dropdown.test.js +194 -19
  18. package/dist/cjs/Dropdown/Link.js +3 -1
  19. package/dist/cjs/EditActions/EditActions.js +9 -3
  20. package/dist/cjs/Field/Field.js +1 -0
  21. package/dist/cjs/FieldSet/FieldSet.js +24 -10
  22. package/dist/cjs/FilterLayout/FilterLayout.js +2 -1
  23. package/dist/cjs/Form/Form.js +1 -1
  24. package/dist/cjs/GridView/GridView.js +6 -4
  25. package/dist/cjs/Group/Group.js +10 -3
  26. package/dist/cjs/HeadingUppercase/HeadingUppercase.js +2 -2
  27. package/dist/cjs/HelperDrawer/HelperDrawer.js +1 -1
  28. package/dist/cjs/Highlight/Highlight.js +11 -5
  29. package/dist/cjs/Icon/Status.js +4 -4
  30. package/dist/cjs/Input/InputBox.js +1 -1
  31. package/dist/cjs/List/ListItem.js +1 -1
  32. package/dist/cjs/Menu/Heading.js +1 -0
  33. package/dist/cjs/Modal/Modal.test.js +156 -0
  34. package/dist/cjs/Pagination/Pagination.js +4 -2
  35. package/dist/cjs/Popover/Popover.js +4 -0
  36. package/dist/cjs/Popover/Popover.test.js +65 -0
  37. package/dist/cjs/Popover/rewireTabOrder.js +13 -30
  38. package/dist/cjs/Progress/Progress.js +12 -6
  39. package/dist/cjs/Radio/Radio.js +2 -2
  40. package/dist/cjs/RangeSlider/RangeSlider.js +10 -4
  41. package/dist/cjs/Scrim/Scrim.js +2 -2
  42. package/dist/cjs/Section/Section.js +14 -6
  43. package/dist/cjs/Select/Option.js +1 -1
  44. package/dist/cjs/Select/Select.js +10 -1
  45. package/dist/cjs/Sortable/SortableItem.js +1 -1
  46. package/dist/cjs/StackView/StackView.js +5 -5
  47. package/dist/cjs/StepperField/StepperField.js +9 -6
  48. package/dist/cjs/StepperProgress/StepperProgress.js +9 -5
  49. package/dist/cjs/Table/ColumnPicker.js +1 -1
  50. package/dist/cjs/Table/DragHandle.js +1 -1
  51. package/dist/cjs/Table/NavigationArrow.js +1 -1
  52. package/dist/cjs/Table/SubRowToggleCell.js +1 -1
  53. package/dist/cjs/Table/Table.js +1 -1
  54. package/dist/cjs/Tabs/Tab.js +1 -0
  55. package/dist/cjs/TileView/TileView.js +1 -1
  56. package/dist/cjs/TokenInput/DefaultToken.js +1 -1
  57. package/dist/cjs/Wizard/Wizard.js +2 -1
  58. package/dist/cjs/WrapView/WrapView.js +2 -27
  59. package/dist/cjs/hooks/use-accessibility-violation.js +1 -1
  60. package/dist/cjs/system/default-theme.js +8 -3
  61. package/dist/esm/ActionsDropdown/ActionsDropdown.js +3 -3
  62. package/dist/esm/Badge/Badge.js +42 -27
  63. package/dist/esm/Badge/Status.js +2 -2
  64. package/dist/esm/Calendar/Calendar.js +5 -3
  65. package/dist/esm/Card/Card.js +2 -3
  66. package/dist/esm/Checkbox/Checkbox.js +3 -3
  67. package/dist/esm/ChurchCenterStatus/ChurchCenterStatus.js +4 -4
  68. package/dist/esm/ColumnView/ColumnView.js +4 -2
  69. package/dist/esm/Combobox/ComboboxPopover.js +2 -2
  70. package/dist/esm/DataTable/components/CheckboxCell.js +4 -4
  71. package/dist/esm/DataTable/components/ColumnPicker.js +6 -5
  72. package/dist/esm/DataTable/hooks/useColumnSort.js +1 -1
  73. package/dist/esm/DataTable/utils/getParsedColumns.js +4 -4
  74. package/dist/esm/DateField/DateField.js +1 -1
  75. package/dist/esm/Drawer/Drawer.js +3 -1
  76. package/dist/esm/Dropdown/Dropdown.js +1 -1
  77. package/dist/esm/Dropdown/Dropdown.test.js +158 -17
  78. package/dist/esm/Dropdown/Link.js +3 -1
  79. package/dist/esm/EditActions/EditActions.js +8 -3
  80. package/dist/esm/Field/Field.js +1 -0
  81. package/dist/esm/FieldSet/FieldSet.js +22 -10
  82. package/dist/esm/FilterLayout/FilterLayout.js +2 -1
  83. package/dist/esm/Form/Form.js +1 -1
  84. package/dist/esm/GridView/GridView.js +5 -4
  85. package/dist/esm/Group/Group.js +10 -3
  86. package/dist/esm/HeadingUppercase/HeadingUppercase.js +3 -3
  87. package/dist/esm/HelperDrawer/HelperDrawer.js +1 -1
  88. package/dist/esm/Highlight/Highlight.js +9 -5
  89. package/dist/esm/Icon/Status.js +4 -4
  90. package/dist/esm/Input/InputBox.js +1 -1
  91. package/dist/esm/List/ListItem.js +1 -1
  92. package/dist/esm/Menu/Heading.js +1 -0
  93. package/dist/esm/Modal/Modal.test.js +122 -0
  94. package/dist/esm/Pagination/Pagination.js +4 -2
  95. package/dist/esm/Popover/Popover.js +4 -0
  96. package/dist/esm/Popover/Popover.test.js +51 -0
  97. package/dist/esm/Popover/rewireTabOrder.js +13 -33
  98. package/dist/esm/Progress/Progress.js +10 -6
  99. package/dist/esm/Radio/Radio.js +2 -2
  100. package/dist/esm/RangeSlider/RangeSlider.js +8 -4
  101. package/dist/esm/Scrim/Scrim.js +2 -2
  102. package/dist/esm/Section/Section.js +12 -6
  103. package/dist/esm/Select/Option.js +1 -1
  104. package/dist/esm/Select/Select.js +10 -1
  105. package/dist/esm/Sortable/SortableItem.js +1 -1
  106. package/dist/esm/StackView/StackView.js +4 -5
  107. package/dist/esm/StepperField/StepperField.js +10 -7
  108. package/dist/esm/StepperProgress/StepperProgress.js +8 -5
  109. package/dist/esm/Table/ColumnPicker.js +1 -1
  110. package/dist/esm/Table/DragHandle.js +1 -1
  111. package/dist/esm/Table/NavigationArrow.js +1 -1
  112. package/dist/esm/Table/SubRowToggleCell.js +1 -1
  113. package/dist/esm/Table/Table.js +1 -1
  114. package/dist/esm/Tabs/Tab.js +1 -0
  115. package/dist/esm/TileView/TileView.js +1 -1
  116. package/dist/esm/TokenInput/DefaultToken.js +1 -1
  117. package/dist/esm/Wizard/Wizard.js +2 -1
  118. package/dist/esm/WrapView/WrapView.js +2 -28
  119. package/dist/esm/hooks/use-accessibility-violation.js +1 -1
  120. package/dist/esm/system/default-theme.js +6 -2
  121. package/dist/types/Alert/Alert.d.ts +3 -0
  122. package/dist/types/Box/Box.d.ts +11 -2
  123. package/dist/types/Button/Button.d.ts +9 -1
  124. package/dist/types/Button/Input.d.ts +1 -1
  125. package/dist/types/Card/Card.d.ts +8 -1
  126. package/dist/types/Dropdown/Dropdown.test.d.ts +1 -1
  127. package/dist/types/GridView/GridView.d.ts +16 -4
  128. package/dist/types/Group/Group.d.ts +5 -1
  129. package/dist/types/Modal/Modal.test.d.ts +1 -0
  130. package/dist/types/Popover/Popover.test.d.ts +1 -0
  131. package/dist/types/Scrim/Scrim.d.ts +6 -1
  132. package/dist/types/StackView/StackView.d.ts +11 -0
  133. package/dist/types/Text/Text.d.ts +12 -0
  134. package/dist/types/TileView/TileView.d.ts +15 -7
  135. package/dist/types/WrapView/WrapView.d.ts +2 -1
  136. package/package.json +4 -3
  137. package/src/ActionsDropdown/ActionsDropdown.tsx +3 -3
  138. package/src/Alert/Alert.mdx +1 -0
  139. package/src/Alert/Alert.tsx +5 -0
  140. package/src/Avatar/Avatar.mdx +1 -0
  141. package/src/Badge/Badge.js +66 -25
  142. package/src/Badge/Badge.mdx +2 -1
  143. package/src/Badge/Status.js +2 -2
  144. package/src/Badge/Status.mdx +1 -0
  145. package/src/Box/Box.mdx +2 -1
  146. package/src/Box/Box.tsx +13 -2
  147. package/src/Button/Button.mdx +4 -3
  148. package/src/Button/Button.tsx +11 -0
  149. package/src/Button/Input.mdx +2 -2
  150. package/src/Calendar/Calendar.js +8 -3
  151. package/src/Calendar/Calendar.mdx +1 -0
  152. package/src/Card/Card.mdx +1 -0
  153. package/src/Card/Card.tsx +7 -1
  154. package/src/Checkbox/Checkbox.js +8 -3
  155. package/src/Checkbox/Checkbox.mdx +1 -0
  156. package/src/CheckboxCard/CheckboxCard.js +26 -1
  157. package/src/CheckboxCard/CheckboxCard.mdx +1 -0
  158. package/src/CheckboxGroup/CheckboxGroup.js +6 -0
  159. package/src/CheckboxGroup/CheckboxGroup.mdx +1 -0
  160. package/src/ChurchCenterStatus/ChurchCenterStatus.mdx +1 -0
  161. package/src/ChurchCenterStatus/ChurchCenterStatus.tsx +4 -4
  162. package/src/Collapse/Collapse.js +2 -0
  163. package/src/ColumnView/ColumnView.js +7 -3
  164. package/src/ColumnView/ColumnView.mdx +1 -0
  165. package/src/Combobox/Combobox.js +11 -1
  166. package/src/Combobox/Combobox.mdx +2 -1
  167. package/src/Combobox/ComboboxPopover.js +2 -2
  168. package/src/DataTable/DataTable.js +48 -0
  169. package/src/DataTable/DataTable.mdx +2 -2
  170. package/src/DataTable/components/CheckboxCell.js +5 -4
  171. package/src/DataTable/components/ColumnPicker.js +4 -4
  172. package/src/DataTable/hooks/useColumnSort.js +1 -1
  173. package/src/DataTable/utils/getParsedColumns.js +4 -4
  174. package/src/DateField/DateField.js +11 -1
  175. package/src/DateField/DateField.mdx +1 -0
  176. package/src/Divider/Divider.mdx +1 -0
  177. package/src/DragDrop/DragDrop.mdx +23 -9
  178. package/src/Drawer/Drawer.js +3 -0
  179. package/src/Drawer/Drawer.mdx +2 -1
  180. package/src/Dropdown/Dropdown.js +49 -3
  181. package/src/Dropdown/Dropdown.mdx +3 -2
  182. package/src/Dropdown/Dropdown.test.tsx +128 -17
  183. package/src/Dropdown/Link.js +3 -1
  184. package/src/EditActions/EditActions.js +18 -3
  185. package/src/EditActions/EditActions.mdx +1 -0
  186. package/src/Field/Field.js +16 -0
  187. package/src/Field/Field.mdx +1 -0
  188. package/src/FieldSet/FieldSet.js +35 -11
  189. package/src/FieldSet/FieldSet.mdx +1 -0
  190. package/src/FilterLayout/FilterLayout.mdx +1 -0
  191. package/src/FilterLayout/FilterLayout.tsx +4 -1
  192. package/src/Form/Form.js +1 -1
  193. package/src/Form/Form.mdx +26 -24
  194. package/src/GridView/GridView.mdx +2 -1
  195. package/src/GridView/GridView.tsx +27 -8
  196. package/src/Group/Group.mdx +8 -7
  197. package/src/Group/Group.tsx +12 -1
  198. package/src/Heading/Heading.js +6 -2
  199. package/src/Heading/Heading.mdx +1 -0
  200. package/src/HeadingUppercase/HeadingUppercase.js +9 -5
  201. package/src/HeadingUppercase/HeadingUppercase.mdx +1 -0
  202. package/src/HelperDrawer/HelperDrawer.js +10 -2
  203. package/src/HelperDrawer/HelperDrawer.mdx +1 -0
  204. package/src/Highlight/Highlight.js +6 -2
  205. package/src/Highlight/Highlight.mdx +1 -0
  206. package/src/Icon/Icon.js +6 -0
  207. package/src/Icon/Icon.mdx +42 -37
  208. package/src/Icon/Status.js +4 -4
  209. package/src/Input/Inline.js +11 -1
  210. package/src/Input/Inline.mdx +2 -1
  211. package/src/Input/Input.js +119 -1
  212. package/src/Input/Input.mdx +1 -6
  213. package/src/Input/InputBox.js +41 -1
  214. package/src/Input/InputBox.mdx +1 -0
  215. package/src/Input/InputField.js +32 -0
  216. package/src/Input/InputField.mdx +1 -0
  217. package/src/Input/InputLabel.mdx +1 -0
  218. package/src/Link/Link.js +10 -0
  219. package/src/Link/Link.mdx +2 -1
  220. package/src/LinkList/LinkList.js +7 -1
  221. package/src/LinkList/LinkList.mdx +1 -0
  222. package/src/List/List.js +25 -1
  223. package/src/List/List.mdx +1 -0
  224. package/src/List/ListItem.js +1 -1
  225. package/src/Logo/Logo.js +10 -1
  226. package/src/Logo/Logo.mdx +1 -0
  227. package/src/Menu/Heading.js +1 -0
  228. package/src/Menu/Menu.js +7 -1
  229. package/src/Menu/Menu.mdx +2 -1
  230. package/src/Modal/Modal.js +1 -0
  231. package/src/Modal/Modal.mdx +1 -0
  232. package/src/Modal/Modal.test.tsx +113 -0
  233. package/src/NumberField/NumberField.js +19 -0
  234. package/src/Page/Page.mdx +1 -1
  235. package/src/PagerView/PagerView.js +1 -0
  236. package/src/PagerView/PagerView.mdx +9 -8
  237. package/src/Pagination/Pagination.js +2 -2
  238. package/src/Pagination/Pagination.mdx +1 -0
  239. package/src/Popover/Popover.test.tsx +62 -0
  240. package/src/Popover/Popover.tsx +3 -0
  241. package/src/Popover/rewireTabOrder.ts +24 -42
  242. package/src/Progress/Progress.js +8 -3
  243. package/src/Progress/Progress.mdx +1 -0
  244. package/src/Radio/Radio.js +4 -2
  245. package/src/Radio/Radio.mdx +1 -0
  246. package/src/RangeSlider/RangeSlider.js +11 -2
  247. package/src/RangeSlider/RangeSlider.mdx +13 -10
  248. package/src/ScreenReader/ScreenReader.js +6 -1
  249. package/src/ScreenReader/ScreenReader.mdx +1 -0
  250. package/src/Scrim/Scrim.mdx +1 -0
  251. package/src/Scrim/Scrim.tsx +8 -2
  252. package/src/Section/Section.js +15 -3
  253. package/src/Section/Section.mdx +1 -0
  254. package/src/SegmentedControl/SegmentedControl.mdx +3 -2
  255. package/src/SegmentedTabs/SegmentedTabs.js +2 -0
  256. package/src/SegmentedTabs/SegmentedTabs.mdx +1 -0
  257. package/src/Select/Option.js +1 -1
  258. package/src/Select/Select.js +69 -2
  259. package/src/Select/Select.mdx +1 -0
  260. package/src/Sidebar/Sidebar.js +7 -1
  261. package/src/Sidebar/Sidebar.mdx +1 -0
  262. package/src/Sortable/SortableItem.js +1 -1
  263. package/src/Spinner/Spinner.mdx +1 -0
  264. package/src/StackView/StackView.mdx +17 -1
  265. package/src/StackView/StackView.tsx +23 -8
  266. package/src/StepperField/StepperField.js +35 -6
  267. package/src/StepperField/StepperField.mdx +2 -2
  268. package/src/StepperProgress/StepperProgress.js +9 -10
  269. package/src/StepperProgress/StepperProgress.mdx +1 -0
  270. package/src/Summary/Summary.mdx +1 -0
  271. package/src/Tab/Tab.mdx +1 -0
  272. package/src/Table/ColumnPicker.js +1 -1
  273. package/src/Table/DragHandle.js +1 -1
  274. package/src/Table/NavigationArrow.js +1 -1
  275. package/src/Table/SubRowToggleCell.js +1 -1
  276. package/src/Table/Table.js +1 -1
  277. package/src/Table/Table.mdx +2 -2
  278. package/src/Tabs/Tab.js +1 -0
  279. package/src/Tabs/Tabs.js +5 -0
  280. package/src/Tabs/Tabs.mdx +1 -0
  281. package/src/Text/Text.mdx +1 -0
  282. package/src/Text/Text.tsx +12 -0
  283. package/src/TextArea/TextArea.js +7 -1
  284. package/src/TextArea/TextArea.mdx +1 -0
  285. package/src/TileView/TileView.mdx +1 -0
  286. package/src/TileView/TileView.tsx +17 -3
  287. package/src/TimeField/TimeField.mdx +1 -0
  288. package/src/TokenInput/DefaultToken.js +1 -1
  289. package/src/TokenInput/TokenInput.js +12 -6
  290. package/src/TokenInput/TokenInput.mdx +1 -0
  291. package/src/Toolbar/Toolbar.mdx +1 -0
  292. package/src/Tooltip/Tooltip.js +39 -0
  293. package/src/Tooltip/Tooltip.mdx +4 -3
  294. package/src/Wizard/Wizard.js +1 -1
  295. package/src/Wizard/Wizard.mdx +7 -2
  296. package/src/WrapView/WrapView.mdx +1 -0
  297. package/src/WrapView/WrapView.tsx +6 -28
  298. package/src/hooks/use-accessibility-violation.tsx +1 -1
  299. package/src/system/default-theme.ts +7 -2
  300. package/dist/cjs/icons.js +0 -126
  301. package/dist/esm/icons.js +0 -121
  302. package/src/icons.js +0 -121
@@ -62,7 +62,7 @@ function ActionsDropdown(_ref) {
62
62
  title: "Actions",
63
63
  iconLeft: hasDuplicates || hasInactiveDate ? {
64
64
  color: hasDuplicates ? '#E6A714' : 'white',
65
- name: hasDuplicates ? 'exclamation-triangle-filled' : 'inactive',
65
+ name: hasDuplicates ? 'general.exclamationTriangle' : 'general.inactive',
66
66
  size: 'md'
67
67
  } : undefined,
68
68
  fontSize: "14px",
@@ -81,7 +81,7 @@ function ActionsDropdown(_ref) {
81
81
  }, /*#__PURE__*/React.createElement(_Icon["default"], {
82
82
  color: "#E6A714",
83
83
  marginTop: "3px",
84
- name: "exclamation-triangle-filled"
84
+ name: "general.exclamationTriangle"
85
85
  }), /*#__PURE__*/React.createElement(_Text["default"], {
86
86
  size: 4
87
87
  }, "There ", duplicates.amount > 1 ? 'are' : 'is', " ", duplicates.amount, ' ', "potential ", duplicates.amount > 1 ? 'duplicates' : 'duplicate', " for this profile.", ' ', isBelowManager ? "An administrator can resolve " + (duplicates.amount > 1 ? "them" : "it") + " in People." : /*#__PURE__*/React.createElement(_Link["default"], duplicates.linkProps, isPeopleProduct ? 'Review' : 'Review in People'))), /*#__PURE__*/React.createElement(_Divider["default"], null)) : null, hasInactiveDate ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(_StackView["default"], {
@@ -89,7 +89,7 @@ function ActionsDropdown(_ref) {
89
89
  padding: 2,
90
90
  spacing: 1
91
91
  }, /*#__PURE__*/React.createElement(_Icon["default"], {
92
- name: "inactive",
92
+ name: "general.inactive",
93
93
  color: "grey-8",
94
94
  marginTop: "3px"
95
95
  }), /*#__PURE__*/React.createElement(_Text["default"], {
@@ -9,6 +9,8 @@ exports["default"] = void 0;
9
9
 
10
10
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
11
 
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
+
12
14
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
13
15
 
14
16
  var _react = _interopRequireWildcard(require("react"));
@@ -23,25 +25,43 @@ var _Text = _interopRequireDefault(require("../Text"));
23
25
 
24
26
  var _utils = require("../utils");
25
27
 
28
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
29
+
30
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
31
+
26
32
  function Badge(_ref) {
27
33
  var children = _ref.children,
28
- _ref$color = _ref.color,
29
- color = _ref$color === void 0 ? {
30
- foreground: 'foreground',
31
- background: 'surfaceTertiary'
32
- } : _ref$color,
33
34
  renderLeft = _ref.renderLeft,
34
35
  renderRight = _ref.renderRight,
35
36
  onClick = _ref.onClick,
36
- _ref$radius = _ref.radius,
37
- radius = _ref$radius === void 0 ? 3 : _ref$radius,
38
- _ref$size = _ref.size,
39
- size = _ref$size === void 0 ? 'md' : _ref$size,
40
- square = _ref.square,
41
37
  title = _ref.title,
42
- restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["children", "color", "renderLeft", "renderRight", "onClick", "radius", "size", "square", "title"]);
38
+ restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["children", "renderLeft", "renderRight", "onClick", "title"]);
43
39
 
44
- var _useBoxSize = (0, _system.useBoxSize)(size),
40
+ var _useThemeProps = (0, _system.useThemeProps)('badge', restProps),
41
+ _useThemeProps$color = _useThemeProps.color,
42
+ color = _useThemeProps$color === void 0 ? {
43
+ foreground: 'foreground',
44
+ background: 'surfaceTertiary'
45
+ } : _useThemeProps$color,
46
+ _useThemeProps$radius = _useThemeProps.radius,
47
+ radius = _useThemeProps$radius === void 0 ? 3 : _useThemeProps$radius,
48
+ _useThemeProps$size = _useThemeProps.size,
49
+ size = _useThemeProps$size === void 0 ? 'md' : _useThemeProps$size,
50
+ _useThemeProps$square = _useThemeProps.square,
51
+ square = _useThemeProps$square === void 0 ? false : _useThemeProps$square,
52
+ themeProps = (0, _objectWithoutPropertiesLoose2["default"])(_useThemeProps, ["color", "radius", "size", "square"]);
53
+
54
+ var badgeProps = _objectSpread({
55
+ color: color,
56
+ radius: radius,
57
+ size: size,
58
+ square: square
59
+ }, themeProps);
60
+
61
+ badgeProps.backgroundColor = color.background || color;
62
+ badgeProps.color = color.foreground || (0, _system.getForegroundColor)(color);
63
+
64
+ var _useBoxSize = (0, _system.useBoxSize)(badgeProps.size),
45
65
  boxSize = _useBoxSize.boxSize,
46
66
  fontSize = _useBoxSize.fontSize,
47
67
  lineHeight = _useBoxSize.lineHeight,
@@ -56,34 +76,29 @@ function Badge(_ref) {
56
76
  color: 'inherit'
57
77
  };
58
78
 
59
- if (square || radius === 'circle') {
60
- restProps.width = boxSize;
61
- restProps.height = boxSize;
79
+ if (badgeProps.square || badgeProps.radius === 'circle') {
80
+ badgeProps.width = boxSize;
81
+ badgeProps.height = boxSize;
62
82
  }
63
83
 
64
- if (radius === 'circle') {
84
+ if (badgeProps.radius === 'circle') {
65
85
  textStyle.position = 'absolute';
66
86
  textStyle.top = '50%';
67
87
  textStyle.left = '50%';
68
88
  textStyle.transform = 'translate(-50%, -50%)';
69
89
  }
70
90
 
71
- var spacingLeft = renderLeft ? boxSize + 0.5 : radius === 'pill' ? paddingHorizontal : paddingHorizontalDense;
72
- var spacingRight = renderRight ? boxSize + 0.5 : radius === 'pill' ? paddingHorizontal : paddingHorizontalDense;
91
+ badgeProps.paddingLeft = renderLeft ? boxSize + 0.5 : badgeProps.radius === 'pill' ? paddingHorizontal : paddingHorizontalDense;
92
+ badgeProps.paddingRight = renderRight ? boxSize + 0.5 : badgeProps.radius === 'pill' ? paddingHorizontal : paddingHorizontalDense;
73
93
  return /*#__PURE__*/_react["default"].createElement(_StackView["default"], (0, _extends2["default"])({
74
94
  inline: true,
75
95
  axis: "horizontal",
76
96
  alignment: "center",
77
97
  distribution: "center",
78
- radius: radius,
79
98
  fontSize: fontSize,
80
99
  lineHeight: lineHeight,
81
100
  minHeight: boxSize,
82
- paddingLeft: spacingLeft,
83
- paddingRight: spacingRight,
84
101
  paddingVertical: paddingVertical,
85
- backgroundColor: color.background || color,
86
- color: color.foreground || (0, _system.getForegroundColor)(color),
87
102
  fill: "currentColor",
88
103
  textAlign: "center",
89
104
  position: "relative",
@@ -93,7 +108,7 @@ function Badge(_ref) {
93
108
  backgroundColor: 'highlightSecondary'
94
109
  },
95
110
  onClick: (0, _utils.stopPropagationClick)(onClick)
96
- }, restProps), renderLeft && /*#__PURE__*/_react["default"].createElement(_Box["default"], {
111
+ }, badgeProps), renderLeft && /*#__PURE__*/_react["default"].createElement(_Box["default"], {
97
112
  display: "flex",
98
113
  alignItems: "center",
99
114
  justifyContent: "center",
@@ -103,7 +118,7 @@ function Badge(_ref) {
103
118
  top: 0,
104
119
  left: 0
105
120
  }, typeof renderLeft === 'string' ? renderLeft : /*#__PURE__*/(0, _react.cloneElement)(renderLeft, {
106
- size: renderLeft.props && renderLeft.props.size || size
121
+ size: renderLeft.props && renderLeft.props.size || badgeProps.size
107
122
  })), typeof title === 'undefined' ? children : /*#__PURE__*/_react["default"].createElement(_Text["default"], textStyle, title), renderRight && /*#__PURE__*/_react["default"].createElement(_Box["default"], {
108
123
  display: "flex",
109
124
  alignItems: "center",
@@ -114,7 +129,7 @@ function Badge(_ref) {
114
129
  top: 0,
115
130
  right: 0
116
131
  }, typeof renderRight === 'string' ? renderRight : /*#__PURE__*/(0, _react.cloneElement)(renderRight, {
117
- size: renderRight.props && renderRight.props.size || size
132
+ size: renderRight.props && renderRight.props.size || badgeProps.size
118
133
  })));
119
134
  }
120
135
 
@@ -28,11 +28,11 @@ var _Badge = _interopRequireDefault(require("./Badge"));
28
28
  var statuses = {
29
29
  error: {
30
30
  color: 'error',
31
- icon: 'close'
31
+ icon: 'general.x'
32
32
  },
33
33
  success: {
34
34
  color: 'success',
35
- icon: 'checkmark'
35
+ icon: 'general.check'
36
36
  }
37
37
  };
38
38
 
@@ -205,7 +205,8 @@ var Calendar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, calendarRef)
205
205
  }, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
206
206
  title: "Previous month",
207
207
  icon: {
208
- name: 'caret-left'
208
+ name: 'general.leftChevron',
209
+ size: "xxs"
209
210
  },
210
211
  disabled: isYearsView ? currentYear <= minYear : (0, _dateFns.isSameMonth)(currentDate, minDate),
211
212
  onClick: function onClick() {
@@ -216,7 +217,7 @@ var Calendar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, calendarRef)
216
217
  title: 'Today'
217
218
  },
218
219
  icon: {
219
- name: 'radio-1'
220
+ name: 'tapestry.radio1'
220
221
  },
221
222
  onClick: function onClick() {
222
223
  return setDate(_utils.TODAY, true);
@@ -224,7 +225,8 @@ var Calendar = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, calendarRef)
224
225
  }), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
225
226
  title: "Next month",
226
227
  icon: {
227
- name: 'caret-right'
228
+ name: 'general.rightChevron',
229
+ size: "xxs"
228
230
  },
229
231
  disabled: isYearsView ? currentYear >= maxYear : (0, _dateFns.isSameMonth)(currentDate, maxDate),
230
232
  onClick: function onClick() {
@@ -5,6 +5,7 @@ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWild
5
5
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
6
6
 
7
7
  exports.__esModule = true;
8
+ exports.Section = Section;
8
9
  exports.Card = Card;
9
10
 
10
11
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
@@ -54,4 +55,5 @@ function Card(_ref2) {
54
55
  }) : children);
55
56
  }
56
57
 
58
+ Section.displayName = 'Card.Section';
57
59
  Card.Section = Section;
@@ -36,9 +36,9 @@ var _useAccessibilityViolation = require("../hooks/use-accessibility-violation")
36
36
  var _utils = require("../utils");
37
37
 
38
38
  var iconPaths = {
39
- fill: 'checkbox-0',
40
- minus: 'checkbox-1',
41
- checked: 'checkbox-2'
39
+ fill: 'tapestry.checkbox0',
40
+ minus: 'tapestry.checkbox1',
41
+ checked: 'tapestry.checkbox2'
42
42
  };
43
43
 
44
44
  function Checkbox(_ref) {
@@ -65,10 +65,10 @@ function ChurchCenterStatus(_ref) {
65
65
  var hasLinks = showSettingsLink || ccEnabled && ccPublishingEnabled || !!renderPopoverFooter();
66
66
 
67
67
  var icon = _objectSpread({
68
- check: 'checkmark',
69
- exclamationTriangle: 'exclamation-triangle-filled',
70
- external: 'external',
71
- x: 'close'
68
+ check: 'general.check',
69
+ exclamationTriangle: 'general.exclamationTriangle',
70
+ external: 'general.newWindow',
71
+ x: 'general.x'
72
72
  }, icons);
73
73
 
74
74
  return /*#__PURE__*/_react["default"].createElement(_StackView["default"], (0, _extends2["default"])({
@@ -15,6 +15,8 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _StackView = _interopRequireDefault(require("../StackView"));
17
17
 
18
+ var _system = require("../system");
19
+
18
20
  function Column() {
19
21
  return null;
20
22
  }
@@ -25,6 +27,7 @@ function ColumnView(props) {
25
27
  sizes = _props$sizes === void 0 ? [] : _props$sizes,
26
28
  spacing = props.spacing,
27
29
  restProps = (0, _objectWithoutPropertiesLoose2["default"])(props, ["children", "sizes", "spacing"]);
30
+ var parsedSpacing = (0, _system.spacingValue)(spacing);
28
31
 
29
32
  var sortedColumns = _react.Children.toArray(children).sort(function (a, b) {
30
33
  return (a.props.order || 0) - (b.props.order || 0);
@@ -50,8 +53,8 @@ function ColumnView(props) {
50
53
  basis: size === 'auto' ? '100%' : size.basis || size,
51
54
  shrink: size === 'auto' ? 1 : size.shrink || 0,
52
55
  grow: size === 'auto' ? 1 : size.grow || 0,
53
- marginLeft: index === 0 ? null : spacing,
54
- spacing: spacing
56
+ marginLeft: index === 0 ? null : parsedSpacing,
57
+ spacing: parsedSpacing
55
58
  }, column.map(function (cell) {
56
59
  return cell.props.children;
57
60
  }));
@@ -209,14 +209,14 @@ var ComboboxPopover = /*#__PURE__*/function (_Component) {
209
209
  renderRight: closeButton ? /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({
210
210
  disabled: disabled,
211
211
  icon: {
212
- name: 'close'
212
+ name: 'general.x'
213
213
  },
214
214
  title: "close options",
215
215
  theme: false
216
216
  }, closeButton)) : dropdownButton ? /*#__PURE__*/_react["default"].createElement(_Button["default"], {
217
217
  disabled: disabled,
218
218
  icon: {
219
- name: isPopoverOpen ? 'close' : 'arrow-down'
219
+ name: isPopoverOpen ? 'general.x' : 'general.downCaret'
220
220
  },
221
221
  title: isPopoverOpen ? 'close options' : 'open options',
222
222
  theme: false,
@@ -11,12 +11,12 @@ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runt
11
11
 
12
12
  var _react = _interopRequireWildcard(require("react"));
13
13
 
14
- var _Icon = _interopRequireDefault(require("./Icon"));
14
+ var _Icon = _interopRequireDefault(require("../../Icon"));
15
15
 
16
16
  var iconPaths = {
17
- fill: 'checkbox-0',
18
- minus: 'checkbox-1',
19
- checked: 'checkbox-2'
17
+ fill: 'tapestry.checkbox0',
18
+ minus: 'tapestry.checkbox1',
19
+ checked: 'tapestry.checkbox2'
20
20
  };
21
21
  var scaleStyles = {
22
22
  visibility: 'visible',
@@ -15,9 +15,8 @@ var _Dropdown = _interopRequireDefault(require("../../Dropdown"));
15
15
 
16
16
  var _Text = _interopRequireDefault(require("../../Text"));
17
17
 
18
- var _CheckboxCell = _interopRequireDefault(require("./CheckboxCell"));
18
+ var _Checkbox = _interopRequireDefault(require("../../Checkbox"));
19
19
 
20
- // import Checkbox from '../../Checkbox'
21
20
  var noop = function noop() {
22
21
  return null;
23
22
  };
@@ -33,7 +32,7 @@ function ColumnPicker(_ref) {
33
32
  return /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], (0, _extends2["default"])({
34
33
  variant: "outline",
35
34
  icon: {
36
- name: 'columns'
35
+ name: 'general.threeVerticalBars'
37
36
  },
38
37
  tooltip: {
39
38
  title: 'Filter Columns'
@@ -61,9 +60,11 @@ function ColumnPicker(_ref) {
61
60
  return /*#__PURE__*/_react["default"].createElement(_Dropdown["default"].Item, {
62
61
  key: column.id,
63
62
  value: column.id
64
- }, /*#__PURE__*/_react["default"].createElement(_CheckboxCell["default"], {
63
+ }, /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
65
64
  checked: hiddenColumnIds.indexOf(column.id) === -1,
66
- onChange: noop
65
+ onChange: noop,
66
+ label: null,
67
+ size: "md"
67
68
  }), /*#__PURE__*/_react["default"].createElement(_Text["default"], {
68
69
  marginLeft: 1
69
70
  }, column.label || column.header));
@@ -22,7 +22,7 @@ var SORT_DESC = 'DESC';
22
22
  exports.SORT_DESC = SORT_DESC;
23
23
 
24
24
  function getIconDirection(direction) {
25
- return direction === SORT_ASC ? 'arrow-up' : 'arrow-down';
25
+ return direction === SORT_ASC ? 'general.upCaret' : 'general.downCaret';
26
26
  }
27
27
 
28
28
  function getOppositeSortDirection(direction) {
@@ -15,7 +15,7 @@ var _Tooltip = _interopRequireDefault(require("../../Tooltip"));
15
15
 
16
16
  var _useCollapsibleRows = require("../hooks/useCollapsibleRows");
17
17
 
18
- var _Icon = _interopRequireDefault(require("../components/Icon"));
18
+ var _Icon = _interopRequireDefault(require("../../Icon"));
19
19
 
20
20
  var buttonStyles = {
21
21
  appearance: 'none',
@@ -58,7 +58,7 @@ function CollapseHeader(_ref) {
58
58
  callbacks.toggleAllSubRows();
59
59
  }
60
60
  }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
61
- name: "arrow-down",
61
+ name: "general.downCaret",
62
62
  size: "sm",
63
63
  style: {
64
64
  transform: anySubRowsOpen ? undefined : 'rotate(-90deg)',
@@ -81,7 +81,7 @@ function CollapseCell(_ref2) {
81
81
  callbacks.toggleSubRowAtIndex(rowIndex);
82
82
  }
83
83
  }, /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
84
- name: "arrow-down",
84
+ name: "general.downCaret",
85
85
  size: "sm",
86
86
  style: {
87
87
  transform: isSubRowOpen ? undefined : 'rotate(-90deg)',
@@ -132,7 +132,7 @@ function getParsedColumns(_ref3) {
132
132
  return event.preventDefault();
133
133
  }
134
134
  }, _dragHandleProps), /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
135
- name: "drag-handle",
135
+ name: "general.dragHandle",
136
136
  size: "sm",
137
137
  color: "foregroundTertiary",
138
138
  style: {
@@ -133,7 +133,7 @@ var DateField = /*#__PURE__*/function (_Component) {
133
133
  readOnly: true,
134
134
  value: value ? (0, _dateFns.format)(value, formatValue) : '',
135
135
  renderRight: /*#__PURE__*/_react["default"].createElement(_Icon["default"], {
136
- name: "calendar",
136
+ name: "general.calendar",
137
137
  color: "foregroundTertiary"
138
138
  }),
139
139
  onClick: _this2.togglePopover,
@@ -15,10 +15,13 @@ var _react = _interopRequireWildcard(require("react"));
15
15
 
16
16
  var _StackView = _interopRequireDefault(require("../StackView"));
17
17
 
18
+ var _system = require("../system");
19
+
18
20
  function DrawerContents(_ref) {
19
21
  var shouldClose = _ref.shouldClose,
20
22
  onClose = _ref.onClose,
21
23
  restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["shouldClose", "onClose"]);
24
+ var themeProps = (0, _system.useThemeValue)('drawer');
22
25
  var ref = (0, _react.useRef)(null);
23
26
 
24
27
  var _useState = (0, _react.useState)(false),
@@ -62,7 +65,7 @@ function DrawerContents(_ref) {
62
65
  boxShadow: "-6px 0px 6px -4px rgba(150,150,150,0.25)",
63
66
  backgroundColor: "surfaceTertiary",
64
67
  transition: "transform 240ms ease-out"
65
- }, restProps));
68
+ }, themeProps, restProps));
66
69
  }
67
70
 
68
71
  function Drawer(props) {
@@ -192,7 +192,7 @@ var Dropdown = /*#__PURE__*/function (_Component) {
192
192
  'aria-haspopup': true,
193
193
  'aria-expanded': isPopoverOpen
194
194
  }, _objectSpread2[arrowIconOnly ? 'icon' : 'iconRight'] = {
195
- name: isPopoverOpen ? 'arrow-up' : 'arrow-down',
195
+ name: isPopoverOpen ? 'general.upCaret' : 'general.downCaret',
196
196
  size: 'sm'
197
197
  }, _objectSpread2.title = arrowIconOnly ? 'arrow down' : restProps.title, _objectSpread2.tabIndex = 0, _objectSpread2.cursor = 'pointer', _objectSpread2.onBlur = requestBlur, _objectSpread2.onClick = function onClick() {
198
198
  _this2.togglePopover();
@@ -2,34 +2,209 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _react = _interopRequireDefault(require("react"));
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
7
+ var _react = _interopRequireWildcard(require("react"));
6
8
 
7
9
  var _react2 = require("@testing-library/react");
8
10
 
11
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
12
+
13
+ require("@testing-library/jest-dom/extend-expect");
14
+
15
+ var _lodash = require("lodash");
16
+
17
+ var _ = require("..");
18
+
9
19
  var _Dropdown = _interopRequireDefault(require("./Dropdown"));
10
20
 
11
- var _ThemeProvider = _interopRequireDefault(require("../ThemeProvider"));
21
+ describe('Dropdown', function () {
22
+ describe('Text search', function () {
23
+ it("should render title", function () {
24
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
25
+ title: "A menu"
26
+ }));
12
27
 
13
- it("should render title", function () {
14
- (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
15
- title: "A menu"
16
- }));
28
+ _react2.screen.getByText('A menu');
29
+ });
30
+ it("calls passed onSearch function when receiving keyboard input", function () {
31
+ var customTextSearch = jest.fn();
32
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
33
+ title: "A menu",
34
+ onSearch: customTextSearch
35
+ })));
17
36
 
18
- _react2.screen.getByText('A menu');
19
- });
20
- it("calls passed onSearch function when receiving keyboard input", function () {
21
- var customTextSearch = jest.fn();
22
- (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_ThemeProvider["default"], null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], {
23
- title: "A menu",
24
- onSearch: customTextSearch
25
- })));
37
+ var dropdown = _react2.screen.getByText('A menu');
26
38
 
27
- var dropdown = _react2.screen.getByText('A menu');
39
+ _react2.fireEvent.keyDown(dropdown, {
40
+ key: 'A',
41
+ code: 'KeyA'
42
+ });
28
43
 
29
- _react2.fireEvent.keyDown(dropdown, {
30
- key: 'A',
31
- code: 'KeyA'
44
+ expect(customTextSearch).toHaveBeenCalled();
45
+ });
32
46
  });
47
+ describe('Keyboard navigation', function () {
48
+ var StatefulDropdown = function StatefulDropdown() {
49
+ var _useState = (0, _react.useState)(0),
50
+ count = _useState[0],
51
+ setCount = _useState[1];
52
+
53
+ return /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_.Box, null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], null, /*#__PURE__*/_react["default"].createElement(_Dropdown["default"].Item, null, /*#__PURE__*/_react["default"].createElement(_.Button, {
54
+ title: "One",
55
+ onClick: function onClick() {
56
+ return (0, _lodash.noop)();
57
+ }
58
+ })), /*#__PURE__*/_react["default"].createElement(_Dropdown["default"].Item, null, /*#__PURE__*/_react["default"].createElement(_.Button, {
59
+ title: "Two",
60
+ onClick: function onClick() {
61
+ return setCount(function (c) {
62
+ return c + 1;
63
+ });
64
+ }
65
+ }), /*#__PURE__*/_react["default"].createElement(_.Text, {
66
+ "data-testid": "count-text"
67
+ }, count)), /*#__PURE__*/_react["default"].createElement(_Dropdown["default"].Item, null, /*#__PURE__*/_react["default"].createElement(_.Button, {
68
+ title: "Three",
69
+ onClick: function onClick() {
70
+ return (0, _lodash.noop)();
71
+ }
72
+ })))));
73
+ };
74
+
75
+ it('should trap focus, tab forward through all elements', function () {
76
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(StatefulDropdown, null));
77
+
78
+ _userEvent["default"].tab();
79
+
80
+ _userEvent["default"].keyboard('{enter}');
81
+
82
+ var _screen$getAllByRole = _react2.screen.getAllByRole('button'),
83
+ openPopover = _screen$getAllByRole[0],
84
+ buttonOne = _screen$getAllByRole[1],
85
+ buttonTwo = _screen$getAllByRole[2],
86
+ buttonThree = _screen$getAllByRole[3];
87
+
88
+ expect(openPopover).toHaveFocus();
89
+
90
+ _userEvent["default"].tab();
91
+
92
+ expect(buttonOne).toHaveFocus();
93
+
94
+ _userEvent["default"].tab();
95
+
96
+ expect(buttonTwo).toHaveFocus();
97
+
98
+ _userEvent["default"].tab();
99
+
100
+ expect(buttonThree).toHaveFocus();
101
+
102
+ _userEvent["default"].tab();
103
+
104
+ expect(buttonOne).toHaveFocus();
105
+ });
106
+ it('should trap focus, tab backwards from first element to last', function () {
107
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(StatefulDropdown, null));
108
+
109
+ _userEvent["default"].tab();
110
+
111
+ _userEvent["default"].keyboard('{enter}');
112
+
113
+ var _screen$getAllByRole2 = _react2.screen.getAllByRole('button'),
114
+ openPopover = _screen$getAllByRole2[0],
115
+ buttonOne = _screen$getAllByRole2[1],
116
+ _buttonTwo = _screen$getAllByRole2[2],
117
+ buttonThree = _screen$getAllByRole2[3];
118
+
119
+ expect(openPopover).toHaveFocus();
120
+
121
+ _userEvent["default"].tab();
122
+
123
+ expect(buttonOne).toHaveFocus();
124
+
125
+ _userEvent["default"].tab({
126
+ shift: true
127
+ });
128
+
129
+ expect(buttonThree).toHaveFocus();
130
+ });
131
+ it('should retain tab order after rerender', function () {
132
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(StatefulDropdown, null));
133
+
134
+ _userEvent["default"].tab();
33
135
 
34
- expect(customTextSearch).toHaveBeenCalled();
136
+ _userEvent["default"].keyboard('{enter}');
137
+
138
+ var _screen$getAllByRole3 = _react2.screen.getAllByRole('button'),
139
+ buttonOne = _screen$getAllByRole3[1],
140
+ buttonTwo = _screen$getAllByRole3[2],
141
+ buttonThree = _screen$getAllByRole3[3];
142
+
143
+ _userEvent["default"].tab();
144
+
145
+ _userEvent["default"].tab();
146
+
147
+ expect(_react2.screen.getByTestId('count-text')).toHaveTextContent('0');
148
+
149
+ _userEvent["default"].keyboard('{enter}');
150
+
151
+ expect(_react2.screen.getByTestId('count-text')).toHaveTextContent('1');
152
+ expect(buttonTwo).toHaveFocus();
153
+
154
+ _userEvent["default"].tab();
155
+
156
+ expect(buttonThree).toHaveFocus();
157
+
158
+ _userEvent["default"].tab({
159
+ shift: true
160
+ });
161
+
162
+ _userEvent["default"].tab({
163
+ shift: true
164
+ });
165
+
166
+ expect(buttonOne).toHaveFocus();
167
+
168
+ _userEvent["default"].tab();
169
+
170
+ _userEvent["default"].tab();
171
+
172
+ _userEvent["default"].tab();
173
+
174
+ expect(buttonOne).toHaveFocus();
175
+
176
+ _userEvent["default"].tab({
177
+ shift: true
178
+ });
179
+
180
+ _userEvent["default"].tab({
181
+ shift: true
182
+ });
183
+
184
+ _userEvent["default"].tab({
185
+ shift: true
186
+ });
187
+
188
+ expect(buttonOne).toHaveFocus();
189
+ });
190
+ it('should focus dropdown toggle when a user presses escape key', function () {
191
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(StatefulDropdown, null));
192
+
193
+ _userEvent["default"].tab();
194
+
195
+ _userEvent["default"].keyboard('{enter}');
196
+
197
+ var _screen$getAllByRole4 = _react2.screen.getAllByRole('button'),
198
+ openPopover = _screen$getAllByRole4[0],
199
+ buttonOne = _screen$getAllByRole4[1];
200
+
201
+ _userEvent["default"].tab();
202
+
203
+ expect(buttonOne).toHaveFocus();
204
+
205
+ _userEvent["default"].keyboard("{esc}");
206
+
207
+ expect(openPopover).toHaveFocus();
208
+ });
209
+ });
35
210
  });