@imposium-hub/components 1.51.0 → 1.51.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/cjs/components/smpte-field/SMPTEField.d.ts +32 -0
  2. package/dist/cjs/components/smpte-field/SMPTEField.js +152 -0
  3. package/dist/cjs/components/smpte-field/SMPTEField.js.map +1 -0
  4. package/dist/cjs/constants/timecode.d.ts +3 -0
  5. package/dist/cjs/constants/timecode.js +7 -0
  6. package/dist/cjs/constants/timecode.js.map +1 -0
  7. package/dist/cjs/index.d.ts +2 -1
  8. package/dist/cjs/index.js +3 -1
  9. package/dist/cjs/index.js.map +1 -1
  10. package/dist/esm/components/smpte-field/SMPTEField.d.ts +32 -0
  11. package/dist/esm/components/smpte-field/SMPTEField.js +106 -0
  12. package/dist/esm/components/smpte-field/SMPTEField.js.map +1 -0
  13. package/dist/esm/constants/timecode.d.ts +3 -0
  14. package/dist/esm/constants/timecode.js +4 -0
  15. package/dist/esm/constants/timecode.js.map +1 -0
  16. package/dist/esm/index.d.ts +2 -1
  17. package/dist/esm/index.js +2 -1
  18. package/dist/esm/index.js.map +1 -1
  19. package/package.json +5 -4
  20. package/src/components/smpte-field/SMPTEField.tsx +166 -0
  21. package/src/constants/timecode.tsx +3 -0
  22. package/src/index.ts +3 -2
  23. package/dist/cjs/constants/anchor-positions.d.ts +0 -11
  24. package/dist/cjs/constants/anchor-positions.js +0 -15
  25. package/dist/cjs/constants/anchor-positions.js.map +0 -1
  26. package/dist/cjs/constants/editors.d.ts +0 -1
  27. package/dist/cjs/constants/editors.js +0 -5
  28. package/dist/cjs/constants/editors.js.map +0 -1
  29. package/dist/esm/constants/anchor-positions.d.ts +0 -11
  30. package/dist/esm/constants/anchor-positions.js +0 -12
  31. package/dist/esm/constants/anchor-positions.js.map +0 -1
  32. package/dist/esm/constants/editors.d.ts +0 -1
  33. package/dist/esm/constants/editors.js +0 -2
  34. package/dist/esm/constants/editors.js.map +0 -1
@@ -0,0 +1,32 @@
1
+ import * as React from 'react';
2
+ import { IToolTipConfig } from '../Tooltip';
3
+ interface ISMPTEFieldProps {
4
+ label?: string;
5
+ placeholder?: string;
6
+ readOnly?: boolean;
7
+ tooltip?: IToolTipConfig | string;
8
+ width?: string | number;
9
+ onChange?(e: any): void;
10
+ info?: string;
11
+ labelPosition?: string;
12
+ value: any;
13
+ frameRate: number;
14
+ }
15
+ interface ISMPTEFieldState {
16
+ error: boolean;
17
+ errorMsg: string;
18
+ }
19
+ declare class SMPTEField extends React.PureComponent<ISMPTEFieldProps, ISMPTEFieldState> {
20
+ private inputRef;
21
+ private regex;
22
+ constructor(props: any);
23
+ componentDidMount(): void;
24
+ componentDidUpdate(prevProps: any): void;
25
+ private updateComp;
26
+ private validate;
27
+ private setDuration;
28
+ private getSMPTE;
29
+ private toFrames;
30
+ render(): JSX.Element;
31
+ }
32
+ export default SMPTEField;
@@ -0,0 +1,152 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
18
+ if (k2 === undefined) k2 = k;
19
+ var desc = Object.getOwnPropertyDescriptor(m, k);
20
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
21
+ desc = { enumerable: true, get: function() { return m[k]; } };
22
+ }
23
+ Object.defineProperty(o, k2, desc);
24
+ }) : (function(o, m, k, k2) {
25
+ if (k2 === undefined) k2 = k;
26
+ o[k2] = m[k];
27
+ }));
28
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
29
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
30
+ }) : function(o, v) {
31
+ o["default"] = v;
32
+ });
33
+ var __importStar = (this && this.__importStar) || function (mod) {
34
+ if (mod && mod.__esModule) return mod;
35
+ var result = {};
36
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
37
+ __setModuleDefault(result, mod);
38
+ return result;
39
+ };
40
+ var __importDefault = (this && this.__importDefault) || function (mod) {
41
+ return (mod && mod.__esModule) ? mod : { "default": mod };
42
+ };
43
+ Object.defineProperty(exports, "__esModule", { value: true });
44
+ var React = __importStar(require("react"));
45
+ var FieldWrapper_1 = __importDefault(require("../field-wrapper/FieldWrapper"));
46
+ var smpte_timecode_1 = __importDefault(require("smpte-timecode"));
47
+ var Util_1 = require("../../Util");
48
+ var timecode_1 = require("../../constants/timecode");
49
+ var SMPTEField = /** @class */ (function (_super) {
50
+ __extends(SMPTEField, _super);
51
+ function SMPTEField(props) {
52
+ var _this = _super.call(this, props) || this;
53
+ _this.regex = '^[0-9]+(:[0-9]+){0,3}$';
54
+ _this.state = {
55
+ error: false,
56
+ errorMsg: null
57
+ };
58
+ _this.inputRef = React.createRef();
59
+ return _this;
60
+ }
61
+ SMPTEField.prototype.componentDidMount = function () {
62
+ this.updateComp();
63
+ };
64
+ SMPTEField.prototype.componentDidUpdate = function (prevProps) {
65
+ if (prevProps.value !== this.props.value) {
66
+ this.updateComp();
67
+ }
68
+ };
69
+ SMPTEField.prototype.updateComp = function () {
70
+ if (this.props.value.includes(';')) {
71
+ this.inputRef.current.value = this.props.value.replace(';', ':');
72
+ }
73
+ else {
74
+ this.inputRef.current.value = this.props.value;
75
+ }
76
+ this.setState({
77
+ error: false,
78
+ errorMsg: null
79
+ });
80
+ };
81
+ SMPTEField.prototype.validate = function (e) {
82
+ var val = e ? e.target.value : this.inputRef.current.value;
83
+ var isValidSMPTETimeCode = new RegExp(this.regex);
84
+ var error = isValidSMPTETimeCode.test(val);
85
+ if (e && e.key === 'Enter') {
86
+ this.setDuration(error, val);
87
+ }
88
+ if (e === undefined) {
89
+ this.setDuration(error, val);
90
+ }
91
+ };
92
+ SMPTEField.prototype.setDuration = function (error, val) {
93
+ if (error) {
94
+ this.setState({ error: !error, errorMsg: null });
95
+ var smpte = this.getSMPTE(val);
96
+ if (smpte) {
97
+ this.props.onChange(smpte);
98
+ }
99
+ }
100
+ else {
101
+ this.setState({
102
+ error: !error,
103
+ errorMsg: timecode_1.TIMECODE.ERROR
104
+ });
105
+ }
106
+ };
107
+ SMPTEField.prototype.getSMPTE = function (val) {
108
+ var frameRate = this.props.frameRate;
109
+ var rates = parseFloat((0, Util_1.toFixed)(frameRate, 3));
110
+ var valArray = val.split(':').map(Number);
111
+ var toFrames = this.toFrames(valArray, rates);
112
+ var duration = new smpte_timecode_1.default(toFrames, rates).toString();
113
+ var newDuration = duration.includes(';') ? duration.replace(';', ':') : duration;
114
+ this.inputRef.current.value = newDuration;
115
+ return newDuration;
116
+ };
117
+ SMPTEField.prototype.toFrames = function (array, rates) {
118
+ var length = array.length;
119
+ var hours = 0;
120
+ var mins = 0;
121
+ var secs = 0;
122
+ var frames = 0;
123
+ if (length === 1) {
124
+ frames = array[0];
125
+ }
126
+ if (length === 2) {
127
+ secs = array[0] * rates;
128
+ frames = array[1];
129
+ }
130
+ if (length === 3) {
131
+ mins = array[0] * 60 * rates;
132
+ secs = array[1] * rates;
133
+ frames = array[2];
134
+ }
135
+ if (length === 4) {
136
+ hours = array[0] * 3600 * rates;
137
+ mins = array[1] * 60 * rates;
138
+ secs = array[2] * rates;
139
+ frames = array[3];
140
+ }
141
+ return hours + mins + secs + frames;
142
+ };
143
+ SMPTEField.prototype.render = function () {
144
+ var _this = this;
145
+ var _a = this.props, label = _a.label, width = _a.width, tooltip = _a.tooltip, labelPosition = _a.labelPosition, placeholder = _a.placeholder, value = _a.value;
146
+ return (React.createElement(FieldWrapper_1.default, { customClass: "text-field ".concat(this.state.error ? 'invalid' : ''), label: label, labelPosition: labelPosition, tooltip: tooltip, width: width, info: this.state.errorMsg },
147
+ React.createElement("input", { type: 'text', ref: this.inputRef, pattern: this.regex, defaultValue: value, placeholder: placeholder, onBlur: function () { return _this.validate(); }, onKeyDown: function (e) { return _this.validate(e); } })));
148
+ };
149
+ return SMPTEField;
150
+ }(React.PureComponent));
151
+ exports.default = SMPTEField;
152
+ //# sourceMappingURL=SMPTEField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SMPTEField.js","sourceRoot":"","sources":["../../../../src/components/smpte-field/SMPTEField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const TIMECODE: {
2
+ ERROR: string;
3
+ };
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TIMECODE = void 0;
4
+ exports.TIMECODE = {
5
+ ERROR: 'Input must be HH:MM:SS:FF'
6
+ };
7
+ //# sourceMappingURL=timecode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timecode.js","sourceRoot":"","sources":["../../../src/constants/timecode.tsx"],"names":[],"mappings":";;;AAAa,QAAA,QAAQ,GAAG;IACpB,KAAK,EAAE,2BAA2B;CACrC,CAAC"}
@@ -64,6 +64,7 @@ import { ASSET_TYPES } from './constants/assets';
64
64
  import Portal from './components/portal/Portal';
