@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
@@ -35,6 +35,8 @@ var Link = /*#__PURE__*/function (_Component) {
35
35
 
36
36
  var _proto = Link.prototype;
37
37
 
38
+ // Graphql wasn't picking up the correct displayName when this was
39
+ // assigned to LINK_DISPLAY_NAME, but using a string works
38
40
  _proto.render = function render() {
39
41
  var _this$props = this.props,
40
42
  disabled = _this$props.disabled,
@@ -80,6 +82,6 @@ var Link = /*#__PURE__*/function (_Component) {
80
82
  return Link;
81
83
  }(_react.Component);
82
84
 
83
- (0, _defineProperty2["default"])(Link, "displayName", LINK_DISPLAY_NAME);
85
+ (0, _defineProperty2["default"])(Link, "displayName", 'Dropdown.Link');
84
86
  var _default = Link;
85
87
  exports["default"] = _default;
@@ -19,6 +19,8 @@ var _StackView = _interopRequireDefault(require("../StackView"));
19
19
 
20
20
  var _hooks = require("../hooks");
21
21
 
22
+ var _system = require("../system");
23
+
22
24
  function EditActions(_ref) {
23
25
  var display = _ref.display,
24
26
  edit = _ref.edit,
@@ -47,6 +49,10 @@ function EditActions(_ref) {
47
49
  });
48
50
  };
49
51
 
52
+ var _useThemeProps = (0, _system.useThemeProps)('editActions', restProps),
53
+ buttonProps = _useThemeProps.buttonProps,
54
+ themeProps = (0, _objectWithoutPropertiesLoose2["default"])(_useThemeProps, ["buttonProps"]);
55
+
50
56
  (0, _react.useEffect)(function () {
51
57
  if (loading === false) {
52
58
  setShowCheck(true);
@@ -68,11 +74,11 @@ function EditActions(_ref) {
68
74
  onClick: on ? undefined : function () {
69
75
  return setOn(true);
70
76
  }
71
- }, focusProps, hoverProps, restProps), _react.Children.toArray(on ? edit : display), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
77
+ }, focusProps, hoverProps, themeProps), _react.Children.toArray(on ? edit : display), /*#__PURE__*/_react["default"].createElement(_Button["default"], (0, _extends2["default"])({
72
78
  grow: 0,
73
79
  title: on ? 'Close' : 'Edit',
74
80
  icon: {
75
- name: showCheck ? 'checkmark' : on ? 'close' : 'pencil',
81
+ name: showCheck ? 'general.check' : on ? 'general.x' : 'general.pencil',
76
82
  color: showCheck ? 'green' : undefined
77
83
  },
78
84
  tooltip: {
@@ -87,7 +93,7 @@ function EditActions(_ref) {
87
93
  spinner: on && loading ? {
88
94
  color: 'primary'
89
95
  } : undefined
90
- }));
96
+ }, buttonProps)));
91
97
  }
92
98
 
93
99
  var _default = EditActions;
