@spothero/ui 15.1.3-beta.0 → 15.2.0-beta.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.
Files changed (147) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/package.json +5 -3
  3. package/styles/v2/components/Modal/styles/dialogContainer.js +1 -4
  4. package/styles/v2/components/Radio/Radio.jsx +1 -1
  5. package/styles/v2/components/Radio/RadioGroup.jsx +1 -1
  6. package/v1/components/Button/Button.js +64 -0
  7. package/v1/components/Button/button-props.js +48 -0
  8. package/v1/components/Image/Image.js +193 -0
  9. package/v1/components/Loader/Loader.js +51 -0
  10. package/v1/components/Modal/Modal.js +325 -0
  11. package/v1/components/Modal/ModalContent.js +154 -0
  12. package/v1/components/Modal/ModalFooter.js +89 -0
  13. package/v1/components/Modal/index.js +31 -0
  14. package/v1/components/Panel/Panel.js +209 -0
  15. package/v1/components/Table/Table.js +328 -0
  16. package/v1/components/Table/TableCell.js +28 -0
  17. package/v1/components/Table/TableCellPropTypes.js +22 -0
  18. package/v1/components/Table/TableControls.js +56 -0
  19. package/v1/components/Table/TableFooter.js +63 -0
  20. package/v1/components/Table/TableHeading.js +126 -0
  21. package/v1/components/Table/TableHeadingPropTypes.js +35 -0
  22. package/v1/components/Table/TableSortSelector.js +125 -0
  23. package/v1/components/Table/TableSortType.js +11 -0
  24. package/v1/components/Table/index.js +47 -0
  25. package/v1/components/TextButton/TextButton.js +74 -0
  26. package/v1/components/index.js +75 -0
  27. package/v1/utils/deprecate.js +61 -0
  28. package/v2/components/Accordion/Accordion.js +13 -0
  29. package/v2/components/Accordion/Accordion.stories.js +86 -0
  30. package/v2/components/Accordion/index.js +41 -0
  31. package/v2/components/Accordion/styles/button.js +23 -0
  32. package/v2/components/Accordion/styles/container.js +15 -0
  33. package/v2/components/Accordion/styles/index.js +32 -0
  34. package/v2/components/Accordion/styles/panel.js +13 -0
  35. package/v2/components/Button/Button.js +73 -0
  36. package/v2/components/Button/Button.styles.js +172 -0
  37. package/v2/components/Button/button-props.js +90 -0
  38. package/v2/components/Button/index.js +23 -0
  39. package/v2/components/Card/Card.js +38 -0
  40. package/v2/components/Card/Card.stories.js +41 -0
  41. package/v2/components/Checkbox/Checkbox.js +13 -0
  42. package/v2/components/Checkbox/Checkbox.stories.js +44 -0
  43. package/v2/components/Checkbox/index.js +15 -0
  44. package/v2/components/Checkbox/styles/index.js +46 -0
  45. package/v2/components/Container/Container.js +34 -0
  46. package/v2/components/Container/Container.stories.js +74 -0
  47. package/v2/components/Container/Container.styles.js +17 -0
  48. package/v2/components/FormControl/FormControl.js +70 -0
  49. package/v2/components/Grid/Grid.js +49 -0
  50. package/v2/components/Grid/Grid.stories.js +141 -0
  51. package/v2/components/Grid/Grid.styles.js +19 -0
  52. package/v2/components/Grid/GridItem.js +34 -0
  53. package/v2/components/Grid/GridItem.styles.js +13 -0
  54. package/v2/components/Grid/index.js +23 -0
  55. package/v2/components/Heading/Heading.js +49 -0
  56. package/v2/components/Heading/Heading.stories.js +54 -0
  57. package/v2/components/Heading/Heading.styles.js +79 -0
  58. package/v2/components/Icon/Icon.js +13 -0
  59. package/v2/components/Icon/Icon.stories.js +47 -0
  60. package/v2/components/Image/Image.js +106 -0
  61. package/v2/components/Image/Image.stories.js +92 -0
  62. package/v2/components/Input/Input.js +59 -0
  63. package/v2/components/Input/Input.stories.js +65 -0
  64. package/v2/components/Input/index.js +15 -0
  65. package/v2/components/Input/styles/index.js +58 -0
  66. package/v2/components/Link/Link.js +13 -0
  67. package/v2/components/Link/Link.stories.js +61 -0
  68. package/v2/components/Link/Link.styles.js +42 -0
  69. package/v2/components/List/List.js +88 -0
  70. package/v2/components/List/List.stories.js +124 -0
  71. package/v2/components/List/index.js +23 -0
  72. package/v2/components/List/styles/index.js +24 -0
  73. package/v2/components/List/styles/item.styles.js +11 -0
  74. package/v2/components/Loader/Loader.js +62 -0
  75. package/v2/components/Loader/Loader.stories.js +140 -0
  76. package/v2/components/Modal/Modal.js +52 -0
  77. package/v2/components/Modal/Modal.stories.js +236 -0
  78. package/v2/components/Modal/index.js +15 -0
  79. package/v2/components/Modal/styles/body.js +47 -0
  80. package/v2/components/Modal/styles/closeButton.js +27 -0
  81. package/v2/components/Modal/styles/dialog.js +25 -0
  82. package/v2/components/Modal/styles/dialogContainer.js +17 -0
  83. package/v2/components/Modal/styles/footer.js +12 -0
  84. package/v2/components/Modal/styles/header.js +20 -0
  85. package/v2/components/Modal/styles/index.js +70 -0
  86. package/v2/components/Modal/styles/overlay.js +12 -0
  87. package/v2/components/Popover/Popover.js +48 -0
  88. package/v2/components/Popover/Popover.stories.js +101 -0
  89. package/v2/components/Popover/PopoverArrow.js +34 -0
  90. package/v2/components/Popover/PopoverCloseButton.js +34 -0
  91. package/v2/components/Popover/PopoverContent.js +53 -0
  92. package/v2/components/Popover/index.js +31 -0
  93. package/v2/components/Popover/styles/index.js +38 -0
  94. package/v2/components/Popover/styles/popover-arrow.js +16 -0
  95. package/v2/components/Popover/styles/popover-body.js +15 -0
  96. package/v2/components/Popover/styles/popover-close-button.js +30 -0
  97. package/v2/components/Popover/styles/popover-content.js +12 -0
  98. package/v2/components/Popover/styles/popover-header.js +12 -0
  99. package/v2/components/Popover/styles/popper.js +26 -0
  100. package/v2/components/Radio/Radio.js +53 -0
  101. package/v2/components/Radio/Radio.stories.js +142 -0
  102. package/v2/components/Radio/RadioGroup.js +65 -0
  103. package/v2/components/Radio/index.js +23 -0
  104. package/v2/components/Radio/styles/index.js +65 -0
  105. package/v2/components/Select/Select.js +69 -0
  106. package/v2/components/Select/Select.stories.js +73 -0
  107. package/v2/components/Select/index.js +15 -0
  108. package/v2/components/Select/styles/index.js +57 -0
  109. package/v2/components/Spinner/Spinner.js +47 -0
  110. package/v2/components/Spinner/Spinner.stories.js +134 -0
  111. package/v2/components/Spinner/Spinner.styles.js +76 -0
  112. package/v2/components/Table/Table.js +13 -0
  113. package/v2/components/Table/Table.stories.js +92 -0
  114. package/v2/components/Table/Table.styles.js +87 -0
  115. package/v2/components/Table/index.js +59 -0
  116. package/v2/components/Tabs/Tabs.js +13 -0
  117. package/v2/components/Tabs/Tabs.stories.js +31 -0
  118. package/v2/components/Tabs/index.js +41 -0
  119. package/v2/components/Tabs/styles/index.js +49 -0
  120. package/v2/components/Text/Text.js +44 -0
  121. package/v2/components/Text/Text.stories.js +56 -0
  122. package/v2/components/Text/Text.styles.js +67 -0
  123. package/v2/components/Text/combineAsWithVariant.js +123 -0
  124. package/v2/components/Text/options.js +9 -0
  125. package/v2/components/ThemeProvider/ThemeProvider.js +61 -0
  126. package/v2/components/ThemeProvider/ThemeProvider.stories.js +60 -0
  127. package/v2/components/index.js +448 -0
  128. package/v2/components/styles.js +135 -0
  129. package/v2/theme/base/breakpoints.js +27 -0
  130. package/v2/theme/base/colors.js +148 -0
  131. package/v2/theme/base/index.js +59 -0
  132. package/v2/theme/base/sizes.js +88 -0
  133. package/v2/theme/base/typography.js +41 -0
  134. package/v2/theme/base/zindices.js +35 -0
  135. package/v2/theme/global.js +52 -0
  136. package/v2/theme/index.js +63 -0
  137. package/v2/utils/Spaces.js +27 -0
  138. package/v1/assets-manifest.json +0 -5
  139. package/v1/index.html +0 -1
  140. package/v1/index.js +0 -3
  141. package/v1/index.js.LICENSE.txt +0 -23
  142. package/v1/index.js.map +0 -1
  143. package/v2/assets-manifest.json +0 -5
  144. package/v2/index.html +0 -1
  145. package/v2/index.js +0 -3
  146. package/v2/index.js.LICENSE.txt +0 -14
  147. package/v2/index.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,10 +2,28 @@
