pds-dev-kit-web 2.2.48 → 2.2.50

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/src/common/assets/icons/fill/Home.d.ts +4 -0
  2. package/dist/src/common/assets/icons/fill/Home.js +30 -0
  3. package/dist/src/common/assets/icons/fill/PappType.d.ts +4 -0
  4. package/dist/src/common/assets/icons/fill/PappType.js +30 -0
  5. package/dist/src/common/assets/icons/fill/Plan.d.ts +4 -0
  6. package/dist/src/common/assets/icons/fill/Plan.js +30 -0
  7. package/dist/src/common/assets/icons/fill/Sales.d.ts +4 -0
  8. package/dist/src/common/assets/icons/fill/Sales.js +30 -0
  9. package/dist/src/common/assets/icons/fill/SellerIntro.d.ts +4 -0
  10. package/dist/src/common/assets/icons/fill/SellerIntro.js +30 -0
  11. package/dist/src/common/assets/icons/fill/Shoppingbag.d.ts +4 -0
  12. package/dist/src/common/assets/icons/fill/Shoppingbag.js +30 -0
  13. package/dist/src/common/assets/icons/fill/Site.d.ts +4 -0
  14. package/dist/src/common/assets/icons/fill/Site.js +30 -0
  15. package/dist/src/common/assets/icons/fill/Target.d.ts +4 -0
  16. package/dist/src/common/assets/icons/fill/Target.js +30 -0
  17. package/dist/src/common/assets/icons/fill/User.d.ts +4 -0
  18. package/dist/src/common/assets/icons/fill/User.js +30 -0
  19. package/dist/src/common/assets/icons/fill/index.d.ts +9 -0
  20. package/dist/src/common/assets/icons/fill/index.js +18 -0
  21. package/dist/src/common/assets/icons/line/Site.d.ts +4 -0
  22. package/dist/src/common/assets/icons/line/Site.js +30 -0
  23. package/dist/src/common/assets/icons/line/User.d.ts +4 -0
  24. package/dist/src/common/assets/icons/line/User.js +30 -0
  25. package/dist/src/common/assets/icons/line/index.d.ts +2 -0
  26. package/dist/src/common/assets/icons/line/index.js +4 -0
  27. package/dist/src/common/styles/colorSet/PaletteColor_Dark.json +6 -1
  28. package/dist/src/common/styles/colorSet/PaletteColor_light.json +7 -2
  29. package/dist/src/common/styles/colorSet/UIColor.json +7 -1
  30. package/dist/src/common/styles/colorSet/index.d.ts +18 -2
  31. package/dist/src/common/styles/colorSet/index.js +2 -2
  32. package/dist/src/common/styles/colorSet/ui-type.d.ts +6 -0
  33. package/dist/src/desktop/common/components/TextFieldBase/TextFieldBase.js +1 -1
  34. package/dist/src/mobile/common/components/TextFieldBase/TextFieldBase.js +1 -1
  35. package/dist/src/sub/DynamicLayout/DynamicLayout.d.ts +1 -1
  36. package/dist/src/sub/DynamicLayout/DynamicLayout.js +4 -3
  37. package/dist/src/sub/DynamicLayout/components/EditModeSectionMatcher/EditModeSectionMatcher.d.ts +3 -2
  38. package/dist/src/sub/DynamicLayout/components/EditModeSectionMatcher/EditModeSectionMatcher.js +18 -6
  39. package/dist/src/sub/DynamicLayout/components/Section/components/CustomSectionBackground.js +3 -2
  40. package/dist/src/sub/DynamicLayout/hooks/useCustomSectionShortcut/useCustomSectionShortcut.d.ts +6 -0
  41. package/dist/src/sub/DynamicLayout/hooks/useCustomSectionShortcut/useCustomSectionShortcut.js +50 -0
  42. package/dist/src/sub/DynamicLayout/pagesPreviewMock.d.ts +1236 -2
  43. package/dist/src/sub/DynamicLayout/pagesPreviewMock.js +2298 -6
  44. package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +23 -1
  45. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.d.ts +10 -2
  46. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +273 -26
  47. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlock.d.ts +2 -1
  48. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlock.js +2 -2
  49. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.d.ts +2 -1
  50. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/ComponentBlockMatcher.js +11 -10
  51. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.d.ts +2 -2
  52. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Button/Button.js +4 -2
  53. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Divider/Divider.d.ts +2 -2
  54. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Divider/Divider.js +4 -2
  55. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Image/Image.d.ts +2 -2
  56. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Image/Image.js +4 -2
  57. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/RichText/RichText.d.ts +2 -2
  58. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/RichText/RichText.js +4 -2
  59. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.d.ts +2 -2
  60. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Text/Text.js +5 -2
  61. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Twitter/Twitter.d.ts +2 -2
  62. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Twitter/Twitter.js +4 -2
  63. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Youtube/Youtube.d.ts +2 -2
  64. package/dist/src/sub/DynamicLayout/sections/CustomSection/components/ComponentBlock/componentBlocks/Youtube/Youtube.js +5 -3
  65. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/index.d.ts +1 -0
  66. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/index.js +8 -0
  67. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.d.ts +22 -0
  68. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/useGroupDrag.js +273 -0
  69. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/utils.d.ts +13 -0
  70. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useGroupDrag/utils.js +127 -0
  71. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useIntersectionObserver.d.ts +1 -1
  72. package/dist/src/sub/DynamicLayout/sections/CustomSection/hooks/useIntersectionObserver.js +21 -9
  73. package/dist/src/sub/DynamicLayout/sections/CustomSection/types.d.ts +29 -7
  74. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parseJsonProperties.d.ts +1 -1
  75. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.js +2 -2
  76. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/types.d.ts +3 -0
  77. package/dist/src/sub/DynamicLayout/types.d.ts +25 -19
  78. package/dist/src/sub/DynamicLayout/utils/deepCopy.d.ts +1 -0
  79. package/dist/src/sub/DynamicLayout/utils/deepCopy.js +15 -0
  80. package/package.json +2 -2
  81. package/release-note.md +19 -6
  82. package/dist/src/sub/DynamicLayout/mock_customSection.d.ts +0 -2
  83. package/dist/src/sub/DynamicLayout/mock_customSection.js +0 -840
  84. package/dist/src/sub/DynamicLayout/nakedMocks.json +0 -847
