@imposium-hub/components 3.0.0-0 → 3.0.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.
Files changed (77) hide show
  1. package/dist/cjs/components/app-wrapper/AppWrapper.js +1 -5
  2. package/dist/cjs/components/app-wrapper/AppWrapper.js.map +1 -1
  3. package/dist/cjs/components/assets/AssetsTableAssetIdFilter.js +1 -1
  4. package/dist/cjs/components/assets/AssetsTableAssetIdFilter.js.map +1 -1
  5. package/dist/cjs/components/assets/AssetsTableNameFilter.js +1 -1
  6. package/dist/cjs/components/assets/AssetsTableNameFilter.js.map +1 -1
  7. package/dist/cjs/components/assets/AssetsTableTagsFilter.js +1 -1
  8. package/dist/cjs/components/assets/AssetsTableTagsFilter.js.map +1 -1
  9. package/dist/cjs/components/assets/AssetsUploadMenu.js +2 -1
  10. package/dist/cjs/components/assets/AssetsUploadMenu.js.map +1 -1
  11. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.d.ts +8 -0
  12. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js +104 -0
  13. package/dist/cjs/components/edit-marker-modal/EditMarkerModal.js.map +1 -0
  14. package/dist/cjs/components/field-wrapper/FieldWrapper.d.ts +1 -0
  15. package/dist/cjs/components/field-wrapper/FieldWrapper.js +10 -8
  16. package/dist/cjs/components/field-wrapper/FieldWrapper.js.map +1 -1
  17. package/dist/cjs/components/slider-field/SliderField.d.ts +2 -0
  18. package/dist/cjs/components/slider-field/SliderField.js +17 -8
  19. package/dist/cjs/components/slider-field/SliderField.js.map +1 -1
  20. package/dist/cjs/components/text-field/TextField.d.ts +1 -0
  21. package/dist/cjs/components/text-field/TextField.js +2 -2
  22. package/dist/cjs/components/text-field/TextField.js.map +1 -1
  23. package/dist/cjs/index.d.ts +2 -3
  24. package/dist/cjs/index.js +3 -6
  25. package/dist/cjs/index.js.map +1 -1
  26. package/dist/cjs/redux/actions/publish.js +1 -1
  27. package/dist/cjs/redux/actions/publish.js.map +1 -1
  28. package/dist/cjs/utils/modal.d.ts +0 -3
  29. package/dist/cjs/utils/modal.js +1 -9
  30. package/dist/cjs/utils/modal.js.map +1 -1
  31. package/dist/esm/components/app-wrapper/AppWrapper.js +1 -5
  32. package/dist/esm/components/app-wrapper/AppWrapper.js.map +1 -1
  33. package/dist/esm/components/assets/AssetsTableAssetIdFilter.js +1 -1
  34. package/dist/esm/components/assets/AssetsTableAssetIdFilter.js.map +1 -1
  35. package/dist/esm/components/assets/AssetsTableNameFilter.js +1 -1
  36. package/dist/esm/components/assets/AssetsTableNameFilter.js.map +1 -1
  37. package/dist/esm/components/assets/AssetsTableTagsFilter.js +1 -1
  38. package/dist/esm/components/assets/AssetsTableTagsFilter.js.map +1 -1
  39. package/dist/esm/components/assets/AssetsUploadMenu.js +2 -1
  40. package/dist/esm/components/assets/AssetsUploadMenu.js.map +1 -1
  41. package/dist/esm/components/edit-marker-modal/EditMarkerModal.d.ts +8 -0
  42. package/dist/esm/components/edit-marker-modal/EditMarkerModal.js +72 -0
  43. package/dist/esm/components/edit-marker-modal/EditMarkerModal.js.map +1 -0
  44. package/dist/esm/components/field-wrapper/FieldWrapper.d.ts +1 -0
  45. package/dist/esm/components/field-wrapper/FieldWrapper.js +10 -8
  46. package/dist/esm/components/field-wrapper/FieldWrapper.js.map +1 -1
  47. package/dist/esm/components/slider-field/SliderField.d.ts +2 -0
  48. package/dist/esm/components/slider-field/SliderField.js +17 -8
  49. package/dist/esm/components/slider-field/SliderField.js.map +1 -1
  50. package/dist/esm/components/text-field/TextField.d.ts +1 -0
  51. package/dist/esm/components/text-field/TextField.js +2 -2
  52. package/dist/esm/components/text-field/TextField.js.map +1 -1
  53. package/dist/esm/index.d.ts +2 -3
  54. package/dist/esm/index.js +2 -3
  55. package/dist/esm/index.js.map +1 -1
  56. package/dist/esm/redux/actions/publish.js +1 -1
  57. package/dist/esm/redux/actions/publish.js.map +1 -1
  58. package/dist/esm/utils/modal.d.ts +0 -3
  59. package/dist/esm/utils/modal.js +0 -7
  60. package/dist/esm/utils/modal.js.map +1 -1
  61. package/dist/styles.css +52 -0
  62. package/dist/styles.less +27 -0
  63. package/less/components/form-field.less +27 -0
  64. package/package.json +1 -1
  65. package/src/components/app-wrapper/AppWrapper.tsx +0 -4
  66. package/src/components/assets/AssetsTableAssetIdFilter.tsx +1 -0
  67. package/src/components/assets/AssetsTableNameFilter.tsx +1 -0
  68. package/src/components/assets/AssetsTableTagsFilter.tsx +1 -0
  69. package/src/components/assets/AssetsUploadMenu.tsx +3 -1
  70. package/src/components/field-wrapper/FieldWrapper.tsx +16 -12
  71. package/src/components/slider-field/SliderField.tsx +44 -22
  72. package/src/components/text-field/TextField.tsx +5 -2
  73. package/src/index.ts +1 -5
  74. package/src/redux/actions/publish.ts +1 -1
  75. package/src/utils/modal.ts +0 -10
  76. package/src/components/edit-guide-modal/EditGuideModal.tsx +0 -110
  77. package/src/components/replace-files-modal/ReplaceFilesModal.tsx +0 -217
