pds-dev-kit-web 2.2.254 → 2.2.255

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 (37) hide show
  1. package/dist/src/common/hooks/index.d.ts +1 -0
  2. package/dist/src/common/hooks/index.js +3 -1
  3. package/dist/src/common/hooks/useScrollbarDetector.d.ts +9 -0
  4. package/dist/src/common/hooks/useScrollbarDetector.js +70 -0
  5. package/dist/src/common/services/i18n/resources/en.json +1 -2
  6. package/dist/src/common/services/i18n/resources/es.json +1 -2
  7. package/dist/src/common/services/i18n/resources/fil.json +1 -2
  8. package/dist/src/common/services/i18n/resources/index.d.ts +0 -7
  9. package/dist/src/common/services/i18n/resources/ja.json +1 -2
  10. package/dist/src/common/services/i18n/resources/ko.json +1 -2
  11. package/dist/src/common/services/i18n/resources/zh-cn.json +1 -2
  12. package/dist/src/common/services/i18n/resources/zh-tw.json +1 -2
  13. package/dist/src/common/styles/colorSet/UIColor.json +1 -6
  14. package/dist/src/common/styles/colorSet/index.d.ts +126 -131
  15. package/dist/src/common/styles/colorSet/index.js +2 -2
  16. package/dist/src/common/styles/colorSet/ui-type.d.ts +0 -5
  17. package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +1 -12
  18. package/dist/src/desktop/components/ChatBubbleListItem/ChatBubbleListItem.js +7 -12
  19. package/dist/src/desktop/components/EditApplyTextField/EditApplyTextField.js +6 -3
  20. package/dist/src/desktop/components/TextField/TextField.js +12 -7
  21. package/dist/src/hybrid/components/LottieIcon/LottieIcon.js +1 -1
  22. package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.d.ts +1 -12
  23. package/dist/src/mobile/components/ChatBubbleListItem/ChatBubbleListItem.js +7 -12
  24. package/package.json +1 -1
  25. package/release-note.md +2 -2
  26. package/dist/src/desktop/components/ChatBubbleListItem/components/ReactionBubble.d.ts +0 -11
  27. package/dist/src/desktop/components/ChatBubbleListItem/components/ReactionBubble.js +0 -86
  28. package/dist/src/desktop/components/ChatBubbleListItem/components/ReactionRow.d.ts +0 -18
  29. package/dist/src/desktop/components/ChatBubbleListItem/components/ReactionRow.js +0 -133
  30. package/dist/src/desktop/components/ChatBubbleListItem/components/index.d.ts +0 -1
  31. package/dist/src/desktop/components/ChatBubbleListItem/components/index.js +0 -8
  32. package/dist/src/mobile/components/ChatBubbleListItem/components/ReactionBubble.d.ts +0 -11
  33. package/dist/src/mobile/components/ChatBubbleListItem/components/ReactionBubble.js +0 -86
  34. package/dist/src/mobile/components/ChatBubbleListItem/components/ReactionRow.d.ts +0 -18
  35. package/dist/src/mobile/components/ChatBubbleListItem/components/ReactionRow.js +0 -126
  36. package/dist/src/mobile/components/ChatBubbleListItem/components/index.d.ts +0 -1
  37. package/dist/src/mobile/components/ChatBubbleListItem/components/index.js +0 -8
@@ -1,3 +1,4 @@
1
1
  export { default as useAbsolutePositioner } from './useAbsolutePositioner';
2
2
  export { default as useDetectOverflow } from './useDetectOverflow';
3
3
  export { default as usePrevious } from './usePrevious';
4
+ export { useScrollbarDetector } from './useScrollbarDetector';
@@ -3,10 +3,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.usePrevious = exports.useDetectOverflow = exports.useAbsolutePositioner = void 0;
6
+ exports.useScrollbarDetector = exports.usePrevious = exports.useDetectOverflow = exports.useAbsolutePositioner = void 0;
7
7
  var useAbsolutePositioner_1 = require("./useAbsolutePositioner");
8
8
  Object.defineProperty(exports, "useAbsolutePositioner", { enumerable: true, get: function () { return __importDefault(useAbsolutePositioner_1).default; } });
9
9
  var useDetectOverflow_1 = require("./useDetectOverflow");
10
10
  Object.defineProperty(exports, "useDetectOverflow", { enumerable: true, get: function () { return __importDefault(useDetectOverflow_1).default; } });
11
11
  var usePrevious_1 = require("./usePrevious");
12
12
  Object.defineProperty(exports, "usePrevious", { enumerable: true, get: function () { return __importDefault(usePrevious_1).default; } });
