@flodesk/grain 9.11.2 → 9.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,12 +11,12 @@ function _objectWithoutProperties(source, excluded) { if (source == null) return
11
11
 
12
12
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
13
13
 
14
- import React, { useRef, useEffect, cloneElement, Fragment } from 'react';
14
+ import React, { useRef, useEffect, cloneElement, Fragment, forwardRef } from 'react';
15
15
  import PropTypes from 'prop-types';
16
16
  import { types } from '../types';
17
17
  import { placementsMap } from '../foundational';
18
18
  import { useKeyPress, useOnClickOutside } from '../hooks';
19
- import { getColor, getDimension, getRadius, getShadow, getSpace, getTransition } from '../utilities';
19
+ import { getColor, getDimension, getRadius, getShadow, getSpace, getTransition, mergeRefs } from '../utilities';
20
20
  import { useFloating, autoUpdate, offset, flip, FloatingPortal, shift, limitShift } from '@floating-ui/react-dom-interactions';
21
21
  import { jsx as ___EmotionJSX } from "@emotion/react";
22
22
 
@@ -37,9 +37,9 @@ var ChildrenWrapper = /*#__PURE__*/_styled("div", process.env.NODE_ENV === "prod
37
37
  }, ";transition-property:opacity;", function (_ref4) {
38
38
  var isOpen = _ref4.isOpen;
39
39
  return isOpen ? "transition-duration: ".concat(getTransition('xxFast')) : "transition-duration: ".concat(getTransition('xFast'), "; opacity: 0; pointer-events: none;");
40
- }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3BvcG92ZXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdCa0MiLCJmaWxlIjoiLi4vLi4vc3JjL2NvbXBvbmVudHMvcG9wb3Zlci5qc3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIGNsb25lRWxlbWVudCwgRnJhZ21lbnQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdHlwZXMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBwbGFjZW1lbnRzTWFwIH0gZnJvbSAnLi4vZm91bmRhdGlvbmFsJztcbmltcG9ydCB7IHVzZUtleVByZXNzLCB1c2VPbkNsaWNrT3V0c2lkZSB9IGZyb20gJy4uL2hvb2tzJztcbmltcG9ydCB7XG4gIGdldENvbG9yLFxuICBnZXREaW1lbnNpb24sXG4gIGdldFJhZGl1cyxcbiAgZ2V0U2hhZG93LFxuICBnZXRTcGFjZSxcbiAgZ2V0VHJhbnNpdGlvbixcbn0gZnJvbSAnLi4vdXRpbGl0aWVzJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7XG4gIHVzZUZsb2F0aW5nLFxuICBhdXRvVXBkYXRlLFxuICBvZmZzZXQsXG4gIGZsaXAsXG4gIEZsb2F0aW5nUG9ydGFsLFxuICBzaGlmdCxcbiAgbGltaXRTaGlmdCxcbn0gZnJvbSAnQGZsb2F0aW5nLXVpL3JlYWN0LWRvbS1pbnRlcmFjdGlvbnMnO1xuXG5jb25zdCBDaGlsZHJlbldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICAkeyh7IHdpZHRoIH0pID0+IGB3aWR0aDogJHtnZXREaW1lbnNpb24od2lkdGgpfWB9O1xuICAkeyh7IHBhZGRpbmcgfSkgPT4gYHBhZGRpbmc6ICR7Z2V0U3BhY2UocGFkZGluZyl9YH07XG4gIGJveC1zaGFkb3c6ICR7Z2V0U2hhZG93KCdtJyl9O1xuICBib3JkZXItcmFkaXVzOiAke2dldFJhZGl1cygnbScpfTtcbiAgYmFja2dyb3VuZDogJHtnZXRDb2xvcignZmxvYXRpbmdCYWNrZ3JvdW5kJyl9O1xuICAkeyh7IHpJbmRleCB9KSA9PiBgei1pbmRleDogJHt6SW5kZXh9YH07XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gICR7KHsgaXNPcGVuIH0pID0+XG4gICAgaXNPcGVuXG4gICAgICA/IGB0cmFuc2l0aW9uLWR1cmF0aW9uOiAke2dldFRyYW5zaXRpb24oJ3h4RmFzdCcpfWBcbiAgICAgIDogYHRyYW5zaXRpb24tZHVyYXRpb246ICR7Z2V0VHJhbnNpdGlvbigneEZhc3QnKX07IG9wYWNpdHk6IDA7IHBvaW50ZXItZXZlbnRzOiBub25lO2B9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFBvcG92ZXIgPSAoe1xuICBjaGlsZHJlbixcbiAgcGFkZGluZyA9ICdsJyxcbiAgcGxhY2VtZW50ID0gJ2JvdHRvbScsXG4gIHdpZHRoID0gJzI1NnB4JyxcbiAgdHJpZ2dlcixcbiAgaXNPcGVuLFxuICBvbkNsb3NlLFxuICB6SW5kZXggPSAxLFxuICBoYXNQb3J0YWwgPSB0cnVlLFxuICAuLi5wcm9wc1xufSkgPT4ge1xuICBjb25zdCBlc2NQcmVzcyA9IHVzZUtleVByZXNzKCdFc2NhcGUnKTtcbiAgY29uc3Qgd3JhcHBlclJlZiA9IHVzZVJlZihudWxsKTtcbiAgdXNlT25DbGlja091dHNpZGUod3JhcHBlclJlZiwgb25DbG9zZSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZXNjUHJlc3MpIG9uQ2xvc2UoKTtcbiAgfSwgW2VzY1ByZXNzLCBvbkNsb3NlXSk7XG5cbiAgY29uc3QgeyB4LCB5LCByZWZlcmVuY2UsIGZsb2F0aW5nLCBzdHJhdGVneSB9ID0gdXNlRmxvYXRpbmcoe1xuICAgIHBsYWNlbWVudDogcGxhY2VtZW50c01hcFtwbGFjZW1lbnRdLFxuICAgIG1pZGRsZXdhcmU6IFtvZmZzZXQoNCksIGZsaXAoKSwgc2hpZnQoeyBwYWRkaW5nOiA0LCBsaW1pdGVyOiBsaW1pdFNoaWZ0KCkgfSldLFxuICAgIHdoaWxlRWxlbWVudHNNb3VudGVkOiBhdXRvVXBkYXRlLFxuICB9KTtcblxuICBjb25zdCBSb290ID0gaGFzUG9ydGFsID8gRmxvYXRpbmdQb3J0YWwgOiBGcmFnbWVudDtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7Y2xvbmVFbGVtZW50KHRyaWdnZXIsIHsgcmVmOiByZWZlcmVuY2UgfSl9XG4gICAgICA8Um9vdD5cbiAgICAgICAgPGRpdiByZWY9e3dyYXBwZXJSZWZ9PlxuICAgICAgICAgIDxDaGlsZHJlbldyYXBwZXJcbiAgICAgICAgICAgIHdpZHRoPXt3aWR0aH1cbiAgICAgICAgICAgIHBhZGRpbmc9e3BhZGRpbmd9XG4gICAgICAgICAgICB6SW5kZXg9e3pJbmRleH1cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImdybi1jb250ZXh0XCJcbiAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgICAgcmVmPXtmbG9hdGluZ31cbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBzdHJhdGVneSxcbiAgICAgICAgICAgICAgdG9wOiB5ID8/IDAsXG4gICAgICAgICAgICAgIGxlZnQ6IHggPz8gMCxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgIDwvQ2hpbGRyZW5XcmFwcGVyPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvUm9vdD5cbiAgICA8Lz5cbiAgKTtcbn07XG5cblBvcG92ZXIucHJvcFR5cGVzID0ge1xuICBwYWRkaW5nOiB0eXBlcy5kaW1lbnNpb24sXG4gIHdpZHRoOiB0eXBlcy5kaW1lbnNpb24sXG4gIHBsYWNlbWVudDogdHlwZXMucGxhY2VtZW50LFxuICB0cmlnZ2VyOiBQcm9wVHlwZXMubm9kZSxcbiAgekluZGV4OiB0eXBlcy56SW5kZXgsXG4gIGlzT3BlbjogUHJvcFR5cGVzLmJvb2wsXG4gIG9uQ2xvc2U6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIGhhc1BvcnRhbDogUHJvcFR5cGVzLmJvb2wsXG59O1xuIl19 */"));
40
+ }, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21wb25lbnRzL3BvcG92ZXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXlCa0MiLCJmaWxlIjoiLi4vLi4vc3JjL2NvbXBvbmVudHMvcG9wb3Zlci5qc3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlUmVmLCB1c2VFZmZlY3QsIGNsb25lRWxlbWVudCwgRnJhZ21lbnQsIGZvcndhcmRSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IHsgdHlwZXMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBwbGFjZW1lbnRzTWFwIH0gZnJvbSAnLi4vZm91bmRhdGlvbmFsJztcbmltcG9ydCB7IHVzZUtleVByZXNzLCB1c2VPbkNsaWNrT3V0c2lkZSB9IGZyb20gJy4uL2hvb2tzJztcbmltcG9ydCB7XG4gIGdldENvbG9yLFxuICBnZXREaW1lbnNpb24sXG4gIGdldFJhZGl1cyxcbiAgZ2V0U2hhZG93LFxuICBnZXRTcGFjZSxcbiAgZ2V0VHJhbnNpdGlvbixcbiAgbWVyZ2VSZWZzLFxufSBmcm9tICcuLi91dGlsaXRpZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHtcbiAgdXNlRmxvYXRpbmcsXG4gIGF1dG9VcGRhdGUsXG4gIG9mZnNldCxcbiAgZmxpcCxcbiAgRmxvYXRpbmdQb3J0YWwsXG4gIHNoaWZ0LFxuICBsaW1pdFNoaWZ0LFxufSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QtZG9tLWludGVyYWN0aW9ucyc7XG5cbmNvbnN0IENoaWxkcmVuV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gICR7KHsgd2lkdGggfSkgPT4gYHdpZHRoOiAke2dldERpbWVuc2lvbih3aWR0aCl9YH07XG4gICR7KHsgcGFkZGluZyB9KSA9PiBgcGFkZGluZzogJHtnZXRTcGFjZShwYWRkaW5nKX1gfTtcbiAgYm94LXNoYWRvdzogJHtnZXRTaGFkb3coJ20nKX07XG4gIGJvcmRlci1yYWRpdXM6ICR7Z2V0UmFkaXVzKCdtJyl9O1xuICBiYWNrZ3JvdW5kOiAke2dldENvbG9yKCdmbG9hdGluZ0JhY2tncm91bmQnKX07XG4gICR7KHsgekluZGV4IH0pID0+IGB6LWluZGV4OiAke3pJbmRleH1gfTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgJHsoeyBpc09wZW4gfSkgPT5cbiAgICBpc09wZW5cbiAgICAgID8gYHRyYW5zaXRpb24tZHVyYXRpb246ICR7Z2V0VHJhbnNpdGlvbigneHhGYXN0Jyl9YFxuICAgICAgOiBgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHtnZXRUcmFuc2l0aW9uKCd4RmFzdCcpfTsgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7YH07XG5gO1xuXG5leHBvcnQgY29uc3QgUG9wb3ZlciA9IGZvcndhcmRSZWYoXG4gIChcbiAgICB7XG4gICAgICBjaGlsZHJlbixcbiAgICAgIHBhZGRpbmcgPSAnbCcsXG4gICAgICBwbGFjZW1lbnQgPSAnYm90dG9tJyxcbiAgICAgIHdpZHRoID0gJzI1NnB4JyxcbiAgICAgIHRyaWdnZXIsXG4gICAgICBpc09wZW4sXG4gICAgICBvbkNsb3NlLFxuICAgICAgekluZGV4ID0gMSxcbiAgICAgIGhhc1BvcnRhbCA9IHRydWUsXG4gICAgICAuLi5wcm9wc1xuICAgIH0sXG4gICAgcmVmLFxuICApID0+IHtcbiAgICBjb25zdCBlc2NQcmVzcyA9IHVzZUtleVByZXNzKCdFc2NhcGUnKTtcbiAgICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIHVzZU9uQ2xpY2tPdXRzaWRlKHdyYXBwZXJSZWYsIG9uQ2xvc2UpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgIGlmIChlc2NQcmVzcykgb25DbG9zZSgpO1xuICAgIH0sIFtlc2NQcmVzcywgb25DbG9zZV0pO1xuXG4gICAgY29uc3QgeyB4LCB5LCByZWZlcmVuY2UsIGZsb2F0aW5nLCBzdHJhdGVneSB9ID0gdXNlRmxvYXRpbmcoe1xuICAgICAgcGxhY2VtZW50OiBwbGFjZW1lbnRzTWFwW3BsYWNlbWVudF0sXG4gICAgICBtaWRkbGV3YXJlOiBbb2Zmc2V0KDQpLCBmbGlwKCksIHNoaWZ0KHsgcGFkZGluZzogNCwgbGltaXRlcjogbGltaXRTaGlmdCgpIH0pXSxcbiAgICAgIHdoaWxlRWxlbWVudHNNb3VudGVkOiBhdXRvVXBkYXRlLFxuICAgIH0pO1xuXG4gICAgY29uc3QgUm9vdCA9IGhhc1BvcnRhbCA/IEZsb2F0aW5nUG9ydGFsIDogRnJhZ21lbnQ7XG4gICAgY29uc3QgbWVyZ2VkUmVmID0gbWVyZ2VSZWZzKFtyZWYsIHdyYXBwZXJSZWZdKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICB7Y2xvbmVFbGVtZW50KHRyaWdnZXIsIHsgcmVmOiByZWZlcmVuY2UgfSl9XG4gICAgICAgIDxSb290PlxuICAgICAgICAgIDxkaXYgcmVmPXttZXJnZWRSZWZ9PlxuICAgICAgICAgICAgPENoaWxkcmVuV3JhcHBlclxuICAgICAgICAgICAgICB3aWR0aD17d2lkdGh9XG4gICAgICAgICAgICAgIHBhZGRpbmc9e3BhZGRpbmd9XG4gICAgICAgICAgICAgIHpJbmRleD17ekluZGV4fVxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJncm4tY29udGV4dFwiXG4gICAgICAgICAgICAgIGlzT3Blbj17aXNPcGVufVxuICAgICAgICAgICAgICByZWY9e2Zsb2F0aW5nfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdHJhdGVneSxcbiAgICAgICAgICAgICAgICB0b3A6IHkgPz8gMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiB4ID8/IDAsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgPC9DaGlsZHJlbldyYXBwZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvUm9vdD5cbiAgICAgIDwvPlxuICAgICk7XG4gIH0sXG4pO1xuXG5Qb3BvdmVyLnByb3BUeXBlcyA9IHtcbiAgcGFkZGluZzogdHlwZXMuZGltZW5zaW9uLFxuICB3aWR0aDogdHlwZXMuZGltZW5zaW9uLFxuICBwbGFjZW1lbnQ6IHR5cGVzLnBsYWNlbWVudCxcbiAgdHJpZ2dlcjogUHJvcFR5cGVzLm5vZGUsXG4gIHpJbmRleDogdHlwZXMuekluZGV4LFxuICBpc09wZW46IFByb3BUeXBlcy5ib29sLFxuICBvbkNsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBoYXNQb3J0YWw6IFByb3BUeXBlcy5ib29sLFxufTtcbiJdfQ== */"));
41
41
 
42
- export var Popover = function Popover(_ref5) {
42
+ export var Popover = /*#__PURE__*/forwardRef(function (_ref5, ref) {
43
43
  var children = _ref5.children,
44
44
  _ref5$padding = _ref5.padding,
45
45
  padding = _ref5$padding === void 0 ? 'l' : _ref5$padding,
@@ -78,10 +78,11 @@ export var Popover = function Popover(_ref5) {
78
78
  strategy = _useFloating.strategy;
79
79
 
80
80
  var Root = hasPortal ? FloatingPortal : Fragment;
81
+ var mergedRef = mergeRefs([ref, wrapperRef]);
81
82
  return ___EmotionJSX(React.Fragment, null, /*#__PURE__*/cloneElement(trigger, {
82
83
  ref: reference
83
84
  }), ___EmotionJSX(Root, null, ___EmotionJSX("div", {
84
- ref: wrapperRef
85
+ ref: mergedRef
85
86
  }, ___EmotionJSX(ChildrenWrapper, _extends({
86
87
  width: width,
87
88
  padding: padding,
@@ -95,7 +96,7 @@ export var Popover = function Popover(_ref5) {
95
96
  left: x !== null && x !== void 0 ? x : 0
96
97
  }
97
98
  }, props), children))));
98
- };
99
+ });
99
100
  Popover.propTypes = {
100
101
  padding: types.dimension,
101
102
  width: types.dimension,
@@ -1,9 +1,10 @@
1
1
  function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
2
2
 
3
3
  import "core-js/modules/es.array.concat.js";
4
+ import "core-js/modules/es.object.to-string.js";
5
+ import "core-js/modules/web.dom-collections.for-each.js";
4
6
  import "core-js/modules/es.symbol.js";
5
7
  import "core-js/modules/es.symbol.description.js";
6
- import "core-js/modules/es.object.to-string.js";
7
8
  import "core-js/modules/es.symbol.iterator.js";
8
9
  import "core-js/modules/es.array.iterator.js";
9
10
  import "core-js/modules/es.string.iterator.js";
@@ -32,4 +33,15 @@ export var isArray = function isArray(value) {
32
33
  };
33
34
  export var isObject = function isObject(value) {
34
35
  return _typeof(value) === 'object';
36
+ };
37
+ export var mergeRefs = function mergeRefs(refs) {
38
+ return function (value) {
39
+ refs.forEach(function (ref) {
40
+ if (typeof ref === 'function') {
41
+ ref(value);
42
+ } else if (ref != null) {
43
+ ref.current = value;
44
+ }
45
+ });
46
+ };
35
47
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flodesk/grain",
3
- "version": "9.11.2",
3
+ "version": "9.12.0",
4
4
  "description": "Flodesk design system",
5
5
  "module": "es/index.js",
6
6
  "author": "Flodesk",