flex-image-viewer 1.0.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 (67) hide show
  1. package/README.md +160 -0
  2. package/dist/FlexImageViewer/Content/index.js +193 -0
  3. package/dist/FlexImageViewer/Footer/Actions.js +115 -0
  4. package/dist/FlexImageViewer/Footer/index.js +56 -0
  5. package/dist/FlexImageViewer/Header/Actions.js +80 -0
  6. package/dist/FlexImageViewer/Header/index.js +42 -0
  7. package/dist/FlexImageViewer/Info/index.js +52 -0
  8. package/dist/FlexImageViewer/Thumbnail/index.js +90 -0
  9. package/dist/FlexImageViewer/index.css +582 -0
  10. package/dist/FlexImageViewer/index.js +117 -0
  11. package/dist/components/ActionItem.js +10 -0
  12. package/dist/components/BaseActions.js +69 -0
  13. package/dist/components/Icon/index.js +48 -0
  14. package/dist/components/Icon/svg/arrow-left.js +15 -0
  15. package/dist/components/Icon/svg/arrow-right.js +15 -0
  16. package/dist/components/Icon/svg/caret-right.js +15 -0
  17. package/dist/components/Icon/svg/check.js +15 -0
  18. package/dist/components/Icon/svg/clear.js +15 -0
  19. package/dist/components/Icon/svg/close.js +16 -0
  20. package/dist/components/Icon/svg/default-image.js +17 -0
  21. package/dist/components/Icon/svg/down.js +15 -0
  22. package/dist/components/Icon/svg/info-circle.js +20 -0
  23. package/dist/components/Icon/svg/rotate-left.js +20 -0
  24. package/dist/components/Icon/svg/rotate-right.js +20 -0
  25. package/dist/components/Icon/svg/save.js +15 -0
  26. package/dist/components/Icon/svg/size.js +19 -0
  27. package/dist/components/Icon/svg/thumbnail.js +19 -0
  28. package/dist/components/Icon/svg/zoom-adapt.js +24 -0
  29. package/dist/components/Icon/svg/zoom-in.js +15 -0
  30. package/dist/components/Icon/svg/zoom-out.js +15 -0
  31. package/dist/components/Image.js +148 -0
  32. package/dist/components/Modal.js +98 -0
  33. package/dist/components/PercentSelect.js +160 -0
  34. package/dist/components/ThumbnailIamge.js +65 -0
  35. package/dist/components/index.js +6 -0
  36. package/dist/context/ViewerContext.js +208 -0
  37. package/dist/hooks/useImageOperations.js +113 -0
  38. package/dist/hooks/useImageSource.js +52 -0
  39. package/dist/index.js +2 -0
  40. package/dist/rspress.config.d.ts +2 -0
  41. package/dist/src/FlexImageViewer/Content/index.d.ts +11 -0
  42. package/dist/src/FlexImageViewer/Footer/Actions.d.ts +13 -0
  43. package/dist/src/FlexImageViewer/Footer/index.d.ts +8 -0
  44. package/dist/src/FlexImageViewer/Header/Actions.d.ts +15 -0
  45. package/dist/src/FlexImageViewer/Header/index.d.ts +11 -0
  46. package/dist/src/FlexImageViewer/Info/index.d.ts +5 -0
  47. package/dist/src/FlexImageViewer/Thumbnail/index.d.ts +5 -0
  48. package/dist/src/FlexImageViewer/index.d.ts +21 -0
  49. package/dist/src/components/ActionItem.d.ts +6 -0
  50. package/dist/src/components/BaseActions.d.ts +17 -0
  51. package/dist/src/components/Icon/index.d.ts +6 -0
  52. package/dist/src/components/Image.d.ts +18 -0
  53. package/dist/src/components/Modal.d.ts +9 -0
  54. package/dist/src/components/PercentSelect.d.ts +17 -0
  55. package/dist/src/components/ThumbnailIamge.d.ts +8 -0
  56. package/dist/src/components/index.d.ts +13 -0
  57. package/dist/src/context/ViewerContext.d.ts +13 -0
  58. package/dist/src/hooks/useImageOperations.d.ts +12 -0
  59. package/dist/src/hooks/useImageSource.d.ts +7 -0
  60. package/dist/src/index.d.ts +6 -0
  61. package/dist/src/utils/dict.d.ts +1 -0
  62. package/dist/src/utils/exif.d.ts +2 -0
  63. package/dist/src/utils/source.d.ts +1 -0
  64. package/dist/utils/dict.js +16 -0
  65. package/dist/utils/exif.js +17 -0
  66. package/dist/utils/source.js +2 -0
  67. package/package.json +74 -0
