@artsy/palette 28.0.0 → 28.1.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.
@@ -23,6 +23,8 @@ var _Pointer = require("../Pointer");
23
23
 
24
24
  var _Text = require("../Text");
25
25
 
26
+ var _excluded = ["children", "content", "width", "placement", "pointer", "variant", "visible"];
27
+
26
28
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
27
29
 
28
30
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -43,6 +45,10 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
43
45
 
44
46
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
45
47
 
48
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
49
+
50
+ 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; }
51
+
46
52
  var TOOLTIP_VARIANTS = {
47
53
  defaultLight: {
48
54
  backgroundColor: "white100",
@@ -71,7 +77,8 @@ var Tooltip = function Tooltip(_ref) {
71
77
  pointer = _ref$pointer === void 0 ? false : _ref$pointer,
72
78
  _ref$variant = _ref.variant,
73
79
  variant = _ref$variant === void 0 ? "defaultLight" : _ref$variant,
74
- visible = _ref.visible;
80
+ visible = _ref.visible,
81
+ rest = _objectWithoutProperties(_ref, _excluded);
75
82
 
76
83
  var _useState = (0, _react.useState)(false),
77
84
  _useState2 = _slicedToArray(_useState, 2),
@@ -109,25 +116,26 @@ var Tooltip = function Tooltip(_ref) {
109
116
  onMouseOut: compose(deactivate, (_children$props3 = children.props) === null || _children$props3 === void 0 ? void 0 : _children$props3.onMouseOut),
110
117
  onFocus: compose(activate, (_children$props4 = children.props) === null || _children$props4 === void 0 ? void 0 : _children$props4.onFocus),
111
118
  onBlur: compose(deactivate, (_children$props5 = children.props) === null || _children$props5 === void 0 ? void 0 : _children$props5.onBlur)
112
- }), /*#__PURE__*/_react.default.createElement(Tip, _extends({
119
+ }), /*#__PURE__*/_react.default.createElement(Tip, {
113
120
  ref: tooltipRef,
114
121
  variant: variant,
115
122
  width: width,
116
- zIndex: 1
117
- }, visible ? // If there's a visible prop being passed; use that
118
- {
119
- opacity: visible ? 1 : 0
120
- } : // Otherwise use the active state
121
- {
122
- opacity: active ? 1 : 0
123
- }), pointer && /*#__PURE__*/_react.default.createElement(_Pointer.Pointer, {
123
+ zIndex: 1,
124
+ style: // If visible is explictly set to `false` then the tooltip should be hidden
125
+ // Otherwise it should be visible or utilize the active state.
126
+ visible !== false ? {
127
+ opacity: (visible !== null && visible !== void 0 ? visible : active) ? 1 : 0
128
+ } : {
129
+ opacity: 0
130
+ }
131
+ }, pointer && /*#__PURE__*/_react.default.createElement(_Pointer.Pointer, {
124
132
  variant: variant,
125
133
  placement: placement,
126
134
  isFlipped: isFlipped
127
- }), /*#__PURE__*/_react.default.createElement(Panel, {
135
+ }), /*#__PURE__*/_react.default.createElement(Panel, _extends({
128
136
  variant: variant,
129
137
  p: 1
130
- }, (0, _helpers.isText)(content) ? /*#__PURE__*/_react.default.createElement(_Text.Text, {
138
+ }, rest), (0, _helpers.isText)(content) ? /*#__PURE__*/_react.default.createElement(_Text.Text, {
131
139
  variant: "xs"
132
140
  }, content) : content)));
133
141
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Tooltip/Tooltip.tsx"],"names":["TOOLTIP_VARIANTS","defaultLight","backgroundColor","color","defaultDark","Tooltip","children","content","width","placement","pointer","variant","visible","active","setActive","handleClick","prevActive","activate","deactivate","position","offset","anchorRef","tooltipRef","isFlipped","state","React","cloneElement","ref","tabIndex","onClick","compose","props","onMouseOver","onMouseOut","onFocus","onBlur","opacity","Tip","Box","DROP_SHADOW","variants","Panel","a","b","args"],"mappings":"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","sourcesContent":["import React, { useState } from \"react\"\nimport styled from \"styled-components\"\nimport { variant } from \"styled-system\"\nimport { DROP_SHADOW, isText } from \"../../helpers\"\nimport { Position, usePosition } from \"../../utils/usePosition\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Pointer } from \"../Pointer\"\nimport { Text } from \"../Text\"\n\nexport const TOOLTIP_VARIANTS = {\n defaultLight: {\n backgroundColor: \"white100\",\n color: \"black100\",\n },\n defaultDark: {\n backgroundColor: \"black100\",\n color: \"white100\",\n },\n}\n\nexport type TooltipVariant = keyof typeof TOOLTIP_VARIANTS\n\nexport interface TooltipProps extends BoxProps {\n /** Anchor element to attach to tooltip */\n children: React.ReactElement<any, string | React.JSXElementConstructor<any>>\n /** Content of tooltip */\n content: React.ReactNode\n placement?: Position\n pointer?: boolean\n variant?: TooltipVariant\n visible?: boolean\n}\n\n/**\n * A tooltip\n */\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n content,\n width = 230,\n placement = \"top\",\n pointer = false,\n variant = \"defaultLight\",\n visible,\n}) => {\n const [active, setActive] = useState(false)\n\n const handleClick = () => {\n setActive((prevActive) => !prevActive)\n }\n\n const activate = () => {\n setActive(true)\n }\n\n const deactivate = () => {\n setActive(false)\n }\n\n const {\n anchorRef,\n tooltipRef,\n state: { isFlipped },\n } = usePosition({\n position: placement,\n offset: 10,\n active: visible ?? active,\n })\n\n return (\n <>\n {React.cloneElement(children, {\n ref: anchorRef,\n tabIndex: 0,\n onClick: compose(handleClick, children.props?.onClick),\n onMouseOver: compose(activate, children.props?.onMouseOver),\n onMouseOut: compose(deactivate, children.props?.onMouseOut),\n onFocus: compose(activate, children.props?.onFocus),\n onBlur: compose(deactivate, children.props?.onBlur),\n })}\n\n <Tip\n ref={tooltipRef as any}\n variant={variant}\n width={width}\n zIndex={1}\n {...(visible\n ? // If there's a visible prop being passed; use that\n { opacity: visible ? 1 : 0 }\n : // Otherwise use the active state\n { opacity: active ? 1 : 0 })}\n >\n {pointer && (\n <Pointer\n variant={variant}\n placement={placement}\n isFlipped={isFlipped}\n />\n )}\n\n <Panel variant={variant} p={1}>\n {isText(content) ? <Text variant=\"xs\">{content}</Text> : content}\n </Panel>\n </Tip>\n </>\n )\n}\n\nconst Tip = styled(Box)<{ variant?: TooltipVariant }>`\n position: absolute;\n z-index: 1;\n transition: opacity 250ms ease-out;\n text-align: left;\n box-shadow: ${DROP_SHADOW};\n cursor: default;\n pointer-events: none;\n ${variant({ variants: TOOLTIP_VARIANTS })}\n`\n\nconst Panel = styled(Box)<{ variant?: TooltipVariant }>`\n ${variant({ variants: TOOLTIP_VARIANTS })}\n`\n\nconst compose = (a?: (...args: any) => any, b?: (...args: any) => any) => {\n return (...args) => {\n a?.(...args)\n b?.(...args)\n }\n}\n"],"file":"Tooltip.js"}
1
+ {"version":3,"sources":["../../../src/elements/Tooltip/Tooltip.tsx"],"names":["TOOLTIP_VARIANTS","defaultLight","backgroundColor","color","defaultDark","Tooltip","children","content","width","placement","pointer","variant","visible","rest","active","setActive","handleClick","prevActive","activate","deactivate","position","offset","anchorRef","tooltipRef","isFlipped","state","React","cloneElement","ref","tabIndex","onClick","compose","props","onMouseOver","onMouseOut","onFocus","onBlur","opacity","Tip","Box","DROP_SHADOW","variants","Panel","a","b","args"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEO,IAAMA,gBAAgB,GAAG;AAC9BC,EAAAA,YAAY,EAAE;AACZC,IAAAA,eAAe,EAAE,UADL;AAEZC,IAAAA,KAAK,EAAE;AAFK,GADgB;AAK9BC,EAAAA,WAAW,EAAE;AACXF,IAAAA,eAAe,EAAE,UADN;AAEXC,IAAAA,KAAK,EAAE;AAFI;AALiB,CAAzB;;;AAwBP;AACA;AACA;AACO,IAAME,OAA+B,GAAG,SAAlCA,OAAkC,OASzC;AAAA;;AAAA,MARJC,QAQI,QARJA,QAQI;AAAA,MAPJC,OAOI,QAPJA,OAOI;AAAA,wBANJC,KAMI;AAAA,MANJA,KAMI,2BANI,GAMJ;AAAA,4BALJC,SAKI;AAAA,MALJA,SAKI,+BALQ,KAKR;AAAA,0BAJJC,OAII;AAAA,MAJJA,OAII,6BAJM,KAIN;AAAA,0BAHJC,OAGI;AAAA,MAHJA,OAGI,6BAHM,cAGN;AAAA,MAFJC,OAEI,QAFJA,OAEI;AAAA,MADDC,IACC;;AACJ,kBAA4B,qBAAS,KAAT,CAA5B;AAAA;AAAA,MAAOC,MAAP;AAAA,MAAeC,SAAf;;AAEA,MAAMC,WAAW,GAAG,SAAdA,WAAc,GAAM;AACxBD,IAAAA,SAAS,CAAC,UAACE,UAAD;AAAA,aAAgB,CAACA,UAAjB;AAAA,KAAD,CAAT;AACD,GAFD;;AAIA,MAAMC,QAAQ,GAAG,SAAXA,QAAW,GAAM;AACrBH,IAAAA,SAAS,CAAC,IAAD,CAAT;AACD,GAFD;;AAIA,MAAMI,UAAU,GAAG,SAAbA,UAAa,GAAM;AACvBJ,IAAAA,SAAS,CAAC,KAAD,CAAT;AACD,GAFD;;AAIA,qBAII,+BAAY;AACdK,IAAAA,QAAQ,EAAEX,SADI;AAEdY,IAAAA,MAAM,EAAE,EAFM;AAGdP,IAAAA,MAAM,EAAEF,OAAF,aAAEA,OAAF,cAAEA,OAAF,GAAaE;AAHL,GAAZ,CAJJ;AAAA,MACEQ,SADF,gBACEA,SADF;AAAA,MAEEC,UAFF,gBAEEA,UAFF;AAAA,MAGWC,SAHX,gBAGEC,KAHF,CAGWD,SAHX;;AAUA,sBACE,yEACGE,eAAMC,YAAN,CAAmBrB,QAAnB,EAA6B;AAC5BsB,IAAAA,GAAG,EAAEN,SADuB;AAE5BO,IAAAA,QAAQ,EAAE,CAFkB;AAG5BC,IAAAA,OAAO,EAAEC,OAAO,CAACf,WAAD,qBAAcV,QAAQ,CAAC0B,KAAvB,oDAAc,gBAAgBF,OAA9B,CAHY;AAI5BG,IAAAA,WAAW,EAAEF,OAAO,CAACb,QAAD,sBAAWZ,QAAQ,CAAC0B,KAApB,qDAAW,iBAAgBC,WAA3B,CAJQ;AAK5BC,IAAAA,UAAU,EAAEH,OAAO,CAACZ,UAAD,sBAAab,QAAQ,CAAC0B,KAAtB,qDAAa,iBAAgBE,UAA7B,CALS;AAM5BC,IAAAA,OAAO,EAAEJ,OAAO,CAACb,QAAD,sBAAWZ,QAAQ,CAAC0B,KAApB,qDAAW,iBAAgBG,OAA3B,CANY;AAO5BC,IAAAA,MAAM,EAAEL,OAAO,CAACZ,UAAD,sBAAab,QAAQ,CAAC0B,KAAtB,qDAAa,iBAAgBI,MAA7B;AAPa,GAA7B,CADH,eAWE,6BAAC,GAAD;AACE,IAAA,GAAG,EAAEb,UADP;AAEE,IAAA,OAAO,EAAEZ,OAFX;AAGE,IAAA,KAAK,EAAEH,KAHT;AAIE,IAAA,MAAM,EAAE,CAJV;AAKE,IAAA,KAAK,EACH;AACA;AACAI,IAAAA,OAAO,KAAK,KAAZ,GACI;AACEyB,MAAAA,OAAO,EAAE,CAAAzB,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAAA,OAAO,GAAIE,MAAX,IAAoB,CAApB,GAAwB;AADnC,KADJ,GAII;AAAEuB,MAAAA,OAAO,EAAE;AAAX;AAZR,KAeG3B,OAAO,iBACN,6BAAC,gBAAD;AACE,IAAA,OAAO,EAAEC,OADX;AAEE,IAAA,SAAS,EAAEF,SAFb;AAGE,IAAA,SAAS,EAAEe;AAHb,IAhBJ,eAuBE,6BAAC,KAAD;AAAO,IAAA,OAAO,EAAEb,OAAhB;AAAyB,IAAA,CAAC,EAAE;AAA5B,KAAmCE,IAAnC,GACG,qBAAON,OAAP,iBAAkB,6BAAC,UAAD;AAAM,IAAA,OAAO,EAAC;AAAd,KAAoBA,OAApB,CAAlB,GAAwDA,OAD3D,CAvBF,CAXF,CADF;AAyCD,CA3EM;;;AA6EP,IAAM+B,GAAG,GAAG,+BAAOC,QAAP,CAAH;AAAA;AAAA;AAAA,8IAKOC,oBALP,EAQL,2BAAQ;AAAEC,EAAAA,QAAQ,EAAEzC;AAAZ,CAAR,CARK,CAAT;AAWA,IAAM0C,KAAK,GAAG,+BAAOH,QAAP,CAAH;AAAA;AAAA;AAAA,aACP,2BAAQ;AAAEE,EAAAA,QAAQ,EAAEzC;AAAZ,CAAR,CADO,CAAX;;AAIA,IAAM+B,OAAO,GAAG,SAAVA,OAAU,CAACY,CAAD,EAA4BC,CAA5B,EAA0D;AACxE,SAAO,YAAa;AAAA,sCAATC,IAAS;AAATA,MAAAA,IAAS;AAAA;;AAClBF,IAAAA,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,MAAD,SAAOE,IAAP;AACAD,IAAAA,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,MAAD,SAAOC,IAAP;AACD,GAHD;AAID,CALD","sourcesContent":["import React, { useState } from \"react\"\nimport styled from \"styled-components\"\nimport { variant } from \"styled-system\"\nimport { DROP_SHADOW, isText } from \"../../helpers\"\nimport { Position, usePosition } from \"../../utils/usePosition\"\nimport { Box, BoxProps } from \"../Box\"\nimport { Pointer } from \"../Pointer\"\nimport { Text } from \"../Text\"\n\nexport const TOOLTIP_VARIANTS = {\n defaultLight: {\n backgroundColor: \"white100\",\n color: \"black100\",\n },\n defaultDark: {\n backgroundColor: \"black100\",\n color: \"white100\",\n },\n}\n\nexport type TooltipVariant = keyof typeof TOOLTIP_VARIANTS\n\nexport interface TooltipProps extends BoxProps {\n /** Anchor element to attach to tooltip */\n children: React.ReactElement<any, string | React.JSXElementConstructor<any>>\n /** Content of tooltip */\n content: React.ReactNode\n placement?: Position\n pointer?: boolean\n variant?: TooltipVariant\n visible?: boolean\n}\n\n/**\n * A tooltip\n */\nexport const Tooltip: React.FC<TooltipProps> = ({\n children,\n content,\n width = 230,\n placement = \"top\",\n pointer = false,\n variant = \"defaultLight\",\n visible,\n ...rest\n}) => {\n const [active, setActive] = useState(false)\n\n const handleClick = () => {\n setActive((prevActive) => !prevActive)\n }\n\n const activate = () => {\n setActive(true)\n }\n\n const deactivate = () => {\n setActive(false)\n }\n\n const {\n anchorRef,\n tooltipRef,\n state: { isFlipped },\n } = usePosition({\n position: placement,\n offset: 10,\n active: visible ?? active,\n })\n\n return (\n <>\n {React.cloneElement(children, {\n ref: anchorRef,\n tabIndex: 0,\n onClick: compose(handleClick, children.props?.onClick),\n onMouseOver: compose(activate, children.props?.onMouseOver),\n onMouseOut: compose(deactivate, children.props?.onMouseOut),\n onFocus: compose(activate, children.props?.onFocus),\n onBlur: compose(deactivate, children.props?.onBlur),\n })}\n\n <Tip\n ref={tooltipRef as any}\n variant={variant}\n width={width}\n zIndex={1}\n style={\n // If visible is explictly set to `false` then the tooltip should be hidden\n // Otherwise it should be visible or utilize the active state.\n visible !== false\n ? {\n opacity: visible ?? active ? 1 : 0,\n }\n : { opacity: 0 }\n }\n >\n {pointer && (\n <Pointer\n variant={variant}\n placement={placement}\n isFlipped={isFlipped}\n />\n )}\n\n <Panel variant={variant} p={1} {...rest}>\n {isText(content) ? <Text variant=\"xs\">{content}</Text> : content}\n </Panel>\n </Tip>\n </>\n )\n}\n\nconst Tip = styled(Box)<{ variant?: TooltipVariant }>`\n position: absolute;\n z-index: 1;\n transition: opacity 250ms ease-out;\n text-align: left;\n box-shadow: ${DROP_SHADOW};\n cursor: default;\n pointer-events: none;\n ${variant({ variants: TOOLTIP_VARIANTS })}\n`\n\nconst Panel = styled(Box)<{ variant?: TooltipVariant }>`\n ${variant({ variants: TOOLTIP_VARIANTS })}\n`\n\nconst compose = (a?: (...args: any) => any, b?: (...args: any) => any) => {\n return (...args) => {\n a?.(...args)\n b?.(...args)\n }\n}\n"],"file":"Tooltip.js"}
@@ -15,3 +15,4 @@ export declare const _Clickable: {
15
15
  };
16
16
  export declare const Placement: () => JSX.Element;
17
17
  export declare const IconExample: () => JSX.Element;
18
+ export declare const ExternalControl: () => JSX.Element;
@@ -1,13 +1,15 @@
1
1
  "use strict";
2
2
 
3
+ 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); }
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
- exports.default = exports._Clickable = exports.Placement = exports.IconExample = exports.Default = void 0;
8
+ exports.default = exports._Clickable = exports.Placement = exports.IconExample = exports.ExternalControl = exports.Default = void 0;
7
9
 
