@ynput/ayon-frontend-shared 0.3.52 → 0.3.54

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 (35) hide show
  1. package/dist/_virtual/index.cjs10.js +1 -1
  2. package/dist/_virtual/index.cjs11.js +1 -1
  3. package/dist/_virtual/index.cjs12.js +1 -1
  4. package/dist/_virtual/index.cjs3.js +1 -1
  5. package/dist/_virtual/index.cjs4.js +1 -1
  6. package/dist/_virtual/index.es10.js +3 -3
  7. package/dist/_virtual/index.es11.js +5 -5
  8. package/dist/_virtual/index.es12.js +5 -5
  9. package/dist/_virtual/index.es3.js +5 -2
  10. package/dist/_virtual/index.es3.js.map +1 -1
  11. package/dist/_virtual/index.es4.js +2 -5
  12. package/dist/_virtual/index.es4.js.map +1 -1
  13. package/dist/node_modules/match-sorter/dist/match-sorter.esm.cjs.js +1 -1
  14. package/dist/node_modules/match-sorter/dist/match-sorter.esm.es.js +1 -1
  15. package/dist/node_modules/react-use-websocket/dist/index.cjs.js +1 -1
  16. package/dist/node_modules/react-use-websocket/dist/index.es.js +1 -1
  17. package/dist/node_modules/rehype/node_modules/unified/lib/index.cjs.js +1 -1
  18. package/dist/node_modules/rehype/node_modules/unified/lib/index.es.js +2 -2
  19. package/dist/node_modules/rehype/node_modules/vfile/lib/index.cjs.js +1 -1
  20. package/dist/node_modules/rehype/node_modules/vfile/lib/index.es.js +1 -1
  21. package/dist/node_modules/rehype-parse/lib/index.cjs.js +1 -1
  22. package/dist/node_modules/rehype-parse/lib/index.es.js +1 -1
  23. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js +2 -2
  24. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.cjs.js.map +1 -1
  25. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js +27 -27
  26. package/dist/shared/src/containers/Feed/components/CommentInput/CommentInput.es.js.map +1 -1
  27. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js +1 -1
  28. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.cjs.js.map +1 -1
  29. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js +92 -79
  30. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.es.js.map +1 -1
  31. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js +2 -1
  32. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.cjs.js.map +1 -1
  33. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js +2 -1
  34. package/dist/shared/src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.es.js.map +1 -1
  35. package/package.json +1 -1
@@ -1,13 +1,15 @@
1
1
  import { j as o } from "../../../../../../_virtual/jsx-runtime.es.js";
2
- import { getFileSizeString as P, Icon as d, Button as E } from "@ynput/ayon-react-components";
3
- import { File as z, ContentWrapper as S, ImageWrapper as U, Buttons as O, ExpandButton as h, Footer as W } from "./FileUploadCard.styled.es.js";
4
- import s from "clsx";
5
- import { useState as $ } from "react";
6
- import { isFilePreviewable as q } from "../FileUploadPreview/FileUploadPreview.es.js";
7
- import "../../../../context/RemoteModulesContext.es.js";
8
- import { useDetailsPanelContext as J } from "../../../../context/DetailsPanelContext.es.js";
9
- import "../../../../../node_modules/@module-federation/runtime/dist/index.es.js";
10
- import "../../../../../../_virtual/semver.es.js";
2
+ import { getFileSizeString as O, Icon as j, Button as W } from "@ynput/ayon-react-components";
3
+ import { File as $, ContentWrapper as q, ImageWrapper as J, Buttons as M, ExpandButton as _, Footer as T } from "./FileUploadCard.styled.es.js";
4
+ import n from "clsx";
5
+ import { useState as D, useMemo as g } from "react";
6
+ import { isFilePreviewable as G } from "../FileUploadPreview/FileUploadPreview.es.js";
7
+ import "../../../ContextMenu/ContextMenuContext.es.js";
8
+ /* empty css */
9
+ import "react-dom";
10
+ import { useFeedContext as H } from "../../context/FeedContext.es.js";
11
+ import "../Tooltips/UserTooltipItem.es.js";
12
+ import "../Tooltips/UserTooltip/UserTooltip.styled.es.js";
11
13
  import "../../../../api/base/client.es.js";
12
14
  import "../../../../api/generated/graphql.es.js";
13
15
  import "../../../../api/generated/graphqlLinks.es.js";
@@ -105,6 +107,12 @@ import "../../../../api/queries/views/getViews.es.js";
105
107
  import "../../../../api/queries/views/updateViews.es.js";
106
108
  import "../../../../api/queries/watchers/getWatchers.es.js";
107
109
  import "../../../../api/queries/uris/getUris.es.js";
110
+ import "../Tooltips/TeamTooltip/TeamTooltip.styled.es.js";
111
+ import "../Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
112
+ import "../../../../context/RemoteModulesContext.es.js";
113
+ import { useDetailsPanelContext as K } from "../../../../context/DetailsPanelContext.es.js";
114
+ import "../../../../../node_modules/@module-federation/runtime/dist/index.es.js";
115
+ import "../../../../../../_virtual/semver.es.js";
108
116
  import "lodash";
109
117
  import "react-toastify";
110
118
  import "react-redux";
@@ -117,7 +125,6 @@ import "../../../../context/SubtasksModulesContextInstance.es.js";
117
125
  import "../../../../context/ThumbnailUploaderContext.es.js";
118
126
  import "../../../../context/SettingsPanelContext.es.js";
119
127
  import "../../../../context/pip/PiPProvider.es.js";
120
- import "react-dom";
121
128
  import "../../../../context/pip/PiPWrapper.es.js";
122
129
  import "../../../../context/AddonProjectContext.es.js";
123
130
  import "../../../../context/AddonContext.es.js";
@@ -127,13 +134,8 @@ import "../../../../context/GlobalContext.es.js";
127
134
  import "../../../../context/ProjectContext.es.js";
128
135
  import "../../../../context/ProjectFoldersContextInstance.es.js";
129
136
  import "../../../../context/EntityUpdatesContextInstance.es.js";
