@ntbjs/react-components 2.0.15-rc.1 → 2.0.15-rc.3

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.
@@ -14,20 +14,15 @@ const Dot = styled.span`
14
14
  .live-dot__core {
15
15
  fill: #d83000;
16
16
  }
17
-
18
- body.light-theme & {
19
- .live-dot__ring,
20
- .live-dot__core {
21
- fill: #ffe2da;
22
- }
23
- }
24
17
  `;
25
18
  const LiveDot = () => React__default.createElement(Dot, null, React__default.createElement("svg", {
26
19
  width: "12",
27
20
  height: "12",
28
21
  viewBox: "0 0 12 12",
29
22
  fill: "none",
30
- xmlns: "http://www.w3.org/2000/svg"
23
+ xmlns: "http://www.w3.org/2000/svg",
24
+ "aria-hidden": "true",
25
+ focusable: "false"
31
26
  }, React__default.createElement("circle", {
32
27
  className: "live-dot__ring",
33
28
  cx: "6",
@@ -41,6 +36,7 @@ const LiveDot = () => React__default.createElement(Dot, null, React__default.cre
41
36
  })));
42
37
  const LiveBadge = React__default.forwardRef(function LiveBadge({
43
38
  label = 'LIVE',
39
+ ariaLabel,
44
40
  fontSize = 12,
45
41
  fontWeight = 500,
46
42
  height = 20,
@@ -48,21 +44,27 @@ const LiveBadge = React__default.forwardRef(function LiveBadge({
48
44
  verticalPadding = 2,
49
45
  ...rest
50
46
  }, forwardedRef) {
47
+ const hasVisibleLabel = typeof label === 'string' ? label.length > 0 : Boolean(label);
48
+ const accessibilityProps = hasVisibleLabel ? {} : {
49
+ role: 'img',
50
+ 'aria-label': ariaLabel || typeof label === 'string' && label || 'LIVE'
51
+ };
51
52
  return React__default.createElement(Badge, _extends({
52
53
  ref: forwardedRef,
53
54
  badgeIcon: React__default.createElement(LiveDot, null),
54
55
  badgeContent: label,
55
- backgroundColors: ['#000000', '#d83000'],
56
- colors: ['#ffffff', '#ffe2da'],
56
+ backgroundColors: ['#000000', '#000000'],
57
+ colors: ['#ffffff', '#ffffff'],
57
58
  fontSize: fontSize,
58
59
  fontWeight: fontWeight,
59
60
  height: height,
60
61
  horizontalPadding: horizontalPadding,
61
62
  verticalPadding: verticalPadding
62
- }, rest));
63
+ }, accessibilityProps, rest));
63
64
  });
64
65
  LiveBadge.propTypes = process.env.NODE_ENV !== "production" ? {
65
66
  label: PropTypes.node,
67
+ ariaLabel: PropTypes.string,
66
68
  fontSize: PropTypes.number,
67
69
  fontWeight: PropTypes.number,
68
70
  height: PropTypes.number,
@@ -1 +1 @@
1
- {"version":3,"file":"LiveBadge.js","sources":["../../../src/components/data/LiveBadge/LiveBadge.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport Badge from '../Badge/Badge';\n\n// Dark: concentric red dot on a black pill. Light: the pill turns red and the\n// dot follows the text colour (#ffe2da).\nconst Dot = styled.span`\n display: inline-flex;\n line-height: 0;\n\n .live-dot__ring {\n fill: #7f1b1b;\n }\n .live-dot__core {\n fill: #d83000;\n }\n\n body.light-theme & {\n .live-dot__ring,\n .live-dot__core {\n fill: #ffe2da;\n }\n }\n`;\n\nconst LiveDot = () => (\n <Dot>\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <circle className=\"live-dot__ring\" cx=\"6\" cy=\"6\" r=\"6\" />\n <circle className=\"live-dot__core\" cx=\"6\" cy=\"6\" r=\"4\" />\n </svg>\n </Dot>\n);\n\n/**\n * A red \"live\" pill (dot + label) marking an asset that is currently a live\n * video recording. Thin wrapper around Badge with the fixed live styling.\n *\n * ### Import\n *\n * ```js\n * import { LiveBadge } from '@ntbjs/react-components/data';\n * ```\n */\nconst LiveBadge = React.forwardRef(function LiveBadge(\n {\n label = 'LIVE',\n fontSize = 12,\n fontWeight = 500,\n height = 20,\n horizontalPadding = 8,\n verticalPadding = 2,\n ...rest\n },\n forwardedRef\n) {\n return (\n <Badge\n ref={forwardedRef}\n badgeIcon={<LiveDot />}\n badgeContent={label}\n backgroundColors={['#000000', '#d83000']}\n colors={['#ffffff', '#ffe2da']}\n fontSize={fontSize}\n fontWeight={fontWeight}\n height={height}\n horizontalPadding={horizontalPadding}\n verticalPadding={verticalPadding}\n {...rest}\n />\n );\n});\n\nLiveBadge.propTypes = {\n /** Badge label. Defaults to \"LIVE\"; pass a localized string to override. */\n label: PropTypes.node,\n /** Font size in pixels. */\n fontSize: PropTypes.number,\n /** Font weight. */\n fontWeight: PropTypes.number,\n /** Badge height in pixels. */\n height: PropTypes.number,\n /** Left and right padding in pixels. */\n horizontalPadding: PropTypes.number,\n /** Top and bottom padding in pixels. */\n verticalPadding: PropTypes.number\n};\n\nexport default LiveBadge;\n"],"names":["Dot","styled","span","LiveDot","React","createElement","width","height","viewBox","fill","xmlns","className","cx","cy","r","LiveBadge","forwardRef","label","fontSize","fontWeight","horizontalPadding","verticalPadding","rest","forwardedRef","Badge","_extends","ref","badgeIcon","badgeContent","backgroundColors","colors","propTypes","process","env","NODE_ENV","PropTypes","node","number"],"mappings":";;;;;;AAOA,MAAMA,GAAG,GAAGC,MAAM,CAACC,IAAI,CAAA;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;AAED,MAAMC,OAAO,GAAGA,MACdC,cAAA,CAAAC,aAAA,CAACL,GAAG,EAAA,IAAA,EACFI,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AAAKC,EAAAA,KAAK,EAAC,IAAI;AAACC,EAAAA,MAAM,EAAC,IAAI;AAACC,EAAAA,OAAO,EAAC,WAAW;AAACC,EAAAA,IAAI,EAAC,MAAM;AAACC,EAAAA,KAAK,EAAC,4BAAA;AAA4B,CAC5FN,EAAAA,cAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQM,EAAAA,SAAS,EAAC,gBAAgB;AAACC,EAAAA,EAAE,EAAC,GAAG;AAACC,EAAAA,EAAE,EAAC,GAAG;AAACC,EAAAA,CAAC,EAAC,GAAA;AAAG,CAAE,CAAC,EACzDV,cAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQM,EAAAA,SAAS,EAAC,gBAAgB;AAACC,EAAAA,EAAE,EAAC,GAAG;AAACC,EAAAA,EAAE,EAAC,GAAG;AAACC,EAAAA,CAAC,EAAC,GAAA;AAAG,CAAE,CACrD,CACF,CACN,CAAA;AAYKC,MAAAA,SAAS,GAAGX,cAAK,CAACY,UAAU,CAAC,SAASD,SAASA,CACnD;AACEE,EAAAA,KAAK,GAAG,MAAM;AACdC,EAAAA,QAAQ,GAAG,EAAE;AACbC,EAAAA,UAAU,GAAG,GAAG;AAChBZ,EAAAA,MAAM,GAAG,EAAE;AACXa,EAAAA,iBAAiB,GAAG,CAAC;AACrBC,EAAAA,eAAe,GAAG,CAAC;EACnB,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;AACA,EAAA,OACEnB,cAAA,CAAAC,aAAA,CAACmB,KAAK,EAAAC,QAAA,CAAA;AACJC,IAAAA,GAAG,EAAEH,YAAa;AAClBI,IAAAA,SAAS,EAAEvB,cAAA,CAAAC,aAAA,CAACF,OAAO,MAAE,CAAE;AACvByB,IAAAA,YAAY,EAAEX,KAAM;AACpBY,IAAAA,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAE;AACzCC,IAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAE;AAC/BZ,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,UAAU,EAAEA,UAAW;AACvBZ,IAAAA,MAAM,EAAEA,MAAO;AACfa,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,eAAe,EAAEA,eAAAA;GACbC,EAAAA,IAAI,CACT,CAAC,CAAA;AAEN,CAAC,EAAC;AAEFP,SAAS,CAACgB,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;EAEpBjB,KAAK,EAAEkB,SAAS,CAACC,IAAI;EAErBlB,QAAQ,EAAEiB,SAAS,CAACE,MAAM;EAE1BlB,UAAU,EAAEgB,SAAS,CAACE,MAAM;EAE5B9B,MAAM,EAAE4B,SAAS,CAACE,MAAM;EAExBjB,iBAAiB,EAAEe,SAAS,CAACE,MAAM;EAEnChB,eAAe,EAAEc,SAAS,CAACE,MAAAA;AAC7B,CAAC,GAAA,EAAA;;;;"}
1
+ {"version":3,"file":"LiveBadge.js","sources":["../../../src/components/data/LiveBadge/LiveBadge.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\nimport Badge from '../Badge/Badge';\n\nconst Dot = styled.span`\n display: inline-flex;\n line-height: 0;\n\n .live-dot__ring {\n fill: #7f1b1b;\n }\n .live-dot__core {\n fill: #d83000;\n }\n`;\n\nconst LiveDot = () => (\n <Dot>\n <svg\n width=\"12\"\n height=\"12\"\n viewBox=\"0 0 12 12\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n focusable=\"false\"\n >\n <circle className=\"live-dot__ring\" cx=\"6\" cy=\"6\" r=\"6\" />\n <circle className=\"live-dot__core\" cx=\"6\" cy=\"6\" r=\"4\" />\n </svg>\n </Dot>\n);\n\n/**\n * A red \"live\" pill (dot + label) marking an asset that is currently a live\n * video recording. Thin wrapper around Badge with the fixed live styling.\n *\n * ### Import\n *\n * ```js\n * import { LiveBadge } from '@ntbjs/react-components/data';\n * ```\n */\nconst LiveBadge = React.forwardRef(function LiveBadge(\n {\n label = 'LIVE',\n ariaLabel,\n fontSize = 12,\n fontWeight = 500,\n height = 20,\n horizontalPadding = 8,\n verticalPadding = 2,\n ...rest\n },\n forwardedRef\n) {\n const hasVisibleLabel = typeof label === 'string' ? label.length > 0 : Boolean(label);\n const accessibilityProps = hasVisibleLabel\n ? {}\n : { role: 'img', 'aria-label': ariaLabel || (typeof label === 'string' && label) || 'LIVE' };\n\n return (\n <Badge\n ref={forwardedRef}\n badgeIcon={<LiveDot />}\n badgeContent={label}\n backgroundColors={['#000000', '#000000']}\n colors={['#ffffff', '#ffffff']}\n fontSize={fontSize}\n fontWeight={fontWeight}\n height={height}\n horizontalPadding={horizontalPadding}\n verticalPadding={verticalPadding}\n {...accessibilityProps}\n {...rest}\n />\n );\n});\n\nLiveBadge.propTypes = {\n /** Badge label. Defaults to \"LIVE\"; pass a localized string to override. */\n label: PropTypes.node,\n /**\n * Accessible name announced to screen readers. Used when `label` is empty\n * (dot-only mode); defaults to the label, or \"LIVE\" when none is provided.\n */\n ariaLabel: PropTypes.string,\n /** Font size in pixels. */\n fontSize: PropTypes.number,\n /** Font weight. */\n fontWeight: PropTypes.number,\n /** Badge height in pixels. */\n height: PropTypes.number,\n /** Left and right padding in pixels. */\n horizontalPadding: PropTypes.number,\n /** Top and bottom padding in pixels. */\n verticalPadding: PropTypes.number\n};\n\nexport default LiveBadge;\n"],"names":["Dot","styled","span","LiveDot","React","createElement","width","height","viewBox","fill","xmlns","focusable","className","cx","cy","r","LiveBadge","forwardRef","label","ariaLabel","fontSize","fontWeight","horizontalPadding","verticalPadding","rest","forwardedRef","hasVisibleLabel","length","Boolean","accessibilityProps","role","Badge","_extends","ref","badgeIcon","badgeContent","backgroundColors","colors","propTypes","process","env","NODE_ENV","PropTypes","node","string","number"],"mappings":";;;;;;AAKA,MAAMA,GAAG,GAAGC,MAAM,CAACC,IAAI,CAAA;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC,CAAA;AAED,MAAMC,OAAO,GAAGA,MACdC,cAAA,CAAAC,aAAA,CAACL,GAAG,EAAA,IAAA,EACFI,cAAA,CAAAC,aAAA,CAAA,KAAA,EAAA;AACEC,EAAAA,KAAK,EAAC,IAAI;AACVC,EAAAA,MAAM,EAAC,IAAI;AACXC,EAAAA,OAAO,EAAC,WAAW;AACnBC,EAAAA,IAAI,EAAC,MAAM;AACXC,EAAAA,KAAK,EAAC,4BAA4B;AAClC,EAAA,aAAA,EAAY,MAAM;AAClBC,EAAAA,SAAS,EAAC,OAAA;AAAO,CAEjBP,EAAAA,cAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQO,EAAAA,SAAS,EAAC,gBAAgB;AAACC,EAAAA,EAAE,EAAC,GAAG;AAACC,EAAAA,EAAE,EAAC,GAAG;AAACC,EAAAA,CAAC,EAAC,GAAA;AAAG,CAAE,CAAC,EACzDX,cAAA,CAAAC,aAAA,CAAA,QAAA,EAAA;AAAQO,EAAAA,SAAS,EAAC,gBAAgB;AAACC,EAAAA,EAAE,EAAC,GAAG;AAACC,EAAAA,EAAE,EAAC,GAAG;AAACC,EAAAA,CAAC,EAAC,GAAA;AAAG,CAAE,CACrD,CACF,CACN,CAAA;AAYKC,MAAAA,SAAS,GAAGZ,cAAK,CAACa,UAAU,CAAC,SAASD,SAASA,CACnD;AACEE,EAAAA,KAAK,GAAG,MAAM;EACdC,SAAS;AACTC,EAAAA,QAAQ,GAAG,EAAE;AACbC,EAAAA,UAAU,GAAG,GAAG;AAChBd,EAAAA,MAAM,GAAG,EAAE;AACXe,EAAAA,iBAAiB,GAAG,CAAC;AACrBC,EAAAA,eAAe,GAAG,CAAC;EACnB,GAAGC,IAAAA;AACL,CAAC,EACDC,YAAY,EACZ;AACA,EAAA,MAAMC,eAAe,GAAG,OAAOR,KAAK,KAAK,QAAQ,GAAGA,KAAK,CAACS,MAAM,GAAG,CAAC,GAAGC,OAAO,CAACV,KAAK,CAAC,CAAA;AACrF,EAAA,MAAMW,kBAAkB,GAAGH,eAAe,GACtC,EAAE,GACF;AAAEI,IAAAA,IAAI,EAAE,KAAK;IAAE,YAAY,EAAEX,SAAS,IAAK,OAAOD,KAAK,KAAK,QAAQ,IAAIA,KAAM,IAAI,MAAA;GAAQ,CAAA;AAE9F,EAAA,OACEd,cAAA,CAAAC,aAAA,CAAC0B,KAAK,EAAAC,QAAA,CAAA;AACJC,IAAAA,GAAG,EAAER,YAAa;AAClBS,IAAAA,SAAS,EAAE9B,cAAA,CAAAC,aAAA,CAACF,OAAO,MAAE,CAAE;AACvBgC,IAAAA,YAAY,EAAEjB,KAAM;AACpBkB,IAAAA,gBAAgB,EAAE,CAAC,SAAS,EAAE,SAAS,CAAE;AACzCC,IAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAE;AAC/BjB,IAAAA,QAAQ,EAAEA,QAAS;AACnBC,IAAAA,UAAU,EAAEA,UAAW;AACvBd,IAAAA,MAAM,EAAEA,MAAO;AACfe,IAAAA,iBAAiB,EAAEA,iBAAkB;AACrCC,IAAAA,eAAe,EAAEA,eAAAA;AAAgB,GAAA,EAC7BM,kBAAkB,EAClBL,IAAI,CACT,CAAC,CAAA;AAEN,CAAC,EAAC;AAEFR,SAAS,CAACsB,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;EAEpBvB,KAAK,EAAEwB,SAAS,CAACC,IAAI;EAKrBxB,SAAS,EAAEuB,SAAS,CAACE,MAAM;EAE3BxB,QAAQ,EAAEsB,SAAS,CAACG,MAAM;EAE1BxB,UAAU,EAAEqB,SAAS,CAACG,MAAM;EAE5BtC,MAAM,EAAEmC,SAAS,CAACG,MAAM;EAExBvB,iBAAiB,EAAEoB,SAAS,CAACG,MAAM;EAEnCtB,eAAe,EAAEmB,SAAS,CAACG,MAAAA;AAC7B,CAAC,GAAA,EAAA;;;;"}
@@ -15,7 +15,8 @@ const Tab = React__default.forwardRef(function Tab({
15
15
  });
16
16
  Tab.propTypes = process.env.NODE_ENV !== "production" ? {
17
17
  children: PropTypes.any,
18
- hidden: PropTypes.bool
18
+ hidden: PropTypes.bool,
19
+ id: PropTypes.string
19
20
  } : {};
20
21
  Tab.defaultProps = {
21
22
  hidden: false
@@ -1 +1 @@
1
- {"version":3,"file":"Tab.js","sources":["../../../src/components/data/Tab/Tab.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport * as S from './Tab.styled';\n\n/**\n * This is a component to help you get started with development.\n */\nconst Tab = React.forwardRef(function Tab({ children, hidden, ...props }, forwardedRef) {\n if (hidden) return null;\n\n return (\n <S.Tab ref={forwardedRef} {...props}>\n {children}\n </S.Tab>\n );\n});\n\nTab.propTypes = {\n children: PropTypes.any,\n hidden: PropTypes.bool\n};\n\nTab.defaultProps = {\n hidden: false\n};\n\nexport default Tab;\n"],"names":["Tab","React","forwardRef","children","hidden","props","forwardedRef","createElement","S","_extends","ref","propTypes","process","env","NODE_ENV","PropTypes","any","bool","defaultProps"],"mappings":";;;;;AAOMA,MAAAA,GAAG,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,GAAGA,CAAC;EAAEG,QAAQ;EAAEC,MAAM;EAAE,GAAGC,KAAAA;AAAM,CAAC,EAAEC,YAAY,EAAE;EACtF,IAAIF,MAAM,EAAE,OAAO,IAAI,CAAA;EAEvB,OACEH,cAAA,CAAAM,aAAA,CAACC,KAAK,EAAAC,QAAA,CAAA;AAACC,IAAAA,GAAG,EAAEJ,YAAAA;GAAkBD,EAAAA,KAAK,CAChCF,EAAAA,QACI,CAAC,CAAA;AAEZ,CAAC,EAAC;AAEFH,GAAG,CAACW,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;EACdX,QAAQ,EAAEY,SAAS,CAACC,GAAG;EACvBZ,MAAM,EAAEW,SAAS,CAACE,IAAAA;AACpB,CAAC,GAAA,EAAA,CAAA;AAEDjB,GAAG,CAACkB,YAAY,GAAG;AACjBd,EAAAA,MAAM,EAAE,KAAA;AACV,CAAC;;;;"}
1
+ {"version":3,"file":"Tab.js","sources":["../../../src/components/data/Tab/Tab.js"],"sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\nimport * as S from './Tab.styled';\n\n/**\n * This is a component to help you get started with development.\n */\nconst Tab = React.forwardRef(function Tab({ children, hidden, ...props }, forwardedRef) {\n if (hidden) return null;\n\n return (\n <S.Tab ref={forwardedRef} {...props}>\n {children}\n </S.Tab>\n );\n});\n\nTab.propTypes = {\n children: PropTypes.any,\n hidden: PropTypes.bool,\n /**\n * Stable identifier used by `Tabs` `defaultActiveId` to select this tab.\n */\n id: PropTypes.string\n};\n\nTab.defaultProps = {\n hidden: false\n};\n\nexport default Tab;\n"],"names":["Tab","React","forwardRef","children","hidden","props","forwardedRef","createElement","S","_extends","ref","propTypes","process","env","NODE_ENV","PropTypes","any","bool","id","string","defaultProps"],"mappings":";;;;;AAOMA,MAAAA,GAAG,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,GAAGA,CAAC;EAAEG,QAAQ;EAAEC,MAAM;EAAE,GAAGC,KAAAA;AAAM,CAAC,EAAEC,YAAY,EAAE;EACtF,IAAIF,MAAM,EAAE,OAAO,IAAI,CAAA;EAEvB,OACEH,cAAA,CAAAM,aAAA,CAACC,KAAK,EAAAC,QAAA,CAAA;AAACC,IAAAA,GAAG,EAAEJ,YAAAA;GAAkBD,EAAAA,KAAK,CAChCF,EAAAA,QACI,CAAC,CAAA;AAEZ,CAAC,EAAC;AAEFH,GAAG,CAACW,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;EACdX,QAAQ,EAAEY,SAAS,CAACC,GAAG;EACvBZ,MAAM,EAAEW,SAAS,CAACE,IAAI;EAItBC,EAAE,EAAEH,SAAS,CAACI,MAAAA;AAChB,CAAC,GAAA,EAAA,CAAA;AAEDnB,GAAG,CAACoB,YAAY,GAAG;AACjBhB,EAAAA,MAAM,EAAE,KAAA;AACV,CAAC;;;;"}
@@ -1,7 +1,7 @@
1
1
  import { extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { isEmpty, isNil } from 'lodash';
2
+ import { isNil, isEmpty } from 'lodash';
3
3
  import PropTypes from 'prop-types';
4
- import React__default, { useState, useRef, useMemo, Children, Fragment } from 'react';
4
+ import React__default, { useState, useRef, useMemo, useEffect, Children, Fragment } from 'react';
5
5
  import Tab from '../Tab/Tab.js';
6
6
  import { Tabs as Tabs$1, TabHeaders, TabHeader, TabHeaderBorder, TabContent } from './Tabs.styled.js';
7
7
 
@@ -10,6 +10,7 @@ const Tabs = React__default.forwardRef(function Tabs({
10
10
  defaultMinHeight = '',
11
11
  customPadding = 0,
12
12
  onTabClick = () => {},
13
+ defaultActiveId,
13
14
  ...props
14
15
  }, forwardedRef) {
15
16
  const [activeTab, setActiveTab] = useState(0);
@@ -30,6 +31,7 @@ const Tabs = React__default.forwardRef(function Tabs({
30
31
  if (child.type === Tab) {
31
32
  tabs.push({
32
33
  key: index,
34
+ id: child.props?.id,
33
35
  trigger: child.props?.trigger,
34
36
  content: child.props?.children
35
37
  });
@@ -55,6 +57,11 @@ const Tabs = React__default.forwardRef(function Tabs({
55
57
  });
56
58
  }
57
59
  };
60
+ useEffect(() => {
61
+ if (isNil(defaultActiveId)) return;
62
+ const matchedTab = tabs.find(tab => tab.id === defaultActiveId);
63
+ if (matchedTab) handleTabClick(matchedTab);
64
+ }, []);
58
65
  return React__default.createElement(Tabs$1, _extends({
59
66
  ref: forwardedRef
60
67
  }, props, {
@@ -84,7 +91,8 @@ Tabs.propTypes = process.env.NODE_ENV !== "production" ? {
84
91
  backgroundColor: PropTypes.string,
85
92
  defaultMinHeight: PropTypes.string,
86
93
  customPadding: PropTypes.string,
87
- onTabClick: PropTypes.func
94
+ onTabClick: PropTypes.func,
95
+ defaultActiveId: PropTypes.string
88
96
  } : {};
89
97
 
90
98
  export { Tabs as default };
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.js","sources":["../../../src/components/data/Tabs/Tabs.js"],"sourcesContent":["import { isEmpty, isNil } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { Children, Fragment, useMemo, useRef, useState } from 'react';\nimport Tab from '../Tab';\nimport * as S from './Tabs.styled';\n\n/**\n * Tabs that let you group content\n *\n * ### Import\n *\n * ``` js\n * import { Tabs, Tab } from '@ntbjs/react-components/data'\n * // or\n * import Tabs from '@ntbjs/react-components/data/Tabs'\n * import Tab from '@ntbjs/react-components/data/Tab'\n * ```\n * ### Tab - Tabs - Badge\n * `Tab`, `Tabs` and `Badge` must be used in order to implement the component.\n * ```\n * <Tabs>\n * <Tab trigger={<Badge>Tab title</Badge>}>\n * Tab content\n * </Tab>\n * </Tabs>\n * ```\n * ## Wrapping\n * Content (data displayed inside the `Tab`) is wrapped by `Tab`:\n * ```\n * <Tab>\n * Tab content\n * </Tab>\n * ```\n * ### Badge\n * The tab title is wrapped by `Badge` (which is passed as the trigger prop inside `Tab`):\n *\n *Props that can be passed inside the `Badge` component are: `badgeContent`, `active`, `error`, `warning` (check out the `Badge` component documentation for props options).\n * ```\n * <Tab trigger={<Badge>Tab title</Badge>}>\n * Tab content\n * </Tab>\n * ```\n * All tabs are wrapped by `Tabs`:\n * ```\n * <Tabs>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * <Tab trigger={<Badge>Tab title 3</Badge>}>Tab content 3</Tab>\n * <Tab trigger={<Badge>Tab title 4</Badge>}>Tab content 4</Tab>\n * <Tab trigger={<Badge>Tab title 5</Badge>}>Tab content 5</Tab>\n * </Tabs>\n * ```\n * ## Props\n * A `backgroundColor` prop can be passed as a string to set the `Tabs` component background color.\n * ```\n * <Tabs backgroundColor={'#bfe0d5'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n * ### hidden\n * A single Tab can be hidden by using the `hidden={true||false}` prop (this is useful when the tab has empty content):\n * ```\n * <Tabs>\n * <Tab hidden={true} trigger={<Badge>Tab title 1</Badge>}></Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * <Tab hidden={true} trigger={<Badge>Tab title 3</Badge>}></Tab>\n * <Tab trigger={<Badge>Tab title 4</Badge>}>Tab content 4</Tab>\n * <Tab hidden={true} trigger={<Badge>Tab title 5</Badge>}></Tab>\n * </Tabs>\n * ```\n * ### Default minHeight\n * A `defaultMinHeight` prop can be passed to the Tabs component to set a predefined min-height.\n *\n * Pass `defaultMinHeight={'value px'}` on the `Tabs` component to use this feature.\n * ```\n * <Tabs defaultMinHeight={'500px'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n *\n * ### Custom padding\n * A `customPadding` prop can be passed to the Tabs component to set a custom padding on the tabs. The custom padding is applied the the Tabs options,\n * not to the content within the Tabs.\n *\n * Pass `customPadding={'value px'}` on the `Tabs` component to use this feature.\n * ```\n * <Tabs customPadding={'40px'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n */\nconst Tabs = React.forwardRef(function Tabs(\n { children, defaultMinHeight = '', customPadding = 0, onTabClick = () => {}, ...props },\n forwardedRef\n) {\n const [activeTab, setActiveTab] = useState(0);\n const contentRef = useRef(null);\n\n const tabs = useMemo(() => {\n const tabs = [];\n function extractChildren(children) {\n Children.forEach(children, (child, index) => {\n if (isNil(child)) {\n return null;\n }\n\n if (child.type === Fragment) {\n extractChildren(child.props?.children);\n }\n\n if (child.props?.hidden) {\n return null;\n }\n\n if (child.type === Tab) {\n tabs.push({\n key: index,\n trigger: child.props?.trigger,\n content: child.props?.children\n });\n }\n });\n }\n\n extractChildren(children);\n\n if (!tabs.some(tab => tab?.key === activeTab)) {\n setActiveTab(tabs[0]?.key);\n }\n\n return tabs;\n }, [children]);\n\n const handleTabClick = tab => {\n setActiveTab(tab.key);\n let triggerText = '';\n\n if (tab.trigger && tab.trigger.props && tab.trigger.props.children) {\n triggerText = tab.trigger.props.children;\n }\n if (onTabClick) {\n onTabClick({\n ...tab,\n triggerText: triggerText\n });\n }\n };\n\n return (\n <S.Tabs ref={forwardedRef} {...props} role=\"tablist\">\n <S.TabHeaders custompadding={customPadding}>\n {tabs.map(tab => (\n <S.TabHeader\n key={tab.key}\n hidden={tab.hidden}\n $active={tab.key === activeTab}\n onClick={() => handleTabClick(tab)}\n role=\"tab\"\n >\n {tab.trigger}\n </S.TabHeader>\n ))}\n </S.TabHeaders>\n <S.TabHeaderBorder custompadding={customPadding}></S.TabHeaderBorder>\n <S.TabContent>\n {tabs.map(tab => (\n <div\n ref={tab.key === activeTab?.key ? contentRef : null}\n key={tab.key}\n role=\"tabpanel\"\n hidden={tab.key !== activeTab}\n style={{\n minHeight: !isEmpty(defaultMinHeight) ? defaultMinHeight : ''\n }}\n >\n {tab.content}\n </div>\n ))}\n </S.TabContent>\n </S.Tabs>\n );\n});\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * Whether `Tabs` component has a background color\n */\n backgroundColor: PropTypes.string,\n /**\n * Whether `tabs` will have a predefined min-height.\n */\n defaultMinHeight: PropTypes.string,\n /**\n * Custom padding.\n */\n customPadding: PropTypes.string,\n /**\n * Callback for clicked tab\n */\n onTabClick: PropTypes.func\n};\n\nexport default Tabs;\n"],"names":["Tabs","React","forwardRef","children","defaultMinHeight","customPadding","onTabClick","props","forwardedRef","activeTab","setActiveTab","useState","contentRef","useRef","tabs","useMemo","extractChildren","Children","forEach","child","index","isNil","type","Fragment","hidden","Tab","push","key","trigger","content","some","tab","handleTabClick","triggerText","createElement","S","_extends","ref","role","custompadding","map","$active","onClick","style","minHeight","isEmpty","propTypes","process","env","NODE_ENV","PropTypes","oneOfType","array","object","backgroundColor","string","func"],"mappings":"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"}
1
+ {"version":3,"file":"Tabs.js","sources":["../../../src/components/data/Tabs/Tabs.js"],"sourcesContent":["import { isEmpty, isNil } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { Children, Fragment, useEffect, useMemo, useRef, useState } from 'react';\nimport Tab from '../Tab';\nimport * as S from './Tabs.styled';\n\n/**\n * Tabs that let you group content\n *\n * ### Import\n *\n * ``` js\n * import { Tabs, Tab } from '@ntbjs/react-components/data'\n * // or\n * import Tabs from '@ntbjs/react-components/data/Tabs'\n * import Tab from '@ntbjs/react-components/data/Tab'\n * ```\n * ### Tab - Tabs - Badge\n * `Tab`, `Tabs` and `Badge` must be used in order to implement the component.\n * ```\n * <Tabs>\n * <Tab trigger={<Badge>Tab title</Badge>}>\n * Tab content\n * </Tab>\n * </Tabs>\n * ```\n * ## Wrapping\n * Content (data displayed inside the `Tab`) is wrapped by `Tab`:\n * ```\n * <Tab>\n * Tab content\n * </Tab>\n * ```\n * ### Badge\n * The tab title is wrapped by `Badge` (which is passed as the trigger prop inside `Tab`):\n *\n *Props that can be passed inside the `Badge` component are: `badgeContent`, `active`, `error`, `warning` (check out the `Badge` component documentation for props options).\n * ```\n * <Tab trigger={<Badge>Tab title</Badge>}>\n * Tab content\n * </Tab>\n * ```\n * All tabs are wrapped by `Tabs`:\n * ```\n * <Tabs>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * <Tab trigger={<Badge>Tab title 3</Badge>}>Tab content 3</Tab>\n * <Tab trigger={<Badge>Tab title 4</Badge>}>Tab content 4</Tab>\n * <Tab trigger={<Badge>Tab title 5</Badge>}>Tab content 5</Tab>\n * </Tabs>\n * ```\n * ## Props\n * A `backgroundColor` prop can be passed as a string to set the `Tabs` component background color.\n * ```\n * <Tabs backgroundColor={'#bfe0d5'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n * ### hidden\n * A single Tab can be hidden by using the `hidden={true||false}` prop (this is useful when the tab has empty content):\n * ```\n * <Tabs>\n * <Tab hidden={true} trigger={<Badge>Tab title 1</Badge>}></Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * <Tab hidden={true} trigger={<Badge>Tab title 3</Badge>}></Tab>\n * <Tab trigger={<Badge>Tab title 4</Badge>}>Tab content 4</Tab>\n * <Tab hidden={true} trigger={<Badge>Tab title 5</Badge>}></Tab>\n * </Tabs>\n * ```\n * ### Default minHeight\n * A `defaultMinHeight` prop can be passed to the Tabs component to set a predefined min-height.\n *\n * Pass `defaultMinHeight={'value px'}` on the `Tabs` component to use this feature.\n * ```\n * <Tabs defaultMinHeight={'500px'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n *\n * ### Custom padding\n * A `customPadding` prop can be passed to the Tabs component to set a custom padding on the tabs. The custom padding is applied the the Tabs options,\n * not to the content within the Tabs.\n *\n * Pass `customPadding={'value px'}` on the `Tabs` component to use this feature.\n * ```\n * <Tabs customPadding={'40px'}>\n * <Tab trigger={<Badge>Tab title 1</Badge>}>Tab content 1</Tab>\n * <Tab trigger={<Badge>Tab title 2</Badge>}>Tab content 2</Tab>\n * </Tabs>\n * ```\n */\nconst Tabs = React.forwardRef(function Tabs(\n {\n children,\n defaultMinHeight = '',\n customPadding = 0,\n onTabClick = () => {},\n defaultActiveId,\n ...props\n },\n forwardedRef\n) {\n const [activeTab, setActiveTab] = useState(0);\n const contentRef = useRef(null);\n\n const tabs = useMemo(() => {\n const tabs = [];\n function extractChildren(children) {\n Children.forEach(children, (child, index) => {\n if (isNil(child)) {\n return null;\n }\n\n if (child.type === Fragment) {\n extractChildren(child.props?.children);\n }\n\n if (child.props?.hidden) {\n return null;\n }\n\n if (child.type === Tab) {\n tabs.push({\n key: index,\n id: child.props?.id,\n trigger: child.props?.trigger,\n content: child.props?.children\n });\n }\n });\n }\n\n extractChildren(children);\n\n if (!tabs.some(tab => tab?.key === activeTab)) {\n setActiveTab(tabs[0]?.key);\n }\n\n return tabs;\n }, [children]);\n\n const handleTabClick = tab => {\n setActiveTab(tab.key);\n let triggerText = '';\n\n if (tab.trigger && tab.trigger.props && tab.trigger.props.children) {\n triggerText = tab.trigger.props.children;\n }\n if (onTabClick) {\n onTabClick({\n ...tab,\n triggerText: triggerText\n });\n }\n };\n\n useEffect(() => {\n if (isNil(defaultActiveId)) return;\n const matchedTab = tabs.find(tab => tab.id === defaultActiveId);\n if (matchedTab) handleTabClick(matchedTab);\n }, []); // eslint-disable-line\n\n return (\n <S.Tabs ref={forwardedRef} {...props} role=\"tablist\">\n <S.TabHeaders custompadding={customPadding}>\n {tabs.map(tab => (\n <S.TabHeader\n key={tab.key}\n hidden={tab.hidden}\n $active={tab.key === activeTab}\n onClick={() => handleTabClick(tab)}\n role=\"tab\"\n >\n {tab.trigger}\n </S.TabHeader>\n ))}\n </S.TabHeaders>\n <S.TabHeaderBorder custompadding={customPadding}></S.TabHeaderBorder>\n <S.TabContent>\n {tabs.map(tab => (\n <div\n ref={tab.key === activeTab?.key ? contentRef : null}\n key={tab.key}\n role=\"tabpanel\"\n hidden={tab.key !== activeTab}\n style={{\n minHeight: !isEmpty(defaultMinHeight) ? defaultMinHeight : ''\n }}\n >\n {tab.content}\n </div>\n ))}\n </S.TabContent>\n </S.Tabs>\n );\n});\n\nTabs.propTypes = {\n children: PropTypes.oneOfType([PropTypes.array, PropTypes.object]),\n /**\n * Whether `Tabs` component has a background color\n */\n backgroundColor: PropTypes.string,\n /**\n * Whether `tabs` will have a predefined min-height.\n */\n defaultMinHeight: PropTypes.string,\n /**\n * Custom padding.\n */\n customPadding: PropTypes.string,\n /**\n * Callback for clicked tab\n */\n onTabClick: PropTypes.func,\n /**\n * Initially-selected tab, matched against each `Tab`'s `id` prop.\n * Defaults to the first tab when omitted.\n */\n defaultActiveId: PropTypes.string\n};\n\nexport default Tabs;\n"],"names":["Tabs","React","forwardRef","children","defaultMinHeight","customPadding","onTabClick","defaultActiveId","props","forwardedRef","activeTab","setActiveTab","useState","contentRef","useRef","tabs","useMemo","extractChildren","Children","forEach","child","index","isNil","type","Fragment","hidden","Tab","push","key","id","trigger","content","some","tab","handleTabClick","triggerText","useEffect","matchedTab","find","createElement","S","_extends","ref","role","custompadding","map","$active","onClick","style","minHeight","isEmpty","propTypes","process","env","NODE_ENV","PropTypes","oneOfType","array","object","backgroundColor","string","func"],"mappings":";;;;;;;AA8FMA,MAAAA,IAAI,GAAGC,cAAK,CAACC,UAAU,CAAC,SAASF,IAAIA,CACzC;EACEG,QAAQ;AACRC,EAAAA,gBAAgB,GAAG,EAAE;AACrBC,EAAAA,aAAa,GAAG,CAAC;AACjBC,EAAAA,UAAU,GAAGA,MAAM,EAAE;EACrBC,eAAe;EACf,GAAGC,KAAAA;AACL,CAAC,EACDC,YAAY,EACZ;EACA,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAGC,QAAQ,CAAC,CAAC,CAAC,CAAA;AAC7C,EAAA,MAAMC,UAAU,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;AAE/B,EAAA,MAAMC,IAAI,GAAGC,OAAO,CAAC,MAAM;IACzB,MAAMD,IAAI,GAAG,EAAE,CAAA;IACf,SAASE,eAAeA,CAACd,QAAQ,EAAE;MACjCe,QAAQ,CAACC,OAAO,CAAChB,QAAQ,EAAE,CAACiB,KAAK,EAAEC,KAAK,KAAK;AAC3C,QAAA,IAAIC,KAAK,CAACF,KAAK,CAAC,EAAE;AAChB,UAAA,OAAO,IAAI,CAAA;AACb,SAAA;AAEA,QAAA,IAAIA,KAAK,CAACG,IAAI,KAAKC,QAAQ,EAAE;AAC3BP,UAAAA,eAAe,CAACG,KAAK,CAACZ,KAAK,EAAEL,QAAQ,CAAC,CAAA;AACxC,SAAA;AAEA,QAAA,IAAIiB,KAAK,CAACZ,KAAK,EAAEiB,MAAM,EAAE;AACvB,UAAA,OAAO,IAAI,CAAA;AACb,SAAA;AAEA,QAAA,IAAIL,KAAK,CAACG,IAAI,KAAKG,GAAG,EAAE;UACtBX,IAAI,CAACY,IAAI,CAAC;AACRC,YAAAA,GAAG,EAAEP,KAAK;AACVQ,YAAAA,EAAE,EAAET,KAAK,CAACZ,KAAK,EAAEqB,EAAE;AACnBC,YAAAA,OAAO,EAAEV,KAAK,CAACZ,KAAK,EAAEsB,OAAO;AAC7BC,YAAAA,OAAO,EAAEX,KAAK,CAACZ,KAAK,EAAEL,QAAAA;AACxB,WAAC,CAAC,CAAA;AACJ,SAAA;AACF,OAAC,CAAC,CAAA;AACJ,KAAA;IAEAc,eAAe,CAACd,QAAQ,CAAC,CAAA;AAEzB,IAAA,IAAI,CAACY,IAAI,CAACiB,IAAI,CAACC,GAAG,IAAIA,GAAG,EAAEL,GAAG,KAAKlB,SAAS,CAAC,EAAE;AAC7CC,MAAAA,YAAY,CAACI,IAAI,CAAC,CAAC,CAAC,EAAEa,GAAG,CAAC,CAAA;AAC5B,KAAA;AAEA,IAAA,OAAOb,IAAI,CAAA;AACb,GAAC,EAAE,CAACZ,QAAQ,CAAC,CAAC,CAAA;EAEd,MAAM+B,cAAc,GAAGD,GAAG,IAAI;AAC5BtB,IAAAA,YAAY,CAACsB,GAAG,CAACL,GAAG,CAAC,CAAA;IACrB,IAAIO,WAAW,GAAG,EAAE,CAAA;AAEpB,IAAA,IAAIF,GAAG,CAACH,OAAO,IAAIG,GAAG,CAACH,OAAO,CAACtB,KAAK,IAAIyB,GAAG,CAACH,OAAO,CAACtB,KAAK,CAACL,QAAQ,EAAE;AAClEgC,MAAAA,WAAW,GAAGF,GAAG,CAACH,OAAO,CAACtB,KAAK,CAACL,QAAQ,CAAA;AAC1C,KAAA;AACA,IAAA,IAAIG,UAAU,EAAE;AACdA,MAAAA,UAAU,CAAC;AACT,QAAA,GAAG2B,GAAG;AACNE,QAAAA,WAAW,EAAEA,WAAAA;AACf,OAAC,CAAC,CAAA;AACJ,KAAA;GACD,CAAA;AAEDC,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAId,KAAK,CAACf,eAAe,CAAC,EAAE,OAAA;AAC5B,IAAA,MAAM8B,UAAU,GAAGtB,IAAI,CAACuB,IAAI,CAACL,GAAG,IAAIA,GAAG,CAACJ,EAAE,KAAKtB,eAAe,CAAC,CAAA;AAC/D,IAAA,IAAI8B,UAAU,EAAEH,cAAc,CAACG,UAAU,CAAC,CAAA;GAC3C,EAAE,EAAE,CAAC,CAAA;EAEN,OACEpC,cAAA,CAAAsC,aAAA,CAACC,MAAM,EAAAC,QAAA,CAAA;AAACC,IAAAA,GAAG,EAAEjC,YAAAA;AAAa,GAAA,EAAKD,KAAK,EAAA;AAAEmC,IAAAA,IAAI,EAAC,SAAA;AAAS,GAAA,CAAA,EAClD1C,cAAA,CAAAsC,aAAA,CAACC,UAAY,EAAA;AAACI,IAAAA,aAAa,EAAEvC,aAAAA;AAAc,GAAA,EACxCU,IAAI,CAAC8B,GAAG,CAACZ,GAAG,IACXhC,cAAA,CAAAsC,aAAA,CAACC,SAAW,EAAA;IACVZ,GAAG,EAAEK,GAAG,CAACL,GAAI;IACbH,MAAM,EAAEQ,GAAG,CAACR,MAAO;AACnBqB,IAAAA,OAAO,EAAEb,GAAG,CAACL,GAAG,KAAKlB,SAAU;AAC/BqC,IAAAA,OAAO,EAAEA,MAAMb,cAAc,CAACD,GAAG,CAAE;AACnCU,IAAAA,IAAI,EAAC,KAAA;AAAK,GAAA,EAETV,GAAG,CAACH,OACM,CACd,CACW,CAAC,EACf7B,cAAA,CAAAsC,aAAA,CAACC,eAAiB,EAAA;AAACI,IAAAA,aAAa,EAAEvC,aAAAA;AAAc,GAAoB,CAAC,EACrEJ,cAAA,CAAAsC,aAAA,CAACC,UAAY,EACVzB,IAAAA,EAAAA,IAAI,CAAC8B,GAAG,CAACZ,GAAG,IACXhC,cAAA,CAAAsC,aAAA,CAAA,KAAA,EAAA;IACEG,GAAG,EAAET,GAAG,CAACL,GAAG,KAAKlB,SAAS,EAAEkB,GAAG,GAAGf,UAAU,GAAG,IAAK;IACpDe,GAAG,EAAEK,GAAG,CAACL,GAAI;AACbe,IAAAA,IAAI,EAAC,UAAU;AACflB,IAAAA,MAAM,EAAEQ,GAAG,CAACL,GAAG,KAAKlB,SAAU;AAC9BsC,IAAAA,KAAK,EAAE;MACLC,SAAS,EAAE,CAACC,OAAO,CAAC9C,gBAAgB,CAAC,GAAGA,gBAAgB,GAAG,EAAA;AAC7D,KAAA;AAAE,GAAA,EAED6B,GAAG,CAACF,OACF,CACN,CACW,CACR,CAAC,CAAA;AAEb,CAAC,EAAC;AAEF/B,IAAI,CAACmD,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;AACfnD,EAAAA,QAAQ,EAAEoD,SAAS,CAACC,SAAS,CAAC,CAACD,SAAS,CAACE,KAAK,EAAEF,SAAS,CAACG,MAAM,CAAC,CAAC;EAIlEC,eAAe,EAAEJ,SAAS,CAACK,MAAM;EAIjCxD,gBAAgB,EAAEmD,SAAS,CAACK,MAAM;EAIlCvD,aAAa,EAAEkD,SAAS,CAACK,MAAM;EAI/BtD,UAAU,EAAEiD,SAAS,CAACM,IAAI;EAK1BtD,eAAe,EAAEgD,SAAS,CAACK,MAAAA;AAC7B,CAAC,GAAA,EAAA;;;;"}
@@ -66,6 +66,7 @@ const AssetGalleryCompactCard = props => {
66
66
  const [placement] = useState('bottom');
67
67
  const [isOverlayHovered, setIsOverlayHovered] = useState(false);
68
68
  const [openedSubActions, updateOpenedSubActions] = useState([]);
69
+ const [failedUrl, setFailedUrl] = useState(null);
69
70
  const {
70
71
  refs,
71
72
  floatingStyles,
@@ -198,17 +199,25 @@ const AssetGalleryCompactCard = props => {
198
199
  }
199
200
  const renderPreview = asset => {
200
201
  let previewContent = null;
201
- if (asset?.fileType?.toLowerCase() === 'video') {
202
+ const isVideo = asset?.fileType?.toLowerCase() === 'video';
203
+ const showFallback = asset?.isLive || isVideo && (!asset.previewUrl || failedUrl === asset.previewUrl);
204
+ if (showFallback) {
205
+ previewContent = React__default.createElement(LazyLoadComponent, {
206
+ scrollPosition: scrollPosition
207
+ }, React__default.createElement("div", {
208
+ className: "audio"
209
+ }, React__default.createElement(SvgPlay, null)));
210
+ } else if (isVideo) {
202
211
  previewContent = React__default.createElement(LazyLoadComponent, {
203
212
  scrollPosition: scrollPosition
204
213
  }, React__default.createElement("video", {
205
214
  ref: videoPlayerRef,
206
215
  loop: true,
207
- muted: true
208
- }, React__default.createElement("source", {
216
+ muted: true,
217
+ preload: "metadata",
209
218
  src: asset.previewUrl,
210
- type: "video/mp4"
211
- })));
219
+ onError: () => setFailedUrl(asset.previewUrl)
220
+ }));
212
221
  } else if (asset?.fileType?.toLowerCase() === 'audio') {
213
222
  previewContent = React__default.createElement(LazyLoadComponent, {
214
223
  scrollPosition: scrollPosition
@@ -260,6 +269,7 @@ const AssetGalleryCompactCard = props => {
260
269
  return asset?.verifications;
261
270
  }, [asset]);
262
271
  const renderdynamicBadge = useCallback(() => {
272
+ if (asset?.isLive) return null;
263
273
  if (asset?.verifications) return renderVerificationBadge();
264
274
  if (asset?.versions) return renderVersionsBadge();
265
275
  return null;
@@ -301,7 +311,9 @@ const AssetGalleryCompactCard = props => {
301
311
  });
302
312
  }, [asset]);
303
313
  const renderSummaryCardHeaderLeft = useCallback(() => {
304
- return React__default.createElement(React__default.Fragment, null, renderVersionsBadge(), renderMediaBadge());
314
+ return React__default.createElement(React__default.Fragment, null, renderVersionsBadge(), asset.isLive ? React__default.createElement(LiveBadge, {
315
+ label: asset.liveLabel
316
+ }) : renderMediaBadge());
305
317
  }, [asset]);
306
318
  const renderPopoverContent = useCallback(() => {
307
319
  return React__default.createElement(SummaryCard, {
@@ -346,7 +358,8 @@ const AssetGalleryCompactCard = props => {
346
358
  $softSelected: softSelected,
347
359
  selected: selected
348
360
  }), asset.isLive && React__default.createElement(LiveBadgeSlot, null, React__default.createElement(LiveBadge, {
349
- label: collapseExtraInfo ? '' : asset.liveLabel
361
+ label: collapseExtraInfo ? '' : asset.liveLabel,
362
+ ariaLabel: asset.liveLabel
350
363
  })), (asset?.statusIcon || asset?.actions) && React__default.createElement(OverlayInfoTopActions, null, asset.statusIcon && React__default.createElement(StatusIcon, null, asset.statusIcon), asset?.actions && React__default.createElement(VisibleOnHover, {
351
364
  $hidden: extendedSelectMode
352
365
  }, React__default.createElement(AssetActionsBase, {
@@ -1 +1 @@
1
- {"version":3,"file":"AssetGalleryCompactCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js"],"sourcesContent":["import { get, isFunction, mapKeys, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport 'react-lazy-load-image-component/src/effects/opacity.css';\nimport {\n CheckRectangleIcon,\n HeadsetIcon,\n LayersIcon,\n PlayIcon,\n WarningCircleIcon\n} from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge, LiveBadge } from '../../../../data';\n\nimport SummaryCard from '../../../SummaryCard/SummaryCard';\nimport { assetShapeWithLayout } from '../../asset.propType';\nimport * as S from './AssetGalleryCompactCard.styled';\n\nimport {\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n flip,\n shift,\n arrow,\n autoUpdate,\n offset,\n useDismiss,\n useMergeRefs\n} from '@floating-ui/react';\nimport AssetActionsBase from '../../../AssetActionsBase/AssetActionsBase';\n\n// eslint-disable-next-line react/prop-types\nconst ComputedRootComponent = ({ component, asset, ...props }) => {\n // Omit props we don't need\n const newProps = mapKeys(\n omit(props, [\n 'theme',\n 'extendedSelectMode',\n 'softSelected',\n '$softSelected',\n 'customSelectedBorder',\n '$customSelectedBorder',\n 'hasHeightAndWidth',\n '$hasHeightAndWidth',\n 'collapseExtraInfo',\n '$collapseExtraInfo'\n ]),\n (_, key) => (key === 'innerRef' ? 'ref' : key)\n );\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component(asset, newProps.children))) {\n return React.cloneElement(component(asset, newProps.children), omit(newProps, ['children']));\n }\n }\n\n return <S.AssetGalleryCompactCard ref={newProps.ref} {...newProps} />;\n};\n\nconst AssetGalleryCompactCard = props => {\n const {\n asset,\n activeSummaryCard,\n displayIcon,\n selectable,\n hasHeightAndWidth,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition,\n collapseExtraInfo\n } = props;\n\n const ARROW_WIDTH = 30;\n const ARROW_HEIGHT = 15;\n const GAP = 8;\n\n const arrowRef = useRef(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [placement] = useState('bottom');\n\n const [isOverlayHovered, setIsOverlayHovered] = useState(false);\n const [openedSubActions, updateOpenedSubActions] = useState([]);\n\n const { refs, floatingStyles, context } = useFloating({\n placement,\n open: isOpen,\n onOpenChange: setIsOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({\n element: arrowRef\n })\n ]\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n transform: 'translateY(-8px)',\n opacity: 0\n },\n duration: {\n open: 200,\n close: 100\n }\n });\n\n const hover = useHover(context, {\n restMs: 100\n });\n const dismiss = useDismiss(context, {\n referencePress: true,\n ancestorScroll: true,\n windowScroll: true,\n windowBlur: true\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([dismiss, hover]);\n\n useEffect(() => {\n const newOpenedSubActions = (asset?.actions ?? []).map(() => false);\n updateOpenedSubActions(newOpenedSubActions);\n }, [asset]);\n\n useEffect(() => {\n if (!isOverlayHovered && openedSubActions?.length) {\n updateOpenedSubActions(openedSubActions.map(() => false));\n }\n }, [isOverlayHovered]);\n\n const mouseHasEnteredOverlay = useCallback(() => {\n setIsOverlayHovered(true);\n }, []);\n\n const mouseHasLeftOverlay = useCallback(() => {\n setIsOverlayHovered(false);\n }, []);\n\n const isAnySubActionsOpened = useMemo(() => {\n return openedSubActions.some(isOpened => isOpened);\n }, [openedSubActions]);\n\n function onClick(event) {\n if (extendedSelectMode) {\n return onSelectClick(event);\n }\n\n if (isFunction(asset.onClick)) {\n asset.onClick(event, asset);\n }\n }\n\n function onSelectClick(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (selected) {\n return onAssetUnselected(asset.key);\n }\n\n if (selectable) {\n return onAssetSelected(asset.key);\n }\n }\n\n function onContextMenu(event) {\n event.preventDefault();\n asset.onContextMenu(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onContextMenu)) {\n if (cardRef.current) {\n cardRef.current.addEventListener('contextmenu', onContextMenu);\n }\n return () => {\n if (cardRef.current) {\n cardRef.current.removeEventListener('contextmenu', onContextMenu);\n }\n };\n }\n }, []);\n\n function onDragstart(event) {\n asset.onDragstart(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onDragstart)) {\n if (dragRef.current) {\n dragRef.current.addEventListener('dragstart', onDragstart);\n }\n return () => {\n if (dragRef.current) {\n dragRef.current.removeEventListener('dragstart', onDragstart);\n }\n };\n }\n }, []);\n\n const videoPlayerRef = useRef();\n const cardRef = useRef();\n const dragRef = useRef(null);\n\n const overlayCompactRef = useMergeRefs([cardRef, refs.setReference]);\n\n function onMouseEnter(event) {\n if (videoPlayerRef.current) {\n const playPromise = videoPlayerRef.current.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n // Playback started!\n })\n .catch(() => {\n // Play was prevented - silently swallow play errors\n });\n }\n }\n\n if (isFunction(asset.onMouseEnter)) {\n asset.onMouseEnter(event, asset);\n }\n }\n\n function onMouseLeave() {\n if (videoPlayerRef.current) {\n videoPlayerRef.current.pause();\n }\n }\n\n const renderPreview = asset => {\n let previewContent = null;\n if (asset?.fileType?.toLowerCase() === 'video') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <video\n ref={videoPlayerRef}\n loop\n muted\n // style={{ maxHeight: maxHeight }}\n >\n <source src={asset.previewUrl} type=\"video/mp4\" />\n </video>\n </LazyLoadComponent>\n );\n } else if (asset?.fileType?.toLowerCase() === 'audio') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <div className=\"audio\">\n <HeadsetIcon />\n </div>\n </LazyLoadComponent>\n );\n } else {\n previewContent = (\n <LazyLoadImage\n alt={asset?.title}\n src={asset?.previewUrl}\n height=\"100%\"\n width=\"100%\"\n delayMethod=\"debounce\"\n delayTime={0}\n threshold={1500}\n scrollPosition={scrollPosition}\n />\n );\n }\n\n return (\n <S.Figure $hasHeightAndWidth={hasHeightAndWidth}>\n {previewContent}\n <S.FigureOverlayBackdrop selected={selected} />\n </S.Figure>\n );\n };\n\n // If this asset is soft selected we will scroll it into the viewport if it's outside\n useEffect(() => {\n if (softSelected) {\n cardRef.current.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }, [softSelected]);\n\n const renderVersionsBadge = useCallback(() => {\n if (!asset?.versions) return null;\n\n return (\n <Badge\n badgeIcon={<LayersIcon />}\n badgeContent={asset.versions}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n />\n );\n }, [asset]);\n\n const renderVerificationBadge = useCallback(() => {\n if (!asset?.verifications) return null;\n return asset?.verifications;\n }, [asset]);\n\n const renderdynamicBadge = useCallback(() => {\n if (asset?.verifications) return renderVerificationBadge();\n if (asset?.versions) return renderVersionsBadge();\n return null;\n });\n\n const renderBadge = () => {\n switch (displayIcon) {\n case 'versions':\n return renderVersionsBadge();\n case 'verifications':\n return renderVerificationBadge();\n case 'dynamic':\n return renderdynamicBadge();\n default:\n return null;\n }\n };\n\n const renderMediaBadge = useCallback(() => {\n let badgeIcon = null;\n let badgeContent = null;\n\n if (asset?.fileType === 'video') {\n badgeIcon = <PlayIcon />;\n }\n\n if (asset?.duration) {\n badgeContent = convertMsToHMS(asset.duration);\n }\n\n if (!badgeIcon && !badgeContent) return null;\n return (\n <Badge\n badgeIcon={badgeIcon}\n badgeContent={badgeContent}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n minWidth={32}\n height={24}\n />\n );\n }, [asset]);\n\n const renderSummaryCardHeaderLeft = useCallback(() => {\n return (\n <>\n {renderVersionsBadge()}\n {renderMediaBadge()}\n </>\n );\n }, [asset]);\n\n const renderPopoverContent = useCallback(() => {\n return (\n <SummaryCard\n activeSummaryCard={activeSummaryCard}\n title={asset?.title || ''}\n description={asset?.description || ''}\n instructions={asset?.imageRights || ''}\n instructionSeverity={asset?.instructionSeverity}\n instructionLabels={asset?.instructionLabels}\n headerRight={asset?.summary?.headerRight || ''}\n headerLeft={\n <>\n {renderSummaryCardHeaderLeft()}\n {asset?.summary?.headerLeft || ''}\n </>\n }\n footerLeft={asset?.summary?.footerLeft || ''}\n footerRight={asset?.summary?.footerRight || ''}\n width={375}\n view={'compact'}\n />\n );\n }, [asset]);\n\n return (\n <S.AssetGalleryWrapper disabled={asset.disabled}>\n <S.AssetGalleryCompactCard\n as={ComputedRootComponent}\n component={component}\n disabled={asset.disabled}\n asset={asset}\n onClick={onClick}\n extendedSelectMode={extendedSelectMode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n draggable={asset.draggable}\n innerRef={dragRef}\n selected={selected}\n // ref={refs.setReference}\n {...getReferenceProps()}\n >\n <S.Reference ref={refs.setReference}>\n {asset.previewUrl && renderPreview(asset)}\n </S.Reference>\n\n <S.Overlay\n ref={overlayCompactRef}\n onMouseEnter={mouseHasEnteredOverlay}\n onMouseLeave={mouseHasLeftOverlay}\n style={{ height: '100%' }}\n {...getReferenceProps()}\n >\n <S.OverlayBackdrop $softSelected={softSelected} selected={selected} />\n {asset.isLive && (\n <S.LiveBadgeSlot>\n <LiveBadge label={collapseExtraInfo ? '' : asset.liveLabel} />\n </S.LiveBadgeSlot>\n )}\n {(asset?.statusIcon || asset?.actions) && (\n <S.OverlayInfoTopActions>\n {asset.statusIcon && <S.StatusIcon>{asset.statusIcon}</S.StatusIcon>}\n {asset?.actions && (\n <S.VisibleOnHover $hidden={extendedSelectMode}>\n <AssetActionsBase actions={asset.actions} asset={asset} />\n </S.VisibleOnHover>\n )}\n </S.OverlayInfoTopActions>\n )}\n <S.OverlayInfo>\n {isOverlayHovered && !activeSummaryCard && <span>{asset.title}</span>}\n <S.OverlayInfoTop>\n <S.OverlayInfoTopLeft $collapseExtraInfo={collapseExtraInfo}>\n {renderBadge()}\n </S.OverlayInfoTopLeft>\n {asset?.note?.title && !asset.statusIcon && (\n <S.OverlayInfoTopWarning type={asset?.note?.type}>\n <WarningCircleIcon />\n </S.OverlayInfoTopWarning>\n )}\n </S.OverlayInfoTop>\n <S.OverlayInfoBottom>\n {selectable && (\n <S.OverlayInfoBottomSelectButton selected={selected}>\n <CheckRectangleIcon onClick={onSelectClick} />\n </S.OverlayInfoBottomSelectButton>\n )}\n <S.OverlayInfoBottomMediaIcon>\n {!asset.isLive && renderMediaBadge()}\n </S.OverlayInfoBottomMediaIcon>\n </S.OverlayInfoBottom>\n </S.OverlayInfo>\n {asset.completed && <S.OverlayCompleted $softSelected={softSelected} />}\n {asset.hasError && <S.OverlayHasError $softSelected={softSelected} />}\n {selectable && (\n <S.OverlaySelected\n selected={selected}\n $softSelected={softSelected}\n $customSelectedBorder={customSelectedBorder}\n />\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n </S.Overlay>\n\n {asset.overlay && <S.ConsumerDefinedOverlay>{asset.overlay}</S.ConsumerDefinedOverlay>}\n </S.AssetGalleryCompactCard>\n </S.AssetGalleryWrapper>\n );\n};\n\nAssetGalleryCompactCard.propTypes = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: PropTypes.shape(assetShapeWithLayout).isRequired,\n\n /**\n * Tells the asset card that the asset height and width was known\n */\n hasHeightAndWidth: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have selectable asset cards\n */\n selectable: PropTypes.bool,\n\n /**\n * Is the asset selected\n */\n selected: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have custom borders on selected asset\n */\n customSelectedBorder: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Makes the whole asset card into a selectable area\n */\n extendedSelectMode: PropTypes.bool,\n\n /**\n * The callback function when an asset is selected - returns the selected asset key\n */\n onAssetSelected: PropTypes.func.isRequired,\n\n /**\n * The callback function when an asset is unselected - returns the unselected asset key\n */\n onAssetUnselected: PropTypes.func.isRequired,\n\n /**\n * Is the asset soft selected\n */\n softSelected: PropTypes.bool.isRequired,\n\n /**\n * A function that returns a custom component to use for the card in the gallery - The function provides\n * `asset` as its first argument\n */\n component: PropTypes.func,\n\n /**\n * Internal prop used by the gallery to determine if the card is in the viewport - This prop is\n * not intended to be used by consumers\n */\n scrollPosition: PropTypes.number,\n\n /**\n * If the width of the card is too small to render all the badges\n */\n collapseExtraInfo: PropTypes.bool,\n\n /**\n * Display a tooltip on hover with a summary of info about the asset\n */\n activeSummaryCard: PropTypes.bool,\n /**\n * * Display an icon on the card\n */\n displayIcon: PropTypes.oneOf(['dynamic', 'versions', 'verifications', ''])\n};\n\nexport default trackWindowScroll(\n React.memo(AssetGalleryCompactCard, (prevProps, nextProps) => {\n // The asset card will only re-render if any of the following props change.\n const reactiveProps = [\n 'selectable',\n 'selected',\n 'extendedSelectMode',\n 'softSelected',\n 'asset.previewUrl',\n 'asset.overlay',\n 'asset.statusIcon',\n 'hasHeightAndWidth',\n 'collapseExtraInfo',\n 'asset.imageRights',\n 'asset.instructionSeverity',\n 'asset.description',\n 'asset.title'\n ];\n\n return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));\n })\n);\n"],"names":["ComputedRootComponent","component","asset","props","newProps","mapKeys","omit","_","key","isFunction","Error","React","isValidElement","children","cloneElement","createElement","S","_extends","ref","AssetGalleryCompactCard","activeSummaryCard","displayIcon","selectable","hasHeightAndWidth","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","collapseExtraInfo","ARROW_WIDTH","ARROW_HEIGHT","GAP","arrowRef","useRef","isOpen","setIsOpen","useState","placement","isOverlayHovered","setIsOverlayHovered","openedSubActions","updateOpenedSubActions","refs","floatingStyles","context","useFloating","open","onOpenChange","whileElementsMounted","autoUpdate","middleware","offset","flip","padding","shift","arrow","element","isMounted","styles","useTransitionStyles","initial","transform","opacity","duration","close","hover","useHover","restMs","dismiss","useDismiss","referencePress","ancestorScroll","windowScroll","windowBlur","getReferenceProps","getFloatingProps","useInteractions","useEffect","newOpenedSubActions","actions","map","length","mouseHasEnteredOverlay","useCallback","mouseHasLeftOverlay","isAnySubActionsOpened","useMemo","some","isOpened","onClick","event","onSelectClick","preventDefault","stopPropagation","onContextMenu","cardRef","current","addEventListener","removeEventListener","onDragstart","dragRef","videoPlayerRef","overlayCompactRef","useMergeRefs","setReference","onMouseEnter","playPromise","play","undefined","then","catch","onMouseLeave","pause","renderPreview","previewContent","fileType","toLowerCase","LazyLoadComponent","loop","muted","src","previewUrl","type","className","HeadsetIcon","LazyLoadImage","alt","title","height","width","delayMethod","delayTime","threshold","$hasHeightAndWidth","scrollIntoView","behavior","block","renderVersionsBadge","versions","Badge","badgeIcon","LayersIcon","badgeContent","backgroundColors","colors","fontSize","fontWeight","lineHeight","verticalPadding","horizontalPadding","renderVerificationBadge","verifications","renderdynamicBadge","renderBadge","renderMediaBadge","PlayIcon","convertMsToHMS","minWidth","renderSummaryCardHeaderLeft","Fragment","renderPopoverContent","SummaryCard","description","instructions","imageRights","instructionSeverity","instructionLabels","headerRight","summary","headerLeft","footerLeft","footerRight","view","disabled","as","draggable","innerRef","style","$softSelected","isLive","LiveBadge","label","liveLabel","statusIcon","$hidden","AssetActionsBase","$collapseExtraInfo","note","WarningCircleIcon","CheckRectangleIcon","completed","hasError","$customSelectedBorder","setFloating","overlay","propTypes","process","env","NODE_ENV","PropTypes","shape","assetShapeWithLayout","isRequired","bool","arrayOf","string","func","number","oneOf","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAuCA,MAAMA,qBAAqB,GAAGA,CAAC;EAAEC,SAAS;EAAEC,KAAK;EAAE,GAAGC,KAAAA;AAAM,CAAC,KAAK;AAEhE,EAAA,MAAMC,QAAQ,GAAGC,OAAO,CACtBC,IAAI,CAACH,KAAK,EAAE,CACV,OAAO,EACP,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,CACrB,CAAC,EACF,CAACI,CAAC,EAAEC,GAAG,KAAMA,GAAG,KAAK,UAAU,GAAG,KAAK,GAAGA,GAC5C,CAAC,CAAA;AAED,EAAA,IAAIP,SAAS,EAAE;IACb,IAAI,CAACQ,UAAU,CAACR,SAAS,CAAC,EAAE,MAAMS,KAAK,CAAC,uCAAuC,CAAC,CAAA;AAEhF,IAAA,IAAIC,cAAK,CAACC,cAAc,CAACX,SAAS,CAACC,KAAK,EAAEE,QAAQ,CAACS,QAAQ,CAAC,CAAC,EAAE;MAC7D,OAAOF,cAAK,CAACG,YAAY,CAACb,SAAS,CAACC,KAAK,EAAEE,QAAQ,CAACS,QAAQ,CAAC,EAAEP,IAAI,CAACF,QAAQ,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAA;AAC9F,KAAA;AACF,GAAA;EAEA,OAAOO,cAAA,CAAAI,aAAA,CAACC,yBAAyB,EAAAC,QAAA,CAAA;IAACC,GAAG,EAAEd,QAAQ,CAACc,GAAAA;GAASd,EAAAA,QAAQ,CAAG,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,MAAMe,uBAAuB,GAAGhB,KAAK,IAAI;EACvC,MAAM;IACJD,KAAK;IACLkB,iBAAiB;IACjBC,WAAW;IACXC,UAAU;IACVC,iBAAiB;IACjBC,QAAQ;IACRC,oBAAoB;IACpBC,kBAAkB;IAClBC,eAAe;IACfC,iBAAiB;IACjBC,YAAY;IACZ5B,SAAS;IACT6B,cAAc;AACdC,IAAAA,iBAAAA;AACF,GAAC,GAAG5B,KAAK,CAAA;EAET,MAAM6B,WAAW,GAAG,EAAE,CAAA;EACtB,MAAMC,YAAY,GAAG,EAAE,CAAA;EACvB,MAAMC,GAAG,GAAG,CAAC,CAAA;AAEb,EAAA,MAAMC,QAAQ,GAAGC,MAAM,CAAC,IAAI,CAAC,CAAA;EAE7B,MAAM,CAACC,MAAM,EAAEC,SAAS,CAAC,GAAGC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC3C,EAAA,MAAM,CAACC,SAAS,CAAC,GAAGD,QAAQ,CAAC,QAAQ,CAAC,CAAA;EAEtC,MAAM,CAACE,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGH,QAAQ,CAAC,KAAK,CAAC,CAAA;EAC/D,MAAM,CAACI,gBAAgB,EAAEC,sBAAsB,CAAC,GAAGL,QAAQ,CAAC,EAAE,CAAC,CAAA;EAE/D,MAAM;IAAEM,IAAI;IAAEC,cAAc;AAAEC,IAAAA,OAAAA;GAAS,GAAGC,WAAW,CAAC;IACpDR,SAAS;AACTS,IAAAA,IAAI,EAAEZ,MAAM;AACZa,IAAAA,YAAY,EAAEZ,SAAS;AACvBa,IAAAA,oBAAoB,EAAEC,UAAU;IAChCC,UAAU,EAAE,CACVC,MAAM,CAACrB,YAAY,GAAGC,GAAG,CAAC,EAC1BqB,IAAI,CAAC;AAAEC,MAAAA,OAAO,EAAE,CAAA;KAAG,CAAC,EACpBC,KAAK,CAAC;AAAED,MAAAA,OAAO,EAAE,CAAA;KAAG,CAAC,EACrBE,KAAK,CAAC;AACJC,MAAAA,OAAO,EAAExB,QAAAA;AACX,KAAC,CAAC,CAAA;AAEN,GAAC,CAAC,CAAA;EAEF,MAAM;IAAEyB,SAAS;AAAEC,IAAAA,MAAAA;AAAO,GAAC,GAAGC,mBAAmB,CAACf,OAAO,EAAE;AACzDgB,IAAAA,OAAO,EAAE;AACPC,MAAAA,SAAS,EAAE,kBAAkB;AAC7BC,MAAAA,OAAO,EAAE,CAAA;KACV;AACDC,IAAAA,QAAQ,EAAE;AACRjB,MAAAA,IAAI,EAAE,GAAG;AACTkB,MAAAA,KAAK,EAAE,GAAA;AACT,KAAA;AACF,GAAC,CAAC,CAAA;AAEF,EAAA,MAAMC,KAAK,GAAGC,QAAQ,CAACtB,OAAO,EAAE;AAC9BuB,IAAAA,MAAM,EAAE,GAAA;AACV,GAAC,CAAC,CAAA;AACF,EAAA,MAAMC,OAAO,GAAGC,UAAU,CAACzB,OAAO,EAAE;AAClC0B,IAAAA,cAAc,EAAE,IAAI;AACpBC,IAAAA,cAAc,EAAE,IAAI;AACpBC,IAAAA,YAAY,EAAE,IAAI;AAClBC,IAAAA,UAAU,EAAE,IAAA;AACd,GAAC,CAAC,CAAA;EAEF,MAAM;IAAEC,iBAAiB;AAAEC,IAAAA,gBAAAA;GAAkB,GAAGC,eAAe,CAAC,CAACR,OAAO,EAAEH,KAAK,CAAC,CAAC,CAAA;AAEjFY,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,MAAMC,mBAAmB,GAAG,CAAC/E,KAAK,EAAEgF,OAAO,IAAI,EAAE,EAAEC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAA;IACnEvC,sBAAsB,CAACqC,mBAAmB,CAAC,CAAA;AAC7C,GAAC,EAAE,CAAC/E,KAAK,CAAC,CAAC,CAAA;AAEX8E,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAI,CAACvC,gBAAgB,IAAIE,gBAAgB,EAAEyC,MAAM,EAAE;MACjDxC,sBAAsB,CAACD,gBAAgB,CAACwC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;AAC3D,KAAA;AACF,GAAC,EAAE,CAAC1C,gBAAgB,CAAC,CAAC,CAAA;AAEtB,EAAA,MAAM4C,sBAAsB,GAAGC,WAAW,CAAC,MAAM;IAC/C5C,mBAAmB,CAAC,IAAI,CAAC,CAAA;GAC1B,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,MAAM6C,mBAAmB,GAAGD,WAAW,CAAC,MAAM;IAC5C5C,mBAAmB,CAAC,KAAK,CAAC,CAAA;GAC3B,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,MAAM8C,qBAAqB,GAAGC,OAAO,CAAC,MAAM;AAC1C,IAAA,OAAO9C,gBAAgB,CAAC+C,IAAI,CAACC,QAAQ,IAAIA,QAAQ,CAAC,CAAA;AACpD,GAAC,EAAE,CAAChD,gBAAgB,CAAC,CAAC,CAAA;EAEtB,SAASiD,OAAOA,CAACC,KAAK,EAAE;AACtB,IAAA,IAAInE,kBAAkB,EAAE;MACtB,OAAOoE,aAAa,CAACD,KAAK,CAAC,CAAA;AAC7B,KAAA;AAEA,IAAA,IAAIpF,UAAU,CAACP,KAAK,CAAC0F,OAAO,CAAC,EAAE;AAC7B1F,MAAAA,KAAK,CAAC0F,OAAO,CAACC,KAAK,EAAE3F,KAAK,CAAC,CAAA;AAC7B,KAAA;AACF,GAAA;EAEA,SAAS4F,aAAaA,CAACD,KAAK,EAAE;IAC5BA,KAAK,CAACE,cAAc,EAAE,CAAA;IACtBF,KAAK,CAACG,eAAe,EAAE,CAAA;AAEvB,IAAA,IAAIxE,QAAQ,EAAE;AACZ,MAAA,OAAOI,iBAAiB,CAAC1B,KAAK,CAACM,GAAG,CAAC,CAAA;AACrC,KAAA;AAEA,IAAA,IAAIc,UAAU,EAAE;AACd,MAAA,OAAOK,eAAe,CAACzB,KAAK,CAACM,GAAG,CAAC,CAAA;AACnC,KAAA;AACF,GAAA;EAEA,SAASyF,aAAaA,CAACJ,KAAK,EAAE;IAC5BA,KAAK,CAACE,cAAc,EAAE,CAAA;AACtB7F,IAAAA,KAAK,CAAC+F,aAAa,CAACJ,KAAK,CAAC,CAAA;AAC5B,GAAA;AAEAb,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIvE,UAAU,CAACP,KAAK,CAAC+F,aAAa,CAAC,EAAE;MACnC,IAAIC,OAAO,CAACC,OAAO,EAAE;QACnBD,OAAO,CAACC,OAAO,CAACC,gBAAgB,CAAC,aAAa,EAAEH,aAAa,CAAC,CAAA;AAChE,OAAA;AACA,MAAA,OAAO,MAAM;QACX,IAAIC,OAAO,CAACC,OAAO,EAAE;UACnBD,OAAO,CAACC,OAAO,CAACE,mBAAmB,CAAC,aAAa,EAAEJ,aAAa,CAAC,CAAA;AACnE,SAAA;OACD,CAAA;AACH,KAAA;GACD,EAAE,EAAE,CAAC,CAAA;EAEN,SAASK,WAAWA,CAACT,KAAK,EAAE;AAC1B3F,IAAAA,KAAK,CAACoG,WAAW,CAACT,KAAK,CAAC,CAAA;AAC1B,GAAA;AAEAb,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAIvE,UAAU,CAACP,KAAK,CAACoG,WAAW,CAAC,EAAE;MACjC,IAAIC,OAAO,CAACJ,OAAO,EAAE;QACnBI,OAAO,CAACJ,OAAO,CAACC,gBAAgB,CAAC,WAAW,EAAEE,WAAW,CAAC,CAAA;AAC5D,OAAA;AACA,MAAA,OAAO,MAAM;QACX,IAAIC,OAAO,CAACJ,OAAO,EAAE;UACnBI,OAAO,CAACJ,OAAO,CAACE,mBAAmB,CAAC,WAAW,EAAEC,WAAW,CAAC,CAAA;AAC/D,SAAA;OACD,CAAA;AACH,KAAA;GACD,EAAE,EAAE,CAAC,CAAA;AAEN,EAAA,MAAME,cAAc,GAAGpE,MAAM,EAAE,CAAA;AAC/B,EAAA,MAAM8D,OAAO,GAAG9D,MAAM,EAAE,CAAA;AACxB,EAAA,MAAMmE,OAAO,GAAGnE,MAAM,CAAC,IAAI,CAAC,CAAA;EAE5B,MAAMqE,iBAAiB,GAAGC,YAAY,CAAC,CAACR,OAAO,EAAErD,IAAI,CAAC8D,YAAY,CAAC,CAAC,CAAA;EAEpE,SAASC,YAAYA,CAACf,KAAK,EAAE;IAC3B,IAAIW,cAAc,CAACL,OAAO,EAAE;MAC1B,MAAMU,WAAW,GAAGL,cAAc,CAACL,OAAO,CAACW,IAAI,EAAE,CAAA;MACjD,IAAID,WAAW,KAAKE,SAAS,EAAE;AAC7BF,QAAAA,WAAW,CACRG,IAAI,CAAC,MAAM,EAEX,CAAC,CACDC,KAAK,CAAC,MAAM,EAEZ,CAAC,CAAA;AACN,OAAA;AACF,KAAA;AAEA,IAAA,IAAIxG,UAAU,CAACP,KAAK,CAAC0G,YAAY,CAAC,EAAE;AAClC1G,MAAAA,KAAK,CAAC0G,YAAY,CAACf,KAAK,EAAE3F,KAAK,CAAC,CAAA;AAClC,KAAA;AACF,GAAA;EAEA,SAASgH,YAAYA,GAAG;IACtB,IAAIV,cAAc,CAACL,OAAO,EAAE;AAC1BK,MAAAA,cAAc,CAACL,OAAO,CAACgB,KAAK,EAAE,CAAA;AAChC,KAAA;AACF,GAAA;EAEA,MAAMC,aAAa,GAAGlH,KAAK,IAAI;IAC7B,IAAImH,cAAc,GAAG,IAAI,CAAA;IACzB,IAAInH,KAAK,EAAEoH,QAAQ,EAAEC,WAAW,EAAE,KAAK,OAAO,EAAE;AAC9CF,MAAAA,cAAc,GACZ1G,cAAA,CAAAI,aAAA,CAACyG,iBAAiB,EAAA;AAAC1F,QAAAA,cAAc,EAAEA,cAAAA;OACjCnB,EAAAA,cAAA,CAAAI,aAAA,CAAA,OAAA,EAAA;AACEG,QAAAA,GAAG,EAAEsF,cAAe;QACpBiB,IAAI,EAAA,IAAA;QACJC,KAAK,EAAA,IAAA;OAGL/G,EAAAA,cAAA,CAAAI,aAAA,CAAA,QAAA,EAAA;QAAQ4G,GAAG,EAAEzH,KAAK,CAAC0H,UAAW;AAACC,QAAAA,IAAI,EAAC,WAAA;OAAa,CAC5C,CACU,CACpB,CAAA;KACF,MAAM,IAAI3H,KAAK,EAAEoH,QAAQ,EAAEC,WAAW,EAAE,KAAK,OAAO,EAAE;AACrDF,MAAAA,cAAc,GACZ1G,cAAA,CAAAI,aAAA,CAACyG,iBAAiB,EAAA;AAAC1F,QAAAA,cAAc,EAAEA,cAAAA;OACjCnB,EAAAA,cAAA,CAAAI,aAAA,CAAA,KAAA,EAAA;AAAK+G,QAAAA,SAAS,EAAC,OAAA;OACbnH,EAAAA,cAAA,CAAAI,aAAA,CAACgH,UAAW,EAAE,IAAA,CACX,CACY,CACpB,CAAA;AACH,KAAC,MAAM;AACLV,MAAAA,cAAc,GACZ1G,cAAA,CAAAI,aAAA,CAACiH,aAAa,EAAA;QACZC,GAAG,EAAE/H,KAAK,EAAEgI,KAAM;QAClBP,GAAG,EAAEzH,KAAK,EAAE0H,UAAW;AACvBO,QAAAA,MAAM,EAAC,MAAM;AACbC,QAAAA,KAAK,EAAC,MAAM;AACZC,QAAAA,WAAW,EAAC,UAAU;AACtBC,QAAAA,SAAS,EAAE,CAAE;AACbC,QAAAA,SAAS,EAAE,IAAK;AAChBzG,QAAAA,cAAc,EAAEA,cAAAA;AAAe,OAChC,CACF,CAAA;AACH,KAAA;AAEA,IAAA,OACEnB,cAAA,CAAAI,aAAA,CAACC,MAAQ,EAAA;AAACwH,MAAAA,kBAAkB,EAAEjH,iBAAAA;KAC3B8F,EAAAA,cAAc,EACf1G,cAAA,CAAAI,aAAA,CAACC,qBAAuB,EAAA;AAACQ,MAAAA,QAAQ,EAAEA,QAAAA;AAAS,KAAE,CACtC,CAAC,CAAA;GAEd,CAAA;AAGDwD,EAAAA,SAAS,CAAC,MAAM;AACd,IAAA,IAAInD,YAAY,EAAE;AAChBqE,MAAAA,OAAO,CAACC,OAAO,CAACsC,cAAc,CAAC;AAAEC,QAAAA,QAAQ,EAAE,QAAQ;AAAEC,QAAAA,KAAK,EAAE,SAAA;AAAU,OAAC,CAAC,CAAA;AAC1E,KAAA;AACF,GAAC,EAAE,CAAC9G,YAAY,CAAC,CAAC,CAAA;AAElB,EAAA,MAAM+G,mBAAmB,GAAGtD,WAAW,CAAC,MAAM;AAC5C,IAAA,IAAI,CAACpF,KAAK,EAAE2I,QAAQ,EAAE,OAAO,IAAI,CAAA;AAEjC,IAAA,OACElI,cAAA,CAAAI,aAAA,CAAC+H,KAAK,EAAA;AACJC,MAAAA,SAAS,EAAEpI,cAAA,CAAAI,aAAA,CAACiI,SAAU,MAAE,CAAE;MAC1BC,YAAY,EAAE/I,KAAK,CAAC2I,QAAS;AAC7BK,MAAAA,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAE;AACrCC,MAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAE;AAC/BC,MAAAA,QAAQ,EAAE,EAAG;AACbC,MAAAA,UAAU,EAAE,GAAI;AAChBC,MAAAA,UAAU,EAAE,EAAG;AACfC,MAAAA,eAAe,EAAE,CAAE;AACnBC,MAAAA,iBAAiB,EAAE,CAAA;AAAE,KACtB,CAAC,CAAA;AAEN,GAAC,EAAE,CAACtJ,KAAK,CAAC,CAAC,CAAA;AAEX,EAAA,MAAMuJ,uBAAuB,GAAGnE,WAAW,CAAC,MAAM;AAChD,IAAA,IAAI,CAACpF,KAAK,EAAEwJ,aAAa,EAAE,OAAO,IAAI,CAAA;IACtC,OAAOxJ,KAAK,EAAEwJ,aAAa,CAAA;AAC7B,GAAC,EAAE,CAACxJ,KAAK,CAAC,CAAC,CAAA;AAEX,EAAA,MAAMyJ,kBAAkB,GAAGrE,WAAW,CAAC,MAAM;AAC3C,IAAA,IAAIpF,KAAK,EAAEwJ,aAAa,EAAE,OAAOD,uBAAuB,EAAE,CAAA;AAC1D,IAAA,IAAIvJ,KAAK,EAAE2I,QAAQ,EAAE,OAAOD,mBAAmB,EAAE,CAAA;AACjD,IAAA,OAAO,IAAI,CAAA;AACb,GAAC,CAAC,CAAA;EAEF,MAAMgB,WAAW,GAAGA,MAAM;AACxB,IAAA,QAAQvI,WAAW;AACjB,MAAA,KAAK,UAAU;QACb,OAAOuH,mBAAmB,EAAE,CAAA;AAC9B,MAAA,KAAK,eAAe;QAClB,OAAOa,uBAAuB,EAAE,CAAA;AAClC,MAAA,KAAK,SAAS;QACZ,OAAOE,kBAAkB,EAAE,CAAA;AAC7B,MAAA;AACE,QAAA,OAAO,IAAI,CAAA;AACf,KAAA;GACD,CAAA;AAED,EAAA,MAAME,gBAAgB,GAAGvE,WAAW,CAAC,MAAM;IACzC,IAAIyD,SAAS,GAAG,IAAI,CAAA;IACpB,IAAIE,YAAY,GAAG,IAAI,CAAA;AAEvB,IAAA,IAAI/I,KAAK,EAAEoH,QAAQ,KAAK,OAAO,EAAE;AAC/ByB,MAAAA,SAAS,GAAGpI,cAAA,CAAAI,aAAA,CAAC+I,OAAQ,MAAE,CAAC,CAAA;AAC1B,KAAA;IAEA,IAAI5J,KAAK,EAAEgE,QAAQ,EAAE;AACnB+E,MAAAA,YAAY,GAAGc,cAAc,CAAC7J,KAAK,CAACgE,QAAQ,CAAC,CAAA;AAC/C,KAAA;AAEA,IAAA,IAAI,CAAC6E,SAAS,IAAI,CAACE,YAAY,EAAE,OAAO,IAAI,CAAA;AAC5C,IAAA,OACEtI,cAAA,CAAAI,aAAA,CAAC+H,KAAK,EAAA;AACJC,MAAAA,SAAS,EAAEA,SAAU;AACrBE,MAAAA,YAAY,EAAEA,YAAa;AAC3BC,MAAAA,gBAAgB,EAAE,CAAC,OAAO,EAAE,OAAO,CAAE;AACrCC,MAAAA,MAAM,EAAE,CAAC,SAAS,EAAE,SAAS,CAAE;AAC/BC,MAAAA,QAAQ,EAAE,EAAG;AACbC,MAAAA,UAAU,EAAE,GAAI;AAChBC,MAAAA,UAAU,EAAE,EAAG;AACfC,MAAAA,eAAe,EAAE,CAAE;AACnBC,MAAAA,iBAAiB,EAAE,CAAE;AACrBQ,MAAAA,QAAQ,EAAE,EAAG;AACb7B,MAAAA,MAAM,EAAE,EAAA;AAAG,KACZ,CAAC,CAAA;AAEN,GAAC,EAAE,CAACjI,KAAK,CAAC,CAAC,CAAA;AAEX,EAAA,MAAM+J,2BAA2B,GAAG3E,WAAW,CAAC,MAAM;AACpD,IAAA,OACE3E,cAAA,CAAAI,aAAA,CAAAJ,cAAA,CAAAuJ,QAAA,EACGtB,IAAAA,EAAAA,mBAAmB,EAAE,EACrBiB,gBAAgB,EACjB,CAAC,CAAA;AAEP,GAAC,EAAE,CAAC3J,KAAK,CAAC,CAAC,CAAA;AAEX,EAAA,MAAMiK,oBAAoB,GAAG7E,WAAW,CAAC,MAAM;AAC7C,IAAA,OACE3E,cAAA,CAAAI,aAAA,CAACqJ,WAAW,EAAA;AACVhJ,MAAAA,iBAAiB,EAAEA,iBAAkB;AACrC8G,MAAAA,KAAK,EAAEhI,KAAK,EAAEgI,KAAK,IAAI,EAAG;AAC1BmC,MAAAA,WAAW,EAAEnK,KAAK,EAAEmK,WAAW,IAAI,EAAG;AACtCC,MAAAA,YAAY,EAAEpK,KAAK,EAAEqK,WAAW,IAAI,EAAG;MACvCC,mBAAmB,EAAEtK,KAAK,EAAEsK,mBAAoB;MAChDC,iBAAiB,EAAEvK,KAAK,EAAEuK,iBAAkB;AAC5CC,MAAAA,WAAW,EAAExK,KAAK,EAAEyK,OAAO,EAAED,WAAW,IAAI,EAAG;MAC/CE,UAAU,EACRjK,cAAA,CAAAI,aAAA,CAAAJ,cAAA,CAAAuJ,QAAA,EACGD,IAAAA,EAAAA,2BAA2B,EAAE,EAC7B/J,KAAK,EAAEyK,OAAO,EAAEC,UAAU,IAAI,EAC/B,CACH;AACDC,MAAAA,UAAU,EAAE3K,KAAK,EAAEyK,OAAO,EAAEE,UAAU,IAAI,EAAG;AAC7CC,MAAAA,WAAW,EAAE5K,KAAK,EAAEyK,OAAO,EAAEG,WAAW,IAAI,EAAG;AAC/C1C,MAAAA,KAAK,EAAE,GAAI;AACX2C,MAAAA,IAAI,EAAE,SAAA;AAAU,KACjB,CAAC,CAAA;AAEN,GAAC,EAAE,CAAC7K,KAAK,CAAC,CAAC,CAAA;AAEX,EAAA,OACES,cAAA,CAAAI,aAAA,CAACC,mBAAqB,EAAA;IAACgK,QAAQ,EAAE9K,KAAK,CAAC8K,QAAAA;GACrCrK,EAAAA,cAAA,CAAAI,aAAA,CAACC,yBAAyB,EAAAC,QAAA,CAAA;AACxBgK,IAAAA,EAAE,EAAEjL,qBAAsB;AAC1BC,IAAAA,SAAS,EAAEA,SAAU;IACrB+K,QAAQ,EAAE9K,KAAK,CAAC8K,QAAS;AACzB9K,IAAAA,KAAK,EAAEA,KAAM;AACb0F,IAAAA,OAAO,EAAEA,OAAQ;AACjBlE,IAAAA,kBAAkB,EAAEA,kBAAmB;AACvCkF,IAAAA,YAAY,EAAEA,YAAa;AAC3BM,IAAAA,YAAY,EAAEA,YAAa;IAC3BgE,SAAS,EAAEhL,KAAK,CAACgL,SAAU;AAC3BC,IAAAA,QAAQ,EAAE5E,OAAQ;AAClB/E,IAAAA,QAAQ,EAAEA,QAAAA;GAENqD,EAAAA,iBAAiB,EAAE,CAEvBlE,EAAAA,cAAA,CAAAI,aAAA,CAACC,SAAW,EAAA;IAACE,GAAG,EAAE2B,IAAI,CAAC8D,YAAAA;AAAa,GAAA,EACjCzG,KAAK,CAAC0H,UAAU,IAAIR,aAAa,CAAClH,KAAK,CAC7B,CAAC,EAEdS,cAAA,CAAAI,aAAA,CAACC,OAAS,EAAAC,QAAA,CAAA;AACRC,IAAAA,GAAG,EAAEuF,iBAAkB;AACvBG,IAAAA,YAAY,EAAEvB,sBAAuB;AACrC6B,IAAAA,YAAY,EAAE3B,mBAAoB;AAClC6F,IAAAA,KAAK,EAAE;AAAEjD,MAAAA,MAAM,EAAE,MAAA;AAAO,KAAA;GACpBtD,EAAAA,iBAAiB,EAAE,CAEvBlE,EAAAA,cAAA,CAAAI,aAAA,CAACC,eAAiB,EAAA;AAACqK,IAAAA,aAAa,EAAExJ,YAAa;AAACL,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAE,CAAC,EACrEtB,KAAK,CAACoL,MAAM,IACX3K,cAAA,CAAAI,aAAA,CAACC,aAAe,EAAA,IAAA,EACdL,cAAA,CAAAI,aAAA,CAACwK,SAAS,EAAA;AAACC,IAAAA,KAAK,EAAEzJ,iBAAiB,GAAG,EAAE,GAAG7B,KAAK,CAACuL,SAAAA;GAAY,CAC9C,CAClB,EACA,CAACvL,KAAK,EAAEwL,UAAU,IAAIxL,KAAK,EAAEgF,OAAO,KACnCvE,cAAA,CAAAI,aAAA,CAACC,qBAAuB,EACrBd,IAAAA,EAAAA,KAAK,CAACwL,UAAU,IAAI/K,cAAA,CAAAI,aAAA,CAACC,UAAY,EAAA,IAAA,EAAEd,KAAK,CAACwL,UAAyB,CAAC,EACnExL,KAAK,EAAEgF,OAAO,IACbvE,cAAA,CAAAI,aAAA,CAACC,cAAgB,EAAA;AAAC2K,IAAAA,OAAO,EAAEjK,kBAAAA;AAAmB,GAAA,EAC5Cf,cAAA,CAAAI,aAAA,CAAC6K,gBAAgB,EAAA;IAAC1G,OAAO,EAAEhF,KAAK,CAACgF,OAAQ;AAAChF,IAAAA,KAAK,EAAEA,KAAAA;AAAM,GAAE,CACzC,CAEG,CAC1B,EACDS,cAAA,CAAAI,aAAA,CAACC,WAAa,QACXyB,gBAAgB,IAAI,CAACrB,iBAAiB,IAAIT,cAAA,CAAAI,aAAA,CAAOb,MAAAA,EAAAA,IAAAA,EAAAA,KAAK,CAACgI,KAAY,CAAC,EACrEvH,cAAA,CAAAI,aAAA,CAACC,cAAgB,QACfL,cAAA,CAAAI,aAAA,CAACC,kBAAoB,EAAA;AAAC6K,IAAAA,kBAAkB,EAAE9J,iBAAAA;GACvC6H,EAAAA,WAAW,EACQ,CAAC,EACtB1J,KAAK,EAAE4L,IAAI,EAAE5D,KAAK,IAAI,CAAChI,KAAK,CAACwL,UAAU,IACtC/K,cAAA,CAAAI,aAAA,CAACC,qBAAuB,EAAA;AAAC6G,IAAAA,IAAI,EAAE3H,KAAK,EAAE4L,IAAI,EAAEjE,IAAAA;GAC1ClH,EAAAA,cAAA,CAAAI,aAAA,CAACgL,gBAAiB,EAAE,IAAA,CACG,CAEX,CAAC,EACnBpL,cAAA,CAAAI,aAAA,CAACC,iBAAmB,EAAA,IAAA,EACjBM,UAAU,IACTX,cAAA,CAAAI,aAAA,CAACC,6BAA+B,EAAA;AAACQ,IAAAA,QAAQ,EAAEA,QAAAA;AAAS,GAAA,EAClDb,cAAA,CAAAI,aAAA,CAACiL,uBAAkB,EAAA;AAACpG,IAAAA,OAAO,EAAEE,aAAAA;AAAc,GAAE,CACd,CAClC,EACDnF,cAAA,CAAAI,aAAA,CAACC,0BAA4B,EAAA,IAAA,EAC1B,CAACd,KAAK,CAACoL,MAAM,IAAIzB,gBAAgB,EACN,CACX,CACR,CAAC,EACf3J,KAAK,CAAC+L,SAAS,IAAItL,cAAA,CAAAI,aAAA,CAACC,gBAAkB,EAAA;AAACqK,IAAAA,aAAa,EAAExJ,YAAAA;AAAa,GAAE,CAAC,EACtE3B,KAAK,CAACgM,QAAQ,IAAIvL,cAAA,CAAAI,aAAA,CAACC,eAAiB,EAAA;AAACqK,IAAAA,aAAa,EAAExJ,YAAAA;GAAe,CAAC,EACpEP,UAAU,IACTX,cAAA,CAAAI,aAAA,CAACC,eAAiB,EAAA;AAChBQ,IAAAA,QAAQ,EAAEA,QAAS;AACnB6J,IAAAA,aAAa,EAAExJ,YAAa;AAC5BsK,IAAAA,qBAAqB,EAAE1K,oBAAAA;AAAqB,GAC7C,CACF,EACAY,MAAM,IACLI,gBAAgB,IAChBmB,SAAS,IACTxC,iBAAiB,IACjB,CAACoE,qBAAqB,IACpB7E,cAAA,CAAAI,aAAA,QAAAE,QAAA,CAAA;IAAKC,GAAG,EAAE2B,IAAI,CAACuJ,WAAY;AAAChB,IAAAA,KAAK,EAAEtI,cAAAA;AAAe,GAAA,EAAKgC,gBAAgB,EAAE,CACvEnE,EAAAA,cAAA,CAAAI,aAAA,CAAA,KAAA,EAAA;AAAKqK,IAAAA,KAAK,EAAEvH,MAAO;AAACiE,IAAAA,SAAS,EAAC,UAAA;GAC3BqC,EAAAA,oBAAoB,EAAE,EACvBxJ,cAAA,CAAAI,aAAA,CAACC,mBAAqB,EAAA;AACpBE,IAAAA,GAAG,EAAEiB,QAAS;AACdY,IAAAA,OAAO,EAAEA,OAAQ;AACjBqF,IAAAA,KAAK,EAAEpG,WAAY;AACnBmG,IAAAA,MAAM,EAAElG,YAAAA;AAAa,GACtB,CACE,CACF,CACN,EACFI,MAAM,IACLI,gBAAgB,IAChBmB,SAAS,IACTxC,iBAAiB,IACjB,CAACoE,qBAAqB,IACpB7E,cAAA,CAAAI,aAAA,QAAAE,QAAA,CAAA;IAAKC,GAAG,EAAE2B,IAAI,CAACuJ,WAAY;AAAChB,IAAAA,KAAK,EAAEtI,cAAAA;AAAe,GAAA,EAAKgC,gBAAgB,EAAE,CACvEnE,EAAAA,cAAA,CAAAI,aAAA,CAAA,KAAA,EAAA;AAAKqK,IAAAA,KAAK,EAAEvH,MAAO;AAACiE,IAAAA,SAAS,EAAC,UAAA;GAC3BqC,EAAAA,oBAAoB,EAAE,EACvBxJ,cAAA,CAAAI,aAAA,CAACC,mBAAqB,EAAA;AACpBE,IAAAA,GAAG,EAAEiB,QAAS;AACdY,IAAAA,OAAO,EAAEA,OAAQ;AACjBqF,IAAAA,KAAK,EAAEpG,WAAY;AACnBmG,IAAAA,MAAM,EAAElG,YAAAA;GACT,CACE,CACF,CAEA,CAAC,EAEX/B,KAAK,CAACmM,OAAO,IAAI1L,cAAA,CAAAI,aAAA,CAACC,sBAAwB,EAAA,IAAA,EAAEd,KAAK,CAACmM,OAAkC,CAC5D,CACN,CAAC,CAAA;AAE5B,CAAC,CAAA;AAEDlL,uBAAuB,CAACmL,SAAS,GAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA,KAAG,YAAA,GAAA;EAIlCvM,KAAK,EAAEwM,SAAS,CAACC,KAAK,CAACC,oBAAoB,CAAC,CAACC,UAAU;EAKvDtL,iBAAiB,EAAEmL,SAAS,CAACI,IAAI;EAKjCxL,UAAU,EAAEoL,SAAS,CAACI,IAAI;EAK1BtL,QAAQ,EAAEkL,SAAS,CAACI,IAAI;EAKxBrL,oBAAoB,EAAEiL,SAAS,CAACK,OAAO,CAACL,SAAS,CAACM,MAAM,CAAC;EAKzDtL,kBAAkB,EAAEgL,SAAS,CAACI,IAAI;AAKlCnL,EAAAA,eAAe,EAAE+K,SAAS,CAACO,IAAI,CAACJ,UAAU;AAK1CjL,EAAAA,iBAAiB,EAAE8K,SAAS,CAACO,IAAI,CAACJ,UAAU;AAK5ChL,EAAAA,YAAY,EAAE6K,SAAS,CAACI,IAAI,CAACD,UAAU;EAMvC5M,SAAS,EAAEyM,SAAS,CAACO,IAAI;EAMzBnL,cAAc,EAAE4K,SAAS,CAACQ,MAAM;EAKhCnL,iBAAiB,EAAE2K,SAAS,CAACI,IAAI;EAKjC1L,iBAAiB,EAAEsL,SAAS,CAACI,IAAI;AAIjCzL,EAAAA,WAAW,EAAEqL,SAAS,CAACS,KAAK,CAAC,CAAC,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,EAAE,CAAC,CAAA;AAC3E,CAAC,GAAA,EAAA,CAAA;AAED,gCAAeC,iBAAiB,CAC9BzM,cAAK,CAAC0M,IAAI,CAAClM,uBAAuB,EAAE,CAACmM,SAAS,EAAEC,SAAS,KAAK;AAE5D,EAAA,MAAMC,aAAa,GAAG,CACpB,YAAY,EACZ,UAAU,EACV,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,2BAA2B,EAC3B,mBAAmB,EACnB,aAAa,CACd,CAAA;AAED,EAAA,OAAOA,aAAa,CAACC,KAAK,CAACC,OAAO,IAAIC,GAAG,CAACL,SAAS,EAAEI,OAAO,CAAC,KAAKC,GAAG,CAACJ,SAAS,EAAEG,OAAO,CAAC,CAAC,CAAA;AAC5F,CAAC,CACH,CAAC;;;;"}
1
+ {"version":3,"file":"AssetGalleryCompactCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryCompactCard/AssetGalleryCompactCard.js"],"sourcesContent":["import { get, isFunction, mapKeys, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport 'react-lazy-load-image-component/src/effects/opacity.css';\nimport {\n CheckRectangleIcon,\n HeadsetIcon,\n LayersIcon,\n PlayIcon,\n WarningCircleIcon\n} from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge, LiveBadge } from '../../../../data';\n\nimport SummaryCard from '../../../SummaryCard/SummaryCard';\nimport { assetShapeWithLayout } from '../../asset.propType';\nimport * as S from './AssetGalleryCompactCard.styled';\n\nimport {\n useFloating,\n useHover,\n useInteractions,\n useTransitionStyles,\n flip,\n shift,\n arrow,\n autoUpdate,\n offset,\n useDismiss,\n useMergeRefs\n} from '@floating-ui/react';\nimport AssetActionsBase from '../../../AssetActionsBase/AssetActionsBase';\n\n// eslint-disable-next-line react/prop-types\nconst ComputedRootComponent = ({ component, asset, ...props }) => {\n // Omit props we don't need\n const newProps = mapKeys(\n omit(props, [\n 'theme',\n 'extendedSelectMode',\n 'softSelected',\n '$softSelected',\n 'customSelectedBorder',\n '$customSelectedBorder',\n 'hasHeightAndWidth',\n '$hasHeightAndWidth',\n 'collapseExtraInfo',\n '$collapseExtraInfo'\n ]),\n (_, key) => (key === 'innerRef' ? 'ref' : key)\n );\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component(asset, newProps.children))) {\n return React.cloneElement(component(asset, newProps.children), omit(newProps, ['children']));\n }\n }\n\n return <S.AssetGalleryCompactCard ref={newProps.ref} {...newProps} />;\n};\n\nconst AssetGalleryCompactCard = props => {\n const {\n asset,\n activeSummaryCard,\n displayIcon,\n selectable,\n hasHeightAndWidth,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition,\n collapseExtraInfo\n } = props;\n\n const ARROW_WIDTH = 30;\n const ARROW_HEIGHT = 15;\n const GAP = 8;\n\n const arrowRef = useRef(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [placement] = useState('bottom');\n\n const [isOverlayHovered, setIsOverlayHovered] = useState(false);\n const [openedSubActions, updateOpenedSubActions] = useState([]);\n const [failedUrl, setFailedUrl] = useState(null);\n\n const { refs, floatingStyles, context } = useFloating({\n placement,\n open: isOpen,\n onOpenChange: setIsOpen,\n whileElementsMounted: autoUpdate,\n middleware: [\n offset(ARROW_HEIGHT + GAP),\n flip({ padding: 5 }),\n shift({ padding: 5 }),\n arrow({\n element: arrowRef\n })\n ]\n });\n\n const { isMounted, styles } = useTransitionStyles(context, {\n initial: {\n transform: 'translateY(-8px)',\n opacity: 0\n },\n duration: {\n open: 200,\n close: 100\n }\n });\n\n const hover = useHover(context, {\n restMs: 100\n });\n const dismiss = useDismiss(context, {\n referencePress: true,\n ancestorScroll: true,\n windowScroll: true,\n windowBlur: true\n });\n\n const { getReferenceProps, getFloatingProps } = useInteractions([dismiss, hover]);\n\n useEffect(() => {\n const newOpenedSubActions = (asset?.actions ?? []).map(() => false);\n updateOpenedSubActions(newOpenedSubActions);\n }, [asset]);\n\n useEffect(() => {\n if (!isOverlayHovered && openedSubActions?.length) {\n updateOpenedSubActions(openedSubActions.map(() => false));\n }\n }, [isOverlayHovered]);\n\n const mouseHasEnteredOverlay = useCallback(() => {\n setIsOverlayHovered(true);\n }, []);\n\n const mouseHasLeftOverlay = useCallback(() => {\n setIsOverlayHovered(false);\n }, []);\n\n const isAnySubActionsOpened = useMemo(() => {\n return openedSubActions.some(isOpened => isOpened);\n }, [openedSubActions]);\n\n function onClick(event) {\n if (extendedSelectMode) {\n return onSelectClick(event);\n }\n\n if (isFunction(asset.onClick)) {\n asset.onClick(event, asset);\n }\n }\n\n function onSelectClick(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (selected) {\n return onAssetUnselected(asset.key);\n }\n\n if (selectable) {\n return onAssetSelected(asset.key);\n }\n }\n\n function onContextMenu(event) {\n event.preventDefault();\n asset.onContextMenu(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onContextMenu)) {\n if (cardRef.current) {\n cardRef.current.addEventListener('contextmenu', onContextMenu);\n }\n return () => {\n if (cardRef.current) {\n cardRef.current.removeEventListener('contextmenu', onContextMenu);\n }\n };\n }\n }, []);\n\n function onDragstart(event) {\n asset.onDragstart(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onDragstart)) {\n if (dragRef.current) {\n dragRef.current.addEventListener('dragstart', onDragstart);\n }\n return () => {\n if (dragRef.current) {\n dragRef.current.removeEventListener('dragstart', onDragstart);\n }\n };\n }\n }, []);\n\n const videoPlayerRef = useRef();\n const cardRef = useRef();\n const dragRef = useRef(null);\n\n const overlayCompactRef = useMergeRefs([cardRef, refs.setReference]);\n\n function onMouseEnter(event) {\n if (videoPlayerRef.current) {\n const playPromise = videoPlayerRef.current.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n // Playback started!\n })\n .catch(() => {\n // Play was prevented - silently swallow play errors\n });\n }\n }\n\n if (isFunction(asset.onMouseEnter)) {\n asset.onMouseEnter(event, asset);\n }\n }\n\n function onMouseLeave() {\n if (videoPlayerRef.current) {\n videoPlayerRef.current.pause();\n }\n }\n\n const renderPreview = asset => {\n let previewContent = null;\n const isVideo = asset?.fileType?.toLowerCase() === 'video';\n const showFallback =\n asset?.isLive || (isVideo && (!asset.previewUrl || failedUrl === asset.previewUrl));\n\n if (showFallback) {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <div className=\"audio\">\n <PlayIcon />\n </div>\n </LazyLoadComponent>\n );\n } else if (isVideo) {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <video\n ref={videoPlayerRef}\n loop\n muted\n preload=\"metadata\"\n src={asset.previewUrl}\n onError={() => setFailedUrl(asset.previewUrl)}\n />\n </LazyLoadComponent>\n );\n } else if (asset?.fileType?.toLowerCase() === 'audio') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <div className=\"audio\">\n <HeadsetIcon />\n </div>\n </LazyLoadComponent>\n );\n } else {\n previewContent = (\n <LazyLoadImage\n alt={asset?.title}\n src={asset?.previewUrl}\n height=\"100%\"\n width=\"100%\"\n delayMethod=\"debounce\"\n delayTime={0}\n threshold={1500}\n scrollPosition={scrollPosition}\n />\n );\n }\n\n return (\n <S.Figure $hasHeightAndWidth={hasHeightAndWidth}>\n {previewContent}\n <S.FigureOverlayBackdrop selected={selected} />\n </S.Figure>\n );\n };\n\n // If this asset is soft selected we will scroll it into the viewport if it's outside\n useEffect(() => {\n if (softSelected) {\n cardRef.current.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }, [softSelected]);\n\n const renderVersionsBadge = useCallback(() => {\n if (!asset?.versions) return null;\n\n return (\n <Badge\n badgeIcon={<LayersIcon />}\n badgeContent={asset.versions}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n />\n );\n }, [asset]);\n\n const renderVerificationBadge = useCallback(() => {\n if (!asset?.verifications) return null;\n return asset?.verifications;\n }, [asset]);\n\n const renderdynamicBadge = useCallback(() => {\n if (asset?.isLive) return null;\n if (asset?.verifications) return renderVerificationBadge();\n if (asset?.versions) return renderVersionsBadge();\n return null;\n });\n\n const renderBadge = () => {\n switch (displayIcon) {\n case 'versions':\n return renderVersionsBadge();\n case 'verifications':\n return renderVerificationBadge();\n case 'dynamic':\n return renderdynamicBadge();\n default:\n return null;\n }\n };\n\n const renderMediaBadge = useCallback(() => {\n let badgeIcon = null;\n let badgeContent = null;\n\n if (asset?.fileType === 'video') {\n badgeIcon = <PlayIcon />;\n }\n\n if (asset?.duration) {\n badgeContent = convertMsToHMS(asset.duration);\n }\n\n if (!badgeIcon && !badgeContent) return null;\n return (\n <Badge\n badgeIcon={badgeIcon}\n badgeContent={badgeContent}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n minWidth={32}\n height={24}\n />\n );\n }, [asset]);\n\n const renderSummaryCardHeaderLeft = useCallback(() => {\n return (\n <>\n {renderVersionsBadge()}\n {asset.isLive ? <LiveBadge label={asset.liveLabel} /> : renderMediaBadge()}\n </>\n );\n }, [asset]);\n\n const renderPopoverContent = useCallback(() => {\n return (\n <SummaryCard\n activeSummaryCard={activeSummaryCard}\n title={asset?.title || ''}\n description={asset?.description || ''}\n instructions={asset?.imageRights || ''}\n instructionSeverity={asset?.instructionSeverity}\n instructionLabels={asset?.instructionLabels}\n headerRight={asset?.summary?.headerRight || ''}\n headerLeft={\n <>\n {renderSummaryCardHeaderLeft()}\n {asset?.summary?.headerLeft || ''}\n </>\n }\n footerLeft={asset?.summary?.footerLeft || ''}\n footerRight={asset?.summary?.footerRight || ''}\n width={375}\n view={'compact'}\n />\n );\n }, [asset]);\n\n return (\n <S.AssetGalleryWrapper disabled={asset.disabled}>\n <S.AssetGalleryCompactCard\n as={ComputedRootComponent}\n component={component}\n disabled={asset.disabled}\n asset={asset}\n onClick={onClick}\n extendedSelectMode={extendedSelectMode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n draggable={asset.draggable}\n innerRef={dragRef}\n selected={selected}\n // ref={refs.setReference}\n {...getReferenceProps()}\n >\n <S.Reference ref={refs.setReference}>\n {asset.previewUrl && renderPreview(asset)}\n </S.Reference>\n\n <S.Overlay\n ref={overlayCompactRef}\n onMouseEnter={mouseHasEnteredOverlay}\n onMouseLeave={mouseHasLeftOverlay}\n style={{ height: '100%' }}\n {...getReferenceProps()}\n >\n <S.OverlayBackdrop $softSelected={softSelected} selected={selected} />\n {asset.isLive && (\n <S.LiveBadgeSlot>\n <LiveBadge\n label={collapseExtraInfo ? '' : asset.liveLabel}\n ariaLabel={asset.liveLabel}\n />\n </S.LiveBadgeSlot>\n )}\n {(asset?.statusIcon || asset?.actions) && (\n <S.OverlayInfoTopActions>\n {asset.statusIcon && <S.StatusIcon>{asset.statusIcon}</S.StatusIcon>}\n {asset?.actions && (\n <S.VisibleOnHover $hidden={extendedSelectMode}>\n <AssetActionsBase actions={asset.actions} asset={asset} />\n </S.VisibleOnHover>\n )}\n </S.OverlayInfoTopActions>\n )}\n <S.OverlayInfo>\n {isOverlayHovered && !activeSummaryCard && <span>{asset.title}</span>}\n <S.OverlayInfoTop>\n <S.OverlayInfoTopLeft $collapseExtraInfo={collapseExtraInfo}>\n {renderBadge()}\n </S.OverlayInfoTopLeft>\n {asset?.note?.title && !asset.statusIcon && (\n <S.OverlayInfoTopWarning type={asset?.note?.type}>\n <WarningCircleIcon />\n </S.OverlayInfoTopWarning>\n )}\n </S.OverlayInfoTop>\n <S.OverlayInfoBottom>\n {selectable && (\n <S.OverlayInfoBottomSelectButton selected={selected}>\n <CheckRectangleIcon onClick={onSelectClick} />\n </S.OverlayInfoBottomSelectButton>\n )}\n <S.OverlayInfoBottomMediaIcon>\n {!asset.isLive && renderMediaBadge()}\n </S.OverlayInfoBottomMediaIcon>\n </S.OverlayInfoBottom>\n </S.OverlayInfo>\n {asset.completed && <S.OverlayCompleted $softSelected={softSelected} />}\n {asset.hasError && <S.OverlayHasError $softSelected={softSelected} />}\n {selectable && (\n <S.OverlaySelected\n selected={selected}\n $softSelected={softSelected}\n $customSelectedBorder={customSelectedBorder}\n />\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n {isOpen &&\n isOverlayHovered &&\n isMounted &&\n activeSummaryCard &&\n !isAnySubActionsOpened && (\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <div style={styles} className=\"floating\">\n {renderPopoverContent()}\n <S.StyledFloatingArrow\n ref={arrowRef}\n context={context}\n width={ARROW_WIDTH}\n height={ARROW_HEIGHT}\n />\n </div>\n </div>\n )}\n </S.Overlay>\n\n {asset.overlay && <S.ConsumerDefinedOverlay>{asset.overlay}</S.ConsumerDefinedOverlay>}\n </S.AssetGalleryCompactCard>\n </S.AssetGalleryWrapper>\n );\n};\n\nAssetGalleryCompactCard.propTypes = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: PropTypes.shape(assetShapeWithLayout).isRequired,\n\n /**\n * Tells the asset card that the asset height and width was known\n */\n hasHeightAndWidth: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have selectable asset cards\n */\n selectable: PropTypes.bool,\n\n /**\n * Is the asset selected\n */\n selected: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have custom borders on selected asset\n */\n customSelectedBorder: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Makes the whole asset card into a selectable area\n */\n extendedSelectMode: PropTypes.bool,\n\n /**\n * The callback function when an asset is selected - returns the selected asset key\n */\n onAssetSelected: PropTypes.func.isRequired,\n\n /**\n * The callback function when an asset is unselected - returns the unselected asset key\n */\n onAssetUnselected: PropTypes.func.isRequired,\n\n /**\n * Is the asset soft selected\n */\n softSelected: PropTypes.bool.isRequired,\n\n /**\n * A function that returns a custom component to use for the card in the gallery - The function provides\n * `asset` as its first argument\n */\n component: PropTypes.func,\n\n /**\n * Internal prop used by the gallery to determine if the card is in the viewport - This prop is\n * not intended to be used by consumers\n */\n scrollPosition: PropTypes.number,\n\n /**\n * If the width of the card is too small to render all the badges\n */\n collapseExtraInfo: PropTypes.bool,\n\n /**\n * Display a tooltip on hover with a summary of info about the asset\n */\n activeSummaryCard: PropTypes.bool,\n /**\n * * Display an icon on the card\n */\n displayIcon: PropTypes.oneOf(['dynamic', 'versions', 'verifications', ''])\n};\n\nexport default trackWindowScroll(\n React.memo(AssetGalleryCompactCard, (prevProps, nextProps) => {\n // The asset card will only re-render if any of the following props change.\n const reactiveProps = [\n 'selectable',\n 'selected',\n 'extendedSelectMode',\n 'softSelected',\n 'asset.previewUrl',\n 'asset.overlay',\n 'asset.statusIcon',\n 'hasHeightAndWidth',\n 'collapseExtraInfo',\n 'asset.imageRights',\n 'asset.instructionSeverity',\n 'asset.description',\n 'asset.title'\n ];\n\n return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));\n })\n);\n"],"names":["ComputedRootComponent","component","asset","props","newProps","mapKeys","omit","_","key","isFunction","Error","React","isValidElement","children","cloneElement","createElement","S","_extends","ref","AssetGalleryCompactCard","activeSummaryCard","displayIcon","selectable","hasHeightAndWidth","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","collapseExtraInfo","ARROW_WIDTH","ARROW_HEIGHT","GAP","arrowRef","useRef","isOpen","setIsOpen","useState","placement","isOverlayHovered","setIsOverlayHovered","openedSubActions","updateOpenedSubActions","failedUrl","setFailedUrl","refs","floatingStyles","context","useFloating","open","onOpenChange","whileElementsMounted","autoUpdate","middleware","offset","flip","padding","shift","arrow","element","isMounted","styles","useTransitionStyles","initial","transform","opacity","duration","close","hover","useHover","restMs","dismiss","useDismiss","referencePress","ancestorScroll","windowScroll","windowBlur","getReferenceProps","getFloatingProps","useInteractions","useEffect","newOpenedSubActions","actions","map","length","mouseHasEnteredOverlay","useCallback","mouseHasLeftOverlay","isAnySubActionsOpened","useMemo","some","isOpened","onClick","event","onSelectClick","preventDefault","stopPropagation","onContextMenu","cardRef","current","addEventListener","removeEventListener","onDragstart","dragRef","videoPlayerRef","overlayCompactRef","useMergeRefs","setReference","onMouseEnter","playPromise","play","undefined","then","catch","onMouseLeave","pause","renderPreview","previewContent","isVideo","fileType","toLowerCase","showFallback","isLive","previewUrl","LazyLoadComponent","className","PlayIcon","loop","muted","preload","src","onError","HeadsetIcon","LazyLoadImage","alt","title","height","width","delayMethod","delayTime","threshold","$hasHeightAndWidth","scrollIntoView","behavior","block","renderVersionsBadge","versions","Badge","badgeIcon","LayersIcon","badgeContent","backgroundColors","colors","fontSize","fontWeight","lineHeight","verticalPadding","horizontalPadding","renderVerificationBadge","verifications","renderdynamicBadge","renderBadge","renderMediaBadge","convertMsToHMS","minWidth","renderSummaryCardHeaderLeft","Fragment","LiveBadge","label","liveLabel","renderPopoverContent","SummaryCard","description","instructions","imageRights","instructionSeverity","instructionLabels","headerRight","summary","headerLeft","footerLeft","footerRight","view","disabled","as","draggable","innerRef","style","$softSelected","ariaLabel","statusIcon","$hidden","AssetActionsBase","$collapseExtraInfo","note","type","WarningCircleIcon","CheckRectangleIcon","completed","hasError","$customSelectedBorder","setFloating","overlay","propTypes","process","env","NODE_ENV","PropTypes","shape","assetShapeWithLayout","isRequired","bool","arrayOf","string","func","number","oneOf","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":"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"}
@@ -134,6 +134,7 @@ const AssetGalleryGridCard = props => {
134
134
  } = props;
135
135
  const [isCardHovered, setIsCardHovered] = React__default.useState(false);
136
136
  const [openedSubActions, updateOpenedSubActions] = React__default.useState([]);
137
+ const [failedUrl, setFailedUrl] = React__default.useState(null);
137
138
  useEffect(() => {
138
139
  const newOpenedSubActions = (asset?.actions ?? []).map(() => false);
139
140
  updateOpenedSubActions(newOpenedSubActions);
@@ -212,17 +213,25 @@ const AssetGalleryGridCard = props => {
212
213
  }
213
214
  function renderPreview(asset) {
214
215
  let previewContent = null;
215
- if (asset.fileType?.toLowerCase() === 'video') {
216
+ const isVideo = asset.fileType?.toLowerCase() === 'video';
217
+ const showFallback = asset?.isLive || isVideo && (!asset.previewUrl || failedUrl === asset.previewUrl);
218
+ if (showFallback) {
219
+ previewContent = React__default.createElement(LazyLoadComponent, {
220
+ scrollPosition: scrollPosition
221
+ }, React__default.createElement("div", {
222
+ className: "audio"
223
+ }, React__default.createElement(SvgPlay, null)));
224
+ } else if (isVideo) {
216
225
  previewContent = React__default.createElement(LazyLoadComponent, {
217
226
  scrollPosition: scrollPosition
218
227
  }, React__default.createElement("video", {
219
228
  ref: videoPlayerRef,
220
229
  loop: true,
221
- muted: true
222
- }, React__default.createElement("source", {
230
+ muted: true,
231
+ preload: "metadata",
223
232
  src: asset.previewUrl,
224
- type: "video/mp4"
225
- })));
233
+ onError: () => setFailedUrl(asset.previewUrl)
234
+ }));
226
235
  } else if (asset.fileType?.toLowerCase() === 'audio') {
227
236
  previewContent = React__default.createElement(LazyLoadComponent, {
228
237
  scrollPosition: scrollPosition
@@ -1 +1 @@
1
- {"version":3,"file":"AssetGalleryGridCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js"],"sourcesContent":["import { get, isEmpty, isFunction, mapKeys, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport { HeadsetIcon, LayersIcon, PlayIcon } from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge, LiveBadge, Popover, Tooltip } from '../../../../data';\nimport { ActionButton, Checkbox } from '../../../../inputs';\nimport ContextMenu from '../../../ContextMenu/ContextMenu';\nimport ContextMenuItem from '../../../ContextMenu/ContextMenuItem/ContextMenuItem';\nimport { assetShapeWithLayout } from '../../asset.propType';\nimport * as S from './AssetGalleryGridCard.styled';\nimport InstructionSeverityDisplay from '../../../InstructionSeverityDisplay';\n\n/**\n >>> Section 1: renderThumbnail():\n┌─────────────────────────────────────────┐ ← S.AssetGalleryGridCard (Root)\n│[renderversionsBadge] [severityIcon]│ ← S.HorizontalBar (Top)\n├─────────────────────────────────────────┤\n│ │ │ │\n│ (spacer) │ [renderPreview]│ [action]│ ← S.ThumbnailRow (Inc. ComputedActionButton)\n│ │ │ [action]│ ← S.ActionsContainer\n│ │ │ │\n├─────────────────────────────────────────┤\n│ [renderMediaBadge] │ ← S.HorizontalBar (Bottom)\n├─────────────────────────────────────────┤\n│ | >>> Section 2: renderDetails():\n│ [asset.title] │ ← S.CardTitle\n│ [asset.description] │ ← S.CardDescription\n├─────────────────────────────────────────┤\n│ [InstructionSeverityDisplay] │ ← S.InstructionsWrapper\n| |\n| | >>> Section 3:renderConsentSummaryInfo():\n├─────────────────────────────────────────┤ ← S.CardDivider\n│ [footerLeft] [footerRight] │ ← S.CardFooter\n├─────────────────────────────────────────┤ ← S.CardDivider\n| |\n│ | >>> Section 4:renderCheckboxRow():\n│ [CheckRectangleIcon / Outline] │ ← S.CheckboxRow\n└─────────────────────────────────────────┘\n Approx Height: 536px (Updated severity card takes more space than XD Design)\n Note: Every block renders ALWAYS to maintain same height+alignment in gallery\n */\n\n// eslint-disable-next-line react/prop-types\nconst ComputedRootComponent = ({ component, asset, ...props }) => {\n // Omit props we don't need\n const newProps = mapKeys(\n omit(props, [\n 'theme',\n 'extendedSelectMode',\n 'softSelected',\n '$softSelected',\n 'customSelectedBorder',\n '$customSelectedBorder',\n 'isCardHovered',\n '$isCardHovered',\n 'completed',\n '$hasError'\n ]),\n (_, key) => (key === 'innerRef' ? 'ref' : key)\n );\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component(asset, newProps.children))) {\n return React.cloneElement(component(asset, newProps.children), omit(newProps, ['children']));\n }\n }\n\n const { ref, ...rest } = newProps;\n return <div ref={ref} {...rest} />;\n};\n\n/* eslint-disable react/prop-types */\nconst ComputedActionButton = React.forwardRef(function ComputedActionButton(\n // eslint-disable-next-line react/prop-types\n { component, className, subActions = [], isSubActionsOpened, ...props },\n forwardedRef\n) {\n const newProps = props;\n if (!isEmpty(subActions)) {\n const contextMenuItems = subActions.map((subAction, key) => {\n const { onClick, title, icon } = subAction;\n return <ContextMenuItem key={key} onClickEffect={onClick} title={title} icon={icon} />;\n });\n const contextMenu = <ContextMenu>{contextMenuItems}</ContextMenu>;\n newProps.children = (\n <Popover\n contextMenu={true}\n content={contextMenu}\n placement={'bottom-end'}\n visible={isSubActionsOpened}\n zIndex={10001}\n offset={[0, -8]}\n >\n <ActionButton\n useShadow={false}\n active={true}\n ref={forwardedRef}\n className={className}\n icon={newProps.icon}\n backgroundColors={['black', 'white']}\n onClick={newProps.onClick}\n actionWidthHeight={[40, 40]}\n />\n </Popover>\n );\n } else {\n newProps.children = (\n <ActionButton\n useShadow={false}\n active={true}\n ref={forwardedRef}\n className={className}\n icon={newProps.icon}\n onClick={newProps.onClick}\n backgroundColors={['black', 'white']}\n actionWidthHeight={[40, 40]}\n />\n );\n }\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component())) {\n return React.cloneElement(component(), { ...omit(newProps, 'icon') });\n }\n }\n\n return <React.Fragment>{newProps.children}</React.Fragment>;\n});\n/* eslint-disable react/prop-types */\n\nconst AssetGalleryGridCard = props => {\n const {\n asset,\n selectable,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition,\n hideConsentSummary\n } = props;\n\n const [isCardHovered, setIsCardHovered] = React.useState(false);\n const [openedSubActions, updateOpenedSubActions] = React.useState([]);\n useEffect(() => {\n const newOpenedSubActions = (asset?.actions ?? []).map(() => false);\n updateOpenedSubActions(newOpenedSubActions);\n }, [asset]);\n\n useEffect(() => {\n if (!isCardHovered && openedSubActions?.length) {\n updateOpenedSubActions(openedSubActions.map(() => false));\n }\n }, [isCardHovered]);\n\n const mouseHasEnteredCard = useCallback(() => {\n setIsCardHovered(true);\n }, []);\n\n const mouseHasLeftCard = useCallback(() => {\n setIsCardHovered(false);\n }, []);\n\n const onSubActionsViewToggle = useCallback(\n actionIndex => {\n const newOpenedSubActions = openedSubActions.map((isOpened, index) => {\n if (index !== actionIndex) {\n return false;\n }\n return !isOpened;\n });\n updateOpenedSubActions(newOpenedSubActions);\n },\n [openedSubActions]\n );\n\n const videoPlayerRef = useRef();\n const cardRef = useRef();\n const dragRef = useRef(null);\n\n function onMouseEnter(event) {\n if (videoPlayerRef.current) {\n const playPromise = videoPlayerRef.current.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n // Playback started!\n })\n .catch(() => {\n // Play was prevented - silently swallow play errors\n });\n }\n }\n\n if (isFunction(asset.onMouseEnter)) {\n asset.onMouseEnter(event, asset);\n }\n\n mouseHasEnteredCard();\n }\n\n function onMouseLeave() {\n if (videoPlayerRef.current) {\n videoPlayerRef.current.pause();\n }\n\n mouseHasLeftCard();\n }\n\n function onClick(event) {\n if (extendedSelectMode) {\n return onSelectClick(event);\n }\n\n if (isFunction(asset.onClick)) {\n asset.onClick(event, asset);\n }\n }\n\n function onSelectClick(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (selected) {\n return onAssetUnselected(asset.key);\n }\n\n return onAssetSelected(asset.key);\n }\n\n const onActionClick = useCallback(\n (event, action, index) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (isFunction(action?.onClick)) {\n action.onClick(asset);\n }\n\n if (!isEmpty(action?.subActions)) {\n onSubActionsViewToggle(index);\n }\n },\n [onSubActionsViewToggle]\n );\n\n const shouldOpenSubActions = useCallback(\n actionIndex => openedSubActions[actionIndex],\n [openedSubActions]\n );\n\n function onContextMenu(event) {\n event.preventDefault();\n asset.onContextMenu(event);\n }\n\n function renderPreview(asset) {\n let previewContent = null;\n\n if (asset.fileType?.toLowerCase() === 'video') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <video ref={videoPlayerRef} loop muted>\n <source src={asset.previewUrl} type=\"video/mp4\" />\n </video>\n </LazyLoadComponent>\n );\n } else if (asset.fileType?.toLowerCase() === 'audio') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <div className=\"audio\">\n <HeadsetIcon />\n </div>\n </LazyLoadComponent>\n );\n } else {\n previewContent = (\n <LazyLoadImage\n alt={asset.title}\n src={asset.previewUrl}\n height=\"100%\"\n width=\"100%\"\n delayMethod=\"debounce\"\n delayTime={0}\n threshold={1500}\n scrollPosition={scrollPosition}\n />\n );\n }\n\n return previewContent;\n }\n\n useEffect(() => {\n if (isFunction(asset.onContextMenu)) {\n if (cardRef.current) {\n cardRef.current.addEventListener('contextmenu', onContextMenu);\n }\n return () => {\n if (cardRef.current) {\n cardRef.current.removeEventListener('contextmenu', onContextMenu);\n }\n };\n }\n }, []);\n\n function onDragstart(event) {\n asset.onDragstart(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onDragstart)) {\n if (dragRef.current) {\n dragRef.current.addEventListener('dragstart', onDragstart);\n }\n return () => {\n if (dragRef.current) {\n dragRef.current.removeEventListener('dragstart', onDragstart);\n }\n };\n }\n }, []);\n\n // If this asset is soft selected we will scroll it into the viewport if it's outside\n useEffect(() => {\n if (softSelected) {\n cardRef.current.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }, [softSelected]);\n\n const renderVersionsBadge = useCallback(() => {\n if (!asset?.versions) return null;\n\n return (\n <Badge\n badgeIcon={<LayersIcon />}\n badgeContent={asset.versions}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n />\n );\n }, [asset]);\n\n const renderMediaBadge = useCallback(() => {\n let badgeIcon = null;\n let badgeContent = null;\n\n if (asset?.fileType === 'video') {\n badgeIcon = <PlayIcon />;\n }\n\n if (asset?.duration) {\n badgeContent = convertMsToHMS(asset.duration);\n }\n\n if (!badgeIcon && !badgeContent) return null;\n return (\n <Badge\n badgeIcon={badgeIcon}\n badgeContent={badgeContent}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n minWidth={32}\n height={24}\n />\n );\n }, [asset]);\n\n const renderThumbnail = () => {\n return (\n <S.ThumbnailSection>\n <S.ThumbnailSelectedOverlay selected={selected} />\n {asset.overlay && <S.ConsumerOverlay>{asset.overlay}</S.ConsumerOverlay>}\n {/* Thumbnail Top bar */}\n <S.HorizontalBar>\n <S.HorizontalBarLeft>\n {asset.isLive && <LiveBadge label={asset.liveLabel} />}\n {renderVersionsBadge()}\n </S.HorizontalBarLeft>\n <S.HorizontalBarRight>\n {asset.statusIcon && <S.StatusIconCircle>{asset.statusIcon}</S.StatusIconCircle>}\n </S.HorizontalBarRight>\n </S.HorizontalBar>\n <S.ThumbnailRow>\n <S.ThumbnailSpacer />\n {/* Thumbnail */}\n <S.ThumbnailWrapper>\n <S.ThumbnailBox>{renderPreview(asset)}</S.ThumbnailBox>\n </S.ThumbnailWrapper>\n <S.ThumbnailActions>\n <S.ActionsContainer>\n {!extendedSelectMode &&\n (asset.actions ?? []).map((action, index) => (\n <Tooltip key={`${asset.key}-${action.title}`} content={action.title}>\n <S.Action>\n <ComputedActionButton\n component={action.component}\n className={action.className}\n icon={action.icon}\n isSubActionsOpened={shouldOpenSubActions(index)}\n onClick={event => onActionClick(event, action, index)}\n subActions={action?.subActions}\n actionWidthHeight={action.actionWidthHeight}\n />\n </S.Action>\n </Tooltip>\n ))}\n </S.ActionsContainer>\n </S.ThumbnailActions>\n </S.ThumbnailRow>\n {/* Thumbnail Bottom bar */}\n <S.HorizontalBar>\n <S.HorizontalBarLeft></S.HorizontalBarLeft>\n <S.HorizontalBarRight>{!asset.isLive && renderMediaBadge()}</S.HorizontalBarRight>\n </S.HorizontalBar>\n </S.ThumbnailSection>\n );\n };\n\n const renderDetails = () => {\n return (\n <S.CardBody>\n <S.CardTitle title={asset.title || ''}>{asset.title || ''}</S.CardTitle>\n <S.CardDescription title={asset.description || ''}>\n {asset.description || ''}\n </S.CardDescription>\n <S.InstructionsWrapper $hasContent={Boolean(asset.imageRights?.toString().trim())}>\n {asset.imageRights && (\n <InstructionSeverityDisplay\n labels={asset.instructionLabels}\n instructionText={asset.imageRights}\n severity={asset.instructionSeverity}\n showCard={false}\n padding=\"16px\"\n detailsFontSize=\"12px\"\n bgLight=\"transparent\"\n bgDark=\"transparent\"\n maxLines={2}\n />\n )}\n </S.InstructionsWrapper>\n </S.CardBody>\n );\n };\n\n const renderConsentSummaryInfo = () => {\n if (hideConsentSummary) {\n return <S.CardDivider />;\n }\n return (\n <>\n <S.CardFooter>\n <S.CardFooterLeft>{asset.summary?.footerLeft || null}</S.CardFooterLeft>\n <S.CardFooterRight>{asset.summary?.footerRight || null}</S.CardFooterRight>\n </S.CardFooter>\n <S.CardDivider />\n </>\n );\n };\n\n const renderCheckboxRow = () => {\n return (\n <S.CheckboxRow>\n {selectable && (\n <div onClick={onSelectClick}>\n <Checkbox\n variant=\"black\"\n checked={selected}\n onChange={event => {\n if (event.target.checked) {\n onAssetSelected(asset.key);\n } else {\n onAssetUnselected(asset.key);\n }\n }}\n />\n </div>\n )}\n </S.CheckboxRow>\n );\n };\n\n return (\n <S.AssetGalleryWrapper disabled={asset.disabled} ref={cardRef}>\n <S.AssetGalleryGridCard\n as={ComputedRootComponent}\n component={component}\n asset={asset}\n disabled={asset.disabled}\n onClick={onClick}\n extendedSelectMode={extendedSelectMode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n draggable={asset.draggable}\n innerRef={dragRef}\n selected={selected}\n $softSelected={softSelected}\n completed={asset?.completed}\n $hasError={asset?.hasError}\n $customSelectedBorder={customSelectedBorder}\n >\n {renderThumbnail()}\n {renderDetails()}\n {renderConsentSummaryInfo()}\n {renderCheckboxRow()}\n </S.AssetGalleryGridCard>\n </S.AssetGalleryWrapper>\n );\n};\n\nAssetGalleryGridCard.propTypes = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: PropTypes.shape(assetShapeWithLayout).isRequired,\n\n /**\n * Whether or not the asset gallery should have selectable asset cards\n */\n selectable: PropTypes.bool,\n\n /**\n * Is the asset selected\n */\n selected: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have custom borders on selected asset\n */\n customSelectedBorder: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Makes the whole asset card into a selectable area\n */\n extendedSelectMode: PropTypes.bool,\n\n /**\n * The callback function when an asset is selected - returns the selected asset key\n */\n onAssetSelected: PropTypes.func.isRequired,\n\n /**\n * The callback function when an asset is unselected - returns the unselected asset key\n */\n onAssetUnselected: PropTypes.func.isRequired,\n\n /**\n * Is the asset soft selected\n */\n softSelected: PropTypes.bool.isRequired,\n\n /**\n * A function that returns a custom component to use for the card in the gallery - The function provides\n * `asset` as its first argument\n */\n component: PropTypes.func,\n\n /**\n * Internal prop used by the gallery to determine if the card is in the viewport - This prop is\n * not intended to be used by consumers\n */\n scrollPosition: PropTypes.number,\n\n /**\n * When true, hides the consent summary footer (CardFooter + CardDivider). Default: false.\n */\n hideConsentSummary: PropTypes.bool\n};\n\nAssetGalleryGridCard.defaultProps = {};\n\nexport default trackWindowScroll(\n React.memo(AssetGalleryGridCard, (prevProps, nextProps) => {\n // The asset card will only re-render if any of the following props change.\n const reactiveProps = [\n 'selectable',\n 'selected',\n 'extendedSelectMode',\n 'softSelected',\n 'asset.previewUrl',\n 'asset.overlay',\n 'asset.statusIcon',\n 'asset.layout',\n 'asset.imageRights',\n 'asset.instructionSeverity',\n 'asset.description',\n 'asset.title'\n ];\n\n return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));\n })\n);\n"],"names":["ComputedRootComponent","component","asset","props","newProps","mapKeys","omit","_","key","isFunction","Error","React","isValidElement","children","cloneElement","ref","rest","createElement","_extends","ComputedActionButton","forwardRef","className","subActions","isSubActionsOpened","forwardedRef","isEmpty","contextMenuItems","map","subAction","onClick","title","icon","ContextMenuItem","onClickEffect","contextMenu","ContextMenu","Popover","content","placement","visible","zIndex","offset","ActionButton","useShadow","active","backgroundColors","actionWidthHeight","Fragment","AssetGalleryGridCard","selectable","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","hideConsentSummary","isCardHovered","setIsCardHovered","useState","openedSubActions","updateOpenedSubActions","useEffect","newOpenedSubActions","actions","length","mouseHasEnteredCard","useCallback","mouseHasLeftCard","onSubActionsViewToggle","actionIndex","isOpened","index","videoPlayerRef","useRef","cardRef","dragRef","onMouseEnter","event","current","playPromise","play","undefined","then","catch","onMouseLeave","pause","onSelectClick","preventDefault","stopPropagation","onActionClick","action","shouldOpenSubActions","onContextMenu","renderPreview","previewContent","fileType","toLowerCase","LazyLoadComponent","loop","muted","src","previewUrl","type","HeadsetIcon","LazyLoadImage","alt","height","width","delayMethod","delayTime","threshold","addEventListener","removeEventListener","onDragstart","scrollIntoView","behavior","block","renderVersionsBadge","versions","Badge","badgeIcon","LayersIcon","badgeContent","colors","fontSize","fontWeight","lineHeight","verticalPadding","horizontalPadding","renderMediaBadge","PlayIcon","duration","convertMsToHMS","minWidth","renderThumbnail","S","overlay","isLive","LiveBadge","label","liveLabel","statusIcon","Tooltip","renderDetails","description","$hasContent","Boolean","imageRights","toString","trim","InstructionSeverityDisplay","labels","instructionLabels","instructionText","severity","instructionSeverity","showCard","padding","detailsFontSize","bgLight","bgDark","maxLines","renderConsentSummaryInfo","summary","footerLeft","footerRight","renderCheckboxRow","Checkbox","variant","checked","onChange","target","disabled","as","draggable","innerRef","$softSelected","completed","$hasError","hasError","$customSelectedBorder","propTypes","process","env","NODE_ENV","PropTypes","shape","assetShapeWithLayout","isRequired","bool","arrayOf","string","func","number","defaultProps","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":"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"}
1
+ {"version":3,"file":"AssetGalleryGridCard.js","sources":["../../../../../src/components/widgets/AssetGallery/AssetGalleryBase/AssetGalleryGridCard/AssetGalleryGridCard.js"],"sourcesContent":["import { get, isEmpty, isFunction, mapKeys, omit } from 'lodash';\nimport PropTypes from 'prop-types';\nimport React, { useCallback, useEffect, useRef } from 'react';\nimport {\n LazyLoadComponent,\n LazyLoadImage,\n trackWindowScroll\n} from 'react-lazy-load-image-component';\nimport { HeadsetIcon, LayersIcon, PlayIcon } from '../../../../../icons';\nimport { convertMsToHMS } from '../../../../../utils/dateTime';\nimport { Badge, LiveBadge, Popover, Tooltip } from '../../../../data';\nimport { ActionButton, Checkbox } from '../../../../inputs';\nimport ContextMenu from '../../../ContextMenu/ContextMenu';\nimport ContextMenuItem from '../../../ContextMenu/ContextMenuItem/ContextMenuItem';\nimport { assetShapeWithLayout } from '../../asset.propType';\nimport * as S from './AssetGalleryGridCard.styled';\nimport InstructionSeverityDisplay from '../../../InstructionSeverityDisplay';\n\n/**\n >>> Section 1: renderThumbnail():\n┌─────────────────────────────────────────┐ ← S.AssetGalleryGridCard (Root)\n│[renderversionsBadge] [severityIcon]│ ← S.HorizontalBar (Top)\n├─────────────────────────────────────────┤\n│ │ │ │\n│ (spacer) │ [renderPreview]│ [action]│ ← S.ThumbnailRow (Inc. ComputedActionButton)\n│ │ │ [action]│ ← S.ActionsContainer\n│ │ │ │\n├─────────────────────────────────────────┤\n│ [renderMediaBadge] │ ← S.HorizontalBar (Bottom)\n├─────────────────────────────────────────┤\n│ | >>> Section 2: renderDetails():\n│ [asset.title] │ ← S.CardTitle\n│ [asset.description] │ ← S.CardDescription\n├─────────────────────────────────────────┤\n│ [InstructionSeverityDisplay] │ ← S.InstructionsWrapper\n| |\n| | >>> Section 3:renderConsentSummaryInfo():\n├─────────────────────────────────────────┤ ← S.CardDivider\n│ [footerLeft] [footerRight] │ ← S.CardFooter\n├─────────────────────────────────────────┤ ← S.CardDivider\n| |\n│ | >>> Section 4:renderCheckboxRow():\n│ [CheckRectangleIcon / Outline] │ ← S.CheckboxRow\n└─────────────────────────────────────────┘\n Approx Height: 536px (Updated severity card takes more space than XD Design)\n Note: Every block renders ALWAYS to maintain same height+alignment in gallery\n */\n\n// eslint-disable-next-line react/prop-types\nconst ComputedRootComponent = ({ component, asset, ...props }) => {\n // Omit props we don't need\n const newProps = mapKeys(\n omit(props, [\n 'theme',\n 'extendedSelectMode',\n 'softSelected',\n '$softSelected',\n 'customSelectedBorder',\n '$customSelectedBorder',\n 'isCardHovered',\n '$isCardHovered',\n 'completed',\n '$hasError'\n ]),\n (_, key) => (key === 'innerRef' ? 'ref' : key)\n );\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component(asset, newProps.children))) {\n return React.cloneElement(component(asset, newProps.children), omit(newProps, ['children']));\n }\n }\n\n const { ref, ...rest } = newProps;\n return <div ref={ref} {...rest} />;\n};\n\n/* eslint-disable react/prop-types */\nconst ComputedActionButton = React.forwardRef(function ComputedActionButton(\n // eslint-disable-next-line react/prop-types\n { component, className, subActions = [], isSubActionsOpened, ...props },\n forwardedRef\n) {\n const newProps = props;\n if (!isEmpty(subActions)) {\n const contextMenuItems = subActions.map((subAction, key) => {\n const { onClick, title, icon } = subAction;\n return <ContextMenuItem key={key} onClickEffect={onClick} title={title} icon={icon} />;\n });\n const contextMenu = <ContextMenu>{contextMenuItems}</ContextMenu>;\n newProps.children = (\n <Popover\n contextMenu={true}\n content={contextMenu}\n placement={'bottom-end'}\n visible={isSubActionsOpened}\n zIndex={10001}\n offset={[0, -8]}\n >\n <ActionButton\n useShadow={false}\n active={true}\n ref={forwardedRef}\n className={className}\n icon={newProps.icon}\n backgroundColors={['black', 'white']}\n onClick={newProps.onClick}\n actionWidthHeight={[40, 40]}\n />\n </Popover>\n );\n } else {\n newProps.children = (\n <ActionButton\n useShadow={false}\n active={true}\n ref={forwardedRef}\n className={className}\n icon={newProps.icon}\n onClick={newProps.onClick}\n backgroundColors={['black', 'white']}\n actionWidthHeight={[40, 40]}\n />\n );\n }\n\n if (component) {\n if (!isFunction(component)) throw Error('Expected a function in component-prop');\n\n if (React.isValidElement(component())) {\n return React.cloneElement(component(), { ...omit(newProps, 'icon') });\n }\n }\n\n return <React.Fragment>{newProps.children}</React.Fragment>;\n});\n/* eslint-disable react/prop-types */\n\nconst AssetGalleryGridCard = props => {\n const {\n asset,\n selectable,\n selected,\n customSelectedBorder,\n extendedSelectMode,\n onAssetSelected,\n onAssetUnselected,\n softSelected,\n component,\n scrollPosition,\n hideConsentSummary\n } = props;\n\n const [isCardHovered, setIsCardHovered] = React.useState(false);\n const [openedSubActions, updateOpenedSubActions] = React.useState([]);\n const [failedUrl, setFailedUrl] = React.useState(null);\n useEffect(() => {\n const newOpenedSubActions = (asset?.actions ?? []).map(() => false);\n updateOpenedSubActions(newOpenedSubActions);\n }, [asset]);\n\n useEffect(() => {\n if (!isCardHovered && openedSubActions?.length) {\n updateOpenedSubActions(openedSubActions.map(() => false));\n }\n }, [isCardHovered]);\n\n const mouseHasEnteredCard = useCallback(() => {\n setIsCardHovered(true);\n }, []);\n\n const mouseHasLeftCard = useCallback(() => {\n setIsCardHovered(false);\n }, []);\n\n const onSubActionsViewToggle = useCallback(\n actionIndex => {\n const newOpenedSubActions = openedSubActions.map((isOpened, index) => {\n if (index !== actionIndex) {\n return false;\n }\n return !isOpened;\n });\n updateOpenedSubActions(newOpenedSubActions);\n },\n [openedSubActions]\n );\n\n const videoPlayerRef = useRef();\n const cardRef = useRef();\n const dragRef = useRef(null);\n\n function onMouseEnter(event) {\n if (videoPlayerRef.current) {\n const playPromise = videoPlayerRef.current.play();\n if (playPromise !== undefined) {\n playPromise\n .then(() => {\n // Playback started!\n })\n .catch(() => {\n // Play was prevented - silently swallow play errors\n });\n }\n }\n\n if (isFunction(asset.onMouseEnter)) {\n asset.onMouseEnter(event, asset);\n }\n\n mouseHasEnteredCard();\n }\n\n function onMouseLeave() {\n if (videoPlayerRef.current) {\n videoPlayerRef.current.pause();\n }\n\n mouseHasLeftCard();\n }\n\n function onClick(event) {\n if (extendedSelectMode) {\n return onSelectClick(event);\n }\n\n if (isFunction(asset.onClick)) {\n asset.onClick(event, asset);\n }\n }\n\n function onSelectClick(event) {\n event.preventDefault();\n event.stopPropagation();\n\n if (selected) {\n return onAssetUnselected(asset.key);\n }\n\n return onAssetSelected(asset.key);\n }\n\n const onActionClick = useCallback(\n (event, action, index) => {\n event.preventDefault();\n event.stopPropagation();\n\n if (isFunction(action?.onClick)) {\n action.onClick(asset);\n }\n\n if (!isEmpty(action?.subActions)) {\n onSubActionsViewToggle(index);\n }\n },\n [onSubActionsViewToggle]\n );\n\n const shouldOpenSubActions = useCallback(\n actionIndex => openedSubActions[actionIndex],\n [openedSubActions]\n );\n\n function onContextMenu(event) {\n event.preventDefault();\n asset.onContextMenu(event);\n }\n\n function renderPreview(asset) {\n let previewContent = null;\n\n const isVideo = asset.fileType?.toLowerCase() === 'video';\n const showFallback =\n asset?.isLive || (isVideo && (!asset.previewUrl || failedUrl === asset.previewUrl));\n\n if (showFallback) {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <div className=\"audio\">\n <PlayIcon />\n </div>\n </LazyLoadComponent>\n );\n } else if (isVideo) {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <video\n ref={videoPlayerRef}\n loop\n muted\n preload=\"metadata\"\n src={asset.previewUrl}\n onError={() => setFailedUrl(asset.previewUrl)}\n />\n </LazyLoadComponent>\n );\n } else if (asset.fileType?.toLowerCase() === 'audio') {\n previewContent = (\n <LazyLoadComponent scrollPosition={scrollPosition}>\n <div className=\"audio\">\n <HeadsetIcon />\n </div>\n </LazyLoadComponent>\n );\n } else {\n previewContent = (\n <LazyLoadImage\n alt={asset.title}\n src={asset.previewUrl}\n height=\"100%\"\n width=\"100%\"\n delayMethod=\"debounce\"\n delayTime={0}\n threshold={1500}\n scrollPosition={scrollPosition}\n />\n );\n }\n\n return previewContent;\n }\n\n useEffect(() => {\n if (isFunction(asset.onContextMenu)) {\n if (cardRef.current) {\n cardRef.current.addEventListener('contextmenu', onContextMenu);\n }\n return () => {\n if (cardRef.current) {\n cardRef.current.removeEventListener('contextmenu', onContextMenu);\n }\n };\n }\n }, []);\n\n function onDragstart(event) {\n asset.onDragstart(event);\n }\n\n useEffect(() => {\n if (isFunction(asset.onDragstart)) {\n if (dragRef.current) {\n dragRef.current.addEventListener('dragstart', onDragstart);\n }\n return () => {\n if (dragRef.current) {\n dragRef.current.removeEventListener('dragstart', onDragstart);\n }\n };\n }\n }, []);\n\n // If this asset is soft selected we will scroll it into the viewport if it's outside\n useEffect(() => {\n if (softSelected) {\n cardRef.current.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n }\n }, [softSelected]);\n\n const renderVersionsBadge = useCallback(() => {\n if (!asset?.versions) return null;\n\n return (\n <Badge\n badgeIcon={<LayersIcon />}\n badgeContent={asset.versions}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n />\n );\n }, [asset]);\n\n const renderMediaBadge = useCallback(() => {\n let badgeIcon = null;\n let badgeContent = null;\n\n if (asset?.fileType === 'video') {\n badgeIcon = <PlayIcon />;\n }\n\n if (asset?.duration) {\n badgeContent = convertMsToHMS(asset.duration);\n }\n\n if (!badgeIcon && !badgeContent) return null;\n return (\n <Badge\n badgeIcon={badgeIcon}\n badgeContent={badgeContent}\n backgroundColors={['black', 'black']}\n colors={['#f7f8f9', '#f7f8f9']}\n fontSize={12}\n fontWeight={500}\n lineHeight={16}\n verticalPadding={4}\n horizontalPadding={8}\n minWidth={32}\n height={24}\n />\n );\n }, [asset]);\n\n const renderThumbnail = () => {\n return (\n <S.ThumbnailSection>\n <S.ThumbnailSelectedOverlay selected={selected} />\n {asset.overlay && <S.ConsumerOverlay>{asset.overlay}</S.ConsumerOverlay>}\n {/* Thumbnail Top bar */}\n <S.HorizontalBar>\n <S.HorizontalBarLeft>\n {asset.isLive && <LiveBadge label={asset.liveLabel} />}\n {renderVersionsBadge()}\n </S.HorizontalBarLeft>\n <S.HorizontalBarRight>\n {asset.statusIcon && <S.StatusIconCircle>{asset.statusIcon}</S.StatusIconCircle>}\n </S.HorizontalBarRight>\n </S.HorizontalBar>\n <S.ThumbnailRow>\n <S.ThumbnailSpacer />\n {/* Thumbnail */}\n <S.ThumbnailWrapper>\n <S.ThumbnailBox>{renderPreview(asset)}</S.ThumbnailBox>\n </S.ThumbnailWrapper>\n <S.ThumbnailActions>\n <S.ActionsContainer>\n {!extendedSelectMode &&\n (asset.actions ?? []).map((action, index) => (\n <Tooltip key={`${asset.key}-${action.title}`} content={action.title}>\n <S.Action>\n <ComputedActionButton\n component={action.component}\n className={action.className}\n icon={action.icon}\n isSubActionsOpened={shouldOpenSubActions(index)}\n onClick={event => onActionClick(event, action, index)}\n subActions={action?.subActions}\n actionWidthHeight={action.actionWidthHeight}\n />\n </S.Action>\n </Tooltip>\n ))}\n </S.ActionsContainer>\n </S.ThumbnailActions>\n </S.ThumbnailRow>\n {/* Thumbnail Bottom bar */}\n <S.HorizontalBar>\n <S.HorizontalBarLeft></S.HorizontalBarLeft>\n <S.HorizontalBarRight>{!asset.isLive && renderMediaBadge()}</S.HorizontalBarRight>\n </S.HorizontalBar>\n </S.ThumbnailSection>\n );\n };\n\n const renderDetails = () => {\n return (\n <S.CardBody>\n <S.CardTitle title={asset.title || ''}>{asset.title || ''}</S.CardTitle>\n <S.CardDescription title={asset.description || ''}>\n {asset.description || ''}\n </S.CardDescription>\n <S.InstructionsWrapper $hasContent={Boolean(asset.imageRights?.toString().trim())}>\n {asset.imageRights && (\n <InstructionSeverityDisplay\n labels={asset.instructionLabels}\n instructionText={asset.imageRights}\n severity={asset.instructionSeverity}\n showCard={false}\n padding=\"16px\"\n detailsFontSize=\"12px\"\n bgLight=\"transparent\"\n bgDark=\"transparent\"\n maxLines={2}\n />\n )}\n </S.InstructionsWrapper>\n </S.CardBody>\n );\n };\n\n const renderConsentSummaryInfo = () => {\n if (hideConsentSummary) {\n return <S.CardDivider />;\n }\n return (\n <>\n <S.CardFooter>\n <S.CardFooterLeft>{asset.summary?.footerLeft || null}</S.CardFooterLeft>\n <S.CardFooterRight>{asset.summary?.footerRight || null}</S.CardFooterRight>\n </S.CardFooter>\n <S.CardDivider />\n </>\n );\n };\n\n const renderCheckboxRow = () => {\n return (\n <S.CheckboxRow>\n {selectable && (\n <div onClick={onSelectClick}>\n <Checkbox\n variant=\"black\"\n checked={selected}\n onChange={event => {\n if (event.target.checked) {\n onAssetSelected(asset.key);\n } else {\n onAssetUnselected(asset.key);\n }\n }}\n />\n </div>\n )}\n </S.CheckboxRow>\n );\n };\n\n return (\n <S.AssetGalleryWrapper disabled={asset.disabled} ref={cardRef}>\n <S.AssetGalleryGridCard\n as={ComputedRootComponent}\n component={component}\n asset={asset}\n disabled={asset.disabled}\n onClick={onClick}\n extendedSelectMode={extendedSelectMode}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n draggable={asset.draggable}\n innerRef={dragRef}\n selected={selected}\n $softSelected={softSelected}\n completed={asset?.completed}\n $hasError={asset?.hasError}\n $customSelectedBorder={customSelectedBorder}\n >\n {renderThumbnail()}\n {renderDetails()}\n {renderConsentSummaryInfo()}\n {renderCheckboxRow()}\n </S.AssetGalleryGridCard>\n </S.AssetGalleryWrapper>\n );\n};\n\nAssetGalleryGridCard.propTypes = {\n /**\n * An array of assets to display in the gallery.\n */\n asset: PropTypes.shape(assetShapeWithLayout).isRequired,\n\n /**\n * Whether or not the asset gallery should have selectable asset cards\n */\n selectable: PropTypes.bool,\n\n /**\n * Is the asset selected\n */\n selected: PropTypes.bool,\n\n /**\n * Whether or not the asset gallery should have custom borders on selected asset\n */\n customSelectedBorder: PropTypes.arrayOf(PropTypes.string),\n\n /**\n * Makes the whole asset card into a selectable area\n */\n extendedSelectMode: PropTypes.bool,\n\n /**\n * The callback function when an asset is selected - returns the selected asset key\n */\n onAssetSelected: PropTypes.func.isRequired,\n\n /**\n * The callback function when an asset is unselected - returns the unselected asset key\n */\n onAssetUnselected: PropTypes.func.isRequired,\n\n /**\n * Is the asset soft selected\n */\n softSelected: PropTypes.bool.isRequired,\n\n /**\n * A function that returns a custom component to use for the card in the gallery - The function provides\n * `asset` as its first argument\n */\n component: PropTypes.func,\n\n /**\n * Internal prop used by the gallery to determine if the card is in the viewport - This prop is\n * not intended to be used by consumers\n */\n scrollPosition: PropTypes.number,\n\n /**\n * When true, hides the consent summary footer (CardFooter + CardDivider). Default: false.\n */\n hideConsentSummary: PropTypes.bool\n};\n\nAssetGalleryGridCard.defaultProps = {};\n\nexport default trackWindowScroll(\n React.memo(AssetGalleryGridCard, (prevProps, nextProps) => {\n // The asset card will only re-render if any of the following props change.\n const reactiveProps = [\n 'selectable',\n 'selected',\n 'extendedSelectMode',\n 'softSelected',\n 'asset.previewUrl',\n 'asset.overlay',\n 'asset.statusIcon',\n 'asset.layout',\n 'asset.imageRights',\n 'asset.instructionSeverity',\n 'asset.description',\n 'asset.title'\n ];\n\n return reactiveProps.every(propKey => get(prevProps, propKey) === get(nextProps, propKey));\n })\n);\n"],"names":["ComputedRootComponent","component","asset","props","newProps","mapKeys","omit","_","key","isFunction","Error","React","isValidElement","children","cloneElement","ref","rest","createElement","_extends","ComputedActionButton","forwardRef","className","subActions","isSubActionsOpened","forwardedRef","isEmpty","contextMenuItems","map","subAction","onClick","title","icon","ContextMenuItem","onClickEffect","contextMenu","ContextMenu","Popover","content","placement","visible","zIndex","offset","ActionButton","useShadow","active","backgroundColors","actionWidthHeight","Fragment","AssetGalleryGridCard","selectable","selected","customSelectedBorder","extendedSelectMode","onAssetSelected","onAssetUnselected","softSelected","scrollPosition","hideConsentSummary","isCardHovered","setIsCardHovered","useState","openedSubActions","updateOpenedSubActions","failedUrl","setFailedUrl","useEffect","newOpenedSubActions","actions","length","mouseHasEnteredCard","useCallback","mouseHasLeftCard","onSubActionsViewToggle","actionIndex","isOpened","index","videoPlayerRef","useRef","cardRef","dragRef","onMouseEnter","event","current","playPromise","play","undefined","then","catch","onMouseLeave","pause","onSelectClick","preventDefault","stopPropagation","onActionClick","action","shouldOpenSubActions","onContextMenu","renderPreview","previewContent","isVideo","fileType","toLowerCase","showFallback","isLive","previewUrl","LazyLoadComponent","PlayIcon","loop","muted","preload","src","onError","HeadsetIcon","LazyLoadImage","alt","height","width","delayMethod","delayTime","threshold","addEventListener","removeEventListener","onDragstart","scrollIntoView","behavior","block","renderVersionsBadge","versions","Badge","badgeIcon","LayersIcon","badgeContent","colors","fontSize","fontWeight","lineHeight","verticalPadding","horizontalPadding","renderMediaBadge","duration","convertMsToHMS","minWidth","renderThumbnail","S","overlay","LiveBadge","label","liveLabel","statusIcon","Tooltip","renderDetails","description","$hasContent","Boolean","imageRights","toString","trim","InstructionSeverityDisplay","labels","instructionLabels","instructionText","severity","instructionSeverity","showCard","padding","detailsFontSize","bgLight","bgDark","maxLines","renderConsentSummaryInfo","summary","footerLeft","footerRight","renderCheckboxRow","Checkbox","variant","checked","onChange","target","disabled","as","draggable","innerRef","$softSelected","completed","$hasError","hasError","$customSelectedBorder","propTypes","process","env","NODE_ENV","PropTypes","shape","assetShapeWithLayout","isRequired","bool","arrayOf","string","func","number","defaultProps","trackWindowScroll","memo","prevProps","nextProps","reactiveProps","every","propKey","get"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ntbjs/react-components",
3
- "version": "2.0.15-rc.1",
3
+ "version": "2.0.15-rc.3",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },