rsuite 5.75.0 → 5.76.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 (48) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/Image/package.json +7 -0
  3. package/Image/styles/index.css +33 -0
  4. package/Image/styles/index.less +34 -0
  5. package/cjs/Carousel/Carousel.js +1 -0
  6. package/cjs/CustomProvider/types.d.ts +2 -0
  7. package/cjs/Image/Image.d.ts +42 -0
  8. package/cjs/Image/Image.js +102 -0
  9. package/cjs/Image/ImageWrapper.d.ts +1 -0
  10. package/cjs/Image/ImageWrapper.js +10 -0
  11. package/cjs/Image/hooks/useImage.d.ts +14 -0
  12. package/cjs/Image/hooks/useImage.js +68 -0
  13. package/cjs/Image/index.d.ts +3 -0
  14. package/cjs/Image/index.js +8 -0
  15. package/cjs/index.d.ts +2 -0
  16. package/cjs/index.js +4 -2
  17. package/cjs/internals/utils/getDOMNode.js +2 -1
  18. package/dist/rsuite-no-reset-rtl.css +34 -0
  19. package/dist/rsuite-no-reset-rtl.min.css +1 -1
  20. package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
  21. package/dist/rsuite-no-reset.css +34 -0
  22. package/dist/rsuite-no-reset.min.css +1 -1
  23. package/dist/rsuite-no-reset.min.css.map +1 -1
  24. package/dist/rsuite-rtl.css +34 -0
  25. package/dist/rsuite-rtl.min.css +1 -1
  26. package/dist/rsuite-rtl.min.css.map +1 -1
  27. package/dist/rsuite.css +34 -0
  28. package/dist/rsuite.js +49 -5
  29. package/dist/rsuite.js.map +1 -1
  30. package/dist/rsuite.min.css +1 -1
  31. package/dist/rsuite.min.css.map +1 -1
  32. package/dist/rsuite.min.js +1 -1
  33. package/dist/rsuite.min.js.map +1 -1
  34. package/esm/Carousel/Carousel.js +1 -0
  35. package/esm/CustomProvider/types.d.ts +2 -0
  36. package/esm/Image/Image.d.ts +42 -0
  37. package/esm/Image/Image.js +97 -0
  38. package/esm/Image/ImageWrapper.d.ts +1 -0
  39. package/esm/Image/ImageWrapper.js +6 -0
  40. package/esm/Image/hooks/useImage.d.ts +14 -0
  41. package/esm/Image/hooks/useImage.js +63 -0
  42. package/esm/Image/index.d.ts +3 -0
  43. package/esm/Image/index.js +3 -0
  44. package/esm/index.d.ts +2 -0
  45. package/esm/index.js +1 -0
  46. package/esm/internals/utils/getDOMNode.js +2 -1
  47. package/package.json +1 -1
  48. package/styles/index.less +1 -0
