pds-dev-kit-web 2.2.137 → 2.2.138

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/src/desktop/components/BasicButtonGroup/BasicButtonGroup.js +1 -1
  2. package/dist/src/sub/DynamicLayout/CompositionRenderer/ComponentBlockMatcher.d.ts +11 -0
  3. package/dist/src/sub/DynamicLayout/CompositionRenderer/ComponentBlockMatcher.js +56 -0
  4. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.d.ts +9 -0
  5. package/dist/src/sub/DynamicLayout/CompositionRenderer/Composition.js +217 -0
  6. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.d.ts +6 -0
  7. package/dist/src/sub/DynamicLayout/CompositionRenderer/CompositionRenderer.js +27 -0
  8. package/dist/src/sub/DynamicLayout/CompositionRenderer/FlexGridItem.d.ts +12 -0
  9. package/dist/src/sub/DynamicLayout/CompositionRenderer/FlexGridItem.js +75 -0
  10. package/dist/src/sub/DynamicLayout/components/EditModeSectionMatcher/EditModeSectionMatcher.js +3 -0
  11. package/dist/src/sub/DynamicLayout/components/Section/ErrorBoundary/ErrorBoundary.js +12 -1
  12. package/dist/src/sub/DynamicLayout/components/SectionMatcher/SectionMatcher.js +5 -3
  13. package/dist/src/sub/DynamicLayout/gleStyles.d.ts +3 -0
  14. package/dist/src/sub/DynamicLayout/gleStyles.js +19 -0
  15. package/dist/src/sub/DynamicLayout/hooks/useCustomSectionShortcut/useCustomSectionShortcut.d.ts +1 -1
  16. package/dist/src/sub/DynamicLayout/hooks/useCustomSectionShortcut/useCustomSectionShortcut.js +6 -1
  17. package/dist/src/sub/DynamicLayout/mock_samplePage.js +132 -132
  18. package/dist/src/sub/DynamicLayout/mocks.d.ts +1111 -0
  19. package/dist/src/sub/DynamicLayout/mocks.js +4775 -0
  20. package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +65 -15
  21. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.d.ts +0 -5
  22. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +767 -198
  23. package/dist/src/sub/DynamicLayout/sections/CustomSection/FlexGridItem.d.ts +2 -1
  24. package/dist/src/sub/DynamicLayout/sections/CustomSection/FlexGridItem.js +9 -6
  25. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.d.ts +1 -0
  26. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.js +5 -0
  27. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.js +25 -23
  28. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.d.ts +8 -0
  29. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/ContentsCarousel/ContentsCarousel.js +12 -0
  30. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/Embed.js +1 -1
  31. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Embed/EmbedIframe.js +1 -1
  32. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.js +26 -2
  33. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/components/S_Backdrop.d.ts +1 -0
  34. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/components/S_Backdrop.js +13 -0
  35. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/components/S_CB_AnimationObserverBox.js +1 -1
  36. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/components/S_CB_Box.js +1 -1
  37. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/components/S_CB_BoxWithShadow.js +1 -1
  38. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/types.d.ts +79 -1
  39. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGoogleFonts/getGoogleFonts.d.ts +2 -4
  40. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGoogleFonts/getGoogleFonts.js +3 -14
  41. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGoogleFonts/index.d.ts +1 -1
  42. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGoogleFonts/index.js +2 -3
  43. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/clsx.d.ts +7 -0
  44. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/clsx.js +33 -0
  45. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/colorUtil.d.ts +4 -4
  46. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/fontSizeAdjustment.d.ts +1 -0
  47. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/fontSizeAdjustment.js +333 -0
  48. package/dist/src/sub/DynamicLayout/sections/CustomSection/{hooks/useGroupDrag/utils.d.ts → newUtils/group.d.ts} +4 -2
  49. package/dist/src/sub/DynamicLayout/sections/CustomSection/{hooks/useGroupDrag/utils.js → newUtils/group.js} +14 -1
  50. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/replaceUndefinedValues.js +8 -1
  51. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/textUtil.d.ts +1 -6
  52. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.d.ts +18 -2
  53. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.js +2 -0
  54. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.d.ts +5 -2
  55. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.js +12 -9
  56. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/stylePropParsers/parseStylePropTextSpec.d.ts +1 -1
  57. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/stylePropParsers/types.d.ts +1 -1
  58. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/stylePropParsers/types.js +1 -1
  59. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/types.d.ts +3 -5
  60. package/dist/src/sub/DynamicLayout/sections/{CustomSection/FlexGridCustomSection.d.ts → FlexGridCustomSection.d.ts} +1 -5
  61. package/dist/src/sub/DynamicLayout/sections/{CustomSection/FlexGridCustomSection.js → FlexGridCustomSection.js} +44 -88
  62. package/dist/src/sub/DynamicLayout/types.d.ts +45 -1
  63. package/package.json +2 -2
  64. package/release-note.md +2 -2
  65. package/dist/src/sub/DynamicLayout/pagesPreviewMock.d.ts +0 -14038
  66. package/dist/src/sub/DynamicLayout/pagesPreviewMock.js +0 -35827
  67. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/btnTypes.d.ts +0 -76
  68. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/btnTypes.js +0 -2
  69. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/types.d.ts +0 -38
  70. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/types.js +0 -2
  71. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/index.d.ts +0 -1
  72. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/index.js +0 -8
  73. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.d.ts +0 -22
  74. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.js +0 -273