8
10
  var _addonActions = require("@storybook/addon-actions");
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _react = _interopRequireWildcard(require("react"));
11
13
 
12
14
  var _storybookStates = require("storybook-states");
13
15
 
@@ -17,16 +19,38 @@ var _usePosition = require("../../utils/usePosition");
17
19
 
18
20
  var _Box = require("../Box");
19
21
 
22
+ var _Button = require("../Button");
23
+
20
24
  var _Clickable2 = require("../Clickable");
21
25
 
22
26
  var _Text = require("../Text");
23
27
 
24
28
  var _Tooltip = require("./Tooltip");
25
29
 
26
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
30
+ var _excluded = ["children"];
31
+
32
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
33
+
34
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
35
+
36
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
37
+
38
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
39
+
40
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
41
+
42
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
43
+
44
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
45
+
46
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
27
47
 
28
48
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
29
49
 
50
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
51
+
52
+ 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; }
53
+
30
54
  var CONTENT = "Lorem ipsum dolor sit amet consectetur adipisicing elit?";
31
55
  var _default = {
32
56
  title: "Components/Tooltip"
@@ -42,21 +66,34 @@ var Default = function Default() {
42
66
  width: 600
43
67
  }, {
44
68
  placement: "bottom",
45
- visible: true
69
+ visible: true,
70
+ pointer: true
46
71
  }, {
47
72
  variant: "defaultDark",
48
73
  placement: "bottom",
49
- visible: true
74
+ visible: true,
75
+ pointer: true
76
+ }, {
77
+ visible: false,
78
+ children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "This text has a tooltip that never displays")
79
+ }, {
80
+ visible: true,
81
+ textAlign: "center"
50
82
  }]