@@ -0,0 +1,117 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import react, { useCallback, useEffect } from "react";
3
+ import { useDeepCompareEffect } from "ahooks";
4
+ import { ViewerProvider, useViewerDispatch, useViewerState } from "../context/ViewerContext.js";
5
+ import { useImageOperations } from "../hooks/useImageOperations.js";
6
+ import Modal from "../components/Modal.js";
7
+ import Header from "./Header/index.js";
8
+ import Content from "./Content/index.js";
9
+ import Info from "./Info/index.js";
10
+ import Thumbnail from "./Thumbnail/index.js";
11
+ import Footer from "./Footer/index.js";
12
+ import "rc-slider/assets/index.css";
13
+ import "rc-tooltip/assets/bootstrap.css";
14
+ import "./index.css";
15
+ function FlexImageViewerInner({ files, current = 1, loop = false, onIndexChange, headerProps, footerProps, onClear, onClose, wheelZoom = true, wheelZoomStep = 0.1, renderInfo, getSrc, getThumbnail, preload, disableRightClick = false, ...rest }) {
16
+ const state = useViewerState();
17
+ const dispatch = useViewerDispatch();
18
+ const prevCurrentRef = react.useRef(current);
19
+ useEffect(()=>{
20
+ if (current !== prevCurrentRef.current) {
21
+ prevCurrentRef.current = current;
22
+ if (current !== state.currentIndex) dispatch({
23
+ type: 'SET_CURRENT_INDEX',
24
+ payload: current
25
+ });
26
+ }
27
+ }, [
28
+ current,
29
+ state.currentIndex,
30
+ dispatch
31
+ ]);
32
+ useEffect(()=>{
33
+ if (state.currentIndex !== current && onIndexChange) onIndexChange(state.currentIndex);
34
+ }, [
35
+ state.currentIndex,
36
+ current,
37
+ onIndexChange
38
+ ]);
39
+ useDeepCompareEffect(()=>{
40
+ dispatch({
41
+ type: 'SET_LOOP',
42
+ payload: loop
43
+ });
44
+ dispatch({
45
+ type: 'INITIALIZE_FILES',
46
+ payload: {
47
+ files: files ?? []
48
+ }
49
+ });
50
+ }, [
51
+ files,
52
+ loop
53
+ ]);
54
+ const imageOps = useImageOperations(state, dispatch);
55
+ const handleClear = useCallback(()=>{
56
+ imageOps.clear();
57
+ onClear?.();
58
+ }, [
59
+ imageOps,
60
+ onClear
61
+ ]);
62
+ const handleClose = useCallback(()=>{
63
+ onClose?.();
64
+ }, [
65
+ onClose
66
+ ]);
67
+ return /*#__PURE__*/ jsx(Modal, {
68
+ onClose: handleClose,
69
+ ...rest,
70
+ children: /*#__PURE__*/ jsxs("div", {
71
+ className: `flex-image-viewer ${state.thumbnailVisible ? 'with-thumbnail' : ''} ${state.infoVisible ? 'with-info' : ''}`,
72
+ children: [
73
+ /*#__PURE__*/ jsx(Header, {
74
+ renderAction: headerProps?.renderAction,
75
+ onClose: handleClose,
76
+ onClear: handleClear,
77
+ updateCurrentFile: imageOps.updateCurrentFile
78
+ }),
79
+ /*#__PURE__*/ jsxs("div", {
80
+ className: "flex-image-viewer-main",
81
+ children: [
82
+ /*#__PURE__*/ jsx(Content, {
83
+ preload: preload,
84
+ wheelZoom: wheelZoom,
85
+ wheelZoomStep: wheelZoomStep,
86
+ disableRightClick: disableRightClick,
87
+ getSrc: getSrc,
88
+ onClose: handleClose
89
+ }),
90
+ /*#__PURE__*/ jsx(Info, {
91
+ renderInfo: renderInfo
92
+ })
93
+ ]
94
+ }),
95
+ /*#__PURE__*/ jsx(Thumbnail, {
96
+ getThumbnail: getThumbnail
97
+ }),
98
+ /*#__PURE__*/ jsx(Footer, {
99
+ renderAction: footerProps?.renderAction,
100
+ updateCurrentFile: imageOps.updateCurrentFile
101
+ })
102
+ ]
103
+ })
104
+ });
105
+ }
106
+ function FlexImageViewer(props) {
107
+ const { current = 1, files } = props;
108
+ return /*#__PURE__*/ jsx(ViewerProvider, {
109
+ initialCurrent: current,
110
+ initialFilesLength: files?.length ?? 0,
111
+ children: /*#__PURE__*/ jsx(FlexImageViewerInner, {
112
+ ...props
113
+ })
114
+ });
115
+ }
116
+ const src_FlexImageViewer = FlexImageViewer;
117
+ export default src_FlexImageViewer;
@@ -0,0 +1,10 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ function ActionItem({ children, onClick }) {
4
+ return /*#__PURE__*/ jsx("li", {
5
+ className: "flex-image-viewer-action-item",
6
+ onClick: onClick,
7
+ children: children
8
+ });
9
+ }
10
+ export default ActionItem;
@@ -0,0 +1,69 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import rc_slider from "rc-slider";
4
+ import rc_tooltip from "rc-tooltip";
5
+ import { Icon, PercentSelect } from "./index.js";
6
+ import { TOOLTIP_CONFIG } from "../utils/dict.js";
7
+ import ActionItem from "./ActionItem.js";
8
+ import { getScaleValue, getSliderValue } from "./PercentSelect.js";
9
+ function BaseActions(props) {
10
+ const { items, contextValues, renderAction, onAction } = props;
11
+ const actionElements = useMemo(()=>{
12
+ const elementsMap = {};
13
+ items.forEach((item)=>{
14
+ const { key, type, tooltipKey, iconName, tooltipPlacement = 'topRight', valueKey } = item;
15
+ let content = null;
16
+ if ('slider' === type) {
17
+ if (!valueKey) return;
18
+ const value = contextValues[valueKey];
19
+ content = /*#__PURE__*/ jsx(rc_slider, {
20
+ value: getSliderValue(value),
21
+ onChange: (val)=>{
22
+ if (!Array.isArray(val) && null !== val) onAction(key, getScaleValue(val));
23
+ },
24
+ min: getSliderValue(10),
25
+ style: {
26
+ width: 100,
27
+ position: 'relative',
28
+ top: 6
29
+ }
30
+ });
31
+ } else if ('select' === type) {
32
+ if (!valueKey) return;
33
+ const value = contextValues[valueKey];
34
+ content = /*#__PURE__*/ jsx(PercentSelect, {
35
+ value: value,
36
+ onChange: (val)=>onAction(key, val)
37
+ });
38
+ } else {
39
+ const handleClick = (e)=>{
40
+ onAction(key, void 0, e);
41
+ };
42
+ const ariaLabel = tooltipKey ? TOOLTIP_CONFIG[tooltipKey] || tooltipKey : key;
43
+ content = /*#__PURE__*/ jsx(rc_tooltip, {
44
+ overlay: tooltipKey ? TOOLTIP_CONFIG[tooltipKey] : '',
45
+ placement: tooltipPlacement,
46
+ showArrow: false,
47
+ children: /*#__PURE__*/ jsx(Icon, {
48
+ name: iconName || key,
49
+ onClick: handleClick,
50
+ "aria-label": ariaLabel
51
+ }, key)
52
+ });
53
+ }
54
+ elementsMap[key] = content;
55
+ });
56
+ return elementsMap;
57
+ }, [
58
+ items,
59
+ contextValues,
60
+ onAction
61
+ ]);
62
+ return /*#__PURE__*/ jsx("ul", {
63
+ className: "flex-image-viewer-actions",
64
+ children: renderAction ? renderAction(actionElements, contextValues) : Object.keys(actionElements).map((key)=>/*#__PURE__*/ jsx(ActionItem, {
65
+ children: actionElements[key]
66
+ }, key))
67
+ });
68
+ }
69
+ export default BaseActions;
@@ -0,0 +1,48 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ import { ReactComponent } from "./svg/arrow-left.js";
4
+ import { ReactComponent as arrow_right_js_ReactComponent } from "./svg/arrow-right.js";
5
+ import { ReactComponent as caret_right_js_ReactComponent } from "./svg/caret-right.js";
6
+ import { ReactComponent as check_js_ReactComponent } from "./svg/check.js";
7
+ import { ReactComponent as clear_js_ReactComponent } from "./svg/clear.js";
8
+ import { ReactComponent as close_js_ReactComponent } from "./svg/close.js";
9
+ import { ReactComponent as default_image_js_ReactComponent } from "./svg/default-image.js";
10
+ import { ReactComponent as down_js_ReactComponent } from "./svg/down.js";
11
+ import { ReactComponent as info_circle_js_ReactComponent } from "./svg/info-circle.js";
12
+ import { ReactComponent as rotate_left_js_ReactComponent } from "./svg/rotate-left.js";
13
+ import { ReactComponent as rotate_right_js_ReactComponent } from "./svg/rotate-right.js";
14
+ import { ReactComponent as save_js_ReactComponent } from "./svg/save.js";
15
+ import { ReactComponent as size_js_ReactComponent } from "./svg/size.js";
16
+ import { ReactComponent as thumbnail_js_ReactComponent } from "./svg/thumbnail.js";
17
+ import { ReactComponent as zoom_adapt_js_ReactComponent } from "./svg/zoom-adapt.js";
18
+ import { ReactComponent as zoom_in_js_ReactComponent } from "./svg/zoom-in.js";
19
+ import { ReactComponent as zoom_out_js_ReactComponent } from "./svg/zoom-out.js";
20
+ const icons = {
21
+ ArrowLeft: ReactComponent,
22
+ ArrowRight: arrow_right_js_ReactComponent,
23
+ CaretRight: caret_right_js_ReactComponent,
24
+ Check: check_js_ReactComponent,
25
+ Clear: clear_js_ReactComponent,
26
+ Close: close_js_ReactComponent,
27
+ DefaultImage: default_image_js_ReactComponent,
28
+ Down: down_js_ReactComponent,
29
+ Info: info_circle_js_ReactComponent,
30
+ RotateLeft: rotate_left_js_ReactComponent,
31
+ RotateRight: rotate_right_js_ReactComponent,
32
+ Save: save_js_ReactComponent,
33
+ Size: size_js_ReactComponent,
34
+ Thumbnail: thumbnail_js_ReactComponent,
35
+ ZoomAdapt: zoom_adapt_js_ReactComponent,
36
+ ZoomIn: zoom_in_js_ReactComponent,
37
+ ZoomOut: zoom_out_js_ReactComponent
38
+ };
39
+ const Icon = ({ name, ...props })=>{
40
+ const IconComponent = icons[name];
41
+ if (!IconComponent) return null;
42
+ return /*#__PURE__*/ jsx(IconComponent, {
43
+ className: "flex-image-viewer-icon",
44
+ ...props
45
+ });
46
+ };
47
+ const components_Icon = Icon;
48
+ export default components_Icon;
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgArrowLeft = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "arrow-left",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: /*#__PURE__*/ jsx("path", {
12
+ d: "M872 474H286.9l350.2-304c5.6-4.9 2.2-14-5.2-14h-88.5c-3.9 0-7.6 1.4-10.5 3.9L155 487.8a31.96 31.96 0 0 0 0 48.3L535.1 866c1.5 1.3 3.3 2 5.2 2h91.5c7.4 0 10.8-9.2 5.2-14L286.9 550H872c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8"
13
+ })
14
+ });
15
+ export { SvgArrowLeft as ReactComponent };
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgArrowRight = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "arrow-right",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: /*#__PURE__*/ jsx("path", {
12
+ d: "M869 487.8 491.2 159.9c-2.9-2.5-6.6-3.9-10.5-3.9h-88.5c-7.4 0-10.8 9.2-5.2 14l350.2 304H152c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h585.1L386.9 854c-5.6 4.9-2.2 14 5.2 14h91.5c1.9 0 3.8-.7 5.2-2L869 536.2a32.07 32.07 0 0 0 0-48.4"
13
+ })
14
+ });
15
+ export { SvgArrowRight as ReactComponent };
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgCaretRight = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "caret-right",
9
+ viewBox: "0 0 1024 1024",
10
+ ...props,
11
+ children: /*#__PURE__*/ jsx("path", {
12
+ d: "M715.8 493.5 335 165.1c-14.2-12.2-35-1.2-35 18.5v656.8c0 19.7 20.8 30.7 35 18.5l380.8-328.4c10.9-9.4 10.9-27.6 0-37"
13
+ })
14
+ });
15
+ export { SvgCaretRight as ReactComponent };
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgCheck = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "check",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: /*#__PURE__*/ jsx("path", {
12
+ d: "M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 0 0-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8"
13
+ })
14
+ });
15
+ export { SvgCheck as ReactComponent };
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgClear = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "clear",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: /*#__PURE__*/ jsx("path", {
12
+ d: "m899.1 869.6-53-305.6H864c14.4 0 26-11.6 26-26V346c0-14.4-11.6-26-26-26H618V138c0-14.4-11.6-26-26-26H432c-14.4 0-26 11.6-26 26v182H160c-14.4 0-26 11.6-26 26v192c0 14.4 11.6 26 26 26h17.9l-53 305.6a25.95 25.95 0 0 0 25.6 30.4h723c1.5 0 3-.1 4.4-.4a25.88 25.88 0 0 0 21.2-30M204 390h272V182h72v208h272v104H204zm468 440V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H416V674c0-4.4-3.6-8-8-8h-48c-4.4 0-8 3.6-8 8v156H202.8l45.1-260H776l45.1 260z"
13
+ })
14
+ });
15
+ export { SvgClear as ReactComponent };
@@ -0,0 +1,16 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgClose = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ fillRule: "evenodd",
8
+ "aria-hidden": "true",
9
+ "data-icon": "close",
10
+ viewBox: "64 64 896 896",
11
+ ...props,
12
+ children: /*#__PURE__*/ jsx("path", {
13
+ d: "M799.86 166.31c.02 0 .04.02.08.06l57.69 57.7c.04.03.05.05.06.08a.1.1 0 0 1 0 .06c0 .03-.02.05-.06.09L569.93 512l287.7 287.7c.04.04.05.06.06.09a.12.12 0 0 1 0 .07c0 .02-.02.04-.06.08l-57.7 57.69c-.03.04-.05.05-.07.06a.12.12 0 0 1-.07 0c-.03 0-.05-.02-.09-.06L512 569.93l-287.7 287.7c-.04.04-.06.05-.09.06a.12.12 0 0 1-.07 0c-.02 0-.04-.02-.08-.06l-57.69-57.7a.17.17 0 0 1-.06-.07.12.12 0 0 1 0-.07c0-.03.02-.05.06-.09L454.07 512l-287.7-287.7a.2.2 0 0 1-.06-.09.12.12 0 0 1 0-.07c0-.02.02-.04.06-.08l57.7-57.69c.03-.04.05-.05.07-.06a.12.12 0 0 1 .07 0c.03 0 .05.02.09.06L512 454.07l287.7-287.7c.04-.04.06-.05.09-.06a.12.12 0 0 1 .07 0"
14
+ })
15
+ });
16
+ export { SvgClose as ReactComponent };
@@ -0,0 +1,17 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgDefaultImage = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ xmlnsXlink: "http://www.w3.org/1999/xlink",
6
+ width: 194,
7
+ height: 195,
8
+ ...props,
9
+ children: /*#__PURE__*/ jsx("image", {
10
+ xlinkHref: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMIAAADDCAYAAADQvc6UAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAGOElEQVR4nOzdq04kawBFYV4dh8PhQOHA4XA4HA6Jw+F4ACY/CQk0091FX2rvhk8sdU4YsnatrkvXZI5eX1/fwMFfPwaO0r8AOGg4BoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoSwQs7T09Pb7e3tr+Dx8TF+sDUjhCViXl5e3o6Pj38NJycn8YOtGSEsETM+QdMH765xVhDCjz8hhJD/lHZGKBAjhPwGQigQI4T8BkIoECOE/AZCKBAjhPwGQvgFIZydnb0/skw/KfLUaNreHp/uOIS7u7svP+f5+fnt8vIyHoHHp0KY7YwwvsFd9uXc6empEArO9M4IM4Sw6gurm5sbIRQc8EKYIYRVP2+cLVwa5Q94ITgjeMVCCNl7hIF7hPynvhBmCmE8Ln14ePh2o3x9fR2/LPLUSAizf48wPv0vLi7eSR/8QnBGOOhvlsfZZdeXU17DdrN8cCGMP39cVo1vqIXgHuFPhnB/f//lr4vu6lUNZwRnhIMJ4erq6tvvMmIQgqdGB3tG+Ollzfn5+dLfZ5wlnBH2t7eX7vYUwsd3ClNjGP/fuCdYNda2r2m4NBLCrGeEz5c3U164G/cA4y3VKb/XNm+yCkEIs4Xwv0/2dTe8479P/b22eZIkBCHMEsI42Jdd3iz7eZ+fEP0khk2eJAlBCHsPYRyY6z7ZF294V72btI5NHqsKQQh7D2HxHaNljPuHxfuITfnpkyQhCGGvISz+9cx1jKc/654QTWX82ULY3qPHp1uGsItP9m35OMs4IwghEsKqL8DmZsqTJJdGzgg7D2HKF2BzMuWxqhCEsNMQpjwhSrDuSZIQhLDTEJoPqEP9vdO4Wd7ggEr/6zfrEIIQZvlkPVScEZwRhCAEl0bOCM4I7hFcGrk0crPsHsE9gqdGW90s++dl8480PT4tEPPxBdV4QW68SnHIjHeRPDFysxwPCv0OfKFWMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDoRQMALyDv4BAAD//zV2iPgAAAAGSURBVAMAlL34JkeunpYAAAAASUVORK5CYII=",
11
+ width: 145.5,
12
+ height: 146.25,
13
+ preserveAspectRatio: "none",
14
+ transform: "scale(1.33333)"
15
+ })
16
+ });
17
+ export { SvgDefaultImage as ReactComponent };
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgDown = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "down",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: /*#__PURE__*/ jsx("path", {
12
+ d: "M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7"
13
+ })
14
+ });
15
+ export { SvgDown as ReactComponent };
@@ -0,0 +1,20 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgInfoCircle = (props)=>/*#__PURE__*/ jsxs("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "info-circle",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: [
12
+ /*#__PURE__*/ jsx("path", {
13
+ d: "M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64m0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372"
14
+ }),
15
+ /*#__PURE__*/ jsx("path", {
16
+ d: "M464 336a48 48 0 1 0 96 0 48 48 0 1 0-96 0m72 112h-48c-4.4 0-8 3.6-8 8v272c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V456c0-4.4-3.6-8-8-8"
17
+ })
18
+ ]
19
+ });
20
+ export { SvgInfoCircle as ReactComponent };
@@ -0,0 +1,20 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgRotateLeft = (props)=>/*#__PURE__*/ jsxs("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "rotate-left",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: [
12
+ /*#__PURE__*/ jsx("path", {
13
+ d: "M672 418H144c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32m-44 402H188V494h440z"
14
+ }),
15
+ /*#__PURE__*/ jsx("path", {
16
+ d: "M819.3 328.5c-78.8-100.7-196-153.6-314.6-154.2l-.2-64c0-6.5-7.6-10.1-12.6-6.1l-128 101c-4 3.1-3.9 9.1 0 12.3L492 318.6c5.1 4 12.7.4 12.6-6.1v-63.9c12.9.1 25.9.9 38.8 2.5 42.1 5.2 82.1 18.2 119 38.7 38.1 21.2 71.2 49.7 98.4 84.3 27.1 34.7 46.7 73.7 58.1 115.8a325.95 325.95 0 0 1 6.5 140.9h74.9c14.8-103.6-11.3-213-81-302.3"
17
+ })
18
+ ]
19
+ });
20
+ export { SvgRotateLeft as ReactComponent };
@@ -0,0 +1,20 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgRotateRight = (props)=>/*#__PURE__*/ jsxs("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "rotate-right",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: [
12
+ /*#__PURE__*/ jsx("path", {
13
+ d: "M480.5 251.2c13-1.6 25.9-2.4 38.8-2.5v63.9c0 6.5 7.5 10.1 12.6 6.1L660 217.6c4-3.2 4-9.2 0-12.3l-128-101c-5.1-4-12.6-.4-12.6 6.1l-.2 64c-118.6.5-235.8 53.4-314.6 154.2A399.75 399.75 0 0 0 123.5 631h74.9c-.9-5.3-1.7-10.7-2.4-16.1-5.1-42.1-2.1-84.1 8.9-124.8 11.4-42.2 31-81.1 58.1-115.8 27.2-34.7 60.3-63.2 98.4-84.3 37-20.6 76.9-33.6 119.1-38.8"
14
+ }),
15
+ /*#__PURE__*/ jsx("path", {
16
+ d: "M880 418H352c-17.7 0-32 14.3-32 32v414c0 17.7 14.3 32 32 32h528c17.7 0 32-14.3 32-32V450c0-17.7-14.3-32-32-32m-44 402H396V494h440z"
17
+ })
18
+ ]
19
+ });
20
+ export { SvgRotateRight as ReactComponent };
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgSave = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "save",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: /*#__PURE__*/ jsx("path", {
12
+ d: "M893.3 293.3 730.7 130.7c-7.5-7.5-16.7-13-26.7-16V112H144c-17.7 0-32 14.3-32 32v736c0 17.7 14.3 32 32 32h736c17.7 0 32-14.3 32-32V338.5c0-17-6.7-33.2-18.7-45.2M384 184h256v104H384zm456 656H184V184h136v136c0 17.7 14.3 32 32 32h320c17.7 0 32-14.3 32-32V205.8l136 136zM512 442c-79.5 0-144 64.5-144 144s64.5 144 144 144 144-64.5 144-144-64.5-144-144-144m0 224c-44.2 0-80-35.8-80-80s35.8-80 80-80 80 35.8 80 80-35.8 80-80 80"
13
+ })
14
+ });
15
+ export { SvgSave as ReactComponent };
@@ -0,0 +1,19 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgSize = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ className: "size_svg__icon",
6
+ style: {
7
+ width: "1em",
8
+ height: "1em",
9
+ verticalAlign: "middle",
10
+ fill: "currentColor",
11
+ overflow: "hidden"
12
+ },
13
+ viewBox: "0 0 1024 1024",
14
+ ...props,
15
+ children: /*#__PURE__*/ jsx("path", {
16
+ d: "M906.667 938.667H832a32.427 32.427 0 0 1-32-32 32.427 32.427 0 0 1 32-32h42.667V832a32.427 32.427 0 0 1 32-32 32.427 32.427 0 0 1 32 32v74.667a32.427 32.427 0 0 1-32 32M117.333 224a32.427 32.427 0 0 1-32-32v-74.667a32.427 32.427 0 0 1 32-32H192a32.427 32.427 0 0 1 32 32 32.427 32.427 0 0 1-32 32h-42.667V192a32.427 32.427 0 0 1-32 32M448 85.333h128q32 0 32 32t-32 32H448q-32 0-32-32t32-32M906.667 224a32.427 32.427 0 0 1-32-32v-42.667H832a32.427 32.427 0 0 1-32-32 32.427 32.427 0 0 1 32-32h74.667a32.427 32.427 0 0 1 32 32V192a32.427 32.427 0 0 1-32 32M906.667 416q32 0 32 32v128q0 32-32 32t-32-32V448q0-32 32-32M565.333 341.333H202.667a116.91 116.91 0 0 0-108.374 72.534 112.2 112.2 0 0 0-8.96 44.8v362.666a117.333 117.333 0 0 0 117.334 117.334h362.666a112.2 112.2 0 0 0 44.8-8.96 116.91 116.91 0 0 0 72.534-108.374V458.667a117.333 117.333 0 0 0-117.334-117.334m53.334 480a53.333 53.333 0 0 1-53.334 53.334H202.667a53.333 53.333 0 0 1-53.334-53.334V458.667a53.333 53.333 0 0 1 53.334-53.334h362.666a53.333 53.333 0 0 1 53.334 53.334z"
17
+ })
18
+ });
19
+ export { SvgSize as ReactComponent };
@@ -0,0 +1,19 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgThumbnail = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ className: "thumbnail_svg__icon",
6
+ style: {
7
+ width: "1em",
8
+ height: "1em",
9
+ verticalAlign: "middle",
10
+ fill: "currentColor",
11
+ overflow: "hidden"
12
+ },
13
+ viewBox: "0 0 1024 1024",
14
+ ...props,
15
+ children: /*#__PURE__*/ jsx("path", {
16
+ d: "M213.333 85.333c-70.186 0-128 57.814-128 128V640c0 70.187 57.814 128 128 128h597.334c70.186 0 128-57.813 128-128V213.333c0-70.186-57.814-128-128-128zm0 85.334h597.334c24.362 0 42.666 18.304 42.666 42.666V640c0 24.363-18.304 42.667-42.666 42.667H213.333c-24.362 0-42.666-18.304-42.666-42.667V213.333c0-24.362 18.304-42.666 42.666-42.666m-42.666 682.666A42.667 42.667 0 0 0 128 896a42.667 42.667 0 0 0 42.667 42.667h42.666A42.667 42.667 0 0 0 256 896a42.667 42.667 0 0 0-42.667-42.667zm213.333 0A42.667 42.667 0 0 0 341.333 896 42.667 42.667 0 0 0 384 938.667h42.667A42.667 42.667 0 0 0 469.333 896a42.667 42.667 0 0 0-42.666-42.667zm213.333 0A42.667 42.667 0 0 0 554.667 896a42.667 42.667 0 0 0 42.666 42.667H640A42.667 42.667 0 0 0 682.667 896 42.667 42.667 0 0 0 640 853.333zm213.334 0A42.667 42.667 0 0 0 768 896a42.667 42.667 0 0 0 42.667 42.667h42.666A42.667 42.667 0 0 0 896 896a42.667 42.667 0 0 0-42.667-42.667z"
17
+ })
18
+ });
19
+ export { SvgThumbnail as ReactComponent };
@@ -0,0 +1,24 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgZoomAdapt = (props)=>/*#__PURE__*/ jsxs("svg", {
4
+ xmlns: "http://www.w3.org/2000/svg",
5
+ className: "zoom-adapt_svg__icon",
6
+ style: {
7
+ width: "1em",
8
+ height: "1em",
9
+ verticalAlign: "middle",
10
+ fill: "currentColor",
11
+ overflow: "hidden"
12
+ },
13
+ viewBox: "0 0 1024 1024",
14
+ ...props,
15
+ children: [
16
+ /*#__PURE__*/ jsx("path", {
17
+ d: "M873.13 901.559H153.162a34.62 34.62 0 0 1-33.743-33.792v-719.92a34.62 34.62 0 0 1 33.743-33.793h719.97a34.62 34.62 0 0 1 33.743 33.792v719.92a34.62 34.62 0 0 1-33.743 33.793m-699.391-54.32h678.863V168.374H173.739z"
18
+ }),
19
+ /*#__PURE__*/ jsx("path", {
20
+ d: "M755.712 410.77a30.574 30.574 0 0 1-30.037-30.037v-85.43h-85.48a30.574 30.574 0 0 1-30.037-30.038c0-16.19 13.897-30.038 30.037-30.038h115.517c16.14 0 30.037 13.849 30.037 30.038v115.468a30.574 30.574 0 0 1-30.037 30.037m-485.132 0a30.574 30.574 0 0 1-29.989-30.037V265.265c0-16.19 13.849-30.038 29.989-30.038h115.566c16.091 0 29.988 13.849 29.988 30.038a30.574 30.574 0 0 1-30.037 30.037h-85.48v85.431a30.574 30.574 0 0 1-30.037 30.037m115.566 369.616H270.58a30.574 30.574 0 0 1-29.989-30.038V634.88c0-16.189 13.849-30.037 29.989-30.037 16.189 0 30.037 13.848 30.037 30.037v85.43h85.48c16.189 0 30.037 13.898 30.037 30.038a30.574 30.574 0 0 1-30.037 30.038zm369.566 0H640.195a30.574 30.574 0 0 1-30.037-30.038c0-16.14 13.897-30.037 30.037-30.037h85.48V634.88c0-16.189 13.848-30.037 30.037-30.037 16.14 0 30.037 13.848 30.037 30.037v115.468a30.574 30.574 0 0 1-30.037 30.038"
21
+ })
22
+ ]
23
+ });
24
+ export { SvgZoomAdapt as ReactComponent };
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgZoomIn = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "zoom-in",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: /*#__PURE__*/ jsx("path", {
12
+ d: "M637 443H519V309c0-4.4-3.6-8-8-8h-60c-4.4 0-8 3.6-8 8v134H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h118v134c0 4.4 3.6 8 8 8h60c4.4 0 8-3.6 8-8V519h118c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8m284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11M696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430"
13
+ })
14
+ });
15
+ export { SvgZoomIn as ReactComponent };
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import "react";
3
+ const SvgZoomOut = (props)=>/*#__PURE__*/ jsx("svg", {
4
+ width: "1em",
5
+ height: "1em",
6
+ fill: "currentColor",
7
+ "aria-hidden": "true",
8
+ "data-icon": "zoom-out",
9
+ viewBox: "64 64 896 896",
10
+ ...props,
11
+ children: /*#__PURE__*/ jsx("path", {
12
+ d: "M637 443H325c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h312c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8m284 424L775 721c122.1-148.9 113.6-369.5-26-509-148-148.1-388.4-148.1-537 0-148.1 148.6-148.1 389 0 537 139.5 139.6 360.1 148.1 509 26l146 146c3.2 2.8 8.3 2.8 11 0l43-43c2.8-2.7 2.8-7.8 0-11M696 696c-118.8 118.7-311.2 118.7-430 0-118.7-118.8-118.7-311.2 0-430 118.8-118.7 311.2-118.7 430 0 118.7 118.8 118.7 311.2 0 430"
13
+ })
14
+ });
15
+ export { SvgZoomOut as ReactComponent };