@@ -42,89 +42,45 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
42
42
  };
43
43
  Object.defineProperty(exports, "__esModule", { value: true });
44
44
  var jsx_runtime_1 = require("react/jsx-runtime");
45
+ /* eslint-disable @typescript-eslint/no-unused-vars */
45
46
  var react_1 = __importStar(require("react"));
46
- var ErrorBoundary_1 = require("../../../DynamicLayout/components/Section/ErrorBoundary");
47
- var dynamicLayoutContext_1 = require("../../../DynamicLayout/dynamicLayoutContext");
47
+ var ErrorBoundary_1 = require("../../DynamicLayout/components/Section/ErrorBoundary");
48
+ var dynamicLayoutContext_1 = require("../../DynamicLayout/dynamicLayoutContext");
48
49
  var styled_components_1 = __importDefault(require("styled-components"));
49
- var components_1 = require("../../components");
50
- var CustomSection_1 = require("./CustomSection");
51
- var FlexGridItem_1 = __importDefault(require("./FlexGridItem"));
52
- var useGroupDrag_1 = require("./hooks/useGroupDrag");
53
- var useGroupDrag_2 = require("./hooks/useGroupDrag/useGroupDrag");
54
- var utils_1 = require("./hooks/useGroupDrag/utils");
55
- var useResizableObserver_1 = require("./hooks/useResizableObserver");
56
- var util_1 = require("./util");
57
- var parseSectionPadding_1 = __importDefault(require("./util/layoutPropParsers/parseSectionPadding"));
50
+ var components_1 = require("../components");
51
+ var gleStyles_1 = require("../gleStyles");
52
+ var FlexGridItem_1 = __importDefault(require("./CustomSection/FlexGridItem"));
53
+ var useResizableObserver_1 = require("./CustomSection/hooks/useResizableObserver");
54
+ var util_1 = require("./CustomSection/util");
55
+ var parseSectionPadding_1 = __importDefault(require("./CustomSection/util/layoutPropParsers/parseSectionPadding"));
58
56
  var GRID_CELL_MIN = 24;
59
57
  var DESKTOP_GRID_COLS = 24;
60
58
  var MOBILE_GRID_COLS = 8;
61
59
  var GLE_MIN_WIDTH_DESKTOP_PX = "".concat(GRID_CELL_MIN * DESKTOP_GRID_COLS, "px");
62
60
  var GLE_MIN_WIDTH_MOBILE_PX = "".concat(GRID_CELL_MIN * MOBILE_GRID_COLS, "px");
63
- var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
61
+ var FlexGridCustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
64
62
  var _a;