65
65
  import AssetDetails from './components/asset-details/AssetDetails';
66
66
  import AnchorField from './components/anchor-field/AnchorField';
67
+ import SMPTEField from './components/smpte-field/SMPTEField';
67
68
  import auth from './redux/reducers/auth';
68
69
  import { login, clearCachedAuth } from './redux/actions/auth';
69
70
  import access from './redux/reducers/access';
@@ -91,4 +92,4 @@ import StorageService from './services/Storage';
91
92
  import Timer from './services/Timer';
92
93
  import { getFirstStoryInOrg, string2HexCode, toFixed, padStart, parameterizeServiceUrl, scrapeEmail, fitToContainer, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, formatDateDefault, validateAccessLevel, formattedTime } from './Util';
93
94
  import PublishStatusIndicator from './components/publish-wizard/publish/PublishStatusIndicator';
94
- export { AppWrapper, AuthGate, ImposiumHeader, ImposiumDropdown, Button, ButtonGroupField, ButtonMenu, ButtonMenuItem, Card, CheckboxField, ControlledList, DataTable, DataTablePaginator, FieldWrapper, HRule, ListField, Modal, NumberField, SelectField, ColorField, Tabs, ITab, Tag, TextField, TextAreaField, ToastService, SliderField, Section, DeterminateLoader, Spinner, NoAccess, ServiceIcon, LogViewer, StoryPreviewer, ShortcutMenu, Portal, AssetDetails, ImagePlayer, VideoPlayer, AudioPlayer, VideoPreview, ImagePreview, ImageSequencePlayer, AssetsTypeIcon, AssetsTableDateCell, AssetsTableDropzone, AssetsTablePreviewCell, AssetsTableSelectFilter, AssetsTableSelectCell, AssetsTableTypeFilter, AssetsTableTypeCell, AssetsTableStatusCell, AssetsTableNameFilter, AssetsTableNameCell, AssetsTableDurationCell, AssetsTableTagsCell, AssetsTableTagsFilter, AssetsTableTagsPivot, AssetsTableComplexTagCell, AssetField, AssetsUploadMenu, FontAssetPreview, DroppableAssetRenderer, PreviewNotAvailable, IStaticComposition, auth, login, clearCachedAuth, access, cacheAccessData, clearCachedAccessList, storyAdded, storyNameMutated, orgNameMutated, storyDeleted, updateFilters, getAssets, deleteAssets, addAssetTag, deleteAssetTag, updateAssetName, updateAssetData, doAssetTableHydration, toggleAutoTag, uploadAssets, selectAsset, deselectAsset, resetSelection, assetFilters, assetList, assetUploads, selectedAssets, getAssetTagList, addAssetTagToList, assetTags, assetActions, activeBatch, batchActions, AuthService, IIdentity, SessionService, IHubSession, API, IImposiumAPI, LegacyAPI, StorageService, Timer, validateAccessLevel, getFirstStoryInOrg, string2HexCode, parameterizeServiceUrl, scrapeEmail, fitToContainer, formattedTime, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, toFixed, padStart, formatDateDefault, ASSET_TYPES, publish, publishVersion, clearStoryPublishStatus, getStoryPublishStatus, PublishStatusIndicator, AnchorField };
95
+ export { AppWrapper, AuthGate, ImposiumHeader, ImposiumDropdown, Button, ButtonGroupField, ButtonMenu, ButtonMenuItem, Card, CheckboxField, ControlledList, DataTable, DataTablePaginator, FieldWrapper, HRule, ListField, Modal, NumberField, SelectField, ColorField, Tabs, ITab, Tag, TextField, TextAreaField, ToastService, SliderField, Section, DeterminateLoader, Spinner, NoAccess, ServiceIcon, LogViewer, StoryPreviewer, ShortcutMenu, Portal, AssetDetails, ImagePlayer, VideoPlayer, AudioPlayer, VideoPreview, ImagePreview, ImageSequencePlayer, AssetsTypeIcon, AssetsTableDateCell, AssetsTableDropzone, AssetsTablePreviewCell, AssetsTableSelectFilter, AssetsTableSelectCell, AssetsTableTypeFilter, AssetsTableTypeCell, AssetsTableStatusCell, AssetsTableNameFilter, AssetsTableNameCell, AssetsTableDurationCell, AssetsTableTagsCell, AssetsTableTagsFilter, AssetsTableTagsPivot, AssetsTableComplexTagCell, AssetField, AssetsUploadMenu, FontAssetPreview, DroppableAssetRenderer, PreviewNotAvailable, IStaticComposition, auth, login, clearCachedAuth, access, cacheAccessData, clearCachedAccessList, storyAdded, storyNameMutated, orgNameMutated, storyDeleted, updateFilters, getAssets, deleteAssets, addAssetTag, deleteAssetTag, updateAssetName, updateAssetData, doAssetTableHydration, toggleAutoTag, uploadAssets, selectAsset, deselectAsset, resetSelection, assetFilters, assetList, assetUploads, selectedAssets, getAssetTagList, addAssetTagToList, assetTags, assetActions, activeBatch, batchActions, AuthService, IIdentity, SessionService, IHubSession, API, IImposiumAPI, LegacyAPI, StorageService, Timer, validateAccessLevel, getFirstStoryInOrg, string2HexCode, parameterizeServiceUrl, scrapeEmail, fitToContainer, formattedTime, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, toFixed, padStart, formatDateDefault, ASSET_TYPES, publish, publishVersion, clearStoryPublishStatus, getStoryPublishStatus, PublishStatusIndicator, AnchorField, SMPTEField };
package/dist/cjs/index.js CHANGED
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.AssetsTableTypeCell = exports.AssetsTableTypeFilter = exports.AssetsTableSelectCell = exports.AssetsTableSelectFilter = exports.AssetsTablePreviewCell = exports.AssetsTableDropzone = exports.AssetsTableDateCell = exports.AssetsTypeIcon = exports.ImageSequencePlayer = exports.ImagePreview = exports.VideoPreview = exports.AudioPlayer = exports.VideoPlayer = exports.ImagePlayer = exports.AssetDetails = exports.Portal = exports.ShortcutMenu = exports.StoryPreviewer = exports.LogViewer = exports.ServiceIcon = exports.NoAccess = exports.Spinner = exports.DeterminateLoader = exports.Section = exports.SliderField = exports.ToastService = exports.TextAreaField = exports.TextField = exports.Tag = exports.Tabs = exports.ColorField = exports.SelectField = exports.NumberField = exports.Modal = exports.ListField = exports.HRule = exports.FieldWrapper = exports.DataTablePaginator = exports.DataTable = exports.ControlledList = exports.CheckboxField = exports.Card = exports.ButtonMenuItem = exports.ButtonMenu = exports.ButtonGroupField = exports.Button = exports.ImposiumDropdown = exports.ImposiumHeader = exports.AuthGate = exports.AppWrapper = void 0;
7
7
  exports.LegacyAPI = exports.API = exports.SessionService = exports.AuthService = exports.batchActions = exports.activeBatch = exports.assetActions = exports.assetTags = exports.addAssetTagToList = exports.getAssetTagList = exports.selectedAssets = exports.assetUploads = exports.assetList = exports.assetFilters = exports.resetSelection = exports.deselectAsset = exports.selectAsset = exports.uploadAssets = exports.toggleAutoTag = exports.doAssetTableHydration = exports.updateAssetData = exports.updateAssetName = exports.deleteAssetTag = exports.addAssetTag = exports.deleteAssets = exports.getAssets = exports.updateFilters = exports.storyDeleted = exports.orgNameMutated = exports.storyNameMutated = exports.storyAdded = exports.clearCachedAccessList = exports.cacheAccessData = exports.access = exports.clearCachedAuth = exports.login = exports.auth = exports.PreviewNotAvailable = exports.DroppableAssetRenderer = exports.FontAssetPreview = exports.AssetsUploadMenu = exports.AssetField = exports.AssetsTableComplexTagCell = exports.AssetsTableTagsPivot = exports.AssetsTableTagsFilter = exports.AssetsTableTagsCell = exports.AssetsTableDurationCell = exports.AssetsTableNameCell = exports.AssetsTableNameFilter = exports.AssetsTableStatusCell = void 0;
