@helpscout/hsds-react
Version:
React component library for Help Scout's Design System
172 lines (153 loc) • 6.25 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.ControlledTooltip = exports.CustomContent = exports.Default = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _react = _interopRequireWildcard(require("react"));
var _addonKnobs = require("@storybook/addon-knobs");
var _ = _interopRequireWildcard(require("."));
var _Text = _interopRequireDefault(require("../Text"));
var _Button = _interopRequireDefault(require("../Button"));
var _jsxRuntime = require("react/jsx-runtime");
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); }
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; }
var Default = function Default() {
var triggerOn = (0, _addonKnobs.select)('triggerOn', {
click: 'click',
hover: 'hover'
}, 'click');
var placement = (0, _addonKnobs.select)('placement', {
auto: 'auto',
top: 'top',
right: 'right',
bottom: 'bottom',
left: 'left',
'auto-start': 'auto-start',
'auto-end': 'auto-end',
'right-start': 'right-start',
'right-end': 'right-end',
'left-start': 'left-start',
'left-end': 'left-end',
'bottom-start': 'bottom-start',
'bottom-end': 'bottom-end',
'top-start': 'top-start',
'top-end': 'top-end'
}, 'top');
var props = {
animationDelay: (0, _addonKnobs.number)('animationDelay', 100),
animationDuration: (0, _addonKnobs.number)('animationDuration', 100),
closeOnEscPress: (0, _addonKnobs.boolean)('closeOnEscPress', true),
isOpen: (0, _addonKnobs.boolean)('isOpen', true),
triggerOn: triggerOn,
placement: placement,
title: (0, _addonKnobs.text)('title', '"Hello"'),
minWidth: (0, _addonKnobs.number)('minWidth', ''),
maxWidth: (0, _addonKnobs.number)('maxWidth', ''),
withArrow: (0, _addonKnobs.boolean)('withArrow', true)
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_.TooltipContext.Provider, {
value: {
zIndex: 256
},
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
style: {
padding: '20%',
textAlign: 'center'
},
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.default, (0, _extends2.default)({}, props, {
children: "Tooltip Trigger V2"
}))
})
});
};
exports.Default = Default;
var CustomContent = function CustomContent() {
var triggerOn = (0, _addonKnobs.select)('triggerOn', {
click: 'click',
hover: 'hover'
}, 'click');
var placement = (0, _addonKnobs.select)('placement', {
auto: 'auto',
top: 'top',
right: 'right',
bottom: 'bottom',
left: 'left',
'auto-start': 'auto-start',
'auto-end': 'auto-end',
'right-start': 'right-start',
'right-end': 'right-end',
'left-start': 'left-start',
'left-end': 'left-end',
'bottom-start': 'bottom-start',
'bottom-end': 'bottom-end',
'top-start': 'top-start',
'top-end': 'top-end'
}, 'top');
var tooltipContent = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Text.default, {
children: ["Hello there. ", /*#__PURE__*/(0, _jsxRuntime.jsx)("strong", {
children: "This is really important!"
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
theme: "blue",
size: "sm",
children: "Learn More"
})]
});
var props = {
animationDelay: (0, _addonKnobs.number)('animationDelay', 100),
animationDuration: (0, _addonKnobs.number)('animationDuration', 100),
closeOnEscPress: (0, _addonKnobs.boolean)('closeOnEscPress', true),
isOpen: (0, _addonKnobs.boolean)('isOpen', true),
triggerOn: triggerOn,
placement: placement,
title: tooltipContent,
minWidth: (0, _addonKnobs.number)('minWidth', ''),
maxWidth: (0, _addonKnobs.number)('maxWidth', '')
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_.TooltipContext.Provider, {
value: {
zIndex: 256
},
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
style: {
padding: '20%',
textAlign: 'center'
},
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.default, (0, _extends2.default)({}, props, {
children: "Tooltip Trigger"
}))
})
});
};
exports.CustomContent = CustomContent;
var ControlledTooltip = function ControlledTooltip() {
var _useState = (0, _react.useState)(false),
visible = _useState[0],
setVisible = _useState[1];
var toggle = function toggle() {
return setVisible(!visible);
};
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_.TooltipContext.Provider, {
value: {
zIndex: 256
},
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
style: {
padding: '20%',
textAlign: 'center'
},
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_.default, {
visible: visible,
title: "Hello",
children: "Tooltip Trigger"
})
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
onClick: toggle,
children: "toggle tooltip"
})
})]
})
});
};
exports.ControlledTooltip = ControlledTooltip;
;