@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.
@@ -6949,6 +6949,26 @@
6949
6949
  return visible ? MessageContainer : null;
6950
6950
  };
6951
6951
 
6952
+ var generateThumbnail = (videoFile, setThumbnailUrl) => {
6953
+ var video = document.createElement('video');
6954
+ video.preload = 'metadata';
6955
+ video.onloadedmetadata = () => {
6956
+ video.currentTime = 1;
6957
+ };
6958
+ video.oncanplay = () => {
6959
+ var canvas = document.createElement('canvas');
6960
+ canvas.width = video.videoWidth;
6961
+ canvas.height = video.videoHeight;
6962
+ var ctx = canvas.getContext('2d');
6963
+ if (ctx) {
6964
+ ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6965
+ var thumbnailDataUrl = canvas.toDataURL('image/jpeg');
6966
+ setThumbnailUrl(thumbnailDataUrl);
6967
+ }
6968
+ URL.revokeObjectURL(video.src);
6969
+ };
6970
+ video.src = URL.createObjectURL(videoFile);
6971
+ };
6952
6972
  var useUpload = _ref => {
6953
6973
  var {
6954
6974
  maxSize = 100 * 1024 * 1024,
@@ -6966,26 +6986,6 @@
6966
6986
  var [errorMessage, setErrorMessage] = React.useState(null);
6967
6987
  var [previewUrl, setPreviewUrl] = React.useState(null);
6968
6988
  var [thumbnailUrl, setThumbnailUrl] = React.useState(thumbnail || null);
6969
- var generateThumbnail = videoFile => {
6970
- var video = document.createElement('video');
6971
- video.preload = 'metadata';
6972
- video.onloadedmetadata = () => {
6973
- video.currentTime = 1;
6974
- };
6975
- video.oncanplay = () => {
6976
- var canvas = document.createElement('canvas');
6977
- canvas.width = video.videoWidth;
6978
- canvas.height = video.videoHeight;
6979
- var ctx = canvas.getContext('2d');
6980
- if (ctx) {
6981
- ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6982
- var thumbnailDataUrl = canvas.toDataURL('image/jpeg');
6983
- setThumbnailUrl(thumbnailDataUrl);
6984
- }
6985
- URL.revokeObjectURL(video.src);
6986
- };
6987
- video.src = URL.createObjectURL(videoFile);
6988
- };
6989
6989
  var handleFileChange = React.useCallback(event => {
6990
6990
  var _event$target$files;
6991
6991
  var file = (_event$target$files = event.target.files) == null ? void 0 : _event$target$files[0];
@@ -7010,7 +7010,7 @@
7010
7010
  }
7011
7011
  setPreviewUrl(URL.createObjectURL(file));
7012
7012
  if (file.type.startsWith('video/')) {
7013
- generateThumbnail(file);
7013
+ generateThumbnail(file, setThumbnailUrl);
7014
7014
  }
7015
7015
  if (onFileSelect) {
7016
7016
  setSelectedFile(file);
@@ -7662,7 +7662,9 @@
7662
7662
  isActive,
7663
7663
  setIsActive,
7664
7664
  tabsState,
7665
- setTabsState
7665
+ setTabsState,
7666
+ renderTab,
7667
+ renderContent
7666
7668
  } = props;
7667
7669
  // Declares a function 'moveSelectedTabToTop' that takes an index and modifies the tabs order.
7668
7670
  var moveSelectedTabToTop = idx => {
@@ -7683,11 +7685,9 @@
7683
7685
  return tab.value === tabsState[0].value;
7684
7686
  };
7685
7687
  return /*#__PURE__*/React__default.createElement(Vertical, Object.assign({
7686
- width: "100w",
7688
+ width: "100%",
7687
7689
  height: '100%'
7688
- }, styles == null ? void 0 : styles.container), /*#__PURE__*/React__default.createElement(Horizontal, Object.assign({
7689
- marginBottom: 20
7690
- }, styles == null ? void 0 : styles.headerTabs), tabs.map((tab, idx) => (/*#__PURE__*/React__default.createElement(Button, Object.assign({
7690
+ }, 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({
7691
7691
  key: tab.title,
7692
7692
  onClick: () => {
7693
7693
  moveSelectedTabToTop(idx);
@@ -7695,11 +7695,12 @@
7695
7695
  variant: isActive.value === tab.value ? 'filled' : 'ghost',
7696
7696
  shape: "pillShaped",
7697
7697
  cursor: "pointer",
7698
- isAuto: true
7698
+ isAuto: true,
7699
+ margin: 10
7699
7700
  }, 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({
7700
7701
  width: '100%',
7701
7702
  height: "100%"
7702
- }, styles == null ? void 0 : styles.content), tabsState.map((tab, idx) => isContentActive(tab) && /*#__PURE__*/React__default.createElement(View, {
7703
+ }, styles == null ? void 0 : styles.content), tabsState.map(renderContent ? renderContent : (tab, idx) => isContentActive(tab) && /*#__PURE__*/React__default.createElement(View, {
7703
7704
  key: idx
7704
7705
  }, tab.content))));
7705
7706
  };
@@ -8175,6 +8176,7 @@
8175
8176
  exports.WifiIcon = WifiIcon;
8176
8177
  exports.XIcon = XIcon;
8177
8178
  exports.YoutubeIcon = YoutubeIcon;
8179
+ exports.generateThumbnail = generateThumbnail;
8178
8180
  exports.hideMessage = hideMessage;
8179
8181
  exports.hideModal = hideModal;
8180
8182
  exports.showMessage = showMessage;