13
+ var useScrollbarDetector_1 = require("./useScrollbarDetector");
14
+ Object.defineProperty(exports, "useScrollbarDetector", { enumerable: true, get: function () { return useScrollbarDetector_1.useScrollbarDetector; } });
@@ -0,0 +1,9 @@
1
+ import { RefObject } from 'react';
2
+ /**
3
+ * textarea 요소의 스크롤바 존재 여부를 감지하는 훅
4
+ * @param ref - textarea 또는 textarea를 포함하는 컨테이너의 ref
5
+ * @param textLineType - 텍스트 라인 타입 ('multi' | 'auto'일 때만 동작)
6
+ * @param currentValue - 현재 입력값 (값 변경 시 스크롤바 상태 재확인용)
7
+ * @returns hasScrollbar - 스크롤바 존재 여부
8
+ */
9
+ export declare function useScrollbarDetector(ref: RefObject<HTMLElement>, textLineType: 'single' | 'multi' | 'auto', currentValue?: string): boolean;
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useScrollbarDetector = void 0;
4
+ var react_1 = require("react");
5
+ /**
6
+ * textarea 요소의 스크롤바 존재 여부를 감지하는 훅
7
+ * @param ref - textarea 또는 textarea를 포함하는 컨테이너의 ref
8
+ * @param textLineType - 텍스트 라인 타입 ('multi' | 'auto'일 때만 동작)
9
+ * @param currentValue - 현재 입력값 (값 변경 시 스크롤바 상태 재확인용)
10
+ * @returns hasScrollbar - 스크롤바 존재 여부
11
+ */
12
+ function useScrollbarDetector(ref, textLineType, currentValue) {
13
+ var _a = (0, react_1.useState)(false), hasScrollbar = _a[0], setHasScrollbar = _a[1];
14
+ (0, react_1.useEffect)(function () {
15
+ if (textLineType === 'single' || !ref.current) {
16
+ setHasScrollbar(false);
17
+ return;
18
+ }
19
+ var checkScrollbar = function () {
20
+ if (!ref.current)
21
+ return;
22
+ var textarea = ref.current;
23
+ if (ref.current.tagName !== 'TEXTAREA') {
24
+ textarea = ref.current.querySelector('textarea');
25
+ }
26
+ if (textarea) {
27
+ var hasVerticalScrollbar = textarea.scrollHeight > textarea.clientHeight;
28
+ setHasScrollbar(hasVerticalScrollbar);
29
+ }
30
+ };
31
+ var timeoutId = setTimeout(checkScrollbar, 100);
32
+ var resizeObserver = null;
33
+ if (window.ResizeObserver && ref.current) {
34
+ resizeObserver = new ResizeObserver(checkScrollbar);
35
+ var textarea = ref.current;
36
+ if (ref.current.tagName !== 'TEXTAREA') {
37
+ textarea = ref.current.querySelector('textarea');
38
+ }
39
+ if (textarea) {
40
+ resizeObserver.observe(textarea);
41
+ }
42
+ }
43
+ return function () {
44
+ clearTimeout(timeoutId);
45
+ if (resizeObserver) {
46
+ resizeObserver.disconnect();
47
+ }
48
+ };
49
+ }, [ref, textLineType]);
50
+ (0, react_1.useEffect)(function () {
51
+ if (textLineType === 'single' || !ref.current) {
52
+ return;
53
+ }
54
+ var timeoutId = setTimeout(function () {
55
+ if (!ref.current)
56
+ return;
57
+ var textarea = ref.current;
58
+ if (ref.current.tagName !== 'TEXTAREA') {
59
+ textarea = ref.current.querySelector('textarea');
60
+ }
61
+ if (textarea) {
62
+ var hasVerticalScrollbar = textarea.scrollHeight > textarea.clientHeight;
63
+ setHasScrollbar(hasVerticalScrollbar);
64
+ }
65
+ }, 0);
66
+ return function () { return clearTimeout(timeoutId); };
67
+ }, [currentValue, textLineType, ref]);
68
+ return hasScrollbar;
69
+ }
70
+ exports.useScrollbarDetector = useScrollbarDetector;
@@ -102,7 +102,6 @@
102
102
  "str_9069": "If French is not entered, members will see the content in English.",
103
103
  "str_9070": "If Spanish is not entered, members will see the content in English.",
104
104
  "str_upload": "Upload",
105
- "str_delete": "Delete",
106
- "str_reaction": "Reaction"
105
+ "str_delete": "Delete"
107
106
  }
108
107
  }
@@ -102,7 +102,6 @@
102
102
  "str_9069": "Si no ingresa en francés, se mostrará a los miembros en inglés.",
103
103
  "str_9070": "Si no ingresa en español, se mostrará a los miembros en inglés.",
104
104
  "str_upload": "Subir",
105
- "str_delete": "borrar",
106
- "str_reaction": "Reaction"
105
+ "str_delete": "borrar"
107
106
  }
108
107
  }
@@ -95,7 +95,6 @@
95
95
  "str_friendly_currency_jpy": "JPY",
96
96
  "str_friendly_currency_dollar": "dolyar",
97
97
  "str_upload": "Upload",
98
- "str_delete": "Tanggalin",
99
- "str_reaction": "Reaction"
98
+ "str_delete": "Tanggalin"
100
99
  }
101
100
  }
@@ -105,7 +105,6 @@ declare const locale: {
105
105
  str_9070: string;
106
106
  str_upload: string;
107
107
  str_delete: string;
108
- str_reaction: string;
109
108
  };