package/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ # [5.76.0](https://github.com/rsuite/rsuite/compare/v5.75.0...v5.76.0) (2024-12-20)
2
+
3
+
4
+ ### Features
5
+
6
+ * **Image:** add support for Image ([#4068](https://github.com/rsuite/rsuite/issues/4068)) ([46980f9](https://github.com/rsuite/rsuite/commit/46980f985094110925fa5e2ad5c69a46cd84e7eb))
7
+
8
+
9
+
1
10
  # [5.75.0](https://github.com/rsuite/rsuite/compare/v5.74.2...v5.75.0) (2024-12-06)
2
11
 
3
12
 
@@ -0,0 +1,7 @@
1
+ {
2
+ "name": "rsuite/Image",
3
+ "private": true,
4
+ "main": "../cjs/Image/index.js",
5
+ "module": "../esm/Image/index.js",
6
+ "types": "../esm/Image/index.d.ts"
7
+ }
@@ -0,0 +1,33 @@
1
+ .rs-image {
2
+ --rs-object-fit: cover;
3
+ --rs-object-position: initial;
4
+ -o-object-fit: var(--rs-object-fit);
5
+ object-fit: var(--rs-object-fit);
6
+ -o-object-position: var(--rs-object-position);
7
+ object-position: var(--rs-object-position);
8
+ max-width: 100%;
9
+ }
10
+ .rs-image-rounded {
11
+ border-radius: 6px;
12
+ }
13
+ .rs-image-circle {
14
+ border-radius: 50%;
15
+ }
16
+ .rs-image-bordered {
17
+ border: 1px solid var(--rs-border-primary);
18
+ }
19
+ .rs-image-zoomed {
20
+ -webkit-transition: -webkit-transform 0.3s ease-in-out;
21
+ transition: -webkit-transform 0.3s ease-in-out;
22
+ transition: transform 0.3s ease-in-out;
23
+ transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
24
+ cursor: pointer;
25
+ }
26
+ .rs-image-zoomed:hover {
27
+ -webkit-transform: matrix(1.25, 0, 0, 1.25, 0, 0);
28
+ transform: matrix(1.25, 0, 0, 1.25, 0, 0);
29
+ }
30
+ .rs-image-wrapper {
31
+ position: relative;
32
+ overflow: hidden;
33
+ }
@@ -0,0 +1,34 @@
1
+ .rs-image {
2
+ --rs-object-fit: cover;
3
+ --rs-object-position: initial;
4
+
5
+ object-fit: var(--rs-object-fit);
6
+ object-position: var(--rs-object-position);
7
+ max-width: 100%;
8
+
9
+ &-rounded {
10
+ border-radius: 6px;
11
+ }
12
+
13
+ &-circle {
14
+ border-radius: 50%;
15
+ }
16
+
17
+ &-bordered {
18
+ border: 1px solid var(--rs-border-primary);
19
+ }
20
+
21
+ &-zoomed {
22
+ transition: transform 0.3s ease-in-out;
23
+ cursor: pointer;
24
+
25
+ &:hover {
26
+ transform: matrix(1.25, 0, 0, 1.25, 0, 0);
27
+ }
28
+ }
29
+ }
30
+
31
+ .rs-image-wrapper {
32
+ position: relative;
33
+ overflow: hidden;
34
+ }
@@ -141,6 +141,7 @@ var Carousel = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
141
141
  }), /*#__PURE__*/_react.default.createElement("div", {
142
142
  className: prefix('content')
143
143
  }, /*#__PURE__*/_react.default.createElement("div", {
144
+ "data-testid": "carousel-slider",
144
145
  className: prefix('slider'),
145
146
  style: sliderStyles,
146
147
  onTransitionEnd: handleTransitionEnd
@@ -53,6 +53,7 @@ import type { InputProps } from '../Input';
53
53
  import type { InputGroupProps } from '../InputGroup';
54
54
  import type { InputNumberProps } from '../InputNumber';
55
55
  import type { InputPickerProps } from '../InputPicker';
56
+ import type { ImageProps } from '../Image';
56
57
  import type { ListProps } from '../List';
57
58
  import type { LoaderProps } from '../Loader';
58
59
  import type { MaskedInputProps } from '../MaskedInput';
@@ -164,6 +165,7 @@ export interface ReactSuiteComponents {
164
165
  InputGroup: ComponentProps<InputGroupProps>;
165
166
  InputNumber: ComponentProps<InputNumberProps>;
166
167
  InputPicker: ComponentProps<InputPickerProps>;
168
+ Image: ComponentProps<ImageProps>;
167
169
  List: ComponentProps<ListProps>;
168
170
  Loader: ComponentProps<LoaderProps>;
169
171
  MaskedInput: ComponentProps<MaskedInputProps>;
@@ -0,0 +1,42 @@
1
+ import React, { CSSProperties } from 'react';
2
+ import type { WithAsProps, RsRefForwardingComponent } from '../internals/types';
3
+ export interface ImageProps extends WithAsProps, Omit<React.ImgHTMLAttributes<HTMLImageElement>, 'placeholder'> {
4
+ /**
5
+ * An image may appear with border.
6
+ */
7
+ bordered?: boolean;
8
+ /**
9
+ * An image may appear circular.
10
+ */
11
+ circle?: boolean;
12
+ /**
13
+ * The fallback image when the src fails to load.
14
+ */
15
+ fallbackSrc?: string;
16
+ /**
17
+ * An image may appear rounded.
18
+ */
19
+ rounded?: boolean;
20
+ /**
21
+ * Whether there is a shadow.
22
+ */
23
+ shaded?: boolean;
24
+ /**
25
+ * It maps to css `object-fit` property.
26
+ */
27
+ fit?: CSSProperties['objectFit'];
28
+ /**
29
+ * It maps to css `object-position` property.
30
+ */
31
+ position?: CSSProperties['objectPosition'];
32
+ /**
33
+ * The placeholder to display when the image is loading.
34
+ */
35
+ placeholder?: React.ReactNode;
36
+ /**
37
+ * Whether the image should be zoomed when hovered.
38
+ */
39
+ zoomed?: boolean;
40
+ }
41
+ declare const Image: RsRefForwardingComponent<'img', ImageProps>;
42
+ export default Image;
@@ -0,0 +1,102 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _extends3 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+ var _hooks = require("../internals/hooks");
12
+ var _ImageWrapper = require("./ImageWrapper");
13
+ var _useImage2 = require("./hooks/useImage");
14
+ var _CustomProvider = require("../CustomProvider");
15
+ var _excluded = ["as", "bordered", "classPrefix", "className", "circle", "crossOrigin", "fit", "fallbackSrc", "loading", "rounded", "srcSet", "sizes", "shaded", "src", "style", "position", "placeholder", "width", "height", "zoomed"];
16
+ var Image = /*#__PURE__*/_react.default.forwardRef(function (props, ref) {
17
+ var _extends2;
18
+ var _useCustom = (0, _CustomProvider.useCustom)('Image', props),
19
+ propsWithDefaults = _useCustom.propsWithDefaults;
20
+ var _propsWithDefaults$as = propsWithDefaults.as,
21
+ Component = _propsWithDefaults$as === void 0 ? 'img' : _propsWithDefaults$as,
22
+ bordered = propsWithDefaults.bordered,
23
+ _propsWithDefaults$cl = propsWithDefaults.classPrefix,
24
+ classPrefix = _propsWithDefaults$cl === void 0 ? 'image' : _propsWithDefaults$cl,
25
+ className = propsWithDefaults.className,
26
+ circle = propsWithDefaults.circle,
27
+ crossOrigin = propsWithDefaults.crossOrigin,
28
+ fit = propsWithDefaults.fit,
29
+ fallbackSrc = propsWithDefaults.fallbackSrc,
30
+ loading = propsWithDefaults.loading,
31
+ rounded = propsWithDefaults.rounded,
32
+ srcSet = propsWithDefaults.srcSet,
33
+ sizes = propsWithDefaults.sizes,
34
+ shaded = propsWithDefaults.shaded,
35
+ src = propsWithDefaults.src,
36
+ style = propsWithDefaults.style,
37
+ position = propsWithDefaults.position,
38
+ placeholder = propsWithDefaults.placeholder,
39
+ width = propsWithDefaults.width,
40
+ height = propsWithDefaults.height,
41
+ zoomed = propsWithDefaults.zoomed,
42
+ rest = (0, _objectWithoutPropertiesLoose2.default)(propsWithDefaults, _excluded);
43
+ var _useClassNames = (0, _hooks.useClassNames)(classPrefix),
44
+ merge = _useClassNames.merge,
45
+ withClassPrefix = _useClassNames.withClassPrefix;
46
+ var classes = merge(className, withClassPrefix({
47
+ circle: circle,
48
+ bordered: bordered,
49
+ rounded: rounded,
50
+ shaded: shaded,
51
+ zoomed: zoomed
52
+ }));
53
+ var imgProps = {
54
+ crossOrigin: crossOrigin,
55
+ srcSet: srcSet,
56
+ sizes: sizes,
57
+ loading: loading
58
+ };
59
+ var _useImage = (0, _useImage2.useImage)((0, _extends3.default)({
60
+ src: src,
61
+ fallbackSrc: fallbackSrc
62
+ }, imgProps)),
63
+ imgSrc = _useImage.imgSrc,
64
+ isLoading = _useImage.isLoading;
65
+ var styles = (0, _extends3.default)({}, style, (_extends2 = {}, _extends2['--rs-object-fit'] = fit, _extends2['--rs-object-position'] = position, _extends2));
66
+ var wrapStyles = {
67
+ width: width,
68
+ height: height
69
+ };
70
+ var image = /*#__PURE__*/_react.default.createElement(Component, (0, _extends3.default)({
71
+ ref: ref,
72
+ src: imgSrc,
73
+ className: classes,
74
+ style: styles,
75
+ width: width,
76
+ height: height
77
+ }, imgProps, rest));
78
+ if (zoomed) {
79
+ return /*#__PURE__*/_react.default.createElement(_ImageWrapper.ImageWrapper, {
80
+ style: wrapStyles
81
+ }, image);
82
+ }
83
+ if (placeholder) {
84
+ return /*#__PURE__*/_react.default.createElement(_ImageWrapper.ImageWrapper, {
85
+ style: wrapStyles
86
+ }, isLoading && placeholder, image);
87
+ }
88
+ return image;
89
+ });
90
+ Image.displayName = 'Image';
91
+ Image.propTypes = {
92
+ bordered: _propTypes.default.bool,
93
+ circle: _propTypes.default.bool,
94
+ fallbackSrc: _propTypes.default.string,
95
+ fit: _propTypes.default.string,
96
+ position: _propTypes.default.string,
97
+ rounded: _propTypes.default.bool,
98
+ shaded: _propTypes.default.bool,
99
+ placeholder: _propTypes.default.node,
100
+ zoomed: _propTypes.default.bool
101
+ };
102
+ var _default = exports.default = Image;
@@ -0,0 +1 @@
1
+ export declare const ImageWrapper: import("../internals/types").RsRefForwardingComponent<"div", import("../internals/utils").ComponentProps>;
@@ -0,0 +1,10 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ exports.__esModule = true;
5
+ exports.ImageWrapper = void 0;
6
+ var _utils = require("../internals/utils");
7
+ var ImageWrapper = exports.ImageWrapper = (0, _utils.createComponent)({
8
+ name: 'ImageWrapper',
9
+ componentAs: 'div'
10
+ });
@@ -0,0 +1,14 @@
1
+ interface UseImageProps {
2
+ src?: string;
3
+ fallbackSrc?: string;
4
+ crossOrigin?: string;
5
+ srcSet?: string;
6
+ sizes?: string;
7
+ loading?: 'lazy' | 'eager';
8
+ }
9
+ export declare const useImage: (props: UseImageProps) => {
10
+ imgSrc: string | null;
11
+ isLoading: boolean;
12
+ error: boolean;
13
+ };
14
+ export {};
@@ -0,0 +1,68 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.useImage = void 0;
7
+ var _react = require("react");
8
+ var _useIsomorphicLayoutEffect = _interopRequireDefault(require("../../internals/hooks/useIsomorphicLayoutEffect"));
9
+ var useImage = exports.useImage = function useImage(props) {
10
+ var src = props.src,
11
+ fallbackSrc = props.fallbackSrc,
12
+ crossOrigin = props.crossOrigin,
13
+ srcSet = props.srcSet,
14
+ sizes = props.sizes,
15
+ loading = props.loading;
16
+ var _useState = (0, _react.useState)(src || fallbackSrc || null),
17
+ imgSrc = _useState[0],
18
+ setImgSrc = _useState[1];
19
+ var _useState2 = (0, _react.useState)(!!src),
20
+ isLoading = _useState2[0],
21
+ setIsLoading = _useState2[1];
22
+ var _useState3 = (0, _react.useState)(false),
23
+ error = _useState3[0],
24
+ setError = _useState3[1];
25
+ var imageRef = (0, _react.useRef)(null);
26
+ (0, _react.useEffect)(function () {
27
+ setIsLoading(!!src); // true if src exists, false otherwise
28
+ }, [src]);
29
+ var flush = function flush() {
30
+ if (imageRef.current) {
31
+ imageRef.current.onload = null;
32
+ imageRef.current.onerror = null;
33
+ }
34
+ };
35
+ var loadImage = (0, _react.useCallback)(function () {
36
+ if (!src) return;
37
+ flush();
38
+ var image = new Image();
39
+ image.src = src;
40
+ if (crossOrigin) image.crossOrigin = crossOrigin;
41
+ if (srcSet) image.srcset = srcSet;
42
+ if (sizes) image.sizes = sizes;
43
+ if (loading) image.loading = loading;
44
+ image.onload = function () {
45
+ flush();
46
+ setImgSrc(src);
47
+ setIsLoading(false);
48
+ };
49
+ image.onerror = function () {
50
+ flush();
51
+ setError(true);
52
+ setImgSrc(fallbackSrc || null);
53
+ setIsLoading(false);
54
+ };
55
+ imageRef.current = image;
56
+ }, [crossOrigin, fallbackSrc, loading, sizes, src, srcSet]);
57
+ (0, _useIsomorphicLayoutEffect.default)(function () {
58
+ loadImage();
59
+ return function () {
60
+ flush();
61
+ };
62
+ }, [loadImage]);
63
+ return {
64
+ imgSrc: imgSrc,
65
+ isLoading: isLoading,
66
+ error: error
67
+ };
68
+ };
@@ -0,0 +1,3 @@
1
+ import Image from './Image';
2
+ export type { ImageProps } from './Image';
3
+ export default Image;
@@ -0,0 +1,8 @@
1
+ 'use client';
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
+ exports.__esModule = true;
6
+ exports.default = void 0;
7
+ var _Image = _interopRequireDefault(require("./Image"));
8
+ var _default = exports.default = _Image.default;
package/cjs/index.d.ts CHANGED
@@ -47,6 +47,8 @@ export { default as Avatar } from './Avatar';
47
47
  export type { AvatarProps } from './Avatar';
48
48
  export { default as AvatarGroup } from './AvatarGroup';
49
49
  export type { AvatarGroupProps } from './AvatarGroup';
50
+ export { default as Image } from './Image';
51
+ export type { ImageProps } from './Image';
50
52
  export { default as Nav } from './Nav';
51
53
  export type { NavProps, NavItemProps } from './Nav';
52
54
  export { default as Navbar } from './Navbar';
package/cjs/index.js CHANGED
@@ -3,8 +3,8 @@
3
3
 
4
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
5
  exports.__esModule = true;
6
- exports.Whisper = exports.VisuallyHidden = exports.VStack = exports.Uploader = exports.TreePicker = exports.Tree = exports.Tooltip = exports.Toggle = exports.Timeline = exports.TimeRangePicker = exports.TimePicker = exports.Text = exports.TagPicker = exports.TagInput = exports.TagGroup = exports.Tag = exports.Tabs = exports.Table = exports.Steps = exports.StatGroup = exports.Stat = exports.Stack = exports.Slider = exports.Sidenav = exports.Sidebar = exports.SelectPicker = exports.Schema = exports.SafeAnchor = exports.Row = exports.Rate = exports.RangeSlider = exports.RadioTileGroup = exports.RadioTile = exports.RadioGroup = exports.Radio = exports.Progress = exports.Popover = exports.Placeholder = exports.PanelGroup = exports.Panel = exports.Pagination = exports.Notification = exports.Navbar = exports.Nav = exports.MultiCascader = exports.MultiCascadeTree = exports.Modal = exports.Message = exports.MaskedInput = exports.Loader = exports.List = exports.InputPicker = exports.InputNumber = exports.InputGroup = exports.Input = exports.InlineEdit = exports.IconButton = exports.Highlight = exports.HeadingGroup = exports.Heading = exports.Header = exports.HStack = exports.Grid = exports.Form = exports.Footer = exports.FlexboxGrid = exports.Dropdown = exports.Drawer = exports.Divider = exports.DateRangePicker = exports.DateRangeInput = exports.DatePicker = exports.DateInput = exports.DOMHelper = exports.CustomProvider = exports.Content = exports.Container = exports.Col = exports.CheckboxGroup = exports.Checkbox = exports.CheckTreePicker = exports.CheckTree = exports.CheckPicker = exports.Cascader = exports.CascadeTree = exports.Carousel = exports.CardGroup = exports.Card = exports.Calendar = exports.ButtonToolbar = exports.ButtonGroup = exports.Button = exports.Breadcrumb = exports.Badge = exports.AvatarGroup = exports.Avatar = exports.AutoComplete = exports.Animation = exports.Affix = exports.Accordion = void 0;
7
- exports.useToaster = exports.useMediaQuery = exports.useFormClassNames = exports.useBreakpointValue = exports.toaster = void 0;
6
+ exports.VisuallyHidden = exports.VStack = exports.Uploader = exports.TreePicker = exports.Tree = exports.Tooltip = exports.Toggle = exports.Timeline = exports.TimeRangePicker = exports.TimePicker = exports.Text = exports.TagPicker = exports.TagInput = exports.TagGroup = exports.Tag = exports.Tabs = exports.Table = exports.Steps = exports.StatGroup = exports.Stat = exports.Stack = exports.Slider = exports.Sidenav = exports.Sidebar = exports.SelectPicker = exports.Schema = exports.SafeAnchor = exports.Row = exports.Rate = exports.RangeSlider = exports.RadioTileGroup = exports.RadioTile = exports.RadioGroup = exports.Radio = exports.Progress = exports.Popover = exports.Placeholder = exports.PanelGroup = exports.Panel = exports.Pagination = exports.Notification = exports.Navbar = exports.Nav = exports.MultiCascader = exports.MultiCascadeTree = exports.Modal = exports.Message = exports.MaskedInput = exports.Loader = exports.List = exports.InputPicker = exports.InputNumber = exports.InputGroup = exports.Input = exports.InlineEdit = exports.Image = exports.IconButton = exports.Highlight = exports.HeadingGroup = exports.Heading = exports.Header = exports.HStack = exports.Grid = exports.Form = exports.Footer = exports.FlexboxGrid = exports.Dropdown = exports.Drawer = exports.Divider = exports.DateRangePicker = exports.DateRangeInput = exports.DatePicker = exports.DateInput = exports.DOMHelper = exports.CustomProvider = exports.Content = exports.Container = exports.Col = exports.CheckboxGroup = exports.Checkbox = exports.CheckTreePicker = exports.CheckTree = exports.CheckPicker = exports.Cascader = exports.CascadeTree = exports.Carousel = exports.CardGroup = exports.Card = exports.Calendar = exports.ButtonToolbar = exports.ButtonGroup = exports.Button = exports.Breadcrumb = exports.Badge = exports.AvatarGroup = exports.Avatar = exports.AutoComplete = exports.Animation = exports.Affix = exports.Accordion = void 0;
7
+ exports.useToaster = exports.useMediaQuery = exports.useFormClassNames = exports.useBreakpointValue = exports.toaster = exports.Whisper = void 0;
8
8
  var _Text = _interopRequireDefault(require("./Text"));
9
9
  exports.Text = _Text.default;
10
10
  var _Heading = _interopRequireDefault(require("./Heading"));
@@ -55,6 +55,8 @@ var _Avatar = _interopRequireDefault(require("./Avatar"));
55
55
  exports.Avatar = _Avatar.default;
56
56
  var _AvatarGroup = _interopRequireDefault(require("./AvatarGroup"));
57
57
  exports.AvatarGroup = _AvatarGroup.default;
58
+ var _Image = _interopRequireDefault(require("./Image"));
59
+ exports.Image = _Image.default;
58
60
  var _Nav = _interopRequireDefault(require("./Nav"));
59
61
  exports.Nav = _Nav.default;
60
62
  var _Navbar = _interopRequireDefault(require("./Navbar"));
@@ -8,8 +8,9 @@ exports.getDOMNode = getDOMNode;
8
8
  var _reactDom = _interopRequireDefault(require("react-dom"));
9
9
  function safeFindDOMNode(componentOrElement) {
10
10
  if (componentOrElement && 'setState' in componentOrElement) {
11
+ var _ReactDOM$findDOMNode;
11
12
  // eslint-disable-next-line react/no-find-dom-node
12
- return _reactDom.default.findDOMNode(componentOrElement);
13
+ return (_ReactDOM$findDOMNode = _reactDom.default.findDOMNode) === null || _ReactDOM$findDOMNode === void 0 ? void 0 : _ReactDOM$findDOMNode.call(_reactDom.default, componentOrElement);
13
14
  }
14
15
  return componentOrElement !== null && componentOrElement !== void 0 ? componentOrElement : null;
15
16
  }
@@ -8254,6 +8254,40 @@ label:hover .rs-checkbox-control .rs-checkbox-inner::before {
8254
8254
  .rs-btn-icon-circle {
8255
8255
  border-radius: 50% !important;
8256
8256
  }
8257
+ .rs-image {
8258
+ --rs-object-fit: cover;
8259
+ --rs-object-position: initial;
8260
+ -o-object-fit: var(--rs-object-fit);
8261
+ object-fit: var(--rs-object-fit);
8262
+ -o-object-position: var(--rs-object-position);
8263
+ object-position: var(--rs-object-position);
8264
+ max-width: 100%;
8265
+ }
8266
+ .rs-image-rounded {
8267
+ border-radius: 6px;
8268
+ }
8269
+ .rs-image-circle {
8270
+ border-radius: 50%;
8271
+ }
8272
+ .rs-image-bordered {
8273
+ border: 1px solid #e5e5ea;
8274
+ border: 1px solid var(--rs-border-primary);
8275
+ }
8276
+ .rs-image-zoomed {
8277
+ -webkit-transition: -webkit-transform 0.3s ease-in-out;
8278
+ transition: -webkit-transform 0.3s ease-in-out;
8279
+ transition: transform 0.3s ease-in-out;
8280
+ transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
8281
+ cursor: pointer;
8282
+ }
8283
+ .rs-image-zoomed:hover {
8284
+ -webkit-transform: matrix(1.25, 0, 0, 1.25, 0, 0);
8285
+ transform: matrix(1.25, 0, 0, 1.25, 0, 0);
8286
+ }
8287
+ .rs-image-wrapper {
8288
+ position: relative;
8289
+ overflow: hidden;
8290
+ }
8257
8291
  .rs-input {
8258
8292
  display: block;
8259
8293
  width: 100%;