2
2
 
3
3
  ## Miscellaneous Updates
4
4
  * [[bff3c9d](https://github.com/spothero/fe-ui/commit/bff3c9d)] - `fix:` Fix imports in v1 modal ([#302](https://github.com/spothero/fe-ui/pull/302)) (Mick Johnson)
5
+ * `fix:` Fix imports in v1 modal
6
+ * `publish:` Changelog update for 14.8.5-beta.0 release
7
+ * 14.8.5-beta.0
8
+ * `squash:` Remove beta release stuffCo-authored-by: sh-devtools-bot <sh-dev-tools-bot@spothero.com>
5
9
 
6
10
  # 14.8.4 - 06/21/2022
7
11
  ## Miscellaneous Updates
8
12
  * [[2809609](https://github.com/spothero/fe-ui/commit/2809609)] - `feature:` Add Modal to V2 ([#299](https://github.com/spothero/fe-ui/pull/299)) (Mick Johnson)
13
+ * `squash:` Add new Modal component
14
+ * `squash:` More specific styling and scroll behavior
15
+ * `squash:` Mobile styling
16
+ * `squash:` Add Accordion Story
17
+ * `squash:` Cleanup stories and add focus state to close button
18
+ * `squash:` Story name cleanup
19
+ * `squash:` Design review feedback
20
+ * `squash:` Add jsdoc comments
21
+ * `squash:` Move v1 Modal to right place and export the subcomponents
22
+ * `squash:` Fix stylesheet import
23
+ * `squash:` Add hideCloseButton Prop, Render Box with header styles if header not passed in, Adjust visuals based on presence of header and close button
24
+ * `squash:` Proptypes type
25
+ * `squash:` Fixing the old modal export
26
+ * `squash:` Make onClose not required, tweak header styling
9
27
 
10
28
  # 14.8.3 - 06/21/2022
11
29
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spothero/ui",
3
- "version": "15.1.3-beta.0",
3
+ "version": "15.2.0-beta.0",
4
4
  "description": "SpotHero's React component UI library.",
5
5
  "main": "v2/index.js",
6
6
  "repository": "https://github.com/spothero/fe-monorepo",
@@ -61,8 +61,10 @@
61
61
  "test:unit": "npm run test:template -- --coverage",
62
62
  "test:unit:watch": "DEBUG_PRINT_LIMIT=-1 npm run test:template -- --watch",
63
63
  "clone:styles": "rsync -a src/ styles && rm -rf styles/**/*.{js,jsx} styles/**/stories",
64
- "build:v1": "TARGET_ENTRY=v1 NODE_ENV=production dex",
65
- "build:v2": "TARGET_ENTRY=v2 NODE_ENV=production dex",
64
+ "buildx:v1": "TARGET_ENTRY=v1 NODE_ENV=production dex",
65
+ "buildx:v2": "TARGET_ENTRY=v2 NODE_ENV=production dex",
66
+ "build:v1": "NODE_ENV=production babel src/v1 -d v1 --ignore \"**/*.spec.js\",\"**/stories/**\"",
67
+ "build:v2": "NODE_ENV=production babel src/v2 -d v2 --ignore \"**/*.spec.js\",\"**/stories/**\"",
66
68
  "build:backlog": "NODE_ENV=production babel src -d backlog --ignore \"**/*.spec.js\",\"**/stories/**\",\"**/v2/**\"",
67
69
  "build": "npm run clean && npm run clone:styles && npm run build:backlog && npm run build:v1 && npm run build:v2",
68
70
  "build:storybook": "build-storybook -o ./docs",
@@ -3,8 +3,5 @@ export default {
3
3
  zIndex: 'layer8',
4
4
  justifyContent: 'center',
5
5
  alignItems: {base: 'flex-end', tablet: 'center'},
6
- height: '100%',
7
- minHeight: '-moz-available',
8
- minHeight: '-webkit-fill-available',
9
- minHeight: 'fill-available',
6
+ overflow: 'hidden',
10
7
  };
@@ -23,8 +23,8 @@ const Radio = forwardRef(
23
23
  isDisabled={isDisabled}
24
24
  isFocusable={!isDisabled}
25
25
  value={value}
26
- alignItems="start"
27
26
  {...props}
27
+ alignItems="start"
28
28
  >
29
29
  {children}
30
30
  {helperText && (
@@ -29,7 +29,7 @@ const RadioGroup = forwardRef(
29
29
  errorMessage={errorMessage}
30
30
  label={label}
31
31
  inputId={props.id}
32
- isFieldset
32
+ isRadio
33
33
  >
34
34
  <ChakraRadioGroup
35
35
  ref={ref}
@@ -0,0 +1,64 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
+
12
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
13
+
14
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
15
+
16
+ var _react = _interopRequireDefault(require("react"));
17
+
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+
20
+ var _buttonProps = _interopRequireDefault(require("./button-props"));
21
+
22
+ var _deprecate = _interopRequireDefault(require("../../utils/deprecate"));
23
+
24
+ var _excluded = ["className", "color", "iconPosition", "block", "loading", "asAnchor", "type"];
25
+ (0, _deprecate.default)({
26
+ name: 'Button',
27
+ changes: ['iconPosition has been removed, iconLeft and iconRight have replaced it.', 'color is now variant and takes in new values.', 'block was removed, if full width is needed, use isFullWidth', 'loading was replaced by isLoading']
28
+ });
29
+
30
+ var Button = function Button(_ref) {
31
+ var className = _ref.className,
32
+ color = _ref.color,
33
+ iconPosition = _ref.iconPosition,
34
+ block = _ref.block,
35
+ loading = _ref.loading,
36
+ asAnchor = _ref.asAnchor,
37
+ type = _ref.type,
38
+ attrs = (0, _objectWithoutProperties2.default)(_ref, _excluded);
39
+ var classes = (0, _classnames.default)('Button', (0, _defineProperty2.default)({}, "Button-".concat(color), color), {
40
+ 'Button-block': block
41
+ }, {
42
+ 'Button-loading': loading
43
+ }, (0, _defineProperty2.default)({}, "Button-with-icon-".concat(iconPosition), iconPosition), className);
44
+
45
+ var _ref2 = asAnchor ? {
46
+ Element: 'a'
47
+ } : {
48
+ Element: 'button',
49
+ finalType: type
50
+ },
51
+ finalType = _ref2.finalType,
52
+ Element = _ref2.Element;
53
+
54
+ return /*#__PURE__*/_react.default.createElement(Element, (0, _extends2.default)({
55
+ className: classes,
56
+ type: finalType
57
+ }, attrs));
58
+ };
59
+
60
+ Button.defaultProps = {
61
+ type: 'button'
62
+ };
63
+ var _default = Button;
64
+ exports.default = _default;
@@ -0,0 +1,48 @@
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 _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var props = {
13
+ /** Additional class(es) to add to the component. */
14
+ className: _propTypes.default.string,
15
+
16
+ /** The markup node to insert into the button. */
17
+ children: _propTypes.default.node,
18
+
19
+ /** The type of button that is rendered. */
20
+ type: _propTypes.default.oneOf(['button', 'submit', 'reset']),
21
+
22
+ /** The color of the button. */
23
+ color: _propTypes.default.oneOf(['primary', 'secondary', 'tertiary']),
24
+
25
+ /** If an icon is provided, whether to add the margin to the icon on the left or right side. */
26
+ iconPosition: _propTypes.default.oneOf(['left', 'right']),
27
+
28
+ /** Whether the button should display as a block level element. */
29
+ block: _propTypes.default.bool,
30
+
31
+ /** Whether the button is disabled or not. */
32
+ disabled: _propTypes.default.bool,
33
+
34
+ /** Whether to show a loading animation inside of the button. */
35
+ loading: _propTypes.default.bool,
36
+
37
+ /**
38
+ * The handler to execute when the button is clicked.
39
+ *
40
+ * @param {SyntheticEvent} evt - The React `SyntheticEvent`.
41
+ */
42
+ onClick: _propTypes.default.func,
43
+
44
+ /** Determines if the underlying HTML element should be an <a> or <button>. */
45
+ asAnchor: _propTypes.default.bool
46
+ };
47
+ var _default = props;
48
+ exports.default = _default;
@@ -0,0 +1,193 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs3/helpers/typeof");
4
+
5
+ var _Reflect$construct = require("@babel/runtime-corejs3/core-js-stable/reflect/construct");
6
+
7
+ var _WeakMap = require("@babel/runtime-corejs3/core-js-stable/weak-map");
8
+
9
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs3/core-js-stable/object/get-own-property-descriptor");
10
+
11
+ var _interopRequireDefault = require("@babel/runtime-corejs3/helpers/interopRequireDefault");
12
+
13
+ Object.defineProperty(exports, "__esModule", {
14
+ value: true
15
+ });
16
+ exports.default = void 0;
17
+
18
+ var _concat = _interopRequireDefault(require("@babel/runtime-corejs3/core-js-stable/instance/concat"));
19
+
20
+ var _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
21
+
22
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/classCallCheck"));
23
+
24
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/createClass"));
25
+
26
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/assertThisInitialized"));
27
+
28
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/inherits"));
29
+
30
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/possibleConstructorReturn"));
31
+
32
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/getPrototypeOf"));
33
+
34
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/defineProperty"));
35
+
36
+ var _omit = _interopRequireDefault(require("lodash/omit"));
37
+
38
+ var _template = _interopRequireDefault(require("lodash/template"));
39
+
40
+ var _react = _interopRequireWildcard(require("react"));
41
+
42
+ var _classnames = _interopRequireDefault(require("classnames"));
43
+
44
+ var _reactLazyLoad = _interopRequireDefault(require("react-lazy-load"));
45
+
46
+ var _environment = _interopRequireDefault(require("@spothero/utils/environment"));
47
+
48
+ var _PulseLoader = _interopRequireDefault(require("../../../PulseLoader/PulseLoader"));
49
+
50
+ 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); }
51
+
52
+ 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; }
53
+
54
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
55
+
56
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
57
+
58
+ var Image = /*#__PURE__*/function (_Component) {
59
+ (0, _inherits2.default)(Image, _Component);
60
+
61
+ var _super = _createSuper(Image);
62
+
63
+ function Image(props) {
64
+ var _this;
65
+
66
+ (0, _classCallCheck2.default)(this, Image);
67
+ _this = _super.call(this, props);
68
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_onLoaded", function (evt) {
69
+ var onLoad = _this.props.onLoad;
70
+
71
+ _this.setState({
72
+ isLoaded: true
73
+ });
74
+
75
+ if (onLoad) {
76
+ onLoad(evt);
77
+ }
78
+ });
79
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isCloudinaryImageAndInvalid", function () {
80
+ var _this$props = _this.props,
81
+ cloudinaryImageId = _this$props.cloudinaryImageId,
82
+ cloudinaryTemplate = _this$props.cloudinaryTemplate,
83
+ width = _this$props.width,
84
+ height = _this$props.height;
85
+ return (cloudinaryImageId || cloudinaryTemplate) && (!width || !height);
86
+ });
87
+ var _cloudinaryImageId = props.cloudinaryImageId,
88
+ _cloudinaryTemplate = props.cloudinaryTemplate;
89
+ _this._imageProps = (0, _omit.default)(props, ['className', 'showLoader', 'lazyLoad', 'lazyLoadOffsetVertical', 'cloudinaryCloudName', 'cloudinaryImageId', 'cloudinaryTemplate', 'quality', 'onLoad']);
90
+ _this.state = {
91
+ isLoaded: false,
92
+ hasCloudinarySrc: !(_cloudinaryImageId || _cloudinaryTemplate)
93
+ };
94
+ return _this;
95
+ }
96
+
97
+ (0, _createClass2.default)(Image, [{
98
+ key: "componentDidMount",
99
+ value: function componentDidMount() {
100
+ var _this$props2 = this.props,
101
+ cloudinaryCloudName = _this$props2.cloudinaryCloudName,
102
+ cloudinaryTemplate = _this$props2.cloudinaryTemplate,
103
+ cloudinaryImageId = _this$props2.cloudinaryImageId,
104
+ width = _this$props2.width,
105
+ height = _this$props2.height,
106
+ quality = _this$props2.quality;
107
+
108
+ if (cloudinaryImageId || cloudinaryTemplate) {
109
+ var _context, _context2;
110
+
111
+ // cloudinary image provided, create the source path
112
+ if (this.isCloudinaryImageAndInvalid()) {
113
+ return;
114
+ }
115
+
116
+ var tmpl = cloudinaryTemplate ? cloudinaryTemplate : (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);
117
+ this._imageProps.src = (0, _template.default)(tmpl, {
118
+ interpolate: /{{([\s\S]+?)}}/g // matches template vars in the format '{{ var }}' or '{{var}}'
119
+
120
+ })({
121
+ WIDTH: width,
122
+ HEIGHT: height,
123
+ QUALITY: quality
124
+ }); // eslint-disable-next-line react/no-did-mount-set-state
125
+
126
+ this.setState({
127
+ hasCloudinarySrc: true
128
+ });
129
+ }
130
+ }
131
+ }, {
132
+ key: "_renderImage",
133
+ value: function _renderImage() {
134
+ var _this$props3 = this.props,
135
+ className = _this$props3.className,
136
+ width = _this$props3.width,
137
+ height = _this$props3.height,
138
+ showLoader = _this$props3.showLoader;
139
+ var isLoaded = this.state.isLoaded;
140
+ var classes = (0, _classnames.default)(className, 'Image-container');
141
+ var imgClasses = (0, _classnames.default)('Image', {
142
+ 'Image-loaded': isLoaded
143
+ });
144
+ return /*#__PURE__*/_react.default.createElement("div", {
145
+ className: classes,
146
+ style: {
147
+ maxWidth: width,
148
+ maxHeight: height
149
+ }
150
+ }, showLoader && !isLoaded && /*#__PURE__*/_react.default.createElement(_PulseLoader.default, {
151
+ size: 32,
152
+ borderWidth: 2
153
+ }), /*#__PURE__*/_react.default.createElement("img", (0, _extends2.default)({}, this._imageProps, {
154
+ className: imgClasses,
155
+ onLoad: this._onLoaded
156
+ })));
157
+ }
158
+ }, {
159
+ key: "render",
160
+ value: function render() {
161
+ var _this$props4 = this.props,
162
+ lazyLoad = _this$props4.lazyLoad,
163
+ lazyLoadOffsetVertical = _this$props4.lazyLoadOffsetVertical;
164
+ var hasCloudinarySrc = this.state.hasCloudinarySrc; // the source is set after component is mounted in the case of Cloudinary images otherwise there are mis-matching
165
+ // DPR attributes in the url since node will always set the DPR to 1 and high density displays will have it set to 2+.
166
+
167
+ if (!hasCloudinarySrc) {
168
+ return null;
169
+ }
170
+
171
+ if (this.isCloudinaryImageAndInvalid()) {
172
+ return null;
173
+ }
174
+
175
+ if (lazyLoad) {
176
+ return /*#__PURE__*/_react.default.createElement(_reactLazyLoad.default, {
177
+ offsetVertical: lazyLoadOffsetVertical
178
+ }, this._renderImage());
179
+ }
180
+
181
+ return this._renderImage();
182
+ }
183
+ }]);
184
+ return Image;
185
+ }(_react.Component);
186
+
187
+ exports.default = Image;
188
+ (0, _defineProperty2.default)(Image, "defaultProps", {
189
+ showLoader: true,
190
+ lazyLoadOffsetVertical: 100,
191
+ quality: 50,
192
+ cloudinaryCloudName: 'spothero'
193
+ });
@@ -0,0 +1,51 @@
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 _extends2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/extends"));
11
+
12
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime-corejs3/helpers/objectWithoutProperties"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _deprecate = _interopRequireDefault(require("../../utils/deprecate"));
19
+
20
+ var _excluded = ["className", "size", "borderWidth", "additionalMarkup"];
21
+ (0, _deprecate.default)({
22
+ name: 'Loader',
23
+ newName: 'Loader',
24
+ changes: ['---- Changes in v2 component ----', '`borderWidth` is now `thickness`', '`additionalMarkup` is no longer supported within this component', '`className` is no longer explicitly supported, but a custom class could still be passed in if needed, but with the move to ChakraUI custom classes are generally not needed', '---- Additional Information ----', 'new props are documented at: https://chakra-ui.com/docs/feedback/circular-progress']
25
+ });
26
+
27
+ var Loader = function Loader(_ref) {
28
+ var className = _ref.className,
29
+ size = _ref.size,
30
+ borderWidth = _ref.borderWidth,
31
+ additionalMarkup = _ref.additionalMarkup,
32
+ attrs = (0, _objectWithoutProperties2.default)(_ref, _excluded);
33
+ var classes = (0, _classnames.default)('Loader', className);
34
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
35
+ className: classes
36
+ }, attrs), /*#__PURE__*/_react.default.createElement("div", {
37
+ className: "Loader-spinner",
38
+ style: {
39
+ width: size,
40
+ height: size,
41
+ borderWidth: borderWidth
42
+ }
43
+ }), additionalMarkup);
44
+ };
45
+
46
+ Loader.defaultProps = {
47
+ size: 80,
48
+ borderWidth: 4
49
+ };
50
+ var _default = Loader;
51
+ exports.default = _default;