65
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;
66
64
  var componentBlocks = props.componentBlocks, jsonProperties = props.jsonProperties;
67
- var _c = jsonProperties.data, CB_PLACEMENT_PROP_SECTION = _c.CB_PLACEMENT_PROP_SECTION, CB_LAYOUT_PROP_PADDING = _c.CB_LAYOUT_PROP_PADDING;
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;
68
66
  var containerRef = (0, react_1.useRef)(null);
69
67
  var size = (0, useResizableObserver_1.useResizeObserver)({ ref: containerRef, box: 'border-box' });
70
- var _d = (0, react_1.useState)(null), selectedCB = _d[0], setSelectedCB = _d[1];
68
+ var _e = (0, react_1.useState)(null), selectedCB = _e[0], setSelectedCB = _e[1];
71
69
  var gleRef = (0, react_1.useRef)(null);
72
70
  var isMobile = device === 'MOBILE';
73
71
  var isEditMode = mode === 'EDIT';
74
- var layoutByDevice = device === 'DESKTOP' ? 'lg' : 'sm';
75
- var _e = (0, react_1.useState)(function () {
76
- var _a = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : []), lg = _a.lg, sm = _a.sm;
77
- return {
78
- lg: lg,
79
- sm: sm
80
- };
81
- }), layouts = _e[0], setLayouts = _e[1];
82
- var _f = (0, useGroupDrag_1.useGroupDrag)({
83
- setLayouts: setLayouts,
84
- device: device,
85
- sectionActionHandler: sectionActionHandler
86
- }), breakGroupCB = _f.breakGroupCB, makeAllInOneGroup = _f.makeAllInOneGroup, makeCollisionGroup = _f.makeCollisionGroup;
87
- (0, react_1.useImperativeHandle)(ref, function () {
88
- return {
89
- selectCB: function (cbId) {
90
- setSelectedCB(cbId);
91
- },
92
- selectCBInBulk: function (cbIds) {
93
- var parsedLayouts = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : []);
94
- setLayouts(function (prev) {
95
- var _a;
96
- var filteredLayout = (0, useGroupDrag_2.filterItemsById)(parsedLayouts[layoutByDevice], cbIds);
97
- var newGroupLayout = (0, utils_1.getGroupForMultiple)(parsedLayouts[layoutByDevice].filter(function (each) { return cbIds.includes(each.i); }));
98
- filteredLayout.push(newGroupLayout);
99
- return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = filteredLayout, _a));
100
- });
101
- }
102
- };
103
- }, [componentBlocks]);
104
- (0, react_1.useLayoutEffect)(function () {
105
- var parsedLayouts = (0, util_1.parsePlacement)(componentBlocks !== null && componentBlocks !== void 0 ? componentBlocks : []);
106
- setLayouts(function (prev) {
107
- var _a;
108
- var _b;
109
- var group = (0, useGroupDrag_2.getGroupCB)(prev[layoutByDevice]);
110
- var groupedCBIds = (_b = group === null || group === void 0 ? void 0 : group.childrenIds) !== null && _b !== void 0 ? _b : [];
111
- var filteredLayout = (0, useGroupDrag_2.filterItemsById)(parsedLayouts[layoutByDevice], groupedCBIds);
112
- if (group === null || group === void 0 ? void 0 : group.groupLayouts) {
113
- var groupCbs = parsedLayouts[layoutByDevice].filter(function (each) {
114
- return groupedCBIds.includes(each.i);
115
- });
116
- if (groupCbs.length > 0) {
117
- var newGroupLayout = (0, utils_1.getGroupForMultiple)(groupCbs);
118
- filteredLayout.push(newGroupLayout);
119
- }
120
- }
121
- return __assign(__assign({}, prev), (_a = {}, _a[layoutByDevice] = filteredLayout, _a));
122
- });
123
- }, [componentBlocks, useGroupDrag_2.getGroupCB, layoutByDevice]);
72
+ // const layoutByDevice = device === 'DESKTOP' ? 'lg' : 'sm';
73
+ // const [layouts] = useState<LayoutsType>(() => {
74
+ // const { lg, sm } = parsePlacement(componentBlocks ?? []);
75
+ // return {
76
+ // lg,
77
+ // sm
78
+ // };
79
+ // });
124
80
  (0, react_1.useEffect)(function () {
125
81
  if (editingSectionId !== props.id) {
126
82
  setSelectedCB(null);
127
- breakGroupCB();
83
+ // breakGroupCB();
128
84
  }
129
85
  }, [editingSectionId]);
