pds-dev-kit-web 2.2.49 → 2.2.50
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/src/sub/DynamicLayout/DynamicLayout.d.ts +1 -1
- package/dist/src/sub/DynamicLayout/DynamicLayout.js +4 -3
- package/dist/src/sub/DynamicLayout/components/EditModeSectionMatcher/EditModeSectionMatcher.d.ts +3 -2
- package/dist/src/sub/DynamicLayout/components/EditModeSectionMatcher/EditModeSectionMatcher.js +18 -6
- package/dist/src/sub/DynamicLayout/components/Section/components/CustomSectionBackground.js +3 -2
- package/dist/src/sub/DynamicLayout/hooks/useCustomSectionShortcut/useCustomSectionShortcut.d.ts +6 -0
- package/dist/src/sub/DynamicLayout/hooks/useCustomSectionShortcut/useCustomSectionShortcut.js +50 -0
- package/dist/src/sub/DynamicLayout/pagesPreviewMock.d.ts +1236 -2
- package/dist/src/sub/DynamicLayout/pagesPreviewMock.js +2298 -6
- package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +23 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.d.ts +10 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +273 -26
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlock.d.ts +2 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlock.js +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.d.ts +2 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.js +11 -10
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.js +4 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Divider/Divider.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Divider/Divider.js +4 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Image/Image.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Image/Image.js +4 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/RichText/RichText.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/RichText/RichText.js +4 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.js +5 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Twitter/Twitter.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Twitter/Twitter.js +4 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Youtube/Youtube.d.ts +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Youtube/Youtube.js +5 -3
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/index.d.ts +1 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/index.js +8 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.d.ts +22 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.js +273 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/utils.d.ts +13 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/utils.js +127 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useIntersectionObserver.d.ts +1 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useIntersectionObserver.js +21 -9
- package/dist/src/sub/DynamicLayout/sections/CustomSection/types.d.ts +29 -7
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseJsonProperties.d.ts +1 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.js +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/util/types.d.ts +3 -0
- package/dist/src/sub/DynamicLayout/types.d.ts +25 -19
- package/dist/src/sub/DynamicLayout/utils/deepCopy.d.ts +1 -0
- package/dist/src/sub/DynamicLayout/utils/deepCopy.js +15 -0
- package/package.json +2 -2
- package/release-note.md +19 -25
- package/dist/src/sub/DynamicLayout/mock_customSection.d.ts +0 -2
- package/dist/src/sub/DynamicLayout/mock_customSection.js +0 -840
- package/dist/src/sub/DynamicLayout/nakedMocks.json +0 -847
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
4
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
8
|
+
}
|
|
9
|
+
return t;
|
|
10
|
+
};
|
|
11
|
+
return __assign.apply(this, arguments);
|
|
12
|
+
};
|
|
13
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
14
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
15
|
+
if (ar || !(i in from)) {
|
|
16
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
17
|
+
ar[i] = from[i];
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
21
|
+
};
|
|
22
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
23
|
+
exports.splitComponentBlocksByGroup = exports.getGroupForMultiple = exports.recalculatedGroup = exports.getGroupData = void 0;
|
|
24
|
+
function getGroupData(elem1, elem2) {
|
|
25
|
+
var _a, _b;
|
|
26
|
+
var minX = Math.min(elem1.x, elem2.x);
|
|
27
|
+
var minY = Math.min(elem1.y, elem2.y);
|
|
28
|
+
var elem1W = elem1.x - minX + elem1.w;
|
|
29
|
+
var elem2W = elem2.x - minX + elem2.w;
|
|
30
|
+
var elem1H = elem1.y - minY + elem1.h;
|
|
31
|
+
var elem2H = elem2.y - minY + elem2.h;
|
|
32
|
+
// NOTE: maxW, maxH 이름 변경 필요.
|
|
33
|
+
var maxW = Math.max(elem1W, elem2W);
|
|
34
|
+
var maxH = Math.max(elem1H, elem2H);
|
|
35
|
+
var maxZ = Math.max((_a = elem1 === null || elem1 === void 0 ? void 0 : elem1.z) !== null && _a !== void 0 ? _a : 0, (_b = elem2 === null || elem2 === void 0 ? void 0 : elem2.z) !== null && _b !== void 0 ? _b : 0);
|
|
36
|
+
var elem1InnerData = __assign(__assign({}, elem1), { x: elem1.x - minX, y: elem1.y - minY });
|
|
37
|
+
var elem2InnerData = __assign(__assign({}, elem2), { x: elem2.x - minX, y: elem2.y - minY });
|
|
38
|
+
var groupLayouts = elem1.groupLayouts
|
|
39
|
+
? getAdaptedGroupLayouts(elem1.groupLayouts, elem2InnerData, elem1, minX, minY)
|
|
40
|
+
: [elem1InnerData, elem2InnerData];
|
|
41
|
+
var childrenIds = elem1.groupLayouts ? __spreadArray(__spreadArray([], elem1.childrenIds, true), [elem2.i], false) : [elem1.i, elem2.i];
|
|
42
|
+
return {
|
|
43
|
+
i: 'group',
|
|
44
|
+
x: minX,
|
|
45
|
+
y: minY,
|
|
46
|
+
w: maxW,
|
|
47
|
+
h: maxH,
|
|
48
|
+
z: maxZ,
|
|
49
|
+
groupLayouts: groupLayouts,
|
|
50
|
+
childrenIds: childrenIds
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
exports.getGroupData = getGroupData;
|
|
54
|
+
function recalculatedGroup(group) {
|
|
55
|
+
var _a;
|
|
56
|
+
if (!group.groupLayouts) {
|
|
57
|
+
return group;
|
|
58
|
+
}
|
|
59
|
+
var groupItemsWithOrgPlacement = (_a = group.groupLayouts.map(function (each) { return (__assign(__assign({}, each), { x: group.x + each.x, y: group.y + each.y })); })) !== null && _a !== void 0 ? _a : [];
|
|
60
|
+
return getGroupForMultiple(groupItemsWithOrgPlacement);
|
|
61
|
+
}
|
|
62
|
+
exports.recalculatedGroup = recalculatedGroup;
|
|
63
|
+
function getGroupForMultiple(elems) {
|
|
64
|
+
if (elems.length === 0) {
|
|
65
|
+
throw new Error('Array must contain at least one element.');
|
|
66
|
+
}
|
|
67
|
+
var _a = elems.reduce(function (acc, elem, idx, arr) {
|
|
68
|
+
var _a, _b;
|
|
69
|
+
if (idx === arr.length - 1) {
|
|
70
|
+
return acc;
|
|
71
|
+
}
|
|
72
|
+
var elem1 = idx === 0 ? elem : acc;
|
|
73
|
+
var elem2 = arr[idx + 1];
|
|
74
|
+
var minX = Math.min(elem1.x, elem2.x);
|
|
75
|
+
var minY = Math.min(elem1.y, elem2.y);
|
|
76
|
+
var elem1W = elem1.x - minX + elem1.w;
|
|
77
|
+
var elem2W = elem2.x - minX + elem2.w;
|
|
78
|
+
var elem1H = elem1.y - minY + elem1.h;
|
|
79
|
+
var elem2H = elem2.y - minY + elem2.h;
|
|
80
|
+
var maxZ = Math.max((_a = elem1 === null || elem1 === void 0 ? void 0 : elem1.z) !== null && _a !== void 0 ? _a : 0, (_b = elem2 === null || elem2 === void 0 ? void 0 : elem2.z) !== null && _b !== void 0 ? _b : 0);
|
|
81
|
+
return {
|
|
82
|
+
x: Math.min(elem1.x, elem2.x),
|
|
83
|
+
y: Math.min(elem1.y, elem2.y),
|
|
84
|
+
w: Math.max(elem1W, elem2W),
|
|
85
|
+
h: Math.max(elem1H, elem2H),
|
|
86
|
+
z: maxZ
|
|
87
|
+
};
|
|
88
|
+
}, { x: 0, y: 0, w: 0, h: 0, z: 0 }), minX = _a.x, minY = _a.y, maxW = _a.w, maxH = _a.h, maxZ = _a.z;
|
|
89
|
+
var groupLayouts = elems.map(function (elem) { return (__assign(__assign({}, elem), { x: elem.x - minX, y: elem.y - minY })); });
|
|
90
|
+
var childrenIds = elems.map(function (elem) { return elem.i; });
|
|
91
|
+
return {
|
|
92
|
+
i: 'group',
|
|
93
|
+
x: minX,
|
|
94
|
+
y: minY,
|
|
95
|
+
w: maxW,
|
|
96
|
+
h: maxH,
|
|
97
|
+
z: maxZ,
|
|
98
|
+
groupLayouts: groupLayouts,
|
|
99
|
+
childrenIds: childrenIds
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
exports.getGroupForMultiple = getGroupForMultiple;
|
|
103
|
+
function getAdaptedGroupLayouts(originals, comming, ogWrapper, minX, minY) {
|
|
104
|
+
var ogs = originals.map(function (og) {
|
|
105
|
+
var xNagativeGap = Math.max(0, ogWrapper.x - minX);
|
|
106
|
+
var yNagativeGap = Math.max(0, ogWrapper.y - minY);
|
|
107
|
+
return __assign(__assign({}, og), { x: og.x + xNagativeGap, y: og.y + yNagativeGap });
|
|
108
|
+
});
|
|
109
|
+
return __spreadArray(__spreadArray([], ogs, true), [comming], false);
|
|
110
|
+
}
|
|
111
|
+
function splitComponentBlocksByGroup(componentBlocks, groupIds) {
|
|
112
|
+
var inGroup = [];
|
|
113
|
+
var notInGroup = [];
|
|
114
|
+
componentBlocks.forEach(function (cb) {
|
|
115
|
+
if (groupIds.includes(cb.id.toString())) {
|
|
116
|
+
inGroup.push(cb);
|
|
117
|
+
}
|
|
118
|
+
else {
|
|
119
|
+
notInGroup.push(cb);
|
|
120
|
+
}
|
|
121
|
+
});
|
|
122
|
+
return {
|
|
123
|
+
inGroup: inGroup,
|
|
124
|
+
notInGroup: notInGroup
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
exports.splitComponentBlocksByGroup = splitComponentBlocksByGroup;
|
package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useIntersectionObserver.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import { RefObject } from 'react';
|
|
|
2
2
|
interface Args extends IntersectionObserverInit {
|
|
3
3
|
freezeOnceVisible?: boolean;
|
|
4
4
|
}
|
|
5
|
-
export declare function useIntersectionObserver(elementRef: RefObject<Element>, { threshold, root, rootMargin, freezeOnceVisible }: Args): IntersectionObserverEntry | undefined;
|
|
5
|
+
export declare function useIntersectionObserver(elementRef: RefObject<Element>, { threshold, root, rootMargin, freezeOnceVisible }: Args, deps: any[]): IntersectionObserverEntry | undefined;
|
|
6
6
|
export {};
|
|
@@ -1,26 +1,38 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
3
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
4
|
+
if (ar || !(i in from)) {
|
|
5
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
6
|
+
ar[i] = from[i];
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
10
|
+
};
|
|
2
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
12
|
exports.useIntersectionObserver = void 0;
|
|
4
13
|
var react_1 = require("react");
|
|
5
|
-
function useIntersectionObserver(elementRef, _a) {
|
|
14
|
+
function useIntersectionObserver(elementRef, _a, deps) {
|
|
6
15
|
var _b = _a.threshold, threshold = _b === void 0 ? 0 : _b, _c = _a.root, root = _c === void 0 ? null : _c, _d = _a.rootMargin, rootMargin = _d === void 0 ? '0%' : _d, _e = _a.freezeOnceVisible, freezeOnceVisible = _e === void 0 ? false : _e;
|
|
7
16
|
var _f = (0, react_1.useState)(), entry = _f[0], setEntry = _f[1];
|
|
8
17
|
var frozen = (entry === null || entry === void 0 ? void 0 : entry.isIntersecting) && freezeOnceVisible;
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
18
|
+
(0, react_1.useLayoutEffect)(function () {
|
|
19
|
+
var updateEntry = function (_a) {
|
|
20
|
+
var entry = _a[0];
|
|
21
|
+
setEntry(entry);
|
|
22
|
+
};
|
|
14
23
|
var node = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current; // DOM Ref
|
|
15
24
|
var hasIOSupport = !!window.IntersectionObserver;
|
|
16
|
-
if (!hasIOSupport || frozen || !node)
|
|
25
|
+
if (!hasIOSupport || frozen || !node) {
|
|
17
26
|
return;
|
|
27
|
+
}
|
|
18
28
|
var observerParams = { threshold: threshold, root: root, rootMargin: rootMargin };
|
|
19
29
|
var observer = new IntersectionObserver(updateEntry, observerParams);
|
|
20
30
|
observer.observe(node);
|
|
21
|
-
return function () {
|
|
31
|
+
return function () {
|
|
32
|
+
observer.disconnect();
|
|
33
|
+
};
|
|
22
34
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
23
|
-
}, [elementRef === null || elementRef === void 0 ? void 0 : elementRef.current, JSON.stringify(threshold), root, rootMargin, frozen]);
|
|
35
|
+
}, __spreadArray([elementRef === null || elementRef === void 0 ? void 0 : elementRef.current, JSON.stringify(threshold), root, rootMargin, frozen], deps, true));
|
|
24
36
|
return entry;
|
|
25
37
|
}
|
|
26
38
|
exports.useIntersectionObserver = useIntersectionObserver;
|
|
@@ -9,34 +9,56 @@ type GeneralCustomSectionType = {
|
|
|
9
9
|
queryableDefinitionPreset: string;
|
|
10
10
|
dynamicLayoutSectionId: number;
|
|
11
11
|
};
|
|
12
|
+
export type GroupCustomSectionType = {
|
|
13
|
+
id: 'group';
|
|
14
|
+
type: 'GROUP';
|
|
15
|
+
availablePlugins: Array<string>;
|
|
16
|
+
queryableTapSrc: string;
|
|
17
|
+
queryableDefinitionPreset: string;
|
|
18
|
+
dynamicLayoutSectionId: number;
|
|
19
|
+
};
|
|
12
20
|
export type AllCBProperties = CB_TEXT_PROPERTIES_TYPE | CB_BTN_PROPERTIES_TYPE | CB_RICHTEXT_PROPERTIES_TYPE | CB_RICHTEXT_PROPERTIES_TYPE | CB_DIVIDER_PROPERTIES_TYPE | CB_YOUTUBE_PROPERTIES_TYPE | CB_IMG_PROPERTIES_TYPE | CB_TWITTER_PROPERTIES_TYPE;
|
|
13
21
|
export type CB_TEXT_TYPE = GeneralCustomSectionType & {
|
|
14
22
|
componentBlockCode: CB_ALL_CODES.CB_TEXT;
|
|
15
|
-
|
|
23
|
+
jsonProperties: {
|
|
24
|
+
data: CB_TEXT_PROPERTIES_TYPE;
|
|
25
|
+
};
|
|
16
26
|
};
|
|
17
27
|
export type CB_BTN_TYPE = GeneralCustomSectionType & {
|
|
18
28
|
componentBlockCode: CB_ALL_CODES.CB_BTN;
|
|
19
|
-
|
|
29
|
+
jsonProperties: {
|
|
30
|
+
data: CB_BTN_PROPERTIES_TYPE;
|
|
31
|
+
};
|
|
20
32
|
};
|
|
21
33
|
export type CB_RICHTEXT = GeneralCustomSectionType & {
|
|
22
34
|
componentBlockCode: CB_ALL_CODES.CB_RICHTEXT;
|
|
23
|
-
|
|
35
|
+
jsonProperties: {
|
|
36
|
+
data: CB_RICHTEXT_PROPERTIES_TYPE;
|
|
37
|
+
};
|
|
24
38
|
};
|
|
25
39
|
export type CB_DIVIDER = GeneralCustomSectionType & {
|
|
26
40
|
componentBlockCode: CB_ALL_CODES.CB_DIVIDER;
|
|
27
|
-
|
|
41
|
+
jsonProperties: {
|
|
42
|
+
data: CB_DIVIDER_PROPERTIES_TYPE;
|
|
43
|
+
};
|
|
28
44
|
};
|
|
29
45
|
export type CB_IMG = GeneralCustomSectionType & {
|
|
30
46
|
componentBlockCode: CB_ALL_CODES.CB_IMG;
|
|
31
|
-
|
|
47
|
+
jsonProperties: {
|
|
48
|
+
data: CB_IMG_PROPERTIES_TYPE;
|
|
49
|
+
};
|
|
32
50
|
};
|
|
33
51
|
export type CB_YOUTUBE = GeneralCustomSectionType & {
|
|
34
52
|
componentBlockCode: CB_ALL_CODES.CB_YOUTUBE;
|
|
35
|
-
|
|
53
|
+
jsonProperties: {
|
|
54
|
+
data: CB_YOUTUBE_PROPERTIES_TYPE;
|
|
55
|
+
};
|
|
36
56
|
};
|
|
37
57
|
export type CB_TWITTER = GeneralCustomSectionType & {
|
|
38
58
|
componentBlockCode: CB_ALL_CODES.CB_TWITTER;
|
|
39
|
-
|
|
59
|
+
jsonProperties: {
|
|
60
|
+
data: CB_TWITTER_PROPERTIES_TYPE;
|
|
61
|
+
};
|
|
40
62
|
};
|
|
41
63
|
export declare enum CB_ALL_CODES {
|
|
42
64
|
CB_TEXT = "CB_TEXT",
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import type { Device, JsonPropertiesParserResult } from './types';
|
|
2
2
|
import type { ISectionJsonProperties } from '../../../../DynamicLayout/types';
|
|
3
|
-
export default function parseJsonProperties(properties: ISectionJsonProperties | undefined, device: Device): JsonPropertiesParserResult;
|
|
3
|
+
export default function parseJsonProperties(properties: ISectionJsonProperties['data'] | undefined, device: Device): JsonPropertiesParserResult;
|
|
@@ -12,8 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.parsePlacement = void 0;
|
|
13
13
|
function parsePlacement(components) {
|
|
14
14
|
return components.reduce(function (acc, cur) {
|
|
15
|
-
var id = cur.id,
|
|
16
|
-
var _a = parsePropPlacement(
|
|
15
|
+
var id = cur.id, jsonProperties = cur.jsonProperties;
|
|
16
|
+
var _a = parsePropPlacement(jsonProperties.data.CB_PLACEMENT_PROP_PLACEMENT, id), mobileLayout = _a.mobileLayout, desktopLayout = _a.desktopLayout;
|
|
17
17
|
return {
|
|
18
18
|
sm: __spreadArray(__spreadArray([], acc.sm, true), [mobileLayout], false),
|
|
19
19
|
lg: __spreadArray(__spreadArray([], acc.lg, true), [desktopLayout], false)
|
|
@@ -132,3 +132,6 @@ export type ParserResult = {
|
|
|
132
132
|
};
|
|
133
133
|
export type JsonPropertiesParserResult = Omit<ParserResult, 'hoverStyle'> & OverlayStyle;
|
|
134
134
|
export type NamedPropAllTypes = NamedStylePropType | NamedLayoutPropType;
|
|
135
|
+
export type IndexForIntersection = {
|
|
136
|
+
index: number;
|
|
137
|
+
};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
1
|
import type { TypeOfSectionAction } from './sectionActionTypes';
|
|
2
|
+
import type { CustomSectionImperativeHandleRef } from './sections/CustomSection/CustomSection';
|
|
3
3
|
import type { ComponentBlock } from './sections/CustomSection/types';
|
|
4
4
|
import type { CB_CONTENT_PROP_VISIBILITY_SPECS } from './sections/CustomSection/util/contentPropParsers/parseContentVisibility';
|
|
5
5
|
import type { CB_EFFECT_PROP_ENTANIM_SPECS } from './sections/CustomSection/util/effectPropParsers/parseEffectPropEntAnim';
|
|
6
6
|
import type { CB_LAYOUT_PROP_PADDING_SPECS } from './sections/CustomSection/util/layoutPropParsers/parseLayoutPropPadding';
|
|
7
7
|
import type { CB_STYLE_PROP_BGCOLOR_SPECS } from './sections/CustomSection/util/stylePropParsers/parseStylePropBgColor';
|
|
8
8
|
import type { CB_STYLE_PROP_BGOVERLAY_SPECS } from './sections/CustomSection/util/stylePropParsers/parseStylePropBgOverlay';
|
|
9
|
+
import type { Ref } from 'react';
|
|
9
10
|
export { TypeOfSectionAction };
|
|
10
11
|
export type TypeOfSectionManifestSchema = 'BASE_INTRO' | 'BASE_CONTENTS' | 'BASE_CONTENTS_CAROUSEL' | 'BASE_FOOTER' | 'BASE_INFO_BOX' | 'EXP_IFRAME' | 'PRG_MEMBERSHIP_DISPLAY' | 'CUSTOM';
|
|
11
12
|
export type TypeofSectionTemplate = 'BASE_INTRO_A' | 'BASE_INTRO_B' | 'BASE_INTRO_C' | 'BASE_INTRO_D' | 'BASE_CONTENTS_A' | 'BASE_CONTENTS_B' | 'BASE_CONTENTS_CAROUSEL_A' | 'BASE_CONTENTS_CAROUSEL_B' | 'BASE_FOOTER_A' | 'BASE_FOOTER_B' | 'BASE_INFO_BOX_A' | 'EXP_IFRAME_A' | 'PRG_MEMBERSHIP_DISPLAY_A' | 'PRG_MEMBERSHIP_DISPLAY_B' | null | undefined;
|
|
@@ -210,6 +211,7 @@ export interface IItemDescription extends IDescription {
|
|
|
210
211
|
text: string;
|
|
211
212
|
color?: string;
|
|
212
213
|
}
|
|
214
|
+
export type CustomSectionShortcutKeysType = 'BULK_SELECT' | 'COLLISION_SELECT' | 'SELECT_ALL' | 'MANUAL_COLLISION_SELECT' | 'MANUAL_BULK_BREAK' | null;
|
|
213
215
|
export type DynamicLayoutProps = {
|
|
214
216
|
device: 'DESKTOP' | 'MOBILE';
|
|
215
217
|
/** @default 'NORMAL */
|
|
@@ -224,6 +226,8 @@ export type DynamicLayoutProps = {
|
|
|
224
226
|
sectionActionHandler?: (action: TypeOfSectionAction) => void;
|
|
225
227
|
programmedSectionComponents?: IProgrammedSectionComponents;
|
|
226
228
|
width?: number;
|
|
229
|
+
shortcutKeyMode?: CustomSectionShortcutKeysType;
|
|
230
|
+
dynamicLayoutRef?: Ref<CustomSectionImperativeHandleRef>;
|
|
227
231
|
};
|
|
228
232
|
export type NavHandlerAction = {
|
|
229
233
|
openNewTab: boolean;
|
|
@@ -295,25 +299,27 @@ export type IMembershipDisplay = {
|
|
|
295
299
|
connectedMemberships: IConnectedMembership[];
|
|
296
300
|
};
|
|
297
301
|
export type ISectionJsonProperties = {
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
302
|
+
data: {
|
|
303
|
+
CB_CONTENT_PROP_SECTION: {
|
|
304
|
+
CB_CONTENT_PROP_SECTION_SPEC_VARIABLEROOTFONTSIZE: boolean;
|
|
305
|
+
};
|
|
306
|
+
CB_CONTENT_PROP_VISIBILITY: CB_CONTENT_PROP_VISIBILITY_SPECS;
|
|
307
|
+
CB_EFFECT_PROP_ENTANIM: CB_EFFECT_PROP_ENTANIM_SPECS;
|
|
308
|
+
CB_LAYOUT_PROP_PADDING?: CB_LAYOUT_PROP_PADDING_SPECS;
|
|
309
|
+
CB_PLACEMENT_PROP_SECTION: {
|
|
310
|
+
CB_PLACEMENT_PROP_SECTION_SPEC_FULLWIDTH: boolean;
|
|
311
|
+
'CB_PLACEMENT_PROP_SECTION_SPEC_FULLWIDTH:MOBILE': boolean | null | undefined;
|
|
312
|
+
CB_PLACEMENT_PROP_SECTION_SPEC_MINHEIGHT: number;
|
|
313
|
+
'CB_PLACEMENT_PROP_SECTION_SPEC_MINHEIGHT:MOBILE': number | null | undefined;
|
|
314
|
+
CB_PLACEMENT_PROP_SECTION_SPEC_ROWS: number;
|
|
315
|
+
'CB_PLACEMENT_PROP_SECTION_SPEC_ROWS:MOBILE': number | null | undefined;
|
|
316
|
+
CB_PLACEMENT_PROP_SECTION_SPEC_WIDTH: number;
|
|
317
|
+
'CB_PLACEMENT_PROP_SECTION_SPEC_WIDTH:MOBILE': number | null | undefined;
|
|
318
|
+
};
|
|
319
|
+
CB_STYLE_PROP_BGCOLOR?: CB_STYLE_PROP_BGCOLOR_SPECS;
|
|
320
|
+
CB_STYLE_PROP_BGMEDIA?: CB_STYLE_PROP_BGMEDIA_SPECS;
|
|
321
|
+
CB_STYLE_PROP_BGOVERLAY?: CB_STYLE_PROP_BGOVERLAY_SPECS;
|
|
313
322
|
};
|
|
314
|
-
CB_STYLE_PROP_BGCOLOR?: CB_STYLE_PROP_BGCOLOR_SPECS;
|
|
315
|
-
CB_STYLE_PROP_BGMEDIA?: CB_STYLE_PROP_BGMEDIA_SPECS;
|
|
316
|
-
CB_STYLE_PROP_BGOVERLAY?: CB_STYLE_PROP_BGOVERLAY_SPECS;
|
|
317
323
|
};
|
|
318
324
|
export type CB_STYLE_PROP_BGMEDIA_SPECS_BASE = {
|
|
319
325
|
CB_STYLE_PROP_BGMEDIA_SPEC_YSRC: string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function deepCopy<T>(obj: T): T;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
function deepCopy(obj) {
|
|
4
|
+
if (typeof obj !== 'object' || obj === null) {
|
|
5
|
+
return obj;
|
|
6
|
+
}
|
|
7
|
+
var result = Array.isArray(obj) ? [] : {};
|
|
8
|
+
for (var key in obj) {
|
|
9
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
10
|
+
result[key] = deepCopy(obj[key]);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
14
|
+
}
|
|
15
|
+
exports.default = deepCopy;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pds-dev-kit-web",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.50",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"private": false,
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"i18next-intervalplural-postprocessor": "^3.0.0",
|
|
23
23
|
"lottie-react": "^2.3.1",
|
|
24
24
|
"nuka-carousel": "^4.8.4",
|
|
25
|
-
"publ-echo": "^0.0.
|
|
25
|
+
"publ-echo": "^0.0.45",
|
|
26
26
|
"react-hook-form": "^7.28.1",
|
|
27
27
|
"react-i18next": "^11.12.0",
|
|
28
28
|
"react-router-dom": "^5.2.0",
|
package/release-note.md
CHANGED
|
@@ -1,28 +1,22 @@
|
|
|
1
1
|
# PDS-DEV-KIT-WEB Release Notes
|
|
2
|
-
## [v2.2.
|
|
2
|
+
## [v2.2.50]
|
|
3
3
|
## daily|https://design.storybook.publ.biz/
|
|
4
4
|
|
|
5
|
-
###
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
|
|
12
|
-
*
|
|
13
|
-
|
|
14
|
-
*
|
|
15
|
-
|
|
16
|
-
*
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
*
|
|
21
|
-
|
|
22
|
-
*
|
|
23
|
-
* ic_user
|
|
24
|
-
* line, fill 추가
|
|
25
|
-
* TextFieldBase
|
|
26
|
-
* enter관련하여 e.code를 사용하던 부분을 e.key로 변경
|
|
27
|
-
### Color
|
|
28
|
-
* 컬러 키 값 24.02.21 11시 42분 기준 싱크
|
|
5
|
+
### sub
|
|
6
|
+
* DynamicLayout
|
|
7
|
+
* DATA_STRUCTURE
|
|
8
|
+
* 데이터 구조 서버와 일치 (jsonproperties.data) parser 삭제를 위해.
|
|
9
|
+
* BULK SELECT & ACTIONS
|
|
10
|
+
* 벌크 이동
|
|
11
|
+
* 벌크 복제 (+ shortcut)
|
|
12
|
+
* 벌크 삭제 (+ shortcut)
|
|
13
|
+
* 전체 선택
|
|
14
|
+
* 겹 선택
|
|
15
|
+
* 벌크 내 요소 개별 선택해제
|
|
16
|
+
* 벌크 선택 해제
|
|
17
|
+
* 새로 복제된 CB / BULK - CB를 상위에서 선택할 수 있는 handler
|
|
18
|
+
* UX 개선
|
|
19
|
+
* 튕김 현상 개선 (ECHO 업데이트)
|
|
20
|
+
* 실효성 없는 변화 (제자리 drop, resize) 액션 제한
|
|
21
|
+
* 애니메이션 포함된 요소가 사라지는 현상
|
|
22
|
+
* 벌크 선택 시 1px차이로 움찔 거리는 이슈의 중요부분 (ECHO 업데이트)
|