pds-dev-kit-web 2.2.4 → 2.2.5

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.
@@ -341,5 +341,6 @@
341
341
  "sys_sw_sidebar_label_icon_normal_02": "darkblue500",
342
342
  "sys_text_black_02": "black/opacity60",
343
343
  "sys_sw_sidebar_item_text_disabled": "darkgrey400/opacity70",
344
- "sys_text_grey_05": "darkgrey400/opacity20"
344
+ "sys_text_grey_05": "darkgrey400/opacity20",
345
+ "sys_text_white_02": "white/opacity50"
345
346
  }
@@ -341,5 +341,6 @@
341
341
  "sys_sw_sidebar_label_icon_normal_02": "darkblue500",
342
342
  "sys_text_black_02": "black/opacity60",
343
343
  "sys_sw_sidebar_item_text_disabled": "darkgrey400/opacity70",
344
- "sys_text_grey_05": "grey400/opacity20"
344
+ "sys_text_grey_05": "grey400/opacity20",
345
+ "sys_text_white_02": "white/opacity50"
345
346
  }
@@ -834,5 +834,6 @@
834
834
  "ui_cpnt_modalwithtab_sidetab_default": "sys_component_base_white_opacity00",
835
835
  "ui_cpnt_modalwithtab_sidetab_hover": "sys_component_base_01",
836
836
  "ui_cpnt_modalwithtab_sidetab_pressed": "sys_component_base_04",
837
- "ui_107": "sys_component_border_white_opacity20"
837
+ "ui_107": "sys_component_border_white_opacity20",
838
+ "ui_cpnt_textlabel_sys_white_02": "sys_text_white_02"
838
839
  }
