pds-dev-kit-web 2.2.49 → 2.2.51
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 +287 -25
- 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 +9 -26
- 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.51",
|
|
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,11 @@
|
|
|
1
1
|
# PDS-DEV-KIT-WEB Release Notes
|
|
2
|
-
## [v2.2.
|
|
3
|
-
##
|
|
2
|
+
## [v2.2.51]
|
|
3
|
+
## urgent|https://design.storybook.publ.biz/
|
|
4
4
|
|
|
5
|
-
###
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
|
|
10
|
-
*
|
|
11
|
-
|
|
12
|
-
* fill 추가
|
|
13
|
-
* ic_sales
|
|
14
|
-
* fill 추가
|
|
15
|
-
* ic_selle_intro
|
|
16
|
-
* fill 추가
|
|
17
|
-
* ic_shoppingbag
|
|
18
|
-
* fill 추가
|
|
19
|
-
* ic_site
|
|
20
|
-
* line, fill 추가
|
|
21
|
-
* ic_target
|
|
22
|
-
* fill 추가
|
|
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
|
+
* BULK SELECT & ACTIONS 관련 UX개선
|
|
8
|
+
* 남은 CB가 1개일 때 전체선택 -> 이상하게 됨 -> 하나만 선택되도록
|
|
9
|
+
* shift 없이 우클릭 시 기존 벌크 해제
|
|
10
|
+
* 다른 CustomSection 클릭시 벌크 해제
|
|
11
|
+
* SHIFT 누른 채로 다른 CB제자리 드롭 시 → 클릭으로 판정하여 벌크에 포함
|