@app-studio/web 0.8.62 → 0.8.64

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.
@@ -9,4 +9,6 @@ export interface TabsViewProps extends TabsProps {
9
9
  setIsActive: React.Dispatch<React.SetStateAction<Tab>>;
10
10
  tabsState: Tab[];
11
11
  setTabsState: React.Dispatch<React.SetStateAction<Tab[]>>;
12
+ renderTab?: (tab: Tab, isActive: boolean, index: number) => React.ReactNode;
13
+ renderContent?: (tab: Tab, index: number) => React.ReactNode;
12
14
  }
@@ -1,5 +1,6 @@
1
1
  import React from 'react';
2
2
  import { UploadProps, UseUploadProps } from './Uploader.props';
3
+ export declare const generateThumbnail: (videoFile: File, setThumbnailUrl: (url: string) => void) => void;
3
4
  export declare const useUpload: ({ maxSize, onFileSelect, validateFile, thumbnail, onError, }: UseUploadProps) => {
4
5
  previewUrl: string | null;
5
6
  thumbnailUrl: string | null;
@@ -6965,6 +6965,26 @@ var MessageLayout = _ref => {
6965
6965
  return visible ? MessageContainer : null;
6966
6966
  };
6967
6967
 
6968
+ var generateThumbnail = (videoFile, setThumbnailUrl) => {
6969
+ var video = document.createElement('video');
6970
+ video.preload = 'metadata';
6971
+ video.onloadedmetadata = () => {
6972
+ video.currentTime = 1;
6973
+ };
6974
+ video.oncanplay = () => {
6975
+ var canvas = document.createElement('canvas');
6976
+ canvas.width = video.videoWidth;
6977
+ canvas.height = video.videoHeight;
6978
+ var ctx = canvas.getContext('2d');
6979
+ if (ctx) {
6980
+ ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6981
+ var thumbnailDataUrl = canvas.toDataURL('image/jpeg');
6982
+ setThumbnailUrl(thumbnailDataUrl);
6983
+ }
6984
+ URL.revokeObjectURL(video.src);
6985
+ };
6986
+ video.src = URL.createObjectURL(videoFile);
6987
+ };
6968
6988
  var useUpload = _ref => {
6969
6989
  var {
6970
6990
  maxSize = 100 * 1024 * 1024,
@@ -6982,26 +7002,6 @@ var useUpload = _ref => {
6982
7002
  var [errorMessage, setErrorMessage] = React.useState(null);
6983
7003
  var [previewUrl, setPreviewUrl] = React.useState(null);
6984
7004
  var [thumbnailUrl, setThumbnailUrl] = React.useState(thumbnail || null);
6985
- var generateThumbnail = videoFile => {
6986
- var video = document.createElement('video');
6987
- video.preload = 'metadata';
6988
- video.onloadedmetadata = () => {
6989
- video.currentTime = 1;
6990
- };
6991
- video.oncanplay = () => {
6992
- var canvas = document.createElement('canvas');
6993
- canvas.width = video.videoWidth;
6994
- canvas.height = video.videoHeight;
6995
- var ctx = canvas.getContext('2d');
6996
- if (ctx) {
6997
- ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6998
- var thumbnailDataUrl = canvas.toDataURL('image/jpeg');
6999
- setThumbnailUrl(thumbnailDataUrl);
7000
- }
7001
- URL.revokeObjectURL(video.src);
7002
- };
7003
- video.src = URL.createObjectURL(videoFile);
7004
- };
7005
7005
  var handleFileChange = React.useCallback(event => {
7006
7006
  var _event$target$files;
7007
7007
  var file = (_event$target$files = event.target.files) == null ? void 0 : _event$target$files[0];
@@ -7026,7 +7026,7 @@ var useUpload = _ref => {
7026
7026
  }
7027
7027
  setPreviewUrl(URL.createObjectURL(file));
7028
7028
  if (file.type.startsWith('video/')) {
7029
- generateThumbnail(file);
7029
+ generateThumbnail(file, setThumbnailUrl);
7030
7030
  }
7031
7031
  if (onFileSelect) {
7032
7032
  setSelectedFile(file);
@@ -7678,7 +7678,9 @@ var TabsView = props => {
7678
7678
  isActive,
7679
7679
  setIsActive,
7680
7680
  tabsState,
7681
- setTabsState
7681
+ setTabsState,
7682
+ renderTab,
7683
+ renderContent
7682
7684
  } = props;
7683
7685
  // Declares a function 'moveSelectedTabToTop' that takes an index and modifies the tabs order.
7684
7686
  var moveSelectedTabToTop = idx => {
@@ -7699,11 +7701,9 @@ var TabsView = props => {
7699
7701
  return tab.value === tabsState[0].value;
7700
7702
  };
7701
7703
  return /*#__PURE__*/React__default.createElement(Vertical, Object.assign({
7702
- width: "100w",
7704
+ width: "100%",
7703
7705
  height: '100%'
7704
- }, styles == null ? void 0 : styles.container), /*#__PURE__*/React__default.createElement(Horizontal, Object.assign({
7705
- marginBottom: 20
7706
- }, styles == null ? void 0 : styles.headerTabs), tabs.map((tab, idx) => (/*#__PURE__*/React__default.createElement(Button, Object.assign({
7706
+ }, styles == null ? void 0 : styles.container), /*#__PURE__*/React__default.createElement(Horizontal, Object.assign({}, styles == null ? void 0 : styles.headerTabs), tabs.map((tab, idx) => renderTab ? renderTab(tab, isContentActive(tab), idx) : (/*#__PURE__*/React__default.createElement(Button, Object.assign({
7707
7707
  key: tab.title,
7708
7708
  onClick: () => {
7709
7709
  moveSelectedTabToTop(idx);
@@ -7711,11 +7711,12 @@ var TabsView = props => {
7711
7711
  variant: isActive.value === tab.value ? 'filled' : 'ghost',
7712
7712
  shape: "pillShaped",
7713
7713
  cursor: "pointer",
7714
- isAuto: true
7714
+ isAuto: true,
7715
+ margin: 10
7715
7716
  }, styles == null ? void 0 : styles.tab, isActive.value === tab.value ? styles == null ? void 0 : styles.activeTab : {}), /*#__PURE__*/React__default.createElement(Text, Object.assign({}, styles == null ? void 0 : styles.title, isActive.value === tab.value ? styles == null ? void 0 : styles.activeText : {}), tab.title))))), /*#__PURE__*/React__default.createElement(View, Object.assign({
7716
7717
  width: '100%',
7717
7718
  height: "100%"
7718
- }, styles == null ? void 0 : styles.content), tabsState.map((tab, idx) => isContentActive(tab) && /*#__PURE__*/React__default.createElement(View, {
7719
+ }, styles == null ? void 0 : styles.content), tabsState.map(renderContent ? renderContent : (tab, idx) => isContentActive(tab) && /*#__PURE__*/React__default.createElement(View, {
7719
7720
  key: idx
7720
7721
  }, tab.content))));
7721
7722
  };
@@ -8191,6 +8192,7 @@ exports.WarningIcon = WarningIcon;
8191
8192
  exports.WifiIcon = WifiIcon;
8192
8193
  exports.XIcon = XIcon;
8193
8194
  exports.YoutubeIcon = YoutubeIcon;
8195
+ exports.generateThumbnail = generateThumbnail;
8194
8196
  exports.hideMessage = hideMessage;
8195
8197
  exports.hideModal = hideModal;
8196
8198
  exports.showMessage = showMessage;