@@ -463,351 +463,7 @@ declare const colorSet: {
463
463
  sys_text_black_02: string;
464
464
  sys_sw_sidebar_item_text_disabled: string;
465
465
  sys_text_grey_05: string;
466
- };
467
- readonly PaletteColor_Dark: {
468
- sys_container_background_01: string;
469
- sys_container_background_02: string;
470
- sys_container_background_03: string;
471
- sys_background_dimmed: string;
472
- sys_text_grey_01: string;
473
- sys_text_grey_02: string;
474
- sys_text_grey_03: string;
475
- sys_text_white: string;
476
- sys_text_brand_primary: string;
477
- sys_text_error_01: string;
478
- sys_widget_grey_01: string;
479
- sys_widget_grey_02: string;
480
- sys_widget_grey_03: string;
481
- sys_widget_primary_01: string;
482
- sys_widget_error_01: string;
483
- sys_widget_warning_01: string;
484
- sys_widget_success_01: string;
485
- sys_widget_white: string;
486
- sys_border_area_01: string;
487
- sys_border_line_01: string;
488
- sys_border_line_02: string;
489
- sys_border_line_03: string;
490
- sys_border_line_04: string;
491
- sys_border_line_05: string;
492
- sys_component_base_01: string;
493
- sys_component_base_02: string;
494
- sys_component_base_03: string;
495
- sys_component_base_red: string;
496
- sys_component_base_white: string;
497
- sys_component_base_white_opacity00: string;
498
- sys_on_base_white_opacity00: string;
499
- sys_on_base_white_opacity30: string;
500
- sys_on_base_black_opacity20: string;
501
- usr_brand_primary: string;
502
- usr_brand_secondary: string;
503
- usr_brand_secondary_variant: string;
504
- usr_background: string;
505
- usr_surface: string;
506
- usr_border: string;
507
- usr_on_brand_primary: string;
508
- usr_on_brand_secondary: string;
509
- usr_on_background: string;
510
- usr_on_surface: string;
511
- sys_widget_status_active_01: string;
512
- sys_text_success_01: string;
513
- sys_widget_grey_04: string;
514
- sys_text_active: string;
515
- sys_component_base_blue: string;
516
- sys_on_base_black_opacity65: string;
517
- sys_component_base_04: string;
518
- sys_component_base_black: string;
519
- sys_component_base_black_opacity00: string;
520
- usr_text_brand_secondary_variant: string;
521
- usr_text_brand_primary: string;
522
- usr_text_brand_on_primary: string;
523
- sys_text_brand_secondary_variant: string;
524
- sys_component_base_navy: string;
525
- sys_widget_lightgreen: string;
526
- sys_border_line_06: string;
527
- sys_background_dimmed_20: string;
528
- sys_widget_pink: string;
529
- sys_widget_primary_opacity20: string;
530
- sys_widget_secondary_variant_01: string;
531
- usr_component_base_brand_primary_opacity10: string;
532
- sys_temp_grey_01: string;
533
- sys_temp_grey_02: string;
534
- sys_temp_grey_03: string;
535
- sys_temp_grey_04: string;
536
- sys_temp_grey_05: string;
537
- sys_temp_white: string;
538
- sys_temp_primary_01: string;
539
- sys_temp_secondary_01: string;
540
- sys_temp_red: string;
541
- sys_temp_white_opacity_00: string;
542
- sys_temp_dimmed: string;
543
- sys_temp_black: string;
544
- sys_temp_primary_02: string;
545
- sys_temp_primary_03: string;
546
- sys_temp_secondary_02: string;
547
- sys_temp_lightgreen_01: string;
548
- sys_text_grey_04: string;
549
- sys_papp_post_social_background: string;
550
- sys_papp_post_notice_background: string;
551
- sys_papp_post_free_background: string;
552
- sys_papp_vod_background: string;
553
- sys_papp_vodplus_background: string;
554
- sys_papp_live_background: string;
555
- sys_selcontrols_base_off_disabled: string;
556
- sys_selcontrols_base_on_disabled: string;
557
- sys_component_base_blue_opacity10: string;
558
- sys_component_base_05: string;
559
- sys_background_dimmed_65: string;
560
- sys_temp_grey_06: string;
561
- sys_on_base_white_opacity10: string;
562
- sys_on_base_black_opacity10: string;
563
- sys_component_base_05_opacity00: string;
564
- sys_papp_post_notice_link: string;
565
- sys_component_base_navy_light: string;
566
- sys_component_base_orange: string;
567
- sys_component_base_grey: string;
568
- sys_component_base_black_opacity80: string;
569
- sys_text_darkgrey_02: string;
570
- sys_border_line_darktheme_01: string;
571
- sys_border_line_darktheme_02: string;
572
- sys_component_base_darktheme_01: string;
573
- sys_component_base_darktheme_02: string;
574
- sys_component_base_darktheme_03: string;
575
- sys_text_grey_darktheme_01: string;
576
- sys_text_grey_darktheme_02: string;
577
- sys_text_grey_darktheme_03: string;
578
- sys_widget_grey_darktheme_01: string;
579
- sys_widget_grey_darktheme_02: string;
580
- sys_widget_grey_darktheme_03: string;
581
- sys_component_base_green: string;
582
- sys_text_error_darktheme_01: string;
583
- sys_border_line_darktheme_03: string;
584
- sys_border_line_darktheme_04: string;
585
- usr_widget_brand_primary_darktheme_01: string;
586
- usr_text_brand_primary_darktheme_01: string;
587
- sys_component_base_black_opacity50: string;
588
- sys_component_base_card: string;
589
- sys_cpnt_textlabel_sys_brand_primary_opacity50: string;
590
- sys_widget_green_01: string;
591
- sys_component_base_black_opacity30: string;
592
- sys_area_background: string;
593
- sys_border_white_opacity30: string;
594
- sys_container_background_wt: string;
595
- sys_channeldesc_grey_03: string;
596
- sys_channeldesc_border_grey_03: string;
597
- sys_gradient_base_01: string;
598
- sys_gradient_base_01_opacity00: string;
599
- sys_channeldesc_background: string;
600
- sys_channeldesc_bottomsheet_base: string;
601
- sys_channeldesc_bottomsheet_border: string;
602
- sys_channeldesc_contents_base: string;
603
- sys_channeldesc_dimmed: string;
604
- sys_gradient_base_01_opacity50: string;
605
- sys_gradient_base_01_opacity75: string;
606
- sys_gradient_base_01_opacity40: string;
607
- sys_widget_black: string;
608
- usr_temp_primary_01: string;
609
- sys_cpnt_sheet_base_02_opacity50: string;
610
- usr_menu_primarymenu_main: string;
611
- usr_menu_primarymenu_sub: string;
612
- usr_menu_secondarymenu_main: string;
613
- usr_menu_secondarymenu_sub: string;
614
- usr_menu_hover: string;
615
- usr_menu_active: string;
616
- usr_menu_background: string;
617
- sys_cpnt_base_white_opacity50: string;
618
- sys_widget_dark_01: string;
619
- usr_menu_background_gradient_opacity00: string;
620
- sys_border_line_white: string;
621
- sys_component_base_white_opacity10: string;
622
- sys_cpnt_sheet_base_01: string;
623
- sys_component_base_white_opacity20: string;
624
- sys_border_line_07: string;
625
- sys_border_line_white_opacity50: string;
626
- sys_background_dimmed_02: string;
627
- sys_border_line_08: string;
628
- sys_component_base_06: string;
629
- sys_component_base_07: string;
630
- sys_border_line_09: string;
631
- sys_component_base_darktheme_04: string;
632
- sys_border_line_10: string;
633
- sys_component_base_darktheme_05: string;
634
- sys_border_line_darktheme_05: string;
635
- sys_component_base_darktheme_06: string;
636
- sys_border_line_darktheme_06: string;
637
- sys_border_line_darktheme_07: string;
638
- sys_border_line_11: string;
639
- sys_base_dimmed_01: string;
640
- sys_kakao: string;
641
- sys_border_line_12: string;
642
- sys_component_base_08: string;
643
- sys_text_social_login_01: string;
644
- sys_text_social_login_02: string;
645
- sys_papp_livechat_link: string;
646
- sys_text_lighttone_grey_01: string;
647
- sys_widget_lighttone_primary_01: string;
648
- sys_text_lighttone_grey_02: string;
649
- sys_component_base_09: string;
650
- sys_component_base_darktheme_opacity20: string;
651
- sys_component_base_darktheme_disabled_opacity20: string;
652
- sys_border_white_opacity00: string;
653
- sys_border_line_darktheme_07_opacity00: string;
654
- sys_border_line_darktheme_02_opacity20: string;
655
- sys_border_line_darktheme_03_opacity20: string;
656
- sys_border_line_darktheme_07_opacity20: string;
657
- sys_component_base_grey_02_opacity80: string;
658
- sys_component_base_10: string;
659
- sys_component_pastel_base_01: string;
660
- sys_component_pastel_base_02: string;
661
- sys_component_pastel_base_03: string;
662
- sys_component_pastel_base_04: string;
663
- sys_component_pastel_base_05: string;
664
- sys_component_base_11: string;
665
- sys_loading_skeleton_01: string;
666
- sys_loading_skeleton_02: string;
667
- sys_loading_linear_bar: string;
668
- sys_loading_linear_base: string;
669
- sys_loading_three_bar: string;
670
- sys_widget_grey_05: string;
671
- sys_menu_background_transparent: string;
672
- sys_container_background_04: string;
673
- sys_menu_button_base: string;
674
- sys_background_dimmed_03: string;
675
- sys_cpnt_sheet_base_03: string;
676
- sys_dimmed_gradient_01: string;
677
- sys_dimmed_gradient_02: string;
678
- sys_border_line_13: string;
679
- sys_component_base_12: string;
680
- sys_border_line_14: string;
681
- sys_component_base_13: string;
682
- sys_component_base_14: string;
683
- sys_component_base_15: string;
684
- sys_component_base_16: string;
685
- sys_component_base_17: string;
686
- sys_widget_red_01: string;
687
- sys_widget_orange_01: string;
688
- sys_text_warning_01: string;
689
- sys_component_base_18: string;
690
- sys_cpnt_sheet_base_04: string;
691
- sys_cpnt_sheet_base_05: string;
692
- sys_cpnt_sheet_base_06: string;
693
- sys_facebook: string;
694
- sys_component_base_19: string;
695
- sys_cpnt_pagination_dot_01: string;
696
- sys_cpnt_pagination_dot_02: string;
697
- sys_component_base_white_opacity50: string;
698
- sys_component_base_20: string;
699
- sys_component_base_22: string;
700
- sys_component_base_21: string;
701
- sys_component_border_white_opacity20: string;
702
- sys_component_base_23: string;
703
- sys_component_base_darkgreen: string;
704
- sys_component_base_24: string;
705
- sys_border_line_15: string;
706
- sys_border_line_16: string;
707
- sys_component_base_hover_01: string;
708
- sys_component_on_base_01: string;
709
- sys_component_on_base_02: string;
710
- sys_component_on_base_03: string;
711
- sys_component_on_base_04: string;
712
- sys_component_on_base_05: string;
713
- sys_component_base_hover_02: string;
714
- sys_component_base_pressed_01: string;
715
- sys_widget_white_02: string;
716
- sys_component_base_hover_03: string;
717
- sys_component_base_pressed_02: string;
718
- sys_component_base_25: string;
719
- sys_editor_base_pages: string;
720
- sys_editor_base_papp: string;
721
- sys_text_black: string;
722
- sys_component_base_26: string;
723
- sys_component_base_27: string;
724
- sys_component_base_28: string;
725
- sys_widget_sidebar_label_text: string;
726
- sys_component_base_hover_darktheme: string;
727
- sys_component_base_pressed_darktheme: string;
728
- sys_component_base_hover_white: string;
729
- sys_component_base_pressed_white: string;
730
- sys_component_base_hover_transparent: string;
731
- sys_component_base_pressed_transparent: string;
732
- sys_text_white_opacity_01: string;
733
- sys_component_base_hover_04: string;
734
- sys_component_base_pressed_03: string;
735
- sys_cpnt_sheet_base_07: string;
736
- sys_cpnt_sheet_base_08: string;
737
- sys_cpnt_sheet_base_09: string;
738
- sys_cpnt_sheet_base_10: string;
739
- sys_component_base_29: string;
740
- sys_storyboard_group_base_grey01: string;
741
- sys_storyboard_group_base_blue01: string;
742
- sys_storyboard_group_base_red01: string;
743
- sys_storyboard_group_base_green01: string;
744
- sys_storyboard_card_base_blue01: string;
745
- sys_storyboard_card_base_red01: string;
746
- sys_storyboard_card_base_green01: string;
747
- sys_brand_secondary_variant: string;
748
- sys_button_tooltip_base: string;
749
- sys_text_button_tooltip: string;
750
- sys_membership_button_base: string;
751
- sys_membership_item_membership_base: string;
752
- sys_membership_item_price_product_base: string;
753
- sys_component_base_30: string;
754
- sys_component_base_31: string;
755
- sys_component_base_32: string;
756
- sys_component_base_33: string;
757
- sys_component_base_34: string;
758
- sys_component_base_35: string;
759
- sys_component_base_36: string;
760
- sys_component_base_37: string;
761
- sys_component_base_38: string;
762
- sys_plan_base_01: string;
763
- sys_plan_base_02: string;
764
- sys_plan_base_03: string;
765
- sys_text_warning_02: string;
766
- sys_component_base_39: string;
767
- sys_component_base_40: string;
768
- sys_component_base_41: string;
769
- sys_cpnt_slider_track: string;
770
- sys_cpnt_slider_track_active: string;
771
- sys_cpnt_slider_thumb_normal: string;
772
- sys_cpnt_slider_thumb_disabled: string;
773
- sys_cpnt_slider_thumb_hover_circle: string;
774
- sys_cpnt_slider_thumb_pressed_circle: string;
775
- sys_cpnt_slider_track_disabled: string;
776
- sys_component_base_42: string;
777
- sys_component_base_43: string;
778
- sys_icon_grey_darktheme_01: string;
779
- sys_icon_grey_darktheme_02: string;
780
- sys_icon_grey_darktheme_03: string;
781
- sys_widget_grey_01_opacity_50: string;
782
- sys_editor_layout_header: string;
783
- sys_editor_layout_navigation_panel: string;
784
- sys_editor_layout_canvas_area: string;
785
- sys_editor_layout_control_panel: string;
786
- sys_editor_layout_property_panel: string;
787
- sys_editor_layout_navigation_panel_section_item_area_normal: string;
788
- sys_component_base_44: string;
789
- sys_sw_sidebar_base: string;
790
- sys_sw_sidebar_label_text_normal: string;
791
- sys_sw_sidebar_item_text_normal: string;
792
- sys_sw_sidebar_item_text_selected: string;
793
- sys_sw_sidebar_label_icon_normal_01: string;
794
- sys_sw_sidebar_item_icon_normal: string;
795
- sys_sw_sidebar_item_icon_selected: string;
796
- sys_sw_sidebar_badge_base_01: string;
797
- sys_sw_sidebar_badge_base_02: string;
798
- sys_sw_sidebar_badge_text_01: string;
799
- sys_sw_sidebar_badge_text_02: string;
800
- sys_sw_sidebar_divider: string;
801
- sys_sw_sidebar_label_base_normal: string;
802
- sys_sw_sidebar_label_base_hover: string;
803
- sys_sw_sidebar_label_base_pressed: string;
804
- sys_sw_sidebar_item_base_normal: string;
805
- sys_sw_sidebar_item_base_hover: string;
806
- sys_sw_sidebar_item_base_pressed: string;
807
- sys_sw_sidebar_label_icon_normal_02: string;
808
- sys_text_black_02: string;
809
- sys_sw_sidebar_item_text_disabled: string;
810
- sys_text_grey_05: string;
466
+ sys_text_white_02: string;
811
467
  };
