@chayns-components/core 5.0.0-beta.185 → 5.0.0-beta.189
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.
- package/lib/api/image/post.d.ts +16 -0
- package/lib/api/image/post.js +34 -0
- package/lib/api/image/post.js.map +1 -0
- package/lib/api/video/post.d.ts +16 -0
- package/lib/api/video/post.js +31 -0
- package/lib/api/video/post.js.map +1 -0
- package/lib/components/context-menu/ContextMenu.d.ts +1 -1
- package/lib/components/context-menu/ContextMenu.js +1 -1
- package/lib/components/context-menu/ContextMenu.js.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +14 -0
- package/lib/index.js.map +1 -1
- package/lib/types/file.d.ts +42 -0
- package/lib/types/file.js +6 -0
- package/lib/types/file.js.map +1 -0
- package/lib/utils/fileDialog.d.ts +7 -0
- package/lib/utils/fileDialog.js +70 -0
- package/lib/utils/fileDialog.js.map +1 -0
- package/lib/utils/uploadFile.d.ts +9 -0
- package/lib/utils/uploadFile.js +48 -0
- package/lib/utils/uploadFile.js.map +1 -0
- package/package.json +8 -8
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Meta } from '../../types/file';
|
|
2
|
+
export interface PostImageResult {
|
|
3
|
+
key: string;
|
|
4
|
+
base: string;
|
|
5
|
+
meta?: Meta;
|
|
6
|
+
}
|
|
7
|
+
interface PostImageOptions {
|
|
8
|
+
accessToken: string;
|
|
9
|
+
file: File;
|
|
10
|
+
personId: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Uploads an image to the tsimg cloud service
|
|
14
|
+
*/
|
|
15
|
+
export declare const postImage: ({ accessToken, file, personId, }: PostImageOptions) => Promise<PostImageResult>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.postImage = void 0;
|
|
7
|
+
var _fileDialog = require("../../utils/fileDialog");
|
|
8
|
+
/**
|
|
9
|
+
* Uploads an image to the tsimg cloud service
|
|
10
|
+
*/
|
|
11
|
+
const postImage = async _ref => {
|
|
12
|
+
let {
|
|
13
|
+
accessToken,
|
|
14
|
+
file,
|
|
15
|
+
personId
|
|
16
|
+
} = _ref;
|
|
17
|
+
const body = await (0, _fileDialog.getFileAsArrayBuffer)(file);
|
|
18
|
+
const response = await fetch('https://api.tsimg.cloud/image', {
|
|
19
|
+
body,
|
|
20
|
+
headers: {
|
|
21
|
+
Accept: 'application/json',
|
|
22
|
+
Authorization: `bearer ${accessToken}`,
|
|
23
|
+
'Content-Type': 'image/*',
|
|
24
|
+
'X-Person-Id': personId
|
|
25
|
+
},
|
|
26
|
+
method: 'POST'
|
|
27
|
+
});
|
|
28
|
+
if (response.ok) {
|
|
29
|
+
return await response.json();
|
|
30
|
+
}
|
|
31
|
+
throw Error(`Failed to POST image (status code: ${response.status}).`);
|
|
32
|
+
};
|
|
33
|
+
exports.postImage = postImage;
|
|
34
|
+
//# sourceMappingURL=post.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post.js","names":["_fileDialog","require","postImage","_ref","accessToken","file","personId","body","getFileAsArrayBuffer","response","fetch","headers","Accept","Authorization","method","ok","json","Error","status","exports"],"sources":["../../../src/api/image/post.ts"],"sourcesContent":["import type { Meta } from '../../types/file';\nimport { getFileAsArrayBuffer } from '../../utils/fileDialog';\n\nexport interface PostImageResult {\n key: string;\n base: string;\n meta?: Meta;\n}\n\ninterface PostImageOptions {\n accessToken: string;\n file: File;\n personId: string;\n}\n\n/**\n * Uploads an image to the tsimg cloud service\n */\nexport const postImage = async ({\n accessToken,\n file,\n personId,\n}: PostImageOptions): Promise<PostImageResult> => {\n const body = await getFileAsArrayBuffer(file);\n\n const response = await fetch('https://api.tsimg.cloud/image', {\n body,\n headers: {\n Accept: 'application/json',\n Authorization: `bearer ${accessToken}`,\n 'Content-Type': 'image/*',\n 'X-Person-Id': personId,\n },\n method: 'POST',\n });\n\n if (response.ok) {\n return (await response.json()) as PostImageResult;\n }\n\n throw Error(`Failed to POST image (status code: ${response.status}).`);\n};\n"],"mappings":";;;;;;AACA,IAAAA,WAAA,GAAAC,OAAA;AAcA;AACA;AACA;AACO,MAAMC,SAAS,GAAG,MAAAC,IAAA,IAIyB;EAAA,IAJlB;IAC5BC,WAAW;IACXC,IAAI;IACJC;EACc,CAAC,GAAAH,IAAA;EACf,MAAMI,IAAI,GAAG,MAAM,IAAAC,gCAAoB,EAACH,IAAI,CAAC;EAE7C,MAAMI,QAAQ,GAAG,MAAMC,KAAK,CAAC,+BAA+B,EAAE;IAC1DH,IAAI;IACJI,OAAO,EAAE;MACLC,MAAM,EAAE,kBAAkB;MAC1BC,aAAa,EAAG,UAAST,WAAY,EAAC;MACtC,cAAc,EAAE,SAAS;MACzB,aAAa,EAAEE;IACnB,CAAC;IACDQ,MAAM,EAAE;EACZ,CAAC,CAAC;EAEF,IAAIL,QAAQ,CAACM,EAAE,EAAE;IACb,OAAQ,MAAMN,QAAQ,CAACO,IAAI,CAAC,CAAC;EACjC;EAEA,MAAMC,KAAK,CAAE,sCAAqCR,QAAQ,CAACS,MAAO,IAAG,CAAC;AAC1E,CAAC;AAACC,OAAA,CAAAjB,SAAA,GAAAA,SAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface PostVideoResult {
|
|
2
|
+
id: string;
|
|
3
|
+
originalVideoQuality: string;
|
|
4
|
+
thumbnailUrl: string;
|
|
5
|
+
url: string;
|
|
6
|
+
urlMP4: string;
|
|
7
|
+
}
|
|
8
|
+
interface PostVideoOptions {
|
|
9
|
+
accessToken: string;
|
|
10
|
+
file: File | Blob;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Uploads a video to the streaming service
|
|
14
|
+
*/
|
|
15
|
+
export declare const postVideo: ({ accessToken, file, }: PostVideoOptions) => Promise<PostVideoResult | undefined>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.postVideo = void 0;
|
|
7
|
+
/**
|
|
8
|
+
* Uploads a video to the streaming service
|
|
9
|
+
*/
|
|
10
|
+
const postVideo = async _ref => {
|
|
11
|
+
let {
|
|
12
|
+
accessToken,
|
|
13
|
+
file
|
|
14
|
+
} = _ref;
|
|
15
|
+
const formData = new FormData();
|
|
16
|
+
formData.append('files', file);
|
|
17
|
+
const response = await fetch('https://streamingservice.chayns.space/video?disableIntercom=true', {
|
|
18
|
+
body: formData,
|
|
19
|
+
headers: {
|
|
20
|
+
Authorization: `Bearer ${accessToken}`
|
|
21
|
+
},
|
|
22
|
+
method: 'POST'
|
|
23
|
+
});
|
|
24
|
+
if (response.ok) {
|
|
25
|
+
const data = await response.json();
|
|
26
|
+
return data[0];
|
|
27
|
+
}
|
|
28
|
+
throw Error(`Failed to POST video (status code: ${response.status}).`);
|
|
29
|
+
};
|
|
30
|
+
exports.postVideo = postVideo;
|
|
31
|
+
//# sourceMappingURL=post.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post.js","names":["postVideo","_ref","accessToken","file","formData","FormData","append","response","fetch","body","headers","Authorization","method","ok","data","json","Error","status","exports"],"sources":["../../../src/api/video/post.ts"],"sourcesContent":["export interface PostVideoResult {\n id: string;\n originalVideoQuality: string;\n thumbnailUrl: string;\n url: string;\n urlMP4: string;\n}\n\ninterface PostVideoOptions {\n accessToken: string;\n file: File | Blob;\n}\n\n/**\n * Uploads a video to the streaming service\n */\nexport const postVideo = async ({\n accessToken,\n file,\n}: PostVideoOptions): Promise<PostVideoResult | undefined> => {\n const formData = new FormData();\n\n formData.append('files', file);\n\n const response = await fetch(\n 'https://streamingservice.chayns.space/video?disableIntercom=true',\n {\n body: formData,\n headers: {\n Authorization: `Bearer ${accessToken}`,\n },\n method: 'POST',\n }\n );\n\n if (response.ok) {\n const data = (await response.json()) as PostVideoResult[];\n\n return data[0];\n }\n\n throw Error(`Failed to POST video (status code: ${response.status}).`);\n};\n"],"mappings":";;;;;;AAaA;AACA;AACA;AACO,MAAMA,SAAS,GAAG,MAAAC,IAAA,IAGqC;EAAA,IAH9B;IAC5BC,WAAW;IACXC;EACc,CAAC,GAAAF,IAAA;EACf,MAAMG,QAAQ,GAAG,IAAIC,QAAQ,CAAC,CAAC;EAE/BD,QAAQ,CAACE,MAAM,CAAC,OAAO,EAAEH,IAAI,CAAC;EAE9B,MAAMI,QAAQ,GAAG,MAAMC,KAAK,CACxB,kEAAkE,EAClE;IACIC,IAAI,EAAEL,QAAQ;IACdM,OAAO,EAAE;MACLC,aAAa,EAAG,UAAST,WAAY;IACzC,CAAC;IACDU,MAAM,EAAE;EACZ,CACJ,CAAC;EAED,IAAIL,QAAQ,CAACM,EAAE,EAAE;IACb,MAAMC,IAAI,GAAI,MAAMP,QAAQ,CAACQ,IAAI,CAAC,CAAuB;IAEzD,OAAOD,IAAI,CAAC,CAAC,CAAC;EAClB;EAEA,MAAME,KAAK,CAAE,sCAAqCT,QAAQ,CAACU,MAAO,IAAG,CAAC;AAC1E,CAAC;AAACC,OAAA,CAAAlB,SAAA,GAAAA,SAAA"}
|
|
@@ -7,7 +7,7 @@ export type ContextMenuCoordinates = {
|
|
|
7
7
|
export type ContextMenuItem = {
|
|
8
8
|
icons: string[];
|
|
9
9
|
key: string;
|
|
10
|
-
onClick: (event?: MouseEvent<HTMLDivElement>) => void;
|
|
10
|
+
onClick: (event?: MouseEvent<HTMLDivElement>) => Promise<void> | void;
|
|
11
11
|
text: string;
|
|
12
12
|
};
|
|
13
13
|
export type ContextMenuRef = {
|
|
@@ -70,7 +70,7 @@ const ContextMenu = /*#__PURE__*/(0, _react.forwardRef)((_ref, ref) => {
|
|
|
70
70
|
});
|
|
71
71
|
if (buttonType === 1 && typeof ((_selection$ = selection[0]) === null || _selection$ === void 0 ? void 0 : _selection$.value) === 'number') {
|
|
72
72
|
var _items$selection$0$va;
|
|
73
|
-
(_items$selection$0$va = items[selection[0].value]) === null || _items$selection$0$va === void 0 ? void 0 : _items$selection$0$va.onClick();
|
|
73
|
+
void ((_items$selection$0$va = items[selection[0].value]) === null || _items$selection$0$va === void 0 ? void 0 : _items$selection$0$va.onClick());
|
|
74
74
|
}
|
|
75
75
|
} else if (contextMenuRef.current) {
|
|
76
76
|
const rootElement = document.querySelector('.tapp') || document.body;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_reactDom","_uuid","_Icon","_interopRequireDefault","_alignment","_ContextMenuContent","_ContextMenu","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ContextMenu","forwardRef","_ref","ref","alignment","children","createElement","icons","container","document","body","coordinates","items","onHide","onShow","internalCoordinates","setInternalCoordinates","useState","x","y","internalAlignment","setInternalAlignment","ContextMenuAlignment","TopLeft","isContentShown","setIsContentShown","portal","setPortal","uuid","useUuid","contextMenuContentRef","useRef","contextMenuRef","handleHide","useCallback","handleShow","isMobile","isTablet","chayns","env","_selection$","buttonType","selection","dialog","select","buttons","list","map","_ref2","index","text","name","value","icon","type","_items$selection$0$va","onClick","current","rootElement","querySelector","height","childrenHeight","width","childrenWidth","getBoundingClientRect","BottomRight","TopRight","BottomLeft","handleClick","event","preventDefault","stopPropagation","handleDocumentClick","_contextMenuContentRe","contains","target","useImperativeHandle","hide","show","useEffect","addEventListener","window","removeEventListener","createPortal","AnimatePresence","initial","Fragment","StyledContextMenu","className","displayName","_default","exports"],"sources":["../../../src/components/context-menu/ContextMenu.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion';\nimport React, {\n forwardRef,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n ReactPortal,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { useUuid } from '../../hooks/uuid';\nimport Icon from '../icon/Icon';\nimport { ContextMenuAlignment } from './constants/alignment';\nimport ContextMenuContent from './context-menu-content/ContextMenuContent';\nimport { StyledContextMenu } from './ContextMenu.styles';\n\nexport type ContextMenuCoordinates = {\n x: number;\n y: number;\n};\n\nexport type ContextMenuItem = {\n icons: string[];\n key: string;\n onClick: (event?: MouseEvent<HTMLDivElement>) => void;\n text: string;\n};\n\nexport type ContextMenuRef = {\n hide: VoidFunction;\n show: VoidFunction;\n};\n\ntype ContextMenuProps = {\n /**\n * Optional custom alignment used instead of calculating it using the\n * alignment within the page. The available alignment can be taken from the\n * ContextMenuAlignment enum.\n */\n alignment?: ContextMenuAlignment;\n /**\n * The element over which the content of the `ContextMenu` should be displayed.\n */\n children?: ReactNode;\n /**\n * The element where the content of the `ContextMenu` should be rendered via React Portal.\n */\n container?: Element;\n /**\n * Optional own coordinates to be used instead of calculating the alignment\n * based on the alignment of the children.\n */\n coordinates?: ContextMenuCoordinates;\n /**\n * The items that will be displayed in the content of the `ContextMenu`.\n */\n items: ContextMenuItem[];\n /**\n * Function to be executed when the content of the Context menu has been hidden.\n */\n onHide?: VoidFunction;\n /**\n * Function to be executed when the content of the Context menu has been shown.\n */\n onShow?: VoidFunction;\n};\n\nconst ContextMenu = forwardRef<ContextMenuRef, ContextMenuProps>(\n (\n {\n alignment,\n children = <Icon icons={['ts-ellipsis_v']} />,\n container = document.body,\n coordinates,\n items,\n onHide,\n onShow,\n },\n ref\n ) => {\n const [internalCoordinates, setInternalCoordinates] = useState<ContextMenuCoordinates>({\n x: 0,\n y: 0,\n });\n const [internalAlignment, setInternalAlignment] = useState<ContextMenuAlignment>(\n ContextMenuAlignment.TopLeft\n );\n const [isContentShown, setIsContentShown] = useState(false);\n const [portal, setPortal] = useState<ReactPortal>();\n\n const uuid = useUuid();\n\n // ToDo: Replace with hook if new chayns api is ready\n const contextMenuContentRef = useRef<HTMLDivElement>(null);\n const contextMenuRef = useRef<HTMLSpanElement>(null);\n\n const handleHide = useCallback(() => {\n setIsContentShown(false);\n }, []);\n\n const handleShow = useCallback(async () => {\n const { isMobile, isTablet } = chayns.env;\n\n if (isMobile || isTablet) {\n // ToDo: Replace with new api function if new api is ready\n const { buttonType, selection } = await chayns.dialog.select({\n buttons: [],\n list: items.map(({ icons, text }, index) => ({\n name: text,\n value: index,\n icon: icons[0],\n })),\n type: 2,\n });\n\n if (buttonType === 1 && typeof selection[0]?.value === 'number') {\n items[selection[0].value]?.onClick();\n }\n } else if (contextMenuRef.current) {\n const rootElement = document.querySelector('.tapp') || document.body;\n\n const {\n x,\n y,\n height: childrenHeight,\n width: childrenWidth,\n } = contextMenuRef.current.getBoundingClientRect();\n\n setInternalCoordinates({ x: x + childrenWidth / 2, y: y + childrenHeight / 2 });\n\n const { height, width } = rootElement.getBoundingClientRect();\n\n if (x < width / 2) {\n if (y < height / 2) {\n setInternalAlignment(ContextMenuAlignment.BottomRight);\n } else {\n setInternalAlignment(ContextMenuAlignment.TopRight);\n }\n } else if (y < height / 2) {\n setInternalAlignment(ContextMenuAlignment.BottomLeft);\n } else {\n setInternalAlignment(ContextMenuAlignment.TopLeft);\n }\n\n setIsContentShown(true);\n }\n }, [items]);\n\n const handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n void handleShow();\n },\n [handleShow]\n );\n\n const handleDocumentClick = useCallback<EventListener>(\n (event) => {\n if (!contextMenuContentRef.current?.contains(event.target as Node)) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n handleHide();\n },\n [handleHide]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n hide: handleHide,\n show: handleShow,\n }),\n [handleHide, handleShow]\n );\n\n useEffect(() => {\n if (isContentShown) {\n document.addEventListener('click', handleDocumentClick, true);\n window.addEventListener('blur', handleHide);\n\n if (typeof onShow === 'function') {\n onShow();\n }\n } else if (typeof onHide === 'function') {\n onHide();\n }\n\n return () => {\n document.removeEventListener('click', handleDocumentClick, true);\n window.removeEventListener('blur', handleHide);\n };\n }, [handleDocumentClick, handleHide, isContentShown, onHide, onShow]);\n\n useEffect(() => {\n setPortal(() =>\n createPortal(\n <AnimatePresence initial={false}>\n {isContentShown && (\n <ContextMenuContent\n coordinates={coordinates ?? internalCoordinates}\n items={items}\n key={`contextMenu_${uuid}`}\n alignment={alignment ?? internalAlignment}\n ref={contextMenuContentRef}\n />\n )}\n </AnimatePresence>,\n container\n )\n );\n }, [\n alignment,\n container,\n coordinates,\n internalAlignment,\n internalCoordinates,\n isContentShown,\n items,\n uuid,\n ]);\n\n return (\n <>\n <StyledContextMenu\n className=\"beta-chayns-context-menu\"\n onClick={handleClick}\n ref={contextMenuRef}\n >\n {children}\n </StyledContextMenu>\n {portal}\n </>\n );\n }\n);\n\nContextMenu.displayName = 'ContextMenu';\n\nexport default ContextMenu;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContextMenu.js","names":["_framerMotion","require","_react","_interopRequireWildcard","_reactDom","_uuid","_Icon","_interopRequireDefault","_alignment","_ContextMenuContent","_ContextMenu","obj","__esModule","default","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ContextMenu","forwardRef","_ref","ref","alignment","children","createElement","icons","container","document","body","coordinates","items","onHide","onShow","internalCoordinates","setInternalCoordinates","useState","x","y","internalAlignment","setInternalAlignment","ContextMenuAlignment","TopLeft","isContentShown","setIsContentShown","portal","setPortal","uuid","useUuid","contextMenuContentRef","useRef","contextMenuRef","handleHide","useCallback","handleShow","isMobile","isTablet","chayns","env","_selection$","buttonType","selection","dialog","select","buttons","list","map","_ref2","index","text","name","value","icon","type","_items$selection$0$va","onClick","current","rootElement","querySelector","height","childrenHeight","width","childrenWidth","getBoundingClientRect","BottomRight","TopRight","BottomLeft","handleClick","event","preventDefault","stopPropagation","handleDocumentClick","_contextMenuContentRe","contains","target","useImperativeHandle","hide","show","useEffect","addEventListener","window","removeEventListener","createPortal","AnimatePresence","initial","Fragment","StyledContextMenu","className","displayName","_default","exports"],"sources":["../../../src/components/context-menu/ContextMenu.tsx"],"sourcesContent":["import { AnimatePresence } from 'framer-motion';\nimport React, {\n forwardRef,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n ReactPortal,\n useCallback,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport { useUuid } from '../../hooks/uuid';\nimport Icon from '../icon/Icon';\nimport { ContextMenuAlignment } from './constants/alignment';\nimport ContextMenuContent from './context-menu-content/ContextMenuContent';\nimport { StyledContextMenu } from './ContextMenu.styles';\n\nexport type ContextMenuCoordinates = {\n x: number;\n y: number;\n};\n\nexport type ContextMenuItem = {\n icons: string[];\n key: string;\n onClick: (event?: MouseEvent<HTMLDivElement>) => Promise<void> | void;\n text: string;\n};\n\nexport type ContextMenuRef = {\n hide: VoidFunction;\n show: VoidFunction;\n};\n\ntype ContextMenuProps = {\n /**\n * Optional custom alignment used instead of calculating it using the\n * alignment within the page. The available alignment can be taken from the\n * ContextMenuAlignment enum.\n */\n alignment?: ContextMenuAlignment;\n /**\n * The element over which the content of the `ContextMenu` should be displayed.\n */\n children?: ReactNode;\n /**\n * The element where the content of the `ContextMenu` should be rendered via React Portal.\n */\n container?: Element;\n /**\n * Optional own coordinates to be used instead of calculating the alignment\n * based on the alignment of the children.\n */\n coordinates?: ContextMenuCoordinates;\n /**\n * The items that will be displayed in the content of the `ContextMenu`.\n */\n items: ContextMenuItem[];\n /**\n * Function to be executed when the content of the Context menu has been hidden.\n */\n onHide?: VoidFunction;\n /**\n * Function to be executed when the content of the Context menu has been shown.\n */\n onShow?: VoidFunction;\n};\n\nconst ContextMenu = forwardRef<ContextMenuRef, ContextMenuProps>(\n (\n {\n alignment,\n children = <Icon icons={['ts-ellipsis_v']} />,\n container = document.body,\n coordinates,\n items,\n onHide,\n onShow,\n },\n ref\n ) => {\n const [internalCoordinates, setInternalCoordinates] = useState<ContextMenuCoordinates>({\n x: 0,\n y: 0,\n });\n const [internalAlignment, setInternalAlignment] = useState<ContextMenuAlignment>(\n ContextMenuAlignment.TopLeft\n );\n const [isContentShown, setIsContentShown] = useState(false);\n const [portal, setPortal] = useState<ReactPortal>();\n\n const uuid = useUuid();\n\n // ToDo: Replace with hook if new chayns api is ready\n const contextMenuContentRef = useRef<HTMLDivElement>(null);\n const contextMenuRef = useRef<HTMLSpanElement>(null);\n\n const handleHide = useCallback(() => {\n setIsContentShown(false);\n }, []);\n\n const handleShow = useCallback(async () => {\n const { isMobile, isTablet } = chayns.env;\n\n if (isMobile || isTablet) {\n // ToDo: Replace with new api function if new api is ready\n const { buttonType, selection } = await chayns.dialog.select({\n buttons: [],\n list: items.map(({ icons, text }, index) => ({\n name: text,\n value: index,\n icon: icons[0],\n })),\n type: 2,\n });\n\n if (buttonType === 1 && typeof selection[0]?.value === 'number') {\n void items[selection[0].value]?.onClick();\n }\n } else if (contextMenuRef.current) {\n const rootElement = document.querySelector('.tapp') || document.body;\n\n const {\n x,\n y,\n height: childrenHeight,\n width: childrenWidth,\n } = contextMenuRef.current.getBoundingClientRect();\n\n setInternalCoordinates({ x: x + childrenWidth / 2, y: y + childrenHeight / 2 });\n\n const { height, width } = rootElement.getBoundingClientRect();\n\n if (x < width / 2) {\n if (y < height / 2) {\n setInternalAlignment(ContextMenuAlignment.BottomRight);\n } else {\n setInternalAlignment(ContextMenuAlignment.TopRight);\n }\n } else if (y < height / 2) {\n setInternalAlignment(ContextMenuAlignment.BottomLeft);\n } else {\n setInternalAlignment(ContextMenuAlignment.TopLeft);\n }\n\n setIsContentShown(true);\n }\n }, [items]);\n\n const handleClick = useCallback<MouseEventHandler<HTMLDivElement>>(\n (event) => {\n event.preventDefault();\n event.stopPropagation();\n\n void handleShow();\n },\n [handleShow]\n );\n\n const handleDocumentClick = useCallback<EventListener>(\n (event) => {\n if (!contextMenuContentRef.current?.contains(event.target as Node)) {\n event.preventDefault();\n event.stopPropagation();\n }\n\n handleHide();\n },\n [handleHide]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n hide: handleHide,\n show: handleShow,\n }),\n [handleHide, handleShow]\n );\n\n useEffect(() => {\n if (isContentShown) {\n document.addEventListener('click', handleDocumentClick, true);\n window.addEventListener('blur', handleHide);\n\n if (typeof onShow === 'function') {\n onShow();\n }\n } else if (typeof onHide === 'function') {\n onHide();\n }\n\n return () => {\n document.removeEventListener('click', handleDocumentClick, true);\n window.removeEventListener('blur', handleHide);\n };\n }, [handleDocumentClick, handleHide, isContentShown, onHide, onShow]);\n\n useEffect(() => {\n setPortal(() =>\n createPortal(\n <AnimatePresence initial={false}>\n {isContentShown && (\n <ContextMenuContent\n coordinates={coordinates ?? internalCoordinates}\n items={items}\n key={`contextMenu_${uuid}`}\n alignment={alignment ?? internalAlignment}\n ref={contextMenuContentRef}\n />\n )}\n </AnimatePresence>,\n container\n )\n );\n }, [\n alignment,\n container,\n coordinates,\n internalAlignment,\n internalCoordinates,\n isContentShown,\n items,\n uuid,\n ]);\n\n return (\n <>\n <StyledContextMenu\n className=\"beta-chayns-context-menu\"\n onClick={handleClick}\n ref={contextMenuRef}\n >\n {children}\n </StyledContextMenu>\n {portal}\n </>\n );\n }\n);\n\nContextMenu.displayName = 'ContextMenu';\n\nexport default ContextMenu;\n"],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -39,3 +39,5 @@ export { default as TextStringProvider } from './components/textstring-provider/
|
|
|
39
39
|
export { default as TextString } from './components/textstring/TextString';
|
|
40
40
|
export type { ITextstring as Textstring, TextstringReplacement, } from './components/textstring/types';
|
|
41
41
|
export { default as Tooltip } from './components/tooltip/Tooltip';
|
|
42
|
+
export { selectFiles } from './utils/fileDialog';
|
|
43
|
+
export { uploadFile } from './utils/uploadFile';
|
package/lib/index.js
CHANGED
|
@@ -219,6 +219,18 @@ Object.defineProperty(exports, "Tooltip", {
|
|
|
219
219
|
return _Tooltip.default;
|
|
220
220
|
}
|
|
221
221
|
});
|
|
222
|
+
Object.defineProperty(exports, "selectFiles", {
|
|
223
|
+
enumerable: true,
|
|
224
|
+
get: function () {
|
|
225
|
+
return _fileDialog.selectFiles;
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
Object.defineProperty(exports, "uploadFile", {
|
|
229
|
+
enumerable: true,
|
|
230
|
+
get: function () {
|
|
231
|
+
return _uploadFile.uploadFile;
|
|
232
|
+
}
|
|
233
|
+
});
|
|
222
234
|
var _Accordion = _interopRequireDefault(require("./components/accordion/Accordion"));
|
|
223
235
|
var _AccordionContent = _interopRequireDefault(require("./components/accordion/accordion-content/AccordionContent"));
|
|
224
236
|
var _AccordionGroup = _interopRequireDefault(require("./components/accordion/accordion-group/AccordionGroup"));
|
|
@@ -254,6 +266,8 @@ var _TextArea = _interopRequireDefault(require("./components/text-area/TextArea"
|
|
|
254
266
|
var _TextStringProvider = _interopRequireDefault(require("./components/textstring-provider/TextStringProvider"));
|
|
255
267
|
var _TextString = _interopRequireDefault(require("./components/textstring/TextString"));
|
|
256
268
|
var _Tooltip = _interopRequireDefault(require("./components/tooltip/Tooltip"));
|
|
269
|
+
var _fileDialog = require("./utils/fileDialog");
|
|
270
|
+
var _uploadFile = require("./utils/uploadFile");
|
|
257
271
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
258
272
|
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; }
|
|
259
273
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_Accordion","_interopRequireDefault","require","_AccordionContent","_AccordionGroup","_AccordionIntro","_AmountControl","_Badge","_Button","_Checkbox","_ColorSchemeProvider","_ComboBox","_ContentCard","_ContextMenu","_FilterButton","_GridImage","_Icon","_Input","_List","_ListItemContent","_ListItem","_alignment","_MentionFinder","_Popup","_ProgressBar","_RadioButtonGroup","_RadioButton","_ScrollView","_SearchBox","_SearchInput","_SharingBar","_Slider","_SmallWaitCursor","_interopRequireWildcard","_TextArea","_TextStringProvider","_TextString","_Tooltip","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport { default as ColorSchemeProvider } from './components/color-scheme-provider/ColorSchemeProvider';\nexport type { WithTheme } from './components/color-scheme-provider/ColorSchemeProvider';\nexport { default as ComboBox } from './components/combobox/ComboBox';\nexport type { IComboBoxItem as ComboBoxItem } from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport { default as ContextMenu } from './components/context-menu/ContextMenu';\nexport { default as FilterButton } from './components/filter-button/FilterButton';\nexport type {\n FilterButtonItemShape,\n FilterButtonSize,\n IFilterButtonItem as FilterButtonItem,\n} from './components/filter-button/types';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport { default as ListItem } from './components/list/list-item/ListItem';\nexport { MentionFinderPopupAlignment } from './components/mention-finder/constants/alignment';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport { default as RadioButtonGroup } from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport type { ISearchBoxItem as SearchBoxItem } from './components/search-box/types';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as TextStringProvider } from './components/textstring-provider/TextStringProvider';\nexport { default as TextString } from './components/textstring/TextString';\nexport type {\n ITextstring as Textstring,\n TextstringReplacement,\n} from './components/textstring/types';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_Accordion","_interopRequireDefault","require","_AccordionContent","_AccordionGroup","_AccordionIntro","_AmountControl","_Badge","_Button","_Checkbox","_ColorSchemeProvider","_ComboBox","_ContentCard","_ContextMenu","_FilterButton","_GridImage","_Icon","_Input","_List","_ListItemContent","_ListItem","_alignment","_MentionFinder","_Popup","_ProgressBar","_RadioButtonGroup","_RadioButton","_ScrollView","_SearchBox","_SearchInput","_SharingBar","_Slider","_SmallWaitCursor","_interopRequireWildcard","_TextArea","_TextStringProvider","_TextString","_Tooltip","_fileDialog","_uploadFile","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set"],"sources":["../src/index.ts"],"sourcesContent":["// noinspection JSUnusedGlobalSymbols\n\nexport { default as Accordion } from './components/accordion/Accordion';\nexport { default as AccordionContent } from './components/accordion/accordion-content/AccordionContent';\nexport { default as AccordionGroup } from './components/accordion/accordion-group/AccordionGroup';\nexport { default as AccordionIntro } from './components/accordion/accordion-intro/AccordionIntro';\nexport { default as AmountControl } from './components/amount-control/AmountControl';\nexport { default as Badge } from './components/badge/Badge';\nexport { default as Button } from './components/button/Button';\nexport { default as Checkbox } from './components/checkbox/Checkbox';\nexport { default as ColorSchemeProvider } from './components/color-scheme-provider/ColorSchemeProvider';\nexport type { WithTheme } from './components/color-scheme-provider/ColorSchemeProvider';\nexport { default as ComboBox } from './components/combobox/ComboBox';\nexport type { IComboBoxItem as ComboBoxItem } from './components/combobox/ComboBox';\nexport { default as ContentCard } from './components/content-card/ContentCard';\nexport { default as ContextMenu } from './components/context-menu/ContextMenu';\nexport { default as FilterButton } from './components/filter-button/FilterButton';\nexport type {\n FilterButtonItemShape,\n FilterButtonSize,\n IFilterButtonItem as FilterButtonItem,\n} from './components/filter-button/types';\nexport { default as GridImage } from './components/grid-image/GridImage';\nexport { default as Icon } from './components/icon/Icon';\nexport { default as Input } from './components/input/Input';\nexport { default as List } from './components/list/List';\nexport { default as ListItemContent } from './components/list/list-item/list-item-content/ListItemContent';\nexport { default as ListItem } from './components/list/list-item/ListItem';\nexport { MentionFinderPopupAlignment } from './components/mention-finder/constants/alignment';\nexport { default as MentionFinder } from './components/mention-finder/MentionFinder';\nexport type { MentionMember } from './components/mention-finder/MentionFinder';\nexport { default as Popup } from './components/popup/Popup';\nexport { default as ProgressBar } from './components/progress-bar/ProgressBar';\nexport { default as RadioButtonGroup } from './components/radio-button/radio-button-group/RadioButtonGroup';\nexport { default as RadioButton } from './components/radio-button/RadioButton';\nexport { default as ScrollView } from './components/scroll-view/ScrollView';\nexport { default as SearchBox } from './components/search-box/SearchBox';\nexport type { ISearchBoxItem as SearchBoxItem } from './components/search-box/types';\nexport { default as SearchInput } from './components/search-input/SearchInput';\nexport { default as SharingBar } from './components/sharing-bar/SharingBar';\nexport { default as Slider } from './components/slider/Slider';\nexport {\n default as SmallWaitCursor,\n SmallWaitCursorSpeed,\n} from './components/small-wait-cursor/SmallWaitCursor';\nexport { default as TextArea } from './components/text-area/TextArea';\nexport { default as TextStringProvider } from './components/textstring-provider/TextStringProvider';\nexport { default as TextString } from './components/textstring/TextString';\nexport type {\n ITextstring as Textstring,\n TextstringReplacement,\n} from './components/textstring/types';\nexport { default as Tooltip } from './components/tooltip/Tooltip';\nexport { selectFiles } from './utils/fileDialog';\nexport { uploadFile } from './utils/uploadFile';\n"],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
export type LoadingState = 'uploading' | 'uploaded' | 'none';
|
|
2
|
+
export interface Video {
|
|
3
|
+
id: string;
|
|
4
|
+
originalVideoQuality?: string;
|
|
5
|
+
thumbnailUrl: string;
|
|
6
|
+
url: string;
|
|
7
|
+
ratio?: number;
|
|
8
|
+
}
|
|
9
|
+
export interface Image {
|
|
10
|
+
id?: string;
|
|
11
|
+
url: string;
|
|
12
|
+
meta?: Meta;
|
|
13
|
+
ratio?: number;
|
|
14
|
+
}
|
|
15
|
+
export interface Meta {
|
|
16
|
+
preview: string;
|
|
17
|
+
width: string;
|
|
18
|
+
height: string;
|
|
19
|
+
}
|
|
20
|
+
export interface FileItem {
|
|
21
|
+
/**
|
|
22
|
+
* The state will be set in this component
|
|
23
|
+
*/
|
|
24
|
+
state?: LoadingState;
|
|
25
|
+
/**
|
|
26
|
+
* Raw file from select or drag and drop
|
|
27
|
+
*/
|
|
28
|
+
file?: File;
|
|
29
|
+
/**
|
|
30
|
+
* File that is uploaded at any service
|
|
31
|
+
*/
|
|
32
|
+
uploadedFile?: Video | Image;
|
|
33
|
+
/**
|
|
34
|
+
* The ID of the file. If an `uploadedFile` object is provided, the ID is set to the ID of the uploaded file.
|
|
35
|
+
* If no `uploadedFile` object is provided, a new ID will be generated.
|
|
36
|
+
*/
|
|
37
|
+
id?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Preview url of the file
|
|
40
|
+
*/
|
|
41
|
+
previewUrl?: string;
|
|
42
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"file.js","names":[],"sources":["../../src/types/file.ts"],"sourcesContent":["export type LoadingState = 'uploading' | 'uploaded' | 'none';\n\nexport interface Video {\n id: string;\n originalVideoQuality?: string;\n thumbnailUrl: string;\n url: string;\n ratio?: number;\n}\n\nexport interface Image {\n id?: string;\n url: string;\n meta?: Meta;\n ratio?: number;\n}\n\nexport interface Meta {\n preview: string;\n width: string;\n height: string;\n}\n\nexport interface FileItem {\n /**\n * The state will be set in this component\n */\n state?: LoadingState;\n /**\n * Raw file from select or drag and drop\n */\n file?: File;\n /**\n * File that is uploaded at any service\n */\n uploadedFile?: Video | Image;\n /**\n * The ID of the file. If an `uploadedFile` object is provided, the ID is set to the ID of the uploaded file.\n * If no `uploadedFile` object is provided, a new ID will be generated.\n */\n id?: string;\n /**\n * Preview url of the file\n */\n previewUrl?: string;\n}\n"],"mappings":""}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface SelectFilesOptions {
|
|
2
|
+
type?: string;
|
|
3
|
+
multiple: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const selectFiles: ({ type, multiple }: SelectFilesOptions) => Promise<File[]>;
|
|
6
|
+
export declare const getFileAsArrayBuffer: (file: File) => Promise<string | ArrayBuffer>;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.selectFiles = exports.getFileAsArrayBuffer = void 0;
|
|
7
|
+
const selectFiles = _ref => {
|
|
8
|
+
let {
|
|
9
|
+
type,
|
|
10
|
+
multiple
|
|
11
|
+
} = _ref;
|
|
12
|
+
return new Promise(resolve => {
|
|
13
|
+
const input = document.createElement('input');
|
|
14
|
+
input.type = 'file';
|
|
15
|
+
input.style.visibility = 'none';
|
|
16
|
+
input.style.width = '0';
|
|
17
|
+
input.style.height = '0';
|
|
18
|
+
input.style.display = 'none';
|
|
19
|
+
if (type !== '*/*' && type) {
|
|
20
|
+
input.accept = type;
|
|
21
|
+
}
|
|
22
|
+
if (multiple) {
|
|
23
|
+
input.multiple = true;
|
|
24
|
+
}
|
|
25
|
+
document.body.appendChild(input);
|
|
26
|
+
input.addEventListener('change', event => {
|
|
27
|
+
document.body.removeChild(input);
|
|
28
|
+
const target = event.target;
|
|
29
|
+
const {
|
|
30
|
+
files
|
|
31
|
+
} = target;
|
|
32
|
+
if (!files) {
|
|
33
|
+
resolve([]);
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
const fileArray = Object.values(files);
|
|
37
|
+
const filteredFileArray = fileArray.filter(file => {
|
|
38
|
+
const sizeInMB = file.size / 1024 / 1024;
|
|
39
|
+
if (file.type.includes('video/') && sizeInMB > 500) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
return !(file.type.includes('image/') && sizeInMB > 64);
|
|
43
|
+
});
|
|
44
|
+
if (fileArray.length !== filteredFileArray.length) {
|
|
45
|
+
// ToDo show dialog that some files are to big
|
|
46
|
+
}
|
|
47
|
+
if (filteredFileArray.length === 0) {
|
|
48
|
+
// ToDo show dialog that all files are to big
|
|
49
|
+
}
|
|
50
|
+
resolve(filteredFileArray);
|
|
51
|
+
});
|
|
52
|
+
input.click();
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
exports.selectFiles = selectFiles;
|
|
56
|
+
const getFileAsArrayBuffer = file => new Promise((resolve, reject) => {
|
|
57
|
+
const reader = new FileReader();
|
|
58
|
+
reader.onload = e => {
|
|
59
|
+
var _e$target;
|
|
60
|
+
if ((_e$target = e.target) !== null && _e$target !== void 0 && _e$target.result) {
|
|
61
|
+
resolve(e.target.result);
|
|
62
|
+
} else {
|
|
63
|
+
reject(Error('Could not get array buffer.'));
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
reader.onerror = reject;
|
|
67
|
+
reader.readAsArrayBuffer(file);
|
|
68
|
+
});
|
|
69
|
+
exports.getFileAsArrayBuffer = getFileAsArrayBuffer;
|
|
70
|
+
//# sourceMappingURL=fileDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fileDialog.js","names":["selectFiles","_ref","type","multiple","Promise","resolve","input","document","createElement","style","visibility","width","height","display","accept","body","appendChild","addEventListener","event","removeChild","target","files","fileArray","Object","values","filteredFileArray","filter","file","sizeInMB","size","includes","length","click","exports","getFileAsArrayBuffer","reject","reader","FileReader","onload","e","_e$target","result","Error","onerror","readAsArrayBuffer"],"sources":["../../src/utils/fileDialog.ts"],"sourcesContent":["interface SelectFilesOptions {\n type?: string;\n multiple: boolean;\n}\n\nexport const selectFiles = ({ type, multiple }: SelectFilesOptions): Promise<File[]> =>\n new Promise((resolve) => {\n const input = document.createElement('input');\n\n input.type = 'file';\n input.style.visibility = 'none';\n input.style.width = '0';\n input.style.height = '0';\n input.style.display = 'none';\n\n if (type !== '*/*' && type) {\n input.accept = type;\n }\n\n if (multiple) {\n input.multiple = true;\n }\n\n document.body.appendChild(input);\n\n input.addEventListener('change', (event) => {\n document.body.removeChild(input);\n\n const target = event.target as HTMLInputElement;\n\n const { files } = target;\n\n if (!files) {\n resolve([]);\n\n return;\n }\n\n const fileArray = Object.values(files);\n\n const filteredFileArray = fileArray.filter((file) => {\n const sizeInMB = file.size / 1024 / 1024;\n\n if (file.type.includes('video/') && sizeInMB > 500) {\n return false;\n }\n\n return !(file.type.includes('image/') && sizeInMB > 64);\n });\n\n if (fileArray.length !== filteredFileArray.length) {\n // ToDo show dialog that some files are to big\n }\n\n if (filteredFileArray.length === 0) {\n // ToDo show dialog that all files are to big\n }\n\n resolve(filteredFileArray);\n });\n\n input.click();\n });\n\nexport const getFileAsArrayBuffer = (file: File): Promise<string | ArrayBuffer> =>\n new Promise((resolve, reject) => {\n const reader = new FileReader();\n\n reader.onload = (e) => {\n if (e.target?.result) {\n resolve(e.target.result);\n } else {\n reject(Error('Could not get array buffer.'));\n }\n };\n\n reader.onerror = reject;\n\n reader.readAsArrayBuffer(file);\n });\n"],"mappings":";;;;;;AAKO,MAAMA,WAAW,GAAGC,IAAA;EAAA,IAAC;IAAEC,IAAI;IAAEC;EAA6B,CAAC,GAAAF,IAAA;EAAA,OAC9D,IAAIG,OAAO,CAAEC,OAAO,IAAK;IACrB,MAAMC,KAAK,GAAGC,QAAQ,CAACC,aAAa,CAAC,OAAO,CAAC;IAE7CF,KAAK,CAACJ,IAAI,GAAG,MAAM;IACnBI,KAAK,CAACG,KAAK,CAACC,UAAU,GAAG,MAAM;IAC/BJ,KAAK,CAACG,KAAK,CAACE,KAAK,GAAG,GAAG;IACvBL,KAAK,CAACG,KAAK,CAACG,MAAM,GAAG,GAAG;IACxBN,KAAK,CAACG,KAAK,CAACI,OAAO,GAAG,MAAM;IAE5B,IAAIX,IAAI,KAAK,KAAK,IAAIA,IAAI,EAAE;MACxBI,KAAK,CAACQ,MAAM,GAAGZ,IAAI;IACvB;IAEA,IAAIC,QAAQ,EAAE;MACVG,KAAK,CAACH,QAAQ,GAAG,IAAI;IACzB;IAEAI,QAAQ,CAACQ,IAAI,CAACC,WAAW,CAACV,KAAK,CAAC;IAEhCA,KAAK,CAACW,gBAAgB,CAAC,QAAQ,EAAGC,KAAK,IAAK;MACxCX,QAAQ,CAACQ,IAAI,CAACI,WAAW,CAACb,KAAK,CAAC;MAEhC,MAAMc,MAAM,GAAGF,KAAK,CAACE,MAA0B;MAE/C,MAAM;QAAEC;MAAM,CAAC,GAAGD,MAAM;MAExB,IAAI,CAACC,KAAK,EAAE;QACRhB,OAAO,CAAC,EAAE,CAAC;QAEX;MACJ;MAEA,MAAMiB,SAAS,GAAGC,MAAM,CAACC,MAAM,CAACH,KAAK,CAAC;MAEtC,MAAMI,iBAAiB,GAAGH,SAAS,CAACI,MAAM,CAAEC,IAAI,IAAK;QACjD,MAAMC,QAAQ,GAAGD,IAAI,CAACE,IAAI,GAAG,IAAI,GAAG,IAAI;QAExC,IAAIF,IAAI,CAACzB,IAAI,CAAC4B,QAAQ,CAAC,QAAQ,CAAC,IAAIF,QAAQ,GAAG,GAAG,EAAE;UAChD,OAAO,KAAK;QAChB;QAEA,OAAO,EAAED,IAAI,CAACzB,IAAI,CAAC4B,QAAQ,CAAC,QAAQ,CAAC,IAAIF,QAAQ,GAAG,EAAE,CAAC;MAC3D,CAAC,CAAC;MAEF,IAAIN,SAAS,CAACS,MAAM,KAAKN,iBAAiB,CAACM,MAAM,EAAE;QAC/C;MAAA;MAGJ,IAAIN,iBAAiB,CAACM,MAAM,KAAK,CAAC,EAAE;QAChC;MAAA;MAGJ1B,OAAO,CAACoB,iBAAiB,CAAC;IAC9B,CAAC,CAAC;IAEFnB,KAAK,CAAC0B,KAAK,CAAC,CAAC;EACjB,CAAC,CAAC;AAAA;AAACC,OAAA,CAAAjC,WAAA,GAAAA,WAAA;AAEA,MAAMkC,oBAAoB,GAAIP,IAAU,IAC3C,IAAIvB,OAAO,CAAC,CAACC,OAAO,EAAE8B,MAAM,KAAK;EAC7B,MAAMC,MAAM,GAAG,IAAIC,UAAU,CAAC,CAAC;EAE/BD,MAAM,CAACE,MAAM,GAAIC,CAAC,IAAK;IAAA,IAAAC,SAAA;IACnB,KAAAA,SAAA,GAAID,CAAC,CAACnB,MAAM,cAAAoB,SAAA,eAARA,SAAA,CAAUC,MAAM,EAAE;MAClBpC,OAAO,CAACkC,CAAC,CAACnB,MAAM,CAACqB,MAAM,CAAC;IAC5B,CAAC,MAAM;MACHN,MAAM,CAACO,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAChD;EACJ,CAAC;EAEDN,MAAM,CAACO,OAAO,GAAGR,MAAM;EAEvBC,MAAM,CAACQ,iBAAiB,CAACjB,IAAI,CAAC;AAClC,CAAC,CAAC;AAACM,OAAA,CAAAC,oBAAA,GAAAA,oBAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { FileItem, Image, Video } from '../types/file';
|
|
2
|
+
interface UploadFilesOptions {
|
|
3
|
+
fileToUpload: FileItem;
|
|
4
|
+
accessToken: string;
|
|
5
|
+
personId: string;
|
|
6
|
+
callback: (UploadedFile: Video | Image) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const uploadFile: ({ fileToUpload, personId, accessToken, callback, }: UploadFilesOptions) => Promise<void>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.uploadFile = void 0;
|
|
7
|
+
var _post = require("../api/image/post");
|
|
8
|
+
var _post2 = require("../api/video/post");
|
|
9
|
+
const uploadFile = async _ref => {
|
|
10
|
+
var _fileToUpload$file, _fileToUpload$file2;
|
|
11
|
+
let {
|
|
12
|
+
fileToUpload,
|
|
13
|
+
personId,
|
|
14
|
+
accessToken,
|
|
15
|
+
callback
|
|
16
|
+
} = _ref;
|
|
17
|
+
if (!fileToUpload || fileToUpload.state !== 'none') {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if ((_fileToUpload$file = fileToUpload.file) !== null && _fileToUpload$file !== void 0 && _fileToUpload$file.type.includes('video/')) {
|
|
21
|
+
const uploadedVideo = await (0, _post2.postVideo)({
|
|
22
|
+
file: fileToUpload.file,
|
|
23
|
+
accessToken
|
|
24
|
+
});
|
|
25
|
+
if (uploadedVideo) {
|
|
26
|
+
callback({
|
|
27
|
+
...uploadedVideo,
|
|
28
|
+
id: uploadedVideo.id.toString()
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
if ((_fileToUpload$file2 = fileToUpload.file) !== null && _fileToUpload$file2 !== void 0 && _fileToUpload$file2.type.includes('image/')) {
|
|
33
|
+
const uploadedImage = await (0, _post.postImage)({
|
|
34
|
+
file: fileToUpload.file,
|
|
35
|
+
personId,
|
|
36
|
+
accessToken
|
|
37
|
+
});
|
|
38
|
+
if (uploadedImage) {
|
|
39
|
+
callback({
|
|
40
|
+
url: `${uploadedImage.base}/${uploadedImage.key}`,
|
|
41
|
+
id: uploadedImage.key,
|
|
42
|
+
meta: uploadedImage.meta
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
exports.uploadFile = uploadFile;
|
|
48
|
+
//# sourceMappingURL=uploadFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uploadFile.js","names":["_post","require","_post2","uploadFile","_ref","_fileToUpload$file","_fileToUpload$file2","fileToUpload","personId","accessToken","callback","state","file","type","includes","uploadedVideo","postVideo","id","toString","uploadedImage","postImage","url","base","key","meta","exports"],"sources":["../../src/utils/uploadFile.ts"],"sourcesContent":["import { postImage } from '../api/image/post';\nimport { postVideo } from '../api/video/post';\nimport type { FileItem, Image, Video } from '../types/file';\n\ninterface UploadFilesOptions {\n fileToUpload: FileItem;\n accessToken: string;\n personId: string;\n callback: (UploadedFile: Video | Image) => void;\n}\n\nexport const uploadFile = async ({\n fileToUpload,\n personId,\n accessToken,\n callback,\n}: UploadFilesOptions): Promise<void> => {\n if (!fileToUpload || fileToUpload.state !== 'none') {\n return;\n }\n\n if (fileToUpload.file?.type.includes('video/')) {\n const uploadedVideo = await postVideo({ file: fileToUpload.file, accessToken });\n\n if (uploadedVideo) {\n callback({\n ...uploadedVideo,\n id: uploadedVideo.id.toString(),\n });\n }\n }\n\n if (fileToUpload.file?.type.includes('image/')) {\n const uploadedImage = await postImage({ file: fileToUpload.file, personId, accessToken });\n\n if (uploadedImage) {\n callback({\n url: `${uploadedImage.base}/${uploadedImage.key}`,\n id: uploadedImage.key,\n meta: uploadedImage.meta,\n });\n }\n }\n};\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAUO,MAAME,UAAU,GAAG,MAAAC,IAAA,IAKe;EAAA,IAAAC,kBAAA,EAAAC,mBAAA;EAAA,IALR;IAC7BC,YAAY;IACZC,QAAQ;IACRC,WAAW;IACXC;EACgB,CAAC,GAAAN,IAAA;EACjB,IAAI,CAACG,YAAY,IAAIA,YAAY,CAACI,KAAK,KAAK,MAAM,EAAE;IAChD;EACJ;EAEA,KAAAN,kBAAA,GAAIE,YAAY,CAACK,IAAI,cAAAP,kBAAA,eAAjBA,kBAAA,CAAmBQ,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC5C,MAAMC,aAAa,GAAG,MAAM,IAAAC,gBAAS,EAAC;MAAEJ,IAAI,EAAEL,YAAY,CAACK,IAAI;MAAEH;IAAY,CAAC,CAAC;IAE/E,IAAIM,aAAa,EAAE;MACfL,QAAQ,CAAC;QACL,GAAGK,aAAa;QAChBE,EAAE,EAAEF,aAAa,CAACE,EAAE,CAACC,QAAQ,CAAC;MAClC,CAAC,CAAC;IACN;EACJ;EAEA,KAAAZ,mBAAA,GAAIC,YAAY,CAACK,IAAI,cAAAN,mBAAA,eAAjBA,mBAAA,CAAmBO,IAAI,CAACC,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAC5C,MAAMK,aAAa,GAAG,MAAM,IAAAC,eAAS,EAAC;MAAER,IAAI,EAAEL,YAAY,CAACK,IAAI;MAAEJ,QAAQ;MAAEC;IAAY,CAAC,CAAC;IAEzF,IAAIU,aAAa,EAAE;MACfT,QAAQ,CAAC;QACLW,GAAG,EAAG,GAAEF,aAAa,CAACG,IAAK,IAAGH,aAAa,CAACI,GAAI,EAAC;QACjDN,EAAE,EAAEE,aAAa,CAACI,GAAG;QACrBC,IAAI,EAAEL,aAAa,CAACK;MACxB,CAAC,CAAC;IACN;EACJ;AACJ,CAAC;AAACC,OAAA,CAAAtB,UAAA,GAAAA,UAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chayns-components/core",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.189",
|
|
4
4
|
"description": "A set of beautiful React components for developing your own applications with chayns.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"chayns",
|
|
@@ -34,19 +34,19 @@
|
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@babel/cli": "^7.21.5",
|
|
37
|
-
"@babel/core": "^7.
|
|
38
|
-
"@babel/preset-env": "^7.
|
|
39
|
-
"@babel/preset-react": "^7.
|
|
37
|
+
"@babel/core": "^7.22.1",
|
|
38
|
+
"@babel/preset-env": "^7.22.4",
|
|
39
|
+
"@babel/preset-react": "^7.22.3",
|
|
40
40
|
"@babel/preset-typescript": "^7.21.5",
|
|
41
|
-
"@types/react": "^17.0.
|
|
41
|
+
"@types/react": "^17.0.60",
|
|
42
42
|
"@types/react-dom": "^17.0.20",
|
|
43
43
|
"@types/styled-components": "^5.1.26",
|
|
44
44
|
"@types/uuid": "^9.0.1",
|
|
45
45
|
"babel-loader": "^8.3.0",
|
|
46
|
-
"lerna": "^6.6.
|
|
46
|
+
"lerna": "^6.6.2",
|
|
47
47
|
"react": "^17.0.2",
|
|
48
48
|
"react-dom": "^17.0.2",
|
|
49
|
-
"styled-components": "^5.3.
|
|
49
|
+
"styled-components": "^5.3.11",
|
|
50
50
|
"typescript": "^4.9.5"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
"publishConfig": {
|
|
64
64
|
"access": "public"
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "d18297c5ebbcc70a11f1692e6dfa412ef535f708"
|
|
67
67
|
}
|