@imposium-hub/components 2.15.0-0 → 2.15.0-2
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/dist/cjs/components/app-wrapper/AppWrapper.d.ts +6 -0
- package/dist/cjs/components/app-wrapper/AppWrapper.js +7 -3
- package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/cjs/components/asset-details/AssetDetails.js +1 -1
- package/dist/cjs/components/assets/AssetsTableComplexTagCell.js +1 -1
- package/dist/cjs/components/assets/AssetsTableTagsPivot.js +1 -1
- package/dist/cjs/components/assets/AssetsUploadMenu.js +6 -6
- package/dist/cjs/components/context-menu/AnimateComponent.d.ts +1 -0
- package/dist/cjs/components/context-menu/AnimateComponent.js.map +1 -1
- package/dist/cjs/components/context-menu/ContextMenu.d.ts +1 -0
- package/dist/cjs/components/context-menu/ContextMenu.js +6 -6
- package/dist/cjs/components/context-menu/ContextMenu.js.map +1 -1
- package/dist/cjs/components/context-menu/ContextMenuItem.d.ts +1 -0
- package/dist/cjs/components/context-menu/ContextMenuItem.js.map +1 -1
- package/dist/cjs/components/context-menu/ContextMenuTrigger.d.ts +1 -0
- package/dist/cjs/components/context-menu/ContextMenuTrigger.js.map +1 -1
- package/dist/cjs/components/context-menu/SubMenu.d.ts +1 -0
- package/dist/cjs/components/context-menu/SubMenu.js.map +1 -1
- package/dist/cjs/components/controlled-list/ControlledList.stories.js +1 -1
- package/dist/cjs/components/number-field/NumberField.d.ts +2 -1
- package/dist/cjs/components/number-field/NumberField.js +18 -17
- package/dist/cjs/components/number-field/NumberField.js.map +1 -1
- package/dist/cjs/components/portal/Portal.d.ts +1 -0
- package/dist/cjs/components/portal/Portal.js.map +1 -1
- package/dist/cjs/components/publish-wizard/PublishWizard.d.ts +1 -1
- package/dist/cjs/components/publish-wizard/PublishWizard.js +7 -2
- package/dist/cjs/components/publish-wizard/PublishWizard.js.map +1 -1
- package/dist/cjs/components/story-previewer/StoryPreviewer.js +15 -2
- package/dist/cjs/components/story-previewer/StoryPreviewer.js.map +1 -1
- package/dist/cjs/components/tabs/Tabs.d.ts +12 -4
- package/dist/cjs/components/tabs/Tabs.js +21 -3
- package/dist/cjs/components/tabs/Tabs.js.map +1 -1
- package/dist/cjs/components/tabs/Tabs.stories.d.ts +1 -3
- package/dist/cjs/components/tag/Tag.js.map +1 -1
- package/dist/cjs/components/tag/Tag.test.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -3
- package/dist/cjs/index.js +37 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils/routing.d.ts +4 -2
- package/dist/cjs/utils/routing.js +8 -4
- package/dist/cjs/utils/routing.js.map +1 -1
- package/dist/esm/components/app-wrapper/AppWrapper.d.ts +6 -0
- package/dist/esm/components/app-wrapper/AppWrapper.js +8 -4
- package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
- package/dist/esm/components/asset-details/AssetDetails.js +1 -1
- package/dist/esm/components/assets/AssetsTableComplexTagCell.js +1 -1
- package/dist/esm/components/assets/AssetsTableTagsPivot.js +1 -1
- package/dist/esm/components/assets/AssetsUploadMenu.js +6 -6
- package/dist/esm/components/context-menu/AnimateComponent.d.ts +1 -0
- package/dist/esm/components/context-menu/AnimateComponent.js.map +1 -1
- package/dist/esm/components/context-menu/ContextMenu.d.ts +1 -0
- package/dist/esm/components/context-menu/ContextMenu.js +2 -1
- package/dist/esm/components/context-menu/ContextMenu.js.map +1 -1
- package/dist/esm/components/context-menu/ContextMenuItem.d.ts +1 -0
- package/dist/esm/components/context-menu/ContextMenuItem.js.map +1 -1
- package/dist/esm/components/context-menu/ContextMenuTrigger.d.ts +1 -0
- package/dist/esm/components/context-menu/ContextMenuTrigger.js.map +1 -1
- package/dist/esm/components/context-menu/SubMenu.d.ts +1 -0
- package/dist/esm/components/context-menu/SubMenu.js.map +1 -1
- package/dist/esm/components/controlled-list/ControlledList.stories.js +1 -1
- package/dist/esm/components/number-field/NumberField.d.ts +2 -1
- package/dist/esm/components/number-field/NumberField.js +15 -17
- package/dist/esm/components/number-field/NumberField.js.map +1 -1
- package/dist/esm/components/portal/Portal.d.ts +1 -0
- package/dist/esm/components/portal/Portal.js.map +1 -1
- package/dist/esm/components/publish-wizard/PublishWizard.d.ts +1 -1
- package/dist/esm/components/publish-wizard/PublishWizard.js +7 -2
- package/dist/esm/components/publish-wizard/PublishWizard.js.map +1 -1
- package/dist/esm/components/story-previewer/StoryPreviewer.js +14 -2
- package/dist/esm/components/story-previewer/StoryPreviewer.js.map +1 -1
- package/dist/esm/components/tabs/Tabs.d.ts +12 -4
- package/dist/esm/components/tabs/Tabs.js +11 -4
- package/dist/esm/components/tabs/Tabs.js.map +1 -1
- package/dist/esm/components/tabs/Tabs.stories.d.ts +1 -3
- package/dist/esm/components/tag/Tag.js.map +1 -1
- package/dist/esm/components/tag/Tag.test.js.map +1 -1
- package/dist/esm/index.d.ts +3 -3
- package/dist/esm/index.js +3 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/utils/routing.d.ts +4 -2
- package/dist/esm/utils/routing.js +6 -3
- package/dist/esm/utils/routing.js.map +1 -1
- package/dist/styles.css +14 -8
- package/dist/styles.less +76 -68
- package/less/components/assets.less +6 -5
- package/less/components/auth-gate.less +1 -1
- package/less/components/change-report.less +11 -5
- package/less/components/data-table.less +2 -2
- package/less/components/determinate-loader.less +2 -2
- package/less/components/font-preview.less +1 -1
- package/less/components/form-field.less +5 -5
- package/less/components/header.less +30 -30
- package/less/components/modal.less +2 -2
- package/less/components/player.less +2 -2
- package/less/components/publish-wizard.less +1 -0
- package/less/components/section.less +2 -2
- package/less/components/static-composition-editor.less +4 -4
- package/less/components/story-previewer.less +4 -4
- package/less/components/tabs.less +3 -3
- package/package.json +8 -8
- package/src/components/app-wrapper/AppWrapper.tsx +17 -4
- package/src/components/asset-details/AssetDetails.tsx +1 -1
- package/src/components/assets/AssetsTableComplexTagCell.tsx +1 -1
- package/src/components/assets/AssetsTableTagsPivot.tsx +1 -1
- package/src/components/assets/AssetsUploadMenu.tsx +6 -6
- package/src/components/context-menu/AnimateComponent.tsx +1 -0
- package/src/components/context-menu/ContextMenu.tsx +15 -13
- package/src/components/context-menu/ContextMenuItem.tsx +1 -0
- package/src/components/context-menu/ContextMenuTrigger.tsx +1 -0
- package/src/components/context-menu/SubMenu.tsx +1 -0
- package/src/components/controlled-list/ControlledList.stories.tsx +1 -1
- package/src/components/number-field/NumberField.tsx +21 -18
- package/src/components/portal/Portal.tsx +1 -0
- package/src/components/publish-wizard/PublishWizard.tsx +19 -3
- package/src/components/story-previewer/StoryPreviewer.tsx +21 -8
- package/src/components/tabs/Tabs.tsx +25 -8
- package/src/index.ts +3 -2
- package/src/utils/routing.ts +10 -6
- /package/src/components/{tag → Tag}/Tag.test.tsx +0 -0
- /package/src/components/{tag → Tag}/Tag.tsx +0 -0
|
@@ -2,6 +2,14 @@ import * as React from 'react';
|
|
|
2
2
|
import FieldWrapper from '../field-wrapper/FieldWrapper';
|
|
3
3
|
import { IToolTipConfig } from '../Tooltip';
|
|
4
4
|
|
|
5
|
+
export const validateNumInput = (val: number, min: number, max: number) => {
|
|
6
|
+
if (val < min || val > max) {
|
|
7
|
+
return false;
|
|
8
|
+
} else {
|
|
9
|
+
return true;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
|
|
5
13
|
interface INumberFieldProps {
|
|
6
14
|
buttons?: any;
|
|
7
15
|
label?: any;
|
|
@@ -60,30 +68,25 @@ class NumberField extends React.PureComponent<INumberFieldProps, INumberFieldSta
|
|
|
60
68
|
|
|
61
69
|
public componentDidUpdate(prevProps): void {
|
|
62
70
|
if (prevProps.value !== this.props.value) {
|
|
63
|
-
this.setState(
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
71
|
+
this.setState(
|
|
72
|
+
{
|
|
73
|
+
value: this.props.value
|
|
74
|
+
},
|
|
75
|
+
() => {
|
|
76
|
+
this.validateValue(this.props.value);
|
|
77
|
+
}
|
|
78
|
+
);
|
|
67
79
|
}
|
|
68
80
|
}
|
|
69
81
|
|
|
70
|
-
private
|
|
82
|
+
private validateValue(val) {
|
|
71
83
|
const { max, min } = this.props;
|
|
72
|
-
const
|
|
73
|
-
this.setState({
|
|
74
|
-
if (min || max) {
|
|
75
|
-
if (val < min || val > max) {
|
|
76
|
-
this.setState({ error: true });
|
|
77
|
-
} else {
|
|
78
|
-
this.setState({ error: false });
|
|
79
|
-
this.onChange(e);
|
|
80
|
-
}
|
|
81
|
-
} else {
|
|
82
|
-
this.onChange(e);
|
|
83
|
-
}
|
|
84
|
+
const error = validateNumInput(val, min, max);
|
|
85
|
+
this.setState({ error: !error });
|
|
84
86
|
}
|
|
85
87
|
|
|
86
88
|
private onChange(e) {
|
|
89
|
+
this.validateValue(e.target.value);
|
|
87
90
|
let val = e.target.value;
|
|
88
91
|
if (val === '' || val === null) {
|
|
89
92
|
val = this.props.min;
|
|
@@ -201,7 +204,7 @@ class NumberField extends React.PureComponent<INumberFieldProps, INumberFieldSta
|
|
|
201
204
|
onKeyDown={(e) => this.onKeyDownHandler(e)}
|
|
202
205
|
onFocus={() => this.onSelectFocus()}
|
|
203
206
|
onBlur={(e) => this.onSelectBlur(e)}
|
|
204
|
-
onChange={(e) => this.
|
|
207
|
+
onChange={(e) => this.onChange(e)}
|
|
205
208
|
/>
|
|
206
209
|
</FieldWrapper>
|
|
207
210
|
);
|
|
@@ -458,6 +458,19 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
|
|
|
458
458
|
{copy.publish.btnSkip}
|
|
459
459
|
</Button>
|
|
460
460
|
);
|
|
461
|
+
|
|
462
|
+
if (hasReviewStep) {
|
|
463
|
+
lowerButtons.push(
|
|
464
|
+
<Button
|
|
465
|
+
tooltip={copy.publish.btnBack}
|
|
466
|
+
size={'large'}
|
|
467
|
+
key='btn-back'
|
|
468
|
+
onClick={() => this.setState({ screenIndex: 0 })}
|
|
469
|
+
color='primary'>
|
|
470
|
+
{copy.publish.btnBack}
|
|
471
|
+
</Button>
|
|
472
|
+
);
|
|
473
|
+
}
|
|
461
474
|
} else {
|
|
462
475
|
// Distribution and sub-screens: Back button (and Done/Finish if applicable)
|
|
463
476
|
if (done || error) {
|
|
@@ -473,9 +486,12 @@ class PublishWizard extends React.PureComponent<IPublishWizardProps, IPublishWiz
|
|
|
473
486
|
);
|
|
474
487
|
}
|
|
475
488
|
|
|
476
|
-
// Back button: from distribution → go to
|
|
489
|
+
// Back button: from distribution → go to publish step
|
|
477
490
|
// from sub-screens → go back to distribution
|
|
478
|
-
const backIndex =
|
|
491
|
+
const backIndex =
|
|
492
|
+
screenIndex === distributionScreenIndex
|
|
493
|
+
? publishScreenIndex
|
|
494
|
+
: distributionScreenIndex;
|
|
479
495
|
|
|
480
496
|
lowerButtons.push(
|
|
481
497
|
<Button
|
|
@@ -844,7 +860,7 @@ export const BigButton: React.FC<IBigButtonProps> = (p) => (
|
|
|
844
860
|
</div>
|
|
845
861
|
);
|
|
846
862
|
|
|
847
|
-
export const TabContent: React.FC = ({ children }) => (
|
|
863
|
+
export const TabContent: React.FC<React.PropsWithChildren> = ({ children }) => (
|
|
848
864
|
<div className='tab-content'>
|
|
849
865
|
<div className='settings-tab'>
|
|
850
866
|
<div className='integration-details'>{children}</div>
|
|
@@ -20,7 +20,7 @@ import ImagePlayer from '../players/ImagePlayer';
|
|
|
20
20
|
import { saveAs } from 'file-saver';
|
|
21
21
|
import MediaVariableField from '../media-variable-field/MediaVariableField';
|
|
22
22
|
import { IExperience } from '../../interfaces/experience';
|
|
23
|
-
import
|
|
23
|
+
import { useResizeDetector } from 'react-resize-detector';
|
|
24
24
|
import { ERROR, previewer as copy } from '../../constants/copy';
|
|
25
25
|
import { formattedTime } from '../../Util';
|
|
26
26
|
import Timer from '../../services/Timer';
|
|
@@ -30,6 +30,25 @@ import { ICON_DOWNLOAD, ICON_CLIPBOARD } from '../../constants/icons';
|
|
|
30
30
|
import AudioPlayer from '../players/AudioPlayer';
|
|
31
31
|
import ColorField from '../color-field/ColorField';
|
|
32
32
|
|
|
33
|
+
const ResizeDetectorWrapper: React.FC<{ children: React.ReactNode }> = ({ children }) => {
|
|
34
|
+
const { width, height, ref } = useResizeDetector<HTMLDivElement>({
|
|
35
|
+
handleWidth: true,
|
|
36
|
+
handleHeight: true
|
|
37
|
+
});
|
|
38
|
+
return (
|
|
39
|
+
<div
|
|
40
|
+
ref={ref}
|
|
41
|
+
style={{ width: '100%', height: '100%' }}>
|
|
42
|
+
{React.Children.map(children, (child) => {
|
|
43
|
+
if (React.isValidElement(child)) {
|
|
44
|
+
return React.cloneElement(child, { width, height } as any);
|
|
45
|
+
}
|
|
46
|
+
return child;
|
|
47
|
+
})}
|
|
48
|
+
</div>
|
|
49
|
+
);
|
|
50
|
+
};
|
|
51
|
+
|
|
33
52
|
interface IStoryPreviewerProps {
|
|
34
53
|
api: IImposiumAPI;
|
|
35
54
|
storyId: string;
|
|
@@ -786,13 +805,7 @@ class StoryPreviewer extends React.PureComponent<IStoryPreviewerProps, IStoryPre
|
|
|
786
805
|
);
|
|
787
806
|
}
|
|
788
807
|
|
|
789
|
-
return
|
|
790
|
-
<ReactResizeDetector
|
|
791
|
-
handleWidth
|
|
792
|
-
handleHeight>
|
|
793
|
-
{player}
|
|
794
|
-
</ReactResizeDetector>
|
|
795
|
-
);
|
|
808
|
+
return <ResizeDetectorWrapper>{player}</ResizeDetectorWrapper>;
|
|
796
809
|
}
|
|
797
810
|
|
|
798
811
|
return null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { useResizeDetector } from 'react-resize-detector';
|
|
3
3
|
import ButtonMenu from '../button-menu/ButtonMenu';
|
|
4
4
|
import ButtonMenuItem from '../button-menu/ButtonMenuItem';
|
|
5
5
|
import Button from '../button/Button';
|
|
@@ -14,15 +14,15 @@ export interface ITab {
|
|
|
14
14
|
menuButtons?: JSX.Element;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
interface ITabsProps {
|
|
17
|
+
export interface ITabsProps {
|
|
18
18
|
activeTab?: string;
|
|
19
19
|
keepMounted?: boolean;
|
|
20
20
|
options: ITab[];
|
|
21
21
|
onChange(i): void;
|
|
22
|
-
onClose(i): void;
|
|
22
|
+
onClose?(i): void;
|
|
23
23
|
tabPadding?: number;
|
|
24
|
-
width
|
|
25
|
-
height
|
|
24
|
+
width?: number;
|
|
25
|
+
height?: number;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
interface ITabsState {
|
|
@@ -85,7 +85,7 @@ class Tabs extends React.PureComponent<ITabsProps, ITabsState> {
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
private renderContent() {
|
|
88
|
-
const { options, activeTab, keepMounted, width, height } = this.props;
|
|
88
|
+
const { options, activeTab, keepMounted, width = 0, height = 0 } = this.props;
|
|
89
89
|
|
|
90
90
|
if (keepMounted) {
|
|
91
91
|
const contentArray = [];
|
|
@@ -132,7 +132,9 @@ class Tabs extends React.PureComponent<ITabsProps, ITabsState> {
|
|
|
132
132
|
onClick={(e) => {
|
|
133
133
|
e.preventDefault();
|
|
134
134
|
e.stopPropagation();
|
|
135
|
-
this.props.onClose
|
|
135
|
+
if (this.props.onClose) {
|
|
136
|
+
this.props.onClose(key);
|
|
137
|
+
}
|
|
136
138
|
}}>
|
|
137
139
|
{ICON_TIMES}
|
|
138
140
|
</Button>
|
|
@@ -218,4 +220,19 @@ class Tabs extends React.PureComponent<ITabsProps, ITabsState> {
|
|
|
218
220
|
}
|
|
219
221
|
}
|
|
220
222
|
|
|
221
|
-
|
|
223
|
+
const TabsWithResize: React.FC<Omit<ITabsProps, 'width' | 'height'>> = (props) => {
|
|
224
|
+
const { width = 0, height = 0, ref } = useResizeDetector<HTMLDivElement>();
|
|
225
|
+
return (
|
|
226
|
+
<div
|
|
227
|
+
ref={ref}
|
|
228
|
+
style={{ width: '100%', height: '100%' }}>
|
|
229
|
+
<Tabs
|
|
230
|
+
{...props}
|
|
231
|
+
width={width}
|
|
232
|
+
height={height}
|
|
233
|
+
/>
|
|
234
|
+
</div>
|
|
235
|
+
);
|
|
236
|
+
};
|
|
237
|
+
|
|
238
|
+
export default TabsWithResize;
|
package/src/index.ts
CHANGED
|
@@ -16,14 +16,14 @@ import FieldWrapper from './components/field-wrapper/FieldWrapper';
|
|
|
16
16
|
import CheckboxField from './components/checkbox-field/CheckboxField';
|
|
17
17
|
import ListField from './components/list-field/ListField';
|
|
18
18
|
import ButtonGroupField from './components/button-group-field/ButtonGroupField';
|
|
19
|
-
import NumberField from './components/number-field/NumberField';
|
|
19
|
+
import NumberField, { validateNumInput } from './components/number-field/NumberField';
|
|
20
20
|
import SelectField from './components/select-field/SelectField';
|
|
21
21
|
import TextField from './components/text-field/TextField';
|
|
22
22
|
import TextAreaField from './components/text-area-field/TextAreaField';
|
|
23
23
|
import ToastService from './components/toast-service/ToastService';
|
|
24
24
|
import SliderField from './components/slider-field/SliderField';
|
|
25
25
|
import ColorField from './components/color-field/ColorField';
|
|
26
|
-
import Tag from './components/
|
|
26
|
+
import Tag from './components/Tag/Tag';
|
|
27
27
|
import HRule from './components/h-rule/HRule';
|
|
28
28
|
import Section from './components/section/Section';
|
|
29
29
|
import Spinner from './components/spinner/Spinner';
|
|
@@ -337,6 +337,7 @@ export {
|
|
|
337
337
|
IconToggle,
|
|
338
338
|
DEFAULT_FONTS,
|
|
339
339
|
FontField,
|
|
340
|
+
validateNumInput,
|
|
340
341
|
IChangeReportNode,
|
|
341
342
|
IChangeReportSection,
|
|
342
343
|
IPublishLogEntry,
|
package/src/utils/routing.ts
CHANGED
|
@@ -1,11 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ICompatibleHistory } from '../components/app-wrapper/AppWrapper';
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
browserHistory.push(route);
|
|
5
|
-
};
|
|
3
|
+
let historySingleton: ICompatibleHistory | null = null;
|
|
6
4
|
|
|
7
|
-
export const
|
|
8
|
-
|
|
5
|
+
export const configureHistory = (history: ICompatibleHistory): void => {
|
|
6
|
+
historySingleton = history;
|
|
7
|
+
};
|
|
8
|
+
export const pushRoute = (route: string): void => {
|
|
9
|
+
historySingleton?.push(route);
|
|
10
|
+
};
|
|
11
|
+
export const replaceRoute = (route: string): void => {
|
|
12
|
+
historySingleton?.replace(route);
|
|
9
13
|
};
|
|
10
14
|
|
|
11
15
|
export const getDemoURL = (): string => {
|
|
File without changes
|
|
File without changes
|