110
109
  };
111
110
  readonly en: {
@@ -213,7 +212,6 @@ declare const locale: {
213
212
  str_9070: string;
214
213
  str_upload: string;
215
214
  str_delete: string;
216
- str_reaction: string;
217
215
  };
218
216
  };
219
217
  readonly ja: {
@@ -321,7 +319,6 @@ declare const locale: {
321
319
  str_9070: string;
322
320
  str_upload: string;
323
321
  str_delete: string;
324
- str_reaction: string;
325
322
  };
326
323
  };
327
324
  readonly es: {
@@ -429,7 +426,6 @@ declare const locale: {
429
426
  str_9070: string;
430
427
  str_upload: string;
431
428
  str_delete: string;
432
- str_reaction: string;
433
429
  };
434
430
  };
435
431
  readonly 'zh-cn': {
@@ -537,7 +533,6 @@ declare const locale: {
537
533
  str_9070: string;
538
534
  str_upload: string;
539
535
  str_delete: string;
540
- str_reaction: string;
541
536
  };
542
537
  };
543
538
  readonly 'zh-tw': {
@@ -645,7 +640,6 @@ declare const locale: {
645
640
  str_9070: string;
646
641
  str_upload: string;
647
642
  str_delete: string;
648
- str_reaction: string;
649
643
  };
650
644
  };
651
645
  readonly fil: {
@@ -746,7 +740,6 @@ declare const locale: {
746
740
  str_friendly_currency_dollar: string;
747
741
  str_upload: string;
748
742
  str_delete: string;
749
- str_reaction: string;
750
743
  };
751
744
  };
752
745
  };
@@ -102,7 +102,6 @@
102
102
  "str_9069": "フランス語を入力しないと、メンバーに英語で表示されます。",
103
103
  "str_9070": "スペイン語を入力しないと、会員に英語で表示されます。",
104
104
  "str_upload": "アップロード",
105
- "str_delete": "削除",
106
- "str_reaction": "Reaction"
105
+ "str_delete": "削除"
107
106
  }
108
107
  }
@@ -103,7 +103,6 @@
103
103
  "str_9069": "프랑스어를 입력하지 않을 경우, 회원에게 영어로 보여집니다.",
104
104
  "str_9070": "스페인어를 입력하지 않을 경우, 회원에게 영어로 보여집니다.",
105
105
  "str_upload": "업로드",
106
- "str_delete": "삭제",
107
- "str_reaction": "반응"
106
+ "str_delete": "삭제"
108
107
  }
109
108
  }
@@ -102,7 +102,6 @@
102
102
  "str_9069": "如果您不输入法语,则会员以英文显示给会员。",
103
103
  "str_9070": "如果您不输入西班牙语,它将以英文显示给会员。",
104
104
  "str_upload": "上传",
105
- "str_delete": "删除",
106
- "str_reaction": "Reaction"
105
+ "str_delete": "删除"
107
106
  }
108
107
  }
@@ -102,7 +102,6 @@
102
102
  "str_9069": "如果您不輸入法語,則以英文顯示給會員。",
103
103
  "str_9070": "如果您不輸入西班牙語,則以英文顯示給會員。",
104
104
  "str_upload": "上傳",
105
- "str_delete": "刪除",
106
- "str_reaction": "Reaction"
105
+ "str_delete": "刪除"
107
106
  }
108
107
  }
@@ -905,10 +905,5 @@
905
905
  "ui_142": "sys_widget_grey_08",
906
906
  "ui_143": "sys_on_base_hover_01",
907
907
  "ui_144": "sys_on_base_pressed_01",
908
- "ui_cpnt_badge_base_confirm": "sys_component_base_green",
909
- "ui_cpnt_message_reaction_base_01": "sys_component_pastel_base_01",
910
- "ui_cpnt_message_reaction_base_02": "sys_component_pastel_base_02",
911
- "ui_cpnt_message_reaction_base_03": "sys_component_pastel_base_03",
912
- "ui_cpnt_message_reaction_base_04": "sys_component_pastel_base_04",
913
- "ui_cpnt_message_reaction_base_05": "sys_component_pastel_base_05"
908
+ "ui_cpnt_badge_base_confirm": "sys_component_base_green"
914
909
  }