@@ -347,5 +347,10 @@
347
347
  "sys_component_base_46": "black/opacity90",
348
348
  "sys_cpnt_list_chatbubble_download_button_base": "white/opacity20",
349
349
  "sys_cpnt_sheet_base_11": "darkgrey10",
350
- "sys_cpnt_sheet_base_12": "white/opacity20"
350
+ "sys_cpnt_sheet_base_12": "white/opacity20",
351
+ "sys_sw_sidebar_item_text_emphasis": "darkgreen500",
352
+ "sys_sw_sidebar_item_icon_emphasis": "darkgreen500",
353
+ "sys_sw_sidebar_divider_vertical": "darkgrey100",
354
+ "sys_cpnt_sheet_base_13": "grey50",
355
+ "sys_cpnt_sheet_base_14": "grey900"
351
356
  }
@@ -314,7 +314,7 @@
314
314
  "sys_icon_grey_darktheme_03": "darkgrey400",
315
315
  "sys_widget_grey_01_opacity_50": "grey900/opacity50",
316
316
  "sys_editor_layout_header": "white",
317
- "sys_editor_layout_navigation_panel": "grey50",
317
+ "sys_editor_layout_navigation_panel": "grey70",
318
318
  "sys_editor_layout_canvas_area": "grey30",
319
319
  "sys_editor_layout_control_panel": "white",
320
320
  "sys_editor_layout_property_panel": "white",
@@ -347,5 +347,10 @@
347
347
  "sys_component_base_46": "black/opacity90",
348
348
  "sys_cpnt_list_chatbubble_download_button_base": "black/opacity40",
349
349
  "sys_cpnt_sheet_base_11": "grey10",