130
86
  // NOTE: 추후에 event를 외부에서 전달받게하거나, 아예 상태를 끌어올리거나 해야합니다.
@@ -140,38 +96,38 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
140
96
  setSelectedCB(componentBlocks[0].id);
141
97
  return;
142
98
  }
143
- makeAllInOneGroup();
99
+ // makeAllInOneGroup();
144
100
  return;
145
101
  }
146
102
  if (shortcutKeyMode === 'MANUAL_BULK_BREAK') {
147
- breakGroupCB();
103
+ // breakGroupCB();
148
104
  setSelectedCB(null);
149
105
  return;
150
106
  }
151
- }, [shortcutKeyMode, setSelectedCB, breakGroupCB]);
107
+ }, [shortcutKeyMode, setSelectedCB]);
152
108
  (0, react_1.useLayoutEffect)(function () {
153
109
  if (props.id !== editingSectionId) {
154
110
  return;
155
111
  }
156
112
  if (shortcutKeyMode === 'MANUAL_COLLISION_SELECT') {
157
- if (!selectedCB || selectedCB === 'group') {
113
+ if (!selectedCB || selectedCB === 'BULK') {
158
114
  return;
159
115
  }
160
- makeCollisionGroup(selectedCB);
161
- sectionActionHandler &&
162
- sectionActionHandler({
163
- type: '@CUSTOMSECTION/CB_CLICKED',
164
- payload: {
165
- id: 'group'
166
- }
167
- });
168
- setSelectedCB('group');
169
- }
170
- }, [selectedCB, shortcutKeyMode, makeCollisionGroup, sectionActionHandler, setSelectedCB]);
171
- var _g = (0, util_1.parseCustomSectionPlacement)({
116
+ // makeCollisionGroup(selectedCB);
117
+ // sectionActionHandler &&
118
+ // sectionActionHandler({
119
+ // type: '@CUSTOMSECTION/BLOCK_CLICKED',
120
+ // payload: {
121
+ // block:
122
+ // }
123
+ // });
124
+ setSelectedCB('BULK');
125
+ }
126
+ }, [selectedCB, shortcutKeyMode, sectionActionHandler, setSelectedCB]);
127
+ var _f = (0, util_1.parseCustomSectionPlacement)({
172
128
  isMobile: isMobile,
173
129
  customSectionProps: CB_PLACEMENT_PROP_SECTION
174
- }), width = _g.width, minHeight = _g.minHeight, isFullWidth = _g.isFullWidth;
130
+ }), width = _f.width, minHeight = _f.minHeight, isFullWidth = _f.isFullWidth;
175
131
  var customSectionStyles = {
176
132
  minHeight: "".concat(minHeight, "vh"),
177
133
  width: '100%',
@@ -181,9 +137,6 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
181
137
  if (!isEditMode) {
182
138
  return;
183
139
  }
184
- if ((0, useGroupDrag_2.getGroupCB)(layouts[layoutByDevice])) {
185
- breakGroupCB();
186
- }
187
140
  setSelectedCB(null);
188
141
  sectionActionHandler &&
189
142
  sectionActionHandler({
@@ -231,7 +184,7 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
231
184
  }
232
185
  return 16;
233
186
  })();
