pds-dev-kit-web-test 0.2.54 → 0.3.0

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 (124) hide show
  1. package/dist/src/common/assets/icons/fill/BellOff.d.ts +4 -0
  2. package/dist/src/common/assets/icons/fill/BellOff.js +30 -0
  3. package/dist/src/common/assets/icons/fill/VideocallPro.js +1 -1
  4. package/dist/src/common/assets/icons/fill/Vodplus.js +1 -1
  5. package/dist/src/common/assets/icons/fill/index.d.ts +1 -0
  6. package/dist/src/common/assets/icons/fill/index.js +2 -0
  7. package/dist/src/common/assets/icons/line/BellOff.d.ts +4 -0
  8. package/dist/src/common/assets/icons/line/BellOff.js +30 -0
  9. package/dist/src/common/assets/icons/line/ChatRoom11.d.ts +4 -0
  10. package/dist/src/common/assets/icons/line/ChatRoom11.js +30 -0
  11. package/dist/src/common/assets/icons/line/ChatRoomFree.d.ts +4 -0
  12. package/dist/src/common/assets/icons/line/ChatRoomFree.js +30 -0
  13. package/dist/src/common/assets/icons/line/ChatRoomGroup.d.ts +4 -0
  14. package/dist/src/common/assets/icons/line/ChatRoomGroup.js +30 -0
  15. package/dist/src/common/assets/icons/line/ChatRoomPaid.d.ts +4 -0
  16. package/dist/src/common/assets/icons/line/ChatRoomPaid.js +30 -0
  17. package/dist/src/common/assets/icons/line/DesignPreference.js +1 -1
  18. package/dist/src/common/assets/icons/line/PappType.js +1 -1
  19. package/dist/src/common/assets/icons/line/PaymentRegularly.js +1 -1
  20. package/dist/src/common/assets/icons/line/PostVote.js +1 -1
  21. package/dist/src/common/assets/icons/line/Target.js +1 -1
  22. package/dist/src/common/assets/icons/line/TypefaceDisplay20.d.ts +4 -0
  23. package/dist/src/common/assets/icons/line/TypefaceDisplay20.js +30 -0
  24. package/dist/src/common/assets/icons/line/TypefaceHand20.d.ts +4 -0
  25. package/dist/src/common/assets/icons/line/TypefaceHand20.js +30 -0
  26. package/dist/src/common/assets/icons/line/TypefaceMonospace20.d.ts +4 -0
  27. package/dist/src/common/assets/icons/line/TypefaceMonospace20.js +30 -0
  28. package/dist/src/common/assets/icons/line/TypefaceSansSerif20.d.ts +4 -0
  29. package/dist/src/common/assets/icons/line/TypefaceSansSerif20.js +30 -0
  30. package/dist/src/common/assets/icons/line/TypefaceSerif20.d.ts +4 -0
  31. package/dist/src/common/assets/icons/line/TypefaceSerif20.js +30 -0
  32. package/dist/src/common/assets/icons/line/index.d.ts +10 -0
  33. package/dist/src/common/assets/icons/line/index.js +20 -0
  34. package/dist/src/common/hooks/index.d.ts +1 -0
  35. package/dist/src/common/hooks/index.js +3 -1
  36. package/dist/src/common/hooks/useAbsolutePositioner.d.ts +13 -0
  37. package/dist/src/common/hooks/useAbsolutePositioner.js +54 -0
  38. package/dist/src/common/hooks/useTooltip.d.ts +17 -0
  39. package/dist/src/common/hooks/useTooltip.js +76 -0
  40. package/dist/src/common/styles/colorSet/PaletteColor_Dark.json +2 -1
  41. package/dist/src/common/styles/colorSet/PaletteColor_light.json +2 -1
  42. package/dist/src/common/styles/colorSet/UIColor.json +2 -1
  43. package/dist/src/common/styles/colorSet/index.d.ts +963 -960
  44. package/dist/src/common/styles/colorSet/index.js +5 -5
  45. package/dist/src/common/styles/colorSet/ui-type.d.ts +1 -0
  46. package/dist/src/common/styles/systemUI/index.d.ts +1 -0
  47. package/dist/src/common/styles/systemUI/index.js +5 -0
  48. package/dist/src/common/styles/systemUI/tooltipStyle.d.ts +1 -0
  49. package/dist/src/common/styles/systemUI/tooltipStyle.js +28 -0
  50. package/dist/src/common/types/components.d.ts +3 -2
  51. package/dist/src/common/types/systemUI.d.ts +13 -0
  52. package/dist/src/common/types/systemUI.js +2 -0
  53. package/dist/src/common/utils/SystemUIPositionGenerator/clickTypeSystemUICssGenerator.d.ts +13 -0
  54. package/dist/src/common/utils/SystemUIPositionGenerator/clickTypeSystemUICssGenerator.js +20 -0
  55. package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.d.ts +17 -0
  56. package/dist/src/common/utils/SystemUIPositionGenerator/hoverTypeSystemUICssGenerator.js +71 -0
  57. package/dist/src/common/utils/SystemUIPositionGenerator/index.d.ts +1 -0
  58. package/dist/src/common/utils/SystemUIPositionGenerator/index.js +8 -0
  59. package/dist/src/desktop/components/BasicButtonGroup/BasicButtonGroup.js +54 -42
  60. package/dist/src/desktop/components/BasicButtonGroup/constants.d.ts +0 -6
  61. package/dist/src/desktop/components/BasicButtonGroup/constants.js +1 -8
  62. package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.d.ts +2 -4
  63. package/dist/src/desktop/components/BasicChatListItem/BasicChatListItem.js +14 -5
  64. package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +3 -3
  65. package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.js +41 -45
  66. package/dist/src/desktop/components/ContextMenu/ContextMenu.js +1 -1
  67. package/dist/src/desktop/components/Dropdown/Dropdown.js +48 -9
  68. package/dist/src/desktop/components/IconButton/IconButton.d.ts +3 -1
  69. package/dist/src/desktop/components/IconButton/IconButton.js +48 -44
  70. package/dist/src/desktop/components/SegmentedButtonGroup/SegmentedButtonGroup.js +54 -42
  71. package/dist/src/desktop/components/SegmentedButtonGroup/constants.d.ts +0 -6
  72. package/dist/src/desktop/components/SegmentedButtonGroup/constants.js +1 -8
  73. package/dist/src/desktop/components/TextLabel/TextLabel.d.ts +3 -1
  74. package/dist/src/desktop/components/TextLabel/TextLabel.js +33 -63
  75. package/dist/src/desktop/components/UploadIconButton/UploadIconButton.d.ts +3 -1
  76. package/dist/src/desktop/components/UploadIconButton/UploadIconButton.js +49 -45
  77. package/dist/src/desktop/components/UploadIconButton/constants.d.ts +7 -0
  78. package/dist/src/desktop/components/UploadIconButton/constants.js +10 -0
  79. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/ContentsContainer.d.ts +1 -1
  80. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/ContentsContainer.js +2 -1
  81. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/WTW.d.ts +18 -0
  82. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/WTW.js +112 -0
  83. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/index.d.ts +1 -0
  84. package/dist/src/desktop/layout/LayoutWT/Containers/ContentsContainer/variation/index.js +3 -1
  85. package/dist/src/desktop/layout/LayoutWT/ContainersBox/ContainersBox.d.ts +1 -1
  86. package/dist/src/desktop/layout/LayoutWT/ContainersBox/ContainersBox.js +8 -4
  87. package/dist/src/hybrid/components/Icon/Icon.js +2 -1
  88. package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.d.ts +2 -4
  89. package/dist/src/mobile/components/BasicChatListItem/BasicChatListItem.js +14 -5
  90. package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +3 -3
  91. package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.js +41 -45
  92. package/dist/src/mobile/components/ContextMenu/ContextMenu.js +1 -1
  93. package/dist/src/mobile/components/Dropdown/Dropdown.js +48 -9
  94. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/fill/VideocallPro.js +1 -1
  95. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/fill/Vodplus.js +1 -1
  96. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/DesignPreference.js +1 -1
  97. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/PappType.js +1 -1
  98. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/PaymentRegularly.js +1 -1
  99. package/dist/src/sub/DynamicLayout/components/pdsOriginal/common/assets/icons/line/PostVote.js +1 -1
  100. package/dist/src/sub/DynamicLayout/pagesPreviewMock.js +1 -1
  101. package/dist/src/sub/DynamicLayout/sectionActionTypes.d.ts +4 -0
  102. package/dist/src/sub/DynamicLayout/sections/CustomSection/CustomSection.js +19 -1
  103. package/dist/src/sub/DynamicLayout/sections/CustomSection/newUtils/textUtil.js +1 -1
  104. package/dist/src/sub/DynamicLayout/sections/CustomSection/util/parsePlacement.js +2 -2
  105. package/dist/src/sub/GoogleFontkit/headless/GoogleFontItem.js +0 -6
  106. package/dist/src/sub/GoogleFontkit/headless/GoogleFontsList.js +17 -37
  107. package/dist/src/sub/GoogleFontkit/types.d.ts +1 -1
  108. package/dist/src/sub/GoogleFontkit/utils/applyActiveFont.d.ts +0 -3
  109. package/dist/src/sub/GoogleFontkit/utils/applyActiveFont.js +0 -3
  110. package/dist/src/sub/GoogleFontkit/utils/createStyleSheet.d.ts +0 -3
  111. package/dist/src/sub/GoogleFontkit/utils/createStyleSheet.js +0 -3
  112. package/dist/src/sub/GoogleFontkit/utils/extractFontStyles.js +0 -4
  113. package/dist/src/sub/GoogleFontkit/utils/fillStyleSheet.d.ts +0 -3
  114. package/dist/src/sub/GoogleFontkit/utils/fillStyleSheet.js +0 -4
  115. package/dist/src/sub/GoogleFontkit/utils/getActiveFontStylesheet.d.ts +0 -3
  116. package/dist/src/sub/GoogleFontkit/utils/getActiveFontStylesheet.js +0 -3
  117. package/dist/src/sub/GoogleFontkit/utils/getFontId.d.ts +0 -3
  118. package/dist/src/sub/GoogleFontkit/utils/getFontId.js +0 -3
  119. package/dist/src/sub/GoogleFontkit/utils/isStyleSheetExists.d.ts +0 -3
  120. package/dist/src/sub/GoogleFontkit/utils/isStyleSheetExists.js +0 -3
  121. package/dist/src/sub/GoogleFontkit/utils/setStyleSheetType.d.ts +0 -3
  122. package/dist/src/sub/GoogleFontkit/utils/setStyleSheetType.js +0 -3
  123. package/package.json +1 -1
  124. package/release-note.md +3 -3