812
468
  readonly UIColor: {
813
469
  ui_cpnt_button_fill_base_primary: string;
@@ -1646,6 +1302,353 @@ declare const colorSet: {
1646
1302
  ui_cpnt_modalwithtab_sidetab_hover: string;
1647
1303
  ui_cpnt_modalwithtab_sidetab_pressed: string;
1648
1304
  ui_107: string;
1305
+ ui_cpnt_textlabel_sys_white_02: string;
1306
+ };
1307
+ readonly PaletteColor_Dark: {
1308
+ sys_container_background_01: string;
1309
+ sys_container_background_02: string;
1310
+ sys_container_background_03: string;
1311
+ sys_background_dimmed: string;
1312
+ sys_text_grey_01: string;
1313
+ sys_text_grey_02: string;
1314
+ sys_text_grey_03: string;
1315
+ sys_text_white: string;
1316
+ sys_text_brand_primary: string;
1317
+ sys_text_error_01: string;
1318
+ sys_widget_grey_01: string;
1319
+ sys_widget_grey_02: string;
1320
+ sys_widget_grey_03: string;
1321
+ sys_widget_primary_01: string;
1322
+ sys_widget_error_01: string;
1323
+ sys_widget_warning_01: string;
1324
+ sys_widget_success_01: string;
1325
+ sys_widget_white: string;
1326
+ sys_border_area_01: string;
1327
+ sys_border_line_01: string;
1328
+ sys_border_line_02: string;
1329
+ sys_border_line_03: string;
1330
+ sys_border_line_04: string;
1331
+ sys_border_line_05: string;
1332
+ sys_component_base_01: string;
1333
+ sys_component_base_02: string;
1334
+ sys_component_base_03: string;
1335
+ sys_component_base_red: string;
1336
+ sys_component_base_white: string;
1337
+ sys_component_base_white_opacity00: string;
1338
+ sys_on_base_white_opacity00: string;
1339
+ sys_on_base_white_opacity30: string;
1340
+ sys_on_base_black_opacity20: string;
1341
+ usr_brand_primary: string;
1342
+ usr_brand_secondary: string;
1343
+ usr_brand_secondary_variant: string;
1344
+ usr_background: string;
1345
+ usr_surface: string;
1346
+ usr_border: string;
1347
+ usr_on_brand_primary: string;
1348
+ usr_on_brand_secondary: string;
1349
+ usr_on_background: string;
1350
+ usr_on_surface: string;
1351
+ sys_widget_status_active_01: string;
1352
+ sys_text_success_01: string;
1353
+ sys_widget_grey_04: string;
1354
+ sys_text_active: string;
1355
+ sys_component_base_blue: string;
1356
+ sys_on_base_black_opacity65: string;
1357
+ sys_component_base_04: string;
1358
+ sys_component_base_black: string;
1359
+ sys_component_base_black_opacity00: string;
1360
+ usr_text_brand_secondary_variant: string;
1361
+ usr_text_brand_primary: string;
1362
+ usr_text_brand_on_primary: string;
1363
+ sys_text_brand_secondary_variant: string;
1364
+ sys_component_base_navy: string;
1365
+ sys_widget_lightgreen: string;
1366
+ sys_border_line_06: string;
1367
+ sys_background_dimmed_20: string;
1368
+ sys_widget_pink: string;
1369
+ sys_widget_primary_opacity20: string;
1370
+ sys_widget_secondary_variant_01: string;
1371
+ usr_component_base_brand_primary_opacity10: string;
1372
+ sys_temp_grey_01: string;
1373
+ sys_temp_grey_02: string;
1374
+ sys_temp_grey_03: string;
1375
+ sys_temp_grey_04: string;
1376
+ sys_temp_grey_05: string;
1377
+ sys_temp_white: string;
1378
+ sys_temp_primary_01: string;
1379
+ sys_temp_secondary_01: string;
1380
+ sys_temp_red: string;
1381
+ sys_temp_white_opacity_00: string;
1382
+ sys_temp_dimmed: string;
1383
+ sys_temp_black: string;
1384
+ sys_temp_primary_02: string;
1385
+ sys_temp_primary_03: string;
1386
+ sys_temp_secondary_02: string;
1387
+ sys_temp_lightgreen_01: string;
1388
+ sys_text_grey_04: string;
1389
+ sys_papp_post_social_background: string;
1390
+ sys_papp_post_notice_background: string;
1391
+ sys_papp_post_free_background: string;
1392
+ sys_papp_vod_background: string;
1393
+ sys_papp_vodplus_background: string;
1394
+ sys_papp_live_background: string;
1395
+ sys_selcontrols_base_off_disabled: string;
1396
+ sys_selcontrols_base_on_disabled: string;
1397
+ sys_component_base_blue_opacity10: string;
1398
+ sys_component_base_05: string;
1399
+ sys_background_dimmed_65: string;
1400
+ sys_temp_grey_06: string;
1401
+ sys_on_base_white_opacity10: string;
1402
+ sys_on_base_black_opacity10: string;
1403
+ sys_component_base_05_opacity00: string;
1404
+ sys_papp_post_notice_link: string;
1405
+ sys_component_base_navy_light: string;
1406
+ sys_component_base_orange: string;
1407
+ sys_component_base_grey: string;
1408
+ sys_component_base_black_opacity80: string;
1409
+ sys_text_darkgrey_02: string;
1410
+ sys_border_line_darktheme_01: string;
1411
+ sys_border_line_darktheme_02: string;
1412
+ sys_component_base_darktheme_01: string;
1413
+ sys_component_base_darktheme_02: string;
1414
+ sys_component_base_darktheme_03: string;
1415
+ sys_text_grey_darktheme_01: string;
1416
+ sys_text_grey_darktheme_02: string;
1417
+ sys_text_grey_darktheme_03: string;
1418
+ sys_widget_grey_darktheme_01: string;
1419
+ sys_widget_grey_darktheme_02: string;
1420
+ sys_widget_grey_darktheme_03: string;
1421
+ sys_component_base_green: string;
1422
+ sys_text_error_darktheme_01: string;
1423
+ sys_border_line_darktheme_03: string;
1424
+ sys_border_line_darktheme_04: string;
1425
+ usr_widget_brand_primary_darktheme_01: string;
1426
+ usr_text_brand_primary_darktheme_01: string;
1427
+ sys_component_base_black_opacity50: string;
1428
+ sys_component_base_card: string;
1429
+ sys_cpnt_textlabel_sys_brand_primary_opacity50: string;
1430
+ sys_widget_green_01: string;
1431
+ sys_component_base_black_opacity30: string;
1432
+ sys_area_background: string;
1433
+ sys_border_white_opacity30: string;
1434
+ sys_container_background_wt: string;
1435
+ sys_channeldesc_grey_03: string;
1436
+ sys_channeldesc_border_grey_03: string;
1437
+ sys_gradient_base_01: string;
1438
+ sys_gradient_base_01_opacity00: string;
1439
+ sys_channeldesc_background: string;
1440
+ sys_channeldesc_bottomsheet_base: string;
1441
+ sys_channeldesc_bottomsheet_border: string;
1442
+ sys_channeldesc_contents_base: string;
1443
+ sys_channeldesc_dimmed: string;
1444
+ sys_gradient_base_01_opacity50: string;
1445
+ sys_gradient_base_01_opacity75: string;
1446
+ sys_gradient_base_01_opacity40: string;
1447
+ sys_widget_black: string;
1448
+ usr_temp_primary_01: string;
1449
+ sys_cpnt_sheet_base_02_opacity50: string;
1450
+ usr_menu_primarymenu_main: string;
1451
+ usr_menu_primarymenu_sub: string;
1452
+ usr_menu_secondarymenu_main: string;
1453
+ usr_menu_secondarymenu_sub: string;
1454
+ usr_menu_hover: string;
1455
+ usr_menu_active: string;
1456
+ usr_menu_background: string;
1457
+ sys_cpnt_base_white_opacity50: string;
1458
+ sys_widget_dark_01: string;
1459
+ usr_menu_background_gradient_opacity00: string;
1460
+ sys_border_line_white: string;
1461
+ sys_component_base_white_opacity10: string;
1462
+ sys_cpnt_sheet_base_01: string;
1463
+ sys_component_base_white_opacity20: string;
1464
+ sys_border_line_07: string;
1465
+ sys_border_line_white_opacity50: string;
1466
+ sys_background_dimmed_02: string;
1467
+ sys_border_line_08: string;
1468
+ sys_component_base_06: string;
1469
+ sys_component_base_07: string;
1470
+ sys_border_line_09: string;
1471
+ sys_component_base_darktheme_04: string;
1472
+ sys_border_line_10: string;
1473
+ sys_component_base_darktheme_05: string;
1474
+ sys_border_line_darktheme_05: string;
1475
+ sys_component_base_darktheme_06: string;
1476
+ sys_border_line_darktheme_06: string;
1477
+ sys_border_line_darktheme_07: string;
1478
+ sys_border_line_11: string;
1479
+ sys_base_dimmed_01: string;
1480
+ sys_kakao: string;
1481
+ sys_border_line_12: string;
1482
+ sys_component_base_08: string;
1483
+ sys_text_social_login_01: string;
1484
+ sys_text_social_login_02: string;
1485
+ sys_papp_livechat_link: string;
1486
+ sys_text_lighttone_grey_01: string;
1487
+ sys_widget_lighttone_primary_01: string;
1488
+ sys_text_lighttone_grey_02: string;
1489
+ sys_component_base_09: string;
1490
+ sys_component_base_darktheme_opacity20: string;
1491
+ sys_component_base_darktheme_disabled_opacity20: string;
1492
+ sys_border_white_opacity00: string;
1493
+ sys_border_line_darktheme_07_opacity00: string;
1494
+ sys_border_line_darktheme_02_opacity20: string;
1495
+ sys_border_line_darktheme_03_opacity20: string;
1496
+ sys_border_line_darktheme_07_opacity20: string;
1497
+ sys_component_base_grey_02_opacity80: string;
1498
+ sys_component_base_10: string;
1499
+ sys_component_pastel_base_01: string;
1500
+ sys_component_pastel_base_02: string;
1501
+ sys_component_pastel_base_03: string;
1502
+ sys_component_pastel_base_04: string;
1503
+ sys_component_pastel_base_05: string;
1504
+ sys_component_base_11: string;
1505
+ sys_loading_skeleton_01: string;
1506
+ sys_loading_skeleton_02: string;
1507
+ sys_loading_linear_bar: string;
1508
+ sys_loading_linear_base: string;
1509
+ sys_loading_three_bar: string;
1510
+ sys_widget_grey_05: string;
1511
+ sys_menu_background_transparent: string;
1512
+ sys_container_background_04: string;
1513
+ sys_menu_button_base: string;
1514
+ sys_background_dimmed_03: string;
1515
+ sys_cpnt_sheet_base_03: string;
1516
+ sys_dimmed_gradient_01: string;
1517
+ sys_dimmed_gradient_02: string;
1518
+ sys_border_line_13: string;
1519
+ sys_component_base_12: string;
1520
+ sys_border_line_14: string;
1521
+ sys_component_base_13: string;
1522
+ sys_component_base_14: string;
1523
+ sys_component_base_15: string;
1524
+ sys_component_base_16: string;
1525
+ sys_component_base_17: string;
1526
+ sys_widget_red_01: string;
1527
+ sys_widget_orange_01: string;
1528
+ sys_text_warning_01: string;
1529
+ sys_component_base_18: string;
1530
+ sys_cpnt_sheet_base_04: string;
1531
+ sys_cpnt_sheet_base_05: string;
1532
+ sys_cpnt_sheet_base_06: string;
1533
+ sys_facebook: string;
1534
+ sys_component_base_19: string;
1535
+ sys_cpnt_pagination_dot_01: string;
1536
+ sys_cpnt_pagination_dot_02: string;
1537
+ sys_component_base_white_opacity50: string;
1538
+ sys_component_base_20: string;
1539
+ sys_component_base_22: string;
1540
+ sys_component_base_21: string;
1541
+ sys_component_border_white_opacity20: string;
1542
+ sys_component_base_23: string;
1543
+ sys_component_base_darkgreen: string;
1544
+ sys_component_base_24: string;
1545
+ sys_border_line_15: string;
1546
+ sys_border_line_16: string;
1547
+ sys_component_base_hover_01: string;
1548
+ sys_component_on_base_01: string;
1549
+ sys_component_on_base_02: string;
1550
+ sys_component_on_base_03: string;
1551
+ sys_component_on_base_04: string;
1552
+ sys_component_on_base_05: string;
1553
+ sys_component_base_hover_02: string;
1554
+ sys_component_base_pressed_01: string;
1555
+ sys_widget_white_02: string;
1556
+ sys_component_base_hover_03: string;
1557
+ sys_component_base_pressed_02: string;
1558
+ sys_component_base_25: string;
1559
+ sys_editor_base_pages: string;
1560
+ sys_editor_base_papp: string;
1561
+ sys_text_black: string;
1562
+ sys_component_base_26: string;
1563
+ sys_component_base_27: string;
1564
+ sys_component_base_28: string;
1565
+ sys_widget_sidebar_label_text: string;
1566
+ sys_component_base_hover_darktheme: string;
1567
+ sys_component_base_pressed_darktheme: string;
1568
+ sys_component_base_hover_white: string;
1569
+ sys_component_base_pressed_white: string;
1570
+ sys_component_base_hover_transparent: string;
1571
+ sys_component_base_pressed_transparent: string;
1572
+ sys_text_white_opacity_01: string;
1573
+ sys_component_base_hover_04: string;
1574
+ sys_component_base_pressed_03: string;
1575
+ sys_cpnt_sheet_base_07: string;
1576
+ sys_cpnt_sheet_base_08: string;
1577
+ sys_cpnt_sheet_base_09: string;
1578
+ sys_cpnt_sheet_base_10: string;
1579
+ sys_component_base_29: string;
1580
+ sys_storyboard_group_base_grey01: string;
1581
+ sys_storyboard_group_base_blue01: string;
1582
+ sys_storyboard_group_base_red01: string;
1583
+ sys_storyboard_group_base_green01: string;
1584
+ sys_storyboard_card_base_blue01: string;
1585
+ sys_storyboard_card_base_red01: string;
1586
+ sys_storyboard_card_base_green01: string;
1587
+ sys_brand_secondary_variant: string;
1588
+ sys_button_tooltip_base: string;
1589
+ sys_text_button_tooltip: string;
1590
+ sys_membership_button_base: string;
1591
+ sys_membership_item_membership_base: string;
1592
+ sys_membership_item_price_product_base: string;
1593
+ sys_component_base_30: string;
1594
+ sys_component_base_31: string;
1595
+ sys_component_base_32: string;
1596
+ sys_component_base_33: string;
1597
+ sys_component_base_34: string;
1598
+ sys_component_base_35: string;
1599
+ sys_component_base_36: string;
1600
+ sys_component_base_37: string;
1601
+ sys_component_base_38: string;
1602
+ sys_plan_base_01: string;
1603
+ sys_plan_base_02: string;
1604
+ sys_plan_base_03: string;
1605
+ sys_text_warning_02: string;
1606
+ sys_component_base_39: string;
1607
+ sys_component_base_40: string;
1608
+ sys_component_base_41: string;
1609
+ sys_cpnt_slider_track: string;
1610
+ sys_cpnt_slider_track_active: string;
1611
+ sys_cpnt_slider_thumb_normal: string;
1612
+ sys_cpnt_slider_thumb_disabled: string;
1613
+ sys_cpnt_slider_thumb_hover_circle: string;
1614
+ sys_cpnt_slider_thumb_pressed_circle: string;
1615
+ sys_cpnt_slider_track_disabled: string;
1616
+ sys_component_base_42: string;
1617
+ sys_component_base_43: string;
1618
+ sys_icon_grey_darktheme_01: string;
1619
+ sys_icon_grey_darktheme_02: string;
1620
+ sys_icon_grey_darktheme_03: string;
1621
+ sys_widget_grey_01_opacity_50: string;
1622
+ sys_editor_layout_header: string;
1623
+ sys_editor_layout_navigation_panel: string;
1624
+ sys_editor_layout_canvas_area: string;
1625
+ sys_editor_layout_control_panel: string;
1626
+ sys_editor_layout_property_panel: string;
1627
+ sys_editor_layout_navigation_panel_section_item_area_normal: string;
1628
+ sys_component_base_44: string;
1629
+ sys_sw_sidebar_base: string;
1630
+ sys_sw_sidebar_label_text_normal: string;
1631
+ sys_sw_sidebar_item_text_normal: string;
1632
+ sys_sw_sidebar_item_text_selected: string;
1633
+ sys_sw_sidebar_label_icon_normal_01: string;
1634
+ sys_sw_sidebar_item_icon_normal: string;
1635
+ sys_sw_sidebar_item_icon_selected: string;
1636
+ sys_sw_sidebar_badge_base_01: string;
1637
+ sys_sw_sidebar_badge_base_02: string;
1638
+ sys_sw_sidebar_badge_text_01: string;
1639
+ sys_sw_sidebar_badge_text_02: string;
1640
+ sys_sw_sidebar_divider: string;
1641
+ sys_sw_sidebar_label_base_normal: string;
1642
+ sys_sw_sidebar_label_base_hover: string;
1643
+ sys_sw_sidebar_label_base_pressed: string;
1644
+ sys_sw_sidebar_item_base_normal: string;
1645
+ sys_sw_sidebar_item_base_hover: string;
1646
+ sys_sw_sidebar_item_base_pressed: string;
1647
+ sys_sw_sidebar_label_icon_normal_02: string;
1648
+ sys_text_black_02: string;
1649
+ sys_sw_sidebar_item_text_disabled: string;
1650
+ sys_text_grey_05: string;
1651
+ sys_text_white_02: string;
1649
1652
  };
1650
1653
  };