234
- return ((0, jsx_runtime_1.jsx)(ErrorBoundary_1.ErrorBoundary, { children: (0, jsx_runtime_1.jsx)(CustomSection_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: {
187
+ 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: {
235
188
  minHeight: customSectionStyles.minHeight,
236
189
  paddingTop: padding.top,
237
190
  paddingBottom: padding.bottom,
@@ -242,11 +195,14 @@ var CustomSection = (0, react_1.forwardRef)(function CustomSection(props, ref) {
242
195
  maxWidth: customSectionStyles.maxWidth,
243
196
  minWidth: isMobile ? GLE_MIN_WIDTH_MOBILE_PX : GLE_MIN_WIDTH_DESKTOP_PX,
244
197
  fontSize: "".concat(baseFontSize, "px")
245
- } }, { children: (_a = props.componentBlocks) === null || _a === void 0 ? void 0 : _a.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: device, rowHeight: rowHeight }) }, cb.id)); }) })) })) })) }) }));
198
+ } }, { children: (_a = props.componentBlocks) === null || _a === void 0 ? void 0 : _a.map(function (cb, index) {
199
+ var _a;
200
+ 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));
201
+ }) })) })) })) }) }));
246
202
  });
247
203
  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"); });
248
204
  var S_SectionWrapper = styled_components_1.default.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n position: relative;\n"], ["\n position: relative;\n"])));
