pds-dev-kit-web-test 2.7.116 → 2.7.118
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/CompositionRenderer/Composition.js +2 -2
- package/dist/src/sub/DynamicLayout/CompositionRenderer/FlexGridItem.d.ts +2 -4
- package/dist/src/sub/DynamicLayout/CompositionRenderer/FlexGridItem.js +5 -7
- package/dist/src/sub/DynamicLayout/GridAutoRowEditor/GridAutoRowEditor.js +28 -63
- package/dist/src/sub/DynamicLayout/mock_componentBlocks.d.ts +0 -135
- package/dist/src/sub/DynamicLayout/mock_componentBlocks.js +1 -3
- package/dist/src/sub/DynamicLayout/mocks.js +3 -0
- package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/FlexGridItem.d.ts +1 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/FlexGridItem.js +2 -2
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsList/ContentsList.js +0 -1
- package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/SlideBanner/components/CustomPagination.js +16 -14
- 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 +4 -14
- package/dist/src/sub/DynamicLayout/sections/FlexGridCustomSection.js +11 -29
- package/package.json +1 -1
- package/dist/src/sub/DynamicLayout/CompositionRenderer/FlexGridItemForCCB.d.ts +0 -14
- package/dist/src/sub/DynamicLayout/CompositionRenderer/FlexGridItemForCCB.js +0 -68
- package/dist/src/sub/DynamicLayout/utils/groupUtils.d.ts +0 -24
- package/dist/src/sub/DynamicLayout/utils/groupUtils.js +0 -224
- /package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/{ComponentBlockMatcherWithCCB.d.ts → ComponentBlockMatcher.d.ts} +0 -0
- /package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/{ComponentBlockMatcherWithCCB.js → ComponentBlockMatcher.js} +0 -0
|
@@ -57,7 +57,7 @@ var parseStylePropBorder_1 = __importDefault(require("../sections/CustomSection/
|
|
|
57
57
|
var parseStylePropShadow_1 = __importDefault(require("../sections/CustomSection/util/stylePropParsers/parseStylePropShadow"));
|
|
58
58
|
var types_1 = require("../sections/CustomSection/util/stylePropParsers/types");
|
|
59
59
|
var CompositionBackground_1 = __importDefault(require("./CompositionBackground"));
|
|
60
|
-
var
|
|
60
|
+
var FlexGridItem_1 = __importDefault(require("./FlexGridItem"));
|
|
61
61
|
var Composition = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
62
62
|
var _a, _b, _c, _d, _e;
|
|
63
63
|
var _f = (0, react_1.useContext)(dynamicLayoutContext_1.dynamicLayoutContext), device = _f.device, editingSectionId = _f.editingSectionId, mode = _f.mode, shortcutKeyMode = _f.shortcutKeyMode, sectionActionHandler = _f.sectionActionHandler, queryData = _f.queryData;
|
|
@@ -213,7 +213,7 @@ var Composition = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
|
213
213
|
// fontSize: `${baseFontSize}px`
|
|
214
214
|
} }, { children: (_e = props.componentBlocks) === null || _e === void 0 ? void 0 : _e.map(function (cb, index) {
|
|
215
215
|
var _a;
|
|
216
|
-
return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(
|
|
216
|
+
return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(FlexGridItem_1.default, { cb: cb, index: index, device: device, rowHeight: rowHeight, zIndex: (_a = zOrders === null || zOrders === void 0 ? void 0 : zOrders[device === 'DESKTOP' ? 'desktop' : 'mobile'][cb.id]) !== null && _a !== void 0 ? _a : 0 }) }, cb.id));
|
|
217
217
|
}) })) })) })) })) })) }));
|
|
218
218
|
});
|
|
219
219
|
var MOCK_BORDER = {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { ComponentBlock } from '../sections/CustomSection/types';
|
|
3
|
-
import type {
|
|
3
|
+
import type { Device } from '../sections/CustomSection/util/types';
|
|
4
4
|
type Props = {
|
|
5
5
|
cb: ComponentBlock;
|
|
6
6
|
index: number;
|
|
@@ -9,8 +9,6 @@ type Props = {
|
|
|
9
9
|
zIndex: number;
|
|
10
10
|
showPinned?: boolean;
|
|
11
11
|
style?: React.CSSProperties;
|
|
12
|
-
isParentGroupPinned: boolean;
|
|
13
12
|
};
|
|
14
|
-
declare function FlexGridItem({ cb, index, device, rowHeight, zIndex, showPinned, style
|
|
15
|
-
export declare function getGridAreaFromCB(props: CB_PLACEMENT_PROP_SPECS, device: Device): string;
|
|
13
|
+
declare function FlexGridItem({ cb, index, device, rowHeight, zIndex, showPinned, style }: Props): JSX.Element;
|
|
16
14
|
export default FlexGridItem;
|
|
@@ -18,20 +18,19 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
18
18
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
exports.getGridAreaFromCB = void 0;
|
|
22
21
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
23
22
|
var react_1 = require("react");
|
|
24
23
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
25
|
-
var
|
|
24
|
+
var ComponentBlockMatcher_1 = __importDefault(require("../sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher"));
|
|
25
|
+
require("./ComponentBlockMatcher");
|
|
26
26
|
var gap = 10;
|
|
27
27
|
function FlexGridItem(_a) {
|
|
28
|
-
var cb = _a.cb, index = _a.index, device = _a.device, rowHeight = _a.rowHeight, zIndex = _a.zIndex, showPinned = _a.showPinned, style = _a.style
|
|
28
|
+
var cb = _a.cb, index = _a.index, device = _a.device, rowHeight = _a.rowHeight, zIndex = _a.zIndex, showPinned = _a.showPinned, style = _a.style;
|
|
29
29
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
30
30
|
var defaultHeight = getMaxHeight(cb.jsonProperties.data.CB_PLACEMENT_PROP_PLACEMENT, device, rowHeight);
|
|
31
31
|
var gridArea = getGridAreaFromCB(cb.jsonProperties.data.CB_PLACEMENT_PROP_PLACEMENT, device);
|
|
32
|
-
var _b = (0, react_1.useState)(false),
|
|
33
|
-
|
|
34
|
-
return ((0, jsx_runtime_1.jsxs)(GridItem, __assign({ style: __assign({ zIndex: zIndex, gridArea: gridArea, position: 'relative', maxHeight: isPinned ? defaultHeight : 'none' }, style) }, { children: [showPinned && ((0, jsx_runtime_1.jsx)(S_Pinned, { children: isCBPinned ? ((0, jsx_runtime_1.jsx)("button", __assign({ type: "button", disabled: isParentGroupPinned, onClick: function () { return setIsCBPinned(false); } }, { children: "H\uACE0\uC815\uB428 \uD83D\uDCCC" }))) : ((0, jsx_runtime_1.jsx)("button", __assign({ disabled: isParentGroupPinned, type: "button", onClick: function () { return setIsCBPinned(true); } }, { children: "H\uB298\uC5B4\uB0A8 \uD83E\uDEB1" }))) })), (0, jsx_runtime_1.jsx)(ComponentBlockMatcherWithCCB_1.default, { rowHeight: rowHeight, cbProps: cb, device: device, index: index })] })));
|
|
32
|
+
var _b = (0, react_1.useState)(false), isPinned = _b[0], setIsPinned = _b[1];
|
|
33
|
+
return ((0, jsx_runtime_1.jsxs)(GridItem, __assign({ style: __assign({ zIndex: zIndex, gridArea: gridArea, position: 'relative', maxHeight: isPinned ? defaultHeight : 'none' }, style) }, { children: [showPinned && ((0, jsx_runtime_1.jsx)(S_Pinned, { children: isPinned ? ((0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: function () { return setIsPinned(false); } }, { children: "H\uACE0\uC815\uB428 \uD83D\uDCCC" }))) : ((0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: function () { return setIsPinned(true); } }, { children: "H\uB298\uC5B4\uB0A8 \uD83E\uDEB1" }))) })), (0, jsx_runtime_1.jsx)(ComponentBlockMatcher_1.default, { rowHeight: rowHeight, cbProps: cb, device: device, index: index })] })));
|
|
35
34
|
}
|
|
36
35
|
var S_Pinned = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n pointer-events: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 9999999;\n"], ["\n pointer-events: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 9999999;\n"])));
|
|
37
36
|
var GridItem = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n height: auto;\n word-break: break-word;\n"], ["\n height: auto;\n word-break: break-word;\n"])));
|
|
@@ -66,6 +65,5 @@ function getGridAreaFromCB(props, device) {
|
|
|
66
65
|
var colEnd = colsMobile + colStart;
|
|
67
66
|
return "".concat(rowStart, " / ").concat(colStart, " / ").concat(rowEnd, " / ").concat(colEnd);
|
|
68
67
|
}
|
|
69
|
-
exports.getGridAreaFromCB = getGridAreaFromCB;
|
|
70
68
|
exports.default = FlexGridItem;
|
|
71
69
|
var templateObject_1, templateObject_2;
|
|
@@ -55,6 +55,7 @@ var jsx_runtime_1 = require("react/jsx-runtime");
|
|
|
55
55
|
var group_1 = require("publ-echo-test/dist/lib/GridLayoutEditor/group");
|
|
56
56
|
var renderHelpers_1 = require("publ-echo-test/dist/lib/GridLayoutEditor/utils/renderHelpers");
|
|
57
57
|
require("publ-echo/dist/lib/GridItem/OutsideClickHandler");
|
|
58
|
+
var group_2 = require("publ-echo/dist/lib/GridLayoutEditor/group");
|
|
58
59
|
var react_1 = __importStar(require("react"));
|
|
59
60
|
var ErrorBoundary_1 = require("../../DynamicLayout/components/Section/ErrorBoundary");
|
|
60
61
|
var dynamicLayoutContext_1 = require("../../DynamicLayout/dynamicLayoutContext");
|
|
@@ -65,7 +66,6 @@ var gleStyles_1 = require("../gleStyles");
|
|
|
65
66
|
var useResizableObserver_1 = require("../sections/CustomSection/hooks/useResizableObserver");
|
|
66
67
|
var util_1 = require("../sections/CustomSection/util");
|
|
67
68
|
var parseSectionPadding_1 = __importDefault(require("../sections/CustomSection/util/layoutPropParsers/parseSectionPadding"));
|
|
68
|
-
var groupUtils_1 = __importDefault(require("../utils/groupUtils"));
|
|
69
69
|
var GRID_CELL_MIN = 24;
|
|
70
70
|
var DESKTOP_GRID_COLS = 24;
|
|
71
71
|
var MOBILE_GRID_COLS = 8;
|
|
@@ -77,15 +77,16 @@ var GLE_MIN_WIDTH_MOBILE_PX = "".concat(GRID_CELL_MIN * MOBILE_GRID_COLS, "px");
|
|
|
77
77
|
// queryData: QueryData;
|
|
78
78
|
// };
|
|
79
79
|
var GridAutoRowEditor = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
80
|
-
var _a
|
|
80
|
+
var _a, _b;
|
|
81
|
+
var _c = (0, react_1.useContext)(dynamicLayoutContext_1.dynamicLayoutContext), device = _c.device, editingSectionId = _c.editingSectionId, mode = _c.mode, shortcutKeyMode = _c.shortcutKeyMode, sectionActionHandler = _c.sectionActionHandler, queryData = _c.queryData;
|
|
81
82
|
var componentBlocks = props.componentBlocks, jsonProperties = props.jsonProperties;
|
|
82
|
-
var
|
|
83
|
+
var _d = jsonProperties, _e = _d.data, CB_PLACEMENT_PROP_SECTION = _e.CB_PLACEMENT_PROP_SECTION, CB_LAYOUT_PROP_PADDING = _e.CB_LAYOUT_PROP_PADDING, zOrders = _d.zOrders;
|
|
83
84
|
var layouts = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : [], zOrders);
|
|
84
85
|
var containerRef = (0, react_1.useRef)(null);
|
|
85
86
|
var size = (0, useResizableObserver_1.useResizeObserver)({ ref: containerRef, box: 'border-box' });
|
|
86
|
-
var
|
|
87
|
+
var _f = (0, react_1.useState)(null), selectedCB = _f[0], setSelectedCB = _f[1];
|
|
87
88
|
var gleRef = (0, react_1.useRef)(null);
|
|
88
|
-
var
|
|
89
|
+
var _g = (0, react_1.useState)([]), selectedRows = _g[0], setSelectedRows = _g[1]; // 빈 배열로 초기화
|
|
89
90
|
var isMobile = device === 'MOBILE';
|
|
90
91
|
var isEditMode = mode === 'EDIT';
|
|
91
92
|
// const layoutByDevice = device === 'DESKTOP' ? 'lg' : 'sm';
|
|
@@ -143,10 +144,10 @@ var GridAutoRowEditor = (0, react_1.forwardRef)(function CustomSection(props, re
|
|
|
143
144
|
setSelectedCB('BULK');
|
|
144
145
|
}
|
|
145
146
|
}, [selectedCB, shortcutKeyMode, sectionActionHandler, setSelectedCB]);
|
|
146
|
-
var
|
|
147
|
+
var _h = (0, util_1.parseCustomSectionPlacement)({
|
|
147
148
|
isMobile: isMobile,
|
|
148
149
|
customSectionProps: CB_PLACEMENT_PROP_SECTION
|
|
149
|
-
}), width =
|
|
150
|
+
}), width = _h.width, minHeight = _h.minHeight, isFullWidth = _h.isFullWidth;
|
|
150
151
|
var customSectionStyles = {
|
|
151
152
|
minHeight: "".concat(minHeight, "vh"),
|
|
152
153
|
width: '100%',
|
|
@@ -205,25 +206,13 @@ var GridAutoRowEditor = (0, react_1.forwardRef)(function CustomSection(props, re
|
|
|
205
206
|
return 16;
|
|
206
207
|
})();
|
|
207
208
|
var pedigree = jsonProperties === null || jsonProperties === void 0 ? void 0 : jsonProperties.pedigree;
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
// };
|
|
214
|
-
var _g = (0, react_1.useState)([]), pinnedGBs = _g[0], setPinnedGBs = _g[1];
|
|
215
|
-
// const pinnedChildrens = pinnedGBs.map((gbId) => findAllChildrenCbIds(pedigree, gbId)).flat();
|
|
216
|
-
// const currentDepthCbs = props.componentBlocks?.filter((cb) => {
|
|
217
|
-
// return editableCBIds.includes(cb.id);
|
|
218
|
-
// });
|
|
219
|
-
var onToggleGBPinned = function (gbId) {
|
|
220
|
-
setPinnedGBs(function (prev) {
|
|
221
|
-
if (prev.includes(gbId)) {
|
|
222
|
-
return prev.filter(function (id) { return id !== gbId; });
|
|
223
|
-
}
|
|
224
|
-
return __spreadArray(__spreadArray([], prev, true), [gbId], false);
|
|
225
|
-
});
|
|
209
|
+
var _j = (0, react_1.useState)('ROOT'), editingGroupBlock = _j[0], setEditingGroupBlock = _j[1];
|
|
210
|
+
var editableCBIds = (0, group_2.findDirectChildrenCbIds)(pedigree, editingGroupBlock);
|
|
211
|
+
var groupblocks = (_a = (0, group_1.findGroupBlocks)(pedigree, editingGroupBlock)) !== null && _a !== void 0 ? _a : [];
|
|
212
|
+
var handleGroupBlockDoubleClick = function (blockId) {
|
|
213
|
+
setEditingGroupBlock(blockId);
|
|
226
214
|
};
|
|
215
|
+
console.log(editingGroupBlock);
|
|
227
216
|
return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(dynamicLayoutContext_1.dynamicLayoutContext.Provider, __assign({ value: {
|
|
228
217
|
device: device,
|
|
229
218
|
mode: mode,
|
|
@@ -270,26 +259,19 @@ var GridAutoRowEditor = (0, react_1.forwardRef)(function CustomSection(props, re
|
|
|
270
259
|
backgroundColor: '#e8e1e189',
|
|
271
260
|
border: '1px solid #6b666688'
|
|
272
261
|
}, "data-row": rIdx + 1, "data-col": cIdx + 1 }, "bg-grid-item-".concat(rIdx + 1, "-").concat(cIdx + 1))); }) }), "bg-grid-row-".concat(rIdx + 1)));
|
|
273
|
-
}),
|
|
262
|
+
}), (_b = props.componentBlocks) === null || _b === void 0 ? void 0 : _b.map(function (cb, index) {
|
|
263
|
+
var _a;
|
|
264
|
+
return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(FlexGridItem_1.default, { cb: cb, index: index, device: device, rowHeight: rowHeight, zIndex: (_a = zOrders === null || zOrders === void 0 ? void 0 : zOrders[device === 'DESKTOP' ? 'desktop' : 'mobile'][cb.id]) !== null && _a !== void 0 ? _a : 0, style: editableCBIds.includes(cb.id)
|
|
265
|
+
? { pointerEvents: 'none', boxShadow: '0 0 0 3px #e602ff' }
|
|
266
|
+
: { pointerEvents: 'none', opacity: 0.3 }, showPinned: editableCBIds.includes(cb.id) }) }, cb.id));
|
|
267
|
+
}), groupblocks.map(function (groupblock, gIdx) {
|
|
268
|
+
return ((0, jsx_runtime_1.jsx)(GroupBlockRender, { block: groupblock, layouts: layouts, pedigree: pedigree, onDoubleClick: function () { return handleGroupBlockDoubleClick(groupblock.blockId); } }, groupblock.blockId));
|
|
269
|
+
})] })) })) })) }) })) }));
|
|
274
270
|
});
|
|
275
271
|
function GroupBlockRender(_a) {
|
|
276
|
-
var block = _a.block, layouts = _a.layouts, pedigree = _a.pedigree,
|
|
272
|
+
var block = _a.block, layouts = _a.layouts, pedigree = _a.pedigree, onDoubleClick = _a.onDoubleClick;
|
|
277
273
|
var childrenIds = (0, group_1.findAllChildrenCbIds)(pedigree, block.blockId).map(function (i) { return i.toString(); });
|
|
278
|
-
var bounding = (0, renderHelpers_1.getBoundingArea)(layouts, childrenIds);
|
|
279
|
-
(0, react_1.useEffect)(function () {
|
|
280
|
-
if (!isEditing) {
|
|
281
|
-
return;
|
|
282
|
-
}
|
|
283
|
-
function handleDoubleClickOutside(e) {
|
|
284
|
-
if (!e.target.closest('.group')) {
|
|
285
|
-
onDoubleClickOutside();
|
|
286
|
-
}
|
|
287
|
-
}
|
|
288
|
-
document.addEventListener('dblclick', handleDoubleClickOutside);
|
|
289
|
-
return function () {
|
|
290
|
-
document.removeEventListener('dblclick', handleDoubleClickOutside);
|
|
291
|
-
};
|
|
292
|
-
}, [isEditing]);
|
|
274
|
+
var bounding = (0, renderHelpers_1.getBoundingArea)(layouts.lg, childrenIds);
|
|
293
275
|
if (!bounding) {
|
|
294
276
|
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
|
|
295
277
|
}
|
|
@@ -299,25 +281,8 @@ function GroupBlockRender(_a) {
|
|
|
299
281
|
cols: bounding.w,
|
|
300
282
|
rows: bounding.h
|
|
301
283
|
});
|
|
302
|
-
|
|
303
|
-
if (childrenIds.length === 0) {
|
|
304
|
-
return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: "\uB529\uD06C\uADF8\uB8F9" });
|
|
305
|
-
}
|
|
306
|
-
return ((0, jsx_runtime_1.jsxs)("div", __assign({ style: {
|
|
307
|
-
gridArea: gridArea,
|
|
308
|
-
position: 'relative',
|
|
309
|
-
width: '100%',
|
|
310
|
-
height: '100%'
|
|
311
|
-
}, onDoubleClick: onDoubleClick }, { children: [!isEditing && ((0, jsx_runtime_1.jsx)(S_Pinned, { children: isPinned ? ((0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: onTogglePinned }, { children: "(\uADF8\uB8F9)H\uACE0\uC815\uB428 \uD83D\uDCCC" }))) : ((0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: onTogglePinned }, { children: "(\uADF8\uB8F9)H\uB298\uC5B4\uB0A8 \uD83E\uDEB1" }))) })), (0, jsx_runtime_1.jsx)("div", { className: "group", style: {
|
|
312
|
-
position: 'absolute',
|
|
313
|
-
top: 0,
|
|
314
|
-
left: 0,
|
|
315
|
-
right: 0,
|
|
316
|
-
bottom: 0,
|
|
317
|
-
boxShadow: '0 0 0 3px #e602ff'
|
|
318
|
-
} }), children === null || children === void 0 ? void 0 : children.map(function (cb, index) { return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(FlexGridItem_1.default, { cb: cb, index: index, device: "DESKTOP", rowHeight: 50, zIndex: 0, style: { pointerEvents: 'none', opacity: isEditing ? 1 : 0.3 }, showPinned: isEditing, isParentGroupPinned: isPinned }) }, cb.id)); })] })));
|
|
284
|
+
return ((0, jsx_runtime_1.jsx)("div", { className: "group", style: { gridArea: gridArea, boxShadow: '0 0 0 3px #e602ff' }, onDoubleClick: onDoubleClick }));
|
|
319
285
|
}
|
|
320
|
-
var S_Pinned = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n pointer-events: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 9999999;\n"], ["\n pointer-events: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 9999999;\n"])));
|
|
321
286
|
function getGridAreaFromGroup(position) {
|
|
322
287
|
var x = position.x, y = position.y, cols = position.cols, rows = position.rows;
|
|
323
288
|
var colStart = clamp(x + 1, 1, Math.max(1, 25 - cols));
|
|
@@ -338,7 +303,7 @@ function getGridAreaFromGroup(position) {
|
|
|
338
303
|
function clamp(num, min, max) {
|
|
339
304
|
return Math.max(Math.min(num, max), min);
|
|
340
305
|
}
|
|
341
|
-
var GridContainer = styled_components_1.default.div(
|
|
306
|
+
var GridContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: grid; /* Space between grid items */\n gap: 10px;\n grid-auto-rows: minmax(", ", auto);\n grid-template-columns: repeat(", ", 1fr);\n\n grid-template-rows: ", "; /* \uBC30\uC5F4\uC744 \uACF5\uBC31\uC73C\uB85C \uAD6C\uBD84\uB41C \uBB38\uC790\uC5F4\uB85C \uD569\uCE69\uB2C8\uB2E4. */\n padding: 10px 10px;\n\n * {\n box-sizing: border-box;\n }\n\n .bg-grid-item {\n transition: background-color 0.2s ease;\n }\n\n /* 1. \uAE30\uBCF8 \uD638\uBC84 (\uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC744 \uB54C) */\n .bg-grid-row:not(.selected):hover > .bg-grid-item {\n background-color: #90ee90 !important; /* \uC5F0\uB450\uC0C9 */\n }\n\n /* 2. 'selected' \uD074\uB798\uC2A4\uAC00 \uBD99\uC740 \uD589\uC758 \uC544\uC774\uD15C (\uC120\uD0DD\uB428) */\n .bg-grid-row.selected > .bg-grid-item {\n background-color: #90ee90 !important; /* \uC5F0\uB450\uC0C9 */\n }\n\n /* 3. \uC120\uD0DD\uB41C \uD589\uC5D0 \uD638\uBC84\uD588\uC744 \uB54C */\n .bg-grid-row.selected:hover > .bg-grid-item {\n background-color: #ffc0cb !important; /* \uD551\uD06C\uC0C9 */\n }\n"], ["\n display: grid; /* Space between grid items */\n gap: 10px;\n grid-auto-rows: minmax(", ", auto);\n grid-template-columns: repeat(", ", 1fr);\n\n grid-template-rows: ", "; /* \uBC30\uC5F4\uC744 \uACF5\uBC31\uC73C\uB85C \uAD6C\uBD84\uB41C \uBB38\uC790\uC5F4\uB85C \uD569\uCE69\uB2C8\uB2E4. */\n padding: 10px 10px;\n\n * {\n box-sizing: border-box;\n }\n\n .bg-grid-item {\n transition: background-color 0.2s ease;\n }\n\n /* 1. \uAE30\uBCF8 \uD638\uBC84 (\uC120\uD0DD\uB418\uC9C0 \uC54A\uC558\uC744 \uB54C) */\n .bg-grid-row:not(.selected):hover > .bg-grid-item {\n background-color: #90ee90 !important; /* \uC5F0\uB450\uC0C9 */\n }\n\n /* 2. 'selected' \uD074\uB798\uC2A4\uAC00 \uBD99\uC740 \uD589\uC758 \uC544\uC774\uD15C (\uC120\uD0DD\uB428) */\n .bg-grid-row.selected > .bg-grid-item {\n background-color: #90ee90 !important; /* \uC5F0\uB450\uC0C9 */\n }\n\n /* 3. \uC120\uD0DD\uB41C \uD589\uC5D0 \uD638\uBC84\uD588\uC744 \uB54C */\n .bg-grid-row.selected:hover > .bg-grid-item {\n background-color: #ffc0cb !important; /* \uD551\uD06C\uC0C9 */\n }\n"])), function (props) { return "".concat(props.rowHeight, "px"); }, function (props) { return props.cols; }, function (props) {
|
|
342
307
|
// 전체 행 개수만큼 배열을 생성하여 각 행의 CSS 값을 정의합니다.
|
|
343
308
|
return Array.from({ length: props.sectionRow })
|
|
344
309
|
.map(function (_, index) {
|
|
@@ -350,7 +315,7 @@ var GridContainer = styled_components_1.default.div(templateObject_2 || (templat
|
|
|
350
315
|
)
|
|
351
316
|
.join(' ');
|
|
352
317
|
});
|
|
353
|
-
var S_SectionWrapper = styled_components_1.default.div(
|
|
318
|
+
var S_SectionWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
|
|
354
319
|
exports.default = react_1.default.memo(GridAutoRowEditor);
|
|
355
320
|
function getDefensiveFontSize(device, width) {
|
|
356
321
|
if (device === 'MOBILE') {
|
|
@@ -358,4 +323,4 @@ function getDefensiveFontSize(device, width) {
|
|
|
358
323
|
}
|
|
359
324
|
return width * (0.0000246 * width - 0.01618);
|
|
360
325
|
}
|
|
361
|
-
var templateObject_1, templateObject_2
|
|
326
|
+
var templateObject_1, templateObject_2;
|
|
@@ -178,8 +178,6 @@ export declare const MOCK_COMPONENT_BLOCKS: ({
|
|
|
178
178
|
};
|
|
179
179
|
CB_CONTENT_PROP_TEXT: {
|
|
180
180
|
CB_CONTENT_PROP_TEXT_SPEC_TEXT: string;
|
|
181
|
-
CB_CONTENT_PROP_TEXT_SPEC_PREFIX?: undefined;
|
|
182
|
-
CB_CONTENT_PROP_TEXT_SPEC_SUFFIX?: undefined;
|
|
183
181
|
};
|
|
184
182
|
CB_CONTENT_PROP_VISIBILITY: {
|
|
185
183
|
CB_CONTENT_PROP_VISIBILITY_SPEC_DESKTOP: boolean;
|
|
@@ -390,137 +388,6 @@ export declare const MOCK_COMPONENT_BLOCKS: ({
|
|
|
390
388
|
};
|
|
391
389
|
CB_CONTENT_PROP_TEXT: {
|
|
392
390
|
CB_CONTENT_PROP_TEXT_SPEC_TEXT: string;
|
|
393
|
-
CB_CONTENT_PROP_TEXT_SPEC_PREFIX: string;
|
|
394
|
-
CB_CONTENT_PROP_TEXT_SPEC_SUFFIX: string;
|
|
395
|
-
};
|
|
396
|
-
CB_CONTENT_PROP_VISIBILITY: {
|
|
397
|
-
CB_CONTENT_PROP_VISIBILITY_SPEC_DESKTOP: boolean;
|
|
398
|
-
CB_CONTENT_PROP_VISIBILITY_SPEC_MOBILEWEB: boolean;
|
|
399
|
-
};
|
|
400
|
-
CB_EFFECT_PROP_ENTANIM: {
|
|
401
|
-
CB_EFFECT_PROP_ENTANIM_SPEC_DURATION: number;
|
|
402
|
-
'CB_EFFECT_PROP_ENTANIM_SPEC_DURATION:MOBILE': null;
|
|
403
|
-
CB_EFFECT_PROP_ENTANIM_SPEC_REPEAT: number;
|
|
404
|
-
'CB_EFFECT_PROP_ENTANIM_SPEC_REPEAT:MOBILE': null;
|
|
405
|
-
CB_EFFECT_PROP_ENTANIM_SPEC_TFUNC: string;
|
|
406
|
-
'CB_EFFECT_PROP_ENTANIM_SPEC_TFUNC:MOBILE': null;
|
|
407
|
-
CB_EFFECT_PROP_ENTANIM_SPEC_TYPE: string;
|
|
408
|
-
'CB_EFFECT_PROP_ENTANIM_SPEC_TYPE:MOBILE': null;
|
|
409
|
-
};
|
|
410
|
-
CB_EFFECT_PROP_HOVERANIM: {
|
|
411
|
-
CB_EFFECT_PROP_HOVERANIM_SPEC_DURATION: number;
|
|
412
|
-
'CB_EFFECT_PROP_HOVERANIM_SPEC_DURATION:MOBILE': null;
|
|
413
|
-
CB_EFFECT_PROP_HOVERANIM_SPEC_REPEAT: number;
|
|
414
|
-
'CB_EFFECT_PROP_HOVERANIM_SPEC_REPEAT:MOBILE': null;
|
|
415
|
-
CB_EFFECT_PROP_HOVERANIM_SPEC_TFUNC: string;
|
|
416
|
-
'CB_EFFECT_PROP_HOVERANIM_SPEC_TFUNC:MOBILE': null;
|
|
417
|
-
CB_EFFECT_PROP_HOVERANIM_SPEC_TYPE: string;
|
|
418
|
-
'CB_EFFECT_PROP_HOVERANIM_SPEC_TYPE:MOBILE': null;
|
|
419
|
-
};
|
|
420
|
-
CB_LAYOUT_PROP_PADDING: {
|
|
421
|
-
CB_LAYOUT_PROP_PADDING_SPEC_FIX: boolean;
|
|
422
|
-
'CB_LAYOUT_PROP_PADDING_SPEC_FIX:MOBILE': null;
|
|
423
|
-
CB_LAYOUT_PROP_PADDING_SPEC_PADDING: {
|
|
424
|
-
bottom: number;
|
|
425
|
-
left: number;
|
|
426
|
-
right: number;
|
|
427
|
-
top: number;
|
|
428
|
-
};
|
|
429
|
-
'CB_LAYOUT_PROP_PADDING_SPEC_PADDING:MOBILE': {
|
|
430
|
-
bottom: number;
|
|
431
|
-
left: number;
|
|
432
|
-
right: number;
|
|
433
|
-
top: number;
|
|
434
|
-
};
|
|
435
|
-
};
|
|
436
|
-
CB_PLACEMENT_PROP_PLACEMENT: {
|
|
437
|
-
CB_PLACEMENT_PROP_PLACEMENT_SPEC_COLS: number;
|
|
438
|
-
'CB_PLACEMENT_PROP_PLACEMENT_SPEC_COLS:MOBILE': number;
|
|
439
|
-
CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS: number;
|
|
440
|
-
'CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS:MOBILE': number;
|
|
441
|
-
CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTX: number;
|
|
442
|
-
'CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTX:MOBILE': number;
|
|
443
|
-
CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTY: number;
|
|
444
|
-
'CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTY:MOBILE': number;
|
|
445
|
-
CB_PLACEMENT_PROP_PLACEMENT_SPEC_ZINDEX: number;
|
|
446
|
-
'CB_PLACEMENT_PROP_PLACEMENT_SPEC_ZINDEX:MOBILE': number;
|
|
447
|
-
};
|
|
448
|
-
CB_STYLE_PROP_OPACITY: {
|
|
449
|
-
CB_STYLE_PROP_OPACITY_SPEC_OPACITY: number;
|
|
450
|
-
'CB_STYLE_PROP_OPACITY_SPEC_OPACITY:HOVER': null;
|
|
451
|
-
'CB_STYLE_PROP_OPACITY_SPEC_OPACITY:MOBILE': null;
|
|
452
|
-
'CB_STYLE_PROP_OPACITY_SPEC_OPACITY:MOBILE:HOVER': null;
|
|
453
|
-
};
|
|
454
|
-
CB_STYLE_PROP_TEXT: {
|
|
455
|
-
CB_STYLE_PROP_TEXT_SPEC_COLOR: string;
|
|
456
|
-
'CB_STYLE_PROP_TEXT_SPEC_COLOR:HOVER': null;
|
|
457
|
-
'CB_STYLE_PROP_TEXT_SPEC_COLOR:MOBILE': null;
|
|
458
|
-
'CB_STYLE_PROP_TEXT_SPEC_COLOR:MOBILE:HOVER': null;
|
|
459
|
-
CB_STYLE_PROP_TEXT_SPEC_HORIZONTAL: string;
|
|
460
|
-
'CB_STYLE_PROP_TEXT_SPEC_HORIZONTAL:HOVER': null;
|
|
461
|
-
'CB_STYLE_PROP_TEXT_SPEC_HORIZONTAL:MOBILE': null;
|
|
462
|
-
'CB_STYLE_PROP_TEXT_SPEC_HORIZONTAL:MOBILE:HOVER': null;
|
|
463
|
-
CB_STYLE_PROP_TEXT_SPEC_LETTERSPACING: number;
|
|
464
|
-
'CB_STYLE_PROP_TEXT_SPEC_LETTERSPACING:HOVER': null;
|
|
465
|
-
'CB_STYLE_PROP_TEXT_SPEC_LETTERSPACING:MOBILE': null;
|
|
466
|
-
'CB_STYLE_PROP_TEXT_SPEC_LETTERSPACING:MOBILE:HOVER': null;
|
|
467
|
-
CB_STYLE_PROP_TEXT_SPEC_LINEHEIGHT: number;
|
|
468
|
-
'CB_STYLE_PROP_TEXT_SPEC_LINEHEIGHT:HOVER': null;
|
|
469
|
-
'CB_STYLE_PROP_TEXT_SPEC_LINEHEIGHT:MOBILE': null;
|
|
470
|
-
'CB_STYLE_PROP_TEXT_SPEC_LINEHEIGHT:MOBILE:HOVER': null;
|
|
471
|
-
CB_STYLE_PROP_TEXT_SPEC_SIZE: number;
|
|
472
|
-
'CB_STYLE_PROP_TEXT_SPEC_SIZE:HOVER': null;
|
|
473
|
-
'CB_STYLE_PROP_TEXT_SPEC_SIZE:MOBILE': null;
|
|
474
|
-
'CB_STYLE_PROP_TEXT_SPEC_SIZE:MOBILE:HOVER': null;
|
|
475
|
-
CB_STYLE_PROP_TEXT_SPEC_TYPEFACE: string;
|
|
476
|
-
'CB_STYLE_PROP_TEXT_SPEC_TYPEFACE:HOVER': null;
|
|
477
|
-
'CB_STYLE_PROP_TEXT_SPEC_TYPEFACE:MOBILE': null;
|
|
478
|
-
'CB_STYLE_PROP_TEXT_SPEC_TYPEFACE:MOBILE:HOVER': null;
|
|
479
|
-
CB_STYLE_PROP_TEXT_SPEC_VERTICAL: string;
|
|
480
|
-
'CB_STYLE_PROP_TEXT_SPEC_VERTICAL:HOVER': null;
|
|
481
|
-
'CB_STYLE_PROP_TEXT_SPEC_VERTICAL:MOBILE': null;
|
|
482
|
-
'CB_STYLE_PROP_TEXT_SPEC_VERTICAL:MOBILE:HOVER': null;
|
|
483
|
-
CB_STYLE_PROP_TEXT_SPEC_WEIGHT: number;
|
|
484
|
-
'CB_STYLE_PROP_TEXT_SPEC_WEIGHT:HOVER': null;
|
|
485
|
-
'CB_STYLE_PROP_TEXT_SPEC_WEIGHT:MOBILE': null;
|
|
486
|
-
'CB_STYLE_PROP_TEXT_SPEC_WEIGHT:MOBILE:HOVER': null;
|
|
487
|
-
};
|
|
488
|
-
CB_CONTENT_PROP_IMAGE?: undefined;
|
|
489
|
-
CB_STYLE_PROP_BORDER?: undefined;
|
|
490
|
-
CB_STYLE_PROP_IMAGE?: undefined;
|
|
491
|
-
CB_STYLE_PROP_SHADOW?: undefined;
|
|
492
|
-
CB_STYLE_PROP_COLOR?: undefined;
|
|
493
|
-
};
|
|
494
|
-
minVersion: string;
|
|
495
|
-
version: string;
|
|
496
|
-
};
|
|
497
|
-
queryableDefinitionPreset: string;
|
|
498
|
-
queryableTapSrc: string;
|
|
499
|
-
updatedAt: string;
|
|
500
|
-
} | {
|
|
501
|
-
availablePlugins: never[];
|
|
502
|
-
blockId: string;
|
|
503
|
-
componentBlockCode: string;
|
|
504
|
-
componentBlockType: string;
|
|
505
|
-
dynamicLayoutSectionId: number;
|
|
506
|
-
id: number;
|
|
507
|
-
insertedAt: string;
|
|
508
|
-
jsonProperties: {
|
|
509
|
-
currentVersion: string;
|
|
510
|
-
data: {
|
|
511
|
-
CB_CONTENT_PROP_CLINK: {
|
|
512
|
-
CB_CONTENT_PROP_CLINK_SPEC_INTERNALSRC: string;
|
|
513
|
-
CB_CONTENT_PROP_CLINK_SPEC_NEWTAB: boolean;
|
|
514
|
-
CB_CONTENT_PROP_CLINK_SPEC_SRC: string;
|
|
515
|
-
CB_CONTENT_PROP_CLINK_SPEC_TYPE: string;
|
|
516
|
-
};
|
|
517
|
-
CB_CONTENT_PROP_HOVER: {
|
|
518
|
-
CB_CONTENT_PROP_HOVER_SPEC_MUSE: boolean;
|
|
519
|
-
};
|
|
520
|
-
CB_CONTENT_PROP_TEXT: {
|
|
521
|
-
CB_CONTENT_PROP_TEXT_SPEC_TEXT: string;
|
|
522
|
-
CB_CONTENT_PROP_TEXT_SPEC_PREFIX?: undefined;
|
|
523
|
-
CB_CONTENT_PROP_TEXT_SPEC_SUFFIX?: undefined;
|
|
524
391
|
};
|
|
525
392
|
CB_CONTENT_PROP_VISIBILITY: {
|
|
526
393
|
CB_CONTENT_PROP_VISIBILITY_SPEC_DESKTOP: boolean;
|
|
@@ -806,8 +673,6 @@ export declare const MOCK_COMPONENT_BLOCKS: ({
|
|
|
806
673
|
};
|
|
807
674
|
CB_CONTENT_PROP_TEXT: {
|
|
808
675
|
CB_CONTENT_PROP_TEXT_SPEC_TEXT: string;
|
|
809
|
-
CB_CONTENT_PROP_TEXT_SPEC_PREFIX?: undefined;
|
|
810
|
-
CB_CONTENT_PROP_TEXT_SPEC_SUFFIX?: undefined;
|
|
811
676
|
};
|
|
812
677
|
CB_CONTENT_PROP_VISIBILITY: {
|
|
813
678
|
CB_CONTENT_PROP_VISIBILITY_SPEC_DESKTOP: boolean;
|
|
@@ -1171,9 +1171,7 @@ exports.MOCK_COMPONENT_BLOCKS = [
|
|
|
1171
1171
|
CB_CONTENT_PROP_HOVER_SPEC_MUSE: true
|
|
1172
1172
|
},
|
|
1173
1173
|
CB_CONTENT_PROP_TEXT: {
|
|
1174
|
-
CB_CONTENT_PROP_TEXT_SPEC_TEXT: "Today's Book Highlight"
|
|
1175
|
-
CB_CONTENT_PROP_TEXT_SPEC_PREFIX: '[Prefix]',
|
|
1176
|
-
CB_CONTENT_PROP_TEXT_SPEC_SUFFIX: '[Suffix]'
|
|
1174
|
+
CB_CONTENT_PROP_TEXT_SPEC_TEXT: "Today's Book Highlight"
|
|
1177
1175
|
},
|
|
1178
1176
|
CB_CONTENT_PROP_VISIBILITY: {
|
|
1179
1177
|
CB_CONTENT_PROP_VISIBILITY_SPEC_DESKTOP: true,
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MOCK_SECTIONS = void 0;
|
|
4
|
+
require("./mock_componentBlocks");
|
|
4
5
|
var mock_contentsCarousel_1 = require("./mock_contentsCarousel");
|
|
5
6
|
var mock_contentsList_1 = require("./mock_contentsList");
|
|
6
7
|
var mock_slideBanner_1 = require("./mock_slideBanner");
|
|
8
|
+
require("./mock_video");
|
|
9
|
+
require("./types");
|
|
7
10
|
exports.MOCK_SECTIONS = [
|
|
8
11
|
{
|
|
9
12
|
administrativeTitle: 'Daily Pages',
|
|
@@ -60,7 +60,7 @@ var dynamicLayoutContext_1 = require("../../../DynamicLayout/dynamicLayoutContex
|
|
|
60
60
|
var gleStyles_1 = require("../../../DynamicLayout/gleStyles");
|
|
61
61
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
62
62
|
var components_1 = require("../../components");
|
|
63
|
-
var
|
|
63
|
+
var ComponentBlockMatcher_1 = __importDefault(require("./components/ComponentBlock/ComponentBlockMatcher"));
|
|
64
64
|
var S_HiddenCover_1 = require("./components/ComponentBlock/componentBlocks/components/S_HiddenCover");
|
|
65
65
|
var clsx_1 = require("./newUtils/clsx");
|
|
66
66
|
var group_2 = require("./newUtils/group");
|
|
@@ -1084,7 +1084,7 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
|
1084
1084
|
e.stopPropagation();
|
|
1085
1085
|
e.preventDefault();
|
|
1086
1086
|
onContextMenuCB(matchedCB.id, e);
|
|
1087
|
-
} }, { children: (0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(
|
|
1087
|
+
} }, { children: (0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(ComponentBlockMatcher_1.default, { cbProps: matchedCB, device: device, rowHeight: rowHeight, index: index }) }) })) }), each.i));
|
|
1088
1088
|
}) })) })) }))] })) }));
|
|
1089
1089
|
});
|
|
1090
1090
|
function isLayoutPlacementSame(current, prev) {
|
|
@@ -20,7 +20,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
22
22
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
23
|
-
var
|
|
23
|
+
var ComponentBlockMatcher_1 = __importDefault(require("./components/ComponentBlock/ComponentBlockMatcher"));
|
|
24
24
|
var types_1 = require("./types");
|
|
25
25
|
var gap = 10;
|
|
26
26
|
function FlexGridItem(_a) {
|
|
@@ -32,7 +32,7 @@ function FlexGridItem(_a) {
|
|
|
32
32
|
return ((0, jsx_runtime_1.jsx)(GridItem, __assign({ "data-cb-id": cb.id, style: __assign({ zIndex: zIndex, gridArea: gridArea }, (isRichText && {
|
|
33
33
|
minHeight: 0,
|
|
34
34
|
overflowY: 'scroll'
|
|
35
|
-
})) }, { children: (0, jsx_runtime_1.jsx)(
|
|
35
|
+
})) }, { children: (0, jsx_runtime_1.jsx)(ComponentBlockMatcher_1.default, { rowHeight: rowHeight, cbProps: cb, device: device, index: index }) })));
|
|
36
36
|
}
|
|
37
37
|
var GridItem = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n height: auto;\n word-break: break-word;\n"], ["\n height: auto;\n word-break: break-word;\n"])));
|
|
38
38
|
function getMaxHeight(props, device, rowHeight) {
|
|
@@ -19,7 +19,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
19
19
|
};
|
|
20
20
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
21
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
22
|
-
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
23
22
|
var react_1 = require("react");
|
|
24
23
|
var CustomSectionBackgroundMedia_1 = require("../../../../../../../DynamicLayout/components/Section/components/CustomSectionBackgroundMedia");
|
|
25
24
|
var createCompositions_1 = require("../../../../../../../DynamicLayout/CompositionRenderer/createCompositions");
|
|
@@ -137,13 +137,15 @@ var body2Regular = (0, styled_components_1.css)(templateObject_4 || (templateObj
|
|
|
137
137
|
var theme = _a.theme;
|
|
138
138
|
return theme.desktopLineHeight.body2;
|
|
139
139
|
});
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
140
|
+
var sysTextWhite = (0, styled_components_1.css)(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n color: ", ";\n"], ["\n color: ", ";\n"])), function (_a) {
|
|
141
|
+
var theme = _a.theme;
|
|
142
|
+
return theme.ui_cpnt_textlabel_sys_white;
|
|
143
|
+
});
|
|
144
|
+
var sysTextBlack = (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n color: ", ";\n"], ["\n color: ", ";\n"])), function (_a) {
|
|
145
|
+
var theme = _a.theme;
|
|
146
|
+
return theme.ui_cpnt_textlabel_sys_black;
|
|
147
|
+
});
|
|
148
|
+
var S_TextLabel = styled_components_1.default.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), function (_a) {
|
|
147
149
|
var styleTheme = _a.styleTheme;
|
|
148
150
|
return styleTheme &&
|
|
149
151
|
{
|
|
@@ -151,24 +153,24 @@ var S_TextLabel = styled_components_1.default.div(templateObject_5 || (templateO
|
|
|
151
153
|
body2Regular: body2Regular
|
|
152
154
|
}[styleTheme];
|
|
153
155
|
});
|
|
154
|
-
var verticalDivider = (0, styled_components_1.css)(
|
|
155
|
-
var horizontalDivider = (0, styled_components_1.css)(
|
|
156
|
-
var S_Divider = styled_components_1.default.div(
|
|
156
|
+
var verticalDivider = (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n height: 16px;\n width: 1px;\n"], ["\n height: 16px;\n width: 1px;\n"])));
|
|
157
|
+
var horizontalDivider = (0, styled_components_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n height: 1px;\n width: 100%;\n"], ["\n height: 1px;\n width: 100%;\n"])));
|
|
158
|
+
var S_Divider = styled_components_1.default.div(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n background-color: ", ";\n opacity: 0.6;\n ", ";\n"], ["\n background-color: ", ";\n opacity: 0.6;\n ", ";\n"])), function (_a) {
|
|
157
159
|
var color = _a.color;
|
|
158
160
|
return color;
|
|
159
161
|
}, function (_a) {
|
|
160
162
|
var type = _a.type;
|
|
161
163
|
return (type === 'VERTICAL' ? verticalDivider : horizontalDivider);
|
|
162
164
|
});
|
|
163
|
-
var S_Dot = styled_components_1.default.div(
|
|
165
|
+
var S_Dot = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n background-color: ", ";\n border-radius: 50%;\n cursor: pointer;\n height: 8px;\n width: 8px;\n"], ["\n background-color: ", ";\n border-radius: 50%;\n cursor: pointer;\n height: 8px;\n width: 8px;\n"])), function (_a) {
|
|
164
166
|
var color = _a.color;
|
|
165
167
|
return color;
|
|
166
168
|
});
|
|
167
|
-
var S_Bar = styled_components_1.default.div(
|
|
169
|
+
var S_Bar = styled_components_1.default.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n background-color: ", ";\n cursor: pointer;\n height: 2px;\n width: 40px;\n"], ["\n background-color: ", ";\n cursor: pointer;\n height: 2px;\n width: 40px;\n"])), function (_a) {
|
|
168
170
|
var color = _a.color;
|
|
169
171
|
return color;
|
|
170
172
|
});
|
|
171
|
-
var S_Pointer = styled_components_1.default.div(
|
|
173
|
+
var S_Pointer = styled_components_1.default.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n cursor: ", ";\n height: 16px;\n opacity: ", ";\n"], ["\n cursor: ", ";\n height: 16px;\n opacity: ", ";\n"])), function (_a) {
|
|
172
174
|
var disabled = _a.disabled;
|
|
173
175
|
return (disabled ? 'not-allowed' : 'pointer');
|
|
174
176
|
}, function (_a) {
|
|
@@ -176,4 +178,4 @@ var S_Pointer = styled_components_1.default.div(templateObject_11 || (templateOb
|
|
|
176
178
|
return (disabled ? 0.4 : 1);
|
|
177
179
|
});
|
|
178
180
|
exports.default = exports.CustomPagination;
|
|
179
|
-
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11;
|
|
181
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { CB_TEXT_PROPERTIES_TYPE, IndexForIntersection } from '../../../../util/types';
|
|
3
3
|
type Props = CB_TEXT_PROPERTIES_TYPE & IndexForIntersection;
|
|
4
|
-
|
|
5
|
-
export
|
|
4
|
+
declare function Text(props: Props): JSX.Element;
|
|
5
|
+
export default Text;
|
|
@@ -32,7 +32,7 @@ var textSpecFormatOptions_1 = require("./textSpecFormatOptions");
|
|
|
32
32
|
function Text(props) {
|
|
33
33
|
var _a = (0, react_1.useContext)(DynamicLayout_1.dynamicLayoutContext), device = _a.device, mode = _a.mode;
|
|
34
34
|
var queryContext = (0, compositionQueryContext_1.useCCBQueryPath)();
|
|
35
|
-
var index = props.index, _b = props.CB_CONTENT_PROP_CLINK, CB_CONTENT_PROP_CLINK_SPEC_SRC = _b.CB_CONTENT_PROP_CLINK_SPEC_SRC, CB_CONTENT_PROP_CLINK_SPEC_TYPE = _b.CB_CONTENT_PROP_CLINK_SPEC_TYPE, CB_CONTENT_PROP_CLINK_SPEC_NEWTAB = _b.CB_CONTENT_PROP_CLINK_SPEC_NEWTAB, CB_CONTENT_PROP_CLINK_SPEC_INTERNALSRC = _b.CB_CONTENT_PROP_CLINK_SPEC_INTERNALSRC, CB_CONTENT_PROP_CLINK_SPEC_VALUETYPE = _b.CB_CONTENT_PROP_CLINK_SPEC_VALUETYPE, CB_CONTENT_PROP_CLINK_SPEC_CONNECTDATA = _b.CB_CONTENT_PROP_CLINK_SPEC_CONNECTDATA, CB_EFFECT_PROP_ENTANIM = props.CB_EFFECT_PROP_ENTANIM, _c = props.CB_CONTENT_PROP_TEXT, CB_CONTENT_PROP_TEXT_SPEC_VALUETYPE = _c.CB_CONTENT_PROP_TEXT_SPEC_VALUETYPE, CB_CONTENT_PROP_TEXT_SPEC_CONNECTDATA = _c.CB_CONTENT_PROP_TEXT_SPEC_CONNECTDATA
|
|
35
|
+
var index = props.index, _b = props.CB_CONTENT_PROP_CLINK, CB_CONTENT_PROP_CLINK_SPEC_SRC = _b.CB_CONTENT_PROP_CLINK_SPEC_SRC, CB_CONTENT_PROP_CLINK_SPEC_TYPE = _b.CB_CONTENT_PROP_CLINK_SPEC_TYPE, CB_CONTENT_PROP_CLINK_SPEC_NEWTAB = _b.CB_CONTENT_PROP_CLINK_SPEC_NEWTAB, CB_CONTENT_PROP_CLINK_SPEC_INTERNALSRC = _b.CB_CONTENT_PROP_CLINK_SPEC_INTERNALSRC, CB_CONTENT_PROP_CLINK_SPEC_VALUETYPE = _b.CB_CONTENT_PROP_CLINK_SPEC_VALUETYPE, CB_CONTENT_PROP_CLINK_SPEC_CONNECTDATA = _b.CB_CONTENT_PROP_CLINK_SPEC_CONNECTDATA, CB_EFFECT_PROP_ENTANIM = props.CB_EFFECT_PROP_ENTANIM, _c = props.CB_CONTENT_PROP_TEXT, CB_CONTENT_PROP_TEXT_SPEC_VALUETYPE = _c.CB_CONTENT_PROP_TEXT_SPEC_VALUETYPE, CB_CONTENT_PROP_TEXT_SPEC_CONNECTDATA = _c.CB_CONTENT_PROP_TEXT_SPEC_CONNECTDATA;
|
|
36
36
|
var cLinkValue = function () {
|
|
37
37
|
if (CB_CONTENT_PROP_CLINK_SPEC_VALUETYPE === 'DATA' ||
|
|
38
38
|
CB_CONTENT_PROP_CLINK_SPEC_VALUETYPE === 'DELEGATEDDATA') {
|
|
@@ -115,27 +115,16 @@ function Text(props) {
|
|
|
115
115
|
}
|
|
116
116
|
return props.CB_CONTENT_PROP_TEXT.CB_CONTENT_PROP_TEXT_SPEC_TEXT;
|
|
117
117
|
};
|
|
118
|
-
var getTruncatedText = function (text) {
|
|
119
|
-
var maxLength = props.CB_STYLE_PROP_TEXT.CB_STYLE_PROP_TEXT_SPEC_ELLIPSIS;
|
|
120
|
-
if (!maxLength) {
|
|
121
|
-
return text;
|
|
122
|
-
}
|
|
123
|
-
if (text.length > maxLength) {
|
|
124
|
-
return "".concat(text.slice(0, maxLength), "...");
|
|
125
|
-
}
|
|
126
|
-
return text;
|
|
127
|
-
};
|
|
128
118
|
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [isEditModeAndHidden && (0, jsx_runtime_1.jsx)(S_HiddenCover_1.S_HiddenCover, {}), (0, jsx_runtime_1.jsx)(S_CB_AnimationObserverBox_1.S_CB_AnimationObserverBox, __assign({ style: {
|
|
129
119
|
height: '100%',
|
|
130
120
|
display: 'flex',
|
|
131
121
|
alignItems: textStyle.alignItems
|
|
132
|
-
}, ref: hasEffect ? cbRef : null, effectVisibleStyle: effectVisibleStyle }, { children: (0, jsx_runtime_1.
|
|
122
|
+
}, ref: hasEffect ? cbRef : null, effectVisibleStyle: effectVisibleStyle }, { children: (0, jsx_runtime_1.jsx)(S_CB_Box_1.S_CB_Box, __assign({ onMouseEnter: function (e) {
|
|
133
123
|
e.currentTarget.classList.add('hovered');
|
|
134
124
|
}, onMouseLeave: function (e) {
|
|
135
125
|
e.currentTarget.classList.remove('hovered');
|
|
136
|
-
}, className: "cb-layout-box cb-text", normalStyle: __assign(__assign(__assign(__assign(__assign({}, textStyle), propsStyle), layoutStyle), effectCssProperties), { whiteSpace: 'pre-wrap', wordBreak: 'break-word', cursor: CLINKCursor, height: 'fit-content', minWidth: "calc(2ch + ".concat(layoutStyle.paddingLeft, " + ").concat(layoutStyle.paddingRight, ")") }), hoverStyle: __assign(__assign(__assign({}, textHoverStyle), propsHoverStyle), { whiteSpace: 'pre-wrap', wordBreak: 'break-word' }), onClick: onClickCLINK }, { children:
|
|
126
|
+
}, className: "cb-layout-box cb-text", normalStyle: __assign(__assign(__assign(__assign(__assign({}, textStyle), propsStyle), layoutStyle), effectCssProperties), { whiteSpace: 'pre-wrap', wordBreak: 'break-word', cursor: CLINKCursor, height: 'fit-content', minWidth: "calc(2ch + ".concat(layoutStyle.paddingLeft, " + ").concat(layoutStyle.paddingRight, ")") }), hoverStyle: __assign(__assign(__assign({}, textHoverStyle), propsHoverStyle), { whiteSpace: 'pre-wrap', wordBreak: 'break-word' }), onClick: onClickCLINK }, { children: textValue() === 'ERROR' ? 'EDITOR:FALLBACK_TEXT' : textValue() })) }))] }));
|
|
137
127
|
}
|
|
138
|
-
exports.default = Text;
|
|
139
128
|
function getTextStyles(props, device) {
|
|
140
129
|
var availableSpecCodes = [
|
|
141
130
|
'CB_STYLE_PROP_TEXT_SPEC_TYPEFACE',
|
|
@@ -149,3 +138,4 @@ function getTextStyles(props, device) {
|
|
|
149
138
|
];
|
|
150
139
|
return (0, textUtil_1.parseStyleTextToCSSProp)({ availableSpecCodes: availableSpecCodes, props: props, device: device, propKey: 'TEXT' });
|
|
151
140
|
}
|
|
141
|
+
exports.default = Text;
|
|
@@ -37,15 +37,6 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
37
37
|
__setModuleDefault(result, mod);
|
|
38
38
|
return result;
|
|
39
39
|
};
|
|
40
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
41
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
42
|
-
if (ar || !(i in from)) {
|
|
43
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
44
|
-
ar[i] = from[i];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
48
|
-
};
|
|
49
40
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
41
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
42
|
};
|
|
@@ -58,8 +49,7 @@ var dynamicLayoutContext_1 = require("../../DynamicLayout/dynamicLayoutContext")
|
|
|
58
49
|
var styled_components_1 = __importDefault(require("styled-components"));
|
|
59
50
|
var components_1 = require("../components");
|
|
60
51
|
var gleStyles_1 = require("../gleStyles");
|
|
61
|
-
var
|
|
62
|
-
require("./CustomSection/FlexGridItem");
|
|
52
|
+
var FlexGridItem_1 = __importDefault(require("./CustomSection/FlexGridItem"));
|
|
63
53
|
var useResizableObserver_1 = require("./CustomSection/hooks/useResizableObserver");
|
|
64
54
|
var util_1 = require("./CustomSection/util");
|
|
65
55
|
var parseSectionPadding_1 = __importDefault(require("./CustomSection/util/layoutPropParsers/parseSectionPadding"));
|
|
@@ -69,12 +59,13 @@ var MOBILE_GRID_COLS = 8;
|
|
|
69
59
|
var GLE_MIN_WIDTH_DESKTOP_PX = "".concat(GRID_CELL_MIN * DESKTOP_GRID_COLS, "px");
|
|
70
60
|
var GLE_MIN_WIDTH_MOBILE_PX = "".concat(GRID_CELL_MIN * MOBILE_GRID_COLS, "px");
|
|
71
61
|
var FlexGridCustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
|
|
72
|
-
var _a
|
|
62
|
+
var _a;
|
|
63
|
+
var _b = (0, react_1.useContext)(dynamicLayoutContext_1.dynamicLayoutContext), device = _b.device, editingSectionId = _b.editingSectionId, mode = _b.mode, shortcutKeyMode = _b.shortcutKeyMode, sectionActionHandler = _b.sectionActionHandler;
|
|
73
64
|
var componentBlocks = props.componentBlocks, jsonProperties = props.jsonProperties;
|
|
74
|
-
var
|
|
65
|
+
var _c = jsonProperties, _d = _c.data, CB_PLACEMENT_PROP_SECTION = _d.CB_PLACEMENT_PROP_SECTION, CB_LAYOUT_PROP_PADDING = _d.CB_LAYOUT_PROP_PADDING, zOrders = _c.zOrders;
|
|
75
66
|
var containerRef = (0, react_1.useRef)(null);
|
|
76
67
|
var size = (0, useResizableObserver_1.useResizeObserver)({ ref: containerRef, box: 'border-box' });
|
|
77
|
-
var
|
|
68
|
+
var _e = (0, react_1.useState)(null), selectedCB = _e[0], setSelectedCB = _e[1];
|
|
78
69
|
var gleRef = (0, react_1.useRef)(null);
|
|
79
70
|
var isMobile = device === 'MOBILE';
|
|
80
71
|
var isEditMode = mode === 'EDIT';
|
|
@@ -133,10 +124,10 @@ var FlexGridCustomSection = (0, react_1.forwardRef)(function CustomSection(props
|
|
|
133
124
|
setSelectedCB('BULK');
|
|
134
125
|
}
|
|
135
126
|
}, [selectedCB, shortcutKeyMode, sectionActionHandler, setSelectedCB]);
|
|
136
|
-
var
|
|
127
|
+
var _f = (0, util_1.parseCustomSectionPlacement)({
|
|
137
128
|
isMobile: isMobile,
|
|
138
129
|
customSectionProps: CB_PLACEMENT_PROP_SECTION
|
|
139
|
-
}), width =
|
|
130
|
+
}), width = _f.width, minHeight = _f.minHeight, isFullWidth = _f.isFullWidth;
|
|
140
131
|
var customSectionStyles = {
|
|
141
132
|
minHeight: "".concat(minHeight, "vh"),
|
|
142
133
|
width: '100%',
|
|
@@ -194,18 +185,6 @@ var FlexGridCustomSection = (0, react_1.forwardRef)(function CustomSection(props
|
|
|
194
185
|
}
|
|
195
186
|
return 16;
|
|
196
187
|
})();
|
|
197
|
-
var pedigree = jsonProperties === null || jsonProperties === void 0 ? void 0 : jsonProperties.pedigree;
|
|
198
|
-
var layouts = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : [], zOrders);
|
|
199
|
-
var _f = (0, react_1.useState)([]), selectedRows = _f[0], setSelectedRows = _f[1];
|
|
200
|
-
var _g = (0, react_1.useState)([]), pinnedGBs = _g[0], setPinnedGBs = _g[1];
|
|
201
|
-
var onToggleGBPinned = function (gbId) {
|
|
202
|
-
setPinnedGBs(function (prev) {
|
|
203
|
-
if (prev.includes(gbId)) {
|
|
204
|
-
return prev.filter(function (id) { return id !== gbId; });
|
|
205
|
-
}
|
|
206
|
-
return __spreadArray(__spreadArray([], prev, true), [gbId], false);
|
|
207
|
-
});
|
|
208
|
-
};
|
|
209
188
|
return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(gleStyles_1.S_gleStyles, { children: (0, jsx_runtime_1.jsx)(S_SectionWrapper, __assign({ ref: gleRef, "x-dlayout-section-type": "NO_NAME", onClick: onClickSection }, { children: (0, jsx_runtime_1.jsx)(components_1.CustomSection, __assign({}, props, { isMobile: isMobile, overrideStyles: {
|
|
210
189
|
minHeight: customSectionStyles.minHeight,
|
|
211
190
|
paddingTop: padding.top,
|
|
@@ -217,7 +196,10 @@ var FlexGridCustomSection = (0, react_1.forwardRef)(function CustomSection(props
|
|
|
217
196
|
maxWidth: customSectionStyles.maxWidth,
|
|
218
197
|
minWidth: isMobile ? GLE_MIN_WIDTH_MOBILE_PX : GLE_MIN_WIDTH_DESKTOP_PX,
|
|
219
198
|
fontSize: "".concat(baseFontSize, "px")
|
|
220
|
-
} }, { children:
|
|
199
|
+
} }, { children: (_a = props.componentBlocks) === null || _a === void 0 ? void 0 : _a.map(function (cb, index) {
|
|
200
|
+
var _a;
|
|
201
|
+
return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(FlexGridItem_1.default, { cb: cb, index: index, device: device, rowHeight: rowHeight, zIndex: (_a = zOrders === null || zOrders === void 0 ? void 0 : zOrders[device === 'DESKTOP' ? 'desktop' : 'mobile'][cb.id]) !== null && _a !== void 0 ? _a : 0 }) }, cb.id));
|
|
202
|
+
}) })) })) })) }) }));
|
|
221
203
|
});
|
|
222
204
|
var GridContainer = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: grid; /* Space between grid items */\n gap: 10px;\n grid-auto-rows: minmax(", ", auto);\n grid-template-columns: repeat(", ", 1fr);\n grid-template-rows: repeat(\n ", ",\n minmax(", ", auto)\n );\n padding: 10px 10px;\n\n * {\n box-sizing: border-box;\n }\n"], ["\n display: grid; /* Space between grid items */\n gap: 10px;\n grid-auto-rows: minmax(", ", auto);\n grid-template-columns: repeat(", ", 1fr);\n grid-template-rows: repeat(\n ", ",\n minmax(", ", auto)\n );\n padding: 10px 10px;\n\n * {\n box-sizing: border-box;\n }\n"])), function (props) { return "".concat(props.rowHeight, "px"); }, function (props) { return props.cols; }, function (props) { return props.sectionRow; }, function (props) { return "".concat(props.rowHeight, "px"); });
|
|
223
205
|
var S_SectionWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
|
package/package.json
CHANGED
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { ComponentBlock } from '../sections/CustomSection/types';
|
|
3
|
-
import type { Device } from '../sections/CustomSection/util/types';
|
|
4
|
-
type Props = {
|
|
5
|
-
cb: ComponentBlock;
|
|
6
|
-
index: number;
|
|
7
|
-
device: Device;
|
|
8
|
-
rowHeight: number;
|
|
9
|
-
zIndex: number;
|
|
10
|
-
showPinned?: boolean;
|
|
11
|
-
style?: React.CSSProperties;
|
|
12
|
-
};
|
|
13
|
-
declare function FlexGridItem({ cb, index, device, rowHeight, zIndex, showPinned, style }: Props): JSX.Element;
|
|
14
|
-
export default FlexGridItem;
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
-
return cooked;
|
|
5
|
-
};
|
|
6
|
-
var __assign = (this && this.__assign) || function () {
|
|
7
|
-
__assign = Object.assign || function(t) {
|
|
8
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
-
s = arguments[i];
|
|
10
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
-
t[p] = s[p];
|
|
12
|
-
}
|
|
13
|
-
return t;
|
|
14
|
-
};
|
|
15
|
-
return __assign.apply(this, arguments);
|
|
16
|
-
};
|
|
17
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
18
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
19
|
-
};
|
|
20
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
21
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
22
|
-
var react_1 = require("react");
|
|
23
|
-
var styled_components_1 = __importDefault(require("styled-components"));
|
|
24
|
-
var ComponentBlockMatcher_1 = __importDefault(require("./ComponentBlockMatcher"));
|
|
25
|
-
var gap = 10;
|
|
26
|
-
function FlexGridItem(_a) {
|
|
27
|
-
var cb = _a.cb, index = _a.index, device = _a.device, rowHeight = _a.rowHeight, zIndex = _a.zIndex, showPinned = _a.showPinned, style = _a.style;
|
|
28
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
29
|
-
var defaultHeight = getMaxHeight(cb.jsonProperties.data.CB_PLACEMENT_PROP_PLACEMENT, device, rowHeight);
|
|
30
|
-
var gridArea = getGridAreaFromCB(cb.jsonProperties.data.CB_PLACEMENT_PROP_PLACEMENT, device);
|
|
31
|
-
var _b = (0, react_1.useState)(false), isPinned = _b[0], setIsPinned = _b[1];
|
|
32
|
-
return ((0, jsx_runtime_1.jsxs)(GridItem, __assign({ style: __assign({ zIndex: zIndex, gridArea: gridArea, position: 'relative', maxHeight: isPinned ? defaultHeight : 'none' }, style) }, { children: [showPinned && ((0, jsx_runtime_1.jsx)(S_Pinned, { children: isPinned ? ((0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: function () { return setIsPinned(false); } }, { children: "H\uACE0\uC815\uB428 \uD83D\uDCCC" }))) : ((0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: function () { return setIsPinned(true); } }, { children: "H\uB298\uC5B4\uB0A8 \uD83E\uDEB1" }))) })), (0, jsx_runtime_1.jsx)(ComponentBlockMatcher_1.default, { rowHeight: rowHeight, cbProps: cb, device: device, index: index })] })));
|
|
33
|
-
}
|
|
34
|
-
var S_Pinned = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n pointer-events: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 9999999;\n"], ["\n pointer-events: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 9999999;\n"])));
|
|
35
|
-
var GridItem = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n height: auto;\n word-break: break-word;\n"], ["\n height: auto;\n word-break: break-word;\n"])));
|
|
36
|
-
function getMaxHeight(props, device, rowHeight) {
|
|
37
|
-
if (device === 'DESKTOP') {
|
|
38
|
-
var CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS = props.CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS;
|
|
39
|
-
var height_1 = CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS * rowHeight +
|
|
40
|
-
(CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS - 1) * gap;
|
|
41
|
-
return height_1;
|
|
42
|
-
}
|
|
43
|
-
var rowsMobile = props['CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS:MOBILE'];
|
|
44
|
-
var height = rowsMobile * rowHeight + (rowsMobile - 1) * gap;
|
|
45
|
-
return height;
|
|
46
|
-
}
|
|
47
|
-
function getGridAreaFromCB(props, device) {
|
|
48
|
-
var CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTX = props.CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTX, CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTY = props.CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTY, cols = props.CB_PLACEMENT_PROP_PLACEMENT_SPEC_COLS, rows = props.CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS;
|
|
49
|
-
if (device === 'DESKTOP') {
|
|
50
|
-
var colStart_1 = CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTX + 1;
|
|
51
|
-
var rowStart_1 = CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTY + 1;
|
|
52
|
-
var rowEnd_1 = rows + rowStart_1;
|
|
53
|
-
var colEnd_1 = cols + colStart_1;
|
|
54
|
-
// <grid-row-start> / <grid-column-start> / <grid-row-end> / <grid-column-end>;
|
|
55
|
-
return "".concat(rowStart_1, " / ").concat(colStart_1, " / ").concat(rowEnd_1, " / ").concat(colEnd_1);
|
|
56
|
-
}
|
|
57
|
-
var startXMobile = props['CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTX:MOBILE'];
|
|
58
|
-
var startYMobile = props['CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTY:MOBILE'];
|
|
59
|
-
var colsMobile = props['CB_PLACEMENT_PROP_PLACEMENT_SPEC_COLS:MOBILE'];
|
|
60
|
-
var rowsMobile = props['CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS:MOBILE'];
|
|
61
|
-
var colStart = startXMobile + 1;
|
|
62
|
-
var rowStart = startYMobile + 1;
|
|
63
|
-
var rowEnd = rowsMobile + rowStart;
|
|
64
|
-
var colEnd = colsMobile + colStart;
|
|
65
|
-
return "".concat(rowStart, " / ").concat(colStart, " / ").concat(rowEnd, " / ").concat(colEnd);
|
|
66
|
-
}
|
|
67
|
-
exports.default = FlexGridItem;
|
|
68
|
-
var templateObject_1, templateObject_2;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
/// <reference types="react" />
|
|
2
|
-
import type { ComponentBlock } from '../sections/CustomSection/types';
|
|
3
|
-
import type { Device } from '../sections/CustomSection/util/types';
|
|
4
|
-
import type { LayoutItem } from 'publ-echo/dist/lib';
|
|
5
|
-
import type { Block } from 'publ-echo/dist/lib/GridLayoutEditor/group';
|
|
6
|
-
export declare function findAllChildrenCbIds(block: Block, targetGroupId: string): number[];
|
|
7
|
-
export default function RenderPedigreeRecursively({ isEditMode, block, layoutItems, cbs, parentGroupArea, rowHeight, device, selectedRows, pinnedGBs, isParentGroupPinned, onToggleGBPinned }: {
|
|
8
|
-
isEditMode: boolean;
|
|
9
|
-
block: Block;
|
|
10
|
-
layoutItems: LayoutItem[];
|
|
11
|
-
cbs: ComponentBlock[];
|
|
12
|
-
rowHeight: number;
|
|
13
|
-
device: Device;
|
|
14
|
-
selectedRows: number[];
|
|
15
|
-
pinnedGBs: string[];
|
|
16
|
-
onToggleGBPinned: (gbId: string) => void;
|
|
17
|
-
isParentGroupPinned?: boolean;
|
|
18
|
-
parentGroupArea?: {
|
|
19
|
-
rowStart: number;
|
|
20
|
-
colStart: number;
|
|
21
|
-
rowEnd: number;
|
|
22
|
-
colEnd: number;
|
|
23
|
-
};
|
|
24
|
-
}): JSX.Element;
|
|
@@ -1,224 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
3
|
-
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
4
|
-
return cooked;
|
|
5
|
-
};
|
|
6
|
-
var __assign = (this && this.__assign) || function () {
|
|
7
|
-
__assign = Object.assign || function(t) {
|
|
8
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
-
s = arguments[i];
|
|
10
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
11
|
-
t[p] = s[p];
|
|
12
|
-
}
|
|
13
|
-
return t;
|
|
14
|
-
};
|
|
15
|
-
return __assign.apply(this, arguments);
|
|
16
|
-
};
|
|
17
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
18
|
-
if (k2 === undefined) k2 = k;
|
|
19
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
20
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
21
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
22
|
-
}
|
|
23
|
-
Object.defineProperty(o, k2, desc);
|
|
24
|
-
}) : (function(o, m, k, k2) {
|
|
25
|
-
if (k2 === undefined) k2 = k;
|
|
26
|
-
o[k2] = m[k];
|
|
27
|
-
}));
|
|
28
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
29
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
30
|
-
}) : function(o, v) {
|
|
31
|
-
o["default"] = v;
|
|
32
|
-
});
|
|
33
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
34
|
-
if (mod && mod.__esModule) return mod;
|
|
35
|
-
var result = {};
|
|
36
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
37
|
-
__setModuleDefault(result, mod);
|
|
38
|
-
return result;
|
|
39
|
-
};
|
|
40
|
-
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
41
|
-
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
42
|
-
if (ar || !(i in from)) {
|
|
43
|
-
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
44
|
-
ar[i] = from[i];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
return to.concat(ar || Array.prototype.slice.call(from));
|
|
48
|
-
};
|
|
49
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
|
-
};
|
|
52
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
-
exports.findAllChildrenCbIds = void 0;
|
|
54
|
-
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
55
|
-
var renderHelpers_1 = require("publ-echo-test/dist/lib/GridLayoutEditor/utils/renderHelpers");
|
|
56
|
-
var styled_components_1 = __importDefault(require("styled-components"));
|
|
57
|
-
var ErrorBoundary_1 = require("../components/Section/ErrorBoundary");
|
|
58
|
-
var FlexGridItem_1 = __importStar(require("../CompositionRenderer/FlexGridItem"));
|
|
59
|
-
function findAllChildrenCbIds(block, targetGroupId) {
|
|
60
|
-
// 현재 블록이 target group이면, 모든 하위 컴포넌트 블록 ID를 수집
|
|
61
|
-
if (block.blockId === targetGroupId) {
|
|
62
|
-
if (block.type === 'COMPONENT_BLOCK') {
|
|
63
|
-
return [block.componentBlockId];
|
|
64
|
-
}
|
|
65
|
-
// GROUP_BLOCK인 경우 모든 자식들의 ID를 재귀적으로 수집
|
|
66
|
-
return block.children.reduce(function (acc, child) {
|
|
67
|
-
return __spreadArray(__spreadArray([], acc, true), findAllChildrenCbIds(child, child.blockId), true);
|
|
68
|
-
}, []);
|
|
69
|
-
}
|
|
70
|
-
// 현재 블록이 target group이 아니고 COMPONENT_BLOCK이면 빈 배열 반환
|
|
71
|
-
if (block.type === 'COMPONENT_BLOCK') {
|
|
72
|
-
return [];
|
|
73
|
-
}
|
|
74
|
-
// GROUP_BLOCK이면 자식들에 대해 재귀적으로 탐색
|
|
75
|
-
return block.children.reduce(function (acc, child) {
|
|
76
|
-
return __spreadArray(__spreadArray([], acc, true), findAllChildrenCbIds(child, targetGroupId), true);
|
|
77
|
-
}, []);
|
|
78
|
-
}
|
|
79
|
-
exports.findAllChildrenCbIds = findAllChildrenCbIds;
|
|
80
|
-
function RenderPedigreeRecursively(_a) {
|
|
81
|
-
var isEditMode = _a.isEditMode, block = _a.block, layoutItems = _a.layoutItems, cbs = _a.cbs, parentGroupArea = _a.parentGroupArea, rowHeight = _a.rowHeight, device = _a.device, selectedRows = _a.selectedRows, pinnedGBs = _a.pinnedGBs, _b = _a.isParentGroupPinned, isParentGroupPinned = _b === void 0 ? false : _b, onToggleGBPinned = _a.onToggleGBPinned;
|
|
82
|
-
var type = block.type;
|
|
83
|
-
if (type === 'GROUP_BLOCK') {
|
|
84
|
-
var childrenIds = findAllChildrenCbIds(block, block.blockId).map(function (i) { return i.toString(); });
|
|
85
|
-
var bounding_1 = (0, renderHelpers_1.getBoundingArea)(layoutItems, childrenIds);
|
|
86
|
-
if (!bounding_1) {
|
|
87
|
-
return (0, jsx_runtime_1.jsx)("div", { children: "GROUP: NO BOUNDING AREA" });
|
|
88
|
-
}
|
|
89
|
-
var gridArea_1 = getGridAreaFromGroup({
|
|
90
|
-
x: bounding_1.x,
|
|
91
|
-
y: bounding_1.y,
|
|
92
|
-
cols: bounding_1.w,
|
|
93
|
-
rows: bounding_1.h
|
|
94
|
-
});
|
|
95
|
-
var relativeGridArea_1 = parentGroupArea
|
|
96
|
-
? calculateRelativeGridArea(gridArea_1, parentGroupArea)
|
|
97
|
-
: gridArea_1;
|
|
98
|
-
// 그룹의 시작 행을 기준으로 상대적인 selectedRows 계산
|
|
99
|
-
var relativeSelectedRows_1 = selectedRows
|
|
100
|
-
.map(function (row) { return row - gridArea_1.rowStart + 1; })
|
|
101
|
-
.filter(function (row) { return row >= 0 && row <= bounding_1.h; });
|
|
102
|
-
var isGBPinned_1 = pinnedGBs.includes(block.blockId);
|
|
103
|
-
var defaultHeight = getMaxHeight({ cols: bounding_1.w, rows: bounding_1.h, x: bounding_1.x, y: bounding_1.y }, rowHeight);
|
|
104
|
-
return ((0, jsx_runtime_1.jsxs)(S_GroupItem, __assign({ cols: bounding_1.w, sectionRow: bounding_1.h, isEditMode: isEditMode, rowHeight: rowHeight, selectedRows: relativeSelectedRows_1, style: {
|
|
105
|
-
gridArea: gridAreaObjToString(relativeGridArea_1),
|
|
106
|
-
display: 'grid',
|
|
107
|
-
zIndex: device === 'DESKTOP'
|
|
108
|
-
? block.zOrderDesktopInternal
|
|
109
|
-
: block.zOrderMobileInternal,
|
|
110
|
-
maxHeight: isGBPinned_1 ? defaultHeight : 'none'
|
|
111
|
-
} }, { children: [isEditMode && ((0, jsx_runtime_1.jsx)(S_Pinned, { children: isGBPinned_1 ? ((0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: function () { return onToggleGBPinned(block.blockId); } }, { children: "H\uACE0\uC815\uB428 \uD83D\uDCCC" }))) : ((0, jsx_runtime_1.jsx)("button", __assign({ type: "button", onClick: function () { return onToggleGBPinned(block.blockId); } }, { children: "H\uB298\uC5B4\uB0A8 \uD83E\uDEB1" }))) })), block.children.map(function (child) { return ((0, jsx_runtime_1.jsx)(RenderPedigreeRecursively, { rowHeight: rowHeight, block: child, layoutItems: layoutItems, cbs: cbs, parentGroupArea: gridArea_1, device: device, selectedRows: relativeSelectedRows_1, pinnedGBs: pinnedGBs, onToggleGBPinned: onToggleGBPinned, isEditMode: isEditMode, isParentGroupPinned: isGBPinned_1 }, child.blockId)); })] })));
|
|
112
|
-
}
|
|
113
|
-
// default: TYPE === 'COMPONENT_BLOCK'
|
|
114
|
-
var cbIndex = cbs.findIndex(function (c) { return c.blockId === block.blockId; });
|
|
115
|
-
var cb = cbs[cbIndex];
|
|
116
|
-
if (!cb) {
|
|
117
|
-
return (0, jsx_runtime_1.jsxs)("div", { children: ["NO CB FOUND FOR ", block.blockId] });
|
|
118
|
-
}
|
|
119
|
-
var originalGridAreaString = (0, FlexGridItem_1.getGridAreaFromCB)(cb.jsonProperties.data.CB_PLACEMENT_PROP_PLACEMENT, device);
|
|
120
|
-
var originalGridArea = parseGridArea(originalGridAreaString);
|
|
121
|
-
// 부모 그룹이 있는 경우, 상대적 위치 계산
|
|
122
|
-
var relativeGridArea = parentGroupArea
|
|
123
|
-
? calculateRelativeGridArea(originalGridArea, parentGroupArea)
|
|
124
|
-
: originalGridArea;
|
|
125
|
-
return (
|
|
126
|
-
// <S_GridItem
|
|
127
|
-
// style={{
|
|
128
|
-
// gridArea: gridAreaObjToString(relativeGridArea)
|
|
129
|
-
// }}
|
|
130
|
-
// data-og-grid-area={originalGridAreaString}
|
|
131
|
-
// data-rel-grid-area={gridAreaObjToString(relativeGridArea)}
|
|
132
|
-
// >
|
|
133
|
-
(0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(FlexGridItem_1.default, { cb: cb, index: cbIndex, device: device, rowHeight: rowHeight, zIndex: device === 'DESKTOP'
|
|
134
|
-
? block.zOrderDesktopInternal
|
|
135
|
-
: block.zOrderMobileInternal, style: {
|
|
136
|
-
gridArea: gridAreaObjToString(relativeGridArea),
|
|
137
|
-
pointerEvents: isEditMode ? 'none' : 'auto',
|
|
138
|
-
boxShadow: isEditMode ? '0 0 0 2px red' : ''
|
|
139
|
-
}, showPinned: isEditMode && !parentGroupArea, isParentGroupPinned: isParentGroupPinned }) }, cb.id)
|
|
140
|
-
// </S_GridItem>
|
|
141
|
-
);
|
|
142
|
-
}
|
|
143
|
-
exports.default = RenderPedigreeRecursively;
|
|
144
|
-
var S_Pinned = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n pointer-events: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 9999999;\n"], ["\n pointer-events: auto;\n position: absolute;\n right: 0;\n top: 0;\n z-index: 9999999;\n"])));
|
|
145
|
-
function clamp(num, min, max) {
|
|
146
|
-
return Math.max(Math.min(num, max), min);
|
|
147
|
-
}
|
|
148
|
-
function gridAreaObjToString(area) {
|
|
149
|
-
var rowStart = area.rowStart, colStart = area.colStart, rowEnd = area.rowEnd, colEnd = area.colEnd;
|
|
150
|
-
return "".concat(rowStart, " / ").concat(colStart, " / ").concat(rowEnd, " / ").concat(colEnd);
|
|
151
|
-
}
|
|
152
|
-
function getGridAreaFromGroup(position) {
|
|
153
|
-
var x = position.x, y = position.y, cols = position.cols, rows = position.rows;
|
|
154
|
-
var colStart = clamp(x + 1, 1, Math.max(1, 25 - cols));
|
|
155
|
-
var rowStart = clamp(y + 1, 1, Infinity);
|
|
156
|
-
var rowEnd = clamp(rows + rowStart, rowStart + 1, Infinity);
|
|
157
|
-
var colEnd = clamp(colStart + cols, colStart + 1, 25);
|
|
158
|
-
return {
|
|
159
|
-
rowStart: rowStart,
|
|
160
|
-
colStart: colStart,
|
|
161
|
-
rowEnd: rowEnd,
|
|
162
|
-
colEnd: colEnd
|
|
163
|
-
};
|
|
164
|
-
// const startXMobile = props['CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTX:MOBILE'];
|
|
165
|
-
// const startYMobile = props['CB_PLACEMENT_PROP_PLACEMENT_SPEC_STARTY:MOBILE'];
|
|
166
|
-
// const colsMobile = props['CB_PLACEMENT_PROP_PLACEMENT_SPEC_COLS:MOBILE'];
|
|
167
|
-
// const rowsMobile = props['CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS:MOBILE'];
|
|
168
|
-
// const colStart = clamp(startXMobile + 1, 1, Math.max(1, 9 - colsMobile));
|
|
169
|
-
// const rowStart = clamp(startYMobile + 1, 1, Infinity);
|
|
170
|
-
// const rowEnd = clamp(rowsMobile + rowStart, rowStart + 1, Infinity);
|
|
171
|
-
// const colEnd = clamp(colStart + colsMobile, colStart + 1, 9);
|
|
172
|
-
// return `${rowStart} / ${colStart} / ${rowEnd} / ${colEnd}`;
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* grid-area 문자열을 파싱하여 객체로 변환합니다.
|
|
176
|
-
* 예: "1 / 2 / 3 / 4" => { rowStart: 1, colStart: 2, rowEnd: 3, colEnd: 4 }
|
|
177
|
-
*/
|
|
178
|
-
function parseGridArea(gridArea) {
|
|
179
|
-
var _a = gridArea
|
|
180
|
-
.split('/')
|
|
181
|
-
.map(function (str) { return parseInt(str.trim(), 10); }), rowStart = _a[0], colStart = _a[1], rowEnd = _a[2], colEnd = _a[3];
|
|
182
|
-
return { rowStart: rowStart, colStart: colStart, rowEnd: rowEnd, colEnd: colEnd };
|
|
183
|
-
}
|
|
184
|
-
/**
|
|
185
|
-
* 부모 그룹 영역을 기준으로 컴포넌트의 상대적 위치를 계산합니다.
|
|
186
|
-
* 예: 부모가 row 21에서 시작하고 컴포넌트가 row 21에 있다면, 상대적으로는 row 1에 위치하게 됩니다.
|
|
187
|
-
*/
|
|
188
|
-
function calculateRelativeGridArea(componentArea, parentArea) {
|
|
189
|
-
return {
|
|
190
|
-
// 컴포넌트의 시작 위치에서 부모의 시작 위치를 빼서 상대적 위치 계산
|
|
191
|
-
rowStart: componentArea.rowStart - parentArea.rowStart + 1,
|
|
192
|
-
colStart: componentArea.colStart - parentArea.colStart + 1,
|
|
193
|
-
// 상대적 끝 위치도 같은 방식으로 계산
|
|
194
|
-
rowEnd: componentArea.rowEnd - parentArea.rowStart + 1,
|
|
195
|
-
colEnd: componentArea.colEnd - parentArea.colStart + 1
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
function getMaxHeight(props, rowHeight) {
|
|
199
|
-
var gap = 10;
|
|
200
|
-
var rows = props.rows;
|
|
201
|
-
var height = rows * rowHeight + (rows - 1) * gap;
|
|
202
|
-
return height;
|
|
203
|
-
// if (device === 'DESKTOP') {
|
|
204
|
-
// const { rows } = props;
|
|
205
|
-
// const height = rows * rowHeight + (rows - 1) * gap;
|
|
206
|
-
// return height;
|
|
207
|
-
// }
|
|
208
|
-
// const rowsMobile = props['CB_PLACEMENT_PROP_PLACEMENT_SPEC_ROWS:MOBILE'];
|
|
209
|
-
// const height = rowsMobile * rowHeight + (rowsMobile - 1) * gap;
|
|
210
|
-
// return height;
|
|
211
|
-
}
|
|
212
|
-
var S_GroupItem = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n box-shadow: ", ";\n gap: 10px;\n grid-template-columns: repeat(", ", 1fr);\n grid-template-rows: ", ";\n pointer-events: none;\n position: relative; /* \uBC30\uC5F4\uC744 \uACF5\uBC31\uC73C\uB85C \uAD6C\uBD84\uB41C \uBB38\uC790\uC5F4\uB85C \uD569\uCE69\uB2C8\uB2E4. */\n"], ["\n box-shadow: ", ";\n gap: 10px;\n grid-template-columns: repeat(", ", 1fr);\n grid-template-rows: ", ";\n pointer-events: none;\n position: relative; /* \uBC30\uC5F4\uC744 \uACF5\uBC31\uC73C\uB85C \uAD6C\uBD84\uB41C \uBB38\uC790\uC5F4\uB85C \uD569\uCE69\uB2C8\uB2E4. */\n"])), function (props) { return (props.isEditMode ? '0 0 0 2px blue' : 'none'); }, function (props) { return props.cols; }, function (props) {
|
|
213
|
-
// // 전체 행 개수만큼 배열을 생성하여 각 행의 CSS 값을 정의합니다.
|
|
214
|
-
return Array.from({ length: props.sectionRow })
|
|
215
|
-
.map(function (_, index) {
|
|
216
|
-
// props로 받은 selectedRows 배열에 현재 행(index)이 포함되어 있는지 확인합니다.
|
|
217
|
-
return props.selectedRows.includes(index)
|
|
218
|
-
? "minmax(".concat(props.rowHeight, "px, auto)") // 포함되어 있다면 minmax 사용
|
|
219
|
-
: "".concat(props.rowHeight, "px");
|
|
220
|
-
} // 포함되어 있지 않다면 고정 높이 사용
|
|
221
|
-
)
|
|
222
|
-
.join(' ');
|
|
223
|
-
});
|
|
224
|
-
var templateObject_1, templateObject_2;
|
|
File without changes
|