1651
1654
  export default colorSet;
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  /* eslint-disable import/order */
7
7
  var SemanticColor_json_1 = __importDefault(require("./SemanticColor.json"));
8
8
  var PaletteColor_light_json_1 = __importDefault(require("./PaletteColor_light.json"));
9
- var PaletteColor_Dark_json_1 = __importDefault(require("./PaletteColor_Dark.json"));
10
9
  var UIColor_json_1 = __importDefault(require("./UIColor.json"));
10
+ var PaletteColor_Dark_json_1 = __importDefault(require("./PaletteColor_Dark.json"));
11
11
  var colorSet = {
12
12
  SemanticColor: SemanticColor_json_1.default,
13
13
  PaletteColor_light: PaletteColor_light_json_1.default,
14
- PaletteColor_Dark: PaletteColor_Dark_json_1.default,
15
- UIColor: UIColor_json_1.default
14
+ UIColor: UIColor_json_1.default,
15
+ PaletteColor_Dark: PaletteColor_Dark_json_1.default
16
16
  };
17
17
  exports.default = colorSet;
@@ -835,4 +835,5 @@ export interface UITheme {
835
835
  ui_cpnt_modalwithtab_sidetab_hover: string;
836
836
  ui_cpnt_modalwithtab_sidetab_pressed: string;
837
837
  ui_107: string;
838
+ ui_cpnt_textlabel_sys_white_02: string;
838
839
  }
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { PlacementTypes } from './Popup';
2
3
  import type { PDSTextType, PDSValueOption } from '../../../common';
