@imposium-hub/components 1.50.0 → 1.51.0
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/anchor-field/AnchorField.js +88 -18
- package/dist/cjs/components/anchor-field/AnchorField.js.map +1 -1
- package/dist/cjs/components/text-field/TextField.js +0 -1
- package/dist/cjs/components/text-field/TextField.js.map +1 -1
- package/dist/cjs/constants/anchor-positions.d.ts +11 -0
- package/dist/cjs/constants/anchor-positions.js +15 -0
- package/dist/cjs/constants/anchor-positions.js.map +1 -0
- package/dist/cjs/constants/compositions.d.ts +10 -0
- package/dist/cjs/constants/compositions.js +11 -1
- package/dist/cjs/constants/compositions.js.map +1 -1
- package/dist/cjs/constants/editors.d.ts +1 -0
- package/dist/cjs/constants/editors.js +5 -0
- package/dist/cjs/constants/editors.js.map +1 -0
- package/dist/cjs/constants/icons.d.ts +9 -0
- package/dist/cjs/constants/icons.js +12 -1
- package/dist/cjs/constants/icons.js.map +1 -1
- package/dist/cjs/index.d.ts +2 -1
- package/dist/cjs/index.js +3 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/anchor-field/AnchorField.js +62 -10
- package/dist/esm/components/anchor-field/AnchorField.js.map +1 -1
- package/dist/esm/components/text-field/TextField.js +0 -1
- package/dist/esm/components/text-field/TextField.js.map +1 -1
- package/dist/esm/constants/anchor-positions.d.ts +11 -0
- package/dist/esm/constants/anchor-positions.js +12 -0
- package/dist/esm/constants/anchor-positions.js.map +1 -0
- package/dist/esm/constants/compositions.d.ts +10 -0
- package/dist/esm/constants/compositions.js +10 -0
- package/dist/esm/constants/compositions.js.map +1 -1
- package/dist/esm/constants/editors.d.ts +1 -0
- package/dist/esm/constants/editors.js +2 -0
- package/dist/esm/constants/editors.js.map +1 -0
- package/dist/esm/constants/icons.d.ts +9 -0
- package/dist/esm/constants/icons.js +11 -0
- package/dist/esm/constants/icons.js.map +1 -1
- package/dist/esm/index.d.ts +2 -1
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/styles.css +17 -0
- package/dist/styles.less +20 -0
- package/less/components/anchor-field.less +20 -0
- package/less/entry.less +2 -1
- package/package.json +3 -1
- package/src/components/anchor-field/AnchorField.tsx +236 -0
- package/src/components/text-field/TextField.tsx +0 -1
- package/src/constants/compositions.ts +12 -0
- package/src/constants/icons.tsx +29 -0
- package/src/index.ts +3 -1
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { HORIZONTAL_ALIGNMENT, VERTICAL_ALIGNMENT } from '../../constants/compositions';
|
|
3
|
+
import {
|
|
4
|
+
ICON_CENTER_ANCHOR,
|
|
5
|
+
ICON_DOWNLEFT_ANCHOR,
|
|
6
|
+
ICON_DOWNRIGHT_ANCHOR,
|
|
7
|
+
ICON_DOWN_ANCHOR,
|
|
8
|
+
ICON_LEFT_ANCHOR,
|
|
9
|
+
ICON_RIGHT_ANCHOR,
|
|
10
|
+
ICON_UPLEFT_ANCHOR,
|
|
11
|
+
ICON_UPRIGHT_ANCHOR,
|
|
12
|
+
ICON_UP_ANCHOR
|
|
13
|
+
} from '../../constants/icons';
|
|
14
|
+
import FieldWrapper from '../field-wrapper/FieldWrapper';
|
|
15
|
+
import { IToolTipConfig } from '../Tooltip';
|
|
16
|
+
|
|
17
|
+
interface IAnchorFieldProps {
|
|
18
|
+
onChange(hAlign: string, vAlign: string): void;
|
|
19
|
+
config: any;
|
|
20
|
+
info?: string;
|
|
21
|
+
labelPosition?: string;
|
|
22
|
+
tooltip?: IToolTipConfig | string;
|
|
23
|
+
width?: string | number;
|
|
24
|
+
label?: string;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
interface IconConfig {
|
|
28
|
+
tl?: any;
|
|
29
|
+
tc?: any;
|
|
30
|
+
tr?: any;
|
|
31
|
+
cl?: any;
|
|
32
|
+
cc?: any;
|
|
33
|
+
cr?: any;
|
|
34
|
+
bl?: any;
|
|
35
|
+
bc?: any;
|
|
36
|
+
br?: any;
|
|
37
|
+
}
|
|
38
|
+
class AnchorField extends React.PureComponent<IAnchorFieldProps> {
|
|
39
|
+
constructor(props) {
|
|
40
|
+
super(props);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
public render() {
|
|
44
|
+
const { label, width, tooltip, info, labelPosition } = this.props;
|
|
45
|
+
|
|
46
|
+
const getIcons = (v, h): IconConfig => {
|
|
47
|
+
if (v === VERTICAL_ALIGNMENT.TOP && h === HORIZONTAL_ALIGNMENT.LEFT) {
|
|
48
|
+
return {
|
|
49
|
+
tl: ICON_CENTER_ANCHOR,
|
|
50
|
+
tc: ICON_RIGHT_ANCHOR,
|
|
51
|
+
cc: ICON_DOWNRIGHT_ANCHOR,
|
|
52
|
+
cl: ICON_DOWN_ANCHOR
|
|
53
|
+
};
|
|
54
|
+
} else if (v === VERTICAL_ALIGNMENT.TOP && h === HORIZONTAL_ALIGNMENT.CENTER) {
|
|
55
|
+
return {
|
|
56
|
+
tl: ICON_LEFT_ANCHOR,
|
|
57
|
+
tc: ICON_CENTER_ANCHOR,
|
|
58
|
+
tr: ICON_RIGHT_ANCHOR,
|
|
59
|
+
cl: ICON_DOWNLEFT_ANCHOR,
|
|
60
|
+
cc: ICON_DOWN_ANCHOR,
|
|
61
|
+
cr: ICON_DOWNRIGHT_ANCHOR
|
|
62
|
+
};
|
|
63
|
+
} else if (v === VERTICAL_ALIGNMENT.TOP && h === HORIZONTAL_ALIGNMENT.RIGHT) {
|
|
64
|
+
return {
|
|
65
|
+
tc: ICON_LEFT_ANCHOR,
|
|
66
|
+
tr: ICON_CENTER_ANCHOR,
|
|
67
|
+
cc: ICON_DOWNLEFT_ANCHOR,
|
|
68
|
+
cr: ICON_DOWN_ANCHOR
|
|
69
|
+
};
|
|
70
|
+
} else if (v === VERTICAL_ALIGNMENT.CENTER && h === HORIZONTAL_ALIGNMENT.LEFT) {
|
|
71
|
+
return {
|
|
72
|
+
tl: ICON_UP_ANCHOR,
|
|
73
|
+
tc: ICON_UPRIGHT_ANCHOR,
|
|
74
|
+
cl: ICON_CENTER_ANCHOR,
|
|
75
|
+
cc: ICON_RIGHT_ANCHOR,
|
|
76
|
+
bl: ICON_DOWN_ANCHOR,
|
|
77
|
+
bc: ICON_DOWNRIGHT_ANCHOR
|
|
78
|
+
};
|
|
79
|
+
} else if (v === VERTICAL_ALIGNMENT.CENTER && h === HORIZONTAL_ALIGNMENT.CENTER) {
|
|
80
|
+
return {
|
|
81
|
+
tl: ICON_UPLEFT_ANCHOR,
|
|
82
|
+
tc: ICON_UP_ANCHOR,
|
|
83
|
+
tr: ICON_UPRIGHT_ANCHOR,
|
|
84
|
+
cl: ICON_LEFT_ANCHOR,
|
|
85
|
+
cc: ICON_CENTER_ANCHOR,
|
|
86
|
+
cr: ICON_RIGHT_ANCHOR,
|
|
87
|
+
bl: ICON_DOWNLEFT_ANCHOR,
|
|
88
|
+
bc: ICON_DOWN_ANCHOR,
|
|
89
|
+
br: ICON_DOWNRIGHT_ANCHOR
|
|
90
|
+
};
|
|
91
|
+
} else if (v === VERTICAL_ALIGNMENT.CENTER && h === HORIZONTAL_ALIGNMENT.RIGHT) {
|
|
92
|
+
return {
|
|
93
|
+
tc: ICON_UPLEFT_ANCHOR,
|
|
94
|
+
tr: ICON_UP_ANCHOR,
|
|
95
|
+
cc: ICON_LEFT_ANCHOR,
|
|
96
|
+
cr: ICON_CENTER_ANCHOR,
|
|
97
|
+
bc: ICON_DOWNLEFT_ANCHOR,
|
|
98
|
+
br: ICON_DOWN_ANCHOR
|
|
99
|
+
};
|
|
100
|
+
} else if (v === VERTICAL_ALIGNMENT.BOTTOM && h === HORIZONTAL_ALIGNMENT.LEFT) {
|
|
101
|
+
return {
|
|
102
|
+
cl: ICON_UP_ANCHOR,
|
|
103
|
+
cc: ICON_UPRIGHT_ANCHOR,
|
|
104
|
+
bl: ICON_CENTER_ANCHOR,
|
|
105
|
+
bc: ICON_RIGHT_ANCHOR
|
|
106
|
+
};
|
|
107
|
+
} else if (v === VERTICAL_ALIGNMENT.BOTTOM && h === HORIZONTAL_ALIGNMENT.CENTER) {
|
|
108
|
+
return {
|
|
109
|
+
cl: ICON_UPLEFT_ANCHOR,
|
|
110
|
+
cc: ICON_UP_ANCHOR,
|
|
111
|
+
cr: ICON_UPRIGHT_ANCHOR,
|
|
112
|
+
bl: ICON_LEFT_ANCHOR,
|
|
113
|
+
bc: ICON_CENTER_ANCHOR,
|
|
114
|
+
br: ICON_RIGHT_ANCHOR
|
|
115
|
+
};
|
|
116
|
+
} else if (v === VERTICAL_ALIGNMENT.BOTTOM && h === HORIZONTAL_ALIGNMENT.RIGHT) {
|
|
117
|
+
return {
|
|
118
|
+
cc: ICON_UPLEFT_ANCHOR,
|
|
119
|
+
cr: ICON_UP_ANCHOR,
|
|
120
|
+
bc: ICON_LEFT_ANCHOR,
|
|
121
|
+
br: ICON_CENTER_ANCHOR
|
|
122
|
+
};
|
|
123
|
+
} else {
|
|
124
|
+
return {};
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
const { vertical_align, horizontal_align } = this.props.config;
|
|
129
|
+
const icons = getIcons(vertical_align, horizontal_align);
|
|
130
|
+
|
|
131
|
+
return (
|
|
132
|
+
<>
|
|
133
|
+
<FieldWrapper
|
|
134
|
+
label={label}
|
|
135
|
+
width={width}
|
|
136
|
+
tooltip={tooltip}
|
|
137
|
+
info={info}
|
|
138
|
+
labelPosition={labelPosition}>
|
|
139
|
+
<table className='anchorTable'>
|
|
140
|
+
<tbody>
|
|
141
|
+
<tr>
|
|
142
|
+
<td
|
|
143
|
+
onClick={() =>
|
|
144
|
+
this.props.onChange(
|
|
145
|
+
VERTICAL_ALIGNMENT.TOP,
|
|
146
|
+
HORIZONTAL_ALIGNMENT.LEFT
|
|
147
|
+
)
|
|
148
|
+
}>
|
|
149
|
+
{icons.tl}
|
|
150
|
+
</td>
|
|
151
|
+
<td
|
|
152
|
+
onClick={() =>
|
|
153
|
+
this.props.onChange(
|
|
154
|
+
VERTICAL_ALIGNMENT.TOP,
|
|
155
|
+
HORIZONTAL_ALIGNMENT.CENTER
|
|
156
|
+
)
|
|
157
|
+
}>
|
|
158
|
+
{icons.tc}
|
|
159
|
+
</td>
|
|
160
|
+
<td
|
|
161
|
+
onClick={() =>
|
|
162
|
+
this.props.onChange(
|
|
163
|
+
VERTICAL_ALIGNMENT.TOP,
|
|
164
|
+
HORIZONTAL_ALIGNMENT.RIGHT
|
|
165
|
+
)
|
|
166
|
+
}>
|
|
167
|
+
{icons.tr}
|
|
168
|
+
</td>
|
|
169
|
+
</tr>
|
|
170
|
+
<tr>
|
|
171
|
+
<td
|
|
172
|
+
onClick={() =>
|
|
173
|
+
this.props.onChange(
|
|
174
|
+
VERTICAL_ALIGNMENT.CENTER,
|
|
175
|
+
HORIZONTAL_ALIGNMENT.LEFT
|
|
176
|
+
)
|
|
177
|
+
}>
|
|
178
|
+
{icons.cl}
|
|
179
|
+
</td>
|
|
180
|
+
<td
|
|
181
|
+
onClick={() =>
|
|
182
|
+
this.props.onChange(
|
|
183
|
+
VERTICAL_ALIGNMENT.CENTER,
|
|
184
|
+
HORIZONTAL_ALIGNMENT.CENTER
|
|
185
|
+
)
|
|
186
|
+
}>
|
|
187
|
+
{icons.cc}
|
|
188
|
+
</td>
|
|
189
|
+
<td
|
|
190
|
+
onClick={() =>
|
|
191
|
+
this.props.onChange(
|
|
192
|
+
VERTICAL_ALIGNMENT.CENTER,
|
|
193
|
+
HORIZONTAL_ALIGNMENT.RIGHT
|
|
194
|
+
)
|
|
195
|
+
}>
|
|
196
|
+
{icons.cr}
|
|
197
|
+
</td>
|
|
198
|
+
</tr>
|
|
199
|
+
<tr>
|
|
200
|
+
<td
|
|
201
|
+
onClick={() =>
|
|
202
|
+
this.props.onChange(
|
|
203
|
+
VERTICAL_ALIGNMENT.BOTTOM,
|
|
204
|
+
HORIZONTAL_ALIGNMENT.LEFT
|
|
205
|
+
)
|
|
206
|
+
}>
|
|
207
|
+
{icons.bl}
|
|
208
|
+
</td>
|
|
209
|
+
<td
|
|
210
|
+
onClick={() =>
|
|
211
|
+
this.props.onChange(
|
|
212
|
+
VERTICAL_ALIGNMENT.BOTTOM,
|
|
213
|
+
HORIZONTAL_ALIGNMENT.CENTER
|
|
214
|
+
)
|
|
215
|
+
}>
|
|
216
|
+
{icons.bc}
|
|
217
|
+
</td>
|
|
218
|
+
<td
|
|
219
|
+
onClick={() =>
|
|
220
|
+
this.props.onChange(
|
|
221
|
+
VERTICAL_ALIGNMENT.BOTTOM,
|
|
222
|
+
HORIZONTAL_ALIGNMENT.RIGHT
|
|
223
|
+
)
|
|
224
|
+
}>
|
|
225
|
+
{icons.br}
|
|
226
|
+
</td>
|
|
227
|
+
</tr>
|
|
228
|
+
</tbody>
|
|
229
|
+
</table>
|
|
230
|
+
</FieldWrapper>
|
|
231
|
+
</>
|
|
232
|
+
);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
export default AnchorField;
|
|
@@ -460,7 +460,6 @@ class TextField extends React.PureComponent<ITextFieldProps, ITextFieldState> {
|
|
|
460
460
|
|
|
461
461
|
public render() {
|
|
462
462
|
const { label, width, tooltip, info, labelPosition } = this.props;
|
|
463
|
-
console.log(this.props);
|
|
464
463
|
return (
|
|
465
464
|
<FieldWrapper
|
|
466
465
|
customClass='text-field'
|
|
@@ -172,3 +172,15 @@ const NEW_TEXT_LAYER: ITextLayer = {
|
|
|
172
172
|
text_wrap: true,
|
|
173
173
|
text_fit: true
|
|
174
174
|
};
|
|
175
|
+
|
|
176
|
+
export const VERTICAL_ALIGNMENT = {
|
|
177
|
+
TOP: 'top',
|
|
178
|
+
CENTER: 'center',
|
|
179
|
+
BOTTOM: 'bottom'
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
export const HORIZONTAL_ALIGNMENT = {
|
|
183
|
+
LEFT: 'left',
|
|
184
|
+
CENTER: 'center',
|
|
185
|
+
RIGHT: 'right'
|
|
186
|
+
};
|
package/src/constants/icons.tsx
CHANGED
|
@@ -58,6 +58,17 @@ import { faProjectDiagram } from '@fortawesome/free-solid-svg-icons/faProjectDia
|
|
|
58
58
|
import { faJs } from '@fortawesome/free-brands-svg-icons/faJs';
|
|
59
59
|
import { faDownload } from '@fortawesome/free-solid-svg-icons/faDownload';
|
|
60
60
|
import { faUpload } from '@fortawesome/free-solid-svg-icons/faUpload';
|
|
61
|
+
import {
|
|
62
|
+
faArrowDown,
|
|
63
|
+
faArrowLeft,
|
|
64
|
+
faArrowUp,
|
|
65
|
+
faArrowRight as faRightArrow,
|
|
66
|
+
faArrowUpLeft,
|
|
67
|
+
faArrowUpRight,
|
|
68
|
+
faArrowDownLeft,
|
|
69
|
+
faArrowDownRight
|
|
70
|
+
} from '@fortawesome/pro-light-svg-icons';
|
|
71
|
+
import { faCircleSmall } from '@fortawesome/pro-solid-svg-icons';
|
|
61
72
|
|
|
62
73
|
export const ICON_VIDEO = <FontAwesomeIcon icon={faVideo} />;
|
|
63
74
|
|
|
@@ -174,3 +185,21 @@ export const ICON_JS = <FontAwesomeIcon icon={faJs} />;
|
|
|
174
185
|
export const ICON_DOWNLOAD = <FontAwesomeIcon icon={faDownload} />;
|
|
175
186
|
|
|
176
187
|
export const ICON_UPLOAD = <FontAwesomeIcon icon={faUpload} />;
|
|
188
|
+
|
|
189
|
+
export const ICON_UPLEFT_ANCHOR = <FontAwesomeIcon icon={faArrowUpLeft} />;
|
|
190
|
+
|
|
191
|
+
export const ICON_UP_ANCHOR = <FontAwesomeIcon icon={faArrowUp} />;
|
|
192
|
+
|
|
193
|
+
export const ICON_UPRIGHT_ANCHOR = <FontAwesomeIcon icon={faArrowUpRight} />;
|
|
194
|
+
|
|
195
|
+
export const ICON_LEFT_ANCHOR = <FontAwesomeIcon icon={faArrowLeft} />;
|
|
196
|
+
|
|
197
|
+
export const ICON_RIGHT_ANCHOR = <FontAwesomeIcon icon={faRightArrow} />;
|
|
198
|
+
|
|
199
|
+
export const ICON_DOWNLEFT_ANCHOR = <FontAwesomeIcon icon={faArrowDownLeft} />;
|
|
200
|
+
|
|
201
|
+
export const ICON_DOWN_ANCHOR = <FontAwesomeIcon icon={faArrowDown} />;
|
|
202
|
+
|
|
203
|
+
export const ICON_DOWNRIGHT_ANCHOR = <FontAwesomeIcon icon={faArrowDownRight} />;
|
|
204
|
+
|
|
205
|
+
export const ICON_CENTER_ANCHOR = <FontAwesomeIcon icon={faCircleSmall} />;
|
package/src/index.ts
CHANGED
|
@@ -66,6 +66,7 @@ import { ShortcutMenu } from './components/shortcut-menu/ShortcutMenu';
|
|
|
66
66
|
import { ASSET_TYPES } from './constants/assets';
|
|
67
67
|
import Portal from './components/portal/Portal';
|
|
68
68
|
import AssetDetails from './components/asset-details/AssetDetails';
|
|
69
|
+
import AnchorField from './components/anchor-field/AnchorField';
|
|
69
70
|
|
|
70
71
|
/*
|
|
71
72
|
Redux Handlers / Thunks
|
|
@@ -264,5 +265,6 @@ export {
|
|
|
264
265
|
publishVersion,
|
|
265
266
|
clearStoryPublishStatus,
|
|
266
267
|
getStoryPublishStatus,
|
|
267
|
-
PublishStatusIndicator
|
|
268
|
+
PublishStatusIndicator,
|
|
269
|
+
AnchorField
|
|
268
270
|
};
|