@planningcenter/tapestry-react 2.6.0-rc.1 → 2.6.0-rc.3

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 (43) hide show
  1. package/dist/cjs/DataTable/DataTable.js +3 -3
  2. package/dist/cjs/DataTable/components/BodyRows.js +2 -2
  3. package/dist/cjs/DataTable/components/BodySubRows.js +2 -2
  4. package/dist/cjs/DataTable/components/CheckboxCell.js +4 -4
  5. package/dist/cjs/DragDrop/DragDrop.js +7 -0
  6. package/dist/cjs/Portal/Portal.js +2 -0
  7. package/dist/cjs/ThemeProvider/ThemeProvider.js +11 -2
  8. package/dist/cjs/ThemeProvider/styles.js +1 -4
  9. package/dist/cjs/Tooltip/Tooltip.js +17 -17
  10. package/dist/cjs/index.d.js +70 -25
  11. package/dist/cjs/system/split-styles.js +3 -3
  12. package/dist/esm/DataTable/DataTable.js +3 -3
  13. package/dist/esm/DataTable/components/BodyRows.js +2 -2
  14. package/dist/esm/DataTable/components/BodySubRows.js +2 -2
  15. package/dist/esm/DataTable/components/CheckboxCell.js +4 -4
  16. package/dist/esm/DragDrop/DragDrop.js +5 -0
  17. package/dist/esm/Portal/Portal.js +2 -0
  18. package/dist/esm/ThemeProvider/ThemeProvider.js +8 -2
  19. package/dist/esm/ThemeProvider/styles.js +1 -4
  20. package/dist/esm/Tooltip/Tooltip.js +18 -18
  21. package/dist/esm/index.d.js +39 -6
  22. package/dist/esm/system/split-styles.js +2 -2
  23. package/dist/types/Divider/Divider.d.ts +2 -2
  24. package/dist/types/Spinner/Spinner.d.ts +3 -1
  25. package/dist/types/ThemeProvider/ThemeProvider.d.ts +3 -1
  26. package/dist/types/index.d.ts +74 -5
  27. package/package.json +1 -1
  28. package/src/DataTable/DataTable.js +3 -9
  29. package/src/DataTable/components/BodyRows.js +2 -2
  30. package/src/DataTable/components/BodySubRows.js +2 -5
  31. package/src/DataTable/components/CheckboxCell.js +4 -5
  32. package/src/Divider/Divider.tsx +2 -2
  33. package/src/DragDrop/DragDrop.js +5 -0
  34. package/src/Icon/Icon.mdx +45 -47
  35. package/src/Portal/Portal.tsx +3 -0
  36. package/src/RangeSlider/RangeSlider.mdx +10 -12
  37. package/src/Spinner/Spinner.tsx +2 -1
  38. package/src/ThemeProvider/ThemeProvider.tsx +9 -2
  39. package/src/ThemeProvider/styles.ts +15 -14
  40. package/src/Tooltip/Tooltip.js +20 -18
  41. package/src/index.d.ts +74 -5
  42. package/src/system/split-styles.js +2 -2
  43. package/src/.DS_Store +0 -0