3
4
  type Props = {
4
5
  titleText?: PDSTextType;
@@ -8,8 +9,9 @@ type Props = {
8
9
  hoverMode?: 'none' | 'use';
9
10
  contextMenuOptionArray?: PDSValueOption[];
10
11
  contextMenuState?: 'normal' | 'disabled';
11
- colorTheme?: 'seller' | 'subscriber' | 'seller_transparent' | 'subscriber_transparent';
12
+ colorTheme?: 'seller' | 'seller_transparent' | 'subscriber' | 'subscriber_transparent' | 'secondary_transparent_grey' | 'white_transparent_grey';
13
+ contextMenuPosition?: PlacementTypes;
12
14
  onClickContextMenuItem?: (option: PDSValueOption) => void;
13
15
  };
14
- declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
16
+ declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, contextMenuPosition, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
15
17
  export default BasicChatListItem;
@@ -29,34 +29,42 @@ var TextLabel_1 = require("../TextLabel");
29
29
  var Popup_1 = require("./Popup");
30
30
  var titleTextColors = {
31
31
  seller: 'usrTextBrandPrimary',
32
- subscriber: 'sysTextSecondary',
33
32
  seller_transparent: 'usrTextBrandPrimary',
34
- subscriber_transparent: 'sysTextWhite'
33
+ subscriber: 'sysTextSecondary',
34
+ subscriber_transparent: 'sysTextWhite',
35
+ secondary_transparent_grey: 'sysTextSecondary',
36
+ white_transparent_grey: 'sysTextWhite'
35
37
  };
36
38
  var backgroundColorTheme = {
37
39
  seller: 'ui_cpnt_list_base_area_seller',
38
- subscriber: 'ui_cpnt_list_base_area',
39
40
  seller_transparent: 'ui_cpnt_list_base_area_transparent_seller',
40
- subscriber_transparent: 'ui_cpnt_list_base_area_transparent'
41
+ subscriber: 'ui_cpnt_list_base_area',
42
+ subscriber_transparent: 'ui_cpnt_list_base_area_transparent',
43
+ secondary_transparent_grey: 'ui_cpnt_list_base_area',
44
+ white_transparent_grey: 'ui_cpnt_list_base_area_transparent'
41
45
  };
42
46
  function BasicChatListItem(_a) {
43
- 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 ? 'subscriber' : _e;
44
- var _f = (0, react_1.useState)(false), isContextMenuOpen = _f[0], setIsContextMenuOpen = _f[1];
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];
45
49
  var contextMenuRef = (0, react_1.useRef)(null);
46
50
  var chatBody = document.querySelector('#chatMessageBox');
47
51
  var chatBodyRect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
48
52
  /**
49
- * @when contextMenu가 열려 있을
50
- * @expected ChatList body의 스크롤을 숨기고, contextMenu 외부를 클릭하면 contextMenu가 닫히도록 합니다.
51
- * @clear document의 클릭 이벤트를 제거합니다.
53
+ * @when 스크롤, 이벤트 발생시
54
+ * @expected contextMenu 닫습니다.
55
+ * @clear 스크롤, 이벤트를 제거합니다.
52
56
  */
53
57
  (0, react_1.useEffect)(function () {
54
- // NOTE pop up 개념이 생기기 전까지의 임시 조치 방법입니다.
55
- if (!chatBody) {
56
- return;
58
+ function handleScrollEvent() {
59
+ setIsContextMenuOpen(false);
57
60
  }
58
- chatBody.style.overflowY = isContextMenuOpen ? 'hidden' : 'auto';
59
- }, [isContextMenuOpen, chatBody]);
61
+ window.addEventListener('scroll', handleScrollEvent);
62
+ window.addEventListener('wheel', handleScrollEvent);
63
+ return function () {
64
+ window.removeEventListener('scroll', handleScrollEvent);
65
+ window.removeEventListener('wheel', handleScrollEvent);
66
+ };
67
+ }, []);
60
68
  var handleMoreButtonClick = function (e) {
61
69
  e.stopPropagation();
62
70
  setIsContextMenuOpen(function (prev) { return !prev; });
@@ -67,7 +75,30 @@ function BasicChatListItem(_a) {
67
75
  }
68
76
  setIsContextMenuOpen(false);
69
77
  };