130
- import "../../../ContextMenu/ContextMenuContext.es.js";
131
- /* empty css */
132
- import "../../context/FeedContext.es.js";
133
- import "../Tooltips/UserTooltipItem.es.js";
134
- import "../Tooltips/UserTooltip/UserTooltip.styled.es.js";
135
- import "../Tooltips/TeamTooltip/TeamTooltip.styled.es.js";
136
- import "../Tooltips/EntityTooltip/EntityTooltip.styled.es.js";
137
+ import "../../../../context/UriContext.es.js";
138
+ import "../../../../context/DeleteEntitiesContext.es.js";
137
139
  import "react-markdown";
138
140
  import "remark-emoji";
139
141
  import "remark-gfm";
@@ -296,9 +298,7 @@ import "../../../Views/Views.styled.es.js";
296
298
  import "../../../Views/ViewsMenuContainer/ViewsMenuContainer.es.js";
297
299
  import "../../../ListTable/ListTableRow.es.js";
298
300
  import "../../../ListTable/ListTable.styled.es.js";
299
- import "../../../../context/UriContext.es.js";
300
- import "../../../../context/DeleteEntitiesContext.es.js";
301
- const T = {
301
+ const L = {
302
302
  // special cases
303
303
  description: ["doc"],
304
304
  folder_zip: ["zip"],
@@ -340,88 +340,101 @@ const T = {
340
340
  filter_none: ["sequence"],
341
341
  font_download: ["font"],
342
342
  deployed_code: ["model", ".obj", ".abc", ".stl", ".fbx", ".gltf", ".glb", ".usd"]
343
- }, G = (n) => {
344
- for (const [r, i] of Object.entries(T))
345
- if (i.some((t) => n.includes(t)))
346
- return r;
343
+ }, Q = (a) => {
344
+ for (const [i, p] of Object.entries(L))
345
+ if (p.some((t) => a.includes(t)))
346
+ return i;
347
347
  return "draft";
348
- }, wm = ({
349
- name: n,
350
- mime: r,
351
- src: i,
348
+ }, vm = ({
349
+ name: a,
350
+ mime: i,
351
+ src: p,
352
352
  unsavedAnnotation: t,
353
- savedAnnotation: x,
354
- size: u,
355
- progress: a,
356
- onRemove: l,
357
- isCompact: w,
353
+ savedAnnotation: c,
354
+ size: y,
355
+ progress: l,
356
+ onRemove: d,
357
+ isCompact: k,
358
358
  isDownloadable: e = !1,
359
- onExpand: N,
360
- disableExpand: f,
361
- onJumpTo: b,
362
- className: _,
363
- ...v
359
+ onExpand: v,
360
+ disableExpand: u,
361
+ onJumpTo: C,
362
+ className: F,
363
+ ...B
364
364
  }) => {
365
- const k = a && a < 100, [y, C] = $(!1), { feedAnnotationsEnabled: F } = J(), j = n.split("."), c = j.pop() || "", B = j.join("."), p = q(r || "." + c), I = r?.includes("image/") || !!t, g = /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
366
- /* @__PURE__ */ o.jsx("span", { className: "size", children: P(u) }),
367
- /* @__PURE__ */ o.jsx(d, { icon: "download", className: "download-icon" })
368
- ] }), m = t ?? x;
365
+ const E = l && l < 100, [I, P] = D(!1), { feedAnnotationsEnabled: z } = K(), { entities: h } = H(), N = a.split("."), f = N.pop() || "", S = N.join("."), m = G(i || "." + f), U = i?.includes("image/") || !!t, b = /* @__PURE__ */ o.jsxs(o.Fragment, { children: [
366
+ /* @__PURE__ */ o.jsx("span", { className: "size", children: O(y) }),
367
+ /* @__PURE__ */ o.jsx(j, { icon: "download", className: "download-icon" })
368
+ ] }), r = g(
369
+ () => t ?? c,
370
+ [t, c]
371
+ ), w = g(() => h.at(0), [h]), s = g(() => {
372
+ if (!r?.range)
373
+ return [1, 1];
374
+ if (!w?.attrib)
375
+ return r?.range ?? [1, 1];
376
+ const { frameStart: x } = w?.attrib;
377
+ return Number.isNaN(x) ? r?.range ?? [1, 1] : [
378
+ x - 1 + r.range[0],
379
+ x - 1 + r.range[1]
380
+ ];
381
+ }, [r]);
369
382
  return /* @__PURE__ */ o.jsxs(
370
- z,
383
+ $,
371
384
  {
372
- className: s(_, {
373
- compact: w,
385
+ className: n(F, {
386
+ compact: k,
374
387
  isDownloadable: e,
375
- isPreviewable: p,
388
+ isPreviewable: m,
376
389
  isUnsavedAnnotation: !!t
377
390
  }),
378
- ...v,
391
+ ...B,
379
392
  children: [
380
393
  /* @__PURE__ */ o.jsxs(
381
- S,
394
+ q,
382
395
  {
383
- className: s("content-wrapper", {
384
- isPreviewable: p,
396
+ className: n("content-wrapper", {
397
+ isPreviewable: m,
385
398
  isUnsavedAnnotation: !!t
386
399
  }),
387
400
  children: [
388
- /* @__PURE__ */ o.jsx(d, { icon: G(r || "." + c), className: "type-icon" }),
389
- I && i && /* @__PURE__ */ o.jsx(
390
- U,
401
+ /* @__PURE__ */ o.jsx(j, { icon: Q(i || "." + f), className: "type-icon" }),
402
+ U && p && /* @__PURE__ */ o.jsx(
403
+ J,
391
404
  {
392
- className: s({
405
+ className: n({
393
406
  "image-wrapper": !0,
394
- isDownloadable: e || p || t
407
+ isDownloadable: e || m || t
395
408
  }),
396
409
  children: /* @__PURE__ */ o.jsx(
397
410
  "img",
398
411
  {
399
- src: i,
400
- onError: () => C(!0),
412
+ src: p,
413
+ onError: () => P(!0),
401
414
  style: {
402
- display: y ? "none" : "block"
415
+ display: I ? "none" : "block"
403
416
  }
404
417
  }
405
418
  )
406
419
  }
407
420
  ),
408
- /* @__PURE__ */ o.jsxs(O, { className: "expand-buttons", children: [
409
- p && !f && /* @__PURE__ */ o.jsx(
410
- h,
421
+ /* @__PURE__ */ o.jsxs(M, { className: "expand-buttons", children: [
422
+ m && !u && /* @__PURE__ */ o.jsx(
423
+ _,
411
424
  {
412
425
  "data-tooltip": "Open preview",
413
426
  icon: "open_in_full",
414
427
  variant: "nav",
415
- onClick: N
428
+ onClick: v
416
429
  }
417
430
  ),
418
- (t || F && x) && /* @__PURE__ */ o.jsx(
419
- h,
431
+ (t || z && c) && /* @__PURE__ */ o.jsx(
432
+ _,
420
433
  {
421
434
  "data-tooltip": "Jump to annotation",
422
435
  icon: "play_circle",
423
436
  variant: "nav",
424
- onClick: b
437
+ onClick: C
425
438
  }
426
439
  )
427
440
  ] })
@@ -429,36 +442,36 @@ const T = {
429
442
  }
430
443
  ),
431
444
  /* @__PURE__ */ o.jsxs(
432
- W,
445
+ T,
433
446
  {
434
- className: s({
435
- inProgress: k,
436
- isPreviewable: p && !f,
447
+ className: n({
448
+ inProgress: E,
449
+ isPreviewable: m && !u,
437
450
  isDownloadable: e
438
451
  }),
439
452
  children: [
440
- /* @__PURE__ */ o.jsx("span", { className: "progress", style: { right: `${100 - a}%` } }),
441
- /* @__PURE__ */ o.jsx("div", { className: "name-wrapper", children: m ? /* @__PURE__ */ o.jsxs("span", { className: "name", children: [
442
- /* @__PURE__ */ o.jsx(d, { icon: "draw" }),
443
- m.range[0],
444
- m.range[1] !== m.range[0] && ` - ${m.range[1]}`
453
+ /* @__PURE__ */ o.jsx("span", { className: "progress", style: { right: `${100 - l}%` } }),
454
+ /* @__PURE__ */ o.jsx("div", { className: "name-wrapper", children: r ? /* @__PURE__ */ o.jsxs("span", { className: "name", children: [
455
+ /* @__PURE__ */ o.jsx(j, { icon: "draw" }),
456
+ s[0],
457
+ s[1] !== s[0] && ` - ${s[1]}`
445
458
  ] }) : /* @__PURE__ */ o.jsxs("span", { className: "name", children: [
446
- B,
459
+ S,
447
460
  /* @__PURE__ */ o.jsxs("span", { className: "extension", children: [
448
461
  ".",
449
- c
462
+ f
450
463
  ] })
451
464
  ] }) }),
452
- e && (l ? /* @__PURE__ */ o.jsx("div", { className: "download", children: g }) : /* @__PURE__ */ o.jsx("a", { href: i, target: "_blank", rel: "noopener noreferrer", className: "download", children: g }))
465
+ e && (d ? /* @__PURE__ */ o.jsx("div", { className: "download", children: b }) : /* @__PURE__ */ o.jsx("a", { href: p, target: "_blank", rel: "noopener noreferrer", className: "download", children: b }))
453
466
  ]
454
467
  }
455
468
  ),
456
- l && /* @__PURE__ */ o.jsx(E, { className: "remove", onClick: l, icon: "close" })
469
+ d && /* @__PURE__ */ o.jsx(W, { className: "remove", onClick: d, icon: "close" })
457
470
  ]
458
471
  }
459
472
  );
460
473
  };
461
474
  export {
462
- wm as default
475
+ vm as default
463
476
  };
464
477
  //# sourceMappingURL=FileUploadCard.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadCard.es.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.tsx"],"sourcesContent":["import { Button, getFileSizeString, Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './FileUploadCard.styled'\nimport clsx from 'clsx'\nimport { useState } from 'react'\nimport { isFilePreviewable } from '../FileUploadPreview'\nimport { SavedAnnotationMetadata } from '@shared/containers'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { AnnotationPreview } from '../CommentInput/hooks/useAnnotationsSync'\n\nexport interface FileUploadCardProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n mime?: string\n src?: string\n unsavedAnnotation?: AnnotationPreview\n savedAnnotation?: SavedAnnotationMetadata\n size: number\n progress: number\n onRemove?: () => void\n isCompact?: boolean\n isDownloadable?: boolean\n onExpand?: () => void\n disableExpand?: boolean\n onJumpTo?: () => void\n}\n\nconst fileIcons: { [key: string]: string[] } = {\n // special cases\n description: ['doc'],\n folder_zip: ['zip'],\n code_blocks: [\n 'json',\n 'javascript',\n 'python',\n 'html',\n 'css',\n '.py',\n '.js',\n '.html',\n '.css',\n '.json',\n '.ts',\n ],\n brush: ['.psd', '.ai', '.xd', '.sketch'],\n '3d_rotation': [\n '.mb',\n '.ma',\n '.c4d',\n '.blend',\n '.max',\n '.3ds',\n '.lwo',\n '.lws',\n '.lxo',\n '.hip',\n '.hda',\n ],\n theaters: ['.aep', '.tpl', '.clip', '.nk', '.fusion', '.prproj', '.spsm', '.drp'],\n picture_as_pdf: ['pdf', '.pdf'],\n // default\n image: ['image', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp'],\n videocam: ['video', '.mp4', '.mov', '.avi', '.mkv', '.webm', '.mxf'],\n business_center: ['application'],\n audio_file: ['audio'],\n text_snippet: ['text'],\n filter_none: ['sequence'],\n font_download: ['font'],\n deployed_code: ['model', '.obj', '.abc', '.stl', '.fbx', '.gltf', '.glb', '.usd'],\n}\n\nconst getIconForType = (type: string): string => {\n for (const [icon, keywords] of Object.entries(fileIcons)) {\n if (keywords.some((keyword) => type.includes(keyword))) {\n return icon\n }\n }\n return 'draft'\n}\n\nconst FileUploadCard = ({\n name,\n mime,\n src,\n unsavedAnnotation,\n savedAnnotation,\n size,\n progress,\n onRemove,\n isCompact,\n isDownloadable = false,\n onExpand,\n disableExpand,\n onJumpTo,\n className,\n ...props\n}: FileUploadCardProps) => {\n const inProgress = progress && progress < 100\n\n const [imageError, setImageError] = useState(false)\n const { feedAnnotationsEnabled } = useDetailsPanelContext()\n\n // split name and file extension\n const nameParts = name.split('.')\n const extension = nameParts.pop() || ''\n const fileName = nameParts.join('.')\n\n const isPreviewable = isFilePreviewable(mime || '.' + extension)\n const isImage = mime?.includes('image/') || Boolean(unsavedAnnotation)\n\n const downloadComponent = (\n <>\n <span className=\"size\">{getFileSizeString(size)}</span>\n <Icon icon=\"download\" className=\"download-icon\" />\n </>\n )\n\n const someAnnotation = unsavedAnnotation ?? savedAnnotation\n\n return (\n <Styled.File\n className={clsx(className, {\n compact: isCompact,\n isDownloadable,\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n {...props}\n >\n <Styled.ContentWrapper\n className={clsx('content-wrapper', {\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n >\n <Icon icon={getIconForType(mime || '.' + extension)} className=\"type-icon\" />\n {isImage && src && (\n <Styled.ImageWrapper\n className={clsx({\n 'image-wrapper': true,\n isDownloadable: isDownloadable || isPreviewable || unsavedAnnotation,\n })}\n >\n <img\n src={src}\n onError={() => setImageError(true)}\n style={{\n display: imageError ? 'none' : 'block',\n }}\n />\n </Styled.ImageWrapper>\n )}\n <Styled.Buttons className=\"expand-buttons\">\n {isPreviewable && !disableExpand && (\n <Styled.ExpandButton\n data-tooltip=\"Open preview\"\n icon=\"open_in_full\"\n variant=\"nav\"\n onClick={onExpand}\n />\n )}\n {(unsavedAnnotation || (feedAnnotationsEnabled && savedAnnotation)) && (\n <Styled.ExpandButton\n data-tooltip=\"Jump to annotation\"\n icon=\"play_circle\"\n variant=\"nav\"\n onClick={onJumpTo}\n />\n )}\n </Styled.Buttons>\n </Styled.ContentWrapper>\n <Styled.Footer\n className={clsx({\n inProgress,\n isPreviewable: isPreviewable && !disableExpand,\n isDownloadable,\n })}\n >\n <span className=\"progress\" style={{ right: `${100 - progress}%` }} />\n <div className=\"name-wrapper\">\n {someAnnotation ? (\n <span className=\"name\">\n <Icon icon=\"draw\" />\n {someAnnotation.range[0]}\n {someAnnotation.range[1] !== someAnnotation.range[0] &&\n ` - ${someAnnotation.range[1]}`}\n </span>\n ) : (\n <span className=\"name\">\n {fileName}\n <span className=\"extension\">.{extension}</span>\n </span>\n )}\n </div>\n\n {isDownloadable &&\n (!onRemove ? (\n <a href={src} target=\"_blank\" rel=\"noopener noreferrer\" className=\"download\">\n {downloadComponent}\n </a>\n ) : (\n <div className=\"download\">{downloadComponent}</div>\n ))}\n </Styled.Footer>\n {onRemove && <Button className=\"remove\" onClick={onRemove} icon=\"close\" />}\n </Styled.File>\n )\n}\n\nexport default FileUploadCard\n"],"names":["fileIcons","getIconForType","type","icon","keywords","keyword","FileUploadCard","name","mime","src","unsavedAnnotation","savedAnnotation","size","progress","onRemove","isCompact","isDownloadable","onExpand","disableExpand","onJumpTo","className","props","inProgress","imageError","setImageError","useState","feedAnnotationsEnabled","useDetailsPanelContext","nameParts","extension","fileName","isPreviewable","isFilePreviewable","isImage","downloadComponent","jsxs","Fragment","jsx","getFileSizeString","Icon","someAnnotation","Styled.File","clsx","Styled.ContentWrapper","Styled.ImageWrapper","Styled.Buttons","Styled.ExpandButton","Styled.Footer","Button"],"mappings":"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"}
1
+ {"version":3,"file":"FileUploadCard.es.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.tsx"],"sourcesContent":["import { Button, getFileSizeString, Icon } from '@ynput/ayon-react-components'\nimport * as Styled from './FileUploadCard.styled'\nimport clsx from 'clsx'\nimport { useMemo, useState } from 'react'\nimport { isFilePreviewable } from '../FileUploadPreview'\nimport { SavedAnnotationMetadata, useFeedContext } from '@shared/containers'\nimport { useDetailsPanelContext } from '@shared/context'\nimport { AnnotationPreview } from '../CommentInput/hooks/useAnnotationsSync'\n\nexport interface FileUploadCardProps extends React.HTMLAttributes<HTMLDivElement> {\n name: string\n mime?: string\n src?: string\n unsavedAnnotation?: AnnotationPreview\n savedAnnotation?: SavedAnnotationMetadata\n size: number\n progress: number\n onRemove?: () => void\n isCompact?: boolean\n isDownloadable?: boolean\n onExpand?: () => void\n disableExpand?: boolean\n onJumpTo?: () => void\n}\n\nconst fileIcons: { [key: string]: string[] } = {\n // special cases\n description: ['doc'],\n folder_zip: ['zip'],\n code_blocks: [\n 'json',\n 'javascript',\n 'python',\n 'html',\n 'css',\n '.py',\n '.js',\n '.html',\n '.css',\n '.json',\n '.ts',\n ],\n brush: ['.psd', '.ai', '.xd', '.sketch'],\n '3d_rotation': [\n '.mb',\n '.ma',\n '.c4d',\n '.blend',\n '.max',\n '.3ds',\n '.lwo',\n '.lws',\n '.lxo',\n '.hip',\n '.hda',\n ],\n theaters: ['.aep', '.tpl', '.clip', '.nk', '.fusion', '.prproj', '.spsm', '.drp'],\n picture_as_pdf: ['pdf', '.pdf'],\n // default\n image: ['image', '.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp'],\n videocam: ['video', '.mp4', '.mov', '.avi', '.mkv', '.webm', '.mxf'],\n business_center: ['application'],\n audio_file: ['audio'],\n text_snippet: ['text'],\n filter_none: ['sequence'],\n font_download: ['font'],\n deployed_code: ['model', '.obj', '.abc', '.stl', '.fbx', '.gltf', '.glb', '.usd'],\n}\n\nconst getIconForType = (type: string): string => {\n for (const [icon, keywords] of Object.entries(fileIcons)) {\n if (keywords.some((keyword) => type.includes(keyword))) {\n return icon\n }\n }\n return 'draft'\n}\n\nconst FileUploadCard = ({\n name,\n mime,\n src,\n unsavedAnnotation,\n savedAnnotation,\n size,\n progress,\n onRemove,\n isCompact,\n isDownloadable = false,\n onExpand,\n disableExpand,\n onJumpTo,\n className,\n ...props\n}: FileUploadCardProps) => {\n const inProgress = progress && progress < 100\n\n const [imageError, setImageError] = useState(false)\n const { feedAnnotationsEnabled } = useDetailsPanelContext()\n const { entities } = useFeedContext()\n\n // split name and file extension\n const nameParts = name.split('.')\n const extension = nameParts.pop() || ''\n const fileName = nameParts.join('.')\n\n const isPreviewable = isFilePreviewable(mime || '.' + extension)\n const isImage = mime?.includes('image/') || Boolean(unsavedAnnotation)\n\n const downloadComponent = (\n <>\n <span className=\"size\">{getFileSizeString(size)}</span>\n <Icon icon=\"download\" className=\"download-icon\" />\n </>\n )\n\n const someAnnotation = useMemo(\n () => unsavedAnnotation ?? savedAnnotation,\n [unsavedAnnotation, savedAnnotation],\n )\n\n const firstEntity = useMemo(() => {\n return entities.at(0)\n }, [entities])\n\n const annotationDisplayRange = useMemo(() => {\n if (!someAnnotation?.range) {\n return [1, 1]\n }\n\n if (!firstEntity?.attrib) {\n return someAnnotation?.range ?? [1, 1]\n }\n\n const { frameStart } = firstEntity?.attrib\n if (Number.isNaN(frameStart)) {\n return someAnnotation?.range ?? [1, 1]\n }\n\n return [\n frameStart - 1 + someAnnotation.range[0],\n frameStart - 1 + someAnnotation.range[1],\n ]\n }, [someAnnotation])\n\n return (\n <Styled.File\n className={clsx(className, {\n compact: isCompact,\n isDownloadable,\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n {...props}\n >\n <Styled.ContentWrapper\n className={clsx('content-wrapper', {\n isPreviewable,\n isUnsavedAnnotation: Boolean(unsavedAnnotation),\n })}\n >\n <Icon icon={getIconForType(mime || '.' + extension)} className=\"type-icon\" />\n {isImage && src && (\n <Styled.ImageWrapper\n className={clsx({\n 'image-wrapper': true,\n isDownloadable: isDownloadable || isPreviewable || unsavedAnnotation,\n })}\n >\n <img\n src={src}\n onError={() => setImageError(true)}\n style={{\n display: imageError ? 'none' : 'block',\n }}\n />\n </Styled.ImageWrapper>\n )}\n <Styled.Buttons className=\"expand-buttons\">\n {isPreviewable && !disableExpand && (\n <Styled.ExpandButton\n data-tooltip=\"Open preview\"\n icon=\"open_in_full\"\n variant=\"nav\"\n onClick={onExpand}\n />\n )}\n {(unsavedAnnotation || (feedAnnotationsEnabled && savedAnnotation)) && (\n <Styled.ExpandButton\n data-tooltip=\"Jump to annotation\"\n icon=\"play_circle\"\n variant=\"nav\"\n onClick={onJumpTo}\n />\n )}\n </Styled.Buttons>\n </Styled.ContentWrapper>\n <Styled.Footer\n className={clsx({\n inProgress,\n isPreviewable: isPreviewable && !disableExpand,\n isDownloadable,\n })}\n >\n <span className=\"progress\" style={{ right: `${100 - progress}%` }} />\n <div className=\"name-wrapper\">\n {someAnnotation ? (\n <span className=\"name\">\n <Icon icon=\"draw\" />\n {annotationDisplayRange[0]}\n {annotationDisplayRange[1] !== annotationDisplayRange[0] &&\n ` - ${annotationDisplayRange[1]}`}\n </span>\n ) : (\n <span className=\"name\">\n {fileName}\n <span className=\"extension\">.{extension}</span>\n </span>\n )}\n </div>\n\n {isDownloadable &&\n (!onRemove ? (\n <a href={src} target=\"_blank\" rel=\"noopener noreferrer\" className=\"download\">\n {downloadComponent}\n </a>\n ) : (\n <div className=\"download\">{downloadComponent}</div>\n ))}\n </Styled.Footer>\n {onRemove && <Button className=\"remove\" onClick={onRemove} icon=\"close\" />}\n </Styled.File>\n )\n}\n\nexport default FileUploadCard\n"],"names":["fileIcons","getIconForType","type","icon","keywords","keyword","FileUploadCard","name","mime","src","unsavedAnnotation","savedAnnotation","size","progress","onRemove","isCompact","isDownloadable","onExpand","disableExpand","onJumpTo","className","props","inProgress","imageError","setImageError","useState","feedAnnotationsEnabled","useDetailsPanelContext","entities","useFeedContext","nameParts","extension","fileName","isPreviewable","isFilePreviewable","isImage","downloadComponent","jsxs","Fragment","jsx","getFileSizeString","Icon","someAnnotation","useMemo","firstEntity","annotationDisplayRange","frameStart","Styled.File","clsx","Styled.ContentWrapper","Styled.ImageWrapper","Styled.Buttons","Styled.ExpandButton","Styled.Footer","Button"],"mappings":"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"}
@@ -84,7 +84,8 @@
84
84
  text-overflow: ellipsis;
85
85
  white-space: nowrap;
86
86
  z-index: 20;
87
- display: inherit;
87
+ display: flex;
88
+ align-items: center;
88
89
 
89
90
  .icon {
90
91
  font-size: inherit;
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadCard.styled.cjs.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.ts"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const File = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: var(--border-radius-m);\n overflow: hidden;\n background-color: var(--md-sys-color-surface-container-low);\n z-index: 0;\n user-select: none;\n\n height: 105px;\n\n &.compact {\n height: 75px;\n }\n\n .icon {\n font-size: 30px;\n }\n\n .remove {\n position: absolute;\n top: 2px;\n right: 2px;\n padding: 2px;\n\n &:hover {\n background-color: var(--md-sys-color-error-container);\n color: var(--md-sys-color-on-error-container);\n }\n\n .icon {\n font-size: 20px;\n }\n }\n\n /* move icon up slightly to center it */\n .type-icon {\n margin-top: -20px;\n }\n\n /* set download default color outline */\n .download,\n .download-icon {\n color: var(--md-sys-color-outline);\n }\n`\n\nexport const Footer = styled.footer`\n background-color: var(--md-sys-color-surface-container-low);\n display: flex;\n align-items: center;\n position: relative;\n padding: 0 var(--padding-s);\n overflow: hidden;\n color: var(--md-sys-color-on-surface);\n\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n\n transition: padding 0.2s ease;\n\n span {\n font-size: 12px;\n }\n\n .name-wrapper {\n overflow: hidden;\n }\n\n .download {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n display: none;\n color: var(--md-sys-color-on-surface);\n }\n\n .name {\n position: relative;\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n z-index: 20;\n display: inherit;\n\n .icon {\n font-size: inherit;\n margin-right: var(--padding-s);\n vertical-align: text-top;\n }\n }\n\n .extension {\n z-index: 20;\n min-width: fit-content;\n overflow: hidden;\n }\n\n .progress {\n position: absolute;\n inset: 0;\n background-color: var(--md-sys-color-primary-container);\n z-index: 10;\n\n transition: right 0.3s;\n\n display: none;\n }\n\n &.inProgress {\n .progress {\n display: block;\n }\n }\n\n .download-icon {\n font-size: 20px;\n }\n\n &.isDownloadable {\n &:hover {\n cursor: pointer;\n\n padding: var(--padding-m) var(--padding-s);\n\n background-color: var(--md-sys-color-surface-container-low-hover);\n\n .download,\n .download-icon {\n color: var(--md-sys-color-on-surface);\n }\n\n /* reveal size and download */\n .download {\n display: flex;\n }\n .name-wrapper,\n .extension {\n display: none;\n }\n }\n }\n`\n\nexport const ContentWrapper = styled.div`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n flex: 1;\n\n .icon {\n user-select: none;\n }\n\n .download-icon {\n display: none;\n }\n\n /* previewable styles (it can be expanded) */\n /* on hover it shows the expand buttons */\n &.isPreviewable,\n &.isUnsavedAnnotation {\n cursor: pointer;\n\n &:hover {\n .expand-buttons {\n display: flex;\n }\n .type-icon {\n display: none;\n }\n }\n }\n\n &:hover .image-wrapper::after {\n opacity: 0.8;\n }\n`\n\nexport const ImageWrapper = styled.div`\n position: absolute;\n inset: 0;\n display: flex;\n justify-content: center;\n background-color: var(--md-sys-color-surface-container-lowest);\n img {\n position: absolute;\n max-height: 100%;\n max-width: 100%;\n object-fit: contain;\n height: calc(100% - 20px);\n\n transition: scale 0.2s ease;\n }\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background-color: var(--md-sys-color-surface-container-lowest);\n opacity: 0;\n transition: opacity 0.1s ease;\n }\n\n &.isDownloadable {\n &:hover {\n .icon {\n display: block;\n z-index: 10;\n }\n }\n }\n`\n\nexport const Buttons = styled.div`\n display: none;\n position: absolute;\n left: 0;\n top: 0;\n transform: none;\n height: calc(100% - 20px);\n width: 100%;\n gap: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n height: 100%;\n width: 100%;\n border: none;\n opacity: 0.5;\n transition: opacity 250ms;\n\n &:hover {\n background: none;\n opacity: 1;\n }\n`\n"],"names":["File","styled","Footer","ContentWrapper","ImageWrapper","Buttons","ExpandButton","Button"],"mappings":"+JAGaA,EAAOC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgDdC,EAASD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqGhBE,EAAiBF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsCxBG,EAAeH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmCtBI,EAAUJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWjBK,EAAeL,EAAOM,QAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}
1
+ {"version":3,"file":"FileUploadCard.styled.cjs.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.ts"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const File = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: var(--border-radius-m);\n overflow: hidden;\n background-color: var(--md-sys-color-surface-container-low);\n z-index: 0;\n user-select: none;\n\n height: 105px;\n\n &.compact {\n height: 75px;\n }\n\n .icon {\n font-size: 30px;\n }\n\n .remove {\n position: absolute;\n top: 2px;\n right: 2px;\n padding: 2px;\n\n &:hover {\n background-color: var(--md-sys-color-error-container);\n color: var(--md-sys-color-on-error-container);\n }\n\n .icon {\n font-size: 20px;\n }\n }\n\n /* move icon up slightly to center it */\n .type-icon {\n margin-top: -20px;\n }\n\n /* set download default color outline */\n .download,\n .download-icon {\n color: var(--md-sys-color-outline);\n }\n`\n\nexport const Footer = styled.footer`\n background-color: var(--md-sys-color-surface-container-low);\n display: flex;\n align-items: center;\n position: relative;\n padding: 0 var(--padding-s);\n overflow: hidden;\n color: var(--md-sys-color-on-surface);\n\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n\n transition: padding 0.2s ease;\n\n span {\n font-size: 12px;\n }\n\n .name-wrapper {\n overflow: hidden;\n }\n\n .download {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n display: none;\n color: var(--md-sys-color-on-surface);\n }\n\n .name {\n position: relative;\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n z-index: 20;\n display: flex;\n align-items: center;\n\n .icon {\n font-size: inherit;\n margin-right: var(--padding-s);\n vertical-align: text-top;\n }\n }\n\n .extension {\n z-index: 20;\n min-width: fit-content;\n overflow: hidden;\n }\n\n .progress {\n position: absolute;\n inset: 0;\n background-color: var(--md-sys-color-primary-container);\n z-index: 10;\n\n transition: right 0.3s;\n\n display: none;\n }\n\n &.inProgress {\n .progress {\n display: block;\n }\n }\n\n .download-icon {\n font-size: 20px;\n }\n\n &.isDownloadable {\n &:hover {\n cursor: pointer;\n\n padding: var(--padding-m) var(--padding-s);\n\n background-color: var(--md-sys-color-surface-container-low-hover);\n\n .download,\n .download-icon {\n color: var(--md-sys-color-on-surface);\n }\n\n /* reveal size and download */\n .download {\n display: flex;\n }\n .name-wrapper,\n .extension {\n display: none;\n }\n }\n }\n`\n\nexport const ContentWrapper = styled.div`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n flex: 1;\n\n .icon {\n user-select: none;\n }\n\n .download-icon {\n display: none;\n }\n\n /* previewable styles (it can be expanded) */\n /* on hover it shows the expand buttons */\n &.isPreviewable,\n &.isUnsavedAnnotation {\n cursor: pointer;\n\n &:hover {\n .expand-buttons {\n display: flex;\n }\n .type-icon {\n display: none;\n }\n }\n }\n\n &:hover .image-wrapper::after {\n opacity: 0.8;\n }\n`\n\nexport const ImageWrapper = styled.div`\n position: absolute;\n inset: 0;\n display: flex;\n justify-content: center;\n background-color: var(--md-sys-color-surface-container-lowest);\n img {\n position: absolute;\n max-height: 100%;\n max-width: 100%;\n object-fit: contain;\n height: calc(100% - 20px);\n\n transition: scale 0.2s ease;\n }\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background-color: var(--md-sys-color-surface-container-lowest);\n opacity: 0;\n transition: opacity 0.1s ease;\n }\n\n &.isDownloadable {\n &:hover {\n .icon {\n display: block;\n z-index: 10;\n }\n }\n }\n`\n\nexport const Buttons = styled.div`\n display: none;\n position: absolute;\n left: 0;\n top: 0;\n transform: none;\n height: calc(100% - 20px);\n width: 100%;\n gap: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n height: 100%;\n width: 100%;\n border: none;\n opacity: 0.5;\n transition: opacity 250ms;\n\n &:hover {\n background: none;\n opacity: 1;\n }\n`\n"],"names":["File","styled","Footer","ContentWrapper","ImageWrapper","Buttons","ExpandButton","Button"],"mappings":"+JAGaA,EAAOC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgDdC,EAASD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsGhBE,EAAiBF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsCxBG,EAAeH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAmCtBI,EAAUJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWjBK,EAAeL,EAAOM,QAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA"}
@@ -86,7 +86,8 @@ const r = o.div`
86
86
  text-overflow: ellipsis;
87
87
  white-space: nowrap;
88
88
  z-index: 20;
89
- display: inherit;
89
+ display: flex;
90
+ align-items: center;
90
91
 
91
92
  .icon {
92
93
  font-size: inherit;
@@ -1 +1 @@
1
- {"version":3,"file":"FileUploadCard.styled.es.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.ts"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const File = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: var(--border-radius-m);\n overflow: hidden;\n background-color: var(--md-sys-color-surface-container-low);\n z-index: 0;\n user-select: none;\n\n height: 105px;\n\n &.compact {\n height: 75px;\n }\n\n .icon {\n font-size: 30px;\n }\n\n .remove {\n position: absolute;\n top: 2px;\n right: 2px;\n padding: 2px;\n\n &:hover {\n background-color: var(--md-sys-color-error-container);\n color: var(--md-sys-color-on-error-container);\n }\n\n .icon {\n font-size: 20px;\n }\n }\n\n /* move icon up slightly to center it */\n .type-icon {\n margin-top: -20px;\n }\n\n /* set download default color outline */\n .download,\n .download-icon {\n color: var(--md-sys-color-outline);\n }\n`\n\nexport const Footer = styled.footer`\n background-color: var(--md-sys-color-surface-container-low);\n display: flex;\n align-items: center;\n position: relative;\n padding: 0 var(--padding-s);\n overflow: hidden;\n color: var(--md-sys-color-on-surface);\n\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n\n transition: padding 0.2s ease;\n\n span {\n font-size: 12px;\n }\n\n .name-wrapper {\n overflow: hidden;\n }\n\n .download {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n display: none;\n color: var(--md-sys-color-on-surface);\n }\n\n .name {\n position: relative;\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n z-index: 20;\n display: inherit;\n\n .icon {\n font-size: inherit;\n margin-right: var(--padding-s);\n vertical-align: text-top;\n }\n }\n\n .extension {\n z-index: 20;\n min-width: fit-content;\n overflow: hidden;\n }\n\n .progress {\n position: absolute;\n inset: 0;\n background-color: var(--md-sys-color-primary-container);\n z-index: 10;\n\n transition: right 0.3s;\n\n display: none;\n }\n\n &.inProgress {\n .progress {\n display: block;\n }\n }\n\n .download-icon {\n font-size: 20px;\n }\n\n &.isDownloadable {\n &:hover {\n cursor: pointer;\n\n padding: var(--padding-m) var(--padding-s);\n\n background-color: var(--md-sys-color-surface-container-low-hover);\n\n .download,\n .download-icon {\n color: var(--md-sys-color-on-surface);\n }\n\n /* reveal size and download */\n .download {\n display: flex;\n }\n .name-wrapper,\n .extension {\n display: none;\n }\n }\n }\n`\n\nexport const ContentWrapper = styled.div`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n flex: 1;\n\n .icon {\n user-select: none;\n }\n\n .download-icon {\n display: none;\n }\n\n /* previewable styles (it can be expanded) */\n /* on hover it shows the expand buttons */\n &.isPreviewable,\n &.isUnsavedAnnotation {\n cursor: pointer;\n\n &:hover {\n .expand-buttons {\n display: flex;\n }\n .type-icon {\n display: none;\n }\n }\n }\n\n &:hover .image-wrapper::after {\n opacity: 0.8;\n }\n`\n\nexport const ImageWrapper = styled.div`\n position: absolute;\n inset: 0;\n display: flex;\n justify-content: center;\n background-color: var(--md-sys-color-surface-container-lowest);\n img {\n position: absolute;\n max-height: 100%;\n max-width: 100%;\n object-fit: contain;\n height: calc(100% - 20px);\n\n transition: scale 0.2s ease;\n }\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background-color: var(--md-sys-color-surface-container-lowest);\n opacity: 0;\n transition: opacity 0.1s ease;\n }\n\n &.isDownloadable {\n &:hover {\n .icon {\n display: block;\n z-index: 10;\n }\n }\n }\n`\n\nexport const Buttons = styled.div`\n display: none;\n position: absolute;\n left: 0;\n top: 0;\n transform: none;\n height: calc(100% - 20px);\n width: 100%;\n gap: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n height: 100%;\n width: 100%;\n border: none;\n opacity: 0.5;\n transition: opacity 250ms;\n\n &:hover {\n background: none;\n opacity: 1;\n }\n`\n"],"names":["File","styled","Footer","ContentWrapper","ImageWrapper","Buttons","ExpandButton","Button"],"mappings":";;AAGO,MAAMA,IAAOC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgDdC,IAASD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAqGhBE,IAAiBF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAsCxBG,IAAeH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAmCtBI,IAAUJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWjBK,IAAeL,EAAOM,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
1
+ {"version":3,"file":"FileUploadCard.styled.es.js","sources":["../../../../../../../src/containers/Feed/components/FileUploadCard/FileUploadCard.styled.ts"],"sourcesContent":["import { Button } from '@ynput/ayon-react-components'\nimport styled from 'styled-components'\n\nexport const File = styled.div`\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: var(--border-radius-m);\n overflow: hidden;\n background-color: var(--md-sys-color-surface-container-low);\n z-index: 0;\n user-select: none;\n\n height: 105px;\n\n &.compact {\n height: 75px;\n }\n\n .icon {\n font-size: 30px;\n }\n\n .remove {\n position: absolute;\n top: 2px;\n right: 2px;\n padding: 2px;\n\n &:hover {\n background-color: var(--md-sys-color-error-container);\n color: var(--md-sys-color-on-error-container);\n }\n\n .icon {\n font-size: 20px;\n }\n }\n\n /* move icon up slightly to center it */\n .type-icon {\n margin-top: -20px;\n }\n\n /* set download default color outline */\n .download,\n .download-icon {\n color: var(--md-sys-color-outline);\n }\n`\n\nexport const Footer = styled.footer`\n background-color: var(--md-sys-color-surface-container-low);\n display: flex;\n align-items: center;\n position: relative;\n padding: 0 var(--padding-s);\n overflow: hidden;\n color: var(--md-sys-color-on-surface);\n\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n\n transition: padding 0.2s ease;\n\n span {\n font-size: 12px;\n }\n\n .name-wrapper {\n overflow: hidden;\n }\n\n .download {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n display: none;\n color: var(--md-sys-color-on-surface);\n }\n\n .name {\n position: relative;\n\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n z-index: 20;\n display: flex;\n align-items: center;\n\n .icon {\n font-size: inherit;\n margin-right: var(--padding-s);\n vertical-align: text-top;\n }\n }\n\n .extension {\n z-index: 20;\n min-width: fit-content;\n overflow: hidden;\n }\n\n .progress {\n position: absolute;\n inset: 0;\n background-color: var(--md-sys-color-primary-container);\n z-index: 10;\n\n transition: right 0.3s;\n\n display: none;\n }\n\n &.inProgress {\n .progress {\n display: block;\n }\n }\n\n .download-icon {\n font-size: 20px;\n }\n\n &.isDownloadable {\n &:hover {\n cursor: pointer;\n\n padding: var(--padding-m) var(--padding-s);\n\n background-color: var(--md-sys-color-surface-container-low-hover);\n\n .download,\n .download-icon {\n color: var(--md-sys-color-on-surface);\n }\n\n /* reveal size and download */\n .download {\n display: flex;\n }\n .name-wrapper,\n .extension {\n display: none;\n }\n }\n }\n`\n\nexport const ContentWrapper = styled.div`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: var(--md-sys-color-surface-container-lowest);\n\n flex: 1;\n\n .icon {\n user-select: none;\n }\n\n .download-icon {\n display: none;\n }\n\n /* previewable styles (it can be expanded) */\n /* on hover it shows the expand buttons */\n &.isPreviewable,\n &.isUnsavedAnnotation {\n cursor: pointer;\n\n &:hover {\n .expand-buttons {\n display: flex;\n }\n .type-icon {\n display: none;\n }\n }\n }\n\n &:hover .image-wrapper::after {\n opacity: 0.8;\n }\n`\n\nexport const ImageWrapper = styled.div`\n position: absolute;\n inset: 0;\n display: flex;\n justify-content: center;\n background-color: var(--md-sys-color-surface-container-lowest);\n img {\n position: absolute;\n max-height: 100%;\n max-width: 100%;\n object-fit: contain;\n height: calc(100% - 20px);\n\n transition: scale 0.2s ease;\n }\n\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background-color: var(--md-sys-color-surface-container-lowest);\n opacity: 0;\n transition: opacity 0.1s ease;\n }\n\n &.isDownloadable {\n &:hover {\n .icon {\n display: block;\n z-index: 10;\n }\n }\n }\n`\n\nexport const Buttons = styled.div`\n display: none;\n position: absolute;\n left: 0;\n top: 0;\n transform: none;\n height: calc(100% - 20px);\n width: 100%;\n gap: 0;\n`\n\nexport const ExpandButton = styled(Button)`\n height: 100%;\n width: 100%;\n border: none;\n opacity: 0.5;\n transition: opacity 250ms;\n\n &:hover {\n background: none;\n opacity: 1;\n }\n`\n"],"names":["File","styled","Footer","ContentWrapper","ImageWrapper","Buttons","ExpandButton","Button"],"mappings":";;AAGO,MAAMA,IAAOC,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgDdC,IAASD,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAsGhBE,IAAiBF,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAsCxBG,IAAeH,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAmCtBI,IAAUJ,EAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWjBK,IAAeL,EAAOM,CAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ynput/ayon-frontend-shared",
3
- "version": "0.3.52",
3
+ "version": "0.3.54",
4
4
  "description": "Shared React components for AYON frontend",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.es.js",