@@ -103,6 +103,7 @@ var Field = /*#__PURE__*/function (_Component) {
103
103
  order: inline ? 0 : 1,
104
104
  grow: 1,
105
105
  marginTop: inline || !label ? undefined : 1,
106
+ maxWidth: "100%",
106
107
  spacing: spacing
107
108
  }, (0, _utils.cloneChildren)(children, function (child, _ref) {
108
109
  var firstChild = _ref.firstChild;
@@ -7,6 +7,8 @@ exports["default"] = void 0;
7
7
 
8
8
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
9
 
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
10
12
  var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
11
13
 
12
14
  var _react = _interopRequireDefault(require("react"));
@@ -19,30 +21,42 @@ var _TileView = _interopRequireDefault(require("../TileView"));
19
21
 
20
22
  var _Toolbar = _interopRequireDefault(require("../Toolbar"));
21
23
 
24
+ var _system = require("../system");
25
+
26
+ 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; }
27
+
28
+ 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; }
29
+
22
30
  function FieldSet(_ref) {
23
31
  var children = _ref.children,
24
- _ref$minCellWidth = _ref.minCellWidth,
25
- minCellWidth = _ref$minCellWidth === void 0 ? 16 : _ref$minCellWidth,
26
- _ref$spacing = _ref.spacing,
27
- spacing = _ref$spacing === void 0 ? 1 : _ref$spacing,
28
32
  helpContent = _ref.helpContent,
29
33
  legend = _ref.legend,
30
- restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["children", "minCellWidth", "spacing", "helpContent", "legend"]);
34
+ restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["children", "helpContent", "legend"]);
35
+
36
+ var _useThemeProps = (0, _system.useThemeProps)('fieldset', _objectSpread({}, restProps)),
37
+ headingProps = _useThemeProps.headingProps,
38
+ tileViewProps = _useThemeProps.tileViewProps,
39
+ _useThemeProps$spacin = _useThemeProps.spacing,
40
+ spacing = _useThemeProps$spacin === void 0 ? 1 : _useThemeProps$spacin,
41
+ _useThemeProps$minCel = _useThemeProps.minCellWidth,
42
+ minCellWidth = _useThemeProps$minCel === void 0 ? 16 : _useThemeProps$minCel,
43
+ themeProps = (0, _objectWithoutPropertiesLoose2["default"])(_useThemeProps, ["headingProps", "tileViewProps", "spacing", "minCellWidth"]);
44
+
31
45
  return /*#__PURE__*/_react["default"].createElement(_StackView["default"], (0, _extends2["default"])({
32
46
  as: "fieldset",
33
47
  padding: 0,
34
48
  margin: 2
35
- }, restProps), /*#__PURE__*/_react["default"].createElement(_Toolbar["default"], {
36
- title: /*#__PURE__*/_react["default"].createElement(_Heading["default"], {
49
+ }, themeProps, restProps), /*#__PURE__*/_react["default"].createElement(_Toolbar["default"], {
50
+ title: /*#__PURE__*/_react["default"].createElement(_Heading["default"], (0, _extends2["default"])({
37
51
  as: "legend",
38
52
  level: 4
39
- }, legend),
53
+ }, headingProps), legend),
40
54
  helpContent: helpContent,
41
55
  marginBottom: 1
42
- }), /*#__PURE__*/_react["default"].createElement(_TileView["default"], {
56
+ }), /*#__PURE__*/_react["default"].createElement(_TileView["default"], (0, _extends2["default"])({
43
57
  minCellWidth: minCellWidth,
44
58
  spacing: spacing
45
- }, children));
59
+ }, tileViewProps), children));
46
60
  }
47
61
 
48
62
  var _default = FieldSet;