@@ -45,7 +45,7 @@ export const getStoryPublishStatus = (api: IImposiumAPI, storyId: string): any =
45
45
  })
46
46
  .catch((e) => {
47
47
  // 404 = no published version = using working copy
48
- if (e?.response?.status !== 404) {
48
+ if (e?.response?.status !== 404 && e.error !== 'missing_refresh_token') {
49
49
  console.error(e);
50
50
  reject(copy.header.publishPollError);
51
51
  }
@@ -1,7 +1,5 @@
1
1
  import { IConfirmModalProps } from '../components/confirm-modal/ConfirmModal';
2
- import { IReplaceFilesModalProps } from '../components/replace-files-modal/ReplaceFilesModal';
3
2
 
4
- export const replaceFilesModalEvent = 'openreplacefilesmodal';
5
3
  export const confirmModalEvent = 'openconfirmmodal';
6
4
 
7
5
  export const openConfirmModal = (detail: IConfirmModalProps) => {
@@ -11,11 +9,3 @@ export const openConfirmModal = (detail: IConfirmModalProps) => {
11
9
 
12
10
  window.dispatchEvent(event);
13
11
  };
14
-
15
- export const openReplaceFilesModal = (detail: IReplaceFilesModalProps) => {
16
- const event = new CustomEvent(replaceFilesModalEvent, {
17
- detail
18
- });
19
-
20
- window.dispatchEvent(event);
21
- };
@@ -1,110 +0,0 @@
1
- import React, { useCallback, useEffect, useState } from 'react';
2
- import ReactDOM from 'react-dom';
3
- import Modal from '../modal/Modal';
4
- import Button from '../button/Button';
5
- import Section from '../section/Section';
6
- import NumberField from '../number-field/NumberField';
7
-
8
- export interface IEditGuideModalProps {
9
- guide: number;
10
- onClose: () => any;
11
- onContinue: (e) => any;
12
- isHorizontal: boolean;
13
- }
14
-
15
- export const EditGuideModal = () => {
16
- const [props, setProps] = useState<IEditGuideModalProps>(null);
17
- const [isOpen, setIsOpen] = useState<boolean>(false);
18
- const [guide, setGuide] = useState<number>(null);
19
-
20
- const onOpen = (event) => {
21
- setProps({
22
- ...event.detail
23
- });
24
- setIsOpen(true);
25
- };
26
-
27
- const onClose = () => setIsOpen(false);
28
-
29
- useEffect(() => {
30
- window.addEventListener('openeditguidemodal', onOpen);
31
- return () => {
32
- window.removeEventListener('openeditguidemodal', onOpen);
33
- };
34
- }, []);
35
-
36
- useEffect(() => {
37
- if (props?.guide) {
38
- setGuide(props.guide);
39
- }
40
- }, [props?.guide]);
41
-
42
- const onKeyDown = (e) => {
43
- if (e.key === 'Enter') {
44
- e.preventDefault();
45
- onContinue(guide);
46
- }
47
- };
48
-
49
- useEffect(() => {
50
- if (isOpen) {
51
- window.addEventListener('keypress', onKeyDown);
52
- } else {
53
- window.removeEventListener('keypress', onKeyDown);
54
- }
55
- return () => {
56
- window.removeEventListener('keypress', onKeyDown);
57
- };
58
- }, [isOpen, onKeyDown]);
59
-
60
- const onContinue = useCallback(
61
- (e) => {
62
- if (e) {
63
- props.onContinue(e);
64
- onClose();
65
- }
66
- },
67
- [isOpen]
68
- );
69
-
70
- const modal = isOpen && (
71
- <Modal
72
- onRequestClose={onClose}
73
- style={{
74
- width: '200px',
75
- height: '110px',
76
- top: '25%',
77
- left: '55%'
78
- }}
79
- isOpen={true}>
80
- <Section
81
- title={`Edit ${props.isHorizontal ? 'Horizontal Guide' : 'Vertical Guide'}`}
82
- style={{ padding: '10px' }}>
83
- <NumberField
84
- label={'Guide Position'}
85
- labelPosition='top'
86
- onChange={(e) => setGuide(Number(e))}
87
- focusOnMount={true}
88
- value={guide}
89
- />
90
- <Button
91
- onClick={onClose}
92
- style='bold'
93
- color='secondary'>
94
- Cancel
95
- </Button>
96
- <Button
97
- onClick={() => onContinue(guide)}
98
- style='bold'
99
- color='primary'>
100
- Ok
101
- </Button>
102
- </Section>
103
- </Modal>
104
- );
105
-
106
- const PortalContextComponent = () =>
107
- ReactDOM.createPortal(modal, document.querySelector('#react-root'));
108
-
109
- return <PortalContextComponent />;
110
- };
@@ -1,217 +0,0 @@
1
- import React, { useCallback, useEffect, useRef, useState } from 'react';
2
- import ReactDOM from 'react-dom';
3
- import Modal from '../modal/Modal';
4
- import Button from '../button/Button';
5
- import CheckboxField from '../checkbox-field/CheckboxField';
6
- import Section from '../section/Section';
7
- import { assets as copy } from '../../constants/copy';
8
- import { replaceFilesModalEvent } from '../../utils/modal';
9
-
10
- export interface IReplaceFilesModalProps {
11
- onUpload: (f) => any;
12
- onInstantUpload: (f) => any;
13
- onApplyToAll: (e) => any;
14
- onClose: () => void;
15
- applyToAll: boolean;
16
- existedAssets: any[];
17
- existedAssetIds: any[];
18
- }
19
-
20
- export const ReplaceFilesModal = () => {
21
- const [props, setProps] = useState<IReplaceFilesModalProps>(null);
22
- const [isOpen, setIsOpen] = useState<boolean>(false);
23
- const [applyToAll, setApplyToAll] = useState<boolean>();
24
- const [height, setHeight] = useState(200);
25
- const [index, setIndex] = useState<number>(0);
26
-
27
- const replaceFileModalRef = useRef(null);
28
-
29
- useEffect(() => {
30
- if (replaceFileModalRef.current) {
31
- const {
32
- current: { clientHeight }
33
- } = replaceFileModalRef;
34
- setHeight(clientHeight + 40);
35
- }
36
- });
37
-
38
- const onOpen = (event) => {
39
- setProps({
40
- ...event.detail
41
- });
42
- setIsOpen(true);
43
- };
44
-
45
- const onClose = () => {
46
- props.onClose();
47
- setIsOpen(false);
48
- };
49
-
50
- const onReplaceHandler = (curApplyToAll, curIndex, file, assetId) => {
51
- const newIndex = curIndex + 1;
52
-
53
- if (curApplyToAll && curIndex === 0) {
54
- const updatedAssets = props.existedAssets.map((asset, i) => {
55
- const updatefile = asset;
56
- updatefile['assetId'] = props.existedAssetIds[i];
57
- return updatefile;
58
- });
59
-
60
- props.onInstantUpload(updatedAssets);
61
- setIndex(0);
62
- setIsOpen(false);
63
- } else if (curApplyToAll) {
64
- const updatedAssets = [];
65
-
66
- for (let i = 0; i < props.existedAssets.length; i++) {
67
- const updateFile =
68
- curIndex === 0
69
- ? props.existedAssets[i]
70
- : [
71
- ...props.existedAssets.slice(0, curIndex - 1),
72
- ...props.existedAssets.slice(curIndex)
73
- ][i];
74
-
75
- if (updateFile) {
76
- updateFile['assetId'] =
77
- curIndex === 0
78
- ? props.existedAssetIds[i]
79
- : [
80
- ...props.existedAssetIds.slice(0, curIndex - 1),
81
- ...props.existedAssetIds.slice(curIndex)
82
- ][i];
83
- updatedAssets.push(updateFile);
84
- props.onInstantUpload(updatedAssets);
85
- setIndex(0);
86
- onClose();
87
- }
88
- }
89
- } else {
90
- if (newIndex === props.existedAssets.length) {
91
- setIndex(0);
92
- onClose();
93
- } else {
94
- setIndex(newIndex);
95
- }
96
-
97
- const updateFile = file;
98
- updateFile['assetId'] = assetId;
99
- props.onUpload([updateFile]);
100
- }
101
- };
102
-
103
- const onAsNewHandler = (curApplyToAll, curIndex, file) => {
104
- const newIndex = curIndex + 1;
105
-
106
- if (curApplyToAll) {
107
- props.onUpload(
108
- curIndex === 0 ? props.existedAssets : props.existedAssets.slice(curIndex)
109
- );
110
-
111
- setIndex(0);
112
- onClose();
113
- } else {
114
- if (newIndex === props.existedAssets.length) {
115
- setIndex(0);
116
- onClose();
117
- } else {
118
- setIndex(newIndex);
119
- }
120
-
121
- props.onUpload([file]);
122
- }
123
- };
124
-
125
- const onApplyToAllHandler = (e) => {
126
- setApplyToAll(e);
127
- props.onApplyToAll(e);
128
- };
129
-
130
- const onReplace = useCallback(
131
- (curApplyToAll, curIndex, file, assetId) =>
132
- onReplaceHandler(curApplyToAll, curIndex, file, assetId),
133
- [isOpen]
134
- );
135
-
136
- const onApplyToAll = useCallback((e) => onApplyToAllHandler(e), [isOpen]);
137
-
138
- const onAsNew = useCallback(
139
- (curApplyToAll, curIndex, file) => onAsNewHandler(curApplyToAll, curIndex, file),
140
- [isOpen]
141
- );
142
-
143
- useEffect(() => {
144
- window.addEventListener(replaceFilesModalEvent, onOpen);
145
- return () => {
146
- window.removeEventListener(replaceFilesModalEvent, onOpen);
147
- };
148
- }, []);
149
-
150
- const modal = () => {
151
- if (isOpen) {
152
- const file = props.existedAssets[index];
153
- const assetId = props.existedAssetIds[index];
154
- const name = file.name.slice(0, file.name.lastIndexOf('.'));
155
- return (
156
- <Modal
157
- onRequestClose={onClose}
158
- wrapperStyle={{
159
- left: '0px',
160
- width: '100%'
161
- }}
162
- style={{
163
- width: '400px',
164
- height: `${height}px`,
165
- top: 'calc(50% - 150px)',
166
- left: 'calc((100% - 400px) / 2)'
167
- }}
168
- isOpen={true}>
169
- <Section>
170
- <div
171
- className='replace-files-modal'
172
- ref={replaceFileModalRef}>
173
- <p>{copy.uploads.title.replace('[name]', name)}</p>
174
- <div className='replace-files-buttons'>
175
- <div className='checkbox'>
176
- <CheckboxField
177
- label={copy.uploads.applyAll}
178
- value={applyToAll}
179
- onChange={onApplyToAll}
180
- />
181
- </div>
182
- <div className='buttons'>
183
- <Button
184
- onClick={() => onAsNew(applyToAll, index, file)}
185
- size='large'
186
- style='bold'
187
- color='primary'>
188
- {copy.uploads.keepBoth}
189
- </Button>
190
- <Button
191
- onClick={() => onReplace(applyToAll, index, file, assetId)}
192
- size='large'
193
- style='bold'
194
- color='primary'>
195
- {copy.uploads.replace}
196
- </Button>
197
- <Button
198
- onClick={onClose}
199
- size='large'
200
- style='bold'
201
- color='default'>
202
- {copy.uploads.cancelButton}
203
- </Button>
204
- </div>
205
- </div>
206
- </div>
207
- </Section>
208
- </Modal>
209
- );
210
- }
211
- };
212
-
213
- const PortalContextComponent = () =>
214
- ReactDOM.createPortal(modal(), document.querySelector('#react-root'));
215
-
216
- return <PortalContextComponent />;
217
- };