70
- 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: colorTheme === 'subscriber_transparent' ? 'sysTextWhite' : 'sysTextPrimary', 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: "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: "v-auto", wrapperHeight: chatBodyRect === null || chatBodyRect === void 0 ? void 0 : chatBodyRect.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)); }) }) })) })] })) }));
78
+ var contentTextColorTheme = 'sysTextPrimary';
79
+ var contentTextColorOverride;
80
+ var iconColorKey;
81
+ switch (colorTheme) {
82
+ case 'subscriber_transparent': {
83
+ contentTextColorTheme = 'sysTextWhite';
84
+ iconColorKey = 'ui_cpnt_button_icon_white';
85
+ break;
86
+ }
87
+ case 'secondary_transparent_grey': {
88
+ contentTextColorTheme = 'sysTextSecondary';
89
+ break;
90
+ }
91
+ case 'white_transparent_grey': {
92
+ contentTextColorOverride = 'ui_cpnt_textlabel_sys_white_02';
93
+ iconColorKey = 'ui_cpnt_button_icon_white';
94
+ break;
95
+ }
96
+ default: {
97
+ contentTextColorTheme = 'sysTextPrimary';
98
+ iconColorKey = 'ui_cpnt_button_icon_enabled';
99
+ }
100
+ }
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)); }) }) })) })) })] })) }));
71
102
  }
72
103
  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) {
73
104
  var colorTheme = _a.colorTheme, theme = _a.theme;
@@ -1,4 +1,5 @@
1
1
  import { MutableRefObject } from 'react';
2
+ export type PlacementTypes = 'v-auto' | 'h-auto' | 'v-center' | 'h-center' | 'top' | 'top-start' | 'top-end' | 'top-both' | 'top-center' | 'bottom' | 'bottom-start' | 'bottom-end' | 'bottom-both' | 'bottom-center' | 'left' | 'left-start' | 'left-end' | 'left-center' | 'right' | 'right-start' | 'right-end' | 'right-center';
2
3
  type Props = {
3
4
  targetRef: MutableRefObject<HTMLElement | null>;
4
5
  isOpen: boolean;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { PlacementTypes } from './Popup';
2
3
  import type { PDSTextType, PDSValueOption } from '../../../common';
3
4
  type ColorThemeType = 'grey' | 'brand_primary' | 'translucent_white' | 'translucent_black';
4
5
  export type ChatBubbleListItemProps = {
@@ -11,8 +12,9 @@ export type ChatBubbleListItemProps = {
11
12
  timeText?: PDSTextType;
12
13
  contextMenuOptionArray?: PDSValueOption[];
13
14
  contextMenuState?: 'normal' | 'disabled';
15
+ contextMenuPosition?: PlacementTypes;
14
16
  children?: React.ReactNode;
15
17
  onClickContextMenuItem?: (option: PDSValueOption) => void;
16
18
  };
17
- declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, contextMenuOptionArray, contextMenuState, children, onClickContextMenuItem }: ChatBubbleListItemProps): JSX.Element;
19
+ declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, contextMenuOptionArray, contextMenuState, contextMenuPosition, children, onClickContextMenuItem }: ChatBubbleListItemProps): JSX.Element;
18
20
  export default ChatBubbleListItem;
@@ -67,9 +67,9 @@ var profileImageBorderColorTheme = {
67
67
  translucent_black: 'ui_avatar_border_translucent_black'
68
68
  };
69
69
  function ChatBubbleListItem(_a) {
70
- 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, contextMenuOptionArray = _a.contextMenuOptionArray, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, children = _a.children, onClickContextMenuItem = _a.onClickContextMenuItem;
70
+ 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, contextMenuOptionArray = _a.contextMenuOptionArray, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, _f = _a.contextMenuPosition, contextMenuPosition = _f === void 0 ? 'v-auto' : _f, children = _a.children, onClickContextMenuItem = _a.onClickContextMenuItem;
71
71
  var isMe = styleTheme.includes('me');
72
- var _f = (0, react_1.useState)(false), isContextMenuOpen = _f[0], setIsContextMenuOpen = _f[1];
72
+ var _g = (0, react_1.useState)(false), isContextMenuOpen = _g[0], setIsContextMenuOpen = _g[1];
73
73
  var contextMenuRef = (0, react_1.useRef)(null);
74
74
  var chatBody = document.querySelector('#chatMessageBox');
75
75
  var rect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
@@ -85,6 +85,22 @@ function ChatBubbleListItem(_a) {
85
85
  }
86
86
  chatBody.style.overflowY = isContextMenuOpen ? 'hidden' : 'auto';
87
87
  }, [isContextMenuOpen, chatBody]);
88
+ /**
89
+ * @when 스크롤, 휠 이벤트 발생시
90
+ * @expected contextMenu를 닫습니다.
91
+ * @clear 스크롤, 휠 이벤트를 제거합니다.
92
+ */
93
+ (0, react_1.useEffect)(function () {
94
+ function handleScrollEvent() {
95
+ setIsContextMenuOpen(false);
96
+ }
97
+ window.addEventListener('scroll', handleScrollEvent);
98
+ window.addEventListener('wheel', handleScrollEvent);
99
+ return function () {
100
+ window.removeEventListener('scroll', handleScrollEvent);
101
+ window.removeEventListener('wheel', handleScrollEvent);
102
+ };
103
+ }, []);
88
104
  var handleMoreButtonClick = function (e) {
89
105
  e.stopPropagation();
90
106
  setIsContextMenuOpen(function (prev) { return !prev; });
@@ -136,7 +152,7 @@ function ChatBubbleListItem(_a) {
136
152
  }
137
153
  return false;
138
154
  };
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: [isLeftSpacingChecker() ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isShowProfileImage() ? ((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: [isShowTitleText() && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: colorTheme && checkTextColorTheme() }), (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: [timeMode === 'use' && timeText && isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })] })), (0, jsx_runtime_1.jsx)(ChatBubble_1.default, __assign({ colorTheme: colorTheme, tailType: chatBubbleTailType[styleTheme] }, { children: children })), timeMode === 'use' && timeText && !isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" }), (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: "v-auto", 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)); }) }) })) })] })) }));
155
+ 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: [isLeftSpacingChecker() ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isShowProfileImage() ? ((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: [isShowTitleText() && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: colorTheme && checkTextColorTheme() }), (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: [timeMode === 'use' && timeText && isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })] })), (0, jsx_runtime_1.jsx)(ChatBubble_1.default, __assign({ colorTheme: colorTheme, tailType: chatBubbleTailType[styleTheme] }, { children: children })), timeMode === 'use' && timeText && !isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" }), (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: contextMenuPosition, 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
156
  }
141
157
  var MyChatBubbleListItem = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
142
158
  var theme = _a.theme;
@@ -1,4 +1,5 @@
1
1
  import { MutableRefObject } from 'react';
2
+ export type PlacementTypes = 'v-auto' | 'h-auto' | 'v-center' | 'h-center' | 'top' | 'top-start' | 'top-end' | 'top-both' | 'top-center' | 'bottom' | 'bottom-start' | 'bottom-end' | 'bottom-both' | 'bottom-center' | 'left' | 'left-start' | 'left-end' | 'left-center' | 'right' | 'right-start' | 'right-end' | 'right-center';
2
3
  type Props = {
3
4
  targetRef: MutableRefObject<HTMLElement | null>;
4
5
  isOpen: boolean;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { PlacementTypes } from './Popup';
2
3
  import type { PDSTextType, PDSValueOption } from '../../../common';
3
4
  type Props = {
4
5
  titleText?: PDSTextType;
@@ -8,8 +9,9 @@ type Props = {
8
9
  hoverMode?: 'none' | 'use';
9
10
  contextMenuOptionArray?: PDSValueOption[];
10
11
  contextMenuState?: 'normal' | 'disabled';
11
- colorTheme?: 'seller' | 'subscriber' | 'seller_transparent' | 'subscriber_transparent';
12
+ colorTheme?: 'seller' | 'seller_transparent' | 'subscriber' | 'subscriber_transparent' | 'secondary_transparent_grey' | 'white_transparent_grey';
13
+ contextMenuPosition?: PlacementTypes;
12
14
  onClickContextMenuItem?: (option: PDSValueOption) => void;
13
15
  };
14
- declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
16
+ declare function BasicChatListItem({ titleText, contentText, leftImageMode, imageSrc, hoverMode, contextMenuOptionArray, contextMenuPosition, onClickContextMenuItem, contextMenuState, colorTheme }: Props): JSX.Element;
15
17
  export default BasicChatListItem;
@@ -29,19 +29,23 @@ var TextLabel_1 = require("../TextLabel");
29
29
  var Popup_1 = require("./Popup");
30
30
  var titleTextColors = {
31
31
  seller: 'usrTextBrandPrimary',
32
- subscriber: 'sysTextSecondary',
33
32
  seller_transparent: 'usrTextBrandPrimary',
34
- subscriber_transparent: 'sysTextWhite'
33
+ subscriber: 'sysTextSecondary',
34
+ subscriber_transparent: 'sysTextWhite',
35
+ secondary_transparent_grey: 'sysTextSecondary',
36
+ white_transparent_grey: 'sysTextWhite'
35
37
  };
36
38
  var backgroundColorTheme = {
37
39
  seller: 'ui_cpnt_list_base_area_seller',
38
- subscriber: 'ui_cpnt_list_base_area',
39
40
  seller_transparent: 'ui_cpnt_list_base_area_transparent_seller',
40
- subscriber_transparent: 'ui_cpnt_list_base_area_transparent'
41
+ subscriber: 'ui_cpnt_list_base_area',
42
+ subscriber_transparent: 'ui_cpnt_list_base_area_transparent',
43
+ secondary_transparent_grey: 'ui_cpnt_list_base_area',
44
+ white_transparent_grey: 'ui_cpnt_list_base_area_transparent'
41
45
  };
42
46
  function BasicChatListItem(_a) {
43
- 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 ? 'subscriber' : _e;
44
- var _f = (0, react_1.useState)(false), isContextMenuOpen = _f[0], setIsContextMenuOpen = _f[1];
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];
45
49
  var contextMenuRef = (0, react_1.useRef)(null);
46
50
  var chatBody = document.querySelector('#chatMessageBox');
47
51
  var chatBodyRect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
@@ -57,6 +61,24 @@ function BasicChatListItem(_a) {
57
61
  }
58
62
  chatBody.style.overflowY = isContextMenuOpen ? 'hidden' : 'auto';
59
63
  }, [isContextMenuOpen, chatBody]);