@@ -4,14 +4,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  /* eslint-disable import/order */
7
- var SemanticColor_json_1 = __importDefault(require("./SemanticColor.json"));
8
7
  var PaletteColor_light_json_1 = __importDefault(require("./PaletteColor_light.json"));
9
- var UIColor_json_1 = __importDefault(require("./UIColor.json"));
10
8
  var PaletteColor_Dark_json_1 = __importDefault(require("./PaletteColor_Dark.json"));
9
+ var SemanticColor_json_1 = __importDefault(require("./SemanticColor.json"));
10
+ var UIColor_json_1 = __importDefault(require("./UIColor.json"));
11
11
  var colorSet = {
12
- SemanticColor: SemanticColor_json_1.default,
13
12
  PaletteColor_light: PaletteColor_light_json_1.default,
14
- UIColor: UIColor_json_1.default,
15
- PaletteColor_Dark: PaletteColor_Dark_json_1.default
13
+ PaletteColor_Dark: PaletteColor_Dark_json_1.default,
14
+ SemanticColor: SemanticColor_json_1.default,
15
+ UIColor: UIColor_json_1.default
16
16
  };
17
17
  exports.default = colorSet;
@@ -837,4 +837,5 @@ export interface UITheme {
837
837
  ui_107: string;
838
838
  ui_cpnt_textlabel_sys_white_02: string;
839
839
  ui_cpnt_headerbar_base_area_transparent: string;
840
+ ui_108: string;
840
841
  }
