@spothero/ui 17.0.0-beta.1 → 17.0.0-beta.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 (136) hide show
  1. package/dist/components/Accordion/Accordion.js +13 -0
  2. package/dist/components/Accordion/Accordion.stories.js +86 -0
  3. package/dist/components/Accordion/index.js +41 -0
  4. package/dist/components/Accordion/styles/button.js +23 -0
  5. package/dist/components/Accordion/styles/container.js +15 -0
  6. package/dist/components/Accordion/styles/index.js +32 -0
  7. package/dist/components/Accordion/styles/panel.js +13 -0
  8. package/dist/components/Alert/Alert.js +119 -0
  9. package/dist/components/Alert/Alert.stories.js +80 -0
  10. package/dist/components/Alert/index.js +15 -0
  11. package/dist/components/Alert/styles/index.js +192 -0
  12. package/dist/components/AutoSuggestSelect/AutoSuggestSelect.js +189 -0
  13. package/dist/components/AutoSuggestSelect/index.js +15 -0
  14. package/dist/components/Badge/Badge.js +13 -0
  15. package/dist/components/Badge/Badge.stories.js +38 -0
  16. package/dist/components/Badge/styles/index.js +40 -0
  17. package/dist/components/Button/Button.js +73 -0
  18. package/dist/components/Button/Button.spec.js +31 -0
  19. package/dist/components/Button/Button.styles.js +173 -0
  20. package/dist/components/Button/button-props.js +90 -0
  21. package/dist/components/Button/index.js +23 -0
  22. package/dist/components/Button/stories/button.js +59 -0
  23. package/dist/components/Button/stories/index.stories.js +124 -0
  24. package/dist/components/Button/stories/overview.js +96 -0
  25. package/dist/components/Card/Card.js +38 -0
  26. package/dist/components/Card/Card.stories.js +41 -0
  27. package/dist/components/Checkbox/Checkbox.js +13 -0
  28. package/dist/components/Checkbox/Checkbox.stories.js +44 -0
  29. package/dist/components/Checkbox/index.js +15 -0
  30. package/dist/components/Checkbox/styles/index.js +64 -0
  31. package/dist/components/Container/Container.js +34 -0
  32. package/dist/components/Container/Container.stories.js +74 -0
  33. package/dist/components/Container/Container.styles.js +17 -0
  34. package/dist/components/Divider/Divider.js +47 -0
  35. package/dist/components/Divider/Divider.stories.js +49 -0
  36. package/dist/components/Divider/Divider.styles.js +28 -0
  37. package/dist/components/FormControl/FormControl.js +79 -0
  38. package/dist/components/Grid/Grid.js +49 -0
  39. package/dist/components/Grid/Grid.stories.js +141 -0
  40. package/dist/components/Grid/Grid.styles.js +19 -0
  41. package/dist/components/Grid/GridItem.js +34 -0
  42. package/dist/components/Grid/GridItem.styles.js +13 -0
  43. package/dist/components/Grid/index.js +23 -0
  44. package/dist/components/Heading/Heading.js +49 -0
  45. package/dist/components/Heading/Heading.stories.js +54 -0
  46. package/dist/components/Heading/Heading.styles.js +79 -0
  47. package/dist/components/Icon/Icon.js +13 -0
  48. package/dist/components/Icon/Icon.stories.js +47 -0
  49. package/dist/components/Image/Image.js +106 -0
  50. package/dist/components/Image/Image.spec.js +83 -0
  51. package/dist/components/Image/Image.stories.js +92 -0
  52. package/dist/components/Input/Input.js +61 -0
  53. package/dist/components/Input/Input.stories.js +71 -0
  54. package/dist/components/Input/index.js +15 -0
  55. package/dist/components/Input/styles/index.js +71 -0
  56. package/dist/components/Link/Link.js +13 -0
  57. package/dist/components/Link/Link.stories.js +61 -0
  58. package/dist/components/Link/Link.styles.js +42 -0
  59. package/dist/components/List/List.js +88 -0
  60. package/dist/components/List/List.stories.js +124 -0
  61. package/dist/components/List/index.js +23 -0
  62. package/dist/components/List/styles/index.js +24 -0
  63. package/dist/components/List/styles/item.styles.js +11 -0
  64. package/dist/components/Loader/Loader.js +62 -0
  65. package/dist/components/Loader/Loader.stories.js +140 -0
  66. package/dist/components/Modal/Modal.js +52 -0
  67. package/dist/components/Modal/Modal.stories.js +236 -0
  68. package/dist/components/Modal/index.js +15 -0
  69. package/dist/components/Modal/styles/body.js +48 -0
  70. package/dist/components/Modal/styles/closeButton.js +27 -0
  71. package/dist/components/Modal/styles/dialog.js +25 -0
  72. package/dist/components/Modal/styles/dialogContainer.js +26 -0
  73. package/dist/components/Modal/styles/footer.js +12 -0
  74. package/dist/components/Modal/styles/header.js +20 -0
  75. package/dist/components/Modal/styles/index.js +70 -0
  76. package/dist/components/Modal/styles/overlay.js +12 -0
  77. package/dist/components/Popover/Popover.js +48 -0
  78. package/dist/components/Popover/Popover.stories.js +101 -0
  79. package/dist/components/Popover/PopoverArrow.js +34 -0
  80. package/dist/components/Popover/PopoverCloseButton.js +34 -0
  81. package/dist/components/Popover/PopoverContent.js +53 -0
  82. package/dist/components/Popover/index.js +37 -0
  83. package/dist/components/Popover/styles/index.js +38 -0
  84. package/dist/components/Popover/styles/popover-arrow.js +16 -0
  85. package/dist/components/Popover/styles/popover-body.js +15 -0
  86. package/dist/components/Popover/styles/popover-close-button.js +30 -0
  87. package/dist/components/Popover/styles/popover-content.js +29 -0
  88. package/dist/components/Popover/styles/popover-header.js +12 -0
  89. package/dist/components/Popover/styles/popper.js +11 -0
  90. package/dist/components/Radio/Radio.js +52 -0
  91. package/dist/components/Radio/Radio.stories.js +142 -0
  92. package/dist/components/Radio/RadioGroup.js +65 -0
  93. package/dist/components/Radio/index.js +23 -0
  94. package/dist/components/Radio/styles/index.js +65 -0
  95. package/dist/components/Select/Select.js +71 -0
  96. package/dist/components/Select/Select.stories.js +74 -0
  97. package/dist/components/Select/index.js +15 -0
  98. package/dist/components/Select/styles/index.js +57 -0
  99. package/dist/components/Skeleton/Skeleton.stories.js +41 -0
  100. package/dist/components/Skeleton/Skeleton.styles.js +13 -0
  101. package/dist/components/Skeleton/index.js +25 -0
  102. package/dist/components/Spinner/Spinner.js +47 -0
  103. package/dist/components/Spinner/Spinner.stories.js +134 -0
  104. package/dist/components/Spinner/Spinner.styles.js +76 -0
  105. package/dist/components/Switch/Switch.js +59 -0
  106. package/dist/components/Switch/Switch.stories.js +86 -0
  107. package/dist/components/Switch/index.js +15 -0
  108. package/dist/components/Switch/styles/index.js +46 -0
  109. package/dist/components/Table/Table.js +13 -0
  110. package/dist/components/Table/Table.stories.js +92 -0
  111. package/dist/components/Table/Table.styles.js +87 -0
  112. package/dist/components/Table/index.js +59 -0
  113. package/dist/components/Tabs/Tabs.js +48 -0
  114. package/dist/components/Tabs/Tabs.stories.js +51 -0
  115. package/dist/components/Tabs/combineSizeWithVariant.js +44 -0
  116. package/dist/components/Tabs/index.js +41 -0
  117. package/dist/components/Tabs/styles/index.js +52 -0
  118. package/dist/components/Text/Text.js +44 -0
  119. package/dist/components/Text/Text.stories.js +56 -0
  120. package/dist/components/Text/Text.styles.js +67 -0
  121. package/dist/components/Text/combineAsWithVariant.js +123 -0
  122. package/dist/components/Text/options.js +9 -0
  123. package/dist/components/ThemeProvider/ThemeProvider.js +66 -0
  124. package/dist/components/ThemeProvider/ThemeProvider.stories.js +63 -0
  125. package/dist/components/index.js +577 -0
  126. package/dist/components/styles.js +175 -0
  127. package/dist/theme/base/breakpoints.js +27 -0
  128. package/dist/theme/base/colors.js +148 -0
  129. package/dist/theme/base/index.js +59 -0
  130. package/dist/theme/base/sizes.js +88 -0
  131. package/dist/theme/base/typography.js +41 -0
  132. package/dist/theme/base/zindices.js +35 -0
  133. package/dist/theme/global.js +52 -0
  134. package/dist/theme/index.js +63 -0
  135. package/dist/utils/Spaces.js +27 -0
  136. package/package.json +1 -1
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _react.Icon;
10
+ }
11
+ });
12
+
13
+ var _react = require("@chakra-ui/react");
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.Icon = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _icons = require("@spothero/icons");
13
+
14
+ var _Icon = _interopRequireDefault(require("./Icon"));
15
+
16
+ var _default = {
17
+ title: 'v2/Icon',
18
+ component: _Icon.default,
19
+ parameters: {
20
+ removeBaseHtmlClass: true
21
+ }
22
+ };
23
+ exports.default = _default;
24
+
25
+ var Template = function Template(props) {
26
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Icon.default, {
27
+ as: _icons.HeroCar,
28
+ color: "primary.default",
29
+ height: "24",
30
+ width: "24"
31
+ }), /*#__PURE__*/_react.default.createElement(_Icon.default, {
32
+ as: _icons.S4BLogo,
33
+ color: "gray.dark",
34
+ height: "24",
35
+ width: "24",
36
+ paddingLeft: "16"
37
+ }), /*#__PURE__*/_react.default.createElement(_Icon.default, {
38
+ as: _icons.Shield,
39
+ color: "green.default",
40
+ height: "24",
41
+ width: "24",
42
+ paddingLeft: "16"
43
+ }));
44
+ };
45
+
46
+ var Icon = Template.bind({});
47
+ exports.Icon = Icon;
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+
3
+ var _Object$keys = require("@babel/runtime-corejs3/core-js-stable/object/keys");
4
+
5
+ var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-symbols");
6
+
7
+ var _filterInstanceProperty = require("@babel/runtime-corejs3/core-js-stable/instance/filter");
8
+
9
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
10
+
11
+ var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptors");
12
+
13
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
14
+
15
+ Object.defineProperty(exports, "__esModule", {
16
+ value: true
17
+ });
18
+ exports.default = void 0;
19
+
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
21
+
22
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
23
+
24
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
25
+
26
+ var _react = _interopRequireDefault(require("react"));
27
+
28
+ var _react2 = require("@chakra-ui/react");
29
+
30
+ var _template = _interopRequireDefault(require("lodash/template"));
31
+
32
+ var _environment = _interopRequireDefault(require("@spothero/utils/environment"));
33
+
34
+ var _excluded = ["isSSR", "cloudinaryImageId", "cloudinaryTemplate", "cloudinaryCloudName", "htmlWidth", "htmlHeight", "quality", "lazyLoad"];
35
+
36
+ function ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
37
+
38
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? Object.defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }
39
+
40
+ var buildCloudinarySrc = function buildCloudinarySrc(_ref) {
41
+ var _context, _context2;
42
+
43
+ var cloudinaryImageId = _ref.cloudinaryImageId,
44
+ cloudinaryTemplate = _ref.cloudinaryTemplate,
45
+ cloudinaryCloudName = _ref.cloudinaryCloudName,
46
+ htmlWidth = _ref.htmlWidth,
47
+ htmlHeight = _ref.htmlHeight,
48
+ quality = _ref.quality;
49
+ var defaultTemplate = (0, _concat.default)(_context = (0, _concat.default)(_context2 = "https://res.cloudinary.com/".concat(cloudinaryCloudName, "/image/upload/$w_{{WIDTH}},$h_{{HEIGHT}},$q_{{QUALITY}}/c_fill,f_auto,fl_progressive,dpr_")).call(_context2, _environment.default.isHighDensityDisplay() ? 2 : 1, ",h_$h,q_$q,w_$w/")).call(_context, cloudinaryImageId);
50
+ var tmpl = cloudinaryTemplate ? cloudinaryTemplate : defaultTemplate;
51
+ return (0, _template.default)(tmpl, {
52
+ interpolate: /{{([\s\S]+?)}}/g // matches template vars in the format '{{ var }}' or '{{var}}'
53
+
54
+ })({
55
+ WIDTH: htmlWidth,
56
+ HEIGHT: htmlHeight,
57
+ QUALITY: quality
58
+ });
59
+ };
60
+
61
+ var Image = function Image(_ref2) {
62
+ var isSSR = _ref2.isSSR,
63
+ cloudinaryImageId = _ref2.cloudinaryImageId,
64
+ cloudinaryTemplate = _ref2.cloudinaryTemplate,
65
+ cloudinaryCloudName = _ref2.cloudinaryCloudName,
66
+ htmlWidth = _ref2.htmlWidth,
67
+ htmlHeight = _ref2.htmlHeight,
68
+ quality = _ref2.quality,
69
+ lazyLoad = _ref2.lazyLoad,
70
+ otherProps = (0, _objectWithoutProperties2.default)(_ref2, _excluded);
71
+ var hasValidCloudinarySrc = (cloudinaryImageId || cloudinaryTemplate) && Boolean(htmlWidth) && Boolean(htmlHeight);
72
+ var cloudinarySrc;
73
+
74
+ if (hasValidCloudinarySrc) {
75
+ cloudinarySrc = buildCloudinarySrc({
76
+ cloudinaryImageId: cloudinaryImageId,
77
+ cloudinaryTemplate: cloudinaryTemplate,
78
+ cloudinaryCloudName: cloudinaryCloudName,
79
+ htmlWidth: htmlWidth,
80
+ htmlHeight: htmlHeight,
81
+ quality: quality
82
+ });
83
+ }
84
+
85
+ var imageProps = _objectSpread(_objectSpread({}, otherProps), {}, {
86
+ src: cloudinarySrc || otherProps.src,
87
+ htmlWidth: htmlWidth,
88
+ htmlHeight: htmlHeight
89
+ }, lazyLoad && {
90
+ loading: 'lazy'
91
+ });
92
+
93
+ if (isSSR) {
94
+ return /*#__PURE__*/_react.default.createElement(_react2.Img, imageProps);
95
+ } else {
96
+ return /*#__PURE__*/_react.default.createElement(_react2.Image, imageProps);
97
+ }
98
+ };
99
+
100
+ Image.defaultProps = {
101
+ isSSR: false,
102
+ quality: 50,
103
+ cloudinaryCloudName: 'spothero'
104
+ };
105
+ var _default = Image;
106
+ exports.default = _default;
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ var _react = _interopRequireDefault(require("react"));
6
+
7
+ var _react2 = require("@testing-library/react");
8
+
9
+ var _Image = _interopRequireDefault(require("./Image"));
10
+
11
+ var defaultSrc = 'http://placehold.it/350x200';
12
+
13
+ var render = function render(props) {
14
+ (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_Image.default, props));
15
+ };
16
+
17
+ describe('Image', function () {
18
+ describe('basic behavior', function () {
19
+ it('displays an image', function () {
20
+ render({
21
+ src: defaultSrc,
22
+ alt: 'An image'
23
+ });
24
+ (0, _react2.waitFor)(function () {
25
+ expect(_react2.screen.getByRole('img')).toHaveAttribute('src', defaultSrc);
26
+ });
27
+ });
28
+ it('displays an image (SSR)', function () {
29
+ render({
30
+ src: defaultSrc,
31
+ alt: 'An image',
32
+ isSSR: true
33
+ });
34
+ expect(_react2.screen.getByRole('img')).toHaveAttribute('src', defaultSrc);
35
+ });
36
+ });
37
+ describe('Cloudinary properties', function () {
38
+ it('correctly sets image src when a Cloudinary image template is passed in', function () {
39
+ render({
40
+ cloudinaryTemplate: 'https://res.cloudinary.com/spothero/image/upload/$w_{{WIDTH}},$h_{{HEIGHT}},$q_{{QUALITY}}/c_fill,f_auto,h_$h,q_$q,w_$w/html-emails/google',
41
+ htmlWidth: 250,
42
+ htmlHeight: 500,
43
+ quality: 75,
44
+ alt: 'An image'
45
+ });
46
+ (0, _react2.waitFor)(function () {
47
+ expect(_react2.screen.getByRole('img')).toHaveAttribute('src', 'https://res.cloudinary.com/spothero/image/upload/$w_250,$h_500,$q_75/c_fill,f_auto,h_$h,q_$q,w_$w/html-emails/google');
48
+ });
49
+ });
50
+ it('correctly sets image src when a Cloudinary image id is passed in', function () {
51
+ render({
52
+ cloudinaryImageId: 'html-emails/partner-hertz',
53
+ htmlWidth: 250,
54
+ htmlHeight: 500,
55
+ alt: 'An image',
56
+ isSSR: true
57
+ });
58
+ expect(_react2.screen.getByRole('img')).toHaveAttribute('src', 'https://res.cloudinary.com/spothero/image/upload/$w_250,$h_500,$q_50/c_fill,f_auto,fl_progressive,dpr_1,h_$h,q_$q,w_$w/html-emails/partner-hertz');
59
+ });
60
+ it('does not set in image src when invalid set of Cloudinary props is passed in', function () {
61
+ render({
62
+ cloudinaryImageId: 'html-emails/partner-hertz',
63
+ alt: 'An image',
64
+ isSSR: true
65
+ });
66
+ (0, _react2.waitFor)(function () {
67
+ expect(_react2.screen.getByRole('img')).not.toHaveAttribute('src');
68
+ });
69
+ });
70
+ });
71
+ describe('Lazy loading', function () {
72
+ it('correctly sets image loading attribute to lazy when lazyLoad prop is true', function () {
73
+ render({
74
+ src: defaultSrc,
75
+ alt: 'An image',
76
+ lazyLoad: true
77
+ });
78
+ (0, _react2.waitFor)(function () {
79
+ expect(_react2.screen.getByRole('img')).toHaveAttribute('loading', 'lazy');
80
+ });
81
+ });
82
+ });
83
+ });
@@ -0,0 +1,92 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.StyledImage = exports.SSRImg = exports.LazyLoadImage = exports.DefaultImage = exports.CloudinaryImageTemplate = exports.CloudinaryImageId = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _Image = _interopRequireDefault(require("./Image"));
13
+
14
+ var _default = {
15
+ title: 'v2/Image',
16
+ component: _Image.default,
17
+ parameters: {
18
+ removeBaseHtmlClass: true,
19
+ importBy: 'Image'
20
+ }
21
+ };
22
+ exports.default = _default;
23
+
24
+ var Template = function Template(props) {
25
+ return /*#__PURE__*/_react.default.createElement(_Image.default, props);
26
+ };
27
+
28
+ var LazyLoadTemplate = function LazyLoadTemplate(props) {
29
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", null, "Scroll down to see lazy loaded image in action..."), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement(_Image.default, props));
30
+ };
31
+
32
+ var DefaultImage = Template.bind({});
33
+ exports.DefaultImage = DefaultImage;
34
+ DefaultImage.args = {
35
+ src: 'http://placehold.it/350x200',
36
+ width: 350,
37
+ height: 200,
38
+ alt: 'Placeholder image'
39
+ };
40
+ var StyledImage = Template.bind({});
41
+ exports.StyledImage = StyledImage;
42
+ StyledImage.args = {
43
+ src: 'http://placehold.it/350x200',
44
+ alt: 'Placeholder image',
45
+ padding: 4,
46
+ borderColor: 'green.default',
47
+ borderWidth: '1px',
48
+ borderStyle: 'solid',
49
+ height: {
50
+ base: 'auto',
51
+ tablet: 52
52
+ },
53
+ width: {
54
+ base: 'auto',
55
+ tablet: 52
56
+ }
57
+ };
58
+ var SSRImg = Template.bind({});
59
+ exports.SSRImg = SSRImg;
60
+ SSRImg.args = {
61
+ src: 'http://placehold.it/350x200',
62
+ width: 350,
63
+ height: 200,
64
+ alt: 'SSR image'
65
+ };
66
+ var CloudinaryImageId = Template.bind({});
67
+ exports.CloudinaryImageId = CloudinaryImageId;
68
+ CloudinaryImageId.args = {
69
+ cloudinaryImageId: 'html-emails/partner-hertz',
70
+ htmlWidth: 186,
71
+ htmlHeight: 76,
72
+ quality: 50,
73
+ alt: 'Cloudinary image ID'
74
+ };
75
+ var CloudinaryImageTemplate = Template.bind({});
76
+ exports.CloudinaryImageTemplate = CloudinaryImageTemplate;
77
+ CloudinaryImageTemplate.args = {
78
+ cloudinaryTemplate: 'https://res.cloudinary.com/spothero/image/upload/$w_{{WIDTH}},$h_{{HEIGHT}},$q_{{QUALITY}}/c_fill,f_auto,h_$h,q_$q,w_$w/html-emails/google',
79
+ htmlWidth: 132,
80
+ htmlHeight: 111,
81
+ quality: 80,
82
+ alt: 'Cloudinary image template'
83
+ };
84
+ var LazyLoadImage = LazyLoadTemplate.bind({});
85
+ exports.LazyLoadImage = LazyLoadImage;
86
+ LazyLoadImage.args = {
87
+ src: 'https://res.cloudinary.com/spothero/image/upload/$w_1024,$h_704,$q_50/c_fill,f_auto,h_$h,q_$q,w_$w,x_375,y_250/v1577978927/rzm2xqhtgqxfv3isxmyy.jpg',
88
+ width: 350,
89
+ height: 200,
90
+ alt: 'Placeholder image',
91
+ lazyLoad: true
92
+ };
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+
5
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
6
+
7
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
8
+
9
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
10
+
11
+ Object.defineProperty(exports, "__esModule", {
12
+ value: true
13
+ });
14
+ exports.default = void 0;
15
+
16
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
17
+
18
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _classnames = _interopRequireDefault(require("classnames"));
23
+
24
+ var _react2 = require("@chakra-ui/react");
25
+
26
+ var _FormControl = _interopRequireDefault(require("../FormControl/FormControl"));
27
+
28
+ var _excluded = ["label", "helperText", "errorMessage", "isInvalid", "isDisabled", "isRequired", "isOptional"];
29
+
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); }
31
+
32
+ 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; }
33
+
34
+ var Input = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
35
+ var label = _ref.label,
36
+ helperText = _ref.helperText,
37
+ errorMessage = _ref.errorMessage,
38
+ isInvalid = _ref.isInvalid,
39
+ isDisabled = _ref.isDisabled,
40
+ isRequired = _ref.isRequired,
41
+ isOptional = _ref.isOptional,
42
+ props = (0, _objectWithoutProperties2.default)(_ref, _excluded);
43
+ var classes = (0, _classnames.default)({
44
+ 'FormElement-contains-error': isInvalid
45
+ });
46
+ return /*#__PURE__*/_react.default.createElement(_FormControl.default, {
47
+ isInvalid: isInvalid,
48
+ isDisabled: isDisabled,
49
+ isRequired: isRequired,
50
+ isOptional: isOptional,
51
+ errorMessage: errorMessage,
52
+ helperText: helperText,
53
+ label: label,
54
+ inputId: props.id
55
+ }, /*#__PURE__*/_react.default.createElement(_react2.Input, (0, _extends2.default)({
56
+ ref: ref,
57
+ className: classes
58
+ }, props)));
59
+ });
60
+ var _default = Input;
61
+ exports.default = _default;
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.Input = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _Input = _interopRequireDefault(require("./Input"));
15
+
16
+ var _react2 = require("@chakra-ui/react");
17
+
18
+ var _default = {
19
+ title: 'v2/Input',
20
+ component: _Input.default,
21
+ parameters: {
22
+ importBy: 'Input',
23
+ removeBaseHtmlClass: true,
24
+ chakraLink: 'https://chakra-ui.com/docs/components/input'
25
+ }
26
+ };
27
+ exports.default = _default;
28
+
29
+ var InputTemplate = function InputTemplate(props) {
30
+ return /*#__PURE__*/_react.default.createElement(_Input.default, (0, _extends2.default)({
31
+ variant: "outline",
32
+ maxWidth: "200px"
33
+ }, props));
34
+ };
35
+
36
+ var Input = InputTemplate.bind({});
37
+ exports.Input = Input;
38
+ Input.argTypes = {
39
+ placeholder: {
40
+ control: {
41
+ type: 'text'
42
+ }
43
+ },
44
+ label: {
45
+ control: {
46
+ type: 'text'
47
+ }
48
+ },
49
+ helperText: {
50
+ control: {
51
+ type: 'text'
52
+ }
53
+ },
54
+ errorMessage: {
55
+ control: {
56
+ type: 'text'
57
+ }
58
+ }
59
+ };
60
+ Input.args = {
61
+ id: 'input_id',
62
+ placeholder: 'Placeholder text',
63
+ label: 'Label',
64
+ helperText: 'Helper text',
65
+ errorMessage: 'Error message',
66
+ isInvalid: false,
67
+ isDisabled: false,
68
+ isReadOnly: false,
69
+ isRequired: false,
70
+ isOptional: false
71
+ };
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ Object.defineProperty(exports, "default", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _Input.default;
12
+ }
13
+ });
14
+
15
+ var _Input = _interopRequireDefault(require("./Input"));
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _merge = _interopRequireDefault(require("lodash/merge"));
11
+
12
+ var _theme = _interopRequireDefault(require("@chakra-ui/theme"));
13
+
14
+ var baseStyle = {
15
+ field: {
16
+ _placeholder: {
17
+ color: 'text.secondary.light',
18
+ fontWeight: 'normal',
19
+ _disabled: {
20
+ color: 'text.secondary.light',
21
+ opacity: 1
22
+ }
23
+ }
24
+ }
25
+ };
26
+ var variants = {
27
+ outline: {
28
+ field: {
29
+ border: '1px solid',
30
+ borderColor: 'gray.200',
31
+ fontSize: 'base',
32
+ paddingLeft: 3,
33
+ paddingRight: 3,
34
+ bg: 'inherit',
35
+ fontWeight: 'normal',
36
+ boxShadow: 'none !important',
37
+ _placeholder: {
38
+ color: 'text.secondary.light',
39
+ fontWeight: 'normal'
40
+ },
41
+ _focus: {
42
+ borderColor: 'brandBlue'
43
+ },
44
+ _hover: {
45
+ borderColor: 'gray.300'
46
+ },
47
+ _readOnly: {
48
+ boxShadow: 'none !important',
49
+ userSelect: 'all'
50
+ },
51
+ _disabled: {
52
+ backgroundColor: 'gray.50',
53
+ opacity: 1,
54
+ cursor: 'not-allowed'
55
+ },
56
+ _invalid: {
57
+ borderColor: 'error',
58
+ _focus: {
59
+ borderColor: 'error'
60
+ }
61
+ }
62
+ }
63
+ }
64
+ };
65
+
66
+ var _default = (0, _merge.default)(_theme.default.components.Input, {
67
+ baseStyle: baseStyle,
68
+ variants: variants
69
+ });
70
+
71
+ exports.default = _default;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "default", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _react.Link;
10
+ }
11
+ });
12
+
13
+ var _react = require("@chakra-ui/react");
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = exports.Overview = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var _react2 = require("@chakra-ui/react");
13
+
14
+ var _share = _interopRequireDefault(require("@spothero/icons/share"));
15
+
16
+ var _Text = _interopRequireDefault(require("../Text/Text"));
17
+
18
+ var _Link = _interopRequireDefault(require("./Link"));
19
+
20
+ var _default = {
21
+ title: 'v2/Link',
22
+ component: _Link.default,
23
+ parameters: {
24
+ removeBaseHtmlClass: true
25
+ }
26
+ };
27
+ exports.default = _default;
28
+
29
+ var OverviewTemplate = function OverviewTemplate(props, _ref) {
30
+ var hasDarkBackground = _ref.hasDarkBackground;
31
+ return /*#__PURE__*/_react.default.createElement(_react2.Box, null, /*#__PURE__*/_react.default.createElement(_Text.default, {
32
+ color: hasDarkBackground ? 'text.primary.dark' : 'text.primary.light'
33
+ }, "A link with", ' ', /*#__PURE__*/_react.default.createElement(_Link.default, {
34
+ variant: hasDarkBackground ? 'onDark' : 'standard'
35
+ }, "no href"), ' ', "is only styled."), /*#__PURE__*/_react.default.createElement(_Text.default, {
36
+ color: hasDarkBackground ? 'text.primary.dark' : 'text.primary.light'
37
+ }, "Links can be linked to", ' ', /*#__PURE__*/_react.default.createElement(_Link.default, {
38
+ href: "#",
39
+ isExternal: true,
40
+ variant: hasDarkBackground ? 'onDark' : 'standard'
41
+ }, "External Pages"), ' ', "and will have ", /*#__PURE__*/_react.default.createElement("code", null, "target=\"_blank\""), " and", ' ', /*#__PURE__*/_react.default.createElement("code", null, "rel=\"noopener noreferrer\""), " appended to them."), /*#__PURE__*/_react.default.createElement(_Text.default, {
42
+ color: hasDarkBackground ? 'text.primary.dark' : 'text.primary.light'
43
+ }, "Links can have", ' ', /*#__PURE__*/_react.default.createElement(_Link.default, {
44
+ href: "#",
45
+ variant: hasDarkBackground ? 'onDark' : 'standard'
46
+ }, "icons inline ", /*#__PURE__*/_react.default.createElement(_share.default, {
47
+ width: "1rem"
48
+ }))), /*#__PURE__*/_react.default.createElement(_Text.default, {
49
+ color: hasDarkBackground ? 'text.primary.dark' : 'text.primary.light'
50
+ }, "Using the ", /*#__PURE__*/_react.default.createElement("code", null, "as"), " prop, you can utilize a routing library, like", ' ', /*#__PURE__*/_react.default.createElement(_Link.default, {
51
+ href: "https://chakra-ui.com/docs/navigation/link#usage-with-routing-library",
52
+ isExternal: true,
53
+ variant: hasDarkBackground ? 'onDark' : 'standard'
54
+ }, "React Router"), ' ', "and it will replace the ", /*#__PURE__*/_react.default.createElement("code", null, "a"), " tag with it's", ' ', /*#__PURE__*/_react.default.createElement("code", null, "Link"), "."));
55
+ };
56
+
57
+ var Overview = OverviewTemplate.bind({});
58
+ exports.Overview = Overview;
59
+ Overview.parameters = {
60
+ importBy: 'Link'
61
+ };