@@ -70,7 +70,8 @@ function FilterLayout(props) {
70
70
  title: "Filter",
71
71
  "aria-label": sidebarOpen ? 'close filter' : 'open filter',
72
72
  iconRight: {
73
- name: sidebarOpen ? 'caret-left' : 'filter'
73
+ name: sidebarOpen ? 'general.leftChevron' : 'general.threeReducingHorizontalBars',
74
+ size: sidebarOpen ? 'xs' : 'md'
74
75
  },
75
76
  onClick: toggleSidebar
76
77
  }), /*#__PURE__*/React.createElement(_Box["default"], {
@@ -113,7 +113,7 @@ var Form = /*#__PURE__*/function (_React$Component) {
113
113
  editButtonProps: {
114
114
  disabled: isSubmitting,
115
115
  icon: isEditing ? undefined : {
116
- name: 'pencil'
116
+ name: 'general.pencil'
117
117
  },
118
118
  onClick: function onClick() {
119
119
  // bail out if we've already triggered a submit in onBlur
@@ -19,6 +19,8 @@ var React = _interopRequireWildcard(require("react"));
19
19
 
20
20
  var _splitStyles = _interopRequireDefault(require("../system/split-styles"));
21
21
 
22
+ var _system = require("../system");
23
+
22
24
  var _VariantProvider = require("../VariantProvider");
23
25
 
24
26
  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; }
@@ -75,15 +77,15 @@ var gridViewPlugin = {
75
77
  }
76
78
 
77
79
  if (columnSpacing !== undefined && styles.gridColumnGap === undefined) {
78
- styles.gridColumnGap = columnSpacing * 8;
80
+ styles.gridColumnGap = (0, _system.spacingValue)(columnSpacing);
79
81
  }
80
82
 
81
83
  if (rowSpacing !== undefined && styles.gridRowGap === undefined) {
82
- styles.gridRowGap = rowSpacing * 8;
84
+ styles.gridRowGap = (0, _system.spacingValue)(rowSpacing);
83
85
  }
84
86
 
85
- if (spacing !== undefined && styles.gridGap === undefined) {
86
- styles.gridGap = spacing * 8;
87
+ if (spacing !== undefined && styles.gap === undefined) {
88
+ styles.gap = (0, _system.spacingValue)(spacing);
87
89
  }
88
90
 
89
91
  return styles;
@@ -29,20 +29,27 @@ function Group(_ref) {
29
29
  childProps = _ref.childProps,
30
30
  children = _ref.children,
31
31
  radius = _ref.radius,
32
- restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["axis", "childProps", "children", "radius"]);
32
+ spacing = _ref.spacing,
33
+ restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["axis", "childProps", "children", "radius", "spacing"]);
33
34
  var themeRadius = (0, _system.useThemeValue)('group.radius');
34
35
  var radiusValue = radius != null ? radius : themeRadius;
35
36
  var isHorizontalLayout = axis === 'horizontal';
36
37
  var startRadius = isHorizontalLayout ? 'radiusLeft' : 'radiusTop';
37
38
  var endRadius = isHorizontalLayout ? 'radiusRight' : 'radiusBottom';
39
+ var marginBottom = isHorizontalLayout ? 0 : '-1px';
40
+ var marginRight = isHorizontalLayout ? '-1px' : 0;
38
41
  return /*#__PURE__*/_react["default"].createElement(_StackView["default"], (0, _extends2["default"])({
39
42
  axis: axis,
40
- spacing: -0.125
43
+ spacing: spacing
41
44
  }, restProps), (0, _utils.cloneChildren)(children, function (child, _ref2) {
42
45
  var _objectSpread2;
43
46
 
44
47
  var firstChild = _ref2.firstChild,
45
48
  lastChild = _ref2.lastChild;
46
- return _objectSpread(_objectSpread({}, childProps), {}, (_objectSpread2 = {}, _objectSpread2[startRadius] = firstChild ? radiusValue : 0, _objectSpread2[endRadius] = lastChild ? radiusValue : 0, _objectSpread2));
49
+ return _objectSpread(_objectSpread(_objectSpread({}, childProps), {}, (_objectSpread2 = {}, _objectSpread2[startRadius] = firstChild ? radiusValue : 0, _objectSpread2[endRadius] = lastChild ? radiusValue : 0, _objectSpread2), !spacing && !lastChild && {
50
+ marginBottom: marginBottom
51
+ }), !spacing && !lastChild && {
52
+ marginRight: marginRight
53
+ });
47
54
  }));
48
55
  }
@@ -18,7 +18,7 @@ var _system = require("../system");
18
18
  function HeadingUppercase(_ref) {
19
19
  var children = _ref.children,
20
20
  restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["children"]);
21
- var themedProps = (0, _system.useThemeValue)('HeadingUppercase');
21
+ var themeProps = (0, _system.useThemeProps)('HeadingUppercase', restProps);
22
22
  return /*#__PURE__*/_react["default"].createElement(_Text["default"], (0, _extends2["default"])({
23
23
  as: "span",
24
24
  uppercase: true,
@@ -28,7 +28,7 @@ function HeadingUppercase(_ref) {
28
28
  color: "foregroundSecondary",
29
29
  shrink: 0,
30
30
  margin: 0
31
- }, themedProps, restProps), children);
31
+ }, themeProps), children);
32
32
  }
33
33
 
34
34
  var _default = HeadingUppercase;
@@ -37,7 +37,7 @@ function Toggle(_ref) {
37
37
  }, [drawerId]);