@@ -1,129 +1,5 @@
1
1
  declare const colorSet: {
2
- readonly SemanticColor: {
3
- blue500: string;
4
- blue700: string;
5
- blue300: string;
6
- green700: string;
7
- green500: string;
8
- green300: string;
9
- red500: string;
10
- grey900: string;
11
- grey500: string;
12
- grey400: string;
13
- grey100: string;
14
- grey50: string;
15
- white: string;
16
- black: string;
17
- darkblue500: string;
18
- grey950: string;
19
- darkgrey900: string;
20
- darkgrey500: string;
21
- darkgrey400: string;
22
- darkgrey100: string;
23
- darkgrey50: string;
24
- darkred500: string;
25
- darkgreen700: string;
26
- orange500: string;
27
- darkorange500: string;
28
- opacity00: string;
29
- opacity20: string;
30
- opacity30: string;
31
- opacity65: string;
32
- darkgreen500: string;
33
- grey70: string;
34
- navy500: string;
35
- lightgreen500: string;
36
- pink500: string;
37
- darkgrey70: string;
38
- darknavy500: string;
39
- darkpink500: string;
40
- darklightgreen500: string;
41
- opacity10: string;
42
- grey600: string;
43
- darkgrey600: string;
44
- skyblue500: string;
45
- skyblue300: string;
46
- pink300: string;
47
- lightpink500: string;
48
- darkblue300: string;
49
- darkblue700: string;
50
- darkgreen300: string;
51
- darkskyblue500: string;
52
- navy100: string;
53
- darknavy100: string;
54
- opacity80: string;
55
- opacity50: string;
56
- grey30: string;
57
- opacity95: string;
58
- darkgrey30: string;
59
- opacity40: string;
60
- kakaoyellow: string;
61
- pastelblue500: string;
62
- pastelpink500: string;
63
- pastelorange500: string;
64
- pastelgreen500: string;
65
- pastelpurple500: string;
66
- darkpastelblue500: string;
67
- darkpastelpink500: string;
68
- darkpastelorange500: string;
69
- darkpastelgreen500: string;
70
- darkpastelpurple500: string;
71
- green30: string;
72
- darkgreen30: string;
73
- orange50: string;
74
- darkorange50: string;
75
- orange30: string;
76
- darkorange30: string;
77
- green50: string;
78
- darkgreen50: string;
79
- opacity90: string;
80
- facebookblue: string;
81
- opacity05: string;
82
- opacity15: string;
83
- grey80: string;
84
- grey200: string;
85
- darkgrey80: string;
86
- darkgrey200: string;
87
- opacity70: string;
88
- opacity60: string;
89
- skyblue100: string;
90
- green100: string;
91
- darkgreen100: string;
92
- darkskyblue100: string;
93
- opacity25: string;
94
- opacity35: string;
95
- grey10: string;
96
- darkgrey10: string;
97
- blue50: string;
98
- darkblue50: string;
99
- blue10: string;
100
- red10: string;
101
- green10: string;
102
- blue30: string;
103
- red30: string;
104
- orange300: string;
105
- darkorange300: string;
106
- darkpink300: string;
107
- pastelblue300: string;
108
- darkpastelblue300: string;
109
- softpurple500: string;
110
- darksoftpurple500: string;
111
- coolpink500: string;
112
- darkcoolpink500: string;
113
- brown500: string;
114
- darkbrown500: string;
115
- yellow300: string;
116
- darkyellow300: string;
117
- grey20: string;
118
- darkgrey20: string;
119
- grey300: string;
120
- darkgrey300: string;
121
- yellow500: string;
122
- darkyellow500: string;
123
- grey450: string;
124
- darkgrey450: string;
125
- };
126
- readonly PaletteColor_light: {
2
+ readonly PaletteColor_Dark: {
127
3
  sys_container_background_01: string;
128
4
  sys_container_background_02: string;
129
5
  sys_container_background_03: string;
@@ -506,7 +382,131 @@ declare const colorSet: {
506
382
  sys_on_base_hover_01: string;
507
383
  sys_on_base_pressed_01: string;
508
384
  };
509
- readonly PaletteColor_Dark: {
385
+ readonly SemanticColor: {
386
+ blue500: string;
387
+ blue700: string;
388
+ blue300: string;
389
+ green700: string;
390
+ green500: string;
391
+ green300: string;
392
+ red500: string;
393
+ grey900: string;
394
+ grey500: string;
395
+ grey400: string;
396
+ grey100: string;
397
+ grey50: string;
398
+ white: string;
399
+ black: string;
400
+ darkblue500: string;
401
+ grey950: string;
402
+ darkgrey900: string;
403
+ darkgrey500: string;
404
+ darkgrey400: string;
405
+ darkgrey100: string;
406
+ darkgrey50: string;
407
+ darkred500: string;
408
+ darkgreen700: string;
409
+ orange500: string;
410
+ darkorange500: string;
411
+ opacity00: string;
412
+ opacity20: string;
413
+ opacity30: string;
414
+ opacity65: string;
415
+ darkgreen500: string;
416
+ grey70: string;
417
+ navy500: string;
418
+ lightgreen500: string;
419
+ pink500: string;
420
+ darkgrey70: string;
421
+ darknavy500: string;
422
+ darkpink500: string;
423
+ darklightgreen500: string;
424
+ opacity10: string;
425
+ grey600: string;
426
+ darkgrey600: string;
427
+ skyblue500: string;
428
+ skyblue300: string;
429
+ pink300: string;
430
+ lightpink500: string;
431
+ darkblue300: string;
432
+ darkblue700: string;
433
+ darkgreen300: string;
434
+ darkskyblue500: string;
435
+ navy100: string;
436
+ darknavy100: string;
437
+ opacity80: string;
438
+ opacity50: string;
439
+ grey30: string;
440
+ opacity95: string;
441
+ darkgrey30: string;
442
+ opacity40: string;
443
+ kakaoyellow: string;
444
+ pastelblue500: string;
445
+ pastelpink500: string;
446
+ pastelorange500: string;
447
+ pastelgreen500: string;
448
+ pastelpurple500: string;
449
+ darkpastelblue500: string;
450
+ darkpastelpink500: string;
451
+ darkpastelorange500: string;
452
+ darkpastelgreen500: string;
453
+ darkpastelpurple500: string;
454
+ green30: string;
455
+ darkgreen30: string;
456
+ orange50: string;
457
+ darkorange50: string;
458
+ orange30: string;
459
+ darkorange30: string;
460
+ green50: string;
461
+ darkgreen50: string;
462
+ opacity90: string;
463
+ facebookblue: string;
464
+ opacity05: string;
465
+ opacity15: string;
466
+ grey80: string;
467
+ grey200: string;
468
+ darkgrey80: string;
469
+ darkgrey200: string;
470
+ opacity70: string;
471
+ opacity60: string;
472
+ skyblue100: string;
473
+ green100: string;
474
+ darkgreen100: string;
475
+ darkskyblue100: string;
476
+ opacity25: string;
477
+ opacity35: string;
478
+ grey10: string;
479
+ darkgrey10: string;
480
+ blue50: string;
481
+ darkblue50: string;
482
+ blue10: string;
483
+ red10: string;
484
+ green10: string;
485
+ blue30: string;
486
+ red30: string;
487
+ orange300: string;
488
+ darkorange300: string;
489
+ darkpink300: string;
490
+ pastelblue300: string;
491
+ darkpastelblue300: string;
492
+ softpurple500: string;
493
+ darksoftpurple500: string;
494
+ coolpink500: string;
495
+ darkcoolpink500: string;
496
+ brown500: string;
497
+ darkbrown500: string;
498
+ yellow300: string;
499
+ darkyellow300: string;
500
+ grey20: string;
501
+ darkgrey20: string;
502
+ grey300: string;
503
+ darkgrey300: string;
504
+ yellow500: string;
505
+ darkyellow500: string;
506
+ grey450: string;
507
+ darkgrey450: string;
508
+ };
509
+ readonly PaletteColor_light: {
510
510
  sys_container_background_01: string;
511
511
  sys_container_background_02: string;
512
512
  sys_container_background_03: string;
@@ -1797,11 +1797,6 @@ declare const colorSet: {
1797
1797
  ui_143: string;
1798
1798
  ui_144: string;
1799
1799
  ui_cpnt_badge_base_confirm: string;
1800
- ui_cpnt_message_reaction_base_01: string;
1801
- ui_cpnt_message_reaction_base_02: string;
1802
- ui_cpnt_message_reaction_base_03: string;
1803
- ui_cpnt_message_reaction_base_04: string;
1804
- ui_cpnt_message_reaction_base_05: string;
1805
1800
  };
1806
1801
  };
1807
1802
  export default colorSet;
@@ -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 PaletteColor_Dark_json_1 = __importDefault(require("./PaletteColor_Dark.json"));
7
8
  var SemanticColor_json_1 = __importDefault(require("./SemanticColor.json"));
8
9
  var PaletteColor_light_json_1 = __importDefault(require("./PaletteColor_light.json"));
9
- var PaletteColor_Dark_json_1 = __importDefault(require("./PaletteColor_Dark.json"));
10
10
  var UIColor_json_1 = __importDefault(require("./UIColor.json"));
11
11
  var colorSet = {
12
+ PaletteColor_Dark: PaletteColor_Dark_json_1.default,
12
13
  SemanticColor: SemanticColor_json_1.default,
13
14
  PaletteColor_light: PaletteColor_light_json_1.default,
14
- PaletteColor_Dark: PaletteColor_Dark_json_1.default,
15
15
  UIColor: UIColor_json_1.default
16
16
  };
17
17
  exports.default = colorSet;
@@ -906,9 +906,4 @@ export interface UITheme {
906
906
  ui_143: string;
907
907
  ui_144: string;
908
908
  ui_cpnt_badge_base_confirm: string;
909
- ui_cpnt_message_reaction_base_01: string;
910
- ui_cpnt_message_reaction_base_02: string;
911
- ui_cpnt_message_reaction_base_03: string;
912
- ui_cpnt_message_reaction_base_04: string;
913
- ui_cpnt_message_reaction_base_05: string;
914
909
  }
@@ -1,12 +1,6 @@
1
1
  /// <reference types="react" />
2
2
  import type { PDSTextType, PDSValueOption } from '../../../common';
3
3
  type ColorThemeType = 'grey' | 'brand_primary' | 'translucent_white' | 'translucent_black' | 'transparent';
4
- type ReactionType = 'heart' | 'like' | 'confetti';
5
- type ReactionValueOption = {
6
- type: ReactionType;
7
- count: number;
8
- };
9
- type ReactionArrayType = ReactionValueOption[];
10
4
  export type ChatBubbleListItemProps = {
11
5
  titleText?: PDSTextType;
12
6
  imageSrc?: string;
@@ -20,13 +14,8 @@ export type ChatBubbleListItemProps = {
20
14
  contextMenuState?: 'normal' | 'disabled';
21
15
  children?: React.ReactNode;
22
16
  downloadIBtnMode?: 'use' | 'none';
23
- reactionBtnMode?: 'use' | 'none';
24
- reactionBtnText?: string;
25
- reactionArray?: ReactionArrayType;
26
- reactionBubblePosition?: 'top' | 'bottom';
27
17
  onClickContextMenuItem?: (option: PDSValueOption) => void;
28
18
  onClickDownloadIBtn?: () => void;
29
- onClickReactionBtn?: (type: ReactionType) => void;
30
19
  };
31
- declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, labelText, contextMenuOptionArray, contextMenuState, children, downloadIBtnMode, reactionBtnMode, reactionBtnText, reactionArray, reactionBubblePosition, onClickContextMenuItem, onClickDownloadIBtn, onClickReactionBtn }: ChatBubbleListItemProps): JSX.Element;
20
+ declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, labelText, contextMenuOptionArray, contextMenuState, children, downloadIBtnMode, onClickContextMenuItem, onClickDownloadIBtn }: ChatBubbleListItemProps): JSX.Element;
32
21
  export default ChatBubbleListItem;
@@ -50,7 +50,6 @@ var ContextMenuItem_1 = require("../ContextMenuItem");
50
50
  var IconButton_1 = require("../IconButton");
51
51
  var TextLabel_1 = require("../TextLabel");
52
52
  var ChatBubble_1 = __importDefault(require("./ChatBubble"));
53
- var components_1 = require("./components");
54
53
  var Popup_1 = require("./Popup");
55
54
  var chatBubbleTailType = {
56
55
  other_avatar_impact: 'left_top',
@@ -69,8 +68,8 @@ var profileImageBorderColorTheme = {
69
68
  transparent: 'ui_cpnt_list_chatbubble_base_transparent'
70
69
  };
71
70
  function ChatBubbleListItem(_a) {
72
- var titleText = _a.titleText, imageSrc = _a.imageSrc, _b = _a.hoverMode, hoverMode = _b === void 0 ? 'use' : _b, styleTheme = _a.styleTheme, _c = _a.colorTheme, colorTheme = _c === void 0 ? 'grey' : _c, _d = _a.timeMode, timeMode = _d === void 0 ? 'use' : _d, timeText = _a.timeText, labelText = _a.labelText, contextMenuOptionArray = _a.contextMenuOptionArray, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, children = _a.children, _f = _a.downloadIBtnMode, downloadIBtnMode = _f === void 0 ? 'none' : _f, _g = _a.reactionBtnMode, reactionBtnMode = _g === void 0 ? 'none' : _g, _h = _a.reactionBtnText, reactionBtnText = _h === void 0 ? '-' : _h, reactionArray = _a.reactionArray, _j = _a.reactionBubblePosition, reactionBubblePosition = _j === void 0 ? 'bottom' : _j, onClickContextMenuItem = _a.onClickContextMenuItem, onClickDownloadIBtn = _a.onClickDownloadIBtn, onClickReactionBtn = _a.onClickReactionBtn;
73
- var _k = (0, react_1.useState)(false), isContextMenuOpen = _k[0], setIsContextMenuOpen = _k[1];
71
+ var titleText = _a.titleText, imageSrc = _a.imageSrc, _b = _a.hoverMode, hoverMode = _b === void 0 ? 'use' : _b, styleTheme = _a.styleTheme, _c = _a.colorTheme, colorTheme = _c === void 0 ? 'grey' : _c, _d = _a.timeMode, timeMode = _d === void 0 ? 'use' : _d, timeText = _a.timeText, labelText = _a.labelText, contextMenuOptionArray = _a.contextMenuOptionArray, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, children = _a.children, _f = _a.downloadIBtnMode, downloadIBtnMode = _f === void 0 ? 'none' : _f, onClickContextMenuItem = _a.onClickContextMenuItem, onClickDownloadIBtn = _a.onClickDownloadIBtn;
72
+ var _g = (0, react_1.useState)(false), isContextMenuOpen = _g[0], setIsContextMenuOpen = _g[1];
74
73
  var contextMenuRef = (0, react_1.useRef)(null);
75
74
  var chatBody = document.querySelector('#chatMessageBox');
76
75
  var rect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
@@ -136,7 +135,7 @@ function ChatBubbleListItem(_a) {
136
135
  }
137
136
  setIsContextMenuOpen(false);
138
137
  };
139
- return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(S_ChatBubbleListItem, __assign({ "x-pds-name": "ChatBubbleListItem", "x-pds-element-type": "component", "x-pds-device-type": "desktop", isMe: isMe }, { children: [hasLeftSpacing ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isProfileImageShow ? ((0, jsx_runtime_1.jsx)(S_ImageViewWrapper, __assign({ isOtherAvatarImpact: styleTheme === 'other_avatar_impact', colorTheme: colorTheme }, { children: (0, jsx_runtime_1.jsx)(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: styleTheme === 'other_avatar_impact' ? 36 : 38 }) }))) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_g", spacingType: "width" })) })) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })), (0, jsx_runtime_1.jsxs)(S_RightBox, { children: [isTitleTextShow && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: titleTextColorTheme }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_b" })] })), (0, jsx_runtime_1.jsxs)(S_ChatBubbleBox, __assign({ isMe: isMe }, { children: [(0, jsx_runtime_1.jsxs)(S_ChatBubbleWrapper, __assign({ isMe: isMe }, { children: [(0, jsx_runtime_1.jsxs)(S_BubbleWrapper, { children: [isMe && ((0, jsx_runtime_1.jsxs)(S_Box, { children: [downloadIBtnMode === 'use' && (0, jsx_runtime_1.jsx)("div", { style: { height: '32px', width: '1px' } }), (0, jsx_runtime_1.jsx)(S_DownloadIconWrapper, __assign({ isMe: isMe }, { children: downloadIBtnMode === 'use' && ((0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { shapeType: "circular", iconFillType: "fill", baseColorKey: "ui_cpnt_list_chatbubble_download_button_base", iconColorKey: "ui_cpnt_button_icon_white", iconSize: 16, iconName: "ic_download", onClick: onClickDownloadIBtn })) })), (0, jsx_runtime_1.jsxs)(S_TimeWrapper, __assign({ isMe: isMe }, { children: [labelText && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: labelText, styleTheme: "caption2Bold", colorTheme: "sysTextTertiary" })), timeMode === 'use' && timeText && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }))] }))] })), (0, jsx_runtime_1.jsx)(ChatBubble_1.default, __assign({ colorTheme: colorTheme, tailType: chatBubbleTailType[styleTheme] }, { children: children })), !isMe && ((0, jsx_runtime_1.jsxs)(S_Box, { children: [downloadIBtnMode === 'use' && (0, jsx_runtime_1.jsx)("div", { style: { height: '32px', width: '1px' } }), (0, jsx_runtime_1.jsx)(S_DownloadIconWrapper, __assign({ isMe: isMe }, { children: downloadIBtnMode === 'use' && ((0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { shapeType: "circular", iconFillType: "fill", baseColorKey: "ui_cpnt_list_chatbubble_download_button_base", iconColorKey: "ui_cpnt_button_icon_white", iconSize: 16, iconName: "ic_download", onClick: onClickDownloadIBtn })) })), (0, jsx_runtime_1.jsxs)(S_TimeWrapper, __assign({ isMe: isMe }, { children: [labelText && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: labelText, styleTheme: "caption2Bold", colorTheme: "sysTextTertiary" })), timeMode === 'use' && timeText && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }))] }))] }))] }), (0, jsx_runtime_1.jsx)(components_1.ReactionRow, { isMe: isMe, downloadIBtnMode: downloadIBtnMode, reactionBtnMode: reactionBtnMode, reactionArray: reactionArray, reactionBtnText: reactionBtnText, reactionBubblePosition: reactionBubblePosition, onClickReactionBtn: onClickReactionBtn })] })), hoverMode === 'use' && !isMe && ((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: "ui_cpnt_button_icon_enabled", 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: rect === null || rect === void 0 ? void 0 : rect.height, onClickOutside: 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)); }) }) })) })] })) }));
138
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(S_ChatBubbleListItem, __assign({ "x-pds-name": "ChatBubbleListItem", "x-pds-element-type": "component", "x-pds-device-type": "desktop", isMe: isMe }, { children: [hasLeftSpacing ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isProfileImageShow ? ((0, jsx_runtime_1.jsx)(S_ImageViewWrapper, __assign({ isOtherAvatarImpact: styleTheme === 'other_avatar_impact', colorTheme: colorTheme }, { children: (0, jsx_runtime_1.jsx)(hybrid_1.ImageView, { shapeType: "circular", ratio: "1_1", scaleType: "cover", src: imageSrc, width: styleTheme === 'other_avatar_impact' ? 36 : 38 }) }))) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_g", spacingType: "width" })) })) : ((0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })), (0, jsx_runtime_1.jsxs)(S_RightBox, { children: [isTitleTextShow && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: titleTextColorTheme }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_b" })] })), (0, jsx_runtime_1.jsxs)(S_ChatBubbleBox, { children: [(0, jsx_runtime_1.jsxs)(S_ChatBubbleWrapper, __assign({ isMe: isMe }, { children: [isMe && ((0, jsx_runtime_1.jsxs)(S_Box, { children: [downloadIBtnMode === 'use' && (0, jsx_runtime_1.jsx)("div", { style: { height: '32px', width: '1px' } }), (0, jsx_runtime_1.jsx)(S_DownloadIconWrapper, __assign({ isMe: isMe }, { children: downloadIBtnMode === 'use' && ((0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { shapeType: "circular", iconFillType: "fill", baseColorKey: "ui_cpnt_list_chatbubble_download_button_base", iconColorKey: "ui_cpnt_button_icon_white", iconSize: 16, iconName: "ic_download", onClick: onClickDownloadIBtn })) })), (0, jsx_runtime_1.jsxs)(S_TimeWrapper, __assign({ isMe: isMe }, { children: [labelText && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: labelText, styleTheme: "caption2Bold", colorTheme: "sysTextTertiary" })), timeMode === 'use' && timeText && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }))] }))] })), (0, jsx_runtime_1.jsx)(ChatBubble_1.default, __assign({ colorTheme: colorTheme, tailType: chatBubbleTailType[styleTheme] }, { children: children })), !isMe && ((0, jsx_runtime_1.jsxs)(S_Box, { children: [downloadIBtnMode === 'use' && (0, jsx_runtime_1.jsx)("div", { style: { height: '32px', width: '1px' } }), (0, jsx_runtime_1.jsx)(S_DownloadIconWrapper, __assign({ isMe: isMe }, { children: downloadIBtnMode === 'use' && ((0, jsx_runtime_1.jsx)(IconButton_1.IconButton, { shapeType: "circular", iconFillType: "fill", baseColorKey: "ui_cpnt_list_chatbubble_download_button_base", iconColorKey: "ui_cpnt_button_icon_white", iconSize: 16, iconName: "ic_download", onClick: onClickDownloadIBtn })) })), (0, jsx_runtime_1.jsxs)(S_TimeWrapper, __assign({ isMe: isMe }, { children: [labelText && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: labelText, styleTheme: "caption2Bold", colorTheme: "sysTextTertiary" })), timeMode === 'use' && timeText && ((0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }))] }))] }))] })), hoverMode === 'use' && !isMe && ((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: "ui_cpnt_button_icon_enabled", 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: rect === null || rect === void 0 ? void 0 : rect.height, onClickOutside: 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)); }) }) })) })] })) }));
140
139
  }