249
- exports.default = react_1.default.memo(CustomSection);
205
+ exports.default = react_1.default.memo(FlexGridCustomSection);
250
206
  function getDefensiveFontSize(device, width) {
251
207
  if (device === 'MOBILE') {
252
208
  return width * (0.0000868 * width + 0.0202);
@@ -1,11 +1,11 @@
1
1
  import type { TypeOfSectionAction } from './sectionActionTypes';
2
- import type { CustomSectionImperativeHandleRef } from './sections/CustomSection/CustomSection';
3
2
  import type { ComponentBlock } from './sections/CustomSection/types';
4
3
  import type { CB_CONTENT_PROP_VISIBILITY_SPECS } from './sections/CustomSection/util/contentPropParsers/parseContentVisibility';
5
4
  import type { CB_EFFECT_PROP_ENTANIM_SPECS } from './sections/CustomSection/util/effectPropParsers/parseEffectPropEntAnim';
6
5
  import type { CB_LAYOUT_PROP_PADDING_SPECS } from './sections/CustomSection/util/layoutPropParsers/parseLayoutPropPadding';
7
6
  import type { CB_STYLE_PROP_BGCOLOR_SPECS } from './sections/CustomSection/util/stylePropParsers/parseStylePropBgColor';
8
7
  import type { CB_STYLE_PROP_BGOVERLAY_SPECS } from './sections/CustomSection/util/stylePropParsers/parseStylePropBgOverlay';
8
+ import type { Block, ZOrder } from 'publ-echo/dist/lib/GridLayoutEditor/group';
9
9
  import type { Ref } from 'react';
10
10
  export { TypeOfSectionAction };
11
11
  export type TypeOfSectionManifestSchema = 'BASE_INTRO' | 'BASE_CONTENTS' | 'BASE_CONTENTS_CAROUSEL' | 'BASE_FOOTER' | 'BASE_INFO_BOX' | 'EXP_IFRAME' | 'PRG_MEMBERSHIP_DISPLAY' | 'CUSTOM';
@@ -60,6 +60,7 @@ export interface ISection {
60
60
  componentBlocks?: ComponentBlock[];
61
61
  jsonProperties?: ISectionJsonProperties;
62
62
  }
63
+ export type SectionPedigree = Block;
63
64
  export interface SubscriptionProductInList {
64
65
  id: number;
65
66
  type: SubscriptionProductType;
@@ -212,6 +213,11 @@ export interface IItemDescription extends IDescription {
212
213
  color?: string;
213
214
  }
214
215
  export type CustomSectionShortcutKeysType = 'BULK_SELECT' | 'COLLISION_SELECT' | 'SELECT_ALL' | 'MANUAL_COLLISION_SELECT' | 'MANUAL_BULK_BREAK' | null;
216
+ export type CustomSectionImperativeHandleRef = {
217
+ selectCB: (cbId: string) => void;
218
+ selectCBInBulk: (cbIds: string[]) => void;
219
+ selectGroup: (groupBlockId: string) => void;
220
+ };
215
221
  export type DynamicLayoutProps = {
216
222
  device: 'DESKTOP' | 'MOBILE';
217
223
  /** @default 'NORMAL */
@@ -300,6 +306,8 @@ export type IMembershipDisplay = {
300
306
  connectedMemberships: IConnectedMembership[];
301
307
  };
302
308
  export type ISectionJsonProperties = {
309
+ zOrders?: ZOrder;
310
+ pedigree?: SectionPedigree;
303
311
  data: {
304
312
  CB_CONTENT_PROP_SECTION: {
305
313
  CB_CONTENT_PROP_SECTION_SPEC_VARIABLEROOTFONTSIZE: boolean;
@@ -316,6 +324,8 @@ export type ISectionJsonProperties = {
316
324
  'CB_PLACEMENT_PROP_SECTION_SPEC_ROWS:MOBILE': number | null | undefined;
317
325
  CB_PLACEMENT_PROP_SECTION_SPEC_WIDTH: number;
318
326
  'CB_PLACEMENT_PROP_SECTION_SPEC_WIDTH:MOBILE': number | null | undefined;
327
+ CB_PLACEMENT_PROP_SECTION_SPEC_COLS?: number;
328
+ 'CB_PLACEMENT_PROP_SECTION_SPEC_COLS:MOBILE': number | null | undefined;
319
329
  };
320
330
  CB_STYLE_PROP_BGCOLOR?: CB_STYLE_PROP_BGCOLOR_SPECS;
321
331
  CB_STYLE_PROP_BGMEDIA?: CB_STYLE_PROP_BGMEDIA_SPECS;
@@ -364,3 +374,37 @@ export type CB_STYLE_PROP_BGMEDIA_SPECS = CB_STYLE_PROP_BGMEDIA_SPECS_BASE & {
364
374
  'CB_STYLE_PROP_BGMEDIA_SPEC_YSRC:MOBILE': string | null | undefined;
365
375
  'CB_STYLE_PROP_BGMEDIA_SPEC_YSRC:MOBILE:HOVER': string | null | undefined;
366
376
  };
377
+ export interface IComposition {
378
+ id: number;
379
+ administrativeTitle?: string;
380
+ display: boolean;
381
+ order: number;
382
+ manifest: {
383
+ schema: TypeOfSectionManifestSchema;
384
+ availableProperties: Array<KeyOfSectionProperties>;
385
+ availableStyles: Array<KeyOfSectionStyles>;
386
+ availableTemplates: Array<TypeofSectionTemplate>;
387
+ } | Record<string, never>;
388
+ template: TypeofSectionTemplate;
389
+ properties: ISectionProperties;
390
+ styles: ISectionStyles;
391
+ dynamicLayoutSectionItems: Array<IItem> | null;
392
+ insertedAt: string;
393
+ updatedAt: string;
394
+ type: TypeOfSectionType;
395
+ program?: 'MEMBERSHIP_DISPLAY';
396
+ programData?: {
397
+ mdid: string;
398
+ preview: {
399
+ availableResources: ['REAL.MEMBERSHIP_DISPLAY'];
400
+ resources: {
401
+ mock: Record<string, never>;
402
+ real: {
403
+ membershipDisplay: IMembershipDisplay;
404
+ };
405
+ };
406
+ };
407
+ };
408
+ componentBlocks?: ComponentBlock[];
409
+ jsonProperties?: ISectionJsonProperties;
410
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-dev-kit-web",
3
- "version": "2.2.137",
3
+ "version": "2.2.138",
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.104",
25
+ "publ-echo": "^0.0.118",
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,6 +1,6 @@
1
1
  # PDS-DEV-KIT-WEB Release Notes
2
- ## [v2.2.137]
2
+ ## [v2.2.138]
3
3
  ## daily|https://design.storybook.publ.biz/
4
4
 
5
5
  ### 업데이트 사항
6
- * 컬러키 싱크
6
+ * feature/v3.3