8
- exports.AnchorField = exports.PublishStatusIndicator = exports.getStoryPublishStatus = exports.clearStoryPublishStatus = exports.publishVersion = exports.publish = exports.ASSET_TYPES = exports.formatDateDefault = exports.padStart = exports.toFixed = exports.validateAssetMimetype = exports.mimetypeConformsToOverlay = exports.filterHotkeys = exports.formattedTime = exports.fitToContainer = exports.scrapeEmail = exports.parameterizeServiceUrl = exports.string2HexCode = exports.getFirstStoryInOrg = exports.validateAccessLevel = exports.Timer = exports.StorageService = void 0;
8
+ exports.SMPTEField = exports.AnchorField = exports.PublishStatusIndicator = exports.getStoryPublishStatus = exports.clearStoryPublishStatus = exports.publishVersion = exports.publish = exports.ASSET_TYPES = exports.formatDateDefault = exports.padStart = exports.toFixed = exports.validateAssetMimetype = exports.mimetypeConformsToOverlay = exports.filterHotkeys = exports.formattedTime = exports.fitToContainer = exports.scrapeEmail = exports.parameterizeServiceUrl = exports.string2HexCode = exports.getFirstStoryInOrg = exports.validateAccessLevel = exports.Timer = exports.StorageService = void 0;
9
9
  /*
10
10
  React Components
11
11
  */