141
140
  var MyChatBubbleListItem = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
142
141
  var theme = _a.theme;
@@ -170,14 +169,11 @@ var S_DownloadIconWrapper = styled_components_1.default.div(templateObject_7 ||
170
169
  return isMe && theme.spacing.spacingB;
171
170
  });
172
171
  var S_Box = styled_components_1.default.div(templateObject_8 || (templateObject_8 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n"], ["\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n"])));
173
- var S_ChatBubbleBox = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n\n ", ";\n"], ["\n display: flex;\n justify-content: space-between;\n\n ", ";\n"])), function (_a) {
174
- var isMe = _a.isMe;
175
- return isMe && MyChatBubble;
176
- });
172
+ var S_ChatBubbleBox = styled_components_1.default.div(templateObject_9 || (templateObject_9 = __makeTemplateObject(["\n display: flex;\n justify-content: space-between;\n"], ["\n display: flex;\n justify-content: space-between;\n"])));
177
173
  var MyChatBubble = (0, styled_components_1.css)(templateObject_10 || (templateObject_10 = __makeTemplateObject(["\n justify-content: flex-end;\n"], ["\n justify-content: flex-end;\n"])));
178
- var S_ChatBubbleWrapper = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n align-items: ", ";\n display: flex;\n flex: 1;\n flex-direction: column;\n max-width: fit-content;\n"], ["\n align-items: ", ";\n display: flex;\n flex: 1;\n flex-direction: column;\n max-width: fit-content;\n"])), function (_a) {
174
+ var S_ChatBubbleWrapper = styled_components_1.default.div(templateObject_11 || (templateObject_11 = __makeTemplateObject(["\n display: flex;\n flex: 1;\n\n ", ";\n"], ["\n display: flex;\n flex: 1;\n\n ", ";\n"])), function (_a) {
179
175
  var isMe = _a.isMe;
180
- return isMe && 'flex-end';
176
+ return isMe && MyChatBubble;
181
177
  });
182
178
  var S_TimeWrapper = styled_components_1.default.div(templateObject_12 || (templateObject_12 = __makeTemplateObject(["\n align-items: ", ";\n align-self: ", ";\n display: flex;\n flex-direction: column;\n padding-left: ", ";\n padding-right: ", ";\n"], ["\n align-items: ", ";\n align-self: ", ";\n display: flex;\n flex-direction: column;\n padding-left: ", ";\n padding-right: ", ";\n"])), function (_a) {
183
179
  var isMe = _a.isMe;
@@ -205,6 +201,5 @@ var S_SeeMoreButton = styled_components_1.default.div(templateObject_13 || (temp
205
201
  var hoverMode = _a.hoverMode;
206
202
  return hoverMode === 'use' && '1';
207
203
  });
208
- var S_BubbleWrapper = styled_components_1.default.div(templateObject_14 || (templateObject_14 = __makeTemplateObject(["\n display: flex;\n"], ["\n display: flex;\n"])));
209
204
  exports.default = ChatBubbleListItem;
210
- 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, templateObject_14;
205
+ 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;