38
38
  return (0, _core.jsx)(_Button["default"], (0, _extends2["default"])({
39
39
  icon: {
40
- name: 'info'
40
+ name: 'general.outlinedInfoCircle'
41
41
  },
42
42
  tooltip: {
43
43
  title: 'More info'
@@ -13,22 +13,28 @@ var _react = _interopRequireDefault(require("react"));
13
13
 
14
14
  var _Text = _interopRequireDefault(require("../Text"));
15
15
 
16
+ var _system = require("../system");
17
+
16
18
  var _utils = require("./utils");
17
19
 
18
20
  /**
19
21
  * Highlight or mark letters in a string using a provided query.
20
22
  */
21
23
  function Highlight(_ref) {
22
- var _ref$color = _ref.color,
23
- color = _ref$color === void 0 ? 'primary' : _ref$color,
24
- _ref$marker = _ref.marker,
24
+ var _ref$marker = _ref.marker,
25
25
  marker = _ref$marker === void 0 ? _utils.markStartsWithMatchSubstring : _ref$marker,
26
26
  query = _ref.query,
27
27
  text = _ref.text,
28
- restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["color", "marker", "query", "text"]);
28
+ restProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["marker", "query", "text"]);
29
+
30
+ var _useThemeProps = (0, _system.useThemeProps)('highlight', restProps),
31
+ _useThemeProps$color = _useThemeProps.color,
32
+ color = _useThemeProps$color === void 0 ? 'primary' : _useThemeProps$color,
33
+ themeProps = (0, _objectWithoutPropertiesLoose2["default"])(_useThemeProps, ["color"]);
34
+
29
35
  return /*#__PURE__*/_react["default"].createElement(_Text["default"], (0, _extends2["default"])({
30
36
  as: "span"
31
- }, restProps), marker(text, query).map(function (part, index) {
37
+ }, themeProps), marker(text, query).map(function (part, index) {
32
38
  return /*#__PURE__*/_react["default"].createElement(_Text["default"], {
33
39
  key: index,
34
40
  inline: true,
@@ -16,9 +16,9 @@ var _Icon = _interopRequireDefault(require("./Icon"));
16
16
  var _Path = _interopRequireDefault(require("./Path"));
17
17
 
18
18
  var STATUS_VARIANTS = {
19
- confirmed: ['checkmark-circle', 'success'],
20
- unconfirmed: ['question-circle', 'warning'],
21
- declined: ['close-circle', 'error']
19
+ confirmed: ['general.outlinedCircleCheck', 'success'],
20
+ unconfirmed: ['general.outlinedQuestionCircle', 'warning'],
21
+ declined: ['general.outlinedXCircle', 'error']
22
22
  };
23
23
 
24
24
  function Status(props) {
@@ -42,7 +42,7 @@ function Status(props) {
42
42
  name: variantName,
43
43
  color: color || variantColor
44
44
  }, restProps), /*#__PURE__*/_react["default"].createElement(_Path["default"], {
45
- name: "radio-0",
45
+ name: "tapestry.radio0",
46
46
  color: color
47
47
  }));
48
48
  }
@@ -324,7 +324,7 @@ var InputBox = /*#__PURE__*/function (_Component) {
324
324
  size: size
325
325
  }) : onClear ? /*#__PURE__*/_react["default"].createElement(_Button["default"], {
326
326
  icon: {
327
- name: 'close'
327
+ name: 'general.x'
328
328
  },
329
329
  title: "clear input value",
330
330
  size: size,
@@ -36,7 +36,7 @@ function ListItem(_ref) {
36
36
  backgroundColor: "surface"
37
37
  }, hoverProps, restProps), children, onRemoveRequest && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
38
38
  icon: {
39
- name: 'remove-circle-filled'
39
+ name: 'general.minusCircle'
40
40
  },
41
41
  title: removeTitle,
42
42
  size: "sm",
@@ -23,5 +23,6 @@ function Heading(_ref) {
23
23
  }, restProps), children);
24
24
  }
25
25
 
26
+ Heading.displayName = 'Menu.Heading';
26
27
  var _default = Heading;
27
28
  exports["default"] = _default;
@@ -0,0 +1,156 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
7
+ var _react = _interopRequireWildcard(require("react"));
8
+
9
+ var _react2 = require("@testing-library/react");
10
+
11
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
12
+
13
+ require("@testing-library/jest-dom/extend-expect");
14
+
15
+ var _Dropdown = _interopRequireDefault(require("../Dropdown"));
16
+
17
+ var _Select = _interopRequireDefault(require("../Select"));
18
+
19
+ var _ = require("../");
20
+
21
+ var _lodash = require("lodash");
22
+
23
+ describe('Modal', function () {
24
+ var TestModal = function TestModal() {
25
+ var _useState = (0, _react.useState)(false),
26
+ open = _useState[0],
27
+ setOpen = _useState[1];
28
+
29
+ return /*#__PURE__*/_react["default"].createElement(_.ThemeProvider, null, /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_.Button, {
30
+ "data-testid": "modal-toggle",
31
+ onClick: function onClick() {
32
+ return setOpen(!open);
33
+ },
34
+ title: "Toggle modal"
35
+ }), /*#__PURE__*/_react["default"].createElement(_.Modal, {
36
+ open: open,
37
+ onRequestClose: function onRequestClose() {
38
+ return setOpen(false);
39
+ }
40
+ }, /*#__PURE__*/_react["default"].createElement(_.Heading, {
41
+ "data-testid": "modal-header"
42
+ }, "Hello"), /*#__PURE__*/_react["default"].createElement(_Dropdown["default"], null, [1, 2, 3].map(function (n) {
43
+ return /*#__PURE__*/_react["default"].createElement(_Dropdown["default"].Item, {
44
+ "data-testid": "dropdown-item-" + n,
45
+ key: n
46
+ }, n);
47
+ })), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
48
+ onChange: _lodash.noop
49
+ }, [1, 2, 3].map(function (n) {
50
+ return /*#__PURE__*/_react["default"].createElement(_Select["default"].Option, {
51
+ "data-testid": "select-option-" + n,
52
+ key: n,
53
+ value: n
54
+ }, n);
55
+ })))));
56
+ };
57
+
58
+ describe('Keyboard navigation', function () {
59
+ it('should close modal on escape keypress (dropdown button has focus)', function () {
60
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(TestModal, null));
61
+ expect(_react2.screen.queryByTestId('modal-header')).toBeNull();
62
+
63
+ _userEvent["default"].click(_react2.screen.getByTestId('modal-toggle'));
64
+
65
+ expect(_react2.screen.getByTestId('modal-header')).toBeInTheDocument();
66
+
67
+ _userEvent["default"].keyboard("{esc}");
68
+
69
+ expect(_react2.screen.queryByTestId('modal-header')).toBeNull();
70
+ });
71
+ it('should not close modal when escape key closes a dropdown within modal', function () {
72
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(TestModal, null));
73
+
74
+ _userEvent["default"].click(_react2.screen.getByTestId('modal-toggle'));
75
+
76
+ var _screen$getAllByRole = _react2.screen.getAllByRole('button'),
77
+ dropdown = _screen$getAllByRole[1];
78
+
79
+ expect(dropdown).toHaveFocus();
80
+
81
+ _userEvent["default"].keyboard('{arrowdown}');
82
+
83
+ _userEvent["default"].keyboard("{esc}");
84
+
85
+ expect(_react2.screen.getByTestId('modal-header')).toBeInTheDocument();
86
+ });
87
+ it('should close dropdown on escape & close modal on subsequent escape', function () {
88
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(TestModal, null));
89
+
90
+ _userEvent["default"].click(_react2.screen.getByTestId('modal-toggle'));
91
+
92
+ _userEvent["default"].keyboard('{arrowdown}');
93
+
94
+ _userEvent["default"].keyboard("{esc}");
95
+
96
+ expect(_react2.screen.getByTestId('modal-header')).toBeInTheDocument();
97
+
98
+ _userEvent["default"].keyboard("{esc}");
99
+
100
+ expect(_react2.screen.queryByTestId('modal-header')).toBeNull();
101
+ });
102
+ it('should hide select popover on escape, but select remains in dom', function () {
103
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(TestModal, null));
104
+
105
+ _userEvent["default"].click(_react2.screen.getByTestId('modal-toggle'));
106
+
107
+ _userEvent["default"].tab();
108
+
109
+ _userEvent["default"].keyboard('{arrowdown}');
110
+
111
+ _userEvent["default"].keyboard("{esc}");
112
+
113
+ expect(_react2.screen.queryByTestId('select-option-1')).toBeInTheDocument();
114
+ });
115
+ it('should hide select popover on escape, close (unmount) select popover on subsequent escape, persist modal', function () {
116
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(TestModal, null));
117
+
118
+ _userEvent["default"].click(_react2.screen.getByTestId('modal-toggle'));
119
+
120
+ _userEvent["default"].tab();
121
+
122
+ _userEvent["default"].keyboard('{arrowdown}');
123
+
124
+ _userEvent["default"].keyboard("{esc}");
125
+
126
+ expect(_react2.screen.queryByTestId('select-option-1')).toBeInTheDocument();
127
+
128
+ _userEvent["default"].keyboard("{esc}");
129
+
130
+ expect(_react2.screen.queryByTestId('select-option-1')).toBeNull();
131
+ expect(_react2.screen.queryByTestId('modal-header')).toBeInTheDocument();
132
+ });
133
+ it('should hide select popover on escape, close (unmount) select popover on subsequent escape, close modal on subsequent escape', function () {
134
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(TestModal, null));
135
+
136
+ _userEvent["default"].click(_react2.screen.getByTestId('modal-toggle'));
137
+
138
+ _userEvent["default"].tab();
139
+
140
+ _userEvent["default"].keyboard('{arrowdown}');
141
+
142
+ _userEvent["default"].keyboard("{esc}");
143
+
144
+ expect(_react2.screen.queryByTestId('select-option-1')).toBeInTheDocument();
145
+
146
+ _userEvent["default"].keyboard("{esc}");
147
+
148
+ expect(_react2.screen.queryByTestId('select-option-1')).toBeNull();
149
+ expect(_react2.screen.queryByTestId('modal-header')).toBeInTheDocument();
150
+
151
+ _userEvent["default"].keyboard("{esc}");
152
+
153
+ expect(_react2.screen.queryByTestId('modal-header')).toBeNull();
154
+ });
155
+ });
156
+ });
@@ -112,7 +112,8 @@ var Pagination = /*#__PURE__*/function (_Component) {
112
112
  onClick: onPageChange.bind(null, currentPage - 1),
113
113
  disabled: currentPage === 1,
114
114
  icon: {
115
- name: 'caret-left'
115
+ name: 'general.leftChevron',
116
+ size: 'xs'
116
117
  },
117
118
  tooltip: {
118
119
  title: 'Previous Page'
@@ -123,7 +124,8 @@ var Pagination = /*#__PURE__*/function (_Component) {
123
124
  onClick: onPageChange.bind(null, currentPage + 1),
124
125
  disabled: currentPage === totalPages,
125
126
  icon: {
126
- name: 'caret-right'
127
+ name: 'general.rightChevron',
128
+ size: 'xs'
127
129
  },
128
130
  tooltip: {
129
131
  title: 'Next Page'
@@ -119,6 +119,10 @@ var Popover = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
119
119
 
120
120
  var requestClose = function requestClose(event) {
121
121
  if (event.key === 'Escape' && onRequestClose) {
122
+ if (open) {
123
+ event.nativeEvent.stopImmediatePropagation();
124
+ }
125
+
122
126
  onRequestClose();
123
127
  }
124
128
 
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
6
+
7
+ var _react = _interopRequireWildcard(require("react"));
8
+
9
+ var _react2 = require("@testing-library/react");
10
+
11
+ var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
12
+
13
+ require("@testing-library/jest-dom/extend-expect");
14
+
15
+ var _ = require("..");
16
+
17
+ var PopBasic = function PopBasic(_ref) {
18
+ var children = _ref.children;
19
+
20
+ var _useState = (0, _react.useState)(false),
21
+ open = _useState[0],
22
+ setOpen = _useState[1];
23
+
24
+ return /*#__PURE__*/_react["default"].createElement(_.Box, {
25
+ id: "container"
26
+ }, /*#__PURE__*/_react["default"].createElement(_.Popover, {
27
+ open: open,
28
+ offset: 1,
29
+ renderTo: "#container",
30
+ anchorElement: /*#__PURE__*/_react["default"].createElement(_.Button, {
31
+ title: "Toggle",
32
+ onClick: function onClick() {
33
+ return setOpen(!open);
34
+ },
35
+ id: "anchor-element"
36
+ })
37
+ }, children));
38
+ };
39
+
40
+ describe('Popover', function () {
41
+ it('should not render string in closed Popover', function () {
42
+ var string = 'Test Text';
43
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(PopBasic, null, /*#__PURE__*/_react["default"].createElement(_.Text, null, string)));
44
+ expect(_react2.screen.queryByText(string)).toBeNull();
45
+ });
46
+ it('should render string in open Popover', function () {
47
+ var string = 'Test Text';
48
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(PopBasic, null, /*#__PURE__*/_react["default"].createElement(_.Text, null, string)));
49
+
50
+ var openPopover = _react2.screen.getByRole('button');
51
+
52
+ _userEvent["default"].click(openPopover);
53
+
54
+ expect(_react2.screen.getByText(string)).toBeInTheDocument();
55
+ });
56
+ it('should focus open button on click', function () {
57
+ (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(PopBasic, null, /*#__PURE__*/_react["default"].createElement(_.Box, null)));
58
+
59
+ var openPopover = _react2.screen.getByRole('button');
60
+
61
+ _userEvent["default"].click(openPopover);
62
+
63
+ expect(openPopover).toHaveFocus();
64
+ });
65
+ });