@@ -0,0 +1 @@
1
+ export { TooltipWrapperStyle } from './tooltipStyle';
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TooltipWrapperStyle = void 0;
4
+ var tooltipStyle_1 = require("./tooltipStyle");
5
+ Object.defineProperty(exports, "TooltipWrapperStyle", { enumerable: true, get: function () { return tooltipStyle_1.TooltipWrapperStyle; } });
@@ -0,0 +1 @@
1
+ export declare const TooltipWrapperStyle: import("styled-components").FlattenInterpolation<import("styled-components").ThemeProps<import("styled-components").DefaultTheme>>;
@@ -0,0 +1,28 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.TooltipWrapperStyle = void 0;
8
+ var styled_components_1 = require("styled-components");
9
+ exports.TooltipWrapperStyle = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n font-size: ", ";\n font-weight: ", ";\n justify-content: center;\n line-height: 1.2;\n max-width: 240px;\n overflow-wrap: break-word;\n padding: ", ";\n position: absolute;\n text-align: left;\n white-space: pre-wrap;\n width: max-content;\n word-break: keep-all;\n z-index: 400;\n"], ["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n box-sizing: border-box;\n color: ", ";\n display: flex;\n font-size: ", ";\n font-weight: ", ";\n justify-content: center;\n line-height: 1.2;\n max-width: 240px;\n overflow-wrap: break-word;\n padding: ", ";\n position: absolute;\n text-align: left;\n white-space: pre-wrap;\n width: max-content;\n word-break: keep-all;\n z-index: 400;\n"])), function (_a) {
10
+ var theme = _a.theme;
11
+ return theme.ui_cpnt_button_tooltip_base;
12
+ }, function (_a) {
13
+ var theme = _a.theme;
14
+ return theme.spacing.spacingA;
15
+ }, function (_a) {
16
+ var theme = _a.theme;
17
+ return theme.ui_cpnt_textlabel_button_tooltip;
18
+ }, function (_a) {
19
+ var theme = _a.theme;
20
+ return theme.desktopFontSize.caption2;
21
+ }, function (_a) {
22
+ var theme = _a.theme;
23
+ return theme.fontWeight.normal;
24
+ }, function (_a) {
25
+ var theme = _a.theme;
26
+ return "".concat(theme.spacing.spacingA, " ").concat(theme.spacing.spacingB);
27
+ });
28
+ var templateObject_1;
@@ -1,4 +1,5 @@
1
1
  import type { FillIconNameKeys, LineIconNameKeys } from './icon';
2
+ import type { IconCaseTooltipPositionType } from './systemUI';
2
3
  import type { PDSTextType } from './text';
3
4
  import type { ForwardedRef } from 'react';