350
- "sys_cpnt_sheet_base_12": "white/opacity20"
350
+ "sys_cpnt_sheet_base_12": "white/opacity20",
351
+ "sys_sw_sidebar_item_text_emphasis": "darkgreen500",
352
+ "sys_sw_sidebar_item_icon_emphasis": "darkgreen500",
353
+ "sys_sw_sidebar_divider_vertical": "darkgrey100",
354
+ "sys_cpnt_sheet_base_13": "grey50",
355
+ "sys_cpnt_sheet_base_14": "grey900"
351
356
  }
@@ -844,5 +844,11 @@
844
844
  "ui_cpnt_list_chatbubble_base_transparent": "sys_component_base_white_opacity00",
845
845
  "ui_cpnt_list_chatbubble_download_button_base": "sys_cpnt_list_chatbubble_download_button_base",
846
846
  "ui_111": "sys_cpnt_sheet_base_11",
847
- "ui_112": "sys_cpnt_sheet_base_12"
847
+ "ui_112": "sys_cpnt_sheet_base_12",
848
+ "ui_sw_sidebar_label_text_emphasis": "sys_sw_sidebar_item_text_emphasis",
849
+ "ui_cpnt_sidebar_label_icon_green": "sys_sw_sidebar_item_icon_emphasis",
850
+ "ui_sw_sidebar_divider_vertical": "sys_sw_sidebar_divider_vertical",
851
+ "ui_113": "sys_cpnt_sheet_base_13",
852
+ "ui_114": "sys_component_base_26",
853
+ "ui_115": "sys_cpnt_sheet_base_14"
848
854
  }
@@ -119,7 +119,7 @@ declare const colorSet: {
119
119
  grey300: string;
120
120
  darkgrey300: string;
121
121
  };