51
- }, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
52
- content: CONTENT
53
- }, /*#__PURE__*/_react.default.createElement(_Text.Text, {
54
- variant: "xs",
55
- textAlign: "center",
56
- p: 1,
57
- bg: "black100",
58
- color: "white100"
59
- }, "This text has a tooltip")));
83
+ }, function (_ref) {
84
+ var children = _ref.children,
85
+ rest = _objectWithoutProperties(_ref, _excluded);
86
+
87
+ return /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, _extends({
88
+ content: CONTENT
89
+ }, rest), /*#__PURE__*/_react.default.createElement(_Text.Text, {
90
+ variant: "xs",
91
+ textAlign: "center",
92
+ p: 1,
93
+ bg: "black100",
94
+ color: "white100"
95
+ }, children !== null && children !== void 0 ? children : "This text has a tooltip"));
96
+ });
60
97
  };
61
98
 
62
99
  exports.Default = Default;
@@ -136,4 +173,27 @@ var IconExample = function IconExample() {
136
173
 
137
174
  exports.IconExample = IconExample;
138
175
  IconExample.displayName = "IconExample";
176
+
177
+ var ExternalControl = function ExternalControl() {
178
+ var _useState = (0, _react.useState)(false),
179
+ _useState2 = _slicedToArray(_useState, 2),
180
+ visible = _useState2[0],
181
+ setVisible = _useState2[1];
182
+
183
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
184
+ content: CONTENT,
185
+ visible: visible,
186
+ pointer: true,
187
+ variant: "defaultDark"
188
+ }, /*#__PURE__*/_react.default.createElement(_Button.Button, {
189
+ variant: "secondaryBlack",
190
+ onClick: function onClick() {
191
+ setVisible(function (visible) {
192
+ return !visible;
193
+ });
194
+ }
195
+ }, visible ? "Click to hide tooltip" : "Click to show tooltip")));
196
+ };
197
+
198
+ exports.ExternalControl = ExternalControl;
139
199
  //# sourceMappingURL=Tooltip.story.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Tooltip/Tooltip.story.tsx"],"names":["CONTENT","title","Default","placement","width","visible","variant","_Clickable","story","parameters","chromatic","disable","Placement","Object","keys","POSITION","map","props","JSON","stringify","IconExample","lineHeight"],"mappings":"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","sourcesContent":["import { action } from \"@storybook/addon-actions\"\nimport React from \"react\"\nimport { States } from \"storybook-states\"\nimport { HelpIcon } from \"../../svgs\"\nimport { Position, POSITION } from \"../../utils/usePosition\"\nimport { Box } from \"../Box\"\nimport { Clickable } from \"../Clickable\"\nimport { Text } from \"../Text\"\nimport { Tooltip, TooltipProps } from \"./Tooltip\"\n\nconst CONTENT = \"Lorem ipsum dolor sit amet consectetur adipisicing elit?\"\n\nexport default {\n title: \"Components/Tooltip\",\n}\n\nexport const Default = () => {\n return (\n <States<Partial<TooltipProps>>\n states={[\n { placement: \"top-start\" },\n { placement: \"bottom\", width: 600 },\n { placement: \"bottom\", visible: true },\n { variant: \"defaultDark\", placement: \"bottom\", visible: true },\n ]}\n >\n <Tooltip content={CONTENT}>\n <Text\n variant=\"xs\"\n textAlign=\"center\"\n p={1}\n bg=\"black100\"\n color=\"white100\"\n >\n This text has a tooltip\n </Text>\n </Tooltip>\n </States>\n )\n}\n\nexport const _Clickable = () => {\n return (\n <States<Partial<TooltipProps>> states={[{}]}>\n <Tooltip content={CONTENT}>\n <Clickable onClick={action(\"onClick\")}>\n <Text\n variant=\"xs\"\n textAlign=\"center\"\n p={1}\n bg=\"black100\"\n color=\"white100\"\n >\n This text has a tooltip and is clickable\n </Text>\n </Clickable>\n </Tooltip>\n </States>\n )\n}\n\n_Clickable.story = {\n parameters: { chromatic: { disable: true } },\n}\n\nexport const Placement = () => {\n return (\n <States<Partial<TooltipProps>>\n states={Object.keys(POSITION).map((placement) => ({\n placement: placement as Position,\n }))}\n >\n {(props) => {\n return (\n <Tooltip\n content={JSON.stringify(props)}\n variant=\"defaultDark\"\n pointer\n visible\n {...props}\n >\n <Text\n variant=\"xs\"\n textAlign=\"center\"\n p={1}\n maxWidth=\"50%\"\n mx=\"auto\"\n bg=\"black10\"\n >\n {JSON.stringify(props)}\n </Text>\n </Tooltip>\n )\n }}\n </States>\n )\n}\n\nexport const IconExample = () => {\n return (\n <Text variant=\"xs\" display=\"flex\" alignItems=\"center\" lineHeight={1}>\n Hover (or focus) the icon to display the tooltip.{\" \"}\n <Tooltip content={CONTENT} placement=\"bottom\">\n {/* Icons don't forwardRefs so we have to wrap in a span */}\n <Box as=\"span\" style={{ lineHeight: 0 }}>\n <HelpIcon ml={0.5} />\n </Box>\n </Tooltip>\n </Text>\n )\n}\n"],"file":"Tooltip.story.js"}
