@appquality/unguess-design-system 3.1.87-beta-attachments → 3.1.87
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +253 -0
- package/build/index.d.ts +1 -0
- package/build/index.js +1000 -585
- package/build/stories/chat/_types.d.ts +7 -1
- package/build/stories/chat/context/chatContext.d.ts +11 -12
- package/build/stories/chat/index.stories.d.ts +2 -2
- package/build/stories/chat/parts/ThumbnailContainer/DeleteThumbnailX.d.ts +1 -2
- package/build/stories/chat/parts/ThumbnailContainer/ImageThumbnail.d.ts +11 -0
- package/build/stories/chat/parts/ThumbnailContainer/VideoThumbnail.d.ts +11 -0
- package/build/stories/chat/parts/ThumbnailContainer/index.d.ts +2 -1
- package/build/stories/highlight/_types.d.ts +38 -0
- package/build/stories/highlight/highlightContext.d.ts +10 -0
- package/build/stories/highlight/index.d.ts +10 -0
- package/build/stories/highlight/index.stories.d.ts +18 -0
- package/build/stories/highlight/searchable.d.ts +4 -0
- package/build/stories/player/_types.d.ts +18 -0
- package/build/stories/player/index.stories.d.ts +1 -2
- package/build/stories/player/parts/bookmark.d.ts +2 -0
- package/build/stories/player/parts/controls.d.ts +7 -2
- package/build/stories/player/parts/controlsCenterGroup.d.ts +2 -1
- package/build/stories/player/parts/cutterButton.d.ts +6 -0
- package/build/stories/player/parts/progress.d.ts +11 -0
- package/build/stories/player/parts/progressContext.d.ts +16 -0
- package/build/stories/player/parts/timeLabel.d.ts +2 -2
- package/package.json +4 -2
- package/build/stories/chat/parts/ThumbnailContainer/Thumbnail.d.ts +0 -13
- package/yarn-error.log +0 -17994
package/build/index.js
CHANGED
|
@@ -25,6 +25,7 @@ var sunburst = require('@nivo/sunburst');
|
|
|
25
25
|
var waffle = require('@nivo/waffle');
|
|
26
26
|
var line = require('@nivo/line');
|
|
27
27
|
var reactForms = require('@zendeskgarden/react-forms');
|
|
28
|
+
var uuid = require('uuid');
|
|
28
29
|
var react = require('@tiptap/react');
|
|
29
30
|
var reactTooltips = require('@zendeskgarden/react-tooltips');
|
|
30
31
|
var Typography = require('@tiptap/extension-typography');
|
|
@@ -37,13 +38,13 @@ var Mention = require('@tiptap/extension-mention');
|
|
|
37
38
|
var tippy = require('tippy.js');
|
|
38
39
|
var Image$2 = require('@tiptap/extension-image');
|
|
39
40
|
var Dropcursor = require('@tiptap/extension-dropcursor');
|
|
41
|
+
var reactGrid = require('@zendeskgarden/react-grid');
|
|
40
42
|
var reactModals = require('@zendeskgarden/react-modals');
|
|
41
43
|
var SlickSlider = require('react-slick');
|
|
42
44
|
var Video = require('@appquality/stream-player');
|
|
43
45
|
var containerUtilities = require('@zendeskgarden/container-utilities');
|
|
44
46
|
var reactColorpickers = require('@zendeskgarden/react-colorpickers');
|
|
45
47
|
var reactDropdowns = require('@zendeskgarden/react-dropdowns');
|
|
46
|
-
var reactGrid = require('@zendeskgarden/react-grid');
|
|
47
48
|
var formik = require('formik');
|
|
48
49
|
var reactChrome = require('@zendeskgarden/react-chrome');
|
|
49
50
|
var reactPagination = require('@zendeskgarden/react-pagination');
|
|
@@ -333,8 +334,8 @@ const UgContainerCard = styled__default["default"](reactNotifications.Well) `
|
|
|
333
334
|
`;
|
|
334
335
|
const ContainerCard = (props) => jsxRuntime.jsx(UgContainerCard, Object.assign({}, props));
|
|
335
336
|
|
|
336
|
-
var _a, _b, _c, _d, _e, _f, _g$
|
|
337
|
-
const components = Object.assign(Object.assign(Object.assign(Object.assign({}, reactTheming.DEFAULT_THEME.components), { chrome: Object.assign(Object.assign({}, (_a = reactTheming.DEFAULT_THEME.components) === null || _a === void 0 ? void 0 : _a.chrome), { header: Object.assign(Object.assign({}, (_c = (_b = reactTheming.DEFAULT_THEME.components) === null || _b === void 0 ? void 0 : _b.chrome) === null || _c === void 0 ? void 0 : _c.header), { height: "64px" }), nav: Object.assign(Object.assign({}, (_e = (_d = reactTheming.DEFAULT_THEME.components) === null || _d === void 0 ? void 0 : _d.chrome) === null || _e === void 0 ? void 0 : _e.nav), { openWidth: 240, closedWidth: 36, workspaceDropdownWidth: 192 }) }), notification: Object.assign(Object.assign({}, (_f = reactTheming.DEFAULT_THEME.components) === null || _f === void 0 ? void 0 : _f.notification), { card: Object.assign(Object.assign({}, (_h = (_g$
|
|
337
|
+
var _a, _b, _c, _d, _e, _f, _g$d, _h;
|
|
338
|
+
const components = Object.assign(Object.assign(Object.assign(Object.assign({}, reactTheming.DEFAULT_THEME.components), { chrome: Object.assign(Object.assign({}, (_a = reactTheming.DEFAULT_THEME.components) === null || _a === void 0 ? void 0 : _a.chrome), { header: Object.assign(Object.assign({}, (_c = (_b = reactTheming.DEFAULT_THEME.components) === null || _b === void 0 ? void 0 : _b.chrome) === null || _c === void 0 ? void 0 : _c.header), { height: "64px" }), nav: Object.assign(Object.assign({}, (_e = (_d = reactTheming.DEFAULT_THEME.components) === null || _d === void 0 ? void 0 : _d.chrome) === null || _e === void 0 ? void 0 : _e.nav), { openWidth: 240, closedWidth: 36, workspaceDropdownWidth: 192 }) }), notification: Object.assign(Object.assign({}, (_f = reactTheming.DEFAULT_THEME.components) === null || _f === void 0 ? void 0 : _f.notification), { card: Object.assign(Object.assign({}, (_h = (_g$d = reactTheming.DEFAULT_THEME.components) === null || _g$d === void 0 ? void 0 : _g$d.notification) === null || _h === void 0 ? void 0 : _h.well), { padding: "16px" }) }) }), cardCmponentStyle), { "text.primary": () => ({
|
|
338
339
|
color: getColor(colors.primaryHue, 600),
|
|
339
340
|
}), "text.success": () => ({
|
|
340
341
|
color: getColor(colors.successHue, 700),
|
|
@@ -841,48 +842,48 @@ Tag.Avatar = StyledAvatar;
|
|
|
841
842
|
Tag.Close = StyledClose;
|
|
842
843
|
Tag.SecondaryText = StyledSpan;
|
|
843
844
|
|
|
844
|
-
var _path$
|
|
845
|
-
function _extends$
|
|
846
|
-
const SvgUgSquare = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
845
|
+
var _path$F;
|
|
846
|
+
function _extends$S() { _extends$S = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$S.apply(this, arguments); }
|
|
847
|
+
const SvgUgSquare = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$S({
|
|
847
848
|
width: 24,
|
|
848
849
|
height: 24,
|
|
849
850
|
viewBox: "0 0 24 24",
|
|
850
851
|
fill: "none",
|
|
851
852
|
xmlns: "http://www.w3.org/2000/svg"
|
|
852
|
-
}, props), _path$
|
|
853
|
+
}, props), _path$F || (_path$F = /*#__PURE__*/React__namespace.createElement("path", {
|
|
853
854
|
d: "M19 3H5C3.9 3 3 3.9 3 5V19C3 20.1 3.9 21 5 21H19C20.1 21 21 20.1 21 19V5C21 3.9 20.1 3 19 3ZM18 19H6C5.45 19 5 18.55 5 18V6C5 5.45 5.45 5 6 5H18C18.55 5 19 5.45 19 6V18C19 18.55 18.55 19 18 19Z",
|
|
854
855
|
fill: "#E80C7A"
|
|
855
856
|
})));
|
|
856
857
|
|
|
857
|
-
var _path$
|
|
858
|
-
function _extends$
|
|
859
|
-
const SvgUgCircle = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
858
|
+
var _path$E;
|
|
859
|
+
function _extends$R() { _extends$R = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$R.apply(this, arguments); }
|
|
860
|
+
const SvgUgCircle = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$R({
|
|
860
861
|
width: 24,
|
|
861
862
|
height: 24,
|
|
862
863
|
viewBox: "0 0 24 24",
|
|
863
864
|
fill: "none",
|
|
864
865
|
xmlns: "http://www.w3.org/2000/svg"
|
|
865
|
-
}, props), _path$
|
|
866
|
+
}, props), _path$E || (_path$E = /*#__PURE__*/React__namespace.createElement("path", {
|
|
866
867
|
d: "M12 2C6.47 2 2 6.47 2 12C2 17.53 6.47 22 12 22C17.53 22 22 17.53 22 12C22 6.47 17.53 2 12 2ZM12 20C7.58 20 4 16.42 4 12C4 7.58 7.58 4 12 4C16.42 4 20 7.58 20 12C20 16.42 16.42 20 12 20Z",
|
|
867
868
|
fill: "#FFCD1A"
|
|
868
869
|
})));
|
|
869
870
|
|
|
870
|
-
var _path$
|
|
871
|
-
function _extends$
|
|
872
|
-
const SvgUgTriangle = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
871
|
+
var _path$D;
|
|
872
|
+
function _extends$Q() { _extends$Q = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$Q.apply(this, arguments); }
|
|
873
|
+
const SvgUgTriangle = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$Q({
|
|
873
874
|
width: 24,
|
|
874
875
|
height: 24,
|
|
875
876
|
viewBox: "0 0 24 24",
|
|
876
877
|
fill: "none",
|
|
877
878
|
xmlns: "http://www.w3.org/2000/svg"
|
|
878
|
-
}, props), _path$
|
|
879
|
+
}, props), _path$D || (_path$D = /*#__PURE__*/React__namespace.createElement("path", {
|
|
879
880
|
d: "M11.9993 7.32625L18.3893 17.5563H5.60929L11.9993 7.32625ZM11.1493 4.91625L2.94929 18.0262C2.53929 18.6962 3.01929 19.5563 3.79929 19.5563H20.1993C20.9893 19.5563 21.4593 18.6962 21.0493 18.0262L12.8493 4.91625C12.4593 4.28625 11.5393 4.28625 11.1493 4.91625Z",
|
|
880
881
|
fill: "#7B0DFF"
|
|
881
882
|
})));
|
|
882
883
|
|
|
883
|
-
var _rect$4, _path$
|
|
884
|
-
function _extends$
|
|
885
|
-
const SvgCampaignCompleted = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
884
|
+
var _rect$4, _path$C, _path2$c, _path3$4;
|
|
885
|
+
function _extends$P() { _extends$P = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$P.apply(this, arguments); }
|
|
886
|
+
const SvgCampaignCompleted = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$P({
|
|
886
887
|
width: 24,
|
|
887
888
|
height: 24,
|
|
888
889
|
viewBox: "0 0 24 24",
|
|
@@ -893,10 +894,10 @@ const SvgCampaignCompleted = props => /*#__PURE__*/React__namespace.createElemen
|
|
|
893
894
|
height: 24,
|
|
894
895
|
rx: 12,
|
|
895
896
|
fill: "#F6F6F8"
|
|
896
|
-
})), _path$
|
|
897
|
+
})), _path$C || (_path$C = /*#__PURE__*/React__namespace.createElement("path", {
|
|
897
898
|
d: "M20.6953 5.73905C21.0148 5.41953 21.0148 4.90149 20.6953 4.58197C20.3758 4.26245 19.8577 4.26245 19.5382 4.58197L11.88 12.2402L10.0849 9.95981C9.80539 9.60476 9.29098 9.54352 8.93593 9.82303C8.58088 10.1025 8.51963 10.6169 8.79914 10.972L11.1642 13.9763C11.3089 14.16 11.5252 14.2731 11.7586 14.2869C11.9921 14.3008 12.2203 14.2141 12.3856 14.0487L20.6953 5.73905Z",
|
|
898
899
|
fill: "#50BF95"
|
|
899
|
-
})), _path2$
|
|
900
|
+
})), _path2$c || (_path2$c = /*#__PURE__*/React__namespace.createElement("path", {
|
|
900
901
|
d: "M3 12C3 7.02944 7.02944 3 12 3C13.3602 3 14.6521 3.3023 15.8102 3.84415C16.2195 4.03565 16.396 4.52268 16.2045 4.93196C16.013 5.34125 15.526 5.5178 15.1167 5.3263C14.1712 4.88391 13.1156 4.63636 12 4.63636C7.93318 4.63636 4.63636 7.93318 4.63636 12C4.63636 16.0668 7.93318 19.3636 12 19.3636C16.0668 19.3636 19.3636 16.0668 19.3636 12C19.3636 11.3631 19.283 10.7462 19.1317 10.1585C19.0191 9.72084 19.2826 9.27479 19.7202 9.16218C20.1578 9.04957 20.6038 9.31303 20.7165 9.75064C20.9017 10.4705 21 11.2243 21 12C21 16.9705 16.9705 21 12 21C7.02944 21 3 16.9705 3 12Z",
|
|
901
902
|
fill: "#50BF95"
|
|
902
903
|
})), _path3$4 || (_path3$4 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
@@ -904,9 +905,9 @@ const SvgCampaignCompleted = props => /*#__PURE__*/React__namespace.createElemen
|
|
|
904
905
|
fill: "#007345"
|
|
905
906
|
})));
|
|
906
907
|
|
|
907
|
-
var _rect$3, _path$
|
|
908
|
-
function _extends$
|
|
909
|
-
const SvgCampaignLocked = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
908
|
+
var _rect$3, _path$B, _path2$b;
|
|
909
|
+
function _extends$O() { _extends$O = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$O.apply(this, arguments); }
|
|
910
|
+
const SvgCampaignLocked = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$O({
|
|
910
911
|
width: 24,
|
|
911
912
|
height: 24,
|
|
912
913
|
viewBox: "0 0 24 24",
|
|
@@ -917,21 +918,21 @@ const SvgCampaignLocked = props => /*#__PURE__*/React__namespace.createElement("
|
|
|
917
918
|
height: 24,
|
|
918
919
|
rx: 12,
|
|
919
920
|
fill: "#F6F6F8"
|
|
920
|
-
})), _path$
|
|
921
|
+
})), _path$B || (_path$B = /*#__PURE__*/React__namespace.createElement("path", {
|
|
921
922
|
fillRule: "evenodd",
|
|
922
923
|
clipRule: "evenodd",
|
|
923
924
|
d: "M13.55 19.0875C14.25 19.7875 15.1063 20.1375 16.1188 20.1375C17.1313 20.1375 17.9875 19.7875 18.6875 19.0875C19.3875 18.3875 19.7375 17.5312 19.7375 16.5187C19.7375 15.5062 19.3875 14.65 18.6875 13.95C17.9875 13.25 17.1313 12.9 16.1188 12.9C15.1063 12.9 14.25 13.25 13.55 13.95C12.85 14.65 12.5 15.5062 12.5 16.5187C12.5 17.5312 12.85 18.3875 13.55 19.0875ZM17.5062 18.2812C17.4187 18.2812 17.3375 18.25 17.2625 18.1875L15.7438 16.7812C15.6813 16.6687 15.65 16.6 15.65 16.575V14.55C15.65 14.4375 15.6875 14.3437 15.7625 14.2687C15.8375 14.1937 15.9313 14.1562 16.0438 14.1562C16.1563 14.1562 16.25 14.1937 16.325 14.2687C16.4 14.3437 16.4375 14.4375 16.4375 14.55V16.4813L17.7313 17.6625C17.8063 17.725 17.8469 17.8062 17.8531 17.9062C17.8594 18.0063 17.825 18.0938 17.75 18.1688C17.675 18.2438 17.5937 18.2812 17.5062 18.2812Z",
|
|
924
925
|
fill: "#D1820A"
|
|
925
|
-
})), _path2$
|
|
926
|
+
})), _path2$b || (_path2$b = /*#__PURE__*/React__namespace.createElement("path", {
|
|
926
927
|
fillRule: "evenodd",
|
|
927
928
|
clipRule: "evenodd",
|
|
928
929
|
d: "M6.125 19.5C5.8125 19.5 5.54688 19.3906 5.32812 19.1719C5.10938 18.9531 5 18.6875 5 18.375V10.2375C5 9.925 5.10938 9.65937 5.32812 9.44062C5.54688 9.22187 5.8125 9.1125 6.125 9.1125H7.4375V7.36875C7.4375 6.36875 7.78437 5.51562 8.47812 4.80937C9.17188 4.10312 10.0125 3.75 11 3.75C11.9875 3.75 12.8281 4.10312 13.5219 4.80937C14.2156 5.51562 14.5625 6.36875 14.5625 7.36875V9.1125H15.875C16.1875 9.1125 16.4531 9.22187 16.6719 9.44062C16.8906 9.65937 17 9.925 17 10.2375V11.8687C16.8125 11.8187 16.625 11.7875 16.4375 11.775C16.25 11.7625 16.0625 11.7625 15.875 11.775C14.6 11.825 13.5312 12.3094 12.6688 13.2281C11.8063 14.1469 11.375 15.2437 11.375 16.5187C11.375 17.0687 11.4688 17.5969 11.6562 18.1031C11.8438 18.6094 12.1063 19.075 12.4438 19.5H6.125ZM13.4375 9.1125H8.5625V7.36875C8.5625 6.68125 8.8 6.09375 9.275 5.60625C9.75 5.11875 10.325 4.875 11 4.875C11.675 4.875 12.25 5.11875 12.725 5.60625C13.2 6.09375 13.4375 6.68125 13.4375 7.36875V9.1125Z",
|
|
929
930
|
fill: "#F4AC1A"
|
|
930
931
|
})));
|
|
931
932
|
|
|
932
|
-
var _rect$2, _path$
|
|
933
|
-
function _extends$
|
|
934
|
-
const SvgCampaignIncoming = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
933
|
+
var _rect$2, _path$A, _path2$a;
|
|
934
|
+
function _extends$N() { _extends$N = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$N.apply(this, arguments); }
|
|
935
|
+
const SvgCampaignIncoming = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$N({
|
|
935
936
|
width: 24,
|
|
936
937
|
height: 24,
|
|
937
938
|
viewBox: "0 0 24 24",
|
|
@@ -942,13 +943,13 @@ const SvgCampaignIncoming = props => /*#__PURE__*/React__namespace.createElement
|
|
|
942
943
|
height: 24,
|
|
943
944
|
rx: 12,
|
|
944
945
|
fill: "#F6F6F8"
|
|
945
|
-
})), _path$
|
|
946
|
+
})), _path$A || (_path$A = /*#__PURE__*/React__namespace.createElement("path", {
|
|
946
947
|
d: "M11.2266 13.0313H14.997M11.2266 9.26075V13.0313V9.26075ZM11.2266 13.0313L20.121 5.03906L11.2266 13.0313Z",
|
|
947
948
|
stroke: "#024780",
|
|
948
949
|
strokeWidth: 1.5,
|
|
949
950
|
strokeLinecap: "round",
|
|
950
951
|
strokeLinejoin: "round"
|
|
951
|
-
})), _path2$
|
|
952
|
+
})), _path2$a || (_path2$a = /*#__PURE__*/React__namespace.createElement("path", {
|
|
952
953
|
d: "M15.4918 4.52347C14.4312 4.02725 13.2477 3.75003 11.9995 3.75003C7.44316 3.75003 3.74951 7.44368 3.74951 12C3.74951 16.5564 7.44316 20.25 11.9995 20.25C16.5558 20.25 20.2495 16.5564 20.2495 12C20.2495 11.2878 20.1593 10.5968 19.9896 9.93753",
|
|
953
954
|
stroke: "#53AFFA",
|
|
954
955
|
strokeWidth: 1.5,
|
|
@@ -956,9 +957,9 @@ const SvgCampaignIncoming = props => /*#__PURE__*/React__namespace.createElement
|
|
|
956
957
|
strokeLinejoin: "round"
|
|
957
958
|
})));
|
|
958
959
|
|
|
959
|
-
var _rect$1, _path$
|
|
960
|
-
function _extends$
|
|
961
|
-
const SvgCampaignProgress = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
960
|
+
var _rect$1, _path$z, _path2$9, _path3$3, _path4$1, _path5$1, _path6$1, _path7$1, _path8$1, _path9$1, _path10$1;
|
|
961
|
+
function _extends$M() { _extends$M = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$M.apply(this, arguments); }
|
|
962
|
+
const SvgCampaignProgress = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$M({
|
|
962
963
|
width: 24,
|
|
963
964
|
height: 24,
|
|
964
965
|
viewBox: "0 0 24 24",
|
|
@@ -969,10 +970,10 @@ const SvgCampaignProgress = props => /*#__PURE__*/React__namespace.createElement
|
|
|
969
970
|
height: 24,
|
|
970
971
|
rx: 12,
|
|
971
972
|
fill: "#F6F6F8"
|
|
972
|
-
})), _path$
|
|
973
|
+
})), _path$z || (_path$z = /*#__PURE__*/React__namespace.createElement("path", {
|
|
973
974
|
d: "M13.059 16.7647C13.059 16.1799 12.585 15.7059 12.0002 15.7059C11.4154 15.7059 10.9414 16.1799 10.9414 16.7647V19.9412C10.9414 20.5259 11.4154 21 12.0002 21C12.585 21 13.059 20.5259 13.059 19.9412V16.7647Z",
|
|
974
975
|
fill: "#D1820A"
|
|
975
|
-
})), _path2$
|
|
976
|
+
})), _path2$9 || (_path2$9 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
976
977
|
d: "M16.1149 14.6183C15.7014 14.2048 15.031 14.2048 14.6175 14.6183C14.204 15.0318 14.204 15.7022 14.6175 16.1157L16.8649 18.3631C17.2783 18.7766 17.9488 18.7766 18.3623 18.3631C18.7757 17.9496 18.7757 17.2792 18.3623 16.8657L16.1149 14.6183Z",
|
|
977
978
|
fill: "#D1820A"
|
|
978
979
|
})), _path3$3 || (_path3$3 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
@@ -1001,25 +1002,25 @@ const SvgCampaignProgress = props => /*#__PURE__*/React__namespace.createElement
|
|
|
1001
1002
|
fill: "#FFB65A"
|
|
1002
1003
|
})));
|
|
1003
1004
|
|
|
1004
|
-
var _g$
|
|
1005
|
-
function _extends$
|
|
1006
|
-
const SvgCampaignExperiential = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
1005
|
+
var _g$c, _path$y, _path2$8, _path3$2, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11;
|
|
1006
|
+
function _extends$L() { _extends$L = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$L.apply(this, arguments); }
|
|
1007
|
+
const SvgCampaignExperiential = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$L({
|
|
1007
1008
|
width: 24,
|
|
1008
1009
|
height: 24,
|
|
1009
1010
|
viewBox: "0 0 24 24",
|
|
1010
1011
|
fill: "none",
|
|
1011
1012
|
xmlns: "http://www.w3.org/2000/svg"
|
|
1012
|
-
}, props), _g$
|
|
1013
|
+
}, props), _g$c || (_g$c = /*#__PURE__*/React__namespace.createElement("g", {
|
|
1013
1014
|
opacity: 0.3
|
|
1014
1015
|
}, /*#__PURE__*/React__namespace.createElement("path", {
|
|
1015
1016
|
opacity: 0.3,
|
|
1016
1017
|
d: "M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z",
|
|
1017
1018
|
fill: "#50BF95"
|
|
1018
|
-
}))), _path$
|
|
1019
|
+
}))), _path$y || (_path$y = /*#__PURE__*/React__namespace.createElement("path", {
|
|
1019
1020
|
d: "M12.487 3.19652C8.68003 3.19652 5.59895 6.27761 5.59895 10.0846C5.59895 10.2597 5.59895 10.4348 5.62438 10.5855C5.29857 11.1863 4.82307 12.013 4.24678 12.514C3.82117 12.8897 3.92096 13.2908 3.97085 13.4405C4.09609 13.7663 4.44635 14.0413 5.02265 14.2418C5.22322 14.3172 5.44825 14.3671 5.64883 14.417L5.67427 16.8464C5.67427 17.7984 6.47559 18.6251 7.45304 18.6251L8.93044 18.1496L9.08111 19.0263C9.18091 19.6026 9.68185 20.0282 10.2836 20.0282C10.3589 20.0282 10.4343 20.0282 10.5086 20.0028L15.1424 19.177C15.8185 19.0517 16.2441 18.4256 16.1443 17.7495L15.8185 16.1214C17.9974 14.9189 19.375 12.5892 19.375 10.0845C19.375 6.30279 16.2696 3.19641 12.4869 3.19641L12.487 3.19652Z",
|
|
1020
1021
|
fill: "#2B8473",
|
|
1021
1022
|
stroke: "#2B8473"
|
|
1022
|
-
})), _path2$
|
|
1023
|
+
})), _path2$8 || (_path2$8 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
1023
1024
|
fillRule: "evenodd",
|
|
1024
1025
|
clipRule: "evenodd",
|
|
1025
1026
|
d: "M6.39343 10.7683V10.1215H8.06761V10.7683H6.39343Z",
|
|
@@ -1071,21 +1072,21 @@ const SvgCampaignExperiential = props => /*#__PURE__*/React__namespace.createEle
|
|
|
1071
1072
|
fill: "#ECF4F2"
|
|
1072
1073
|
})));
|
|
1073
1074
|
|
|
1074
|
-
var _g$
|
|
1075
|
-
function _extends$
|
|
1076
|
-
const SvgCampaignFunctional = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
1075
|
+
var _g$b, _path$x;
|
|
1076
|
+
function _extends$K() { _extends$K = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$K.apply(this, arguments); }
|
|
1077
|
+
const SvgCampaignFunctional = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$K({
|
|
1077
1078
|
width: 24,
|
|
1078
1079
|
height: 24,
|
|
1079
1080
|
viewBox: "0 0 24 24",
|
|
1080
1081
|
fill: "none",
|
|
1081
1082
|
xmlns: "http://www.w3.org/2000/svg"
|
|
1082
|
-
}, props), _g$
|
|
1083
|
+
}, props), _g$b || (_g$b = /*#__PURE__*/React__namespace.createElement("g", {
|
|
1083
1084
|
opacity: 0.3
|
|
1084
1085
|
}, /*#__PURE__*/React__namespace.createElement("path", {
|
|
1085
1086
|
opacity: 0.3,
|
|
1086
1087
|
d: "M12 24C18.6274 24 24 18.6274 24 12C24 5.37258 18.6274 0 12 0C5.37258 0 0 5.37258 0 12C0 18.6274 5.37258 24 12 24Z",
|
|
1087
1088
|
fill: "#003A57"
|
|
1088
|
-
}))), _path$
|
|
1089
|
+
}))), _path$x || (_path$x = /*#__PURE__*/React__namespace.createElement("path", {
|
|
1089
1090
|
d: "M17.9983 7.16705C17.5188 6.58566 17.1422 6.73039 17.1422 6.73039C17.1422 6.73039 16.406 7.02453 16.0401 7.16303C15.6742 7.30153 15.2408 7.17357 15.2408 7.17357L14.7579 6.8851C14.7579 6.8851 14.4296 6.56554 14.3656 6.18067C14.3123 5.78958 14.1888 5.00269 14.1888 5.00269C14.1888 5.00269 14.1356 4.61159 13.3938 4.47257C12.652 4.33356 12.4678 4.68715 12.4678 4.68715C12.4678 4.68715 12.0932 5.38344 11.9091 5.73703C11.7249 6.09062 11.3114 6.27118 11.3114 6.27118L10.7639 6.36908C10.7639 6.36908 10.3144 6.33771 10.0176 6.07271L9.12712 5.27769C9.12712 5.27769 8.8303 5.01268 8.18313 5.38632C7.53595 5.75997 7.61705 6.14953 7.61705 6.14953L7.86033 7.3182C7.94143 7.70776 7.74381 8.11275 7.74381 8.11275L7.38528 8.53794C7.38528 8.53794 7.02217 8.80577 6.62387 8.78845C6.22557 8.77114 5.43527 8.7474 5.43527 8.7474C5.43527 8.7474 5.03697 8.73009 4.78646 9.44201C4.53595 10.1539 4.84804 10.3956 4.84804 10.3956C4.84804 10.3956 5.46774 10.896 5.77983 11.1376C6.09192 11.3793 6.19373 11.8296 6.19373 11.8296L6.20207 12.3921C6.20207 12.3921 6.09618 12.8314 5.79331 13.079C5.49043 13.3266 4.86759 13.8171 4.86759 13.8171C4.86759 13.8171 4.56471 14.0647 4.81769 14.7769C5.08144 15.4828 5.46713 15.4783 5.46713 15.4783C5.46713 15.4783 6.26012 15.4569 6.64582 15.4524C7.03152 15.4479 7.40116 15.7145 7.40116 15.7145L7.76458 16.1447C7.76458 16.1447 7.96976 16.5499 7.89441 16.9425C7.81907 17.3351 7.66208 18.1094 7.66208 18.1094C7.66208 18.1094 7.58674 18.502 8.23785 18.8824C8.88895 19.2629 9.18553 19.0044 9.18553 19.0044C9.18553 19.0044 9.7724 18.4765 10.069 18.218C10.3655 17.9595 10.8115 17.9347 10.8115 17.9347L11.3609 18.0394C11.3609 18.0394 11.77 18.225 11.9608 18.5803C12.1516 18.9356 12.5268 19.6354 12.5268 19.6354C12.5268 19.6354 12.7176 19.9907 13.4583 19.8539C14.1946 19.7343 14.2529 19.337 14.2529 19.337C14.2529 19.337 14.3586 18.5487 14.4232 18.1623C14.4814 17.765 14.8086 17.4598 14.8086 17.4598L15.2939 17.1796C15.2939 17.1796 15.7281 17.0598 16.095 17.1971C16.4682 17.3453 17.1975 17.637 17.1975 17.637C17.1975 17.637 17.5707 17.7851 18.0424 17.2073C18.5142 16.6295 18.3189 16.2913 18.3189 16.2913C18.3189 16.2913 17.9006 15.6164 17.6882 15.2736C17.4759 14.9307 17.5197 14.4836 17.5197 14.4836L17.7038 13.9555C17.7038 13.9555 17.9482 13.5816 18.3203 13.454C18.6925 13.3264 19.4431 13.0822 19.4431 13.0822C19.4431 13.0822 19.8153 12.9546 19.8113 12.2005C19.8074 11.4464 19.4297 11.3153 19.4297 11.3153C19.4297 11.3153 18.6807 11.0641 18.303 10.9331C17.9253 10.802 17.677 10.4217 17.677 10.4217L17.4861 9.8919C17.4861 9.8919 17.4293 9.4447 17.6368 9.1067C17.8443 8.7687 18.2486 8.09891 18.2486 8.09891C18.2486 8.09891 18.4778 7.74844 17.9983 7.16707L17.9983 7.16705ZM9.33902 8.38466L10.6176 10.5992C10.0433 11.149 9.82793 11.9715 10.0567 12.7413L7.86713 14.0054C6.98868 12.0106 7.60355 9.66286 9.33905 8.38457L9.33902 8.38466ZM13.9748 16.414C11.9998 17.2778 9.65918 16.6363 8.37099 14.8783L10.5605 13.6141C11.1128 14.1971 11.9329 14.4219 12.6961 14.1994L13.9748 16.414ZM12.6552 13.132C12.1159 13.4434 11.4325 13.2561 11.1176 12.7107C10.8027 12.1652 10.9822 11.4797 11.5215 11.1684C12.0608 10.857 12.7441 11.0443 13.0591 11.5897C13.374 12.1352 13.1945 12.8207 12.6552 13.132ZM14.8376 15.9158L13.5591 13.7012C14.1333 13.1515 14.3487 12.3289 14.12 11.5591L16.3095 10.295C17.188 12.2898 16.5731 14.6376 14.8376 15.9159L14.8376 15.9158ZM13.6161 10.6863C13.0638 10.1034 12.2437 9.87862 11.4805 10.1011L10.2019 7.88652C12.1769 7.02266 14.5112 7.65314 15.8057 9.42223L13.6161 10.6863Z",
|
|
1090
1091
|
fill: "#003A57"
|
|
1091
1092
|
})));
|
|
@@ -1946,15 +1947,15 @@ const WaffleChart = ({ height, width, data, total, tooltip, }) => {
|
|
|
1946
1947
|
} }) })));
|
|
1947
1948
|
};
|
|
1948
1949
|
|
|
1949
|
-
var _g$
|
|
1950
|
-
function _extends$
|
|
1951
|
-
const SvgSentiment1 = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
1950
|
+
var _g$a, _defs$4;
|
|
1951
|
+
function _extends$J() { _extends$J = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$J.apply(this, arguments); }
|
|
1952
|
+
const SvgSentiment1 = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$J({
|
|
1952
1953
|
width: 27,
|
|
1953
1954
|
height: 26,
|
|
1954
1955
|
viewBox: "0 0 27 26",
|
|
1955
1956
|
fill: "none",
|
|
1956
1957
|
xmlns: "http://www.w3.org/2000/svg"
|
|
1957
|
-
}, props), _g$
|
|
1958
|
+
}, props), _g$a || (_g$a = /*#__PURE__*/React__namespace.createElement("g", {
|
|
1958
1959
|
clipPath: "url(#clip0_21_19131)"
|
|
1959
1960
|
}, /*#__PURE__*/React__namespace.createElement("path", {
|
|
1960
1961
|
d: "M26.5525 13C26.5525 20.1796 20.6084 26 13.2762 26C5.94481 26 0 20.1796 0 13C0 5.82111 5.94481 0 13.2762 0C20.6084 0 26.5525 5.82111 26.5525 13Z",
|
|
@@ -1970,15 +1971,15 @@ const SvgSentiment1 = props => /*#__PURE__*/React__namespace.createElement("svg"
|
|
|
1970
1971
|
fill: "white"
|
|
1971
1972
|
})))));
|
|
1972
1973
|
|
|
1973
|
-
var _g$
|
|
1974
|
-
function _extends$
|
|
1975
|
-
const SvgSentiment2 = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
1974
|
+
var _g$9, _defs$3;
|
|
1975
|
+
function _extends$I() { _extends$I = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$I.apply(this, arguments); }
|
|
1976
|
+
const SvgSentiment2 = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$I({
|
|
1976
1977
|
width: 27,
|
|
1977
1978
|
height: 26,
|
|
1978
1979
|
viewBox: "0 0 27 26",
|
|
1979
1980
|
fill: "none",
|
|
1980
1981
|
xmlns: "http://www.w3.org/2000/svg"
|
|
1981
|
-
}, props), _g$
|
|
1982
|
+
}, props), _g$9 || (_g$9 = /*#__PURE__*/React__namespace.createElement("g", {
|
|
1982
1983
|
clipPath: "url(#clip0_21_19130)"
|
|
1983
1984
|
}, /*#__PURE__*/React__namespace.createElement("path", {
|
|
1984
1985
|
d: "M26.5525 13C26.5525 20.1796 20.6084 26 13.2762 26C5.94481 26 0 20.1796 0 13C0 5.82111 5.94481 0 13.2762 0C20.6084 0 26.5525 5.82111 26.5525 13Z",
|
|
@@ -1994,15 +1995,15 @@ const SvgSentiment2 = props => /*#__PURE__*/React__namespace.createElement("svg"
|
|
|
1994
1995
|
fill: "white"
|
|
1995
1996
|
})))));
|
|
1996
1997
|
|
|
1997
|
-
var _g$
|
|
1998
|
-
function _extends$
|
|
1999
|
-
const SvgSentiment3 = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
1998
|
+
var _g$8, _defs$2;
|
|
1999
|
+
function _extends$H() { _extends$H = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$H.apply(this, arguments); }
|
|
2000
|
+
const SvgSentiment3 = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$H({
|
|
2000
2001
|
width: 27,
|
|
2001
2002
|
height: 26,
|
|
2002
2003
|
viewBox: "0 0 27 26",
|
|
2003
2004
|
fill: "none",
|
|
2004
2005
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2005
|
-
}, props), _g$
|
|
2006
|
+
}, props), _g$8 || (_g$8 = /*#__PURE__*/React__namespace.createElement("g", {
|
|
2006
2007
|
clipPath: "url(#clip0_21_19129)"
|
|
2007
2008
|
}, /*#__PURE__*/React__namespace.createElement("path", {
|
|
2008
2009
|
d: "M26.5525 13C26.5525 20.1796 20.6084 26 13.2762 26C5.94481 26 0 20.1796 0 13C0 5.82111 5.94481 0 13.2762 0C20.6084 0 26.5525 5.82111 26.5525 13Z",
|
|
@@ -2024,15 +2025,15 @@ const SvgSentiment3 = props => /*#__PURE__*/React__namespace.createElement("svg"
|
|
|
2024
2025
|
fill: "white"
|
|
2025
2026
|
})))));
|
|
2026
2027
|
|
|
2027
|
-
var _g$
|
|
2028
|
-
function _extends$
|
|
2029
|
-
const SvgSentiment4 = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2028
|
+
var _g$7, _defs$1;
|
|
2029
|
+
function _extends$G() { _extends$G = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$G.apply(this, arguments); }
|
|
2030
|
+
const SvgSentiment4 = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$G({
|
|
2030
2031
|
width: 27,
|
|
2031
2032
|
height: 26,
|
|
2032
2033
|
viewBox: "0 0 27 26",
|
|
2033
2034
|
fill: "none",
|
|
2034
2035
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2035
|
-
}, props), _g$
|
|
2036
|
+
}, props), _g$7 || (_g$7 = /*#__PURE__*/React__namespace.createElement("g", {
|
|
2036
2037
|
clipPath: "url(#clip0_21_19127)"
|
|
2037
2038
|
}, /*#__PURE__*/React__namespace.createElement("path", {
|
|
2038
2039
|
d: "M26.5525 13C26.5525 20.1796 20.6084 26 13.2762 26C5.94481 26 0 20.1796 0 13C0 5.82111 5.94481 0 13.2762 0C20.6084 0 26.5525 5.82111 26.5525 13Z",
|
|
@@ -2054,15 +2055,15 @@ const SvgSentiment4 = props => /*#__PURE__*/React__namespace.createElement("svg"
|
|
|
2054
2055
|
fill: "white"
|
|
2055
2056
|
})))));
|
|
2056
2057
|
|
|
2057
|
-
var _g$
|
|
2058
|
-
function _extends$
|
|
2059
|
-
const SvgSentiment5 = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2058
|
+
var _g$6, _defs;
|
|
2059
|
+
function _extends$F() { _extends$F = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$F.apply(this, arguments); }
|
|
2060
|
+
const SvgSentiment5 = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$F({
|
|
2060
2061
|
width: 26,
|
|
2061
2062
|
height: 26,
|
|
2062
2063
|
viewBox: "0 0 26 26",
|
|
2063
2064
|
fill: "none",
|
|
2064
2065
|
xmlns: "http://www.w3.org/2000/svg"
|
|
2065
|
-
}, props), _g$
|
|
2066
|
+
}, props), _g$6 || (_g$6 = /*#__PURE__*/React__namespace.createElement("g", {
|
|
2066
2067
|
clipPath: "url(#clip0_21_19125)"
|
|
2067
2068
|
}, /*#__PURE__*/React__namespace.createElement("path", {
|
|
2068
2069
|
d: "M25.2051 13C25.2051 20.1796 19.5626 26 12.6025 26C5.64314 26 0 20.1796 0 13C0 5.82111 5.64314 0 12.6025 0C19.5626 0 25.2051 5.82111 25.2051 13Z",
|
|
@@ -2313,10 +2314,9 @@ const ChatFooter = ({ saveText, children, showShortcut, }) => {
|
|
|
2313
2314
|
};
|
|
2314
2315
|
|
|
2315
2316
|
const ChatContext = React.createContext(null);
|
|
2316
|
-
const ChatContextProvider = ({ onSave, onFileUpload, setMentionableUsers, children, }) => {
|
|
2317
|
+
const ChatContextProvider = ({ onSave, onFileUpload, onDeleteThumbnail, setMentionableUsers, children, }) => {
|
|
2317
2318
|
const [editor, setEditor] = React.useState();
|
|
2318
2319
|
const [thumbnails, setThumbnails] = React.useState([]);
|
|
2319
|
-
//const [isMediaUploading, setIsMediaUploading] = useState<boolean>(false);
|
|
2320
2320
|
const getMentions = (editor) => {
|
|
2321
2321
|
const result = [];
|
|
2322
2322
|
editor.state.doc.descendants((node) => {
|
|
@@ -2336,6 +2336,7 @@ const ChatContextProvider = ({ onSave, onFileUpload, setMentionableUsers, childr
|
|
|
2336
2336
|
editor,
|
|
2337
2337
|
setEditor,
|
|
2338
2338
|
thumbnails,
|
|
2339
|
+
setThumbnails,
|
|
2339
2340
|
afterUploadCallback: (failed) => {
|
|
2340
2341
|
setThumbnails(thumbnails.map((file) => {
|
|
2341
2342
|
if (failed.includes(file.name)) {
|
|
@@ -2349,31 +2350,41 @@ const ChatContextProvider = ({ onSave, onFileUpload, setMentionableUsers, childr
|
|
|
2349
2350
|
return file;
|
|
2350
2351
|
}));
|
|
2351
2352
|
},
|
|
2352
|
-
|
|
2353
|
-
//setIsMediaUploading, // Incluso nel valore del contesto
|
|
2354
|
-
addThumbnails: ({ files, }) => {
|
|
2353
|
+
addThumbnails: ({ files }) => {
|
|
2355
2354
|
files.forEach((file) => (file.isLoadingMedia = true));
|
|
2356
2355
|
setThumbnails((prev) => [...prev, ...files]);
|
|
2357
2356
|
if (onFileUpload) {
|
|
2358
2357
|
onFileUpload(files).then((data) => {
|
|
2359
2358
|
var _a;
|
|
2360
|
-
const failed = (_a = data.failed) === null || _a === void 0 ? void 0 : _a.map(f => f.name);
|
|
2361
|
-
setThumbnails(
|
|
2362
|
-
file
|
|
2363
|
-
|
|
2364
|
-
|
|
2365
|
-
|
|
2359
|
+
const failed = (_a = data.failed) === null || _a === void 0 ? void 0 : _a.map((f) => f.name);
|
|
2360
|
+
setThumbnails((prev) => {
|
|
2361
|
+
return prev.map((file) => {
|
|
2362
|
+
file.isLoadingMedia = false;
|
|
2363
|
+
if ((failed === null || failed === void 0 ? void 0 : failed.length) && failed.includes(file.name)) {
|
|
2364
|
+
file.isError = true;
|
|
2365
|
+
}
|
|
2366
|
+
else {
|
|
2367
|
+
file.isError = false;
|
|
2368
|
+
}
|
|
2369
|
+
return file;
|
|
2370
|
+
});
|
|
2371
|
+
});
|
|
2366
2372
|
});
|
|
2367
2373
|
}
|
|
2368
|
-
/* const media = files.map((file) => ({
|
|
2369
|
-
...file,
|
|
2370
|
-
isLoadingMedia: false,
|
|
2371
|
-
}));
|
|
2372
|
-
media[0].isLoadingMedia = false;*/
|
|
2373
|
-
//setIsMediaUploading(true);
|
|
2374
|
-
//setIsMediaUploading(false);
|
|
2375
2374
|
},
|
|
2376
|
-
|
|
2375
|
+
clearInput: () => {
|
|
2376
|
+
if (editor && !editor.isEmpty) {
|
|
2377
|
+
editor.commands.clearContent();
|
|
2378
|
+
}
|
|
2379
|
+
if (thumbnails.length > 0)
|
|
2380
|
+
setThumbnails([]);
|
|
2381
|
+
},
|
|
2382
|
+
onDeleteThumbnail: (id) => {
|
|
2383
|
+
onDeleteThumbnail(id);
|
|
2384
|
+
},
|
|
2385
|
+
removeThumbnail: (index) => {
|
|
2386
|
+
setThumbnails(thumbnails.filter((_, i) => i !== index));
|
|
2387
|
+
},
|
|
2377
2388
|
triggerSave: () => {
|
|
2378
2389
|
if (editor && onSave && !editor.isEmpty) {
|
|
2379
2390
|
onSave(editor, getMentions(editor));
|
|
@@ -2390,10 +2401,8 @@ const ChatContextProvider = ({ onSave, onFileUpload, setMentionableUsers, childr
|
|
|
2390
2401
|
thumbnails,
|
|
2391
2402
|
setThumbnails,
|
|
2392
2403
|
onFileUpload,
|
|
2393
|
-
|
|
2394
|
-
//isMediaUploading,
|
|
2404
|
+
onDeleteThumbnail,
|
|
2395
2405
|
]);
|
|
2396
|
-
console.log("thumbnails: ", thumbnails);
|
|
2397
2406
|
return (jsxRuntime.jsx(ChatContext.Provider, Object.assign({ value: chatContextValue }, { children: children })));
|
|
2398
2407
|
};
|
|
2399
2408
|
const useChatContext = () => {
|
|
@@ -2728,28 +2737,96 @@ const ChatTitle = styled__default["default"](Title$1) `
|
|
|
2728
2737
|
padding: ${({ theme }) => `${theme.space.sm} ${theme.space.md}`};
|
|
2729
2738
|
`;
|
|
2730
2739
|
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2740
|
+
const UgClose$1 = styled__default["default"](reactNotifications.Close) `
|
|
2741
|
+
display: flex;
|
|
2742
|
+
align-items: center;
|
|
2743
|
+
justify-content: center;
|
|
2744
|
+
width: ${({ theme }) => theme.space.xl};
|
|
2745
|
+
height: ${({ theme }) => theme.space.xl};
|
|
2746
|
+
`;
|
|
2747
|
+
/**
|
|
2748
|
+
* Title is a basic component used to display a title. Often used in card headers.
|
|
2749
|
+
*/
|
|
2750
|
+
const Close = (props) => jsxRuntime.jsx(UgClose$1, Object.assign({}, props));
|
|
2751
|
+
|
|
2752
|
+
const NOTIFICATION_COMPONENT_ID = "notifications.notification";
|
|
2753
|
+
const CLOSE_COMPONENT_ID = "notifications.notification.close";
|
|
2754
|
+
const CLOSE_ICON_COMPONENT_ID = "notifications.notification.close-icon";
|
|
2755
|
+
const TITLE_COMPONENT_ID = "notifications.notification.title";
|
|
2756
|
+
const UgClose = styled__default["default"](Close).attrs((props) => {
|
|
2757
|
+
var _a;
|
|
2758
|
+
return ({
|
|
2759
|
+
"data-custom-id": (_a = props["data-custom-id"]) !== null && _a !== void 0 ? _a : CLOSE_ICON_COMPONENT_ID,
|
|
2760
|
+
});
|
|
2761
|
+
}) `
|
|
2762
|
+
${(props) => reactTheming.retrieveComponentStyles(CLOSE_ICON_COMPONENT_ID, props)};
|
|
2763
|
+
`;
|
|
2764
|
+
const UgAnchor = styled__default["default"](reactButtons.Anchor).attrs((props) => {
|
|
2765
|
+
var _a;
|
|
2766
|
+
return ({
|
|
2767
|
+
"data-custom-id": (_a = props["data-custom-id"]) !== null && _a !== void 0 ? _a : CLOSE_COMPONENT_ID,
|
|
2768
|
+
});
|
|
2769
|
+
}) `
|
|
2770
|
+
${(props) => reactTheming.retrieveComponentStyles(CLOSE_COMPONENT_ID, props)};
|
|
2771
|
+
`;
|
|
2772
|
+
const UgTitle = styled__default["default"](Title$1).attrs((props) => {
|
|
2773
|
+
var _a;
|
|
2774
|
+
return ({
|
|
2775
|
+
"data-custom-id": (_a = props["data-custom-id"]) !== null && _a !== void 0 ? _a : TITLE_COMPONENT_ID,
|
|
2776
|
+
});
|
|
2777
|
+
}) `
|
|
2778
|
+
${(props) => reactTheming.retrieveComponentStyles(TITLE_COMPONENT_ID, props)};
|
|
2779
|
+
`;
|
|
2780
|
+
const UgNotification = styled__default["default"](reactNotifications.Notification) `
|
|
2781
|
+
display: flex;
|
|
2782
|
+
align-items: center;
|
|
2783
|
+
justify-content: space-between;
|
|
2784
|
+
padding-right: ${({ theme }) => theme.space.md};
|
|
2785
|
+
white-space: pre;
|
|
2786
|
+
|
|
2787
|
+
${UgAnchor} {
|
|
2788
|
+
flex-shrink: 0;
|
|
2789
|
+
margin-left: ${({ theme }) => theme.space.md};
|
|
2790
|
+
}
|
|
2791
|
+
|
|
2792
|
+
${(props) => reactTheming.retrieveComponentStyles(NOTIFICATION_COMPONENT_ID, props)};
|
|
2793
|
+
`;
|
|
2794
|
+
/**
|
|
2795
|
+
* A Notification is a passive status update that keeps users informed of system progress.
|
|
2796
|
+
* <hr>
|
|
2797
|
+
* Used for this:
|
|
2798
|
+
- For a passive status update about user or system activity
|
|
2799
|
+
*/
|
|
2800
|
+
const Notification = (_a) => {
|
|
2801
|
+
var { closeText, message, onClose, type, isPrimary, isRegular } = _a, props = __rest(_a, ["closeText", "message", "onClose", "type", "isPrimary", "isRegular"]);
|
|
2802
|
+
return (jsxRuntime.jsxs(UgNotification, Object.assign({ type: type, isPrimary: isPrimary }, props, { children: [jsxRuntime.jsx(UgTitle, Object.assign({ isRegular: isRegular, type: type, isPrimary: isPrimary }, { children: message })), jsxRuntime.jsx(UgAnchor, Object.assign({ type: type, isPrimary: isPrimary, onClick: onClose }, { children: closeText !== null && closeText !== void 0 ? closeText : jsxRuntime.jsx(UgClose, {}) }))] })));
|
|
2803
|
+
};
|
|
2804
|
+
// ToastProvider
|
|
2805
|
+
const ToastProvider = (props) => (jsxRuntime.jsx(reactNotifications.ToastProvider, Object.assign({}, props)));
|
|
2806
|
+
const useToast = reactNotifications.useToast;
|
|
2807
|
+
|
|
2808
|
+
var _path$w;
|
|
2809
|
+
function _extends$E() { _extends$E = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$E.apply(this, arguments); }
|
|
2810
|
+
const SvgBoldFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$E({
|
|
2734
2811
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2735
2812
|
width: 16,
|
|
2736
2813
|
height: 16,
|
|
2737
2814
|
focusable: "false",
|
|
2738
2815
|
viewBox: "0 0 16 16"
|
|
2739
|
-
}, props), _path$
|
|
2816
|
+
}, props), _path$w || (_path$w = /*#__PURE__*/React__namespace.createElement("path", {
|
|
2740
2817
|
fill: "currentColor",
|
|
2741
2818
|
d: "M7.5 0C9.952 0 12 2.048 12 4.5a4.483 4.483 0 01-1.27 3.108C12.078 8.39 13 9.855 13 11.5c0 2.452-2.048 4.5-4.5 4.5H4a1 1 0 01-1-1V1a1 1 0 011-1h3.5zM5 14h3.5c1.348 0 2.5-1.152 2.5-2.5S9.848 9 8.5 9H5v5zM7.5 2H5v5h2.5C8.848 7 10 5.848 10 4.5S8.848 2 7.5 2z"
|
|
2742
2819
|
})));
|
|
2743
2820
|
|
|
2744
|
-
var _path$
|
|
2745
|
-
function _extends$
|
|
2746
|
-
const SvgItalicFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2821
|
+
var _path$v;
|
|
2822
|
+
function _extends$D() { _extends$D = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$D.apply(this, arguments); }
|
|
2823
|
+
const SvgItalicFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$D({
|
|
2747
2824
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2748
2825
|
width: 16,
|
|
2749
2826
|
height: 16,
|
|
2750
2827
|
focusable: "false",
|
|
2751
2828
|
viewBox: "0 0 16 16"
|
|
2752
|
-
}, props), _path$
|
|
2829
|
+
}, props), _path$v || (_path$v = /*#__PURE__*/React__namespace.createElement("path", {
|
|
2753
2830
|
fill: "none",
|
|
2754
2831
|
stroke: "currentColor",
|
|
2755
2832
|
strokeLinecap: "round",
|
|
@@ -2757,18 +2834,18 @@ const SvgItalicFill = props => /*#__PURE__*/React__namespace.createElement("svg"
|
|
|
2757
2834
|
d: "M8 1h3M9.5 1l-3 14M5 15h3"
|
|
2758
2835
|
})));
|
|
2759
2836
|
|
|
2760
|
-
var _path$
|
|
2761
|
-
function _extends$
|
|
2762
|
-
const SvgQuoteFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2837
|
+
var _path$u, _path2$7;
|
|
2838
|
+
function _extends$C() { _extends$C = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$C.apply(this, arguments); }
|
|
2839
|
+
const SvgQuoteFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$C({
|
|
2763
2840
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2764
2841
|
width: 16,
|
|
2765
2842
|
height: 16,
|
|
2766
2843
|
focusable: "false",
|
|
2767
2844
|
viewBox: "0 0 16 16"
|
|
2768
|
-
}, props), _path$
|
|
2845
|
+
}, props), _path$u || (_path$u = /*#__PURE__*/React__namespace.createElement("path", {
|
|
2769
2846
|
fill: "currentColor",
|
|
2770
2847
|
d: "M7 8H4c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v3c0 .55-.45 1-1 1zm6 0h-3c-.55 0-1-.45-1-1V4c0-.55.45-1 1-1h3c.55 0 1 .45 1 1v3c0 .55-.45 1-1 1z"
|
|
2771
|
-
})), _path2$
|
|
2848
|
+
})), _path2$7 || (_path2$7 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
2772
2849
|
fill: "none",
|
|
2773
2850
|
stroke: "currentColor",
|
|
2774
2851
|
strokeLinecap: "round",
|
|
@@ -2776,15 +2853,15 @@ const SvgQuoteFill = props => /*#__PURE__*/React__namespace.createElement("svg",
|
|
|
2776
2853
|
d: "M5.5 12C6.5 11 7 9.5 7 8V6m4.5 6c1-1 1.5-2.5 1.5-4V6"
|
|
2777
2854
|
})));
|
|
2778
2855
|
|
|
2779
|
-
var _g$
|
|
2780
|
-
function _extends$
|
|
2781
|
-
const SvgH1Fill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2856
|
+
var _g$5;
|
|
2857
|
+
function _extends$B() { _extends$B = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$B.apply(this, arguments); }
|
|
2858
|
+
const SvgH1Fill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$B({
|
|
2782
2859
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2783
2860
|
width: 16,
|
|
2784
2861
|
height: 16,
|
|
2785
2862
|
focusable: "false",
|
|
2786
2863
|
viewBox: "0 0 16 16"
|
|
2787
|
-
}, props), _g$
|
|
2864
|
+
}, props), _g$5 || (_g$5 = /*#__PURE__*/React__namespace.createElement("g", {
|
|
2788
2865
|
transform: "translate(-464 -332)"
|
|
2789
2866
|
}, /*#__PURE__*/React__namespace.createElement("rect", {
|
|
2790
2867
|
width: 16,
|
|
@@ -2804,15 +2881,15 @@ const SvgH1Fill = props => /*#__PURE__*/React__namespace.createElement("svg", _e
|
|
|
2804
2881
|
transform: "translate(474.469 331)"
|
|
2805
2882
|
}))));
|
|
2806
2883
|
|
|
2807
|
-
var _g$
|
|
2808
|
-
function _extends$
|
|
2809
|
-
const SvgH2Fill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2884
|
+
var _g$4;
|
|
2885
|
+
function _extends$A() { _extends$A = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$A.apply(this, arguments); }
|
|
2886
|
+
const SvgH2Fill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$A({
|
|
2810
2887
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2811
2888
|
width: 16,
|
|
2812
2889
|
height: 16,
|
|
2813
2890
|
focusable: "false",
|
|
2814
2891
|
viewBox: "0 0 16 16"
|
|
2815
|
-
}, props), _g$
|
|
2892
|
+
}, props), _g$4 || (_g$4 = /*#__PURE__*/React__namespace.createElement("g", {
|
|
2816
2893
|
transform: "translate(-464 -332)"
|
|
2817
2894
|
}, /*#__PURE__*/React__namespace.createElement("rect", {
|
|
2818
2895
|
width: 16,
|
|
@@ -2832,15 +2909,15 @@ const SvgH2Fill = props => /*#__PURE__*/React__namespace.createElement("svg", _e
|
|
|
2832
2909
|
transform: "translate(469.359 331)"
|
|
2833
2910
|
}))));
|
|
2834
2911
|
|
|
2835
|
-
var _g$
|
|
2836
|
-
function _extends$
|
|
2837
|
-
const SvgH3Fill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2912
|
+
var _g$3;
|
|
2913
|
+
function _extends$z() { _extends$z = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$z.apply(this, arguments); }
|
|
2914
|
+
const SvgH3Fill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$z({
|
|
2838
2915
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2839
2916
|
width: 16,
|
|
2840
2917
|
height: 16,
|
|
2841
2918
|
focusable: "false",
|
|
2842
2919
|
viewBox: "0 0 16 16"
|
|
2843
|
-
}, props), _g$
|
|
2920
|
+
}, props), _g$3 || (_g$3 = /*#__PURE__*/React__namespace.createElement("g", {
|
|
2844
2921
|
transform: "translate(-464 -332)"
|
|
2845
2922
|
}, /*#__PURE__*/React__namespace.createElement("rect", {
|
|
2846
2923
|
width: 16,
|
|
@@ -2907,58 +2984,58 @@ const Tooltip = styled__default["default"](TooltipComponent) `
|
|
|
2907
2984
|
box-shadow: ${({ theme }) => theme.shadows.lg(`${theme.space.base * 3}px`, `${theme.space.base * 5}px`, getColor("neutralHue", 600, theme, 0.15))};
|
|
2908
2985
|
`;
|
|
2909
2986
|
|
|
2910
|
-
var _path$
|
|
2911
|
-
function _extends$
|
|
2912
|
-
const SvgBoldStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
2987
|
+
var _path$t;
|
|
2988
|
+
function _extends$y() { _extends$y = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$y.apply(this, arguments); }
|
|
2989
|
+
const SvgBoldStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$y({
|
|
2913
2990
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2914
2991
|
width: 16,
|
|
2915
2992
|
height: 16,
|
|
2916
2993
|
focusable: "false",
|
|
2917
2994
|
viewBox: "0 0 16 16"
|
|
2918
|
-
}, props), _path$
|
|
2995
|
+
}, props), _path$t || (_path$t = /*#__PURE__*/React__namespace.createElement("path", {
|
|
2919
2996
|
fill: "currentColor",
|
|
2920
2997
|
d: "M7 1c2.176 0 4 1.824 4 4 0 1.315-.666 2.501-1.673 3.234C10.869 8.792 12 10.287 12 12c0 2.176-1.824 4-4 4H3.5a.5.5 0 01-.5-.5v-14a.5.5 0 01.5-.5H7zM4 15h4c1.624 0 3-1.376 3-3S9.624 9 8 9H4v6zM7 2H4v6h3c1.624 0 3-1.376 3-3S8.624 2 7 2z"
|
|
2921
2998
|
})));
|
|
2922
2999
|
|
|
2923
|
-
var _path$
|
|
2924
|
-
function _extends$
|
|
2925
|
-
const SvgItalicStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
3000
|
+
var _path$s;
|
|
3001
|
+
function _extends$x() { _extends$x = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$x.apply(this, arguments); }
|
|
3002
|
+
const SvgItalicStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$x({
|
|
2926
3003
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2927
3004
|
width: 16,
|
|
2928
3005
|
height: 16,
|
|
2929
3006
|
focusable: "false",
|
|
2930
3007
|
viewBox: "0 0 16 16"
|
|
2931
|
-
}, props), _path$
|
|
3008
|
+
}, props), _path$s || (_path$s = /*#__PURE__*/React__namespace.createElement("path", {
|
|
2932
3009
|
fill: "none",
|
|
2933
3010
|
stroke: "currentColor",
|
|
2934
3011
|
strokeLinecap: "round",
|
|
2935
3012
|
d: "M7.5 1.5h3M9 1.5l-3 14m-1.5 0h3"
|
|
2936
3013
|
})));
|
|
2937
3014
|
|
|
2938
|
-
var _path$
|
|
2939
|
-
function _extends$
|
|
2940
|
-
const SvgAtStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
3015
|
+
var _path$r;
|
|
3016
|
+
function _extends$w() { _extends$w = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$w.apply(this, arguments); }
|
|
3017
|
+
const SvgAtStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$w({
|
|
2941
3018
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2942
3019
|
width: 16,
|
|
2943
3020
|
height: 16,
|
|
2944
3021
|
focusable: "false",
|
|
2945
3022
|
role: "presentation"
|
|
2946
|
-
}, props), _path$
|
|
3023
|
+
}, props), _path$r || (_path$r = /*#__PURE__*/React__namespace.createElement("path", {
|
|
2947
3024
|
fill: "none",
|
|
2948
3025
|
stroke: "currentColor",
|
|
2949
3026
|
strokeLinecap: "round",
|
|
2950
3027
|
d: "M11.5 4.5V8h0A3.5 3.5 0 018 11.5h0A3.5 3.5 0 014.5 8h0A3.5 3.5 0 018 4.5h0A3.5 3.5 0 0111.5 8h0v1.5a2 2 0 002 2h0a2 2 0 002-2V8h0A7.5 7.5 0 008 .5h0A7.5 7.5 0 00.5 8h0A7.5 7.5 0 008 15.5h3.41"
|
|
2951
3028
|
})));
|
|
2952
3029
|
|
|
2953
|
-
var _path$
|
|
2954
|
-
function _extends$
|
|
2955
|
-
const SvgClipboard = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
3030
|
+
var _path$q;
|
|
3031
|
+
function _extends$v() { _extends$v = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$v.apply(this, arguments); }
|
|
3032
|
+
const SvgClipboard = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$v({
|
|
2956
3033
|
xmlns: "http://www.w3.org/2000/svg",
|
|
2957
3034
|
width: 16,
|
|
2958
3035
|
height: 16,
|
|
2959
3036
|
focusable: "false",
|
|
2960
3037
|
role: "presentation"
|
|
2961
|
-
}, props), _path$
|
|
3038
|
+
}, props), _path$q || (_path$q = /*#__PURE__*/React__namespace.createElement("path", {
|
|
2962
3039
|
fill: "none",
|
|
2963
3040
|
stroke: "currentColor",
|
|
2964
3041
|
strokeLinecap: "round",
|
|
@@ -3019,7 +3096,10 @@ const CommentBar = ({ editor, i18n, }) => {
|
|
|
3019
3096
|
const files = fileInput.files;
|
|
3020
3097
|
if (files) {
|
|
3021
3098
|
const mediaFiles = Array.from(files).map((file) => {
|
|
3022
|
-
return Object.assign(file, {
|
|
3099
|
+
return Object.assign(file, {
|
|
3100
|
+
isLoadingMedia: false,
|
|
3101
|
+
internal_id: uuid.v4(),
|
|
3102
|
+
});
|
|
3023
3103
|
});
|
|
3024
3104
|
if (mediaFiles.length === 0)
|
|
3025
3105
|
return;
|
|
@@ -3208,7 +3288,7 @@ const editorExtensions = ({ placeholderOptions, mentionableUsers, }) => {
|
|
|
3208
3288
|
},
|
|
3209
3289
|
}),
|
|
3210
3290
|
Dropcursor__default["default"].configure({
|
|
3211
|
-
color:
|
|
3291
|
+
color: getColor(colors.accentHue, 700),
|
|
3212
3292
|
width: 3,
|
|
3213
3293
|
}),
|
|
3214
3294
|
Placeholder__default["default"].configure(Object.assign({ placeholder: ({ node }) => {
|
|
@@ -3280,129 +3360,210 @@ const editorExtensions = ({ placeholderOptions, mentionableUsers, }) => {
|
|
|
3280
3360
|
];
|
|
3281
3361
|
};
|
|
3282
3362
|
|
|
3363
|
+
var _circle$3, _path$p, _path2$6;
|
|
3364
|
+
function _extends$u() { _extends$u = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$u.apply(this, arguments); }
|
|
3365
|
+
const SvgRemoveMediaIcon = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$u({
|
|
3366
|
+
width: 56,
|
|
3367
|
+
height: 56,
|
|
3368
|
+
viewBox: "0 0 56 56",
|
|
3369
|
+
fill: "#68737d",
|
|
3370
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
3371
|
+
}, props), _circle$3 || (_circle$3 = /*#__PURE__*/React__namespace.createElement("circle", {
|
|
3372
|
+
cx: 28,
|
|
3373
|
+
cy: 28,
|
|
3374
|
+
r: 28,
|
|
3375
|
+
fill: "#edf7ff"
|
|
3376
|
+
})), _path$p || (_path$p = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3377
|
+
d: "M16.929 16.929L39.071 39.071",
|
|
3378
|
+
stroke: "currentColor",
|
|
3379
|
+
strokeWidth: 4
|
|
3380
|
+
})), _path2$6 || (_path2$6 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3381
|
+
d: "M16.929 39.071L39.071 16.929",
|
|
3382
|
+
stroke: "currentColor",
|
|
3383
|
+
strokeWidth: 4
|
|
3384
|
+
})));
|
|
3385
|
+
|
|
3283
3386
|
const StyledDeleteThumbnailX = styled__default["default"].div `
|
|
3284
3387
|
position: absolute;
|
|
3285
3388
|
top: 0;
|
|
3286
3389
|
right: 0;
|
|
3287
|
-
color: white;
|
|
3288
|
-
cursor: pointer;
|
|
3289
|
-
font-size: 15px;
|
|
3290
|
-
background-color: gray;
|
|
3291
|
-
border-radius: 50%;
|
|
3292
|
-
width: 35px;
|
|
3293
|
-
height: 35px;
|
|
3294
3390
|
display: flex;
|
|
3295
|
-
|
|
3296
|
-
|
|
3391
|
+
cursor: pointer;
|
|
3392
|
+
width: 32px;
|
|
3393
|
+
height: 32px;
|
|
3297
3394
|
opacity: 0;
|
|
3395
|
+
z-index: 2;
|
|
3298
3396
|
`;
|
|
3299
|
-
const DeleteThumbnailX = ({
|
|
3300
|
-
return (jsxRuntime.jsx(StyledDeleteThumbnailX, Object.assign({ className: "deleteThumbnail"
|
|
3397
|
+
const DeleteThumbnailX = ({ deleteThumbnail }) => {
|
|
3398
|
+
return (jsxRuntime.jsx(StyledDeleteThumbnailX, Object.assign({ className: "deleteThumbnail" }, { children: jsxRuntime.jsx(SvgRemoveMediaIcon, { onClick: (e) => deleteThumbnail(e) }) })));
|
|
3301
3399
|
};
|
|
3302
3400
|
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
width: 16,
|
|
3308
|
-
height: 16,
|
|
3309
|
-
focusable: "false",
|
|
3310
|
-
viewBox: "0 0 16 16"
|
|
3311
|
-
}, props), _path$n || (_path$n = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3312
|
-
fill: "currentColor",
|
|
3313
|
-
d: "M6 15.79c-.13 0-.26-.03-.38-.08a.977.977 0 01-.62-.92V1.21a1 1 0 01.62-.93C6 .12 6.42.21 6.71.5l6.44 6.44c.58.58.58 1.54 0 2.12L6.71 15.5c-.19.19-.45.29-.71.29z"
|
|
3314
|
-
})));
|
|
3315
|
-
|
|
3316
|
-
const StyledThumbnail = styled__default["default"].div `
|
|
3317
|
-
border-radius: 4%;
|
|
3318
|
-
height: 90px;
|
|
3319
|
-
width: 80px;
|
|
3320
|
-
justify-content: center;
|
|
3321
|
-
padding: 1px;
|
|
3322
|
-
position: relative;
|
|
3323
|
-
cursor: pointer;
|
|
3324
|
-
background-color: rgb(209, 207, 207);
|
|
3325
|
-
img {
|
|
3326
|
-
width: 100%;
|
|
3327
|
-
height: 100%;
|
|
3328
|
-
border-radius: 4%;
|
|
3329
|
-
}
|
|
3330
|
-
.thumbnailLabel {
|
|
3331
|
-
position: absolute;
|
|
3332
|
-
bottom: 1px;
|
|
3333
|
-
left: 5px;
|
|
3334
|
-
color: black;
|
|
3335
|
-
font-size: 10px;
|
|
3336
|
-
font-weight: 100;
|
|
3401
|
+
const ImageCard = styled__default["default"](SpecialCard) `
|
|
3402
|
+
padding: 0;
|
|
3403
|
+
:hover .deleteThumbnail {
|
|
3404
|
+
opacity: 1;
|
|
3337
3405
|
}
|
|
3338
3406
|
`;
|
|
3339
|
-
const
|
|
3340
|
-
|
|
3407
|
+
const Preview$1 = styled__default["default"].div `
|
|
3408
|
+
display: flex;
|
|
3409
|
+
justify-content: center;
|
|
3410
|
+
align-items: center;
|
|
3411
|
+
height: 150px;
|
|
3412
|
+
width: 100%;
|
|
3413
|
+
background-image: url(${(props) => props.url});
|
|
3414
|
+
background-color: ${({ theme }) => theme.palette.grey[100]};
|
|
3415
|
+
background-size: contain;
|
|
3416
|
+
background-position: center;
|
|
3417
|
+
background-repeat: no-repeat;
|
|
3418
|
+
`;
|
|
3419
|
+
const ImageThumbnail = ({ src, index = 0, removeThumbnail, clickThumbnail, showX = true, isLoadingMedia = true, isError = false, }) => {
|
|
3341
3420
|
const handleCancel = (e) => {
|
|
3342
3421
|
e.stopPropagation();
|
|
3343
3422
|
if (removeThumbnail)
|
|
3344
3423
|
removeThumbnail(index);
|
|
3345
3424
|
};
|
|
3346
|
-
return (jsxRuntime.jsxs(
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
} }, { children: [jsxRuntime.jsx(SvgPlayFill, { style: {
|
|
3354
|
-
position: "absolute",
|
|
3355
|
-
top: "35%",
|
|
3356
|
-
left: "35%",
|
|
3357
|
-
width: "30px",
|
|
3358
|
-
height: "30px",
|
|
3359
|
-
backgroundColor: "white",
|
|
3360
|
-
borderRadius: "50%",
|
|
3361
|
-
} }), jsxRuntime.jsx("video", Object.assign({ width: "80", height: "89" }, { children: jsxRuntime.jsx("source", { src: src, type: "video/mp4" }) }))] }))), showLabel && jsxRuntime.jsx("span", Object.assign({ className: "thumbnailLabel" }, { children: label }))] })));
|
|
3425
|
+
return (jsxRuntime.jsxs(ImageCard, Object.assign({ onClick: clickThumbnail }, { children: [isLoadingMedia && (jsxRuntime.jsx(Preview$1, Object.assign({ url: "" }, { children: jsxRuntime.jsx(reactLoaders.Spinner, { style: {
|
|
3426
|
+
display: "flex",
|
|
3427
|
+
alignItems: "center",
|
|
3428
|
+
justifyContent: "center",
|
|
3429
|
+
}, size: "large" }) }))), isError && (
|
|
3430
|
+
// todo: add error icon
|
|
3431
|
+
jsxRuntime.jsx("span", { children: "error uploading media" })), !isLoadingMedia && (jsxRuntime.jsx(Preview$1, Object.assign({ url: src }, { children: showX && (jsxRuntime.jsx(DeleteThumbnailX, { deleteThumbnail: (e) => handleCancel(e) })) })))] })));
|
|
3362
3432
|
};
|
|
3363
3433
|
|
|
3364
|
-
|
|
3365
|
-
|
|
3366
|
-
|
|
3367
|
-
|
|
3368
|
-
|
|
3369
|
-
|
|
3370
|
-
|
|
3371
|
-
|
|
3372
|
-
|
|
3373
|
-
|
|
3374
|
-
|
|
3375
|
-
|
|
3434
|
+
var _circle$2, _path$o;
|
|
3435
|
+
function _extends$t() { _extends$t = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$t.apply(this, arguments); }
|
|
3436
|
+
const SvgVideoPlayIcon = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$t({
|
|
3437
|
+
width: 56,
|
|
3438
|
+
height: 56,
|
|
3439
|
+
viewBox: "0 0 56 56",
|
|
3440
|
+
fill: "none",
|
|
3441
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
3442
|
+
}, props), _circle$2 || (_circle$2 = /*#__PURE__*/React__namespace.createElement("circle", {
|
|
3443
|
+
cx: 28,
|
|
3444
|
+
cy: 28,
|
|
3445
|
+
r: 28,
|
|
3446
|
+
fill: "white"
|
|
3447
|
+
})), _path$o || (_path$o = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3448
|
+
d: "M47 28L18.5 44.4545L18.5 11.5455L47 28Z",
|
|
3449
|
+
fill: "currentColor"
|
|
3450
|
+
})));
|
|
3451
|
+
|
|
3452
|
+
const VideoCard = styled__default["default"](SpecialCard) `
|
|
3453
|
+
padding: 0;
|
|
3454
|
+
position: relative;
|
|
3455
|
+
overflow: hidden;
|
|
3456
|
+
|
|
3457
|
+
&:hover .deleteThumbnail {
|
|
3458
|
+
opacity: 1;
|
|
3376
3459
|
z-index: 9999;
|
|
3377
3460
|
}
|
|
3378
|
-
|
|
3379
|
-
|
|
3380
|
-
|
|
3381
|
-
|
|
3382
|
-
|
|
3383
|
-
|
|
3384
|
-
|
|
3385
|
-
|
|
3386
|
-
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3400
|
-
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
|
|
3404
|
-
|
|
3405
|
-
|
|
3461
|
+
|
|
3462
|
+
&:before {
|
|
3463
|
+
content: "";
|
|
3464
|
+
position: absolute;
|
|
3465
|
+
top: 0;
|
|
3466
|
+
left: 0;
|
|
3467
|
+
width: 100%;
|
|
3468
|
+
height: 100%;
|
|
3469
|
+
background-color: ${({ theme }) => theme.palette.grey[800]};
|
|
3470
|
+
opacity: 0.3;
|
|
3471
|
+
z-index: 1;
|
|
3472
|
+
}
|
|
3473
|
+
|
|
3474
|
+
> svg {
|
|
3475
|
+
position: absolute;
|
|
3476
|
+
top: 50%;
|
|
3477
|
+
left: 50%;
|
|
3478
|
+
transform: translate(-50%, -50%);
|
|
3479
|
+
width: 32px;
|
|
3480
|
+
height: 32px;
|
|
3481
|
+
z-index: 2;
|
|
3482
|
+
}
|
|
3483
|
+
`;
|
|
3484
|
+
const Preview = styled__default["default"].div `
|
|
3485
|
+
padding: ${({ theme }) => theme.space.md};
|
|
3486
|
+
display: flex;
|
|
3487
|
+
justify-content: center;
|
|
3488
|
+
align-items: center;
|
|
3489
|
+
height: 150px;
|
|
3490
|
+
width: 100%;
|
|
3491
|
+
|
|
3492
|
+
> video {
|
|
3493
|
+
width: 100%;
|
|
3494
|
+
height: 100%;
|
|
3495
|
+
}
|
|
3496
|
+
`;
|
|
3497
|
+
const VideoThumbnail = ({ src, index = 0, removeThumbnail, clickThumbnail, showX = true, isLoadingMedia = true, isError = false, }) => {
|
|
3498
|
+
const handleCancel = (e) => {
|
|
3499
|
+
e.stopPropagation();
|
|
3500
|
+
if (removeThumbnail)
|
|
3501
|
+
removeThumbnail(index);
|
|
3502
|
+
};
|
|
3503
|
+
return (jsxRuntime.jsxs(VideoCard, Object.assign({ onClick: clickThumbnail }, { children: [isLoadingMedia && (jsxRuntime.jsx(Preview, { children: jsxRuntime.jsx(reactLoaders.Spinner, { style: {
|
|
3504
|
+
display: "flex",
|
|
3505
|
+
alignItems: "center",
|
|
3506
|
+
justifyContent: "center",
|
|
3507
|
+
}, size: "large" }) })), isError && (
|
|
3508
|
+
// todo: add error icon
|
|
3509
|
+
jsxRuntime.jsx("span", { children: "error uploading media" })), !isLoadingMedia && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [showX && (jsxRuntime.jsx(DeleteThumbnailX, { deleteThumbnail: (e) => handleCancel(e) })), jsxRuntime.jsx(Preview, { children: jsxRuntime.jsx("video", Object.assign({ src: src }, { children: jsxRuntime.jsx("track", { kind: "captions" }) })) }), jsxRuntime.jsx(SvgVideoPlayIcon, {})] }))] })));
|
|
3510
|
+
};
|
|
3511
|
+
|
|
3512
|
+
const UgGrid = styled__default["default"](reactGrid.Grid) `
|
|
3513
|
+
padding-left: 0;
|
|
3514
|
+
padding-right: 0;
|
|
3515
|
+
`;
|
|
3516
|
+
/**
|
|
3517
|
+
* The Grid component is a framework for building modular layouts.
|
|
3518
|
+
* <hr>
|
|
3519
|
+
* Used for this:
|
|
3520
|
+
- To structure the layout of a page
|
|
3521
|
+
*/
|
|
3522
|
+
const Grid = (props) => jsxRuntime.jsx(UgGrid, Object.assign({}, props));
|
|
3523
|
+
|
|
3524
|
+
const Row$1 = (props) => jsxRuntime.jsx(reactGrid.Row, Object.assign({}, props));
|
|
3525
|
+
|
|
3526
|
+
const StyledCol$1 = styled__default["default"](reactGrid.Col) `
|
|
3527
|
+
margin-bottom: ${theme.space.lg};
|
|
3528
|
+
|
|
3529
|
+
@media screen and (max-width: ${theme.breakpoints.sm}) {
|
|
3530
|
+
margin-bottom: ${theme.space.md};
|
|
3531
|
+
}
|
|
3532
|
+
`;
|
|
3533
|
+
const Col = (props) => jsxRuntime.jsx(StyledCol$1, Object.assign({}, props));
|
|
3534
|
+
|
|
3535
|
+
const ThumbnailContainer = ({ openLightbox }) => {
|
|
3536
|
+
const { thumbnails, removeThumbnail, onDeleteThumbnail } = useChatContext();
|
|
3537
|
+
const mediaFiles = React.useMemo(() => {
|
|
3538
|
+
return thumbnails.map((file) => ({
|
|
3539
|
+
fileName: file.name,
|
|
3540
|
+
fileType: file.type,
|
|
3541
|
+
previewUrl: URL.createObjectURL(file),
|
|
3542
|
+
internal_id: file.internal_id,
|
|
3543
|
+
isLoadingMedia: file.isLoadingMedia,
|
|
3544
|
+
}));
|
|
3545
|
+
}, [thumbnails]);
|
|
3546
|
+
if (!mediaFiles || mediaFiles.length === 0) {
|
|
3547
|
+
return null;
|
|
3548
|
+
}
|
|
3549
|
+
return (jsxRuntime.jsx(Grid, { children: jsxRuntime.jsx(Row$1, Object.assign({ className: "responsive-container" }, { children: mediaFiles.map((file, index) => {
|
|
3550
|
+
// Check if item is an image or a video
|
|
3551
|
+
if (file.fileType.includes("image"))
|
|
3552
|
+
return (jsxRuntime.jsx(Col, Object.assign({ xs: 12, sm: 3, xl: 3, lg: 3, className: "flex-3-sm" }, { children: jsxRuntime.jsx(ImageThumbnail, { src: file.previewUrl, index: index, showX: true, isLoadingMedia: file.isLoadingMedia, removeThumbnail: () => {
|
|
3553
|
+
removeThumbnail(index);
|
|
3554
|
+
onDeleteThumbnail(file.internal_id);
|
|
3555
|
+
}, clickThumbnail: () => {
|
|
3556
|
+
openLightbox(thumbnails[index], index);
|
|
3557
|
+
} }, index) })));
|
|
3558
|
+
if (file.fileType.includes("video"))
|
|
3559
|
+
return (jsxRuntime.jsx(Col, Object.assign({ xs: 12, sm: 3, className: "flex-3-sm" }, { children: jsxRuntime.jsx(VideoThumbnail, { src: file.previewUrl, index: index, showX: true, isLoadingMedia: file.isLoadingMedia, removeThumbnail: () => {
|
|
3560
|
+
removeThumbnail(index);
|
|
3561
|
+
onDeleteThumbnail(file.internal_id);
|
|
3562
|
+
}, clickThumbnail: () => {
|
|
3563
|
+
openLightbox(thumbnails[index], index);
|
|
3564
|
+
} }, index) })));
|
|
3565
|
+
return null;
|
|
3566
|
+
}) })) }));
|
|
3406
3567
|
};
|
|
3407
3568
|
|
|
3408
3569
|
const UgModalBody = styled__default["default"](reactModals.Body) `
|
|
@@ -3471,28 +3632,28 @@ Lightbox.Body = ModalBody; // Includes Main and Details
|
|
|
3471
3632
|
Lightbox.Footer = Footer$3;
|
|
3472
3633
|
Lightbox.Close = reactModals.Close;
|
|
3473
3634
|
|
|
3474
|
-
var _path$
|
|
3475
|
-
function _extends$
|
|
3476
|
-
const SvgChevronLeftStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
3635
|
+
var _path$n;
|
|
3636
|
+
function _extends$s() { _extends$s = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$s.apply(this, arguments); }
|
|
3637
|
+
const SvgChevronLeftStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$s({
|
|
3477
3638
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3478
3639
|
width: 16,
|
|
3479
3640
|
height: 16,
|
|
3480
3641
|
focusable: "false",
|
|
3481
3642
|
viewBox: "0 0 16 16"
|
|
3482
|
-
}, props), _path$
|
|
3643
|
+
}, props), _path$n || (_path$n = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3483
3644
|
fill: "currentColor",
|
|
3484
3645
|
d: "M10.39 12.688a.5.5 0 01-.718.69l-.062-.066-4-5a.5.5 0 01-.054-.542l.054-.082 4-5a.5.5 0 01.83.55l-.05.074L6.641 8l3.75 4.688z"
|
|
3485
3646
|
})));
|
|
3486
3647
|
|
|
3487
|
-
var _path$
|
|
3488
|
-
function _extends$
|
|
3489
|
-
const SvgChevronRightStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
3648
|
+
var _path$m;
|
|
3649
|
+
function _extends$r() { _extends$r = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$r.apply(this, arguments); }
|
|
3650
|
+
const SvgChevronRightStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$r({
|
|
3490
3651
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3491
3652
|
width: 16,
|
|
3492
3653
|
height: 16,
|
|
3493
3654
|
focusable: "false",
|
|
3494
3655
|
viewBox: "0 0 16 16"
|
|
3495
|
-
}, props), _path$
|
|
3656
|
+
}, props), _path$m || (_path$m = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3496
3657
|
fill: "currentColor",
|
|
3497
3658
|
d: "M5.61 3.312a.5.5 0 01.718-.69l.062.066 4 5a.5.5 0 01.054.542l-.054.082-4 5a.5.5 0 01-.83-.55l.05-.074L9.359 8l-3.75-4.688z"
|
|
3498
3659
|
})));
|
|
@@ -3715,81 +3876,270 @@ Slider.Slide = Slide;
|
|
|
3715
3876
|
Slider.PrevButton = PrevButton;
|
|
3716
3877
|
Slider.NextButton = NextButton;
|
|
3717
3878
|
|
|
3718
|
-
|
|
3719
|
-
|
|
3720
|
-
|
|
3721
|
-
|
|
3722
|
-
|
|
3723
|
-
|
|
3724
|
-
|
|
3725
|
-
|
|
3726
|
-
|
|
3727
|
-
|
|
3728
|
-
|
|
3729
|
-
|
|
3879
|
+
var _path$l, _path2$5;
|
|
3880
|
+
function _extends$q() { _extends$q = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$q.apply(this, arguments); }
|
|
3881
|
+
const SvgVolumeMutedFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$q({
|
|
3882
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3883
|
+
width: 16,
|
|
3884
|
+
height: 16,
|
|
3885
|
+
focusable: "false",
|
|
3886
|
+
viewBox: "0 0 16 16"
|
|
3887
|
+
}, props), _path$l || (_path$l = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3888
|
+
stroke: "currentColor",
|
|
3889
|
+
strokeLinecap: "round",
|
|
3890
|
+
d: "M11.5 10l4-4m-4 0l4 4"
|
|
3891
|
+
})), _path2$5 || (_path2$5 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3892
|
+
fill: "currentColor",
|
|
3893
|
+
d: "M9 15.29c-.26 0-.51-.1-.71-.29l-4-4H1c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h3.29l4-4a1.002 1.002 0 011.71.71V14.3a.986.986 0 01-1 .99z"
|
|
3894
|
+
})));
|
|
3730
3895
|
|
|
3731
|
-
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
|
|
3735
|
-
|
|
3736
|
-
|
|
3737
|
-
|
|
3738
|
-
|
|
3739
|
-
|
|
3740
|
-
|
|
3741
|
-
|
|
3742
|
-
|
|
3743
|
-
|
|
3744
|
-
|
|
3745
|
-
|
|
3746
|
-
|
|
3747
|
-
|
|
3748
|
-
|
|
3749
|
-
|
|
3750
|
-
|
|
3896
|
+
var _path$k, _path2$4;
|
|
3897
|
+
function _extends$p() { _extends$p = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$p.apply(this, arguments); }
|
|
3898
|
+
const SvgVolumeUnmutedFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$p({
|
|
3899
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
3900
|
+
width: 16,
|
|
3901
|
+
height: 16,
|
|
3902
|
+
focusable: "false",
|
|
3903
|
+
viewBox: "0 0 16 16"
|
|
3904
|
+
}, props), _path$k || (_path$k = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3905
|
+
fill: "currentColor",
|
|
3906
|
+
d: "M9 15.29c-.26 0-.51-.1-.71-.29l-4-4H1c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h3.29l4-4a1.002 1.002 0 011.71.71V14.3a.986.986 0 01-1 .99z"
|
|
3907
|
+
})), _path2$4 || (_path2$4 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3908
|
+
fill: "none",
|
|
3909
|
+
stroke: "currentColor",
|
|
3910
|
+
strokeLinecap: "round",
|
|
3911
|
+
d: "M11.77 9.77c.45-.45.73-1.08.73-1.77s-.28-1.31-.73-1.77m2.17 5.6c.97-.99 1.56-2.34 1.56-3.83 0-1.52-.62-2.89-1.61-3.89"
|
|
3912
|
+
})));
|
|
3913
|
+
|
|
3914
|
+
const AudioButton = () => {
|
|
3915
|
+
const [hasAudio, setHasAudio] = React.useState(false);
|
|
3916
|
+
const { isMuted, setMuted, context } = Video.useVideoContext();
|
|
3917
|
+
const { player } = context;
|
|
3918
|
+
const checkAudio = (video) => {
|
|
3919
|
+
if (!video) {
|
|
3920
|
+
return false;
|
|
3921
|
+
}
|
|
3922
|
+
const videohasAudio = video.mozHasAudio ||
|
|
3923
|
+
Boolean(video.webkitAudioDecodedByteCount) ||
|
|
3924
|
+
Boolean(video.audioTracks && video.audioTracks.length);
|
|
3925
|
+
setHasAudio(videohasAudio);
|
|
3926
|
+
};
|
|
3927
|
+
const hasVolume = (video) => {
|
|
3928
|
+
if (!video) {
|
|
3929
|
+
return false;
|
|
3930
|
+
}
|
|
3931
|
+
return video.volume > 0;
|
|
3932
|
+
};
|
|
3933
|
+
React.useEffect(() => {
|
|
3934
|
+
if (player && (player === null || player === void 0 ? void 0 : player.ref)) {
|
|
3935
|
+
setMuted(!hasVolume(player.ref.current));
|
|
3936
|
+
checkAudio(player.ref.current);
|
|
3937
|
+
}
|
|
3938
|
+
}, [context.isPlaying, isMuted]);
|
|
3939
|
+
return (jsxRuntime.jsx(IconButton, Object.assign({ isBright: true, disabled: !hasAudio, onClick: () => {
|
|
3940
|
+
if (player === null || player === void 0 ? void 0 : player.ref.current) {
|
|
3941
|
+
player.ref.current.volume = player.ref.current.volume > 0 ? 0 : 1;
|
|
3942
|
+
setMuted(!player.ref.current.volume);
|
|
3943
|
+
}
|
|
3944
|
+
} }, { children: isMuted || !hasAudio ? jsxRuntime.jsx(SvgVolumeMutedFill, {}) : jsxRuntime.jsx(SvgVolumeUnmutedFill, {}) })));
|
|
3751
3945
|
};
|
|
3752
3946
|
|
|
3753
|
-
|
|
3947
|
+
const ProgressContext = React.createContext(null);
|
|
3948
|
+
const ProgressContextProvider = ({ children, }) => {
|
|
3949
|
+
const [isGrabbing, setIsGrabbing] = React.useState(false);
|
|
3950
|
+
const [fromEnd, setFromEnd] = React.useState(false);
|
|
3951
|
+
const [activeBookmark, setactiveBookmark] = React.useState(undefined);
|
|
3952
|
+
const progressContextValue = React.useMemo(() => ({
|
|
3953
|
+
isGrabbing,
|
|
3954
|
+
fromEnd,
|
|
3955
|
+
activeBookmark,
|
|
3956
|
+
setIsGrabbing,
|
|
3957
|
+
setFromEnd,
|
|
3958
|
+
setactiveBookmark,
|
|
3959
|
+
reset: () => {
|
|
3960
|
+
setIsGrabbing(false);
|
|
3961
|
+
setFromEnd(false);
|
|
3962
|
+
setactiveBookmark(undefined);
|
|
3963
|
+
},
|
|
3964
|
+
}), [isGrabbing, fromEnd, activeBookmark]);
|
|
3965
|
+
return (jsxRuntime.jsx(ProgressContext.Provider, Object.assign({ value: progressContextValue }, { children: children })));
|
|
3966
|
+
};
|
|
3967
|
+
const useProgressContext = () => {
|
|
3968
|
+
const context = React.useContext(ProgressContext);
|
|
3969
|
+
if (!context)
|
|
3970
|
+
throw new Error("Provider not found for ProgressContextProvider");
|
|
3971
|
+
return context; // Now we can use the context in the component, SAFELY.
|
|
3972
|
+
};
|
|
3973
|
+
|
|
3974
|
+
var _g$2;
|
|
3754
3975
|
function _extends$o() { _extends$o = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$o.apply(this, arguments); }
|
|
3755
|
-
const
|
|
3976
|
+
const SvgGrip = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$o({
|
|
3756
3977
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3757
3978
|
width: 16,
|
|
3758
3979
|
height: 16,
|
|
3759
3980
|
focusable: "false",
|
|
3760
3981
|
viewBox: "0 0 16 16"
|
|
3761
|
-
}, props), _g$
|
|
3982
|
+
}, props), _g$2 || (_g$2 = /*#__PURE__*/React__namespace.createElement("g", {
|
|
3762
3983
|
fill: "currentColor"
|
|
3763
3984
|
}, /*#__PURE__*/React__namespace.createElement("rect", {
|
|
3764
|
-
width:
|
|
3765
|
-
height:
|
|
3766
|
-
x:
|
|
3985
|
+
width: 2,
|
|
3986
|
+
height: 2,
|
|
3987
|
+
x: 5,
|
|
3767
3988
|
y: 1,
|
|
3768
|
-
rx:
|
|
3769
|
-
ry:
|
|
3989
|
+
rx: 0.5,
|
|
3990
|
+
ry: 0.5
|
|
3770
3991
|
}), /*#__PURE__*/React__namespace.createElement("rect", {
|
|
3771
|
-
width:
|
|
3772
|
-
height:
|
|
3992
|
+
width: 2,
|
|
3993
|
+
height: 2,
|
|
3773
3994
|
x: 9,
|
|
3774
3995
|
y: 1,
|
|
3775
|
-
rx:
|
|
3776
|
-
ry:
|
|
3996
|
+
rx: 0.5,
|
|
3997
|
+
ry: 0.5
|
|
3998
|
+
}), /*#__PURE__*/React__namespace.createElement("rect", {
|
|
3999
|
+
width: 2,
|
|
4000
|
+
height: 2,
|
|
4001
|
+
x: 5,
|
|
4002
|
+
y: 5,
|
|
4003
|
+
rx: 0.5,
|
|
4004
|
+
ry: 0.5
|
|
4005
|
+
}), /*#__PURE__*/React__namespace.createElement("rect", {
|
|
4006
|
+
width: 2,
|
|
4007
|
+
height: 2,
|
|
4008
|
+
x: 9,
|
|
4009
|
+
y: 5,
|
|
4010
|
+
rx: 0.5,
|
|
4011
|
+
ry: 0.5
|
|
4012
|
+
}), /*#__PURE__*/React__namespace.createElement("rect", {
|
|
4013
|
+
width: 2,
|
|
4014
|
+
height: 2,
|
|
4015
|
+
x: 5,
|
|
4016
|
+
y: 9,
|
|
4017
|
+
rx: 0.5,
|
|
4018
|
+
ry: 0.5
|
|
4019
|
+
}), /*#__PURE__*/React__namespace.createElement("rect", {
|
|
4020
|
+
width: 2,
|
|
4021
|
+
height: 2,
|
|
4022
|
+
x: 9,
|
|
4023
|
+
y: 9,
|
|
4024
|
+
rx: 0.5,
|
|
4025
|
+
ry: 0.5
|
|
4026
|
+
}), /*#__PURE__*/React__namespace.createElement("rect", {
|
|
4027
|
+
width: 2,
|
|
4028
|
+
height: 2,
|
|
4029
|
+
x: 5,
|
|
4030
|
+
y: 13,
|
|
4031
|
+
rx: 0.5,
|
|
4032
|
+
ry: 0.5
|
|
4033
|
+
}), /*#__PURE__*/React__namespace.createElement("rect", {
|
|
4034
|
+
width: 2,
|
|
4035
|
+
height: 2,
|
|
4036
|
+
x: 9,
|
|
4037
|
+
y: 13,
|
|
4038
|
+
rx: 0.5,
|
|
4039
|
+
ry: 0.5
|
|
3777
4040
|
}))));
|
|
3778
4041
|
|
|
3779
|
-
|
|
4042
|
+
const StyledGrabber = styled.styled.div `
|
|
4043
|
+
position: absolute;
|
|
4044
|
+
display: none;
|
|
4045
|
+
${({ isEnd }) => isEnd
|
|
4046
|
+
? `
|
|
4047
|
+
right: 0;
|
|
4048
|
+
border-top-right-radius: 2px;
|
|
4049
|
+
border-bottom-right-radius: 2px;
|
|
4050
|
+
`
|
|
4051
|
+
: `
|
|
4052
|
+
left: 0;
|
|
4053
|
+
border-top-left-radius: 2px;
|
|
4054
|
+
border-bottom-left-radius: 2px;
|
|
4055
|
+
`}
|
|
4056
|
+
height: 100%;
|
|
4057
|
+
width: 8px;
|
|
4058
|
+
background-color: white;
|
|
4059
|
+
z-index: 2;
|
|
4060
|
+
cursor: ew-resize;
|
|
4061
|
+
|
|
4062
|
+
div {
|
|
4063
|
+
display: flex;
|
|
4064
|
+
justify-content: center;
|
|
4065
|
+
align-items: center;
|
|
4066
|
+
height: 100%;
|
|
4067
|
+
width: 100%;
|
|
4068
|
+
color: ${({ theme }) => theme.palette.grey[500]};
|
|
4069
|
+
svg {
|
|
4070
|
+
width: auto;
|
|
4071
|
+
height: 50%;
|
|
4072
|
+
}
|
|
4073
|
+
}
|
|
4074
|
+
`;
|
|
4075
|
+
const activeBookMark = styled.css `
|
|
4076
|
+
height: 250%;
|
|
4077
|
+
transform: translateY(-30%);
|
|
4078
|
+
|
|
4079
|
+
${StyledGrabber} {
|
|
4080
|
+
display: block;
|
|
4081
|
+
}
|
|
4082
|
+
`;
|
|
4083
|
+
const Rect = styled.styled.div `
|
|
4084
|
+
position: absolute;
|
|
4085
|
+
height: 110%;
|
|
4086
|
+
background-color: ${({ hue, theme }) => hue || theme.palette.grey[800]};
|
|
4087
|
+
z-index: 1;
|
|
4088
|
+
border-radius: 2px;
|
|
4089
|
+
&:hover {
|
|
4090
|
+
${activeBookMark}
|
|
4091
|
+
border-radius: 4px;
|
|
4092
|
+
}
|
|
4093
|
+
color: white;
|
|
4094
|
+
${({ isActive }) => isActive && activeBookMark}
|
|
4095
|
+
|
|
4096
|
+
transition: width 0.1s ease;
|
|
4097
|
+
`;
|
|
4098
|
+
const Grabber = (props) => {
|
|
4099
|
+
const { observation } = props;
|
|
4100
|
+
const { setIsGrabbing, setactiveBookmark, setFromEnd } = useProgressContext();
|
|
4101
|
+
const handleDragStart = (e) => {
|
|
4102
|
+
setIsGrabbing(true);
|
|
4103
|
+
setactiveBookmark(observation);
|
|
4104
|
+
setFromEnd(!!props.isEnd);
|
|
4105
|
+
e.preventDefault();
|
|
4106
|
+
e.stopPropagation();
|
|
4107
|
+
};
|
|
4108
|
+
return (jsxRuntime.jsx(StyledGrabber, Object.assign({ isEnd: props.isEnd, onMouseDown: handleDragStart, onMouseMove: props.handleMouseMove }, { children: jsxRuntime.jsx("div", { children: jsxRuntime.jsx(SvgGrip, {}) }) })));
|
|
4109
|
+
};
|
|
4110
|
+
const Bookmark = (props) => {
|
|
4111
|
+
var _a, _b;
|
|
4112
|
+
const { start, end, hue, label } = props;
|
|
4113
|
+
const { context } = Video.useVideoContext();
|
|
4114
|
+
const videoStart = context.part.start || 0;
|
|
4115
|
+
const videoEnd = context.part.end || ((_a = context.player) === null || _a === void 0 ? void 0 : _a.totalTime) || 0;
|
|
4116
|
+
const duration = videoEnd - videoStart || ((_b = context.player) === null || _b === void 0 ? void 0 : _b.totalTime) || 0; //relative
|
|
4117
|
+
const { activeBookmark } = useProgressContext();
|
|
4118
|
+
if (!context.player || !context.player.ref) {
|
|
4119
|
+
return null;
|
|
4120
|
+
}
|
|
4121
|
+
if (start > videoEnd || start < videoStart)
|
|
4122
|
+
return null;
|
|
4123
|
+
return (jsxRuntime.jsx(Tooltip, Object.assign({ content: label, type: "light", size: "large" }, { children: jsxRuntime.jsxs(Rect, Object.assign({ isActive: activeBookmark && activeBookmark.id === props.id, hue: hue, style: {
|
|
4124
|
+
left: `${((start - videoStart) / duration) * 100}%`,
|
|
4125
|
+
width: `${((end - start) / duration) * 100}%`,
|
|
4126
|
+
}, onClick: props.onClick }, { children: [jsxRuntime.jsx(Grabber, { observation: props }), jsxRuntime.jsx(Grabber, { isEnd: true, observation: props })] })) })));
|
|
4127
|
+
};
|
|
4128
|
+
|
|
4129
|
+
var _path$j, _path2$3, _path3$1;
|
|
3780
4130
|
function _extends$n() { _extends$n = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$n.apply(this, arguments); }
|
|
3781
|
-
const
|
|
4131
|
+
const SvgBackSecondsFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$n({
|
|
3782
4132
|
width: 16,
|
|
3783
4133
|
height: 16,
|
|
3784
4134
|
viewBox: "0 0 16 16",
|
|
3785
4135
|
fill: "none",
|
|
3786
4136
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3787
|
-
}, props), _path$
|
|
4137
|
+
}, props), _path$j || (_path$j = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3788
4138
|
fillRule: "evenodd",
|
|
3789
4139
|
clipRule: "evenodd",
|
|
3790
|
-
d: "
|
|
4140
|
+
d: "M4.34099 3.5C5.25886 2.85974 6.34919 2.5 7.5 2.5C10.5477 2.5 13 4.95228 13 8C13 11.0477 10.5477 13.5 7.5 13.5C5.79771 13.5 4.25432 12.7171 3.18087 11.3753C2.83586 10.944 2.20657 10.8741 1.7753 11.2191C1.34404 11.5641 1.27412 12.1934 1.61913 12.6247C3.06275 14.4292 5.17372 15.5 7.5 15.5C11.6523 15.5 15 12.1523 15 8C15 3.84772 11.6523 0.5 7.5 0.5C5.84359 0.5 4.28318 1.04496 3 2.00147V1C3 0.447715 2.55229 0 2 0C1.44771 0 1 0.447715 1 1V4C1 4.85228 1.64772 5.5 2.5 5.5H5.5C6.05229 5.5 6.5 5.05228 6.5 4.5C6.5 3.94772 6.05229 3.5 5.5 3.5H4.34099Z",
|
|
3791
4141
|
fill: "currentColor"
|
|
3792
|
-
})), _path2$
|
|
4142
|
+
})), _path2$3 || (_path2$3 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3793
4143
|
d: "M5.5 7.63073V7.07008H6.67566V11H6.02566V7.63073H5.5Z",
|
|
3794
4144
|
fill: "currentColor"
|
|
3795
4145
|
})), _path3$1 || (_path3$1 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
@@ -3797,20 +4147,20 @@ const SvgForwardSecondsFill = props => /*#__PURE__*/React__namespace.createEleme
|
|
|
3797
4147
|
fill: "currentColor"
|
|
3798
4148
|
})));
|
|
3799
4149
|
|
|
3800
|
-
var _path$
|
|
4150
|
+
var _path$i, _path2$2, _path3;
|
|
3801
4151
|
function _extends$m() { _extends$m = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$m.apply(this, arguments); }
|
|
3802
|
-
const
|
|
4152
|
+
const SvgForwardSecondsFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$m({
|
|
3803
4153
|
width: 16,
|
|
3804
4154
|
height: 16,
|
|
3805
4155
|
viewBox: "0 0 16 16",
|
|
3806
4156
|
fill: "none",
|
|
3807
4157
|
xmlns: "http://www.w3.org/2000/svg"
|
|
3808
|
-
}, props), _path$
|
|
4158
|
+
}, props), _path$i || (_path$i = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3809
4159
|
fillRule: "evenodd",
|
|
3810
4160
|
clipRule: "evenodd",
|
|
3811
|
-
d: "
|
|
4161
|
+
d: "M11.659 3.5C10.7411 2.85974 9.65081 2.5 8.5 2.5C5.45228 2.5 3 4.95228 3 8C3 11.0477 5.45228 13.5 8.5 13.5C10.2023 13.5 11.7457 12.7171 12.8191 11.3753C13.1641 10.944 13.7934 10.8741 14.2247 11.2191C14.656 11.5641 14.7259 12.1934 14.3809 12.6247C12.9372 14.4292 10.8263 15.5 8.5 15.5C4.34772 15.5 1 12.1523 1 8C1 3.84772 4.34772 0.5 8.5 0.5C10.1564 0.5 11.7168 1.04496 13 2.00147V1C13 0.447715 13.4477 0 14 0C14.5523 0 15 0.447715 15 1V4C15 4.85228 14.3523 5.5 13.5 5.5H10.5C9.94771 5.5 9.5 5.05228 9.5 4.5C9.5 3.94772 9.94771 3.5 10.5 3.5H11.659Z",
|
|
3812
4162
|
fill: "currentColor"
|
|
3813
|
-
})), _path2$
|
|
4163
|
+
})), _path2$2 || (_path2$2 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3814
4164
|
d: "M5.5 7.63073V7.07008H6.67566V11H6.02566V7.63073H5.5Z",
|
|
3815
4165
|
fill: "currentColor"
|
|
3816
4166
|
})), _path3 || (_path3 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
@@ -3818,18 +4168,57 @@ const SvgBackSecondsFill = props => /*#__PURE__*/React__namespace.createElement(
|
|
|
3818
4168
|
fill: "currentColor"
|
|
3819
4169
|
})));
|
|
3820
4170
|
|
|
3821
|
-
var
|
|
4171
|
+
var _g$1;
|
|
3822
4172
|
function _extends$l() { _extends$l = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$l.apply(this, arguments); }
|
|
3823
|
-
const
|
|
4173
|
+
const SvgPauseFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$l({
|
|
4174
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4175
|
+
width: 16,
|
|
4176
|
+
height: 16,
|
|
4177
|
+
focusable: "false",
|
|
4178
|
+
viewBox: "0 0 16 16"
|
|
4179
|
+
}, props), _g$1 || (_g$1 = /*#__PURE__*/React__namespace.createElement("g", {
|
|
4180
|
+
fill: "currentColor"
|
|
4181
|
+
}, /*#__PURE__*/React__namespace.createElement("rect", {
|
|
4182
|
+
width: 4,
|
|
4183
|
+
height: 14,
|
|
4184
|
+
x: 3,
|
|
4185
|
+
y: 1,
|
|
4186
|
+
rx: 1,
|
|
4187
|
+
ry: 1
|
|
4188
|
+
}), /*#__PURE__*/React__namespace.createElement("rect", {
|
|
4189
|
+
width: 4,
|
|
4190
|
+
height: 14,
|
|
4191
|
+
x: 9,
|
|
4192
|
+
y: 1,
|
|
4193
|
+
rx: 1,
|
|
4194
|
+
ry: 1
|
|
4195
|
+
}))));
|
|
4196
|
+
|
|
4197
|
+
var _path$h;
|
|
4198
|
+
function _extends$k() { _extends$k = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$k.apply(this, arguments); }
|
|
4199
|
+
const SvgPlayFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$k({
|
|
4200
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4201
|
+
width: 16,
|
|
4202
|
+
height: 16,
|
|
4203
|
+
focusable: "false",
|
|
4204
|
+
viewBox: "0 0 16 16"
|
|
4205
|
+
}, props), _path$h || (_path$h = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4206
|
+
fill: "currentColor",
|
|
4207
|
+
d: "M6 15.79c-.13 0-.26-.03-.38-.08a.977.977 0 01-.62-.92V1.21a1 1 0 01.62-.93C6 .12 6.42.21 6.71.5l6.44 6.44c.58.58.58 1.54 0 2.12L6.71 15.5c-.19.19-.45.29-.71.29z"
|
|
4208
|
+
})));
|
|
4209
|
+
|
|
4210
|
+
var _path$g, _path2$1;
|
|
4211
|
+
function _extends$j() { _extends$j = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$j.apply(this, arguments); }
|
|
4212
|
+
const SvgPreviousFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$j({
|
|
3824
4213
|
xmlns: "http://www.w3.org/2000/svg",
|
|
3825
4214
|
width: 16,
|
|
3826
4215
|
height: 16,
|
|
3827
4216
|
focusable: "false",
|
|
3828
4217
|
viewBox: "0 0 24 24"
|
|
3829
|
-
}, props), _path$
|
|
4218
|
+
}, props), _path$g || (_path$g = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3830
4219
|
d: "M2.75 20C2.75 20.5523 3.19772 21 3.75 21C4.30228 21 4.75 20.5523 4.75 20L4.75 4C4.75 3.44772 4.30229 3 3.75 3C3.19772 3 2.75 3.44772 2.75 4V20Z",
|
|
3831
4220
|
fill: "currentColor"
|
|
3832
|
-
})), _path2$
|
|
4221
|
+
})), _path2$1 || (_path2$1 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3833
4222
|
d: "M20.75 19.0526C20.75 20.4774 19.1383 21.305 17.9803 20.4748L7.51062 12.9682C6.50574 12.2477 6.54467 10.7407 7.5854 10.073L18.0551 3.35665C19.2198 2.60946 20.75 3.44583 20.75 4.82961L20.75 19.0526Z",
|
|
3834
4223
|
fill: "currentColor"
|
|
3835
4224
|
})));
|
|
@@ -3859,8 +4248,9 @@ const getNextPlaybackRate = (rate = 1) => {
|
|
|
3859
4248
|
const StyledDiv$3 = styled__default["default"].div `
|
|
3860
4249
|
display: flex;
|
|
3861
4250
|
align-items: center;
|
|
4251
|
+
justify-content: center;
|
|
3862
4252
|
`;
|
|
3863
|
-
const ControlsGroupCenter = () => {
|
|
4253
|
+
const ControlsGroupCenter = (props) => {
|
|
3864
4254
|
var _a;
|
|
3865
4255
|
const [playBackRate, setPlayBackRate] = React.useState(1);
|
|
3866
4256
|
const { context, togglePlay } = Video.useVideoContext();
|
|
@@ -3883,7 +4273,7 @@ const ControlsGroupCenter = () => {
|
|
|
3883
4273
|
const nextTime = videoRef.currentTime + 10;
|
|
3884
4274
|
videoRef.currentTime = nextTime;
|
|
3885
4275
|
};
|
|
3886
|
-
return (jsxRuntime.jsxs(StyledDiv$3, { children: [jsxRuntime.jsx(IconButton, Object.assign({ isBright: true, onClick: (e) => {
|
|
4276
|
+
return (jsxRuntime.jsxs(StyledDiv$3, Object.assign({}, props, { children: [jsxRuntime.jsx(IconButton, Object.assign({ isBright: true, onClick: (e) => {
|
|
3887
4277
|
if (videoRef) {
|
|
3888
4278
|
videoRef.currentTime = 0;
|
|
3889
4279
|
}
|
|
@@ -3894,96 +4284,14 @@ const ControlsGroupCenter = () => {
|
|
|
3894
4284
|
} }, { children: jsxRuntime.jsx(SvgBackSecondsFill, {}) })), jsxRuntime.jsx(IconButton, Object.assign({ isBright: true, size: "large", onClick: togglePlay }, { children: isPlaying ? (jsxRuntime.jsx(SvgPauseFill, { style: { width: "24px", height: "24px" } })) : (jsxRuntime.jsx(SvgPlayFill, { style: { width: "24px", height: "24px" } })) })), jsxRuntime.jsx(IconButton, Object.assign({ isBright: true, onClick: (e) => {
|
|
3895
4285
|
onForward();
|
|
3896
4286
|
e.stopPropagation();
|
|
3897
|
-
} }, { children: jsxRuntime.jsx(SvgForwardSecondsFill, {}) })), jsxRuntime.jsx(IconButton, Object.assign({ isBright: true, isPill: true, onClick: (e) => {
|
|
3898
|
-
const newSpeed = getNextPlaybackRate(playBackRate);
|
|
3899
|
-
if (videoRef === null || videoRef === void 0 ? void 0 : videoRef.playbackRate) {
|
|
3900
|
-
setPlayBackRate(newSpeed);
|
|
3901
|
-
videoRef.playbackRate = newSpeed;
|
|
3902
|
-
}
|
|
3903
|
-
e.stopPropagation();
|
|
3904
|
-
} }, { children: jsxRuntime.jsxs(SM, Object.assign({ isBold: true, style: { lineHeight: "16px" } }, { children: [playBackRate, "x"] })) }))] }));
|
|
3905
|
-
};
|
|
3906
|
-
|
|
3907
|
-
const StyledDiv$2 = styled__default["default"].div `
|
|
3908
|
-
position: absolute;
|
|
3909
|
-
bottom: ${({ theme }) => theme.space.sm};
|
|
3910
|
-
right: 0;
|
|
3911
|
-
|
|
3912
|
-
padding: 0 ${({ theme }) => theme.space.xs};
|
|
3913
|
-
|
|
3914
|
-
span {
|
|
3915
|
-
color: ${({ theme }) => theme.palette.grey[300]};
|
|
3916
|
-
}
|
|
3917
|
-
`;
|
|
3918
|
-
const TimeLabel = ({ current, duration, }) => (jsxRuntime.jsx(StyledDiv$2, { children: jsxRuntime.jsxs(SM, Object.assign({ tag: "span" }, { children: [current, "/", duration] })) }));
|
|
3919
|
-
|
|
3920
|
-
var _path$h, _path2$2;
|
|
3921
|
-
function _extends$k() { _extends$k = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$k.apply(this, arguments); }
|
|
3922
|
-
const SvgVolumeMutedFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$k({
|
|
3923
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
3924
|
-
width: 16,
|
|
3925
|
-
height: 16,
|
|
3926
|
-
focusable: "false",
|
|
3927
|
-
viewBox: "0 0 16 16"
|
|
3928
|
-
}, props), _path$h || (_path$h = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3929
|
-
stroke: "currentColor",
|
|
3930
|
-
strokeLinecap: "round",
|
|
3931
|
-
d: "M11.5 10l4-4m-4 0l4 4"
|
|
3932
|
-
})), _path2$2 || (_path2$2 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3933
|
-
fill: "currentColor",
|
|
3934
|
-
d: "M9 15.29c-.26 0-.51-.1-.71-.29l-4-4H1c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h3.29l4-4a1.002 1.002 0 011.71.71V14.3a.986.986 0 01-1 .99z"
|
|
3935
|
-
})));
|
|
3936
|
-
|
|
3937
|
-
var _path$g, _path2$1;
|
|
3938
|
-
function _extends$j() { _extends$j = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$j.apply(this, arguments); }
|
|
3939
|
-
const SvgVolumeUnmutedFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$j({
|
|
3940
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
3941
|
-
width: 16,
|
|
3942
|
-
height: 16,
|
|
3943
|
-
focusable: "false",
|
|
3944
|
-
viewBox: "0 0 16 16"
|
|
3945
|
-
}, props), _path$g || (_path$g = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3946
|
-
fill: "currentColor",
|
|
3947
|
-
d: "M9 15.29c-.26 0-.51-.1-.71-.29l-4-4H1c-.55 0-1-.45-1-1V6c0-.55.45-1 1-1h3.29l4-4a1.002 1.002 0 011.71.71V14.3a.986.986 0 01-1 .99z"
|
|
3948
|
-
})), _path2$1 || (_path2$1 = /*#__PURE__*/React__namespace.createElement("path", {
|
|
3949
|
-
fill: "none",
|
|
3950
|
-
stroke: "currentColor",
|
|
3951
|
-
strokeLinecap: "round",
|
|
3952
|
-
d: "M11.77 9.77c.45-.45.73-1.08.73-1.77s-.28-1.31-.73-1.77m2.17 5.6c.97-.99 1.56-2.34 1.56-3.83 0-1.52-.62-2.89-1.61-3.89"
|
|
3953
|
-
})));
|
|
3954
|
-
|
|
3955
|
-
const AudioButton = () => {
|
|
3956
|
-
const [hasAudio, setHasAudio] = React.useState(false);
|
|
3957
|
-
const { isMuted, setMuted, context } = Video.useVideoContext();
|
|
3958
|
-
const { player } = context;
|
|
3959
|
-
const checkAudio = (video) => {
|
|
3960
|
-
if (!video) {
|
|
3961
|
-
return false;
|
|
3962
|
-
}
|
|
3963
|
-
console.log("hasAudio?", video);
|
|
3964
|
-
const videohasAudio = video.mozHasAudio ||
|
|
3965
|
-
Boolean(video.webkitAudioDecodedByteCount) ||
|
|
3966
|
-
Boolean(video.audioTracks && video.audioTracks.length);
|
|
3967
|
-
setHasAudio(videohasAudio);
|
|
3968
|
-
};
|
|
3969
|
-
const hasVolume = (video) => {
|
|
3970
|
-
if (!video) {
|
|
3971
|
-
return false;
|
|
3972
|
-
}
|
|
3973
|
-
return video.volume > 0;
|
|
3974
|
-
};
|
|
3975
|
-
React.useEffect(() => {
|
|
3976
|
-
if (player && (player === null || player === void 0 ? void 0 : player.ref)) {
|
|
3977
|
-
setMuted(!hasVolume(player.ref.current));
|
|
3978
|
-
checkAudio(player.ref.current);
|
|
3979
|
-
}
|
|
3980
|
-
}, [context.isPlaying, isMuted]);
|
|
3981
|
-
return (jsxRuntime.jsx(IconButton, Object.assign({ isBright: true, disabled: !hasAudio, onClick: () => {
|
|
3982
|
-
if (player === null || player === void 0 ? void 0 : player.ref.current) {
|
|
3983
|
-
player.ref.current.volume = player.ref.current.volume > 0 ? 0 : 1;
|
|
3984
|
-
setMuted(!player.ref.current.volume);
|
|
3985
|
-
}
|
|
3986
|
-
} }, { children: isMuted || !hasAudio ? jsxRuntime.jsx(SvgVolumeMutedFill, {}) : jsxRuntime.jsx(SvgVolumeUnmutedFill, {}) })));
|
|
4287
|
+
} }, { children: jsxRuntime.jsx(SvgForwardSecondsFill, {}) })), jsxRuntime.jsx(IconButton, Object.assign({ isBright: true, isPill: true, onClick: (e) => {
|
|
4288
|
+
const newSpeed = getNextPlaybackRate(playBackRate);
|
|
4289
|
+
if (videoRef === null || videoRef === void 0 ? void 0 : videoRef.playbackRate) {
|
|
4290
|
+
setPlayBackRate(newSpeed);
|
|
4291
|
+
videoRef.playbackRate = newSpeed;
|
|
4292
|
+
}
|
|
4293
|
+
e.stopPropagation();
|
|
4294
|
+
} }, { children: jsxRuntime.jsxs(SM, Object.assign({ isBold: true, style: { lineHeight: "16px" } }, { children: [playBackRate, "x"] })) }))] })));
|
|
3987
4295
|
};
|
|
3988
4296
|
|
|
3989
4297
|
var _path$f;
|
|
@@ -4083,6 +4391,96 @@ const FullScreenButton = ({ container, }) => {
|
|
|
4083
4391
|
}, disabled: !canGoFullScreen() }, { children: document.fullscreenElement || isFullScreen ? (jsxRuntime.jsx(SvgMinimizeStroke, {})) : (jsxRuntime.jsx(SvgMaximizeStroke, {})) })));
|
|
4084
4392
|
};
|
|
4085
4393
|
|
|
4394
|
+
const UgProgress = styled__default["default"](reactLoaders.Progress) ``;
|
|
4395
|
+
/**
|
|
4396
|
+
* A Progress loader communicates progress when downloading or uploading content.
|
|
4397
|
+
* <hr>
|
|
4398
|
+
* Used for this:
|
|
4399
|
+
* - To communicate the amount of time left when downloading or uploading content
|
|
4400
|
+
*
|
|
4401
|
+
Not for this:
|
|
4402
|
+
- When the loading time is unknown, use a Spinner instead
|
|
4403
|
+
- When loading page content, use a Skeleton loader instead
|
|
4404
|
+
*/
|
|
4405
|
+
const Progress = React.forwardRef((props, ref) => (jsxRuntime.jsx(UgProgress, Object.assign({ ref: ref }, props))));
|
|
4406
|
+
|
|
4407
|
+
const StyledProgress = styled.styled(Progress) `
|
|
4408
|
+
width: 100%;
|
|
4409
|
+
border-radius: 0;
|
|
4410
|
+
color: ${({ theme }) => theme.palette.grey[700]};
|
|
4411
|
+
cursor: pointer;
|
|
4412
|
+
> div {
|
|
4413
|
+
border-radius: 0;
|
|
4414
|
+
}
|
|
4415
|
+
`;
|
|
4416
|
+
const ProgressBar = React.forwardRef((props, ref) => {
|
|
4417
|
+
const { progress, handleSkipAhead } = props;
|
|
4418
|
+
return (jsxRuntime.jsx(StyledProgress, { className: "progress-bar-1", ref: ref, value: progress, onClick: (e) => handleSkipAhead(e.clientX) }));
|
|
4419
|
+
});
|
|
4420
|
+
|
|
4421
|
+
const StyledDiv$2 = styled__default["default"].div `
|
|
4422
|
+
display: flex;
|
|
4423
|
+
color: ${({ theme }) => theme.palette.grey[300]};
|
|
4424
|
+
`;
|
|
4425
|
+
const TimeLabel = ({ current, duration, }) => (jsxRuntime.jsx(StyledDiv$2, { children: jsxRuntime.jsxs(SM, Object.assign({ tag: "span" }, { children: [formatDuration(current), "/", formatDuration(duration)] })) }));
|
|
4426
|
+
|
|
4427
|
+
const Wrapper$1 = styled__default["default"].div `
|
|
4428
|
+
position: absolute;
|
|
4429
|
+
bottom: ${({ theme }) => theme.space.sm};
|
|
4430
|
+
z-index: 1;
|
|
4431
|
+
`;
|
|
4432
|
+
const Content$1 = styled__default["default"].div `
|
|
4433
|
+
display: flex;
|
|
4434
|
+
background-color: ${({ theme }) => theme.palette.grey[800]};
|
|
4435
|
+
border-radius: 2px;
|
|
4436
|
+
width: auto;
|
|
4437
|
+
padding: 2px 4px;
|
|
4438
|
+
display: inline-flex;
|
|
4439
|
+
color: white;
|
|
4440
|
+
align-items: center;
|
|
4441
|
+
justify-content: center;
|
|
4442
|
+
min-height: 16px;
|
|
4443
|
+
`;
|
|
4444
|
+
const PlayerTooltip = (_a) => {
|
|
4445
|
+
var { children } = _a, props = __rest(_a, ["children"]);
|
|
4446
|
+
return (jsxRuntime.jsx(Wrapper$1, Object.assign({}, props, { children: jsxRuntime.jsx(Content$1, { children: children }) })));
|
|
4447
|
+
};
|
|
4448
|
+
|
|
4449
|
+
var _path$d, _circle$1;
|
|
4450
|
+
function _extends$g() { _extends$g = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$g.apply(this, arguments); }
|
|
4451
|
+
const SvgTagStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$g({
|
|
4452
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
4453
|
+
width: 16,
|
|
4454
|
+
height: 16,
|
|
4455
|
+
focusable: "false",
|
|
4456
|
+
viewBox: "0 0 16 16"
|
|
4457
|
+
}, props), _path$d || (_path$d = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4458
|
+
fill: "none",
|
|
4459
|
+
stroke: "currentColor",
|
|
4460
|
+
d: "M.5 1v5.3c0 .1.1.3.1.4l8.5 8.5c.2.2.5.2.7 0l5.3-5.3c.2-.2.2-.5 0-.7L6.6.6S6.4.5 6.3.5H1C.7.5.5.7.5 1z"
|
|
4461
|
+
})), _circle$1 || (_circle$1 = /*#__PURE__*/React__namespace.createElement("circle", {
|
|
4462
|
+
cx: 4,
|
|
4463
|
+
cy: 4,
|
|
4464
|
+
r: 1,
|
|
4465
|
+
fill: "currentColor"
|
|
4466
|
+
})));
|
|
4467
|
+
|
|
4468
|
+
const Cutter = ({ onCutHandler, isCutting, i18n, }) => {
|
|
4469
|
+
var _a;
|
|
4470
|
+
const { context } = Video.useVideoContext();
|
|
4471
|
+
const videoRef = (_a = context.player) === null || _a === void 0 ? void 0 : _a.ref.current;
|
|
4472
|
+
if (!onCutHandler)
|
|
4473
|
+
return null;
|
|
4474
|
+
return (jsxRuntime.jsxs(Button, Object.assign({ isPrimary: true, isAccent: true, size: "small", onClick: (e) => {
|
|
4475
|
+
if (videoRef) {
|
|
4476
|
+
onCutHandler(videoRef.currentTime);
|
|
4477
|
+
}
|
|
4478
|
+
e.stopPropagation();
|
|
4479
|
+
} }, { children: [jsxRuntime.jsx(Button.StartIcon, { children: jsxRuntime.jsx(SvgTagStroke, {}) }), isCutting
|
|
4480
|
+
? (i18n === null || i18n === void 0 ? void 0 : i18n.onHighlight) || "Click again to stop"
|
|
4481
|
+
: (i18n === null || i18n === void 0 ? void 0 : i18n.beforeHighlight) || "New highlight"] })));
|
|
4482
|
+
};
|
|
4483
|
+
|
|
4086
4484
|
const ControlsWrapper = styled__default["default"].div `
|
|
4087
4485
|
position: absolute;
|
|
4088
4486
|
bottom: 0;
|
|
@@ -4093,15 +4491,6 @@ const ControlsWrapper = styled__default["default"].div `
|
|
|
4093
4491
|
${({ isPlaying }) => isPlaying && "display: none;"}
|
|
4094
4492
|
z-index: 2;
|
|
4095
4493
|
`;
|
|
4096
|
-
const StyledProgress = styled__default["default"](Progress) `
|
|
4097
|
-
width: 100%;
|
|
4098
|
-
border-radius: 0;
|
|
4099
|
-
color: ${({ theme }) => theme.palette.kale[700]};
|
|
4100
|
-
cursor: pointer;
|
|
4101
|
-
> div {
|
|
4102
|
-
border-radius: 0;
|
|
4103
|
-
}
|
|
4104
|
-
`;
|
|
4105
4494
|
const StyledTooltip = styled__default["default"](PlayerTooltip) `
|
|
4106
4495
|
display: none;
|
|
4107
4496
|
`;
|
|
@@ -4120,18 +4509,23 @@ const StyledDiv$1 = styled__default["default"].div `
|
|
|
4120
4509
|
display: flex;
|
|
4121
4510
|
align-items: center;
|
|
4122
4511
|
`;
|
|
4123
|
-
const Controls = ({ container, }) => {
|
|
4512
|
+
const Controls = ({ container, onCutHandler, bookmarks, isCutting, onBookMarkUpdated, i18n, }) => {
|
|
4124
4513
|
var _a, _b, _c;
|
|
4125
4514
|
const [progress, setProgress] = React.useState(0);
|
|
4126
4515
|
const [tooltipMargin, setTooltipMargin] = React.useState(0);
|
|
4127
4516
|
const [tooltipLabel, setTooltipLabel] = React.useState("00:00");
|
|
4517
|
+
const [marks, setMarks] = React.useState(bookmarks);
|
|
4128
4518
|
const progressRef = React.useRef(null);
|
|
4129
4519
|
const { context, setCurrentTime } = Video.useVideoContext();
|
|
4520
|
+
const { reset, isGrabbing, activeBookmark, fromEnd } = useProgressContext();
|
|
4521
|
+
React.useEffect(() => {
|
|
4522
|
+
setMarks(bookmarks);
|
|
4523
|
+
}, [bookmarks]);
|
|
4130
4524
|
const relCurrentTime = ((_a = context.player) === null || _a === void 0 ? void 0 : _a.currentTime)
|
|
4131
4525
|
? ((_b = context.player) === null || _b === void 0 ? void 0 : _b.currentTime) - context.part.start
|
|
4132
4526
|
: 0;
|
|
4133
4527
|
const duration = context.part.end - context.part.start || ((_c = context.player) === null || _c === void 0 ? void 0 : _c.totalTime) || 0; //relative
|
|
4134
|
-
const getVideoPositionFromEvent = (clientX) => {
|
|
4528
|
+
const getVideoPositionFromEvent = React.useCallback((clientX) => {
|
|
4135
4529
|
if (progressRef && progressRef.current && duration) {
|
|
4136
4530
|
const bounds = progressRef.current.getBoundingClientRect();
|
|
4137
4531
|
const x = clientX - bounds.left;
|
|
@@ -4139,12 +4533,18 @@ const Controls = ({ container, }) => {
|
|
|
4139
4533
|
return videoPositionSecs;
|
|
4140
4534
|
}
|
|
4141
4535
|
return 0;
|
|
4142
|
-
};
|
|
4536
|
+
}, [progressRef, duration]);
|
|
4537
|
+
const getProgress = React.useCallback((currentTime) => {
|
|
4538
|
+
const current = currentTime - (context.part.start || 0);
|
|
4539
|
+
if (duration === 0)
|
|
4540
|
+
return 0;
|
|
4541
|
+
return (current / duration) * 100;
|
|
4542
|
+
}, [context.part.start, duration]);
|
|
4143
4543
|
const handleSkipAhead = React.useCallback((pageX) => {
|
|
4144
4544
|
const time = getVideoPositionFromEvent(pageX) + (context.part.start || 0);
|
|
4145
4545
|
setCurrentTime(time);
|
|
4146
4546
|
setProgress(getProgress(time));
|
|
4147
|
-
}, [
|
|
4547
|
+
}, [getVideoPositionFromEvent, context.part.start, setCurrentTime, getProgress]);
|
|
4148
4548
|
const onMouseEvent = (e) => {
|
|
4149
4549
|
if (progressRef && progressRef.current) {
|
|
4150
4550
|
const tooltipWidth = 40;
|
|
@@ -4155,31 +4555,58 @@ const Controls = ({ container, }) => {
|
|
|
4155
4555
|
const videoTargetDuration = getVideoPositionFromEvent(e.clientX);
|
|
4156
4556
|
setTooltipMargin(newTooltipMargin);
|
|
4157
4557
|
setTooltipLabel(formatDuration(videoTargetDuration));
|
|
4558
|
+
if (isGrabbing) {
|
|
4559
|
+
handleBookmarkUpdate(marginX, progressRef.current.clientWidth);
|
|
4560
|
+
}
|
|
4158
4561
|
}
|
|
4159
4562
|
};
|
|
4563
|
+
const handleBookmarkUpdate = React.useCallback((newX, clientW) => {
|
|
4564
|
+
if (!activeBookmark || !marks)
|
|
4565
|
+
return;
|
|
4566
|
+
const currentObsIndex = marks.findIndex((mark) => mark.id === activeBookmark.id);
|
|
4567
|
+
const value = (newX / clientW) * duration + context.part.start;
|
|
4568
|
+
const updatedMark = Object.assign(Object.assign({}, marks[currentObsIndex]), (!!fromEnd ? { end: value } : { start: value }));
|
|
4569
|
+
const newMarks = [
|
|
4570
|
+
...marks.slice(0, currentObsIndex),
|
|
4571
|
+
updatedMark,
|
|
4572
|
+
...marks.slice(currentObsIndex + 1),
|
|
4573
|
+
];
|
|
4574
|
+
setMarks(newMarks);
|
|
4575
|
+
onBookMarkUpdated === null || onBookMarkUpdated === void 0 ? void 0 : onBookMarkUpdated(updatedMark);
|
|
4576
|
+
}, [
|
|
4577
|
+
activeBookmark,
|
|
4578
|
+
context.part.start,
|
|
4579
|
+
duration,
|
|
4580
|
+
fromEnd,
|
|
4581
|
+
onBookMarkUpdated,
|
|
4582
|
+
marks,
|
|
4583
|
+
]);
|
|
4160
4584
|
React.useEffect(() => {
|
|
4161
4585
|
var _a;
|
|
4162
4586
|
const currentTime = ((_a = context.player) === null || _a === void 0 ? void 0 : _a.currentTime) || 0;
|
|
4163
4587
|
setProgress(getProgress(currentTime));
|
|
4164
|
-
}, [context.player]);
|
|
4165
|
-
|
|
4166
|
-
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
return (
|
|
4170
|
-
|
|
4171
|
-
|
|
4588
|
+
}, [context.player, getProgress]);
|
|
4589
|
+
React.useEffect(() => {
|
|
4590
|
+
if (!marks)
|
|
4591
|
+
return;
|
|
4592
|
+
document.addEventListener("mouseup", reset);
|
|
4593
|
+
return () => {
|
|
4594
|
+
document.removeEventListener("mouseup", reset);
|
|
4595
|
+
};
|
|
4596
|
+
}, [reset, marks]);
|
|
4597
|
+
return (jsxRuntime.jsxs(ControlsWrapper, Object.assign({ isPlaying: context.isPlaying }, { children: [jsxRuntime.jsxs(ProgressContainer, Object.assign({ onMouseEnter: onMouseEvent, onMouseMove: onMouseEvent, onMouseLeave: onMouseEvent }, { children: [jsxRuntime.jsx(StyledTooltip, Object.assign({ style: { marginLeft: `${tooltipMargin}px` } }, { children: tooltipLabel })), !!duration &&
|
|
4598
|
+
(marks === null || marks === void 0 ? void 0 : marks.map((bookmark, index) => (jsxRuntime.jsx(Bookmark, Object.assign({}, bookmark), `${index}${bookmark.start}`)))), jsxRuntime.jsx(ProgressBar, { ref: progressRef, progress: progress, handleSkipAhead: handleSkipAhead, duration: duration })] })), jsxRuntime.jsxs(ControlsBar, { children: [jsxRuntime.jsxs(StyledDiv$1, Object.assign({ style: { width: "20%", justifyContent: "start" } }, { children: [jsxRuntime.jsx(AudioButton, {}), jsxRuntime.jsx(TimeLabel, { current: relCurrentTime, duration: duration })] })), jsxRuntime.jsx(ControlsGroupCenter, { style: { width: "60%" } }), jsxRuntime.jsxs(StyledDiv$1, Object.assign({ style: { width: "20%", justifyContent: "end" } }, { children: [jsxRuntime.jsx(Cutter, { onCutHandler: onCutHandler, isCutting: isCutting, i18n: i18n }), jsxRuntime.jsx(FullScreenButton, { container: container })] }))] })] })));
|
|
4172
4599
|
};
|
|
4173
4600
|
|
|
4174
|
-
var _path$
|
|
4175
|
-
function _extends$
|
|
4176
|
-
const SvgPlayIcon = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$
|
|
4601
|
+
var _path$c;
|
|
4602
|
+
function _extends$f() { _extends$f = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$f.apply(this, arguments); }
|
|
4603
|
+
const SvgPlayIcon = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$f({
|
|
4177
4604
|
width: 70,
|
|
4178
4605
|
height: 70,
|
|
4179
4606
|
viewBox: "0 0 70 70",
|
|
4180
4607
|
fill: "none",
|
|
4181
4608
|
xmlns: "http://www.w3.org/2000/svg"
|
|
4182
|
-
}, props), _path$
|
|
4609
|
+
}, props), _path$c || (_path$c = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4183
4610
|
d: "M60 35L17 62L17 8L60 35Z",
|
|
4184
4611
|
fill: "#003A57"
|
|
4185
4612
|
})));
|
|
@@ -4303,6 +4730,7 @@ const Player = React.forwardRef((props, forwardRef) => {
|
|
|
4303
4730
|
const PlayerCore = React.forwardRef((props, forwardRef) => {
|
|
4304
4731
|
var _a;
|
|
4305
4732
|
const { context, togglePlay, setIsPlaying } = Video.useVideoContext();
|
|
4733
|
+
const { onCutHandler, bookmarks, isCutting } = props;
|
|
4306
4734
|
const videoRef = (_a = context.player) === null || _a === void 0 ? void 0 : _a.ref.current;
|
|
4307
4735
|
const isLoaded = !!videoRef;
|
|
4308
4736
|
const containerRef = React.useRef(null);
|
|
@@ -4320,8 +4748,8 @@ const PlayerCore = React.forwardRef((props, forwardRef) => {
|
|
|
4320
4748
|
});
|
|
4321
4749
|
}
|
|
4322
4750
|
};
|
|
4323
|
-
}, [videoRef]);
|
|
4324
|
-
return (jsxRuntime.jsxs(Container$1, Object.assign({ isLoaded: isLoaded, isPlaying: context.isPlaying, ref: containerRef }, { children: [!isLoaded ? (jsxRuntime.jsx(VideoSpinner, {})) : (jsxRuntime.jsx(FloatingControls, { isPlaying: context.isPlaying, onClick: togglePlay })), jsxRuntime.jsx(Video__default["default"].Player, { className: "player-container" }), jsxRuntime.jsx(Controls, { container: containerRef.current })] })));
|
|
4751
|
+
}, [setIsPlaying, videoRef]);
|
|
4752
|
+
return (jsxRuntime.jsxs(Container$1, Object.assign({ isLoaded: isLoaded, isPlaying: context.isPlaying, ref: containerRef }, { children: [!isLoaded ? (jsxRuntime.jsx(VideoSpinner, {})) : (jsxRuntime.jsx(FloatingControls, { isPlaying: context.isPlaying, onClick: togglePlay })), jsxRuntime.jsx(Video__default["default"].Player, { className: "player-container" }), jsxRuntime.jsx(ProgressContextProvider, { children: jsxRuntime.jsx(Controls, { container: containerRef.current, onCutHandler: onCutHandler, bookmarks: bookmarks, isCutting: isCutting, onBookMarkUpdated: props.handleBookmarkUpdate, i18n: props.i18n }) })] })));
|
|
4325
4753
|
});
|
|
4326
4754
|
|
|
4327
4755
|
const ChatBoxContainer = styled__default["default"].div `
|
|
@@ -4345,7 +4773,8 @@ const ChatBoxContainer = styled__default["default"].div `
|
|
|
4345
4773
|
const CommentBox = (_a) => {
|
|
4346
4774
|
var { placeholderOptions } = _a, props = __rest(_a, ["placeholderOptions"]);
|
|
4347
4775
|
const { children, hasFloatingMenu, hasButtonsMenu, bubbleOptions, i18n } = props;
|
|
4348
|
-
const { editor, setEditor, mentionableUsers, triggerSave, thumbnails, addThumbnails } = useChatContext();
|
|
4776
|
+
const { editor, setEditor, mentionableUsers, triggerSave, thumbnails, addThumbnails, } = useChatContext();
|
|
4777
|
+
const { addToast } = useToast();
|
|
4349
4778
|
const [isOpen, setIsOpen] = React.useState(false);
|
|
4350
4779
|
const [selectedImage, setSelectedImage] = React.useState({});
|
|
4351
4780
|
const [selectedImageIndex, setSelectedImageIndex] = React.useState(0);
|
|
@@ -4381,65 +4810,45 @@ const CommentBox = (_a) => {
|
|
|
4381
4810
|
return false;
|
|
4382
4811
|
event.preventDefault();
|
|
4383
4812
|
const files = Array.from(event.dataTransfer.files).map((file) => {
|
|
4384
|
-
return Object.assign(file, {
|
|
4813
|
+
return Object.assign(file, {
|
|
4814
|
+
isLoadingMedia: false,
|
|
4815
|
+
internal_id: uuid.v4(),
|
|
4816
|
+
});
|
|
4385
4817
|
});
|
|
4386
|
-
|
|
4387
|
-
|
|
4388
|
-
|
|
4389
|
-
|
|
4390
|
-
|
|
4391
|
-
|
|
4392
|
-
type="error"
|
|
4393
|
-
message={"File type not supported"}
|
|
4394
|
-
closeText={"Close"}
|
|
4395
|
-
isPrimary
|
|
4396
|
-
/>
|
|
4397
|
-
),
|
|
4398
|
-
{ placement: "top" }
|
|
4399
|
-
);
|
|
4400
|
-
}
|
|
4401
|
-
}*/
|
|
4818
|
+
const wrongFiles = files.filter((file) => !/^(image|video)\//.test(file.type));
|
|
4819
|
+
if (wrongFiles.length > 0) {
|
|
4820
|
+
for (const file of wrongFiles) {
|
|
4821
|
+
addToast(({ close }) => (jsxRuntime.jsx(Notification, { onClose: close, type: "error", message: `${props.messageBadFileFormat} - ${file.name}`, isPrimary: true })), { placement: "top" });
|
|
4822
|
+
}
|
|
4823
|
+
}
|
|
4402
4824
|
const mediaFiles = files.filter((file) => /^(image|video)\//.test(file.type));
|
|
4403
4825
|
if (mediaFiles.length === 0)
|
|
4404
4826
|
return false;
|
|
4405
4827
|
addThumbnails({ files: mediaFiles });
|
|
4406
4828
|
return false;
|
|
4407
4829
|
},
|
|
4408
|
-
|
|
4409
|
-
|
|
4410
|
-
|
|
4411
|
-
|
|
4412
|
-
|
|
4413
|
-
|
|
4414
|
-
|
|
4415
|
-
|
|
4416
|
-
(item) => item.type && item.type.startsWith("image/")
|
|
4417
|
-
);
|
|
4418
|
-
const textItem = items.find((item) => item.type === "text/plain");
|
|
4419
|
-
|
|
4420
|
-
if (imageItems.length > 0) {
|
|
4421
|
-
imageItems.forEach((imageItem) => {
|
|
4422
|
-
const file = imageItem.getAsFile();
|
|
4423
|
-
if (file) {
|
|
4424
|
-
const imageUrl = URL.createObjectURL(file);
|
|
4425
|
-
const node = view.state.schema.nodes.image.create({
|
|
4426
|
-
src: imageUrl,
|
|
4830
|
+
handlePaste: (view, event, slice) => {
|
|
4831
|
+
if (!event.clipboardData || !event.clipboardData.items)
|
|
4832
|
+
return false;
|
|
4833
|
+
event.preventDefault();
|
|
4834
|
+
const files = Array.from(event.clipboardData.files).map((file) => {
|
|
4835
|
+
return Object.assign(file, {
|
|
4836
|
+
isLoadingMedia: false,
|
|
4837
|
+
internal_id: uuid.v4(),
|
|
4427
4838
|
});
|
|
4428
|
-
const transaction = view.state.tr.replaceSelectionWith(node);
|
|
4429
|
-
view.dispatch(transaction);
|
|
4430
|
-
}
|
|
4431
4839
|
});
|
|
4432
|
-
|
|
4433
|
-
|
|
4434
|
-
|
|
4435
|
-
|
|
4436
|
-
|
|
4437
|
-
|
|
4438
|
-
|
|
4439
|
-
|
|
4440
|
-
|
|
4441
|
-
|
|
4442
|
-
|
|
4840
|
+
const wrongFiles = files.filter((file) => !/^(image|video)\//.test(file.type));
|
|
4841
|
+
if (wrongFiles.length > 0) {
|
|
4842
|
+
for (const file of wrongFiles) {
|
|
4843
|
+
addToast(({ close }) => (jsxRuntime.jsx(Notification, { onClose: close, type: "error", message: `${props.messageBadFileFormat} - ${file.name}`, isPrimary: true })), { placement: "top" });
|
|
4844
|
+
}
|
|
4845
|
+
}
|
|
4846
|
+
const mediaFiles = files.filter((file) => /^(image|video)\//.test(file.type));
|
|
4847
|
+
if (mediaFiles.length === 0)
|
|
4848
|
+
return false;
|
|
4849
|
+
addThumbnails({ files: mediaFiles });
|
|
4850
|
+
return false;
|
|
4851
|
+
},
|
|
4443
4852
|
} }, props));
|
|
4444
4853
|
const onKeyDown = (event) => {
|
|
4445
4854
|
if ((event.ctrlKey || event.metaKey) && event.key === "Enter") {
|
|
@@ -4454,26 +4863,11 @@ const CommentBox = (_a) => {
|
|
|
4454
4863
|
const mediaFiles = thumbnails.map((file) => {
|
|
4455
4864
|
return Object.assign(file, { isLoadingMedia: file.isLoadingMedia });
|
|
4456
4865
|
});
|
|
4457
|
-
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [isOpen && selectedImage && (jsxRuntime.jsxs(Lightbox, Object.assign({ onClose: closeLightbox }, { children: [jsxRuntime.jsx(Lightbox.Header, { children: selectedImage.name }), jsxRuntime.jsx(Lightbox.Body, { children: jsxRuntime.jsx(Lightbox.Body.Main, Object.assign({ style: { flex: 3 } }, { children: jsxRuntime.jsx(Slider, Object.assign({ prevArrow: jsxRuntime.jsx(Slider.PrevButton, { isBright: true }), nextArrow: jsxRuntime.jsx(Slider.NextButton, { isBright: true }), onSlideChange: slideChange, initialSlide: selectedImageIndex }, { children: mediaFiles.map((item, index) => (jsxRuntime.jsxs(Slider.Slide, { children: [item.type.includes("image") && (jsxRuntime.jsx("img", { src: URL.createObjectURL(
|
|
4866
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [isOpen && selectedImage && (jsxRuntime.jsxs(Lightbox, Object.assign({ onClose: closeLightbox }, { children: [jsxRuntime.jsx(Lightbox.Header, { children: selectedImage.name }), jsxRuntime.jsx(Lightbox.Body, { children: jsxRuntime.jsx(Lightbox.Body.Main, Object.assign({ style: { flex: 3 } }, { children: jsxRuntime.jsx(Slider, Object.assign({ prevArrow: jsxRuntime.jsx(Slider.PrevButton, { isBright: true }), nextArrow: jsxRuntime.jsx(Slider.NextButton, { isBright: true }), onSlideChange: slideChange, initialSlide: selectedImageIndex }, { children: mediaFiles.map((item, index) => (jsxRuntime.jsxs(Slider.Slide, { children: [item.type.includes("image") && (jsxRuntime.jsx("img", { src: URL.createObjectURL(item), alt: `media ${item.name}` })), item.type.includes("video") && (jsxRuntime.jsx(Player, { ref: (ref) => {
|
|
4458
4867
|
videoRefs.current.push(ref);
|
|
4459
|
-
}, url: URL.createObjectURL(
|
|
4868
|
+
}, url: URL.createObjectURL(item) }))] }))) })) })) }), jsxRuntime.jsx(Lightbox.Close, { "aria-label": "Close modal" })] }))), jsxRuntime.jsx(ChatBoxContainer, { children: jsxRuntime.jsxs(EditorContainer$1, Object.assign({ editable: true, style: { marginLeft: 0, paddingBottom: 12 } }, { children: [hasFloatingMenu && (jsxRuntime.jsx(FloatingMenu, { editor: ed, tippyOptions: Object.assign({}, bubbleOptions) })), jsxRuntime.jsx(react.EditorContent, { editor: ed, onKeyDown: onKeyDown }), jsxRuntime.jsx(ThumbnailContainer, { openLightbox: handleOpenLightbox })] })) }), hasButtonsMenu && jsxRuntime.jsx(CommentBar, { editor: ed, i18n: i18n })] }));
|
|
4460
4869
|
};
|
|
4461
4870
|
|
|
4462
|
-
var _path$c;
|
|
4463
|
-
function _extends$f() { _extends$f = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$f.apply(this, arguments); }
|
|
4464
|
-
const SvgDownloadStroke = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$f({
|
|
4465
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
4466
|
-
width: 16,
|
|
4467
|
-
height: 16,
|
|
4468
|
-
focusable: "false",
|
|
4469
|
-
viewBox: "0 0 16 16"
|
|
4470
|
-
}, props), _path$c || (_path$c = /*#__PURE__*/React__namespace.createElement("path", {
|
|
4471
|
-
fill: "none",
|
|
4472
|
-
stroke: "currentColor",
|
|
4473
|
-
strokeLinecap: "round",
|
|
4474
|
-
d: "M1.5 15.5h13m-11-7l4.1 4.1c.2.2.5.2.7 0l4.1-4.1m-4.4 4V.5"
|
|
4475
|
-
})));
|
|
4476
|
-
|
|
4477
4871
|
const CommentCard = styled.styled(Card) `
|
|
4478
4872
|
padding: ${({ theme }) => `${theme.space.base * 3}px ${theme.space.sm}`};
|
|
4479
4873
|
background-color: ${({ theme }) => theme.palette.grey[100]};
|
|
@@ -4513,16 +4907,6 @@ const Grey600Span = styled.styled.span `
|
|
|
4513
4907
|
const Grey800Span = styled.styled.span `
|
|
4514
4908
|
color: ${({ theme }) => theme.palette.grey[800]};
|
|
4515
4909
|
`;
|
|
4516
|
-
const StyledThumbnailContainer = styled.styled.div `
|
|
4517
|
-
display: grid;
|
|
4518
|
-
grid-template-columns: 1fr 1fr 1fr;
|
|
4519
|
-
overflow-y: scroll;
|
|
4520
|
-
justify-items: center;
|
|
4521
|
-
gap: 9px;
|
|
4522
|
-
background-color: inherit;
|
|
4523
|
-
margin-top: 10px;
|
|
4524
|
-
height: auto;
|
|
4525
|
-
`;
|
|
4526
4910
|
const Comment = ({ author, message, children, date, media = [], header, }) => {
|
|
4527
4911
|
var _a, _b;
|
|
4528
4912
|
const { mentionableUsers } = useChatContext();
|
|
@@ -4542,6 +4926,7 @@ const Comment = ({ author, message, children, date, media = [], header, }) => {
|
|
|
4542
4926
|
};
|
|
4543
4927
|
const videoRefs = React.useRef([]);
|
|
4544
4928
|
const slideChange = React.useCallback((index) => {
|
|
4929
|
+
setSelectedImage(media[index]);
|
|
4545
4930
|
setSelectedImageIndex(index);
|
|
4546
4931
|
videoRefs.current.forEach((ref) => {
|
|
4547
4932
|
if (ref) {
|
|
@@ -4558,14 +4943,23 @@ const Comment = ({ author, message, children, date, media = [], header, }) => {
|
|
|
4558
4943
|
ed.setOptions({
|
|
4559
4944
|
editable: false,
|
|
4560
4945
|
});
|
|
4561
|
-
return (jsxRuntime.jsxs(CommentCard, { children: [jsxRuntime.jsxs(AuthorContainer, { children: [jsxRuntime.jsx(Avatar, Object.assign({ avatarType: (_a = author.avatarType) !== null && _a !== void 0 ? _a : "text", style: { flexShrink: 0 } }, { children: author.avatar })), jsxRuntime.jsxs("div", { children: [jsxRuntime.jsxs(CommentTitle, { children: [(_b = author.name) !== null && _b !== void 0 ? _b : "User", jsxRuntime.jsx(CommentDate, { children: date })] }), jsxRuntime.jsx(ReadOnly, { children: jsxRuntime.jsx(EditorContainer$1, Object.assign({ editable: false }, { children: jsxRuntime.jsx(react.EditorContent, { editor: ed }) })) })] })] }), jsxRuntime.jsx(
|
|
4562
|
-
|
|
4563
|
-
|
|
4946
|
+
return (jsxRuntime.jsxs(CommentCard, { children: [jsxRuntime.jsxs(AuthorContainer, { children: [jsxRuntime.jsx(Avatar, Object.assign({ avatarType: (_a = author.avatarType) !== null && _a !== void 0 ? _a : "text", style: { flexShrink: 0 } }, { children: author.avatar })), jsxRuntime.jsxs("div", { children: [jsxRuntime.jsxs(CommentTitle, { children: [(_b = author.name) !== null && _b !== void 0 ? _b : "User", " ", jsxRuntime.jsx(CommentDate, { children: date })] }), jsxRuntime.jsx(ReadOnly, { children: jsxRuntime.jsx(EditorContainer$1, Object.assign({ editable: false }, { children: jsxRuntime.jsx(react.EditorContent, { editor: ed }) })) })] })] }), jsxRuntime.jsx(Grid, { children: jsxRuntime.jsx(Row$1, Object.assign({ className: "responsive-container" }, { children: media.map((file, index) => {
|
|
4947
|
+
// Check if item is an image or a video
|
|
4948
|
+
if (file.type.includes("image"))
|
|
4949
|
+
return (jsxRuntime.jsx(Col, Object.assign({ xs: 12, sm: 4, className: "flex-3-sm" }, { children: jsxRuntime.jsx(ImageThumbnail, { src: file.url, index: index, showX: false, isLoadingMedia: false, clickThumbnail: () => {
|
|
4950
|
+
handleClickThumbnail(file, index);
|
|
4951
|
+
} }, index) })));
|
|
4952
|
+
if (file.type.includes("video"))
|
|
4953
|
+
return (jsxRuntime.jsx(Col, Object.assign({ xs: 12, sm: 4, className: "flex-3-sm" }, { children: jsxRuntime.jsx(VideoThumbnail, { src: file.url, index: index, showX: false, isLoadingMedia: false, clickThumbnail: () => {
|
|
4954
|
+
handleClickThumbnail(file, index);
|
|
4955
|
+
} }, index) })));
|
|
4956
|
+
return null;
|
|
4957
|
+
}) })) }), isOpen && selectedImage && (jsxRuntime.jsxs(Lightbox, Object.assign({ onClose: closeLightbox }, { children: [jsxRuntime.jsx(Lightbox.Header, { children: jsxRuntime.jsxs(reactTypography.MD, Object.assign({ isBold: true }, { children: [jsxRuntime.jsx(Grey600Span, { children: header && header.title }), header && header.message && (jsxRuntime.jsxs(Grey800Span, { children: [" | ", header.message] }))] })) }), jsxRuntime.jsxs(Lightbox.Body, { children: [jsxRuntime.jsx(Lightbox.Body.Main, Object.assign({ style: { flex: 2 } }, { children: jsxRuntime.jsx(Slider, Object.assign({ prevArrow: jsxRuntime.jsx(Slider.PrevButton, { isBright: true }), nextArrow: jsxRuntime.jsx(Slider.NextButton, { isBright: true }), onSlideChange: slideChange, initialSlide: selectedImageIndex }, { children: media.map((item, index) => (jsxRuntime.jsxs(Slider.Slide, { children: [item.type === "image" && (jsxRuntime.jsx("img", { src: item.url, alt: `{{${item.url}}}` })), item.type === "video" && (jsxRuntime.jsx(Player, { ref: (ref) => {
|
|
4564
4958
|
videoRefs.current.push(ref);
|
|
4565
4959
|
}, url: item.url }))] }))) })) })), jsxRuntime.jsx(Lightbox.Body.Details, Object.assign({ style: { flex: 1 } }, { children: jsxRuntime.jsx(Comment, Object.assign({ header: header, author: {
|
|
4566
4960
|
avatar: author.avatar,
|
|
4567
4961
|
name: author.name,
|
|
4568
|
-
}, date: date, message: message }, { children: jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("br", {}) }) })) }))] }), jsxRuntime.jsx(Lightbox.Footer, {
|
|
4962
|
+
}, date: date, message: message }, { children: jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsx("br", {}) }) })) }))] }), jsxRuntime.jsx(Lightbox.Footer, {}), jsxRuntime.jsx(Lightbox.Close, { "aria-label": "Close modal" })] }))), jsxRuntime.jsx(Footer$2, { children: children })] }));
|
|
4569
4963
|
};
|
|
4570
4964
|
|
|
4571
4965
|
/**
|
|
@@ -4586,18 +4980,6 @@ Chat.Comments = MessagesContainer;
|
|
|
4586
4980
|
Chat.Input = CommentBox;
|
|
4587
4981
|
Chat.Footer = ChatFooter;
|
|
4588
4982
|
|
|
4589
|
-
const UgClose$1 = styled__default["default"](reactNotifications.Close) `
|
|
4590
|
-
display: flex;
|
|
4591
|
-
align-items: center;
|
|
4592
|
-
justify-content: center;
|
|
4593
|
-
width: ${({ theme }) => theme.space.xl};
|
|
4594
|
-
height: ${({ theme }) => theme.space.xl};
|
|
4595
|
-
`;
|
|
4596
|
-
/**
|
|
4597
|
-
* Title is a basic component used to display a title. Often used in card headers.
|
|
4598
|
-
*/
|
|
4599
|
-
const Close = (props) => jsxRuntime.jsx(UgClose$1, Object.assign({}, props));
|
|
4600
|
-
|
|
4601
4983
|
var _circle;
|
|
4602
4984
|
function _extends$e() { _extends$e = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends$e.apply(this, arguments); }
|
|
4603
4985
|
const SvgCircleFullFill = props => /*#__PURE__*/React__namespace.createElement("svg", _extends$e({
|
|
@@ -5216,28 +5598,116 @@ const UgToggle = styled__default["default"](reactForms.Toggle) ``;
|
|
|
5216
5598
|
**/
|
|
5217
5599
|
const Toggle = (props) => jsxRuntime.jsx(UgToggle, Object.assign({}, props));
|
|
5218
5600
|
|
|
5219
|
-
const
|
|
5220
|
-
|
|
5601
|
+
const HighlightContext = React.createContext(null);
|
|
5602
|
+
const HighlightContextProvider = ({ term, children, }) => {
|
|
5603
|
+
const [searchTerm, setsearchTerm] = React.useState(term !== null && term !== void 0 ? term : "");
|
|
5604
|
+
React.useEffect(() => {
|
|
5605
|
+
setsearchTerm(term !== null && term !== void 0 ? term : "");
|
|
5606
|
+
}, [term]);
|
|
5607
|
+
const HighlightContextValue = React.useMemo(() => ({
|
|
5608
|
+
searchTerm,
|
|
5609
|
+
}), [searchTerm]);
|
|
5610
|
+
return (jsxRuntime.jsx(HighlightContext.Provider, Object.assign({ value: HighlightContextValue }, { children: children })));
|
|
5611
|
+
};
|
|
5612
|
+
const useHighlightContext = () => {
|
|
5613
|
+
const context = React.useContext(HighlightContext);
|
|
5614
|
+
if (!context)
|
|
5615
|
+
throw new Error("Provider not found for HighlightContextProvider");
|
|
5616
|
+
return context; // Now we can use the context in the component, SAFELY.
|
|
5617
|
+
};
|
|
5221
5618
|
|
|
5222
|
-
|
|
5223
|
-
|
|
5224
|
-
|
|
5225
|
-
|
|
5226
|
-
const
|
|
5619
|
+
const StyledSearchWord = styled__default["default"].span `
|
|
5620
|
+
background-color: ${({ theme }) => theme.palette.product.talk};
|
|
5621
|
+
color: ${({ theme }) => theme.palette.grey[700]};`;
|
|
5622
|
+
const Searchable = ({ start, text, }) => {
|
|
5623
|
+
const { searchTerm } = useHighlightContext();
|
|
5624
|
+
if (searchTerm) {
|
|
5625
|
+
const parts = text.split(new RegExp(`(${searchTerm})`, "gi"));
|
|
5626
|
+
return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: parts.map((part, index) => part.toLowerCase() === searchTerm.toLowerCase() ? (jsxRuntime.jsx(StyledSearchWord, { children: part }, index)) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: part }))) }));
|
|
5627
|
+
}
|
|
5628
|
+
return jsxRuntime.jsx(jsxRuntime.Fragment, { children: text });
|
|
5629
|
+
};
|
|
5227
5630
|
|
|
5228
|
-
const
|
|
5631
|
+
const StyledWord = styled__default["default"](reactTypography.Span) `
|
|
5632
|
+
font-size: ${({ theme, size }) => theme.fontSizes[size !== null && size !== void 0 ? size : "md"]};
|
|
5633
|
+
padding: ${({ theme }) => theme.space.xxs} 0;
|
|
5229
5634
|
|
|
5230
|
-
|
|
5231
|
-
|
|
5232
|
-
|
|
5635
|
+
${({ observation, theme }) => {
|
|
5636
|
+
var _a, _b;
|
|
5637
|
+
return observation &&
|
|
5638
|
+
` user-select: none;
|
|
5639
|
+
padding: 0;
|
|
5640
|
+
background-color: ${(_a = observation.backgroundColor) !== null && _a !== void 0 ? _a : getColor(theme.palette.azure, 700, undefined, 0.5)};
|
|
5641
|
+
color: ${(_b = observation.color) !== null && _b !== void 0 ? _b : "white"};
|
|
5642
|
+
box-sizing: border-box;
|
|
5643
|
+
&:focus {
|
|
5644
|
+
outline: none;
|
|
5645
|
+
}
|
|
5646
|
+
|
|
5647
|
+
+ span:not([observation]) {
|
|
5648
|
+
margin-left: 2px;
|
|
5649
|
+
}
|
|
5650
|
+
`;
|
|
5651
|
+
}}
|
|
5652
|
+
`;
|
|
5653
|
+
const ActiveWord = styled__default["default"].span `
|
|
5654
|
+
background-color: ${({ theme }) => getColor(theme.palette.fuschia, 700, undefined, 0.5)};
|
|
5655
|
+
padding: 0 2px;
|
|
5656
|
+
`;
|
|
5657
|
+
const WordsContainer = styled__default["default"].div `
|
|
5658
|
+
box-sizing: border-box;
|
|
5659
|
+
${StyledWord}, span {
|
|
5660
|
+
&::selection {
|
|
5661
|
+
background-color: ${({ theme }) => getColor(theme.palette.kale, 700, undefined, 0.5)};
|
|
5662
|
+
}
|
|
5663
|
+
}
|
|
5233
5664
|
`;
|
|
5234
5665
|
/**
|
|
5235
|
-
*
|
|
5236
|
-
* <hr>
|
|
5237
|
-
* Used for this:
|
|
5238
|
-
- To structure the layout of a page
|
|
5666
|
+
* Use Highlight to use highlight interation on any text element
|
|
5239
5667
|
*/
|
|
5240
|
-
const
|
|
5668
|
+
const Highlight = (props) => {
|
|
5669
|
+
const ref = React.useRef(null);
|
|
5670
|
+
const handleSelectionChange = React.useCallback(() => {
|
|
5671
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
5672
|
+
const activeSelection = document.getSelection();
|
|
5673
|
+
const text = activeSelection === null || activeSelection === void 0 ? void 0 : activeSelection.toString();
|
|
5674
|
+
if (!activeSelection || !text) {
|
|
5675
|
+
return;
|
|
5676
|
+
}
|
|
5677
|
+
const anchorNode = (_a = activeSelection === null || activeSelection === void 0 ? void 0 : activeSelection.anchorNode) === null || _a === void 0 ? void 0 : _a.parentElement;
|
|
5678
|
+
const focusNode = (_b = activeSelection === null || activeSelection === void 0 ? void 0 : activeSelection.focusNode) === null || _b === void 0 ? void 0 : _b.parentElement;
|
|
5679
|
+
if (anchorNode &&
|
|
5680
|
+
focusNode &&
|
|
5681
|
+
((_c = ref.current) === null || _c === void 0 ? void 0 : _c.contains(anchorNode)) && // Selection starts inside the ref
|
|
5682
|
+
((_d = ref.current) === null || _d === void 0 ? void 0 : _d.contains(focusNode)) // Selection ends inside the ref
|
|
5683
|
+
) {
|
|
5684
|
+
const selectionPart = {
|
|
5685
|
+
from: Math.min(Number.parseFloat((_e = anchorNode.getAttribute("data-start")) !== null && _e !== void 0 ? _e : "0"), Number.parseFloat((_f = focusNode.getAttribute("data-start")) !== null && _f !== void 0 ? _f : "0")),
|
|
5686
|
+
to: Math.max(Number.parseFloat((_g = anchorNode.getAttribute("data-end")) !== null && _g !== void 0 ? _g : "0"), Number.parseFloat((_h = focusNode.getAttribute("data-end")) !== null && _h !== void 0 ? _h : "0")),
|
|
5687
|
+
};
|
|
5688
|
+
(_j = props === null || props === void 0 ? void 0 : props.handleSelection) === null || _j === void 0 ? void 0 : _j.call(props, Object.assign(Object.assign({}, selectionPart), { text }));
|
|
5689
|
+
}
|
|
5690
|
+
}, [props]);
|
|
5691
|
+
React.useEffect(() => {
|
|
5692
|
+
if (ref.current === null)
|
|
5693
|
+
return;
|
|
5694
|
+
document.addEventListener("selectionchange", handleSelectionChange);
|
|
5695
|
+
return () => {
|
|
5696
|
+
document.removeEventListener("selectionchange", handleSelectionChange);
|
|
5697
|
+
};
|
|
5698
|
+
}, [ref, props, handleSelectionChange]);
|
|
5699
|
+
return (jsxRuntime.jsx(HighlightContextProvider, Object.assign({ term: props.search }, { children: jsxRuntime.jsx(WordsContainer, Object.assign({ ref: ref }, { children: props.children })) })));
|
|
5700
|
+
};
|
|
5701
|
+
const Word = (props) => {
|
|
5702
|
+
var _a;
|
|
5703
|
+
const isActive = props.currentTime &&
|
|
5704
|
+
props.currentTime >= props.start &&
|
|
5705
|
+
props.currentTime < props.end;
|
|
5706
|
+
// Is there an observation that contains this word?
|
|
5707
|
+
const observation = (_a = props.observations) === null || _a === void 0 ? void 0 : _a.find((obs) => props.start >= obs.start && props.end <= obs.end);
|
|
5708
|
+
return (jsxRuntime.jsxs(StyledWord, Object.assign({}, props, { observation: observation, "data-start": props.start, "data-end": props.end, className: !!observation ? "highlighted" : "" }, (!!observation ? { tag: "observation" } : {}), { children: [isActive ? (jsxRuntime.jsx(ActiveWord, { children: jsxRuntime.jsx(Searchable, { start: props.start, text: props.text }) })) : (jsxRuntime.jsx(Searchable, { start: props.start, text: props.text })), " "] })));
|
|
5709
|
+
};
|
|
5710
|
+
Highlight.Word = Word;
|
|
5241
5711
|
|
|
5242
5712
|
/**
|
|
5243
5713
|
* The Dots loader communicates ongoing activity after a user takes an action.
|
|
@@ -5730,62 +6200,6 @@ NavAccordionItem.Label = AccordionItemLabel;
|
|
|
5730
6200
|
*/
|
|
5731
6201
|
const Chrome = (props) => jsxRuntime.jsx(reactChrome.Chrome, Object.assign({}, props));
|
|
5732
6202
|
|
|
5733
|
-
const NOTIFICATION_COMPONENT_ID = "notifications.notification";
|
|
5734
|
-
const CLOSE_COMPONENT_ID = "notifications.notification.close";
|
|
5735
|
-
const CLOSE_ICON_COMPONENT_ID = "notifications.notification.close-icon";
|
|
5736
|
-
const TITLE_COMPONENT_ID = "notifications.notification.title";
|
|
5737
|
-
const UgClose = styled__default["default"](Close).attrs((props) => {
|
|
5738
|
-
var _a;
|
|
5739
|
-
return ({
|
|
5740
|
-
"data-custom-id": (_a = props["data-custom-id"]) !== null && _a !== void 0 ? _a : CLOSE_ICON_COMPONENT_ID,
|
|
5741
|
-
});
|
|
5742
|
-
}) `
|
|
5743
|
-
${(props) => reactTheming.retrieveComponentStyles(CLOSE_ICON_COMPONENT_ID, props)};
|
|
5744
|
-
`;
|
|
5745
|
-
const UgAnchor = styled__default["default"](reactButtons.Anchor).attrs((props) => {
|
|
5746
|
-
var _a;
|
|
5747
|
-
return ({
|
|
5748
|
-
"data-custom-id": (_a = props["data-custom-id"]) !== null && _a !== void 0 ? _a : CLOSE_COMPONENT_ID,
|
|
5749
|
-
});
|
|
5750
|
-
}) `
|
|
5751
|
-
${(props) => reactTheming.retrieveComponentStyles(CLOSE_COMPONENT_ID, props)};
|
|
5752
|
-
`;
|
|
5753
|
-
const UgTitle = styled__default["default"](Title$1).attrs((props) => {
|
|
5754
|
-
var _a;
|
|
5755
|
-
return ({
|
|
5756
|
-
"data-custom-id": (_a = props["data-custom-id"]) !== null && _a !== void 0 ? _a : TITLE_COMPONENT_ID,
|
|
5757
|
-
});
|
|
5758
|
-
}) `
|
|
5759
|
-
${(props) => reactTheming.retrieveComponentStyles(TITLE_COMPONENT_ID, props)};
|
|
5760
|
-
`;
|
|
5761
|
-
const UgNotification = styled__default["default"](reactNotifications.Notification) `
|
|
5762
|
-
display: flex;
|
|
5763
|
-
align-items: center;
|
|
5764
|
-
justify-content: space-between;
|
|
5765
|
-
padding-right: ${({ theme }) => theme.space.md};
|
|
5766
|
-
white-space: pre;
|
|
5767
|
-
|
|
5768
|
-
${UgAnchor} {
|
|
5769
|
-
flex-shrink: 0;
|
|
5770
|
-
margin-left: ${({ theme }) => theme.space.md};
|
|
5771
|
-
}
|
|
5772
|
-
|
|
5773
|
-
${(props) => reactTheming.retrieveComponentStyles(NOTIFICATION_COMPONENT_ID, props)};
|
|
5774
|
-
`;
|
|
5775
|
-
/**
|
|
5776
|
-
* A Notification is a passive status update that keeps users informed of system progress.
|
|
5777
|
-
* <hr>
|
|
5778
|
-
* Used for this:
|
|
5779
|
-
- For a passive status update about user or system activity
|
|
5780
|
-
*/
|
|
5781
|
-
const Notification = (_a) => {
|
|
5782
|
-
var { closeText, message, onClose, type, isPrimary, isRegular } = _a, props = __rest(_a, ["closeText", "message", "onClose", "type", "isPrimary", "isRegular"]);
|
|
5783
|
-
return (jsxRuntime.jsxs(UgNotification, Object.assign({ type: type, isPrimary: isPrimary }, props, { children: [jsxRuntime.jsx(UgTitle, Object.assign({ isRegular: isRegular, type: type, isPrimary: isPrimary }, { children: message })), jsxRuntime.jsx(UgAnchor, Object.assign({ type: type, isPrimary: isPrimary, onClick: onClose }, { children: closeText !== null && closeText !== void 0 ? closeText : jsxRuntime.jsx(UgClose, {}) }))] })));
|
|
5784
|
-
};
|
|
5785
|
-
// ToastProvider
|
|
5786
|
-
const ToastProvider = (props) => (jsxRuntime.jsx(reactNotifications.ToastProvider, Object.assign({}, props)));
|
|
5787
|
-
const useToast = reactNotifications.useToast;
|
|
5788
|
-
|
|
5789
6203
|
const UgPagination = styled__default["default"](reactPagination.Pagination) ``;
|
|
5790
6204
|
/**
|
|
5791
6205
|
* Pagination separates content into pages and allows users to navigate between those pages.
|
|
@@ -6771,6 +7185,7 @@ exports.HeaderItem = HeaderItem;
|
|
|
6771
7185
|
exports.HeaderItemIcon = HeaderItemIcon;
|
|
6772
7186
|
exports.HeaderItemText = HeaderItemText;
|
|
6773
7187
|
exports.HeaderRow = HeaderRow;
|
|
7188
|
+
exports.Highlight = Highlight;
|
|
6774
7189
|
exports.Hint = Hint;
|
|
6775
7190
|
exports.Icon = Icon;
|
|
6776
7191
|
exports.IconButton = IconButton;
|