4
5
  export type PDSValueOption = {
@@ -29,7 +30,7 @@ export type BasicButtonGroupValueOption = {
29
30
  iconFillType?: 'fill' | 'line';
30
31
  state?: 'normal' | 'disabled';
31
32
  tooltipText?: PDSTextType;
32
- tooltipPosition?: 'left_top' | 'left_bottom' | 'center_top' | 'center_bottom' | 'right_top' | 'right_bottom';
33
+ tooltipPosition?: IconCaseTooltipPositionType;
33
34
  iconColorTheme?: 'none' | 'red';
34
35
  onClick?: (e: React.MouseEvent<HTMLButtonElement>) => void;
35
36
  onMouseDown?: (e: React.MouseEvent<HTMLButtonElement>) => void;
@@ -40,6 +41,6 @@ export type SegmentedButtonGroupValueOption = Pick<PDSValueOption, 'value'> & {
40
41
  state?: 'normal' | 'disabled';
41
42
  iconColorTheme?: 'none' | 'red';
42
43
  tooltipText?: PDSTextType;
43
- tooltipPosition?: 'left_top' | 'left_bottom' | 'center_top' | 'center_bottom' | 'right_top' | 'right_bottom';
44
+ tooltipPosition?: IconCaseTooltipPositionType;
44
45
  };
45
46
  export type ForwardedRefType<T> = ForwardedRef<T | null>;
@@ -0,0 +1,13 @@
1
+ export type SystemUIPositionType = 'top' | 'bottom' | 'start_top' | 'start_bottom' | 'end_top' | 'end_bottom' | 'left_top' | 'left_bottom' | 'center_top' | 'center_bottom' | 'right_top' | 'right_bottom';
2
+ export type IconCaseTooltipPositionType = Exclude<SystemUIPositionType, 'start_top' | 'start_bottom' | 'end_top' | 'end_bottom'>;
3
+ export type TextCaseTooltipPositionType = Exclude<IconCaseTooltipPositionType, 'center_top' | 'center_bottom'>;
4
+ export type SystemUIPositionOffsetType = {
5
+ top: number;
6
+ right: number;
7
+ bottom: number;
8
+ left: number;
9
+ } | null;
10
+ export type SystemUISizeOffsetType = {
11
+ height: number;
12
+ width: number;
13
+ } | null;
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,13 @@
1
+ import type { SystemUIPositionOffsetType, SystemUISizeOffsetType } from '../../types/systemUI';
2
+ type Props = {
3
+ sizeOffset: SystemUISizeOffsetType;
4
+ positionOffset: SystemUIPositionOffsetType;
5
+ distance?: number;
6
+ };
7
+ /**
8
+ * @property {sizeOffset} systemUI의 sizeOffset입니다.
9
+ * @property {positionOffset} 타겟의 positionOffset입니다.
10
+ * @property {distance} systemUI와 타겟간의 거리입니다. 기본값은 8이며 단위는 px입니다.
11
+ */
12
+ export default function clickTypeSystemUICssGenerator({ sizeOffset, positionOffset, distance }: Props): string;
13
+ export {};
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * @property {sizeOffset} systemUI의 sizeOffset입니다.
5
+ * @property {positionOffset} 타겟의 positionOffset입니다.
6
+ * @property {distance} systemUI와 타겟간의 거리입니다. 기본값은 8이며 단위는 px입니다.
7
+ */
8
+ function clickTypeSystemUICssGenerator(_a) {
9
+ var sizeOffset = _a.sizeOffset, positionOffset = _a.positionOffset, _b = _a.distance, distance = _b === void 0 ? 8 : _b;
10
+ if (!sizeOffset || !positionOffset) {
11
+ return '';
12
+ }
13
+ var height = sizeOffset.height;
14
+ var left = positionOffset.left, bottom = positionOffset.bottom, top = positionOffset.top;
15
+ var bottomDirectionCssValueByPx = bottom + distance;
16
+ var topDirectionCssValueByPx = top - distance - height;
17
+ var isOverBottom = window.innerHeight < bottomDirectionCssValueByPx + height;
18
+ return "left: ".concat(left, "px; top: ").concat(isOverBottom ? topDirectionCssValueByPx : bottomDirectionCssValueByPx, "px;");
19
+ }
20
+ exports.default = clickTypeSystemUICssGenerator;
@@ -0,0 +1,17 @@
1
+ import type { SystemUIPositionOffsetType, SystemUISizeOffsetType, SystemUIPositionType } from '../../types/systemUI';
2
+ type Props = {
3
+ baseSize: number;
4
+ sizeOffset: SystemUISizeOffsetType;
5
+ positionOffset: SystemUIPositionOffsetType;
6
+ systemUIPosition: SystemUIPositionType;
7
+ distance?: number;
8
+ };
9
+ /**
10
+ * @property {baseSize} 타겟의 사이즈입니다.
11
+ * @property {sizeOffset} systemUI의 sizeOffset입니다.
12
+ * @property {positionOffset} 타겟의 positionOffset입니다.
13
+ * @property {systemUIPosition} systemUI의 위치를 결정합니다.
14
+ * @property {distance} systemUI가 화면의 벗어날 경우에 조정되는 position이 가질 화면 limit과의 간격값입니다. 기본값은 8이며 단위는 px입니다.
15
+ */
16
+ export default function hoverTypeSystemUICssGenerator({ baseSize, sizeOffset, positionOffset, systemUIPosition, distance }: Props): string;
17
+ export {};
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * @property {baseSize} 타겟의 사이즈입니다.
5
+ * @property {sizeOffset} systemUI의 sizeOffset입니다.
6
+ * @property {positionOffset} 타겟의 positionOffset입니다.
7
+ * @property {systemUIPosition} systemUI의 위치를 결정합니다.
8
+ * @property {distance} systemUI가 화면의 벗어날 경우에 조정되는 position이 가질 화면 limit과의 간격값입니다. 기본값은 8이며 단위는 px입니다.
9
+ */
10
+ function hoverTypeSystemUICssGenerator(_a) {
11
+ var baseSize = _a.baseSize, sizeOffset = _a.sizeOffset, positionOffset = _a.positionOffset, systemUIPosition = _a.systemUIPosition, _b = _a.distance, distance = _b === void 0 ? 8 : _b;
12
+ if (!sizeOffset || !positionOffset) {
13
+ return '';
14
+ }
15
+ var end = positionOffset.left, bottom = positionOffset.bottom, top = positionOffset.top;
16
+ var width = sizeOffset.width, height = sizeOffset.height;
17
+ var centerSpotCssValueByPx = end - (width - baseSize) / 2; // 'center'의 위치 값 -> 자신의 left 위치 - (아이콘 버튼과의 길이차 / 2)
18
+ var overEndLimitCssValueByPx = end - width + baseSize; // 자신의 'left'에서 자기 자신의 'width'만큼 돌아온 뒤 버튼의 크기만큼 더해주어 끝선을 맞춥니다.
19
+ var overBottomLimitCssValueByPx = bottom + distance;
20
+ var overTopLimitCssValueByPx = top - height - distance;
21
+ var isOverEndLimit = overEndLimitCssValueByPx < 0;
22
+ var isOverEndLimitWhenCenterPosition = centerSpotCssValueByPx < 0;
23
+ var isOverStartLimit = window.innerWidth < end + width;
24
+ var isOverBottomLimit = window.innerHeight < overBottomLimitCssValueByPx + height;
25
+ var isOverTopLimit = overTopLimitCssValueByPx < 0;
26
+ var endDirectionCssProp = "left: ".concat(isOverEndLimit ? distance : overEndLimitCssValueByPx, "px;");
27
+ var startDirectionCssProp = isOverStartLimit
28
+ ? "right: ".concat(distance, "px;")
29
+ : "left: ".concat(isOverStartLimit ? distance : end, "px;");
30
+ var bottomDirectionCssProp = isOverBottomLimit
31
+ ? "bottom: ".concat(distance, "px;")
32
+ : "top: ".concat(overBottomLimitCssValueByPx, "px;");
33
+ var topDirectionCssProp = "top: ".concat(isOverTopLimit ? distance : overTopLimitCssValueByPx, "px;");
34
+ var centerCssPropGenerator = function () {
35
+ if (!isOverEndLimitWhenCenterPosition && !isOverStartLimit) {
36
+ return "left: ".concat(centerSpotCssValueByPx, "px;");
37
+ }
38
+ if (isOverEndLimitWhenCenterPosition) {
39
+ return "left: ".concat(distance, "px;");
40
+ }
41
+ if (isOverStartLimit) {
42
+ return "right: ".concat(distance, "px;");
43
+ }
44
+ return '';
45
+ };
46
+ switch (systemUIPosition) {
47
+ case 'top':
48
+ return "".concat(topDirectionCssProp);
49
+ case 'bottom':
50
+ return "".concat(bottomDirectionCssProp);
51
+ case 'end_top':
52
+ case 'left_top':
53
+ return "".concat(endDirectionCssProp, " ").concat(topDirectionCssProp);
54
+ case 'end_bottom':
55
+ case 'left_bottom':
56
+ return "".concat(endDirectionCssProp, " ").concat(bottomDirectionCssProp);
57
+ case 'center_top':
58
+ return "".concat(centerCssPropGenerator(), " ").concat(topDirectionCssProp);
59
+ case 'center_bottom':
60
+ return "".concat(centerCssPropGenerator(), " ").concat(bottomDirectionCssProp);
61
+ case 'start_top':
62
+ case 'right_top':
63
+ return "".concat(startDirectionCssProp, " ").concat(topDirectionCssProp);
64
+ case 'start_bottom':
65
+ case 'right_bottom':
66
+ return "".concat(startDirectionCssProp, " ").concat(bottomDirectionCssProp);
67
+ default:
68
+ return '';
69
+ }
70
+ }
71
+ exports.default = hoverTypeSystemUICssGenerator;
@@ -0,0 +1 @@
1
+ export { default as hoverTypeSystemUICssGenerator } from './hoverTypeSystemUICssGenerator';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.hoverTypeSystemUICssGenerator = void 0;
7
+ var hoverTypeSystemUICssGenerator_1 = require("./hoverTypeSystemUICssGenerator");
8
+ Object.defineProperty(exports, "hoverTypeSystemUICssGenerator", { enumerable: true, get: function () { return __importDefault(hoverTypeSystemUICssGenerator_1).default; } });
@@ -40,6 +40,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
40
40
  Object.defineProperty(exports, "__esModule", { value: true });
41
41
  var jsx_runtime_1 = require("react/jsx-runtime");
42
42
  var react_1 = require("react");
43
+ var react_dom_1 = require("react-dom");
44
+ var systemUI_1 = require("../../../common/styles/systemUI");
45
+ var SystemUIPositionGenerator_1 = require("../../../common/utils/SystemUIPositionGenerator");
43
46
  var components_1 = require("../../../hybrid/components");
44
47
  var styled_components_1 = __importStar(require("styled-components"));
45
48
  var TextLabel_1 = require("../TextLabel");
@@ -47,6 +50,39 @@ var constants_1 = require("./constants");
47
50
  function BasicButtonGroup(_a) {
48
51
  var _b = _a.size, size = _b === void 0 ? 'medium' : _b, valueArray = _a.valueArray, _c = _a.state, state = _c === void 0 ? 'normal' : _c;
49
52
  var _d = (0, react_1.useState)(null), hoveredButtonIndex = _d[0], setHoveredButtonIndex = _d[1];
53
+ var _e = (0, react_1.useState)(null), tooltipSizeOffset = _e[0], setTooltipSizeOffset = _e[1];
54
+ var _f = (0, react_1.useState)(null), tooltipPositionOffset = _f[0], setTooltipPositionOffset = _f[1];
55
+ var tooltipRef = (0, react_1.useRef)(null);
56
+ var tooltipPositionTargetRef = (0, react_1.useRef)(null);
57
+ /**
58
+ * @when : hoveredButtonIndex 변경되었을 때
59
+ * @expected : tooltipPositionTargetRef, tooltipRef 의 위치를 업데이트합니다.
60
+ * @clear :
61
+ */
62
+ (0, react_1.useEffect)(function () {
63
+ if (hoveredButtonIndex === null) {
64
+ setTooltipSizeOffset(null);
65
+ return;
66
+ }
67
+ if (tooltipPositionTargetRef.current) {
68
+ var _a = tooltipPositionTargetRef.current.getBoundingClientRect(), top_1 = _a.top, right = _a.right, left = _a.left, bottom = _a.bottom;
69
+ var countFromLeft = hoveredButtonIndex;
70
+ var countFromRight = valueArray.length - (hoveredButtonIndex + 1);
71
+ var itemSizeWithGap = constants_1.ICON_BUTTON_SIZE[size] + 4;
72
+ setTooltipPositionOffset({
73
+ top: top_1 + window.scrollY,
74
+ right: right + window.scrollX - itemSizeWithGap * countFromRight,
75
+ bottom: bottom + window.scrollY,
76
+ left: left + window.scrollX + itemSizeWithGap * countFromLeft
77
+ });
78
+ }
79
+ if (tooltipRef.current) {
80
+ setTooltipSizeOffset({
81
+ height: tooltipRef.current.offsetHeight,
82
+ width: tooltipRef.current.offsetWidth
83
+ });
84
+ }
85
+ }, [hoveredButtonIndex]);
50
86
  var getColorKey = function (buttonState, iconColorTheme) {
51
87
  if (state === 'disabled' || buttonState === 'disabled') {
52
88
  return 'ui_cpnt_button_icon_disabled';
@@ -56,9 +92,20 @@ function BasicButtonGroup(_a) {
56
92
  }
57
93
  return 'ui_cpnt_button_icon_enabled';
58
94
  };
59
- return ((0, jsx_runtime_1.jsx)(S_BasicButtonGroup, __assign({ "x-pds-name": "BasicButtonGroup", "x-pds-element-type": "component", "x-pds-device-type": "desktop" }, { children: valueArray.map(function (_a, index) {
60
- var iconName = _a.iconName, _b = _a.iconFillType, iconFillType = _b === void 0 ? 'line' : _b, _c = _a.state, buttonState = _c === void 0 ? 'normal' : _c, onClick = _a.onClick, onMouseDown = _a.onMouseDown, tooltipText = _a.tooltipText, _d = _a.tooltipPosition, tooltipPosition = _d === void 0 ? 'center_bottom' : _d, _e = _a.iconColorTheme, iconColorTheme = _e === void 0 ? 'none' : _e;
61
- return ((0, jsx_runtime_1.jsxs)(S_BasicButton, __assign({ size: size, onClick: function (e) { return onClick && onClick(e); }, onMouseDown: function (e) { return onMouseDown && onMouseDown(e); }, onPointerEnter: function () { return setHoveredButtonIndex(index); }, onPointerLeave: function () { return setHoveredButtonIndex(null); }, disabled: state === 'disabled' || buttonState === 'disabled' }, { children: [(0, jsx_runtime_1.jsx)(components_1.Icon, { iconName: iconName, size: size === 'small' ? 20 : 24, fillType: iconFillType, colorKey: getColorKey(buttonState, iconColorTheme) }), tooltipText && ((0, jsx_runtime_1.jsx)(S_TooltipWrapper, __assign({ className: "TooltipWrapper", isTooltipOpen: hoveredButtonIndex === index, tooltipPosition: tooltipPosition, size: size }, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: tooltipText, colorOverride: "ui_cpnt_textlabel_button_tooltip", styleTheme: "caption2Regular", colorTheme: "sysTextSecondary" }) })))] }), iconName + index));
95
+ return ((0, jsx_runtime_1.jsx)(S_BasicButtonGroup, __assign({ "x-pds-name": "BasicButtonGroup", "x-pds-element-type": "component", "x-pds-device-type": "desktop", ref: tooltipPositionTargetRef }, { children: valueArray.map(function (_a, index) {
96
+ var iconName = _a.iconName, _b = _a.iconFillType, iconFillType = _b === void 0 ? 'line' : _b, _c = _a.state, buttonState = _c === void 0 ? 'normal' : _c, onClick = _a.onClick, onMouseDown = _a.onMouseDown, tooltipText = _a.tooltipText, _d = _a.tooltipPosition, tooltipPosition = _d === void 0 ? 'bottom' : _d, _e = _a.iconColorTheme, iconColorTheme = _e === void 0 ? 'none' : _e;
97
+ var tooltipPositionCss = (0, SystemUIPositionGenerator_1.hoverTypeSystemUICssGenerator)({
98
+ baseSize: constants_1.ICON_BUTTON_SIZE[size],
99
+ sizeOffset: tooltipSizeOffset,
100
+ positionOffset: tooltipPositionOffset,
101
+ systemUIPosition: tooltipPosition.includes('_')
102
+ ? tooltipPosition
103
+ : "center_".concat(tooltipPosition)
104
+ });
105
+ var isHoveredButton = index === hoveredButtonIndex;
106
+ return ((0, jsx_runtime_1.jsxs)(S_BasicButton, __assign({ size: size, onClick: function (e) { return onClick && onClick(e); }, onMouseDown: function (e) { return onMouseDown && onMouseDown(e); }, onPointerEnter: function () { return setHoveredButtonIndex(index); }, onPointerLeave: function () { return setHoveredButtonIndex(null); }, disabled: state === 'disabled' || buttonState === 'disabled' }, { children: [(0, jsx_runtime_1.jsx)(components_1.Icon, { iconName: iconName, size: size === 'small' ? 20 : 24, fillType: iconFillType, colorKey: getColorKey(buttonState, iconColorTheme) }), tooltipText &&
107
+ isHoveredButton &&
108
+ (0, react_dom_1.createPortal)((0, jsx_runtime_1.jsx)(S_TooltipWrapper, __assign({ className: "TooltipWrapper", ref: tooltipRef, tooltipPositionCss: tooltipPositionCss, size: size }, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: tooltipText, colorOverride: "ui_cpnt_textlabel_button_tooltip", styleTheme: "caption2Regular", colorTheme: "sysTextSecondary" }) })), document.body)] }), iconName + index));
62
109
  }) })));
63
110
  }
64
111
  var S_BasicButtonGroup = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n align-items: center;\n display: flex;\n width: max-content;\n\n & > button:not(:last-child) {\n margin-right: ", ";\n }\n"], ["\n align-items: center;\n display: flex;\n width: max-content;\n\n & > button:not(:last-child) {\n margin-right: ", ";\n }\n"])), function (_a) {
@@ -84,44 +131,9 @@ var S_BasicButton = styled_components_1.default.button(templateObject_5 || (temp
84
131
  var theme = _a.theme;
85
132
  return theme.ui_cpnt_basicbuttongroup_base_disabled;
86
133
  });
87
- var tooltipPositionSpacing = (0, styled_components_1.css)(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n ", ";\n"], ["\n ", ";\n"])), function (_a) {
88
- var size = _a.size;
89
- return size &&
90
- {
91
- large: constants_1.TOOLTIP_POSITION_SPACING.large,
92
- medium: constants_1.TOOLTIP_POSITION_SPACING.medium,
93
- small: constants_1.TOOLTIP_POSITION_SPACING.small
94
- }[size];
95
- });
96
- var tooltipLeftTop = (0, styled_components_1.css)(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n bottom: ", ";\n right: 0;\n"], ["\n bottom: ", ";\n right: 0;\n"])), tooltipPositionSpacing);
97
- var tooltipLeftBottom = (0, styled_components_1.css)(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n right: 0;\n top: ", ";\n"], ["\n right: 0;\n top: ", ";\n"])), tooltipPositionSpacing);
98
- var tooltipCenterTop = (0, styled_components_1.css)(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n bottom: ", ";\n"], ["\n bottom: ", ";\n"])), tooltipPositionSpacing);
99
- var tooltipCenterBottom = (0, styled_components_1.css)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n top: ", ";\n"], ["\n top: ", ";\n"])), tooltipPositionSpacing);
100
- var tooltipRightTop = (0, styled_components_1.css)(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n bottom: ", ";\n left: 0;\n"], ["\n bottom: ", ";\n left: 0;\n"])), tooltipPositionSpacing);
101
- var tooltipRightBottom = (0, styled_components_1.css)(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n left: 0;\n top: ", ";\n"], ["\n left: 0;\n top: ", ";\n"])), tooltipPositionSpacing);
102
- var S_TooltipWrapper = styled_components_1.default.div(templateObject_13 || (templateObject_13 = __makeTemplateObject(["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n padding: ", ";\n position: absolute;\n width: max-content;\n z-index: 400;\n\n ", ";\n\n ", "\n"], ["\n align-items: center;\n background-color: ", ";\n border-radius: ", ";\n box-sizing: border-box;\n display: flex;\n justify-content: center;\n padding: ", ";\n position: absolute;\n width: max-content;\n z-index: 400;\n\n ", ";\n\n ", "\n"])), function (_a) {
103
- var theme = _a.theme;
104
- return theme.ui_cpnt_button_tooltip_base;
105
- }, function (_a) {
106
- var theme = _a.theme;
107
- return theme.spacing.spacingA;
108
- }, function (_a) {
109
- var theme = _a.theme;
110
- return "".concat(theme.spacing.spacingA, " ").concat(theme.spacing.spacingB);
111
- }, function (_a) {
112
- var isTooltipOpen = _a.isTooltipOpen;
113
- return !isTooltipOpen && 'display: none';
114
- }, function (_a) {
115
- var tooltipPosition = _a.tooltipPosition;
116
- return tooltipPosition &&
117
- {
118
- left_top: tooltipLeftTop,
119
- left_bottom: tooltipLeftBottom,
120
- center_top: tooltipCenterTop,
121
- center_bottom: tooltipCenterBottom,
122
- right_top: tooltipRightTop,
123
- right_bottom: tooltipRightBottom
124
- }[tooltipPosition];
134
+ var S_TooltipWrapper = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n ", "\n\n ", ";\n"], ["\n ", "\n\n ", ";\n"])), systemUI_1.TooltipWrapperStyle, function (_a) {
135
+ var tooltipPositionCss = _a.tooltipPositionCss;
136
+ return tooltipPositionCss;
125
137
  });
126
138
  exports.default = BasicButtonGroup;
127
- 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;
139
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
@@ -3,9 +3,3 @@ export declare const ICON_BUTTON_SIZE: {
3
3
  medium: number;
4
4
  small: number;
5
5
  };
6
- export declare const ICON_BUTTON_TOOLTIP_SPACING = 8;
7
- export declare const TOOLTIP_POSITION_SPACING: {
8
- large: string;
9
- medium: string;
10
- small: string;
11
- };
@@ -1,15 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TOOLTIP_POSITION_SPACING = exports.ICON_BUTTON_TOOLTIP_SPACING = exports.ICON_BUTTON_SIZE = void 0;
3
+ exports.ICON_BUTTON_SIZE = void 0;
4
4
  exports.ICON_BUTTON_SIZE = {
5
5
  large: 48,
6
6
  medium: 40,
7
7
  small: 32
8
8
  };
9
- exports.ICON_BUTTON_TOOLTIP_SPACING = 8;
10
- // NOTE - iconSize 크기에 따라 위치를 이동시켜주고, iconButtonSize에 간격까지 8px을 추가해준 값입니다.(IconButton과 tooltip의 간격)
11
- exports.TOOLTIP_POSITION_SPACING = {
12
- large: "calc(".concat(exports.ICON_BUTTON_SIZE.large, "px + ").concat(exports.ICON_BUTTON_TOOLTIP_SPACING, "px)"),
13
- medium: "calc(".concat(exports.ICON_BUTTON_SIZE.medium, "px + ").concat(exports.ICON_BUTTON_TOOLTIP_SPACING, "px)"),
14
- small: "calc(".concat(exports.ICON_BUTTON_SIZE.small, "px + ").concat(exports.ICON_BUTTON_TOOLTIP_SPACING, "px)")
15
- };
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { PlacementTypes } from './Popup';
3
2
  import type { PDSTextType, PDSValueOption } from '../../../common';
4
3
  type Props = {
5
4
  titleText?: PDSTextType;
@@ -9,9 +8,8 @@ type Props = {
9
8
  hoverMode?: 'none' | 'use';
10
9
  contextMenuOptionArray?: PDSValueOption[];
11
10
  contextMenuState?: 'normal' | 'disabled';
12
- colorTheme?: 'seller' | 'seller_transparent' | 'subscriber' | 'subscriber_transparent' | 'secondary_transparent_grey' | 'white_transparent_grey';
13
- contextMenuPosition?: PlacementTypes;
11
+ colorTheme?: 'seller' | 'seller_transparent' | 'subscriber' | 'subscriber_transparent' | 'secondary_transparent_grey' | 'white_transparent_grey' | 'brand_primary_solid' | 'brand_primary_translucent' | 'secondary_transparent' | 'white_transparent';
14
12
  onClickContextMenuItem?: (option: PDSValueOption) => void;
15
13
  };
16
- declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, contextMenuPosition, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
14
+ declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
17
15
  export default BasicChatListItem;
@@ -33,7 +33,11 @@ var titleTextColors = {
33
33
  subscriber: 'sysTextSecondary',
34
34
  subscriber_transparent: 'sysTextWhite',
35
35
  secondary_transparent_grey: 'sysTextSecondary',
36
- white_transparent_grey: 'sysTextWhite'
36
+ white_transparent_grey: 'sysTextWhite',
37
+ brand_primary_solid: 'usrTextBrandPrimary',
38
+ brand_primary_translucent: 'usrTextBrandPrimary',
39
+ secondary_transparent: 'sysTextSecondary',
40
+ white_transparent: 'sysTextWhite'
37
41
  };
38
42
  var backgroundColorTheme = {
39
43
  seller: 'ui_cpnt_list_base_area_seller',
@@ -41,11 +45,15 @@ var backgroundColorTheme = {
41
45
  subscriber: 'ui_cpnt_list_base_area',
42
46
  subscriber_transparent: 'ui_cpnt_list_base_area_transparent',
43
47
  secondary_transparent_grey: 'ui_cpnt_list_base_area',
44
- white_transparent_grey: 'ui_cpnt_list_base_area_transparent'
48
+ white_transparent_grey: 'ui_cpnt_list_base_area_transparent',
49
+ brand_primary_solid: 'ui_cpnt_list_base_area_seller',
50
+ brand_primary_translucent: 'ui_cpnt_list_base_area_transparent_seller',
51
+ secondary_transparent: 'ui_cpnt_list_base_area',
52
+ white_transparent: 'ui_cpnt_list_base_area_transparent'
45
53
  };
46
54
  function BasicChatListItem(_a) {
47
- var titleText = _a.titleText, contentText = _a.contentText, _b = _a.leftImageMode, leftImageMode = _b === void 0 ? 'none' : _b, imageSrc = _a.imageSrc, _c = _a.hoverMode, hoverMode = _c === void 0 ? 'use' : _c, contextMenuOptionArray = _a.contextMenuOptionArray, _d = _a.contextMenuPosition, contextMenuPosition = _d === void 0 ? 'v-auto' : _d, onClickContextMenuItem = _a.onClickContextMenuItem, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, _f = _a.colorTheme, colorTheme = _f === void 0 ? 'subscriber' : _f;
48
- var _g = (0, react_1.useState)(false), isContextMenuOpen = _g[0], setIsContextMenuOpen = _g[1];
55
+ var titleText = _a.titleText, contentText = _a.contentText, _b = _a.leftImageMode, leftImageMode = _b === void 0 ? 'none' : _b, imageSrc = _a.imageSrc, _c = _a.hoverMode, hoverMode = _c === void 0 ? 'use' : _c, contextMenuOptionArray = _a.contextMenuOptionArray, onClickContextMenuItem = _a.onClickContextMenuItem, _d = _a.contextMenuState, contextMenuState = _d === void 0 ? 'normal' : _d, _e = _a.colorTheme, colorTheme = _e === void 0 ? 'secondary_transparent' : _e;
56
+ var _f = (0, react_1.useState)(false), isContextMenuOpen = _f[0], setIsContextMenuOpen = _f[1];
49
57
  var contextMenuRef = (0, react_1.useRef)(null);
50
58
  var chatBody = document.querySelector('#chatMessageBox');
51
59
  var chatBodyRect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
@@ -79,6 +87,7 @@ function BasicChatListItem(_a) {
79
87
  var contentTextColorOverride;
80
88
  var iconColorKey;
81
89
  switch (colorTheme) {
90
+ case 'white_transparent':
82
91
  case 'subscriber_transparent': {
83
92
  contentTextColorTheme = 'sysTextWhite';
84
93
  iconColorKey = 'ui_cpnt_button_icon_white';
@@ -98,7 +107,7 @@ function BasicChatListItem(_a) {
98
107
  iconColorKey = 'ui_cpnt_button_icon_enabled';
99
108
  }
100
109
  }
101
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(S_BasicChatListItem, __assign({ "x-pds-name": "BasicChatListItem", "x-pds-element-type": "component", "x-pds-device-type": "desktop", colorTheme: colorTheme }, { children: [leftImageMode === 'use' && ((0, jsx_runtime_1.jsx)(S_ImageViewWrapper, { children: (0, jsx_runtime_1.jsx)(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: "responsive" }) })), (0, jsx_runtime_1.jsx)(S_TitleTextWrapper, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", wordBreak: "break_all", colorTheme: titleTextColors[colorTheme] }) }), (0, jsx_runtime_1.jsx)(S_ContentTextWrapper, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: contentText, styleTheme: "caption1Regular", colorTheme: contentTextColorTheme, colorOverride: contentTextColorOverride, wordBreak: "break_all" }) }), hoverMode === 'use' && ((0, jsx_runtime_1.jsx)(S_SeeMoreButton, __assign({ isContextMenuOpen: isContextMenuOpen, hoverMode: hoverMode, ref: contextMenuRef }, { children: (0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { fillType: "fill", baseSize: "xsmall", iconFillType: "fill", iconSize: 20, iconName: "ic_more", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: iconColorKey, onClick: handleMoreButtonClick }) }))), (0, jsx_runtime_1.jsx)(Popup_1.PopupProvider, { children: (0, jsx_runtime_1.jsx)(Popup_1.Popup, __assign({ targetRef: contextMenuRef, isOpen: isContextMenuOpen, placement: contextMenuPosition, wrapperHeight: chatBodyRect === null || chatBodyRect === void 0 ? void 0 : chatBodyRect.height, onClickOutside: function () { return setIsContextMenuOpen(false); } }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ onMouseLeave: function () { return setIsContextMenuOpen(false); } }, { children: (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu, { children: contextMenuOptionArray === null || contextMenuOptionArray === void 0 ? void 0 : contextMenuOptionArray.map(function (el) { return ((0, jsx_runtime_1.jsx)(ContextMenuItem_1.ContextMenuItem, { option: el, onClick: handleContextMenuItemClick, state: contextMenuState }, el.value)); }) }) })) })) })] })) }));
110
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(S_BasicChatListItem, __assign({ "x-pds-name": "BasicChatListItem", "x-pds-element-type": "component", "x-pds-device-type": "desktop", colorTheme: colorTheme }, { children: [leftImageMode === 'use' && ((0, jsx_runtime_1.jsx)(S_ImageViewWrapper, { children: (0, jsx_runtime_1.jsx)(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: "responsive" }) })), (0, jsx_runtime_1.jsx)(S_TitleTextWrapper, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", wordBreak: "break_all", colorTheme: titleTextColors[colorTheme] }) }), (0, jsx_runtime_1.jsx)(S_ContentTextWrapper, { children: (0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: contentText, styleTheme: "caption1Regular", colorTheme: contentTextColorTheme, colorOverride: contentTextColorOverride, wordBreak: "break_all" }) }), hoverMode === 'use' && ((0, jsx_runtime_1.jsx)(S_SeeMoreButton, __assign({ isContextMenuOpen: isContextMenuOpen, hoverMode: hoverMode, ref: contextMenuRef }, { children: (0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { fillType: "fill", baseSize: "xsmall", iconFillType: "fill", iconSize: 20, iconName: "ic_more", baseColorKey: "ui_cpnt_button_fill_base_transparent", iconColorKey: iconColorKey, onClick: handleMoreButtonClick }) }))), (0, jsx_runtime_1.jsx)(Popup_1.PopupProvider, { children: (0, jsx_runtime_1.jsx)(Popup_1.Popup, __assign({ targetRef: contextMenuRef, isOpen: isContextMenuOpen, placement: "top-end", wrapperHeight: chatBodyRect === null || chatBodyRect === void 0 ? void 0 : chatBodyRect.height, onClickOutside: function () { return setIsContextMenuOpen(false); } }, { children: (0, jsx_runtime_1.jsx)("div", __assign({ onMouseLeave: function () { return setIsContextMenuOpen(false); } }, { children: (0, jsx_runtime_1.jsx)(ContextMenu_1.ContextMenu, { children: contextMenuOptionArray === null || contextMenuOptionArray === void 0 ? void 0 : contextMenuOptionArray.map(function (el) { return ((0, jsx_runtime_1.jsx)(ContextMenuItem_1.ContextMenuItem, { option: el, onClick: handleContextMenuItemClick, state: contextMenuState }, el.value)); }) }) })) })) })] })) }));
102
111
  }
103
112
  var S_BasicChatListItem = styled_components_1.default.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n background-color: ", ";\n display: flex;\n height: fit-content;\n max-width: 100%;\n min-height: 24px;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"], ["\n background-color: ", ";\n display: flex;\n height: fit-content;\n max-width: 100%;\n min-height: 24px;\n padding-bottom: ", ";\n padding-left: ", ";\n padding-right: ", ";\n padding-top: ", ";\n"])), function (_a) {
104
113
  var colorTheme = _a.colorTheme, theme = _a.theme;
@@ -1,5 +1,4 @@
1
1
  /// <reference types="react" />
2
- import { PlacementTypes } from './Popup';
3
2
  import type { PDSTextType, PDSValueOption } from '../../../common';
4
3
  type ColorThemeType = 'grey' | 'brand_primary' | 'translucent_white' | 'translucent_black';
5
4
  export type ChatBubbleListItemProps = {
@@ -10,11 +9,12 @@ export type ChatBubbleListItemProps = {
10
9
  colorTheme?: ColorThemeType;
11
10
  timeMode?: 'none' | 'use';
12
11
  timeText?: PDSTextType;
12
+ countMode?: 'none' | 'use';
13
+ countText?: PDSTextType;
13
14
  contextMenuOptionArray?: PDSValueOption[];
14
15
  contextMenuState?: 'normal' | 'disabled';
15
- contextMenuPosition?: PlacementTypes;
16
16
  children?: React.ReactNode;
17
17
  onClickContextMenuItem?: (option: PDSValueOption) => void;
18
18
  };
19
- declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, contextMenuOptionArray, contextMenuState, contextMenuPosition, children, onClickContextMenuItem }: ChatBubbleListItemProps): JSX.Element;
19
+ declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, countMode, countText, contextMenuOptionArray, contextMenuState, children, onClickContextMenuItem }: ChatBubbleListItemProps): JSX.Element;
20
20
  export default ChatBubbleListItem;