1
+ {"version":3,"sources":["../../../src/elements/Tooltip/Tooltip.story.tsx"],"names":["CONTENT","title","Default","placement","width","visible","pointer","variant","children","textAlign","rest","_Clickable","story","parameters","chromatic","disable","Placement","Object","keys","POSITION","map","props","JSON","stringify","IconExample","lineHeight","ExternalControl","setVisible"],"mappings":"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","sourcesContent":["import { action } from \"@storybook/addon-actions\"\nimport React, { useState } from \"react\"\nimport { States } from \"storybook-states\"\nimport { HelpIcon } from \"../../svgs\"\nimport { Position, POSITION } from \"../../utils/usePosition\"\nimport { Box } from \"../Box\"\nimport { Button } from \"../Button\"\nimport { Clickable } from \"../Clickable\"\nimport { Text } from \"../Text\"\nimport { Tooltip, TooltipProps } from \"./Tooltip\"\n\nconst CONTENT = \"Lorem ipsum dolor sit amet consectetur adipisicing elit?\"\n\nexport default {\n title: \"Components/Tooltip\",\n}\n\nexport const Default = () => {\n return (\n <States<Partial<TooltipProps>>\n states={[\n { placement: \"top-start\" },\n { placement: \"bottom\", width: 600 },\n { placement: \"bottom\", visible: true, pointer: true },\n {\n variant: \"defaultDark\",\n placement: \"bottom\",\n visible: true,\n pointer: true,\n },\n {\n visible: false,\n children: <>This text has a tooltip that never displays</>,\n },\n {\n visible: true,\n textAlign: \"center\",\n },\n ]}\n >\n {({ children, ...rest }) => (\n <Tooltip content={CONTENT} {...rest}>\n <Text\n variant=\"xs\"\n textAlign=\"center\"\n p={1}\n bg=\"black100\"\n color=\"white100\"\n >\n {children ?? \"This text has a tooltip\"}\n </Text>\n </Tooltip>\n )}\n </States>\n )\n}\n\nexport const _Clickable = () => {\n return (\n <States<Partial<TooltipProps>> states={[{}]}>\n <Tooltip content={CONTENT}>\n <Clickable onClick={action(\"onClick\")}>\n <Text\n variant=\"xs\"\n textAlign=\"center\"\n p={1}\n bg=\"black100\"\n color=\"white100\"\n >\n This text has a tooltip and is clickable\n </Text>\n </Clickable>\n </Tooltip>\n </States>\n )\n}\n\n_Clickable.story = {\n parameters: { chromatic: { disable: true } },\n}\n\nexport const Placement = () => {\n return (\n <States<Partial<TooltipProps>>\n states={Object.keys(POSITION).map((placement) => ({\n placement: placement as Position,\n }))}\n >\n {(props) => {\n return (\n <Tooltip\n content={JSON.stringify(props)}\n variant=\"defaultDark\"\n pointer\n visible\n {...props}\n >\n <Text\n variant=\"xs\"\n textAlign=\"center\"\n p={1}\n maxWidth=\"50%\"\n mx=\"auto\"\n bg=\"black10\"\n >\n {JSON.stringify(props)}\n </Text>\n </Tooltip>\n )\n }}\n </States>\n )\n}\n\nexport const IconExample = () => {\n return (\n <Text variant=\"xs\" display=\"flex\" alignItems=\"center\" lineHeight={1}>\n Hover (or focus) the icon to display the tooltip.{\" \"}\n <Tooltip content={CONTENT} placement=\"bottom\">\n {/* Icons don't forwardRefs so we have to wrap in a span */}\n <Box as=\"span\" style={{ lineHeight: 0 }}>\n <HelpIcon ml={0.5} />\n </Box>\n </Tooltip>\n </Text>\n )\n}\n\nexport const ExternalControl = () => {\n const [visible, setVisible] = useState(false)\n\n return (\n <>\n <Tooltip\n content={CONTENT}\n visible={visible}\n pointer\n variant=\"defaultDark\"\n >\n <Button\n variant=\"secondaryBlack\"\n onClick={() => {\n setVisible((visible) => !visible)\n }}\n >\n {visible ? \"Click to hide tooltip\" : \"Click to show tooltip\"}\n </Button>\n </Tooltip>\n </>\n )\n}\n"],"file":"Tooltip.story.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artsy/palette",
3
- "version": "28.0.0",
3
+ "version": "28.1.1",
4
4
  "description": "Design system library for react components",
5
5
  "main": "dist/index.js",
6
6
  "publishConfig": {
@@ -176,5 +176,5 @@
176
176
  "<rootDir>/www/"
177
177
  ]
178
178
  },
179
- "gitHead": "1ebdbfef6782b7329c6d68da2395692f63241680"
179
+ "gitHead": "e57cefcda538d82a8a9f02f5a2be6dc86b5aa86b"
180
180
  }