@@ -205,7 +205,7 @@ var DataTable = function DataTable(props) {
205
205
  style: isLoadingOrEmpty ? {
206
206
  display: 'none'
207
207
  } : undefined,
208
- className: "tapestry-react-reset " + css({
208
+ className: css({
209
209
  position: 'relative'
210
210
  })
211
211
  }, /*#__PURE__*/_react["default"].createElement("div", {
@@ -226,7 +226,7 @@ var DataTable = function DataTable(props) {
226
226
  column: column,
227
227
  columnIndex: columnIndex,
228
228
  columnSort: columnSort,
229
- className: "tapestry-react-reset " + css([].concat(cellVariantClassName, [column.css]))
229
+ className: css([].concat(cellVariantClassName, [column.css]))
230
230
  });
231
231
  }))), bodyToRender, hasFooterColumns && /*#__PURE__*/_react["default"].createElement("div", {
232
232
  ref: footerRef,
@@ -244,7 +244,7 @@ var DataTable = function DataTable(props) {
244
244
  key: columnIndex,
245
245
  role: "cell",
246
246
  ref: getColumnRef(columnIndex + "." + (data.length + 1)),
247
- className: "tapestry-react-reset " + css([].concat(cellVariantClassName, [column.css]))
247
+ className: css([].concat(cellVariantClassName, [column.css]))
248
248
  }, typeof column.footer === 'string' || /*#__PURE__*/_react["default"].isValidElement(column.footer) ? column.footer : column.footer ? /*#__PURE__*/_react["default"].createElement(column.footer, {
249
249
  columnIndex: columnIndex
250
250
  }) : null);
@@ -57,7 +57,7 @@ function BodyRows(_ref) {
57
57
  ref: getColumnRef(columnIndex + "." + (rowIndex + 1)) // offset by 1 to account for header row
58
58
  ,
59
59
  role: "cell",
60
- className: "tapestry-react-reset " + css([].concat(cellVariantStyles, [column.css]))
60
+ className: css([].concat(cellVariantStyles, [column.css]))
61
61
  }, (0, _utils.getCell)(column.cell, {
62
62
  columnIndex: columnIndex,
63
63
  rowData: rowData,
@@ -83,7 +83,7 @@ function BodyRows(_ref) {
83
83
  rowIndex: rowIndex,
84
84
  keyboardShortcuts: keyboardShortcuts,
85
85
  onRowClick: onRowClick,
86
- className: "tapestry-react-reset " + css(rowVariantClassName)
86
+ className: css(rowVariantClassName)
87
87
  }, (0, _utils.getRowLinkProps)({
88
88
  getRowLink: getRowLink,
89
89
  data: rowData,
@@ -71,7 +71,7 @@ var BodySubRows = function BodySubRows(_ref2) {
71
71
  rowIndex: rowIndex,
72
72
  keyboardShortcuts: keyboardShortcuts,
73
73
  onRowClick: onRowClick,
74
- className: "tapestry-react-reset " + css(rowVariantClassName)
74
+ className: css(rowVariantClassName)
75
75
  }, (0, _utils.getRowLinkProps)({
76
76
  getRowLink: getRowLink,
77
77
  data: rowData,
@@ -90,7 +90,7 @@ var BodySubRows = function BodySubRows(_ref2) {
90
90
  return /*#__PURE__*/_react["default"].createElement("div", {
91
91
  key: columnIndex,
92
92
  ref: getColumnRef(columnIndex + "." + (parentRowIndex + 1) + "." + rowIndex),
93
- className: "tapestry-react-reset " + css([].concat(cellVariantClassName, [column.css]))
93
+ className: css([].concat(cellVariantClassName, [column.css]))
94
94
  }, (0, _utils.getCell)(column.subCell !== undefined ? column.subCell : column.cell, {
95
95
  columnIndex: columnIndex,
96
96
  rowData: rowData,
@@ -96,19 +96,19 @@ function CheckboxCell(_ref) {
96
96
  onKeyDown: function onKeyDown(event) {
97
97
  return event.key === ' ' && handleChange(event);
98
98
  },
99
- className: "tapestry-react-reset tapestry-react-Checkbox",
99
+ className: "tapestry-react-Checkbox",
100
100
  css: cssStyles
101
101
  }, /*#__PURE__*/_react["default"].createElement(_Icon["default"].Path, {
102
102
  name: iconPaths.fill,
103
- className: "tapestry-react-reset tapestry-react-Checkbox-Fill",
103
+ className: "tapestry-react-Checkbox-Fill",
104
104
  fill: checked || indeterminate ? 'primary' : 'surfaceTertiary',
105
105
  stroke: checked || indeterminate ? 'primary' : 'separatorSecondary'
106
106
  }), /*#__PURE__*/_react["default"].createElement(_Icon["default"].Path, {
107
107
  name: iconPaths.minus,
108
- className: "tapestry-react-reset tapestry-react-Checkbox-Minus"
108
+ className: "tapestry-react-Checkbox-Minus"
109
109
  }), /*#__PURE__*/_react["default"].createElement(_Icon["default"].Path, {
110
110
  name: iconPaths.checked,
111
- className: "tapestry-react-reset tapestry-react-Checkbox-Checked"
111
+ className: "tapestry-react-Checkbox-Checked"
112
112
  }));
113
113
  }
114
114
 
@@ -21,6 +21,10 @@ var RBDND = _interopRequireWildcard(require("@planningcenter/react-beautiful-dnd
21
21
 
22
22
  var _mitt = _interopRequireDefault(require("mitt"));
23
23
 
24
+ var _styles = require("../ThemeProvider/styles");
25
+
26
+ var _system = require("../system");
27
+
24
28
  var _StackView = _interopRequireDefault(require("../StackView"));
25
29
 
26
30
  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; }
@@ -51,10 +55,13 @@ function Provider(_ref) {
51
55
  _onDragEnd = _ref.onDragEnd,
52
56
  props = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["onDragStart", "onDragEnd"]);
53
57
  var hasParentDragDrop = useDragDrop();
58
+ var themeId = (0, _system.useThemeValue)('id');
54
59
 
55
60
  if (typeof document !== 'undefined' && portalNode === null) {
56
61
  portalNode = document.createElement('div');
57
62
  portalNode.id = 'rbd-portal';
63
+ portalNode.className = 'tapestry-react-reset';
64
+ portalNode.setAttribute((0, _styles.getThemeDataAttribute)(themeId), 'true');
58
65
  document.body.appendChild(portalNode);
59
66
  }
60
67
 
@@ -130,6 +130,8 @@ var Portal = /*#__PURE__*/function (_React$Component) {
130
130
  _this2._portalNode.setAttribute(key, restProps[key]);
131
131
  });
132
132
 
133
+ this._portalNode.classList.add('tapestry-react-reset');
134
+
133
135
  this._portalNode.setAttribute((0, _styles.getThemeDataAttribute)(this.context.id), 'true');
134
136
 
135
137
  if (style) {
@@ -8,6 +8,10 @@ exports.__esModule = true;
8
8
  exports.ThemeProvider = ThemeProvider;
9
9
  exports.themeInitializerScript = exports.themeStorage = exports.cache = void 0;
10
10
 
11
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
12
+
13
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
14
+
11
15
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
12
16
 
13
17
  var _react = _interopRequireWildcard(require("react"));
@@ -18,6 +22,8 @@ var _cache = _interopRequireDefault(require("@emotion/cache"));
18
22
 
19
23
  var _lodash = require("lodash");
20
24
 
25
+ var _Box = require("../Box");
26
+
21
27
  var _defaultTheme = _interopRequireDefault(require("../system/default-theme"));
22
28
 
23
29
  var _system = require("../system");
@@ -79,7 +85,8 @@ function ThemeProvider(_ref) {
79
85
 
80
86
  var _ref$theme = _ref.theme,
81
87
  theme = _ref$theme === void 0 ? emptyTheme : _ref$theme,
82
- children = _ref.children;
88
+ children = _ref.children,
89
+ boxProps = (0, _objectWithoutPropertiesLoose2["default"])(_ref, ["theme", "children"]);
83
90
 
84
91
  var _useState = (0, _react.useState)(function () {
85
92
  return mergeThemes(_defaultTheme["default"], theme);
@@ -99,7 +106,9 @@ function ThemeProvider(_ref) {
99
106
  value: cache
100
107
  }, /*#__PURE__*/_react["default"].createElement(_react2.ThemeProvider, {
101
108
  theme: mergedTheme
102
- }, /*#__PURE__*/_react["default"].createElement("div", (_ref2 = {}, _ref2["" + (0, _styles.getThemeDataAttribute)(mergedTheme.id)] = true, _ref2), children)));
109
+ }, /*#__PURE__*/_react["default"].createElement(_Box.Box, (0, _extends2["default"])({
110
+ className: "tapestry-react-reset"
111
+ }, boxProps, (_ref2 = {}, _ref2["" + (0, _styles.getThemeDataAttribute)(mergedTheme.id)] = true, _ref2)), children)));
103
112
  }
104
113
 
105
114
  ThemeProvider.cache = cache;
@@ -35,7 +35,7 @@ var setRootStyles = function setRootStyles(themeId, styles) {
35
35
  exports.setRootStyles = setRootStyles;
36
36
  var defaultColorProperties = (0, _utils.objectToCSSProperties)('colors', (0, _system.flattenPalette)(_system.defaultTheme.colors));
37
37
  exports.defaultColorProperties = defaultColorProperties;
38
- var styleReset = ("\n" + getRootStyles(null, defaultColorProperties) + "\n\n.tapestry-react-reset {\n appearance: none;\n box-sizing: border-box;\n font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n font-weight: 400;\n text-decoration: none;\n flex: 0 0 auto;\n min-width: 0px;\n min-height: 0px;\n padding: 0px;\n margin: 0px;\n border: 0px solid transparent;\n background-color: transparent;\n color: inherit;\n}\n\n.tapestry-react-reset::-moz-focus-inner {\n padding: 0px;\n border: 0px;\n}\n\n.tapestry-react-reset:focus:not(.focus-visible) {\n outline: 0px;\n}\n" // minify string
38
+ var styleReset = ("\n" + getRootStyles(null, defaultColorProperties) + "\n\n.tapestry-react-reset * {\n appearance: none;\n background-color: transparent;\n border-width: 0px;\n border-style: solid;\n border-color: transparent;\n box-sizing: border-box;\n color: inherit;\n font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: auto;\n font-weight: 400;\n margin: 0px;\n min-height: 0px;\n min-width: 0px;\n padding: 0px;\n text-decoration: none;\n}\n\n.tapestry-react-reset *::-moz-focus-inner {\n border: none;\n padding: 0px;\n}\n\n.tapestry-react-reset *:focus:not(.focus-visible) {\n outline: 0px;\n}\n" // minify string
39
39
  ).replace(/\n/g, '').replace(/\s\s+/g, ' '); // we use our own global style implementation in place of Emotion Global
40
40
  // so we can have more control over when styles are injected since multiple
41
41
  // Providers can be used on a page
@@ -43,9 +43,6 @@ var styleReset = ("\n" + getRootStyles(null, defaultColorProperties) + "\n\n.tap
43
43
  exports.styleReset = styleReset;
44
44
 
45
45
  function ensureStyleElement(themeId) {
46
- // we use our own global style implementation in place of Emotion Global
47
- // so we can have more control over when styles are injected since multiple
48
- // Providers can be used on a page
49
46
  if (typeof window !== 'undefined' && !document.getElementById("tapestry-react-style-" + themeId)) {
50
47
  var styleElement = document.createElement('style');
51
48
  styleElement.id = "tapestry-react-style-" + themeId;
@@ -60,8 +60,8 @@ function Tooltip(props, ref) {
60
60
  var isPageInView = true;
61
61
  var isFocused = false;
62
62
  var isMouseDown = false;
63
- var openTimeoutId = null;
64
- var closeTimeoutId = null; // prevents tooltips showing when focused and navigating back to a page after leaving
63
+ var openTimeoutId = (0, _react.useRef)(null);
64
+ var closeTimeoutId = (0, _react.useRef)(null); // prevents tooltips showing when focused and navigating back to a page after leaving
65
65
 
66
66
  var cleanupPageViewChange = (0, _react.useCallback)((0, _utils.pageViewChange)(function (inView) {
67
67
  return setTimeout(function () {
@@ -77,21 +77,21 @@ function Tooltip(props, ref) {
77
77
  emitter.on('CLOSE_OPEN_TOOLTIPS', close);
78
78
  return function () {
79
79
  emitter.off('CLOSE_OPEN_TOOLTIPS', close);
80
- clearTimeout(openTimeoutId);
81
- clearTimeout(closeTimeoutId);
80
+ clearTimeout(openTimeoutId.current);
81
+ clearTimeout(closeTimeoutId.current);
82
82
  cleanupPageViewChange();
83
83
  };
84
84
  }, []);
85
85
 
86
86
  var open = function open() {
87
- clearTimeout(closeTimeoutId);
88
- closeTimeoutId = null;
87
+ clearTimeout(closeTimeoutId.current);
88
+ closeTimeoutId.current = null;
89
89
  setIsPopoverOpen(true);
90
90
  };
91
91
 
92
92
  var close = function close() {
93
- clearTimeout(openTimeoutId);
94
- openTimeoutId = null;
93
+ clearTimeout(openTimeoutId.current);
94
+ openTimeoutId.current = null;
95
95
  setIsPopoverOpen(false);
96
96
  };
97
97
 
@@ -119,13 +119,13 @@ function Tooltip(props, ref) {
119
119
  var createOpenTimeout = (0, _react.useCallback)(function () {
120
120
  clearGlobalTimeout();
121
121
 
122
- if (openTimeoutId === null) {
123
- clearTimeout(closeTimeoutId);
124
- closeTimeoutId = null;
122
+ if (openTimeoutId.current === null) {
123
+ clearTimeout(closeTimeoutId.current);
124
+ closeTimeoutId.current = null;
125
125
 
126
126
  if (isPopoverOpen === false) {
127
127
  emitter.emit('CLOSE_OPEN_TOOLTIPS');
128
- openTimeoutId = setTimeout(function () {
128
+ openTimeoutId.current = setTimeout(function () {
129
129
  return open();
130
130
  }, instantDelay ? 0 : openDelay);
131
131
  }
@@ -134,11 +134,11 @@ function Tooltip(props, ref) {
134
134
  var createCloseTimeout = (0, _react.useCallback)(function () {
135
135
  startGlobalTimeout();
136
136
 
137
- if (closeTimeoutId === null) {
138
- clearTimeout(openTimeoutId);
139
- openTimeoutId = null;
140
- closeTimeoutId = setTimeout(function () {
141
- close();
137
+ if (closeTimeoutId.current === null) {
138
+ clearTimeout(openTimeoutId.current);
139
+ openTimeoutId.current = null;
140
+ closeTimeoutId.current = setTimeout(function () {
141
+ return close();
142
142
  }, closeDelay);
143
143
  }
144
144
  });
@@ -9,7 +9,6 @@ var _exportNames = {
9
9
  Avatar: true,
10
10
  Badge: true,
11
11
  Calendar: true,
12
- Checkbox: true,
13
12
  CheckboxCard: true,
14
13
  CheckboxGroup: true,
15
14
  ChurchCenterStatus: true,
@@ -31,11 +30,19 @@ var _exportNames = {
31
30
  Icon: true,
32
31
  Link: true,
33
32
  LinkList: true,
34
- List: true,
35
33
  Logo: true,
36
34
  Menu: true,
37
35
  Modal: true,
38
36
  NumberField: true,
37
+ PageActions: true,
38
+ PageBody: true,
39
+ PageButton: true,
40
+ PageDropdown: true,
41
+ PageHeader: true,
42
+ PageTab: true,
43
+ PageTabList: true,
44
+ PageTitle: true,
45
+ PageToolbar: true,
39
46
  PagerView: true,
40
47
  Pagination: true,
41
48
  Progress: true,
@@ -46,9 +53,7 @@ var _exportNames = {
46
53
  HeadingUppercase: true,
47
54
  SegmentedControl: true,
48
55
  SegmentedTabs: true,
49
- Select: true,
50
56
  Sidebar: true,
51
- Sortable: true,
52
57
  StepperField: true,
53
58
  StepperProgress: true,
54
59
  Summary: true,
@@ -60,9 +65,14 @@ var _exportNames = {
60
65
  TokenInput: true,
61
66
  Tooltip: true,
62
67
  VariantProvider: true,
63
- Wizard: true
68
+ Wizard: true,
69
+ Checkbox: true,
70
+ Input: true,
71
+ List: true,
72
+ Select: true,
73
+ Sortable: true
64
74
  };
65
- exports.Wizard = exports.VariantProvider = exports.Tooltip = exports.TokenInput = exports.Toolbar = exports.TimeField = exports.TextArea = exports.Tabs = exports.Table = exports.Summary = exports.StepperProgress = exports.StepperField = exports.Sortable = exports.Sidebar = exports.Select = exports.SegmentedTabs = exports.SegmentedControl = exports.HeadingUppercase = exports.Section = exports.ScreenReader = exports.RangeSlider = exports.Radio = exports.Progress = exports.Pagination = exports.PagerView = exports.NumberField = exports.Modal = exports.Menu = exports.Logo = exports.List = exports.LinkList = exports.Link = exports.Icon = exports.Highlight = exports.HelperDrawer = exports.Heading = exports.FieldSet = exports.Form = exports.Field = exports.EditActions = exports.Dropdown = exports.Drawer = exports.DragDrop = exports.DateField = exports.DataTable = exports.Combobox = exports.ColumnView = exports.Collapse = exports.ChurchCenterStatus = exports.CheckboxGroup = exports.CheckboxCard = exports.Checkbox = exports.Calendar = exports.Badge = exports.Avatar = exports.utils = exports.server = exports.hooks = exports.designSystem = void 0;
75
+ exports.Sortable = exports.Select = exports.List = exports.Input = exports.Checkbox = exports.Wizard = exports.VariantProvider = exports.Tooltip = exports.TokenInput = exports.Toolbar = exports.TimeField = exports.TextArea = exports.Tabs = exports.Table = exports.Summary = exports.StepperProgress = exports.StepperField = exports.Sidebar = exports.SegmentedTabs = exports.SegmentedControl = exports.HeadingUppercase = exports.Section = exports.ScreenReader = exports.RangeSlider = exports.Radio = exports.Progress = exports.Pagination = exports.PagerView = exports.PageToolbar = exports.PageTitle = exports.PageTabList = exports.PageTab = exports.PageHeader = exports.PageDropdown = exports.PageButton = exports.PageBody = exports.PageActions = exports.NumberField = exports.Modal = exports.Menu = exports.Logo = exports.LinkList = exports.Link = exports.Icon = exports.Highlight = exports.HelperDrawer = exports.Heading = exports.FieldSet = exports.Form = exports.Field = exports.EditActions = exports.Dropdown = exports.Drawer = exports.DragDrop = exports.DateField = exports.DataTable = exports.Combobox = exports.ColumnView = exports.Collapse = exports.ChurchCenterStatus = exports.CheckboxGroup = exports.CheckboxCard = exports.Calendar = exports.Badge = exports.Avatar = exports.utils = exports.server = exports.hooks = exports.designSystem = void 0;
66
76
 
67
77
  var _Alert = require("./Alert");
68
78
 
@@ -136,15 +146,6 @@ Object.keys(_Group).forEach(function (key) {
136
146
  exports[key] = _Group[key];
137
147
  });
138
148
 
139
- var _Input = require("./Input");
140
-
141
- Object.keys(_Input).forEach(function (key) {
142
- if (key === "default" || key === "__esModule") return;
143
- if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
144
- if (key in exports && exports[key] === _Input[key]) return;
145
- exports[key] = _Input[key];
146
- });
147
-
148
149
  var _Popover = require("./Popover");
149
150
 
150
151
  Object.keys(_Popover).forEach(function (key) {
@@ -248,8 +249,6 @@ var Badge;
248
249
  exports.Badge = Badge;
249
250
  var Calendar;
250
251
  exports.Calendar = Calendar;
251
- var Checkbox;
252
- exports.Checkbox = Checkbox;
253
252
  var CheckboxCard;
254
253
  exports.CheckboxCard = CheckboxCard;
255
254
  var CheckboxGroup;
@@ -292,8 +291,6 @@ var Link;
292
291
  exports.Link = Link;
293
292
  var LinkList;
294
293
  exports.LinkList = LinkList;
295
- var List;
296
- exports.List = List;
297
294
  var Logo;
298
295
  exports.Logo = Logo;
299
296
  var Menu;
@@ -302,6 +299,24 @@ var Modal;
302
299
  exports.Modal = Modal;
303
300
  var NumberField;
304
301
  exports.NumberField = NumberField;
302
+ var PageActions;
303
+ exports.PageActions = PageActions;
304
+ var PageBody;
305
+ exports.PageBody = PageBody;
306
+ var PageButton;
307
+ exports.PageButton = PageButton;
308
+ var PageDropdown;
309
+ exports.PageDropdown = PageDropdown;
310
+ var PageHeader;
311
+ exports.PageHeader = PageHeader;
312
+ var PageTab;
313
+ exports.PageTab = PageTab;
314
+ var PageTabList;
315
+ exports.PageTabList = PageTabList;
316
+ var PageTitle;
317
+ exports.PageTitle = PageTitle;
318
+ var PageToolbar;
319
+ exports.PageToolbar = PageToolbar;
305
320
  var PagerView;
306
321
  exports.PagerView = PagerView;
307
322
  var Pagination;
@@ -322,12 +337,8 @@ var SegmentedControl;
322
337
  exports.SegmentedControl = SegmentedControl;
323
338
  var SegmentedTabs;
324
339
  exports.SegmentedTabs = SegmentedTabs;
325
- var Select;
326
- exports.Select = Select;
327
340
  var Sidebar;
328
341
  exports.Sidebar = Sidebar;
329
- var Sortable;
330
- exports.Sortable = Sortable;
331
342
  var StepperField;
332
343
  exports.StepperField = StepperField;
333
344
  var StepperProgress;
@@ -350,5 +361,39 @@ var Tooltip;
350
361
  exports.Tooltip = Tooltip;
351
362
  var VariantProvider;
352
363
  exports.VariantProvider = VariantProvider;
353
- var Wizard;
354
- exports.Wizard = Wizard;
364
+ var Wizard; // ============
365
+ // Manual Types
366
+ // ===========
367
+ // These are components written in JS, where we can provide very small (one prop at a time) useful
368
+ // typings for consumers.
369
+ // ============
370
+
371
+ exports.Wizard = Wizard;
372
+ // ========
373
+ // Checkbox
374
+ // ========
375
+ var Checkbox; // =====
376
+ // Input
377
+ // =====
378
+
379
+ exports.Checkbox = Checkbox;
380
+ var Input; // ====
381
+ // List
382
+ // ====
383
+
384
+ exports.Input = Input;
385
+ var List; // ======
386
+ // Select
387
+ // ======
388
+
389
+ exports.List = List;
390
+ var Select; // ========
391
+ // Sortable
392
+ // ========
393
+
394
+ exports.Select = Select;
395
+ var Sortable; // =====================
396
+ // Typescript Components
397
+ // =====================
398
+
399
+ exports.Sortable = Sortable;
@@ -3,7 +3,7 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
5
  exports.__esModule = true;
6
- exports["default"] = _default;
6
+ exports["default"] = SplitStyles;
7
7
 
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
 
@@ -17,7 +17,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
17
17
 
18
18
  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; }
19
19
 
20
- function _default(_ref) {
20
+ function SplitStyles(_ref) {
21
21
  var className = _ref.className,
22
22
  _ref$mediaQueries = _ref.mediaQueries,
23
23
  mediaQueries = _ref$mediaQueries === void 0 ? {} : _ref$mediaQueries,
@@ -46,7 +46,7 @@ function _default(_ref) {
46
46
  }
47
47
 
48
48
  return _objectSpread(_objectSpread({}, restProps), {}, {
49
- className: className ? "tapestry-react-reset " + className : "tapestry-react-reset",
49
+ className: className,
50
50
  css: function css(theme) {
51
51
  var propStyles = {};
52
52
 
@@ -182,7 +182,7 @@ var DataTable = function DataTable(props) {
182
182
  style: isLoadingOrEmpty ? {
183
183
  display: 'none'
184
184
  } : undefined,
185
- className: "tapestry-react-reset " + css({
185
+ className: css({
186
186
  position: 'relative'
187
187
  })
188
188
  }, /*#__PURE__*/React.createElement("div", {
@@ -203,7 +203,7 @@ var DataTable = function DataTable(props) {
203
203
  column: column,
204
204
  columnIndex: columnIndex,
205
205
  columnSort: columnSort,
206
- className: "tapestry-react-reset " + css([].concat(cellVariantClassName, [column.css]))
206
+ className: css([].concat(cellVariantClassName, [column.css]))
207
207
  });
208
208
  }))), bodyToRender, hasFooterColumns && /*#__PURE__*/React.createElement("div", {
209
209
  ref: footerRef,
@@ -221,7 +221,7 @@ var DataTable = function DataTable(props) {
221
221
  key: columnIndex,
222
222
  role: "cell",
223
223
  ref: getColumnRef(columnIndex + "." + (data.length + 1)),
224
- className: "tapestry-react-reset " + css([].concat(cellVariantClassName, [column.css]))
224
+ className: css([].concat(cellVariantClassName, [column.css]))
225
225
  }, typeof column.footer === 'string' || /*#__PURE__*/React.isValidElement(column.footer) ? column.footer : column.footer ? /*#__PURE__*/React.createElement(column.footer, {
226
226
  columnIndex: columnIndex
227
227
  }) : null);
@@ -42,7 +42,7 @@ function BodyRows(_ref) {
42
42
  ref: getColumnRef(columnIndex + "." + (rowIndex + 1)) // offset by 1 to account for header row
43
43
  ,
44
44
  role: "cell",
45
- className: "tapestry-react-reset " + css([].concat(cellVariantStyles, [column.css]))
45
+ className: css([].concat(cellVariantStyles, [column.css]))
46
46
  }, getCell(column.cell, {
47
47
  columnIndex: columnIndex,
48
48
  rowData: rowData,
@@ -68,7 +68,7 @@ function BodyRows(_ref) {
68
68
  rowIndex: rowIndex,
69
69
  keyboardShortcuts: keyboardShortcuts,
70
70
  onRowClick: onRowClick,
71
- className: "tapestry-react-reset " + css(rowVariantClassName)
71
+ className: css(rowVariantClassName)
72
72
  }, getRowLinkProps({
73
73
  getRowLink: getRowLink,
74
74
  data: rowData,
@@ -58,7 +58,7 @@ var BodySubRows = function BodySubRows(_ref2) {
58
58
  rowIndex: rowIndex,
59
59
  keyboardShortcuts: keyboardShortcuts,
60
60
  onRowClick: onRowClick,
61
- className: "tapestry-react-reset " + css(rowVariantClassName)
61
+ className: css(rowVariantClassName)
62
62
  }, getRowLinkProps({
63
63
  getRowLink: getRowLink,
64
64
  data: rowData,
@@ -77,7 +77,7 @@ var BodySubRows = function BodySubRows(_ref2) {
77
77
  return /*#__PURE__*/React.createElement("div", {
78
78
  key: columnIndex,
79
79
  ref: getColumnRef(columnIndex + "." + (parentRowIndex + 1) + "." + rowIndex),
80
- className: "tapestry-react-reset " + css([].concat(cellVariantClassName, [column.css]))
80
+ className: css([].concat(cellVariantClassName, [column.css]))
81
81
  }, getCell(column.subCell !== undefined ? column.subCell : column.cell, {
82
82
  columnIndex: columnIndex,
83
83
  rowData: rowData,
@@ -85,19 +85,19 @@ function CheckboxCell(_ref) {
85
85
  onKeyDown: function onKeyDown(event) {
86
86
  return event.key === ' ' && handleChange(event);
87
87
  },
88
- className: "tapestry-react-reset tapestry-react-Checkbox",
88
+ className: "tapestry-react-Checkbox",
89
89
  css: cssStyles
90
90
  }, /*#__PURE__*/React.createElement(Icon.Path, {
91
91
  name: iconPaths.fill,
92
- className: "tapestry-react-reset tapestry-react-Checkbox-Fill",
92
+ className: "tapestry-react-Checkbox-Fill",
93
93
  fill: checked || indeterminate ? 'primary' : 'surfaceTertiary',
94
94
  stroke: checked || indeterminate ? 'primary' : 'separatorSecondary'
95
95
  }), /*#__PURE__*/React.createElement(Icon.Path, {
96
96
  name: iconPaths.minus,
97
- className: "tapestry-react-reset tapestry-react-Checkbox-Minus"
97
+ className: "tapestry-react-Checkbox-Minus"
98
98
  }), /*#__PURE__*/React.createElement(Icon.Path, {
99
99
  name: iconPaths.checked,
100
- className: "tapestry-react-reset tapestry-react-Checkbox-Checked"
100
+ className: "tapestry-react-Checkbox-Checked"
101
101
  }));
102
102
  }
103
103
 
@@ -10,6 +10,8 @@ import React, { Children, Fragment, createElement, createContext, useContext, us
10
10
  import { createPortal } from 'react-dom';
11
11
  import * as RBDND from '@planningcenter/react-beautiful-dnd';
12
12
  import mitt from 'mitt';
13
+ import { getThemeDataAttribute } from '../ThemeProvider/styles';
14
+ import { useThemeValue } from '../system';
13
15
  import StackView from '../StackView';
14
16
  var DragDropContext = /*#__PURE__*/createContext(false);
15
17
  var DroppableContext = /*#__PURE__*/createContext(false);
@@ -36,10 +38,13 @@ function Provider(_ref) {
36
38
  props = _objectWithoutPropertiesLoose(_ref, ["onDragStart", "onDragEnd"]);
37
39
 
38
40
  var hasParentDragDrop = useDragDrop();
41
+ var themeId = useThemeValue('id');
39
42
 
40
43
  if (typeof document !== 'undefined' && portalNode === null) {
41
44
  portalNode = document.createElement('div');
42
45
  portalNode.id = 'rbd-portal';
46
+ portalNode.className = 'tapestry-react-reset';
47
+ portalNode.setAttribute(getThemeDataAttribute(themeId), 'true');
43
48
  document.body.appendChild(portalNode);
44
49
  }
45
50
 
@@ -120,6 +120,8 @@ var Portal = /*#__PURE__*/function (_React$Component) {
120
120
  _this2._portalNode.setAttribute(key, restProps[key]);
121
121
  });
122
122
 
123
+ this._portalNode.classList.add('tapestry-react-reset');
124
+
123
125
  this._portalNode.setAttribute(getThemeDataAttribute(this.context.id), 'true');
124
126
 
125
127
  if (style) {
@@ -1,3 +1,5 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
1
3
  import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
4
 
3
5
  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; }
@@ -9,6 +11,7 @@ import { ThemeProvider as EmotionThemeProvider } from '@emotion/react';
9
11
  import { CacheProvider } from '@emotion/react';
10
12
  import createCache from '@emotion/cache';
11
13
  import { merge } from 'lodash';
14
+ import { Box } from '../Box';
12
15
  import defaultTheme from '../system/default-theme';
13
16
  import { flattenPalette } from '../system';
14
17
  import { objectToCSSProperties, shallowEqual } from '../utils';
@@ -56,7 +59,8 @@ export function ThemeProvider(_ref) {
56
59
 
57
60
  var _ref$theme = _ref.theme,
58
61
  theme = _ref$theme === void 0 ? emptyTheme : _ref$theme,
59
- children = _ref.children;
62
+ children = _ref.children,
63
+ boxProps = _objectWithoutPropertiesLoose(_ref, ["theme", "children"]);
60
64
 
61
65
  var _useState = useState(function () {
62
66
  return mergeThemes(defaultTheme, theme);
@@ -76,7 +80,9 @@ export function ThemeProvider(_ref) {
76
80
  value: cache
77
81
  }, /*#__PURE__*/React.createElement(EmotionThemeProvider, {
78
82
  theme: mergedTheme
79
- }, /*#__PURE__*/React.createElement("div", (_ref2 = {}, _ref2["" + getThemeDataAttribute(mergedTheme.id)] = true, _ref2), children)));
83
+ }, /*#__PURE__*/React.createElement(Box, _extends({
84
+ className: "tapestry-react-reset"
85
+ }, boxProps, (_ref2 = {}, _ref2["" + getThemeDataAttribute(mergedTheme.id)] = true, _ref2)), children)));
80
86
  }
81
87
  ThemeProvider.cache = cache;
82
88
  ThemeProvider.setRootStyles = setRootStyles;
@@ -24,15 +24,12 @@ export var setRootStyles = function setRootStyles(themeId, styles) {
24
24
  sheet.insertRule(styleString, 0);
25
25
  };
26
26
  export var defaultColorProperties = objectToCSSProperties('colors', flattenPalette(defaultTheme.colors));
27
- export var styleReset = ("\n" + getRootStyles(null, defaultColorProperties) + "\n\n.tapestry-react-reset {\n appearance: none;\n box-sizing: border-box;\n font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n font-weight: 400;\n text-decoration: none;\n flex: 0 0 auto;\n min-width: 0px;\n min-height: 0px;\n padding: 0px;\n margin: 0px;\n border: 0px solid transparent;\n background-color: transparent;\n color: inherit;\n}\n\n.tapestry-react-reset::-moz-focus-inner {\n padding: 0px;\n border: 0px;\n}\n\n.tapestry-react-reset:focus:not(.focus-visible) {\n outline: 0px;\n}\n" // minify string
27
+ export var styleReset = ("\n" + getRootStyles(null, defaultColorProperties) + "\n\n.tapestry-react-reset * {\n appearance: none;\n background-color: transparent;\n border-width: 0px;\n border-style: solid;\n border-color: transparent;\n box-sizing: border-box;\n color: inherit;\n font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';\n flex-grow: 0;\n flex-shrink: 0;\n flex-basis: auto;\n font-weight: 400;\n margin: 0px;\n min-height: 0px;\n min-width: 0px;\n padding: 0px;\n text-decoration: none;\n}\n\n.tapestry-react-reset *::-moz-focus-inner {\n border: none;\n padding: 0px;\n}\n\n.tapestry-react-reset *:focus:not(.focus-visible) {\n outline: 0px;\n}\n" // minify string
28
28
  ).replace(/\n/g, '').replace(/\s\s+/g, ' '); // we use our own global style implementation in place of Emotion Global
29
29
  // so we can have more control over when styles are injected since multiple
30
30
  // Providers can be used on a page
31
31
 
32
32
  function ensureStyleElement(themeId) {
33
- // we use our own global style implementation in place of Emotion Global
34
- // so we can have more control over when styles are injected since multiple
35
- // Providers can be used on a page
36
33
  if (typeof window !== 'undefined' && !document.getElementById("tapestry-react-style-" + themeId)) {
37
34
  var styleElement = document.createElement('style');
38
35
  styleElement.id = "tapestry-react-style-" + themeId;