64
+ /**
65
+ * @when contextMenu가 열려 있을 때
66
+ * @expected touchmove 이벤트 발생시 contextMenu를 닫습니다.
67
+ * @clear touchmove 이벤트를 제거합니다.
68
+ */
69
+ (0, react_1.useEffect)(function () {
70
+ function handleScrollEvent() {
71
+ setIsContextMenuOpen(false);
72
+ }
73
+ window.addEventListener('touchmove', handleScrollEvent);
74
+ window.addEventListener('scroll', handleScrollEvent);
75
+ window.addEventListener('wheel', handleScrollEvent);
76
+ return function () {
77
+ window.removeEventListener('touchmove', handleScrollEvent);
78
+ window.removeEventListener('scroll', handleScrollEvent);
79
+ window.removeEventListener('wheel', handleScrollEvent);
80
+ };
81
+ }, []);
60
82
  var handleMoreButtonClick = function (e) {
61
83
  e.stopPropagation();
62
84
  setIsContextMenuOpen(function (prev) { return !prev; });
@@ -67,7 +89,33 @@ function BasicChatListItem(_a) {
67
89
  }
68
90
  setIsContextMenuOpen(false);
69
91
  };
70
- 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": "mobile", 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: colorTheme === 'subscriber_transparent' ? 'sysTextWhite' : 'sysTextPrimary', 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: "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: "v-auto", wrapperHeight: chatBodyRect === null || chatBodyRect === void 0 ? void 0 : chatBodyRect.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)); }) }) })) })] })) }));
92
+ var handleContextMenuOutsideClick = function () {
93
+ setIsContextMenuOpen(false);
94
+ };
95
+ var contentTextColorTheme;
96
+ var contentTextColorOverride;
97
+ var iconColorKey;
98
+ switch (colorTheme) {
99
+ case 'subscriber_transparent': {
100
+ contentTextColorTheme = 'sysTextWhite';
101
+ iconColorKey = 'ui_cpnt_button_icon_white';
102
+ break;
103
+ }
104
+ case 'secondary_transparent_grey': {
105
+ contentTextColorTheme = 'sysTextSecondary';
106
+ break;
107
+ }
108
+ case 'white_transparent_grey': {
109
+ contentTextColorOverride = 'ui_cpnt_textlabel_sys_white_02';
110
+ iconColorKey = 'ui_cpnt_button_icon_white';
111
+ break;
112
+ }
113
+ default: {
114
+ contentTextColorTheme = 'sysTextPrimary';
115
+ iconColorKey = 'ui_cpnt_button_icon_enabled';
116
+ }
117
+ }
118
+ 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": "mobile", 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_MoreButtonWrapper, { children: (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: handleContextMenuOutsideClick }, { 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)); }) }) })) })] })) }));
71
119
  }
72
120
  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) {
73
121
  var colorTheme = _a.colorTheme, theme = _a.theme;
@@ -93,7 +141,8 @@ var S_ContentTextWrapper = styled_components_1.default.div(templateObject_3 || (
93
141
  var theme = _a.theme;
94
142
  return theme.spacing.spacingC;
95
143
  });
96
- var S_SeeMoreButton = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n margin-left: ", ";\n opacity: ", ";\n position: relative;\n\n ", ":hover & {\n opacity: ", ";\n }\n"], ["\n margin-left: ", ";\n opacity: ", ";\n position: relative;\n\n ", ":hover & {\n opacity: ", ";\n }\n"])), function (_a) {
144
+ var S_MoreButtonWrapper = styled_components_1.default.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n height: 24px;\n width: 24px;\n"], ["\n height: 24px;\n width: 24px;\n"])));
145
+ var S_SeeMoreButton = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n margin-left: ", ";\n opacity: ", ";\n position: relative;\n\n ", ":hover & {\n opacity: ", ";\n }\n"], ["\n margin-left: ", ";\n opacity: ", ";\n position: relative;\n\n ", ":hover & {\n opacity: ", ";\n }\n"])), function (_a) {
97
146
  var theme = _a.theme;
98
147
  return theme.spacing.spacingA;
99
148
  }, function (_a) {
@@ -103,6 +152,6 @@ var S_SeeMoreButton = styled_components_1.default.div(templateObject_4 || (templ
103
152
  var hoverMode = _a.hoverMode;
104
153
  return hoverMode === 'use' && '1';
105
154
  });
106
- var S_TitleTextWrapper = styled_components_1.default.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n max-width: 120px;\n min-width: 56px;\n"], ["\n max-width: 120px;\n min-width: 56px;\n"])));
155
+ var S_TitleTextWrapper = styled_components_1.default.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n max-width: 120px;\n min-width: 56px;\n"], ["\n max-width: 120px;\n min-width: 56px;\n"])));
107
156
  exports.default = BasicChatListItem;
108
- var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;
157
+ var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;
@@ -1,4 +1,5 @@
1
1
  import { MutableRefObject } from 'react';
2
+ export type PlacementTypes = 'v-auto' | 'h-auto' | 'v-center' | 'h-center' | 'top' | 'top-start' | 'top-end' | 'top-both' | 'top-center' | 'bottom' | 'bottom-start' | 'bottom-end' | 'bottom-both' | 'bottom-center' | 'left' | 'left-start' | 'left-end' | 'left-center' | 'right' | 'right-start' | 'right-end' | 'right-center';
2
3
  type Props = {
3
4
  targetRef: MutableRefObject<HTMLElement | null>;
4
5
  isOpen: boolean;
@@ -1,4 +1,5 @@
1
1
  /// <reference types="react" />
2
+ import { PlacementTypes } from './Popup';
2
3
  import type { PDSTextType, PDSValueOption } from '../../../common';
3
4
  type ColorThemeType = 'grey' | 'brand_primary' | 'translucent_white' | 'translucent_black';
4
5
  export type ChatBubbleListItemProps = {
@@ -11,8 +12,9 @@ export type ChatBubbleListItemProps = {
11
12
  timeText?: PDSTextType;
12
13
  contextMenuOptionArray?: PDSValueOption[];
13
14
  contextMenuState?: 'normal' | 'disabled';
15
+ contextMenuPosition?: PlacementTypes;
14
16
  children?: React.ReactNode;
15
17
  onClickContextMenuItem?: (option: PDSValueOption) => void;
16
18
  };
17
- declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, contextMenuOptionArray, contextMenuState, children, onClickContextMenuItem }: ChatBubbleListItemProps): JSX.Element;
19
+ declare function ChatBubbleListItem({ titleText, imageSrc, hoverMode, styleTheme, colorTheme, timeMode, timeText, contextMenuOptionArray, contextMenuState, contextMenuPosition, children, onClickContextMenuItem }: ChatBubbleListItemProps): JSX.Element;
18
20
  export default ChatBubbleListItem;
@@ -67,9 +67,9 @@ var profileImageBorderColorTheme = {
67
67
  translucent_black: 'ui_avatar_border_translucent_black'
68
68
  };
69
69
  function ChatBubbleListItem(_a) {
70
- 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, contextMenuOptionArray = _a.contextMenuOptionArray, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, children = _a.children, onClickContextMenuItem = _a.onClickContextMenuItem;
70
+ 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, contextMenuOptionArray = _a.contextMenuOptionArray, _e = _a.contextMenuState, contextMenuState = _e === void 0 ? 'normal' : _e, _f = _a.contextMenuPosition, contextMenuPosition = _f === void 0 ? 'v-auto' : _f, children = _a.children, onClickContextMenuItem = _a.onClickContextMenuItem;
71
71
  var isMe = styleTheme.includes('me');
72
- var _f = (0, react_1.useState)(false), isContextMenuOpen = _f[0], setIsContextMenuOpen = _f[1];
72
+ var _g = (0, react_1.useState)(false), isContextMenuOpen = _g[0], setIsContextMenuOpen = _g[1];
73
73
  var contextMenuRef = (0, react_1.useRef)(null);
74
74
  var chatBody = document.querySelector('#chatMessageBox');
75
75
  var rect = chatBody === null || chatBody === void 0 ? void 0 : chatBody.getBoundingClientRect();
@@ -85,6 +85,24 @@ function ChatBubbleListItem(_a) {
85
85
  }
86
86
  chatBody.style.overflowY = isContextMenuOpen ? 'hidden' : 'auto';
87
87
  }, [isContextMenuOpen, chatBody]);