122
- readonly PaletteColor_light: {
122
+ readonly PaletteColor_Dark: {
123
123
  sys_container_background_01: string;
124
124
  sys_container_background_02: string;
125
125
  sys_container_background_03: string;
@@ -469,8 +469,13 @@ declare const colorSet: {
469
469
  sys_cpnt_list_chatbubble_download_button_base: string;
470
470
  sys_cpnt_sheet_base_11: string;
471
471
  sys_cpnt_sheet_base_12: string;
472
+ sys_sw_sidebar_item_text_emphasis: string;
473
+ sys_sw_sidebar_item_icon_emphasis: string;
474
+ sys_sw_sidebar_divider_vertical: string;
475
+ sys_cpnt_sheet_base_13: string;
476
+ sys_cpnt_sheet_base_14: string;
472
477
  };
473
- readonly PaletteColor_Dark: {
478
+ readonly PaletteColor_light: {
474
479
  sys_container_background_01: string;
475
480
  sys_container_background_02: string;
476
481
  sys_container_background_03: string;
@@ -820,6 +825,11 @@ declare const colorSet: {
820
825
  sys_cpnt_list_chatbubble_download_button_base: string;
821
826
  sys_cpnt_sheet_base_11: string;
822
827
  sys_cpnt_sheet_base_12: string;
828
+ sys_sw_sidebar_item_text_emphasis: string;
829
+ sys_sw_sidebar_item_icon_emphasis: string;
830
+ sys_sw_sidebar_divider_vertical: string;
831
+ sys_cpnt_sheet_base_13: string;
832
+ sys_cpnt_sheet_base_14: string;
823
833
  };
824
834
  readonly UIColor: {
825
835
  ui_cpnt_button_fill_base_primary: string;
@@ -1668,6 +1678,12 @@ declare const colorSet: {
1668
1678
  ui_cpnt_list_chatbubble_download_button_base: string;
1669
1679
  ui_111: string;
1670
1680
  ui_112: string;
1681
+ ui_sw_sidebar_label_text_emphasis: string;
1682
+ ui_cpnt_sidebar_label_icon_green: string;
1683
+ ui_sw_sidebar_divider_vertical: string;
1684
+ ui_113: string;
1685
+ ui_114: string;
1686
+ ui_115: string;
1671
1687
  };
1672
1688
  };
1673
1689
  export default colorSet;
@@ -5,13 +5,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  /* eslint-disable import/order */
7
7
  var SemanticColor_json_1 = __importDefault(require("./SemanticColor.json"));
8
- var PaletteColor_light_json_1 = __importDefault(require("./PaletteColor_light.json"));
9
8
  var PaletteColor_Dark_json_1 = __importDefault(require("./PaletteColor_Dark.json"));
9
+ var PaletteColor_light_json_1 = __importDefault(require("./PaletteColor_light.json"));
10
10
  var UIColor_json_1 = __importDefault(require("./UIColor.json"));
11
11
  var colorSet = {
12
12
  SemanticColor: SemanticColor_json_1.default,
13
- PaletteColor_light: PaletteColor_light_json_1.default,
14
13
  PaletteColor_Dark: PaletteColor_Dark_json_1.default,
14
+ PaletteColor_light: PaletteColor_light_json_1.default,
15
15
  UIColor: UIColor_json_1.default
16
16
  };
17
17
  exports.default = colorSet;
@@ -845,4 +845,10 @@ export interface UITheme {
845
845
  ui_cpnt_list_chatbubble_download_button_base: string;
846
846
  ui_111: string;
847
847
  ui_112: string;
848
+ ui_sw_sidebar_label_text_emphasis: string;
849
+ ui_cpnt_sidebar_label_icon_green: string;
850
+ ui_sw_sidebar_divider_vertical: string;
851
+ ui_113: string;
852
+ ui_114: string;
853
+ ui_115: string;
848
854
  }
@@ -86,7 +86,7 @@ function TextFieldBase(_a) {
86
86
  clearErrors(name);
87
87
  }
88
88
  function handleKeyDown(e) {
89
- if (textLineType === 'single' && enterSubmitMode === 'none' && e.code === 'Enter') {
89
+ if (textLineType === 'single' && enterSubmitMode === 'none' && e.key === 'Enter') {
90
90
  e.preventDefault();
91
91
  }
92
92
  if (inputType === 'number') {
@@ -86,7 +86,7 @@ function TextFieldBase(_a) {
86
86
  clearErrors(name);
87
87
  }
88
88
  function handleKeyDown(e) {
89
- if (textLineType === 'single' && enterSubmitMode === 'none' && e.code === 'Enter') {
89
+ if (textLineType === 'single' && enterSubmitMode === 'none' && e.key === 'Enter') {
90
90
  e.preventDefault();
91
91
  }
92
92
  if (inputType === 'number') {
@@ -1,4 +1,4 @@
1
1
  /// <reference types="react" />
2
2
  import type { DynamicLayoutProps } from './types';
3
- declare function DynamicLayout({ device, mode, isPreview, sections, scrollDownTargetSectionId, editingSectionId, navigationHandler, sectionActionHandler, onClickEditSection, programmedSectionComponents }: DynamicLayoutProps): JSX.Element;
3
+ declare function DynamicLayout({ device, mode, isPreview, sections, scrollDownTargetSectionId, editingSectionId, navigationHandler, sectionActionHandler, onClickEditSection, programmedSectionComponents, shortcutKeyMode, dynamicLayoutRef }: DynamicLayoutProps): JSX.Element;
4
4
  export default DynamicLayout;
@@ -25,7 +25,7 @@ var EditModeSectionMatcher_1 = require("./components/EditModeSectionMatcher");
25
25
  var SectionMatcher_1 = require("./components/SectionMatcher");
26
26
  var dynamicLayoutContext_1 = require("./dynamicLayoutContext");
27
27
  function DynamicLayout(_a) {
28
- var device = _a.device, _b = _a.mode, mode = _b === void 0 ? 'NORMAL' : _b, isPreview = _a.isPreview, sections = _a.sections, scrollDownTargetSectionId = _a.scrollDownTargetSectionId, editingSectionId = _a.editingSectionId, navigationHandler = _a.navigationHandler, sectionActionHandler = _a.sectionActionHandler, onClickEditSection = _a.onClickEditSection, programmedSectionComponents = _a.programmedSectionComponents;
28
+ var device = _a.device, _b = _a.mode, mode = _b === void 0 ? 'NORMAL' : _b, isPreview = _a.isPreview, sections = _a.sections, scrollDownTargetSectionId = _a.scrollDownTargetSectionId, editingSectionId = _a.editingSectionId, navigationHandler = _a.navigationHandler, sectionActionHandler = _a.sectionActionHandler, onClickEditSection = _a.onClickEditSection, programmedSectionComponents = _a.programmedSectionComponents, shortcutKeyMode = _a.shortcutKeyMode, dynamicLayoutRef = _a.dynamicLayoutRef;
29
29
  var filteredSortedSection = __spreadArray([], sections, true).filter(function (section) { return section.display; })
30
30
  .sort(function (a, b) { return a.order - b.order; });
31
31
  var iframeSection = filteredSortedSection.find(function (section) { return section.manifest.schema === 'EXP_IFRAME' && section.display; });
@@ -36,8 +36,9 @@ function DynamicLayout(_a) {
36
36
  navigationHandler: navigationHandler,
37
37
  sectionActionHandler: sectionActionHandler,
38
38
  editingSectionId: editingSectionId,
39
- programmedSectionComponents: programmedSectionComponents
40
- } }, { children: [mode === 'EDIT' && onClickEditSection && ((0, jsx_runtime_1.jsx)(EditModeSectionMatcher_1.EditModeSectionMatcher, { editingSectionId: editingSectionId, scrollDownTargetSectionId: scrollDownTargetSectionId, filteredSortedSection: filteredSortedSection, onClickEditSection: onClickEditSection })), mode !== 'EDIT' &&
39
+ programmedSectionComponents: programmedSectionComponents,
40
+ shortcutKeyMode: shortcutKeyMode
41
+ } }, { children: [mode === 'EDIT' && onClickEditSection && ((0, jsx_runtime_1.jsx)(EditModeSectionMatcher_1.EditModeSectionMatcher, { dynamicLayoutRef: dynamicLayoutRef, editingSectionId: editingSectionId, scrollDownTargetSectionId: scrollDownTargetSectionId, filteredSortedSection: filteredSortedSection, onClickEditSection: onClickEditSection })), mode !== 'EDIT' &&
41
42
  (iframeSection ? ((0, jsx_runtime_1.jsx)(SectionMatcher_1.SectionMatcher, __assign({}, iframeSection), iframeSection.id)) : (filteredSortedSection.map(function (section) { return (0, jsx_runtime_1.jsx)(SectionMatcher_1.SectionMatcher, __assign({}, section), section.id); })))] })));
42
43
  }
43
44
  exports.default = DynamicLayout;
@@ -1,8 +1,9 @@
1
1
  /// <reference types="react" />
2
- import type { ISection } from '../../types';
3
- export default function EditModeSectionMatcher({ filteredSortedSection, scrollDownTargetSectionId, editingSectionId, onClickEditSection }: {
2
+ import type { DynamicLayoutProps, ISection } from '../../types';
3
+ export default function EditModeSectionMatcher({ filteredSortedSection, scrollDownTargetSectionId, editingSectionId, dynamicLayoutRef, onClickEditSection }: {
4
4
  filteredSortedSection: ISection[];
5
5
  scrollDownTargetSectionId?: number;
6
6
  editingSectionId?: number;
7
+ dynamicLayoutRef: DynamicLayoutProps['dynamicLayoutRef'];
7
8
  onClickEditSection: (section: ISection) => void;
8
9
  }): JSX.Element;
@@ -26,19 +26,31 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  };
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
28
  var jsx_runtime_1 = require("react/jsx-runtime");
29
+ var react_1 = require("react");
29
30
  var sections_1 = require("../../../DynamicLayout/sections");
30
31
  var SectionBox_1 = __importDefault(require("./SectionBox"));
31
32
  function EditModeSectionMatcher(_a) {
32
- var filteredSortedSection = _a.filteredSortedSection, scrollDownTargetSectionId = _a.scrollDownTargetSectionId, editingSectionId = _a.editingSectionId, onClickEditSection = _a.onClickEditSection;
33
+ var filteredSortedSection = _a.filteredSortedSection, scrollDownTargetSectionId = _a.scrollDownTargetSectionId, editingSectionId = _a.editingSectionId, dynamicLayoutRef = _a.dynamicLayoutRef, onClickEditSection = _a.onClickEditSection;
33
34
  var iframeSection = filteredSortedSection.find(function (section) { return section.manifest.schema === 'EXP_IFRAME' && section.display; });
34
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: iframeSection ? ((0, jsx_runtime_1.jsx)(SectionBox_1.default, __assign({ isIframeSection: true, isEditing: editingSectionId === iframeSection.id, scrollIntoThisSection: iframeSection.id === scrollDownTargetSectionId, onClick: function () { return onClickEditSection(iframeSection); } }, { children: (0, jsx_runtime_1.jsx)(Matcher, __assign({}, iframeSection)) }), iframeSection.id)) : (filteredSortedSection.map(function (section) { return ((0, jsx_runtime_1.jsx)(SectionBox_1.default, __assign({ isEditing: editingSectionId === section.id, scrollIntoThisSection: section.id === scrollDownTargetSectionId, onClick: function () { return onClickEditSection(section); } }, { children: (0, jsx_runtime_1.jsx)(Matcher, __assign({}, section)) }), section.id)); })) }));
35
+ var _b = (0, react_1.useState)(null), selectedSectionRef = _b[0], setSelectedSectionRef = _b[1];
36
+ var refCallback = (0, react_1.useCallback)(function (node) {
37
+ setSelectedSectionRef(node);
38
+ }, []);
39
+ (0, react_1.useImperativeHandle)(dynamicLayoutRef, function () {
40
+ return {
41
+ selectCB: function (cb) {
42
+ selectedSectionRef === null || selectedSectionRef === void 0 ? void 0 : selectedSectionRef.selectCB(cb);
43
+ },
44
+ selectCBInBulk: function (cbIds) {
45
+ selectedSectionRef === null || selectedSectionRef === void 0 ? void 0 : selectedSectionRef.selectCBInBulk(cbIds);
46
+ }
47
+ };
48
+ }, [selectedSectionRef]);
49
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: iframeSection ? ((0, jsx_runtime_1.jsx)(SectionBox_1.default, __assign({ isIframeSection: true, isEditing: editingSectionId === iframeSection.id, scrollIntoThisSection: iframeSection.id === scrollDownTargetSectionId, onClick: function () { return onClickEditSection(iframeSection); } }, { children: (0, jsx_runtime_1.jsx)(DesignedSectionsMatcher, __assign({}, iframeSection)) }), iframeSection.id)) : (filteredSortedSection.map(function (section) { return ((0, jsx_runtime_1.jsx)(SectionBox_1.default, __assign({ isEditing: editingSectionId === section.id, scrollIntoThisSection: section.id === scrollDownTargetSectionId, onClick: function () { return onClickEditSection(section); } }, { children: section.type === 'CUSTOM' ? ((0, jsx_runtime_1.jsx)(sections_1.CustomSection, __assign({}, section, { ref: editingSectionId === section.id ? refCallback : null }))) : ((0, jsx_runtime_1.jsx)(DesignedSectionsMatcher, __assign({}, section))) }), section.id)); })) }));
35
50
  }
36
51
  exports.default = EditModeSectionMatcher;
37
- function Matcher(_a) {
52
+ function DesignedSectionsMatcher(_a) {
38
53
  var props = __rest(_a, []);
39
- if (props.type === 'CUSTOM') {
40
- return (0, jsx_runtime_1.jsx)(sections_1.CustomSection, __assign({}, props));
41
- }
42
54
  var schema = props.manifest.schema;
43
55
  switch (schema) {
44
56
  case 'BASE_INTRO':
@@ -30,8 +30,9 @@ function CustomSectionBackground(_a) {
30
30
  var context = (0, react_1.useContext)(sectionContext_1.sectionContext);
31
31
  var id = context.id, jsonProperties = context.jsonProperties;
32
32
  var backgroundRef = (0, react_1.useRef)(null);
33
- var _c = jsonProperties || {}, CB_STYLE_PROP_BGOVERLAY = _c.CB_STYLE_PROP_BGOVERLAY, CB_STYLE_PROP_BGMEDIA = _c.CB_STYLE_PROP_BGMEDIA;
34
- var _d = (0, util_1.parseJsonProperties)(jsonProperties, isMobile ? 'MOBILE' : 'DESKTOP'), style = _d.style, overlayStyle = _d.overlayStyle, effect = _d.effect;
33
+ var data = jsonProperties.data;
34
+ var CB_STYLE_PROP_BGOVERLAY = data.CB_STYLE_PROP_BGOVERLAY, CB_STYLE_PROP_BGMEDIA = data.CB_STYLE_PROP_BGMEDIA;
35
+ var _c = (0, util_1.parseJsonProperties)(data, isMobile ? 'MOBILE' : 'DESKTOP'), style = _c.style, overlayStyle = _c.overlayStyle, effect = _c.effect;
35
36
  var isOverlay = getIsOverlay(isMobile, CB_STYLE_PROP_BGOVERLAY);
36
37
  var isBgMedia = getIsBgMedia(isMobile, CB_STYLE_PROP_BGMEDIA);
37
38
  var mediaType = getMediaType(isMobile, CB_STYLE_PROP_BGMEDIA);
@@ -0,0 +1,6 @@
1
+ export declare const CUSTOMSECTION_SHORTCUT_KEYS: string[];
2
+ export type CustomSectionShortcutType = 'BULK_SELECT' | 'COLLISION_SELECT' | 'SELECT_ALL' | null;
3
+ declare function useCustomSectionShortcut(): {
4
+ shortcut: CustomSectionShortcutType;
5
+ };
6
+ export default useCustomSectionShortcut;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CUSTOMSECTION_SHORTCUT_KEYS = void 0;
4
+ var react_1 = require("react");
5
+ exports.CUSTOMSECTION_SHORTCUT_KEYS = ['Shift', 'Meta', 'A', 'ㅁ'];
6
+ function useCustomSectionShortcut() {
7
+ var _a = (0, react_1.useState)(null), shortcut = _a[0], setShortcut = _a[1];
8
+ (0, react_1.useEffect)(function () {
9
+ var keys = new Map();
10
+ function onKeyDown(e) {
11
+ if (!exports.CUSTOMSECTION_SHORTCUT_KEYS.includes(e.key)) {
12
+ return;
13
+ }
14
+ keys.set(e.key, true);
15
+ var isShiftOn = keys.get('Shift');
16
+ var isMetaOn = keys.get('Meta');
17
+ var isAOn = keys.get('A') || keys.get('ㅁ');
18
+ if (isShiftOn && isAOn) {
19
+ setShortcut('SELECT_ALL');
20
+ return;
21
+ }
22
+ if (isShiftOn && isMetaOn) {
23
+ setShortcut('COLLISION_SELECT');
24
+ return;
25
+ }
26
+ if (isShiftOn) {
27
+ setShortcut('BULK_SELECT');
28
+ }
29
+ }
30
+ function onKeyUp(e) {
31
+ if (e.key === 'a') {
32
+ keys.delete('A');
33
+ }
34
+ else {
35
+ keys.delete(e.key);
36
+ }
37
+ setShortcut(null);
38
+ }
39
+ document.addEventListener('keydown', onKeyDown);
40
+ document.addEventListener('keyup', onKeyUp);
41
+ return function () {
42
+ document.removeEventListener('keydown', onKeyDown);
43
+ document.removeEventListener('keyup', onKeyUp);
44
+ };
45
+ }, []);
46
+ return {
47
+ shortcut: shortcut
48
+ };
49
+ }
50
+ exports.default = useCustomSectionShortcut;