@@ -139,6 +139,8 @@ var AssetDetails_1 = __importDefault(require("./components/asset-details/AssetDe
139
139
  exports.AssetDetails = AssetDetails_1.default;
140
140
  var AnchorField_1 = __importDefault(require("./components/anchor-field/AnchorField"));
141
141
  exports.AnchorField = AnchorField_1.default;
142
+ var SMPTEField_1 = __importDefault(require("./components/smpte-field/SMPTEField"));
143
+ exports.SMPTEField = SMPTEField_1.default;
142
144
  /*
143
145
  Redux Handlers / Thunks
144
146
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;AAAA;;GAEG;AACH,mFAA6D;AA2IzD,qBA3IG,oBAAU,CA2IH;AA1Id,6EAAuD;AA2InD,mBA3IG,kBAAQ,CA2IH;AA1IZ,sEAAwD;AA2IpD,yBA3IG,gBAAc,CA2IH;AA1IlB,4EAA8D;AA2I1D,2BA3IG,kBAAgB,CA2IH;AA1IpB,sEAAgD;AA2I5C,iBA3IG,gBAAM,CA2IH;AA1IV,mFAA6D;AA4IzD,qBA5IG,oBAAU,CA4IH;AA3Id,2FAAqE;AA4IjE,yBA5IG,wBAAc,CA4IH;AA3IlB,gEAA0C;AA4ItC,eA5IG,cAAI,CA4IH;AA3IR,+FAAyE;AA6IrE,yBA7IG,wBAAc,CA6IH;AA5IlB,gFAA0D;AA6ItD,oBA7IG,mBAAS,CA6IH;AA5Ib,kGAA4E;AA6IxE,6BA7IG,4BAAkB,CA6IH;AA5ItB,mEAA6C;AAgJzC,gBAhJG,eAAK,CAgJH;AA/IT,gEAAoD;AAmJhD,eAnJG,cAAI,CAmJH;AAlJR,yFAAmE;AA2I/D,uBA3IG,sBAAY,CA2IH;AA1IhB,4FAAsE;AAsIlE,wBAtIG,uBAAa,CAsIH;AArIjB,gFAA0D;AA2ItD,oBA3IG,mBAAS,CA2IH;AA1Ib,sGAAgF;AAgI5E,2BAhIG,0BAAgB,CAgIH;AA/HpB,sFAAgE;AA2I5D,sBA3IG,qBAAW,CA2IH;AA1If,sFAAgE;AA2I5D,sBA3IG,qBAAW,CA2IH;AA1If,gFAA0D;AA+ItD,oBA/IG,mBAAS,CA+IH;AA9Ib,6FAAuE;AA+InE,wBA/IG,uBAAa,CA+IH;AA9IjB,yFAAmE;AA+I/D,uBA/IG,sBAAY,CA+IH;AA9IhB,sFAAgE;AA+I5D,sBA/IG,qBAAW,CA+IH;AA9If,mFAA6D;AAuIzD,qBAvIG,oBAAU,CAuIH;AAtId,6DAAuC;AAyInC,cAzIG,aAAG,CAyIH;AAxIP,oEAA8C;AAgI1C,gBAhIG,eAAK,CAgIH;AA/HT,yEAAmD;AA4I/C,kBA5IG,iBAAO,CA4IH;AA3IX,yEAAmD;AA6I/C,kBA7IG,iBAAO,CA6IH;AA5IX,6EAAuD;AA6InD,mBA7IG,kBAAQ,CA6IH;AA5IZ,sFAAgE;AA6I5D,sBA7IG,qBAAW,CA6IH;AA5If,uFAAsF;AAyIlF,kGAzIK,qCAAiB,OAyIL;AAxIrB,gGAA0E;AAwJtE,8BAxJG,6BAAmB,CAwJH;AAvJvB,sGAAgF;AAyJ5E,iCAzJG,gCAAsB,CAyJH;AAxJ1B,wGAAkF;AAgK9E,kCAhKG,iCAAuB,CAgKH;AA/J3B,8EAAwD;AAoKpD,qBApKG,oBAAU,CAoKH;AAnKd,gGAA0E;AAqJtE,8BArJG,6BAAmB,CAqJH;AApJvB,gGAA0E;AA4JtE,8BA5JG,6BAAmB,CA4JH;AA3JvB,oGAA8E;AA0J1E,gCA1JG,+BAAqB,CA0JH;AAzJzB,oGAA8E;AAqJ1E,gCArJG,+BAAqB,CAqJH;AApJzB,wGAAkF;AAmJ9E,kCAnJG,iCAAuB,CAmJH;AAlJ3B,gGAA0E;AA0JtE,8BA1JG,6BAAmB,CA0JH;AAzJvB,oGAA8E;AA0J1E,gCA1JG,+BAAqB,CA0JH;AAzJzB,kGAA4E;AA0JxE,+BA1JG,8BAAoB,CA0JH;AAzJxB,4GAAsF;AA0JlF,oCA1JG,mCAAyB,CA0JH;AAzJ7B,gGAA0E;AAiJtE,8BAjJG,6BAAmB,CAiJH;AAhJvB,oGAA8E;AAiJ1E,gCAjJG,+BAAqB,CAiJH;AAhJzB,oGAA8E;AA8I1E,gCA9IG,+BAAqB,CA8IH;AA7IzB,sFAAgE;AAuI5D,yBAvIG,wBAAc,CAuIH;AAtIlB,0FAAoE;AAwJhE,2BAxJG,0BAAgB,CAwJH;AAvJpB,0FAAoE;AAsJhE,2BAtJG,0BAAgB,CAsJH;AArJpB,+EAA8E;AAwJ1E,oGAxJK,yCAAmB,OAwJL;AAvJvB,sGAAgF;AAsJ5E,iCAtJG,gCAAsB,CAsJH;AArJ1B,iFAA2D;AA4HvD,sBA5HG,qBAAW,CA4HH;AA3Hf,iFAA2D;AA4HvD,sBA5HG,qBAAW,CA4HH;AA3Hf,iFAA2D;AA4HvD,sBA5HG,qBAAW,CA4HH;AA3Hf,mFAA6D;AA4HzD,uBA5HG,sBAAY,CA4HH;AA3HhB,mFAA6D;AA4HzD,uBA5HG,sBAAY,CA4HH;AA3HhB,iGAA2E;AA4HvE,8BA5HG,6BAAmB,CA4HH;AA3HvB,gFAA0D;AAiHtD,oBAjHG,mBAAS,CAiHH;AAhHb,+FAAyE;AAiHrE,yBAjHG,wBAAc,CAiHH;AA/GlB,wEAAuE;AAgHnE,6FAhHK,2BAAY,OAgHL;AA/GhB,6CAAiD;AAqM7C,4FArMK,oBAAW,OAqML;AApMf,sEAAgD;AA+G5C,iBA/GG,gBAAM,CA+GH;AA9GV,yFAAmE;AA+G/D,uBA/GG,sBAAY,CA+GH;AA9GhB,sFAAgE;AAwM5D,sBAxMG,qBAAW,CAwMH;AAtMf;;GAEG;AACH,+DAAyC;AAsIrC,eAtIG,cAAI,CAsIH;AArIR,6CAA8D;AAsI1D,sFAtIK,YAAK,OAsIL;AACL,gGAvIY,sBAAe,OAuIZ;AAtInB,mEAA6C;AAuIzC,iBAvIG,gBAAM,CAuIH;AAtIV,qEAA+C;AA2L3C,kBA3LG,iBAAO,CA2LH;AA1LX,mDAIiC;AAuL7B,+FA1LA,wBAAc,OA0LA;AACd,wGA1LA,iCAAuB,OA0LA;AACvB,sGA1LA,+BAAqB,OA0LA;AAxLzB,iDAOgC;AA0H5B,gGAhIA,wBAAe,OAgIA;AACf,sGAhIA,8BAAqB,OAgIA;AACrB,2FAhIA,mBAAU,OAgIA;AACV,iGAhIA,yBAAgB,OAgIA;AAChB,+FAhIA,uBAAc,OAgIA;AACd,6FAhIA,qBAAY,OAgIA;AA9HhB,+DAA8D;AA+H1D,8FA/HK,6BAAa,OA+HL;AA9HjB,yDAQoC;AAuHhC,0FA9HA,sBAAS,OA8HA;AACT,6FA9HA,yBAAY,OA8HA;AACZ,4FA9HA,wBAAW,OA8HA;AACX,+FA9HA,2BAAc,OA8HA;AACd,gGA9HA,4BAAe,OA8HA;AACf,gGA9HA,4BAAe,OA8HA;AACf,sGA9HA,kCAAqB,OA8HA;AA5HzB,yDAAgF;AAsI5E,gGAtIK,4BAAe,OAsIL;AACf,kGAvIsB,8BAAiB,OAuItB;AAtIrB,+DAA4E;AA4HxE,8FA5HK,6BAAa,OA4HL;AACb,6FA7HoB,4BAAY,OA6HpB;AA5HhB,mEAA6F;AA6HzF,4FA7HK,6BAAW,OA6HL;AACX,8FA9HkB,+BAAa,OA8HlB;AACb,+FA/HiC,gCAAc,OA+HjC;AA9HlB,iFAA0D;AA+HtD,uBA/HG,uBAAY,CA+HH;AA9HhB,2EAAoD;AA+HhD,oBA/HG,oBAAS,CA+HH;AA9Hb,2EAAoD;AAmIhD,oBAnIG,oBAAS,CAmIH;AAlIb,iFAA0D;AA8HtD,uBA9HG,uBAAY,CA8HH;AA7HhB,qFAA8D;AA8H1D,yBA9HG,yBAAc,CA8HH;AA7HlB,0EAAsD;AAiIlD,uBAjIG,oBAAY,CAiIH;AAhIhB,+EAAwD;AAiIpD,sBAjIG,sBAAW,CAiIH;AAhIf,8EAAwD;AAiIpD,uBAjIG,sBAAY,CAiIH;AAhIhB;;GAEG;AACH,2DAA0D;AA8HtD,sBA9HG,eAAW,CA8HH;AA7Hf,+DAAiE;AA+H7D,yBA/HG,iBAAc,CA+HH;AA9HlB,uDAAmD;AAgI/C,cAhIG,aAAG,CAgIH;AA/HP,qEAA8C;AAiI1C,oBAjIG,oBAAS,CAiIH;AAhIb,+DAAgD;AAiI5C,yBAjIG,iBAAc,CAiIH;AAhIlB,2DAAqC;AAiIjC,gBAjIG,eAAK,CAiIH;AA/HT;;GAEG;AACH,+BAcgB;AAgHZ,mGA7HA,yBAAkB,OA6HA;AAClB,+FA7HA,qBAAc,OA6HA;AAQd,wFApIA,cAAO,OAoIA;AACP,yFApIA,eAAQ,OAoIA;AARR,uGA3HA,6BAAsB,OA2HA;AACtB,4FA3HA,kBAAW,OA2HA;AACX,+FA3HA,qBAAc,OA2HA;AAEd,8FA5HA,oBAAa,OA4HA;AACb,0GA5HA,gCAAyB,OA4HA;AACzB,sGA5HA,4BAAqB,OA4HA;AAGrB,kGA9HA,wBAAiB,OA8HA;AAZjB,oGAjHA,0BAAmB,OAiHA;AAMnB,8FAtHA,oBAAa,OAsHA;AApHjB,sHAAgG;AAgI5F,iCAhIG,gCAAsB,CAgIH"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import * as React from 'react';
2
+ import { IToolTipConfig } from '../Tooltip';
3
+ interface ISMPTEFieldProps {
4
+ label?: string;
5
+ placeholder?: string;
6
+ readOnly?: boolean;
7
+ tooltip?: IToolTipConfig | string;
8
+ width?: string | number;
9
+ onChange?(e: any): void;
10
+ info?: string;
11
+ labelPosition?: string;
12
+ value: any;
13
+ frameRate: number;
14
+ }
15
+ interface ISMPTEFieldState {
16
+ error: boolean;
17
+ errorMsg: string;
18
+ }
19
+ declare class SMPTEField extends React.PureComponent<ISMPTEFieldProps, ISMPTEFieldState> {
20
+ private inputRef;
21
+ private regex;
22
+ constructor(props: any);
23
+ componentDidMount(): void;
24
+ componentDidUpdate(prevProps: any): void;
25
+ private updateComp;
26
+ private validate;
27
+ private setDuration;
28
+ private getSMPTE;
29
+ private toFrames;
30
+ render(): JSX.Element;
31
+ }
32
+ export default SMPTEField;
@@ -0,0 +1,106 @@
1
+ import * as React from 'react';
2
+ import FieldWrapper from '../field-wrapper/FieldWrapper';
3
+ import Timecode from 'smpte-timecode';
4
+ import { toFixed } from '../../Util';
5
+ import { TIMECODE } from '../../constants/timecode';
6
+ class SMPTEField extends React.PureComponent {
7
+ inputRef;
8
+ regex = '^[0-9]+(:[0-9]+){0,3}$';
9
+ constructor(props) {
10
+ super(props);
11
+ this.state = {
12
+ error: false,
13
+ errorMsg: null
14
+ };
15
+ this.inputRef = React.createRef();
16
+ }
17
+ componentDidMount() {
18
+ this.updateComp();
19
+ }
20
+ componentDidUpdate(prevProps) {
21
+ if (prevProps.value !== this.props.value) {
22
+ this.updateComp();
23
+ }
24
+ }
25
+ updateComp() {
26
+ if (this.props.value.includes(';')) {
27
+ this.inputRef.current.value = this.props.value.replace(';', ':');
28
+ }
29
+ else {
30
+ this.inputRef.current.value = this.props.value;
31
+ }
32
+ this.setState({
33
+ error: false,
34
+ errorMsg: null
35
+ });
36
+ }
37
+ validate(e) {
38
+ const val = e ? e.target.value : this.inputRef.current.value;
39
+ const isValidSMPTETimeCode = new RegExp(this.regex);
40
+ const error = isValidSMPTETimeCode.test(val);
41
+ if (e && e.key === 'Enter') {
42
+ this.setDuration(error, val);
43
+ }
44
+ if (e === undefined) {
45
+ this.setDuration(error, val);
46
+ }
47
+ }
48
+ setDuration(error, val) {
49
+ if (error) {
50
+ this.setState({ error: !error, errorMsg: null });
51
+ const smpte = this.getSMPTE(val);
52
+ if (smpte) {
53
+ this.props.onChange(smpte);
54
+ }
55
+ }
56
+ else {
57
+ this.setState({
58
+ error: !error,
59
+ errorMsg: TIMECODE.ERROR
60
+ });
61
+ }
62
+ }
63
+ getSMPTE(val) {
64
+ const { frameRate } = this.props;
65
+ const rates = parseFloat(toFixed(frameRate, 3));
66
+ const valArray = val.split(':').map(Number);
67
+ const toFrames = this.toFrames(valArray, rates);
68
+ const duration = new Timecode(toFrames, rates).toString();
69
+ const newDuration = duration.includes(';') ? duration.replace(';', ':') : duration;
70
+ this.inputRef.current.value = newDuration;
71
+ return newDuration;
72
+ }
73
+ toFrames(array, rates) {
74
+ const length = array.length;
75
+ let hours = 0;
76
+ let mins = 0;
77
+ let secs = 0;
78
+ let frames = 0;
79
+ if (length === 1) {
80
+ frames = array[0];
81
+ }
82
+ if (length === 2) {
83
+ secs = array[0] * rates;
84
+ frames = array[1];
85
+ }
86
+ if (length === 3) {
87
+ mins = array[0] * 60 * rates;
88
+ secs = array[1] * rates;
89
+ frames = array[2];
90
+ }
91
+ if (length === 4) {
92
+ hours = array[0] * 3600 * rates;
93
+ mins = array[1] * 60 * rates;
94
+ secs = array[2] * rates;
95
+ frames = array[3];
96
+ }
97
+ return hours + mins + secs + frames;
98
+ }
99
+ render() {
100
+ const { label, width, tooltip, labelPosition, placeholder, value } = this.props;
101
+ return (React.createElement(FieldWrapper, { customClass: `text-field ${this.state.error ? 'invalid' : ''}`, label: label, labelPosition: labelPosition, tooltip: tooltip, width: width, info: this.state.errorMsg },
102
+ React.createElement("input", { type: 'text', ref: this.inputRef, pattern: this.regex, defaultValue: value, placeholder: placeholder, onBlur: () => this.validate(), onKeyDown: (e) => this.validate(e) })));
103
+ }
104
+ }
105
+ export default SMPTEField;
106
+ //# sourceMappingURL=SMPTEField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SMPTEField.js","sourceRoot":"","sources":["../../../../src/components/smpte-field/SMPTEField.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export declare const TIMECODE: {
2
+ ERROR: string;
3
+ };
@@ -0,0 +1,4 @@
1
+ export const TIMECODE = {
2
+ ERROR: 'Input must be HH:MM:SS:FF'
3
+ };
4
+ //# sourceMappingURL=timecode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timecode.js","sourceRoot":"","sources":["../../../src/constants/timecode.tsx"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,QAAQ,GAAG;IACpB,KAAK,EAAE,2BAA2B;CACrC,CAAC"}
@@ -64,6 +64,7 @@ import { ASSET_TYPES } from './constants/assets';
64
64
  import Portal from './components/portal/Portal';
65
65
  import AssetDetails from './components/asset-details/AssetDetails';
66
66
  import AnchorField from './components/anchor-field/AnchorField';
67
+ import SMPTEField from './components/smpte-field/SMPTEField';
67
68
  import auth from './redux/reducers/auth';
68
69
  import { login, clearCachedAuth } from './redux/actions/auth';
69
70
  import access from './redux/reducers/access';
@@ -91,4 +92,4 @@ import StorageService from './services/Storage';
91
92
  import Timer from './services/Timer';
92
93
  import { getFirstStoryInOrg, string2HexCode, toFixed, padStart, parameterizeServiceUrl, scrapeEmail, fitToContainer, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, formatDateDefault, validateAccessLevel, formattedTime } from './Util';
93
94
  import PublishStatusIndicator from './components/publish-wizard/publish/PublishStatusIndicator';
94
- export { AppWrapper, AuthGate, ImposiumHeader, ImposiumDropdown, Button, ButtonGroupField, ButtonMenu, ButtonMenuItem, Card, CheckboxField, ControlledList, DataTable, DataTablePaginator, FieldWrapper, HRule, ListField, Modal, NumberField, SelectField, ColorField, Tabs, ITab, Tag, TextField, TextAreaField, ToastService, SliderField, Section, DeterminateLoader, Spinner, NoAccess, ServiceIcon, LogViewer, StoryPreviewer, ShortcutMenu, Portal, AssetDetails, ImagePlayer, VideoPlayer, AudioPlayer, VideoPreview, ImagePreview, ImageSequencePlayer, AssetsTypeIcon, AssetsTableDateCell, AssetsTableDropzone, AssetsTablePreviewCell, AssetsTableSelectFilter, AssetsTableSelectCell, AssetsTableTypeFilter, AssetsTableTypeCell, AssetsTableStatusCell, AssetsTableNameFilter, AssetsTableNameCell, AssetsTableDurationCell, AssetsTableTagsCell, AssetsTableTagsFilter, AssetsTableTagsPivot, AssetsTableComplexTagCell, AssetField, AssetsUploadMenu, FontAssetPreview, DroppableAssetRenderer, PreviewNotAvailable, IStaticComposition, auth, login, clearCachedAuth, access, cacheAccessData, clearCachedAccessList, storyAdded, storyNameMutated, orgNameMutated, storyDeleted, updateFilters, getAssets, deleteAssets, addAssetTag, deleteAssetTag, updateAssetName, updateAssetData, doAssetTableHydration, toggleAutoTag, uploadAssets, selectAsset, deselectAsset, resetSelection, assetFilters, assetList, assetUploads, selectedAssets, getAssetTagList, addAssetTagToList, assetTags, assetActions, activeBatch, batchActions, AuthService, IIdentity, SessionService, IHubSession, API, IImposiumAPI, LegacyAPI, StorageService, Timer, validateAccessLevel, getFirstStoryInOrg, string2HexCode, parameterizeServiceUrl, scrapeEmail, fitToContainer, formattedTime, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, toFixed, padStart, formatDateDefault, ASSET_TYPES, publish, publishVersion, clearStoryPublishStatus, getStoryPublishStatus, PublishStatusIndicator, AnchorField };
95
+ export { AppWrapper, AuthGate, ImposiumHeader, ImposiumDropdown, Button, ButtonGroupField, ButtonMenu, ButtonMenuItem, Card, CheckboxField, ControlledList, DataTable, DataTablePaginator, FieldWrapper, HRule, ListField, Modal, NumberField, SelectField, ColorField, Tabs, ITab, Tag, TextField, TextAreaField, ToastService, SliderField, Section, DeterminateLoader, Spinner, NoAccess, ServiceIcon, LogViewer, StoryPreviewer, ShortcutMenu, Portal, AssetDetails, ImagePlayer, VideoPlayer, AudioPlayer, VideoPreview, ImagePreview, ImageSequencePlayer, AssetsTypeIcon, AssetsTableDateCell, AssetsTableDropzone, AssetsTablePreviewCell, AssetsTableSelectFilter, AssetsTableSelectCell, AssetsTableTypeFilter, AssetsTableTypeCell, AssetsTableStatusCell, AssetsTableNameFilter, AssetsTableNameCell, AssetsTableDurationCell, AssetsTableTagsCell, AssetsTableTagsFilter, AssetsTableTagsPivot, AssetsTableComplexTagCell, AssetField, AssetsUploadMenu, FontAssetPreview, DroppableAssetRenderer, PreviewNotAvailable, IStaticComposition, auth, login, clearCachedAuth, access, cacheAccessData, clearCachedAccessList, storyAdded, storyNameMutated, orgNameMutated, storyDeleted, updateFilters, getAssets, deleteAssets, addAssetTag, deleteAssetTag, updateAssetName, updateAssetData, doAssetTableHydration, toggleAutoTag, uploadAssets, selectAsset, deselectAsset, resetSelection, assetFilters, assetList, assetUploads, selectedAssets, getAssetTagList, addAssetTagToList, assetTags, assetActions, activeBatch, batchActions, AuthService, IIdentity, SessionService, IHubSession, API, IImposiumAPI, LegacyAPI, StorageService, Timer, validateAccessLevel, getFirstStoryInOrg, string2HexCode, parameterizeServiceUrl, scrapeEmail, fitToContainer, formattedTime, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, toFixed, padStart, formatDateDefault, ASSET_TYPES, publish, publishVersion, clearStoryPublishStatus, getStoryPublishStatus, PublishStatusIndicator, AnchorField, SMPTEField };
package/dist/esm/index.js CHANGED
@@ -66,6 +66,7 @@ import { ASSET_TYPES } from './constants/assets';
66
66
  import Portal from './components/portal/Portal';
67
67
  import AssetDetails from './components/asset-details/AssetDetails';
68
68
  import AnchorField from './components/anchor-field/AnchorField';
69
+ import SMPTEField from './components/smpte-field/SMPTEField';
69
70
  /*
70
71
  Redux Handlers / Thunks
71
72
  */
@@ -102,5 +103,5 @@ import Timer from './services/Timer';
102
103
  */
103
104
  import { getFirstStoryInOrg, string2HexCode, toFixed, padStart, parameterizeServiceUrl, scrapeEmail, fitToContainer, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, formatDateDefault, validateAccessLevel, formattedTime } from './Util';
104
105
  import PublishStatusIndicator from './components/publish-wizard/publish/PublishStatusIndicator';
105
- export { AppWrapper, AuthGate, ImposiumHeader, ImposiumDropdown, Button, ButtonGroupField, ButtonMenu, ButtonMenuItem, Card, CheckboxField, ControlledList, DataTable, DataTablePaginator, FieldWrapper, HRule, ListField, Modal, NumberField, SelectField, ColorField, Tabs, Tag, TextField, TextAreaField, ToastService, SliderField, Section, DeterminateLoader, Spinner, NoAccess, ServiceIcon, LogViewer, StoryPreviewer, ShortcutMenu, Portal, AssetDetails, ImagePlayer, VideoPlayer, AudioPlayer, VideoPreview, ImagePreview, ImageSequencePlayer, AssetsTypeIcon, AssetsTableDateCell, AssetsTableDropzone, AssetsTablePreviewCell, AssetsTableSelectFilter, AssetsTableSelectCell, AssetsTableTypeFilter, AssetsTableTypeCell, AssetsTableStatusCell, AssetsTableNameFilter, AssetsTableNameCell, AssetsTableDurationCell, AssetsTableTagsCell, AssetsTableTagsFilter, AssetsTableTagsPivot, AssetsTableComplexTagCell, AssetField, AssetsUploadMenu, FontAssetPreview, DroppableAssetRenderer, PreviewNotAvailable, auth, login, clearCachedAuth, access, cacheAccessData, clearCachedAccessList, storyAdded, storyNameMutated, orgNameMutated, storyDeleted, updateFilters, getAssets, deleteAssets, addAssetTag, deleteAssetTag, updateAssetName, updateAssetData, doAssetTableHydration, toggleAutoTag, uploadAssets, selectAsset, deselectAsset, resetSelection, assetFilters, assetList, assetUploads, selectedAssets, getAssetTagList, addAssetTagToList, assetTags, assetActions, activeBatch, batchActions, AuthService, SessionService, API, LegacyAPI, StorageService, Timer, validateAccessLevel, getFirstStoryInOrg, string2HexCode, parameterizeServiceUrl, scrapeEmail, fitToContainer, formattedTime, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, toFixed, padStart, formatDateDefault, ASSET_TYPES, publish, publishVersion, clearStoryPublishStatus, getStoryPublishStatus, PublishStatusIndicator, AnchorField };
106
+ export { AppWrapper, AuthGate, ImposiumHeader, ImposiumDropdown, Button, ButtonGroupField, ButtonMenu, ButtonMenuItem, Card, CheckboxField, ControlledList, DataTable, DataTablePaginator, FieldWrapper, HRule, ListField, Modal, NumberField, SelectField, ColorField, Tabs, Tag, TextField, TextAreaField, ToastService, SliderField, Section, DeterminateLoader, Spinner, NoAccess, ServiceIcon, LogViewer, StoryPreviewer, ShortcutMenu, Portal, AssetDetails, ImagePlayer, VideoPlayer, AudioPlayer, VideoPreview, ImagePreview, ImageSequencePlayer, AssetsTypeIcon, AssetsTableDateCell, AssetsTableDropzone, AssetsTablePreviewCell, AssetsTableSelectFilter, AssetsTableSelectCell, AssetsTableTypeFilter, AssetsTableTypeCell, AssetsTableStatusCell, AssetsTableNameFilter, AssetsTableNameCell, AssetsTableDurationCell, AssetsTableTagsCell, AssetsTableTagsFilter, AssetsTableTagsPivot, AssetsTableComplexTagCell, AssetField, AssetsUploadMenu, FontAssetPreview, DroppableAssetRenderer, PreviewNotAvailable, auth, login, clearCachedAuth, access, cacheAccessData, clearCachedAccessList, storyAdded, storyNameMutated, orgNameMutated, storyDeleted, updateFilters, getAssets, deleteAssets, addAssetTag, deleteAssetTag, updateAssetName, updateAssetData, doAssetTableHydration, toggleAutoTag, uploadAssets, selectAsset, deselectAsset, resetSelection, assetFilters, assetList, assetUploads, selectedAssets, getAssetTagList, addAssetTagToList, assetTags, assetActions, activeBatch, batchActions, AuthService, SessionService, API, LegacyAPI, StorageService, Timer, validateAccessLevel, getFirstStoryInOrg, string2HexCode, parameterizeServiceUrl, scrapeEmail, fitToContainer, formattedTime, filterHotkeys, mimetypeConformsToOverlay, validateAssetMimetype, toFixed, padStart, formatDateDefault, ASSET_TYPES, publish, publishVersion, clearStoryPublishStatus, getStoryPublishStatus, PublishStatusIndicator, AnchorField, SMPTEField };
106
107
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@imposium-hub/components",
3
- "version": "1.51.0",
3
+ "version": "1.51.1",
4
4
  "description": "React & Typescript component / asset library for Imposium front-ends",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "module": "./dist/esm/index.js",
@@ -45,15 +45,16 @@
45
45
  "moment": "^2.29.1",
46
46
  "react-color": "^2.18.0",
47
47
  "react-merge-refs": "^1.1.0",
48
- "react-moveable": "^0.26.1"
48
+ "react-moveable": "^0.26.1",
49
+ "smpte-timecode": "^1.2.3"
49
50
  },
50
51
  "peerDependencies": {
51
52
  "@fortawesome/fontawesome-svg-core": "^6.1.1",
52
53
  "@fortawesome/free-brands-svg-icons": "^6.1.1",
53
54
  "@fortawesome/free-solid-svg-icons": "^6.1.1",
54
55
  "@fortawesome/pro-light-svg-icons": "^6.1.1",
55
- "@fortawesome/react-fontawesome": "^0.1.18",
56
56
  "@fortawesome/pro-solid-svg-icons": "^6.1.1",
57
+ "@fortawesome/react-fontawesome": "^0.1.18",
57
58
  "axios": "^0.21.1",
58
59
  "hotkeys-js": "^3.6.12",
59
60
  "localforage": "^1.7.3",
@@ -75,8 +76,8 @@
75
76
  "@fortawesome/free-brands-svg-icons": "^6.1.1",
76
77
  "@fortawesome/free-solid-svg-icons": "^6.1.1",
77
78
  "@fortawesome/pro-light-svg-icons": "^6.1.1",
78
- "@fortawesome/react-fontawesome": "^0.1.18",
79
79
  "@fortawesome/pro-solid-svg-icons": "^6.1.1",
80
+ "@fortawesome/react-fontawesome": "^0.1.18",
80
81
  "@imposium-hub/eslint-config": "^1.1.0",
81
82
  "@imposium-hub/prettier-config": "^2.1.0",
82
83
  "@storybook/addon-actions": "^6.4.22",
@@ -0,0 +1,166 @@
1
+ import * as React from 'react';
2
+ import FieldWrapper from '../field-wrapper/FieldWrapper';
3
+ import { IToolTipConfig } from '../Tooltip';
4
+ import Timecode from 'smpte-timecode';
5
+ import { toFixed } from '../../Util';
6
+ import { TIMECODE } from '../../constants/timecode';
7
+
8
+ interface ISMPTEFieldProps {
9
+ label?: string;
10
+ placeholder?: string;
11
+ readOnly?: boolean;
12
+ tooltip?: IToolTipConfig | string;
13
+ width?: string | number;
14
+ onChange?(e): void;
15
+ info?: string;
16
+ labelPosition?: string;
17
+ value: any;
18
+ frameRate: number;
19
+ }
20
+
21
+ interface ISMPTEFieldState {
22
+ error: boolean;
23
+ errorMsg: string;
24
+ }
25
+
26
+ class SMPTEField extends React.PureComponent<ISMPTEFieldProps, ISMPTEFieldState> {
27
+ private inputRef: any;
28
+
29
+ private regex = '^[0-9]+(:[0-9]+){0,3}$';
30
+
31
+ constructor(props) {
32
+ super(props);
33
+ this.state = {
34
+ error: false,
35
+ errorMsg: null
36
+ };
37
+ this.inputRef = React.createRef();
38
+ }
39
+
40
+ public componentDidMount(): void {
41
+ this.updateComp();
42
+ }
43
+
44
+ public componentDidUpdate(prevProps): void {
45
+ if (prevProps.value !== this.props.value) {
46
+ this.updateComp();
47
+ }
48
+ }
49
+
50
+ private updateComp() {
51
+ if (this.props.value.includes(';')) {
52
+ this.inputRef.current.value = this.props.value.replace(';', ':');
53
+ } else {
54
+ this.inputRef.current.value = this.props.value;
55
+ }
56
+
57
+ this.setState({
58
+ error: false,
59
+ errorMsg: null
60
+ });
61
+ }
62
+
63
+ private validate(e?) {
64
+ const val = e ? e.target.value : this.inputRef.current.value;
65
+
66
+ const isValidSMPTETimeCode = new RegExp(this.regex);
67
+ const error = isValidSMPTETimeCode.test(val);
68
+
69
+ if (e && e.key === 'Enter') {
70
+ this.setDuration(error, val);
71
+ }
72
+
73
+ if (e === undefined) {
74
+ this.setDuration(error, val);
75
+ }
76
+ }
77
+
78
+ private setDuration(error, val) {
79
+ if (error) {
80
+ this.setState({ error: !error, errorMsg: null });
81
+ const smpte = this.getSMPTE(val);
82
+ if (smpte) {
83
+ this.props.onChange(smpte);
84
+ }
85
+ } else {
86
+ this.setState({
87
+ error: !error,
88
+ errorMsg: TIMECODE.ERROR
89
+ });
90
+ }
91
+ }
92
+
93
+ private getSMPTE(val) {
94
+ const { frameRate } = this.props;
95
+ const rates = parseFloat(toFixed(frameRate, 3));
96
+
97
+ const valArray = val.split(':').map(Number);
98
+
99
+ const toFrames = this.toFrames(valArray, rates);
100
+
101
+ const duration: string = new Timecode(toFrames, rates).toString();
102
+ const newDuration = duration.includes(';') ? duration.replace(';', ':') : duration;
103
+
104
+ this.inputRef.current.value = newDuration;
105
+ return newDuration;
106
+ }
107
+
108
+ private toFrames(array, rates) {
109
+ const length = array.length;
110
+
111
+ let hours = 0;
112
+ let mins = 0;
113
+ let secs = 0;
114
+ let frames = 0;
115
+
116
+ if (length === 1) {
117
+ frames = array[0];
118
+ }
119
+
120
+ if (length === 2) {
121
+ secs = array[0] * rates;
122
+ frames = array[1];
123
+ }
124
+
125
+ if (length === 3) {
126
+ mins = array[0] * 60 * rates;
127
+ secs = array[1] * rates;
128
+ frames = array[2];
129
+ }
130
+
131
+ if (length === 4) {
132
+ hours = array[0] * 3600 * rates;
133
+ mins = array[1] * 60 * rates;
134
+ secs = array[2] * rates;
135
+ frames = array[3];
136
+ }
137
+
138
+ return hours + mins + secs + frames;
139
+ }
140
+
141
+ public render() {
142
+ const { label, width, tooltip, labelPosition, placeholder, value } = this.props;
143
+
144
+ return (
145
+ <FieldWrapper
146
+ customClass={`text-field ${this.state.error ? 'invalid' : ''}`}
147
+ label={label}
148
+ labelPosition={labelPosition}
149
+ tooltip={tooltip}
150
+ width={width}
151
+ info={this.state.errorMsg}>
152
+ <input
153
+ type='text'
154
+ ref={this.inputRef}
155
+ pattern={this.regex}
156
+ defaultValue={value}
157
+ placeholder={placeholder}
158
+ onBlur={() => this.validate()}
159
+ onKeyDown={(e) => this.validate(e)}
160
+ />
161
+ </FieldWrapper>
162
+ );
163
+ }
164
+ }
165
+
166
+ export default SMPTEField;
@@ -0,0 +1,3 @@
1
+ export const TIMECODE = {
2
+ ERROR: 'Input must be HH:MM:SS:FF'
3
+ };
package/src/index.ts CHANGED
@@ -67,7 +67,7 @@ import { ASSET_TYPES } from './constants/assets';
67
67
  import Portal from './components/portal/Portal';
68
68
  import AssetDetails from './components/asset-details/AssetDetails';
69
69
  import AnchorField from './components/anchor-field/AnchorField';
70
-
70
+ import SMPTEField from './components/smpte-field/SMPTEField';
71
71
  /*
72
72
  Redux Handlers / Thunks
73
73
  */
@@ -266,5 +266,6 @@ export {
266
266
  clearStoryPublishStatus,
267
267
  getStoryPublishStatus,
268
268
  PublishStatusIndicator,
269
- AnchorField
269
+ AnchorField,
270
+ SMPTEField
270
271
  };
@@ -1,11 +0,0 @@
1
- export declare const ANCHOR_POSITIONS: {
2
- TOP_LEFT: string;
3
- TOP: string;
4
- TOP_RIGHT: string;
5
- LEFT: string;
6
- CENTER: string;
7
- RIGHT: string;
8
- BOTTOM_LEFT: string;
9
- BOTTOM: string;
10
- BOTTOM_RIGHT: string;
11
- };
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ANCHOR_POSITIONS = void 0;
4
- exports.ANCHOR_POSITIONS = {
5
- TOP_LEFT: 'top left',
6
- TOP: 'top center',
7
- TOP_RIGHT: 'top right',
8
- LEFT: 'center left',
9
- CENTER: 'center center',
10
- RIGHT: 'center right',
11
- BOTTOM_LEFT: 'bottom left',
12
- BOTTOM: 'bottom center',
13
- BOTTOM_RIGHT: 'bottom right'
14
- };
15
- //# sourceMappingURL=anchor-positions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"anchor-positions.js","sourceRoot":"","sources":["../../../src/constants/anchor-positions.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC5B,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,YAAY;IACjB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,eAAe;IACvB,YAAY,EAAE,cAAc;CAC/B,CAAC"}
@@ -1 +0,0 @@
1
- export declare const VALUE_ERROR: string;
@@ -1,5 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VALUE_ERROR = void 0;
4
- exports.VALUE_ERROR = "Value cannot be above [max] or below [min].";
5
- //# sourceMappingURL=editors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editors.js","sourceRoot":"","sources":["../../../src/constants/editors.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAW,6CAA6C,CAAA"}
@@ -1,11 +0,0 @@
1
- export declare const ANCHOR_POSITIONS: {
2
- TOP_LEFT: string;
3
- TOP: string;
4
- TOP_RIGHT: string;
5
- LEFT: string;
6
- CENTER: string;
7
- RIGHT: string;
8
- BOTTOM_LEFT: string;
9
- BOTTOM: string;
10
- BOTTOM_RIGHT: string;
11
- };
@@ -1,12 +0,0 @@
1
- export const ANCHOR_POSITIONS = {
2
- TOP_LEFT: 'top left',
3
- TOP: 'top center',
4
- TOP_RIGHT: 'top right',
5
- LEFT: 'center left',
6
- CENTER: 'center center',
7
- RIGHT: 'center right',
8
- BOTTOM_LEFT: 'bottom left',
9
- BOTTOM: 'bottom center',
10
- BOTTOM_RIGHT: 'bottom right'
11
- };
12
- //# sourceMappingURL=anchor-positions.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"anchor-positions.js","sourceRoot":"","sources":["../../../src/constants/anchor-positions.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,YAAY;IACjB,SAAS,EAAE,WAAW;IACtB,IAAI,EAAE,aAAa;IACnB,MAAM,EAAE,eAAe;IACvB,KAAK,EAAE,cAAc;IACrB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,eAAe;IACvB,YAAY,EAAE,cAAc;CAC/B,CAAC"}
@@ -1 +0,0 @@
1
- export declare const VALUE_ERROR: string;
@@ -1,2 +0,0 @@
1
- export const VALUE_ERROR = `Value cannot be above [max] or below [min].`;
2
- //# sourceMappingURL=editors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"editors.js","sourceRoot":"","sources":["../../../src/constants/editors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,WAAW,GAAW,6CAA6C,CAAA"}