88
+ /**
89
+ * @when contextMenu가 열려 있을 때
90
+ * @expected touchmove 이벤트 발생시 contextMenu를 닫습니다.
91
+ * @clear touchmove 이벤트를 제거합니다.
92
+ */
93
+ (0, react_1.useEffect)(function () {
94
+ function handleScrollEvent() {
95
+ setIsContextMenuOpen(false);
96
+ }
97
+ window.addEventListener('touchmove', handleScrollEvent);
98
+ window.addEventListener('scroll', handleScrollEvent);
99
+ window.addEventListener('wheel', handleScrollEvent);
100
+ return function () {
101
+ window.removeEventListener('touchmove', handleScrollEvent);
102
+ window.removeEventListener('scroll', handleScrollEvent);
103
+ window.removeEventListener('wheel', handleScrollEvent);
104
+ };
105
+ }, []);
88
106
  var handleMoreButtonClick = function (e) {
89
107
  e.stopPropagation();
90
108
  setIsContextMenuOpen(function (prev) { return !prev; });
@@ -136,7 +154,7 @@ function ChatBubbleListItem(_a) {
136
154
  }
137
155
  return false;
138
156
  };
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": "mobile", isMe: isMe }, { children: [isLeftSpacingChecker() ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isShowProfileImage() ? ((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: [isShowTitleText() && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: colorTheme && checkTextColorTheme() }), (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: [timeMode === 'use' && timeText && isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })] })), (0, jsx_runtime_1.jsx)(ChatBubble_1.default, __assign({ colorTheme: colorTheme, tailType: chatBubbleTailType[styleTheme] }, { children: children })), timeMode === 'use' && timeText && !isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" }), (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: "v-auto", 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)); }) }) })) })] })) }));
157
+ 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": "mobile", isMe: isMe }, { children: [isLeftSpacingChecker() ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: isShowProfileImage() ? ((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: [isShowTitleText() && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: titleText, styleTheme: "caption1Bold", colorTheme: colorTheme && checkTextColorTheme() }), (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: [timeMode === 'use' && timeText && isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(TextLabel_1.TextLabel, { text: timeText, styleTheme: "caption2Regular", colorTheme: "sysTextTertiary", singleLineMode: "use" }), (0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" })] })), (0, jsx_runtime_1.jsx)(ChatBubble_1.default, __assign({ colorTheme: colorTheme, tailType: chatBubbleTailType[styleTheme] }, { children: children })), timeMode === 'use' && timeText && !isMe && ((0, jsx_runtime_1.jsxs)(S_TimeWrapper, { children: [(0, jsx_runtime_1.jsx)(hybrid_1.Spacing, { size: "spacing_a", spacingType: "width" }), (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: contextMenuPosition, 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
158
  }
141
159
  var MyChatBubbleListItem = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n margin-right: ", ";\n"], ["\n margin-right: ", ";\n"])), function (_a) {
142
160
  var theme = _a.theme;
@@ -1,4 +1,5 @@
1
1
  import { MutableRefObject } from 'react';
2
+ export type PlacementTypes = 'v-auto' | 'h-auto' | 'v-center' | 'h-center' | 'top' | 'top-start' | 'top-end' | 'top-both' | 'top-center' | 'bottom' | 'bottom-start' | 'bottom-end' | 'bottom-both' | 'bottom-center' | 'left' | 'left-start' | 'left-end' | 'left-center' | 'right' | 'right-start' | 'right-end' | 'right-center';
2
3
  type Props = {
3
4
  targetRef: MutableRefObject<HTMLElement | null>;
4
5
  isOpen: boolean;
@@ -86,7 +86,7 @@ var Body = react_1.default.forwardRef(function (_a, ref) {
86
86
  }
87
87
  setIsButtonShow(true);
88
88
  };
89
- return ((0, jsx_runtime_1.jsxs)(S_Body, __assign({ bodySpacingMode: bodySpacingMode }, { children: [(0, jsx_runtime_1.jsxs)(S_ChatMessageBox, __assign({ onScroll: handleScroll, ref: ref, scrollVisibleType: scrollVisibleType }, { children: [children, (0, jsx_runtime_1.jsx)(EndOfList, {})] })), bodyChildren, isButtonShow && ((0, jsx_runtime_1.jsx)(S_BottomButtonWrapper, { children: (0, jsx_runtime_1.jsx)(MainButton_1.MainButton, { text: bodyMBtnText, size: "small", onClick: handleClickMBtn }) }))] })));
89
+ return ((0, jsx_runtime_1.jsxs)(S_Body, __assign({ bodySpacingMode: bodySpacingMode }, { children: [(0, jsx_runtime_1.jsxs)(S_ChatMessageBox, __assign({ id: "chatMessageBox", onScroll: handleScroll, ref: ref, scrollVisibleType: scrollVisibleType }, { children: [children, (0, jsx_runtime_1.jsx)(EndOfList, {})] })), bodyChildren, isButtonShow && ((0, jsx_runtime_1.jsx)(S_BottomButtonWrapper, { children: (0, jsx_runtime_1.jsx)(MainButton_1.MainButton, { text: bodyMBtnText, size: "small", onClick: handleClickMBtn }) }))] })));
90
90
  });
91
91
  var bodySpacing = (0, styled_components_1.css)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n box-sizing: border-box;\n padding-left: ", ";\n padding-right: ", ";\n"], ["\n box-sizing: border-box;\n padding-left: ", ";\n padding-right: ", ";\n"])), function (_a) {
92
92
  var theme = _a.theme;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pds-dev-kit-web",
3
- "version": "2.2.4",
3
+ "version": "2.2.5",
4
4
  "license": "MIT",
5
5
  "private": false,
6
6
  "main": "dist/index.js",
package/release-note.md CHANGED
@@ -1,7 +1,14 @@
1
1
  # PDS-DEV-KIT-WEB Release Notes
2
- ## [v2.2.4]
3
- ## urgent|https://design.storybook.publ.biz/
2
+ ## [v2.2.5]
3
+ ## daily|https://design.storybook.publ.biz/
4
4
 
5
- ### sub
6
- * DynamicLayout - custom section
7
- * device를 판단하고 각 device에서 CB_EFFECT_PROP_ENTANIM_SPEC_TYPE이 NONE인지를 체크하여, 서로 영향을 받지 않고 NONE일 때만 hasEffect가 false일 수 있도록 조건을 변경
5
+ ### Component
6
+ * BasicChatListItem
7
+ * contextMenuPosition 프롭 추가
8
+ * 외부 클릭 혹은 ChatList 스크롤시 ContextMenu 닫힘 기능 추가
9
+ * colorTheme에 secondary_transparent_grey, white_transparent_grey value 추가
10
+ * ChatBubbleListItem
11
+ * contextMenuPosition 프롭 추가
12
+ * 외부 클릭 혹은 ChatList 스크롤시 ContextMenu 닫힘 기능 추가
13
+ ### Color
14
+ * 컬러 키 값 23.09.12 16시 10분 기준 싱크