@soul-refiner/design-system 0.1.37 → 0.1.39
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.
- package/dist/icons/people/group.js +1 -1
- package/package.json +12 -2
- package/public/logo.svg +0 -12
- package/src/common/colors.ts +0 -138
- package/src/common/date.ts +0 -30
- package/src/common/index.ts +0 -9
- package/src/common/styles.ts +0 -95
- package/src/components/actions/button/button.tsx +0 -364
- package/src/components/actions/button/index.ts +0 -2
- package/src/components/actions/dropdown/dropdown.tsx +0 -397
- package/src/components/actions/dropdown/index.ts +0 -6
- package/src/components/actions/index.ts +0 -14
- package/src/components/actions/rate/index.ts +0 -2
- package/src/components/actions/rate/rate.tsx +0 -90
- package/src/components/actions/switch/index.ts +0 -2
- package/src/components/actions/switch/switch.tsx +0 -118
- package/src/components/actions/toggle/index.ts +0 -1
- package/src/components/actions/toggle/toggle.tsx +0 -77
- package/src/components/actions/upload/index.ts +0 -2
- package/src/components/actions/upload/upload.tsx +0 -268
- package/src/components/atoms/box/box.tsx +0 -69
- package/src/components/atoms/box/index.ts +0 -2
- package/src/components/atoms/colors/colors.tsx +0 -58
- package/src/components/atoms/colors/index.ts +0 -1
- package/src/components/atoms/index.ts +0 -9
- package/src/components/atoms/typography/display.tsx +0 -37
- package/src/components/atoms/typography/heading.tsx +0 -71
- package/src/components/atoms/typography/index.ts +0 -8
- package/src/components/atoms/typography/paragraph.tsx +0 -48
- package/src/components/atoms/typography/typography.tsx +0 -49
- package/src/components/card/action/action.tsx +0 -108
- package/src/components/card/action/index.ts +0 -2
- package/src/components/card/audio/audio.tsx +0 -177
- package/src/components/card/audio/index.ts +0 -2
- package/src/components/card/card.tsx +0 -51
- package/src/components/card/feature/feature.tsx +0 -250
- package/src/components/card/feature/index.ts +0 -2
- package/src/components/card/index.ts +0 -2
- package/src/components/card/person/index.ts +0 -2
- package/src/components/card/person/person.tsx +0 -98
- package/src/components/card/price/index.ts +0 -2
- package/src/components/card/price/price.tsx +0 -112
- package/src/components/card/regular/index.ts +0 -2
- package/src/components/card/regular/regular.tsx +0 -54
- package/src/components/card/video/index.ts +0 -2
- package/src/components/card/video/video.tsx +0 -169
- package/src/components/card/written/index.ts +0 -2
- package/src/components/card/written/written.tsx +0 -178
- package/src/components/editor/constants.ts +0 -181
- package/src/components/editor/editor.tsx +0 -101
- package/src/components/editor/index.ts +0 -2
- package/src/components/editor/navbar/alignment_dropdown.tsx +0 -137
- package/src/components/editor/navbar/button_modal.tsx +0 -146
- package/src/components/editor/navbar/index.ts +0 -2
- package/src/components/editor/navbar/navbar.tsx +0 -350
- package/src/components/editor/navbar/style_dropdown.tsx +0 -107
- package/src/components/editor/plate.ts +0 -37
- package/src/components/editor/plugins/blockquote.tsx +0 -25
- package/src/components/editor/plugins/buttons.tsx +0 -140
- package/src/components/editor/plugins/exitBreak.ts +0 -39
- package/src/components/editor/plugins/image.tsx +0 -80
- package/src/components/editor/plugins/index.ts +0 -162
- package/src/components/editor/plugins/link.tsx +0 -144
- package/src/components/editor/plugins/list.tsx +0 -34
- package/src/components/editor/plugins/resetBlockType.ts +0 -29
- package/src/components/editor/plugins/selectOnBackspace.ts +0 -7
- package/src/components/editor/plugins/softBreak.ts +0 -19
- package/src/components/editor/plugins/text.tsx +0 -151
- package/src/components/feedback/badge/badge.tsx +0 -96
- package/src/components/feedback/badge/index.ts +0 -2
- package/src/components/feedback/banner/banner.tsx +0 -118
- package/src/components/feedback/banner/index.ts +0 -2
- package/src/components/feedback/chip/chip.tsx +0 -132
- package/src/components/feedback/chip/index.ts +0 -2
- package/src/components/feedback/index.ts +0 -14
- package/src/components/feedback/loader/index.ts +0 -2
- package/src/components/feedback/loader/loader.tsx +0 -64
- package/src/components/feedback/notification/index.ts +0 -2
- package/src/components/feedback/notification/notification.tsx +0 -129
- package/src/components/feedback/progress/index.ts +0 -2
- package/src/components/feedback/progress/progress.tsx +0 -169
- package/src/components/feedback/toast/index.ts +0 -2
- package/src/components/feedback/toast/toast.tsx +0 -103
- package/src/components/feedback/tooltip/index.ts +0 -2
- package/src/components/feedback/tooltip/tooltip.tsx +0 -42
- package/src/components/iconography/avatar/avatar.tsx +0 -298
- package/src/components/iconography/avatar/icons/approved.tsx +0 -20
- package/src/components/iconography/avatar/icons/busy.tsx +0 -20
- package/src/components/iconography/avatar/icons/declined.tsx +0 -20
- package/src/components/iconography/avatar/icons/default.tsx +0 -12
- package/src/components/iconography/avatar/icons/focus.tsx +0 -20
- package/src/components/iconography/avatar/icons/index.ts +0 -9
- package/src/components/iconography/avatar/icons/locked.tsx +0 -20
- package/src/components/iconography/avatar/icons/offline.tsx +0 -17
- package/src/components/iconography/avatar/icons/online.tsx +0 -16
- package/src/components/iconography/avatar/icons/subscribed.tsx +0 -33
- package/src/components/iconography/avatar/index.ts +0 -2
- package/src/components/iconography/icon/icon.tsx +0 -64
- package/src/components/iconography/icon/index.ts +0 -2
- package/src/components/iconography/index.ts +0 -4
- package/src/components/index.ts +0 -9
- package/src/components/input/checkbox/checkbox.tsx +0 -60
- package/src/components/input/checkbox/index.ts +0 -2
- package/src/components/input/date/date.tsx +0 -699
- package/src/components/input/date/index.ts +0 -2
- package/src/components/input/filter/filter.tsx +0 -307
- package/src/components/input/filter/index.ts +0 -2
- package/src/components/input/index.ts +0 -10
- package/src/components/input/radio/index.ts +0 -2
- package/src/components/input/radio/radio.tsx +0 -142
- package/src/components/input/search/index.ts +0 -2
- package/src/components/input/search/search.tsx +0 -225
- package/src/components/navigation/breadcrumb/breadcrumb.tsx +0 -174
- package/src/components/navigation/breadcrumb/index.ts +0 -2
- package/src/components/navigation/index.ts +0 -4
- package/src/components/navigation/tabs/index.ts +0 -2
- package/src/components/navigation/tabs/tabs.tsx +0 -248
- package/src/components/surfaces/accordion/accordion.tsx +0 -89
- package/src/components/surfaces/accordion/index.ts +0 -2
- package/src/components/surfaces/comment/comment.tsx +0 -245
- package/src/components/surfaces/comment/helpers.ts +0 -35
- package/src/components/surfaces/comment/index.ts +0 -2
- package/src/components/surfaces/drawer/drawer.tsx +0 -182
- package/src/components/surfaces/drawer/index.ts +0 -2
- package/src/components/surfaces/index.ts +0 -10
- package/src/components/surfaces/message/index.ts +0 -2
- package/src/components/surfaces/message/message.tsx +0 -124
- package/src/components/surfaces/modal/index.ts +0 -2
- package/src/components/surfaces/modal/modal.tsx +0 -178
- package/src/components/table/index.ts +0 -7
- package/src/components/table/table/index.ts +0 -7
- package/src/components/table/table/table.tsx +0 -385
- package/src/emoji/emojis.json +0 -17577
- package/src/icons/arrow/arrow_all.tsx +0 -14
- package/src/icons/arrow/arrow_all_diagonal.tsx +0 -14
- package/src/icons/arrow/arrow_both_downwards.tsx +0 -14
- package/src/icons/arrow/arrow_both_upwards.tsx +0 -14
- package/src/icons/arrow/arrow_circle_left.tsx +0 -14
- package/src/icons/arrow/arrow_circle_left_double.tsx +0 -14
- package/src/icons/arrow/arrow_circle_left_double_alert.tsx +0 -23
- package/src/icons/arrow/arrow_circle_right.tsx +0 -14
- package/src/icons/arrow/arrow_circle_right_double.tsx +0 -14
- package/src/icons/arrow/arrow_circle_right_double_alert.tsx +0 -14
- package/src/icons/arrow/arrow_diagonal_down_left.tsx +0 -14
- package/src/icons/arrow/arrow_diagonal_down_left_circle.tsx +0 -14
- package/src/icons/arrow/arrow_diagonal_down_right.tsx +0 -14
- package/src/icons/arrow/arrow_diagonal_down_right_circle.tsx +0 -14
- package/src/icons/arrow/arrow_diagonal_up_left.tsx +0 -14
- package/src/icons/arrow/arrow_diagonal_up_left_circle.tsx +0 -14
- package/src/icons/arrow/arrow_diagonal_up_right.tsx +0 -14
- package/src/icons/arrow/arrow_diagonal_up_right_circle.tsx +0 -14
- package/src/icons/arrow/arrow_down.tsx +0 -14
- package/src/icons/arrow/arrow_down_bold.tsx +0 -14
- package/src/icons/arrow/arrow_down_circle.tsx +0 -14
- package/src/icons/arrow/arrow_left.tsx +0 -14
- package/src/icons/arrow/arrow_left_bold.tsx +0 -14
- package/src/icons/arrow/arrow_left_circle.tsx +0 -14
- package/src/icons/arrow/arrow_left_curved.tsx +0 -14
- package/src/icons/arrow/arrow_left_curved_circle.tsx +0 -14
- package/src/icons/arrow/arrow_right.tsx +0 -14
- package/src/icons/arrow/arrow_right_bold.tsx +0 -14
- package/src/icons/arrow/arrow_right_circle.tsx +0 -14
- package/src/icons/arrow/arrow_right_curved.tsx +0 -14
- package/src/icons/arrow/arrow_right_curved_circle.tsx +0 -14
- package/src/icons/arrow/arrow_up.tsx +0 -14
- package/src/icons/arrow/arrow_up_bold.tsx +0 -14
- package/src/icons/arrow/arrow_up_circle.tsx +0 -14
- package/src/icons/arrow/chevron_down.tsx +0 -14
- package/src/icons/arrow/chevron_down_circle.tsx +0 -14
- package/src/icons/arrow/chevron_down_double.tsx +0 -14
- package/src/icons/arrow/chevron_down_double_circle.tsx +0 -14
- package/src/icons/arrow/chevron_left.tsx +0 -14
- package/src/icons/arrow/chevron_left_circle.tsx +0 -14
- package/src/icons/arrow/chevron_left_double.tsx +0 -14
- package/src/icons/arrow/chevron_left_double_circle.tsx +0 -14
- package/src/icons/arrow/chevron_right.tsx +0 -14
- package/src/icons/arrow/chevron_right_circle.tsx +0 -14
- package/src/icons/arrow/chevron_right_double.tsx +0 -14
- package/src/icons/arrow/chevron_right_double_circle.tsx +0 -14
- package/src/icons/arrow/chevron_scroll.tsx +0 -14
- package/src/icons/arrow/chevron_up.tsx +0 -14
- package/src/icons/arrow/chevron_up_circle.tsx +0 -14
- package/src/icons/arrow/chevron_up_double.tsx +0 -14
- package/src/icons/arrow/chevron_up_double_circle.tsx +0 -14
- package/src/icons/arrow/forward_all.tsx +0 -14
- package/src/icons/arrow/forward_all_bold.tsx +0 -14
- package/src/icons/arrow/forward_bold.tsx +0 -14
- package/src/icons/arrow/index.ts +0 -62
- package/src/icons/arrow/redo.tsx +0 -14
- package/src/icons/arrow/redo_bold.tsx +0 -14
- package/src/icons/arrow/reply.tsx +0 -14
- package/src/icons/arrow/reply_all.tsx +0 -14
- package/src/icons/arrow/reply_all_bold.tsx +0 -14
- package/src/icons/arrow/reply_bold.tsx +0 -14
- package/src/icons/arrow/undo.tsx +0 -14
- package/src/icons/arrow/undo_bold.tsx +0 -14
- package/src/icons/audio_video/drag_indicator.tsx +0 -10
- package/src/icons/audio_video/eject.tsx +0 -14
- package/src/icons/audio_video/equalizer.tsx +0 -14
- package/src/icons/audio_video/fast_forward.tsx +0 -14
- package/src/icons/audio_video/fast_forward_30.tsx +0 -10
- package/src/icons/audio_video/fullscreen.tsx +0 -10
- package/src/icons/audio_video/headphones.tsx +0 -10
- package/src/icons/audio_video/index.ts +0 -38
- package/src/icons/audio_video/library_add.tsx +0 -14
- package/src/icons/audio_video/library_delay.tsx +0 -14
- package/src/icons/audio_video/library_music.tsx +0 -14
- package/src/icons/audio_video/library_queue.tsx +0 -14
- package/src/icons/audio_video/microphone.tsx +0 -10
- package/src/icons/audio_video/musical_note.tsx +0 -14
- package/src/icons/audio_video/next.tsx +0 -14
- package/src/icons/audio_video/pause.tsx +0 -14
- package/src/icons/audio_video/pause_circle.tsx +0 -14
- package/src/icons/audio_video/play.tsx +0 -14
- package/src/icons/audio_video/play_circle.tsx +0 -14
- package/src/icons/audio_video/play_display.tsx +0 -10
- package/src/icons/audio_video/play_pause.tsx +0 -14
- package/src/icons/audio_video/play_solid.tsx +0 -10
- package/src/icons/audio_video/player_list.tsx +0 -14
- package/src/icons/audio_video/player_list_add.tsx +0 -14
- package/src/icons/audio_video/player_list_play.tsx +0 -14
- package/src/icons/audio_video/previous.tsx +0 -14
- package/src/icons/audio_video/radio.tsx +0 -14
- package/src/icons/audio_video/record.tsx +0 -14
- package/src/icons/audio_video/repeat.tsx +0 -14
- package/src/icons/audio_video/rewind.tsx +0 -14
- package/src/icons/audio_video/rewind_30.tsx +0 -10
- package/src/icons/audio_video/shuffle.tsx +0 -14
- package/src/icons/audio_video/sound_wave.tsx +0 -14
- package/src/icons/audio_video/stop.tsx +0 -14
- package/src/icons/audio_video/stop_circle.tsx +0 -14
- package/src/icons/audio_video/subscriptions.tsx +0 -10
- package/src/icons/audio_video/tuner.tsx +0 -14
- package/src/icons/audio_video/volume.tsx +0 -14
- package/src/icons/audio_video/volume_high.tsx +0 -14
- package/src/icons/audio_video/volume_low.tsx +0 -14
- package/src/icons/audio_video/volume_slash.tsx +0 -14
- package/src/icons/basic/aa_sansserif.tsx +0 -11
- package/src/icons/basic/aa_serif.tsx +0 -11
- package/src/icons/basic/anchor.tsx +0 -24
- package/src/icons/basic/bible.tsx +0 -14
- package/src/icons/basic/bold.tsx +0 -14
- package/src/icons/basic/book.tsx +0 -14
- package/src/icons/basic/book_open.tsx +0 -10
- package/src/icons/basic/bookmark.tsx +0 -14
- package/src/icons/basic/bookmark_add.tsx +0 -14
- package/src/icons/basic/bookmark_slash.tsx +0 -14
- package/src/icons/basic/bookmarks.tsx +0 -14
- package/src/icons/basic/books.tsx +0 -13
- package/src/icons/basic/box.tsx +0 -14
- package/src/icons/basic/briefcase.tsx +0 -14
- package/src/icons/basic/browse_activity.tsx +0 -10
- package/src/icons/basic/browser.tsx +0 -14
- package/src/icons/basic/browser_slash.tsx +0 -14
- package/src/icons/basic/calculator.tsx +0 -14
- package/src/icons/basic/camera.tsx +0 -14
- package/src/icons/basic/camera_add.tsx +0 -14
- package/src/icons/basic/camera_slash.tsx +0 -14
- package/src/icons/basic/checkmark.tsx +0 -14
- package/src/icons/basic/checkmark_circle.tsx +0 -23
- package/src/icons/basic/checkmark_filled.tsx +0 -10
- package/src/icons/basic/checkmarks.tsx +0 -14
- package/src/icons/basic/circle.tsx +0 -14
- package/src/icons/basic/circle_slash.tsx +0 -23
- package/src/icons/basic/clear_text_style.tsx +0 -14
- package/src/icons/basic/close.tsx +0 -10
- package/src/icons/basic/close_circle.tsx +0 -14
- package/src/icons/basic/close_filled.tsx +0 -10
- package/src/icons/basic/copy.tsx +0 -14
- package/src/icons/basic/delete.tsx +0 -14
- package/src/icons/basic/detail.tsx +0 -10
- package/src/icons/basic/dot.tsx +0 -10
- package/src/icons/basic/download.tsx +0 -14
- package/src/icons/basic/download_arrow.tsx +0 -14
- package/src/icons/basic/droplet.tsx +0 -23
- package/src/icons/basic/ellipsis_horizontal.tsx +0 -14
- package/src/icons/basic/ellipsis_horizontal_circle.tsx +0 -14
- package/src/icons/basic/ellipsis_vertical.tsx +0 -14
- package/src/icons/basic/ellipsis_vertical_circle.tsx +0 -14
- package/src/icons/basic/eye.tsx +0 -14
- package/src/icons/basic/eye_slash.tsx +0 -14
- package/src/icons/basic/fingerprint.tsx +0 -10
- package/src/icons/basic/flag.tsx +0 -14
- package/src/icons/basic/flag_wave.tsx +0 -10
- package/src/icons/basic/flag_wave_filled.tsx +0 -10
- package/src/icons/basic/flame.tsx +0 -14
- package/src/icons/basic/gauge.tsx +0 -14
- package/src/icons/basic/glasses.tsx +0 -14
- package/src/icons/basic/graduation_cap.tsx +0 -10
- package/src/icons/basic/hashmark.tsx +0 -10
- package/src/icons/basic/heart.tsx +0 -14
- package/src/icons/basic/heart_slash.tsx +0 -14
- package/src/icons/basic/highlighter.tsx +0 -10
- package/src/icons/basic/home.tsx +0 -14
- package/src/icons/basic/image.tsx +0 -14
- package/src/icons/basic/inbox.tsx +0 -14
- package/src/icons/basic/index.ts +0 -131
- package/src/icons/basic/italic.tsx +0 -10
- package/src/icons/basic/layers.tsx +0 -14
- package/src/icons/basic/lightening.tsx +0 -14
- package/src/icons/basic/lightening_slash.tsx +0 -14
- package/src/icons/basic/link.tsx +0 -14
- package/src/icons/basic/link_slash.tsx +0 -14
- package/src/icons/basic/loudspeaker.tsx +0 -10
- package/src/icons/basic/maximize.tsx +0 -14
- package/src/icons/basic/menu.tsx +0 -14
- package/src/icons/basic/menu_circle.tsx +0 -14
- package/src/icons/basic/menu_dots.tsx +0 -14
- package/src/icons/basic/microphone_slash.tsx +0 -14
- package/src/icons/basic/minimize.tsx +0 -14
- package/src/icons/basic/minus.tsx +0 -14
- package/src/icons/basic/minus_circle.tsx +0 -14
- package/src/icons/basic/move_item.tsx +0 -10
- package/src/icons/basic/new.tsx +0 -10
- package/src/icons/basic/newspaper.tsx +0 -14
- package/src/icons/basic/node.tsx +0 -14
- package/src/icons/basic/note_pad.tsx +0 -19
- package/src/icons/basic/options.tsx +0 -14
- package/src/icons/basic/paint_brush.tsx +0 -14
- package/src/icons/basic/paperclip.tsx +0 -14
- package/src/icons/basic/paperclip_slash.tsx +0 -14
- package/src/icons/basic/pencil.tsx +0 -14
- package/src/icons/basic/pencil_pad.tsx +0 -14
- package/src/icons/basic/plus.tsx +0 -14
- package/src/icons/basic/plus_circle.tsx +0 -14
- package/src/icons/basic/presentation.tsx +0 -14
- package/src/icons/basic/printer.tsx +0 -14
- package/src/icons/basic/profile.tsx +0 -14
- package/src/icons/basic/profile_check.tsx +0 -14
- package/src/icons/basic/pulse.tsx +0 -14
- package/src/icons/basic/qr_code.tsx +0 -14
- package/src/icons/basic/resize.tsx +0 -23
- package/src/icons/basic/scan.tsx +0 -14
- package/src/icons/basic/scissors.tsx +0 -14
- package/src/icons/basic/screenshot.tsx +0 -14
- package/src/icons/basic/search.tsx +0 -14
- package/src/icons/basic/select_item.tsx +0 -11
- package/src/icons/basic/settings.tsx +0 -14
- package/src/icons/basic/share.tsx +0 -14
- package/src/icons/basic/share_external.tsx +0 -14
- package/src/icons/basic/square.tsx +0 -14
- package/src/icons/basic/star.tsx +0 -14
- package/src/icons/basic/star_circle.tsx +0 -14
- package/src/icons/basic/star_filled.tsx +0 -10
- package/src/icons/basic/star_filled_half.tsx +0 -14
- package/src/icons/basic/star_slash.tsx +0 -14
- package/src/icons/basic/sticker.tsx +0 -14
- package/src/icons/basic/strikethrough.tsx +0 -10
- package/src/icons/basic/subtask.tsx +0 -21
- package/src/icons/basic/tax.tsx +0 -21
- package/src/icons/basic/text_bg_color.tsx +0 -14
- package/src/icons/basic/text_color.tsx +0 -14
- package/src/icons/basic/textbox.tsx +0 -10
- package/src/icons/basic/thumbs_down.tsx +0 -14
- package/src/icons/basic/thumbs_up.tsx +0 -14
- package/src/icons/basic/thumbs_up_filled.tsx +0 -10
- package/src/icons/basic/toggle_left.tsx +0 -14
- package/src/icons/basic/toggle_right.tsx +0 -14
- package/src/icons/basic/translate.tsx +0 -10
- package/src/icons/basic/trash.tsx +0 -14
- package/src/icons/basic/trash_slash.tsx +0 -14
- package/src/icons/basic/underline.tsx +0 -10
- package/src/icons/basic/upload.tsx +0 -14
- package/src/icons/basic/video.tsx +0 -14
- package/src/icons/basic/video_add.tsx +0 -15
- package/src/icons/basic/video_slash.tsx +0 -14
- package/src/icons/basic/wrench.tsx +0 -10
- package/src/icons/basic/zoom_in.tsx +0 -14
- package/src/icons/basic/zoom_out.tsx +0 -14
- package/src/icons/data/bar_chart.tsx +0 -10
- package/src/icons/data/bar_chart_downward.tsx +0 -10
- package/src/icons/data/bar_chart_downward_outline.tsx +0 -10
- package/src/icons/data/bar_chart_upward.tsx +0 -10
- package/src/icons/data/bar_chart_upward_outline.tsx +0 -14
- package/src/icons/data/candlestick_chart.tsx +0 -10
- package/src/icons/data/four_circles.tsx +0 -14
- package/src/icons/data/index.ts +0 -20
- package/src/icons/data/legend_toggle.tsx +0 -10
- package/src/icons/data/line_chart.tsx +0 -10
- package/src/icons/data/line_chart_area.tsx +0 -10
- package/src/icons/data/line_chart_area_shaded.tsx +0 -10
- package/src/icons/data/line_chart_double.tsx +0 -10
- package/src/icons/data/line_chart_downward.tsx +0 -10
- package/src/icons/data/line_chart_node.tsx +0 -10
- package/src/icons/data/line_chart_outline.tsx +0 -10
- package/src/icons/data/line_chart_search.tsx +0 -10
- package/src/icons/data/line_chart_stars.tsx +0 -10
- package/src/icons/data/line_chart_upward.tsx +0 -10
- package/src/icons/data/pie_chart.tsx +0 -19
- package/src/icons/data/tree.tsx +0 -10
- package/src/icons/email/index.ts +0 -8
- package/src/icons/email/mail.tsx +0 -14
- package/src/icons/email/mail_check.tsx +0 -14
- package/src/icons/email/mail_minus.tsx +0 -14
- package/src/icons/email/mail_send.tsx +0 -14
- package/src/icons/email/send.tsx +0 -14
- package/src/icons/email/send_close.tsx +0 -10
- package/src/icons/email/send_schedule.tsx +0 -10
- package/src/icons/email/send_text.tsx +0 -14
- package/src/icons/file/clipboard.tsx +0 -14
- package/src/icons/file/clipboard_check.tsx +0 -14
- package/src/icons/file/clipboard_close.tsx +0 -14
- package/src/icons/file/clipboard_minus.tsx +0 -14
- package/src/icons/file/clipboard_plus.tsx +0 -14
- package/src/icons/file/clipboard_text.tsx +0 -14
- package/src/icons/file/file.tsx +0 -14
- package/src/icons/file/file_add.tsx +0 -14
- package/src/icons/file/file_check.tsx +0 -14
- package/src/icons/file/file_close.tsx +0 -14
- package/src/icons/file/file_code.tsx +0 -14
- package/src/icons/file/file_download.tsx +0 -14
- package/src/icons/file/file_draft.tsx +0 -14
- package/src/icons/file/file_gear.tsx +0 -15
- package/src/icons/file/file_minus.tsx +0 -14
- package/src/icons/file/file_plus.tsx +0 -14
- package/src/icons/file/file_scan.tsx +0 -14
- package/src/icons/file/file_shred.tsx +0 -14
- package/src/icons/file/file_text.tsx +0 -14
- package/src/icons/file/file_upload.tsx +0 -14
- package/src/icons/file/folder.tsx +0 -14
- package/src/icons/file/folder_add.tsx +0 -14
- package/src/icons/file/folder_arrow.tsx +0 -14
- package/src/icons/file/folder_check.tsx +0 -14
- package/src/icons/file/folder_close.tsx +0 -14
- package/src/icons/file/folder_cloud.tsx +0 -14
- package/src/icons/file/folder_minus.tsx +0 -14
- package/src/icons/file/folder_music.tsx +0 -14
- package/src/icons/file/folder_open.tsx +0 -14
- package/src/icons/file/folder_plus.tsx +0 -14
- package/src/icons/file/folder_zip.tsx +0 -14
- package/src/icons/file/index.ts +0 -35
- package/src/icons/file/note.tsx +0 -14
- package/src/icons/file/note_text.tsx +0 -14
- package/src/icons/file/pdf.tsx +0 -10
- package/src/icons/file/photo.tsx +0 -14
- package/src/icons/finance/bitcoin.tsx +0 -14
- package/src/icons/finance/coins.tsx +0 -34
- package/src/icons/finance/credit_card.tsx +0 -14
- package/src/icons/finance/credit_card_add.tsx +0 -14
- package/src/icons/finance/credit_card_face.tsx +0 -14
- package/src/icons/finance/credit_card_member.tsx +0 -10
- package/src/icons/finance/credit_card_outcome.tsx +0 -14
- package/src/icons/finance/credit_card_scan.tsx +0 -14
- package/src/icons/finance/credit_card_share.tsx +0 -14
- package/src/icons/finance/credit_card_slash.tsx +0 -14
- package/src/icons/finance/currency_exchange.tsx +0 -10
- package/src/icons/finance/dollar.tsx +0 -10
- package/src/icons/finance/ethereum.tsx +0 -14
- package/src/icons/finance/index.ts +0 -16
- package/src/icons/finance/paypass.tsx +0 -14
- package/src/icons/finance/strongbox.tsx +0 -14
- package/src/icons/finance/wallet.tsx +0 -14
- package/src/icons/index.ts +0 -21
- package/src/icons/layout/block_align_bottom.tsx +0 -14
- package/src/icons/layout/block_align_center.tsx +0 -14
- package/src/icons/layout/block_align_left.tsx +0 -14
- package/src/icons/layout/block_align_middle.tsx +0 -14
- package/src/icons/layout/block_align_right.tsx +0 -14
- package/src/icons/layout/block_align_top.tsx +0 -14
- package/src/icons/layout/block_horizontal.tsx +0 -14
- package/src/icons/layout/block_vertical.tsx +0 -14
- package/src/icons/layout/edit_shape.tsx +0 -14
- package/src/icons/layout/elements.tsx +0 -10
- package/src/icons/layout/elements_add.tsx +0 -14
- package/src/icons/layout/elements_filled.tsx +0 -10
- package/src/icons/layout/elements_masonry.tsx +0 -14
- package/src/icons/layout/frame.tsx +0 -14
- package/src/icons/layout/frame_stack.tsx +0 -14
- package/src/icons/layout/grid.tsx +0 -14
- package/src/icons/layout/grid_column_three.tsx +0 -14
- package/src/icons/layout/grid_column_two.tsx +0 -14
- package/src/icons/layout/grid_dynamic.tsx +0 -14
- package/src/icons/layout/grid_frame.tsx +0 -14
- package/src/icons/layout/grid_row_three.tsx +0 -14
- package/src/icons/layout/grid_row_two.tsx +0 -14
- package/src/icons/layout/grid_six.tsx +0 -14
- package/src/icons/layout/grid_small.tsx +0 -14
- package/src/icons/layout/iframe.tsx +0 -14
- package/src/icons/layout/index.ts +0 -44
- package/src/icons/layout/kanban.tsx +0 -14
- package/src/icons/layout/layout.tsx +0 -14
- package/src/icons/layout/list.tsx +0 -14
- package/src/icons/layout/list_filled.tsx +0 -15
- package/src/icons/layout/padding.tsx +0 -14
- package/src/icons/layout/page_break.tsx +0 -14
- package/src/icons/layout/rotate_left.tsx +0 -14
- package/src/icons/layout/rotate_right.tsx +0 -14
- package/src/icons/layout/ruler.tsx +0 -14
- package/src/icons/layout/segment.tsx +0 -14
- package/src/icons/layout/select_area.tsx +0 -14
- package/src/icons/layout/select_boundary.tsx +0 -14
- package/src/icons/layout/sidebar_left.tsx +0 -14
- package/src/icons/layout/sidebar_right.tsx +0 -14
- package/src/icons/layout/slides.tsx +0 -14
- package/src/icons/layout/slides_horizontal.tsx +0 -14
- package/src/icons/layout/slides_vertical.tsx +0 -19
- package/src/icons/layout/stack.tsx +0 -14
- package/src/icons/layout/text.tsx +0 -14
- package/src/icons/maps/atlas.tsx +0 -14
- package/src/icons/maps/compass.tsx +0 -14
- package/src/icons/maps/direction.tsx +0 -14
- package/src/icons/maps/direction_angled.tsx +0 -14
- package/src/icons/maps/globe.tsx +0 -14
- package/src/icons/maps/globe_slash.tsx +0 -14
- package/src/icons/maps/index.ts +0 -22
- package/src/icons/maps/location.tsx +0 -14
- package/src/icons/maps/location_slash.tsx +0 -14
- package/src/icons/maps/map.tsx +0 -14
- package/src/icons/maps/marker.tsx +0 -14
- package/src/icons/maps/panorama.tsx +0 -14
- package/src/icons/maps/pin.tsx +0 -14
- package/src/icons/maps/pin_arrow.tsx +0 -14
- package/src/icons/maps/pin_location.tsx +0 -14
- package/src/icons/maps/pin_plus.tsx +0 -14
- package/src/icons/maps/pin_question.tsx +0 -14
- package/src/icons/maps/pin_slash.tsx +0 -14
- package/src/icons/maps/push_pin.tsx +0 -14
- package/src/icons/maps/push_pin_filled.tsx +0 -14
- package/src/icons/maps/push_pin_slash.tsx +0 -14
- package/src/icons/maps/radar.tsx +0 -14
- package/src/icons/maps/route.tsx +0 -14
- package/src/icons/message/bubble.tsx +0 -14
- package/src/icons/message/bubble_question.tsx +0 -14
- package/src/icons/message/comment.tsx +0 -14
- package/src/icons/message/comment_add.tsx +0 -14
- package/src/icons/message/comment_check.tsx +0 -14
- package/src/icons/message/comment_close.tsx +0 -14
- package/src/icons/message/comment_minus.tsx +0 -14
- package/src/icons/message/comment_text.tsx +0 -14
- package/src/icons/message/index.ts +0 -8
- package/src/icons/misc/advertisement.tsx +0 -14
- package/src/icons/misc/atom.tsx +0 -14
- package/src/icons/misc/bone.tsx +0 -14
- package/src/icons/misc/brightness_high.tsx +0 -14
- package/src/icons/misc/brightness_low.tsx +0 -14
- package/src/icons/misc/contrast.tsx +0 -14
- package/src/icons/misc/crosshairs.tsx +0 -14
- package/src/icons/misc/crown.tsx +0 -10
- package/src/icons/misc/footprint.tsx +0 -10
- package/src/icons/misc/form.tsx +0 -14
- package/src/icons/misc/funnel.tsx +0 -14
- package/src/icons/misc/index.ts +0 -25
- package/src/icons/misc/infinite.tsx +0 -14
- package/src/icons/misc/insert_button.tsx +0 -14
- package/src/icons/misc/light_bulb.tsx +0 -14
- package/src/icons/misc/moon.tsx +0 -14
- package/src/icons/misc/nut.tsx +0 -14
- package/src/icons/misc/planet.tsx +0 -14
- package/src/icons/misc/plus_thick.tsx +0 -14
- package/src/icons/misc/pocket.tsx +0 -14
- package/src/icons/misc/rocket.tsx +0 -14
- package/src/icons/misc/soup.tsx +0 -18
- package/src/icons/misc/sun.tsx +0 -14
- package/src/icons/misc/toy_horse.tsx +0 -14
- package/src/icons/misc/trophy.tsx +0 -14
- package/src/icons/misc/watercloset.tsx +0 -10
- package/src/icons/notifications/alert_circle.tsx +0 -14
- package/src/icons/notifications/alert_octogon.tsx +0 -14
- package/src/icons/notifications/alert_triangle.tsx +0 -14
- package/src/icons/notifications/app_notification.tsx +0 -14
- package/src/icons/notifications/bell.tsx +0 -14
- package/src/icons/notifications/bell_alert.tsx +0 -14
- package/src/icons/notifications/bell_checkmark.tsx +0 -14
- package/src/icons/notifications/bell_minus.tsx +0 -14
- package/src/icons/notifications/bell_plus.tsx +0 -14
- package/src/icons/notifications/bell_ring.tsx +0 -16
- package/src/icons/notifications/bell_slash.tsx +0 -14
- package/src/icons/notifications/close_octogon.tsx +0 -14
- package/src/icons/notifications/index.ts +0 -14
- package/src/icons/notifications/information.tsx +0 -14
- package/src/icons/notifications/minus_octogon.tsx +0 -14
- package/src/icons/notifications/question_circle.tsx +0 -14
- package/src/icons/people/group.tsx +0 -10
- package/src/icons/people/group_add.tsx +0 -10
- package/src/icons/people/group_chat.tsx +0 -20
- package/src/icons/people/group_remove.tsx +0 -10
- package/src/icons/people/group_send.tsx +0 -11
- package/src/icons/people/groups.tsx +0 -10
- package/src/icons/people/index.ts +0 -13
- package/src/icons/people/person.tsx +0 -10
- package/src/icons/people/person_add.tsx +0 -10
- package/src/icons/people/person_checkmark.tsx +0 -10
- package/src/icons/people/person_circle.tsx +0 -20
- package/src/icons/people/person_close.tsx +0 -20
- package/src/icons/people/person_remove.tsx +0 -10
- package/src/icons/people/person_slash.tsx +0 -24
- package/src/icons/phone/index.ts +0 -14
- package/src/icons/phone/keypad.tsx +0 -14
- package/src/icons/phone/phone.tsx +0 -14
- package/src/icons/phone/phone_add.tsx +0 -14
- package/src/icons/phone/phone_calling.tsx +0 -14
- package/src/icons/phone/phone_check.tsx +0 -14
- package/src/icons/phone/phone_close.tsx +0 -14
- package/src/icons/phone/phone_decline.tsx +0 -14
- package/src/icons/phone/phone_end.tsx +0 -14
- package/src/icons/phone/phone_forwarded.tsx +0 -14
- package/src/icons/phone/phone_hash.tsx +0 -14
- package/src/icons/phone/phone_incoming.tsx +0 -14
- package/src/icons/phone/phone_missed.tsx +0 -14
- package/src/icons/phone/phone_outgoing.tsx +0 -14
- package/src/icons/phone/phone_pause.tsx +0 -14
- package/src/icons/phone/phone_slash.tsx +0 -14
- package/src/icons/phone/voicemail.tsx +0 -14
- package/src/icons/security/index.ts +0 -11
- package/src/icons/security/key.tsx +0 -14
- package/src/icons/security/key_slash.tsx +0 -14
- package/src/icons/security/lock.tsx +0 -14
- package/src/icons/security/lock_circle.tsx +0 -14
- package/src/icons/security/lock_open.tsx +0 -14
- package/src/icons/security/lock_slash.tsx +0 -14
- package/src/icons/security/shield.tsx +0 -14
- package/src/icons/security/shield_checkmark.tsx +0 -14
- package/src/icons/security/shield_lock.tsx +0 -14
- package/src/icons/security/shield_slash.tsx +0 -14
- package/src/icons/security/verified.tsx +0 -14
- package/src/icons/shopping/basket.tsx +0 -14
- package/src/icons/shopping/cart.tsx +0 -14
- package/src/icons/shopping/cart_filled.tsx +0 -14
- package/src/icons/shopping/coupon.tsx +0 -14
- package/src/icons/shopping/coupon_cut.tsx +0 -14
- package/src/icons/shopping/delivery.tsx +0 -14
- package/src/icons/shopping/discount.tsx +0 -14
- package/src/icons/shopping/gift.tsx +0 -14
- package/src/icons/shopping/gift_bag.tsx +0 -14
- package/src/icons/shopping/index.ts +0 -15
- package/src/icons/shopping/inventory.tsx +0 -10
- package/src/icons/shopping/point_of_sale.tsx +0 -14
- package/src/icons/shopping/shirt.tsx +0 -10
- package/src/icons/shopping/tag.tsx +0 -14
- package/src/icons/shopping/tag_diagonal.tsx +0 -10
- package/src/icons/shopping/tote.tsx +0 -14
- package/src/icons/special/index.ts +0 -4
- package/src/icons/special/upload_audio.tsx +0 -58
- package/src/icons/special/upload_file.tsx +0 -50
- package/src/icons/special/upload_image.tsx +0 -52
- package/src/icons/special/upload_video.tsx +0 -61
- package/src/icons/symbols/at.tsx +0 -14
- package/src/icons/symbols/cc.tsx +0 -14
- package/src/icons/symbols/cmd.tsx +0 -14
- package/src/icons/symbols/facebook.tsx +0 -13
- package/src/icons/symbols/google.tsx +0 -33
- package/src/icons/symbols/hash.tsx +0 -14
- package/src/icons/symbols/index.ts +0 -9
- package/src/icons/symbols/instagram.tsx +0 -48
- package/src/icons/symbols/messenger.tsx +0 -30
- package/src/icons/symbols/twitter.tsx +0 -13
- package/src/icons/technology/battery.tsx +0 -14
- package/src/icons/technology/battery_100.tsx +0 -14
- package/src/icons/technology/battery_20.tsx +0 -14
- package/src/icons/technology/battery_40.tsx +0 -14
- package/src/icons/technology/battery_60.tsx +0 -14
- package/src/icons/technology/battery_80.tsx +0 -14
- package/src/icons/technology/battery_charging.tsx +0 -14
- package/src/icons/technology/battery_slash.tsx +0 -14
- package/src/icons/technology/devices.tsx +0 -14
- package/src/icons/technology/floppy_disk.tsx +0 -14
- package/src/icons/technology/index.ts +0 -17
- package/src/icons/technology/iphone.tsx +0 -14
- package/src/icons/technology/laptop.tsx +0 -14
- package/src/icons/technology/mobile.tsx +0 -14
- package/src/icons/technology/monitor.tsx +0 -14
- package/src/icons/technology/server.tsx +0 -14
- package/src/icons/technology/sim_card.tsx +0 -14
- package/src/icons/technology/usb_stick.tsx +0 -14
- package/src/icons/text/align_center.tsx +0 -14
- package/src/icons/text/align_justified.tsx +0 -14
- package/src/icons/text/align_left.tsx +0 -14
- package/src/icons/text/align_right.tsx +0 -14
- package/src/icons/text/code_block.tsx +0 -10
- package/src/icons/text/divider.tsx +0 -14
- package/src/icons/text/footnote.tsx +0 -12
- package/src/icons/text/indent_decrease.tsx +0 -10
- package/src/icons/text/indent_increase.tsx +0 -10
- package/src/icons/text/index.ts +0 -13
- package/src/icons/text/list_ordered.tsx +0 -10
- package/src/icons/text/list_unordered.tsx +0 -14
- package/src/icons/text/quote.tsx +0 -10
- package/src/icons/text/table.tsx +0 -14
- package/src/icons/time/alarm.tsx +0 -14
- package/src/icons/time/alarm_checkmark.tsx +0 -14
- package/src/icons/time/alarm_minus.tsx +0 -14
- package/src/icons/time/alarm_plus.tsx +0 -14
- package/src/icons/time/alarm_slash.tsx +0 -14
- package/src/icons/time/alarm_snooze.tsx +0 -14
- package/src/icons/time/calendar.tsx +0 -14
- package/src/icons/time/calendar_add.tsx +0 -14
- package/src/icons/time/calendar_checkmark.tsx +0 -14
- package/src/icons/time/calendar_close.tsx +0 -14
- package/src/icons/time/calendar_dates.tsx +0 -14
- package/src/icons/time/calendar_minus.tsx +0 -14
- package/src/icons/time/calendar_plus.tsx +0 -14
- package/src/icons/time/calendar_scroll.tsx +0 -16
- package/src/icons/time/clock.tsx +0 -14
- package/src/icons/time/clock_history.tsx +0 -14
- package/src/icons/time/index.ts +0 -19
- package/src/icons/time/stopwatch.tsx +0 -14
- package/src/icons/time/timer.tsx +0 -14
- package/src/icons/time/watch.tsx +0 -14
- package/src/index.ts +0 -2
- package/src/types/attributes.ts +0 -83
- package/src/types/index.ts +0 -17
- package/src/utils/date.ts +0 -118
- package/src/utils/function.ts +0 -4
- package/src/utils/index.ts +0 -14
- package/tsconfig.build.json +0 -29
- package/tsconfig.json +0 -29
|
@@ -1,245 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import styled from 'styled-components';
|
|
5
|
-
import Picker from '@emoji-mart/react';
|
|
6
|
-
import { Avatar, Box, BoxProps, P } from '../../';
|
|
7
|
-
import emojis from '../../../emoji/emojis.json';
|
|
8
|
-
import { ThumbsUp, Comment as CommentIcon } from '../../../icons';
|
|
9
|
-
import { abbrTimeBeforeDate } from './helpers';
|
|
10
|
-
import { Styles } from '../../../common';
|
|
11
|
-
|
|
12
|
-
export interface CommentProps {
|
|
13
|
-
content: string;
|
|
14
|
-
createdDate: Date;
|
|
15
|
-
onCommentClick: () => void;
|
|
16
|
-
onReact: (reaction: string) => void;
|
|
17
|
-
reactions?: Record<string, number>;
|
|
18
|
-
replies?: CommentProps[];
|
|
19
|
-
userImageUri: string;
|
|
20
|
-
userName: string;
|
|
21
|
-
userReactions?: string[];
|
|
22
|
-
userProfileUri: string;
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
export const Comment = ({
|
|
26
|
-
content,
|
|
27
|
-
createdDate,
|
|
28
|
-
onCommentClick,
|
|
29
|
-
onReact,
|
|
30
|
-
reactions,
|
|
31
|
-
replies,
|
|
32
|
-
userImageUri,
|
|
33
|
-
userName,
|
|
34
|
-
userReactions,
|
|
35
|
-
userProfileUri,
|
|
36
|
-
}: CommentProps) => {
|
|
37
|
-
const id = React.useId();
|
|
38
|
-
const [showPicker, setShowPicker] = React.useState(false);
|
|
39
|
-
|
|
40
|
-
const handleReaction = ({ native }: Record<string, string>) => {
|
|
41
|
-
onReact(native);
|
|
42
|
-
setShowPicker(false);
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
const handlePicker = (event: React.MouseEvent) => {
|
|
46
|
-
event.stopPropagation();
|
|
47
|
-
setShowPicker((prev) => !prev);
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
const handlePickerBlur = () => setShowPicker(false);
|
|
51
|
-
|
|
52
|
-
const createdTime = abbrTimeBeforeDate(createdDate, { message: true });
|
|
53
|
-
|
|
54
|
-
const reactionElements =
|
|
55
|
-
reactions &&
|
|
56
|
-
Object.entries(reactions)
|
|
57
|
-
.sort((a, b) => (a[1] < b[1] ? 1 : -1))
|
|
58
|
-
.map((reaction) => (
|
|
59
|
-
<Reaction
|
|
60
|
-
key={id + reaction[0]}
|
|
61
|
-
$align="center"
|
|
62
|
-
$dir="row"
|
|
63
|
-
$gap={5}
|
|
64
|
-
$userSelected={userReactions?.includes(reaction[0])}
|
|
65
|
-
>
|
|
66
|
-
{reaction[0]}
|
|
67
|
-
<P $bold $fontSize={10} $lineHeight={14}>
|
|
68
|
-
{reaction[1]}
|
|
69
|
-
</P>
|
|
70
|
-
</Reaction>
|
|
71
|
-
));
|
|
72
|
-
|
|
73
|
-
const hasReplies = !!replies?.length && replies.length > 0;
|
|
74
|
-
const replyElements =
|
|
75
|
-
hasReplies &&
|
|
76
|
-
replies.map((reply, index) => (
|
|
77
|
-
<ReplyWrapper
|
|
78
|
-
$isNotLastReply={index !== replies.length - 1}
|
|
79
|
-
key={id + reply.createdDate.getTime().toString(36)}
|
|
80
|
-
>
|
|
81
|
-
<Comment {...reply} />
|
|
82
|
-
<ReplyIndicator />
|
|
83
|
-
</ReplyWrapper>
|
|
84
|
-
));
|
|
85
|
-
|
|
86
|
-
return (
|
|
87
|
-
<Wrapper>
|
|
88
|
-
<Avatar href={userProfileUri} image={userImageUri} size={32} />
|
|
89
|
-
<Box $flex={1} $dir="column">
|
|
90
|
-
<ContentWrapper $hasReplies={hasReplies}>
|
|
91
|
-
<CommentBox>
|
|
92
|
-
<P $bold $color="grey-2" $fontSize={14} $lineHeight={20}>
|
|
93
|
-
{userName}
|
|
94
|
-
</P>
|
|
95
|
-
<P sx="letter-spacing: -0.176px;">{content}</P>
|
|
96
|
-
</CommentBox>
|
|
97
|
-
<Box
|
|
98
|
-
$align="flex-start"
|
|
99
|
-
$dir="row"
|
|
100
|
-
$display="flex"
|
|
101
|
-
$gap={16}
|
|
102
|
-
sx="margin: 8px 0px; position: relative;"
|
|
103
|
-
>
|
|
104
|
-
<ThumbsUp
|
|
105
|
-
color="primary-blue-2"
|
|
106
|
-
onClick={handlePicker}
|
|
107
|
-
size={24}
|
|
108
|
-
sx="border-radius: 50%; cursor: pointer; flex-shrink: 0;"
|
|
109
|
-
/>
|
|
110
|
-
<CommentIcon
|
|
111
|
-
color="primary-blue-2"
|
|
112
|
-
onClick={onCommentClick}
|
|
113
|
-
size={24}
|
|
114
|
-
sx="border-radius: 50%; cursor: pointer; flex-shrink: 0;"
|
|
115
|
-
/>
|
|
116
|
-
<P $color="grey-7">•</P>
|
|
117
|
-
<P
|
|
118
|
-
$color="grey-4"
|
|
119
|
-
$fontSize={12}
|
|
120
|
-
$lineHeight={24}
|
|
121
|
-
sx="flex-shrink: 0;"
|
|
122
|
-
>
|
|
123
|
-
{createdTime}
|
|
124
|
-
</P>
|
|
125
|
-
<Box
|
|
126
|
-
$display="flex"
|
|
127
|
-
$flow="row wrap"
|
|
128
|
-
$gap={6}
|
|
129
|
-
sx="max-width: calc(100% - 190px); margin-left: auto;"
|
|
130
|
-
>
|
|
131
|
-
{reactionElements}
|
|
132
|
-
</Box>
|
|
133
|
-
{showPicker && (
|
|
134
|
-
<PickerWrapper>
|
|
135
|
-
<Picker
|
|
136
|
-
data={emojis}
|
|
137
|
-
onEmojiSelect={handleReaction}
|
|
138
|
-
onClickOutside={handlePickerBlur}
|
|
139
|
-
maxFrequentRows={1}
|
|
140
|
-
navPosition="none"
|
|
141
|
-
previewPosition="none"
|
|
142
|
-
perLine={9}
|
|
143
|
-
theme="auto"
|
|
144
|
-
/>
|
|
145
|
-
</PickerWrapper>
|
|
146
|
-
)}
|
|
147
|
-
</Box>
|
|
148
|
-
</ContentWrapper>
|
|
149
|
-
{hasReplies && <RepliesWrapper>{replyElements}</RepliesWrapper>}
|
|
150
|
-
</Box>
|
|
151
|
-
</Wrapper>
|
|
152
|
-
);
|
|
153
|
-
};
|
|
154
|
-
|
|
155
|
-
const Wrapper = styled.div`
|
|
156
|
-
max-width: 700px;
|
|
157
|
-
display: flex;
|
|
158
|
-
flex-direction: row;
|
|
159
|
-
align-items: flex-start;
|
|
160
|
-
gap: 12px;
|
|
161
|
-
justify-content: space-between;
|
|
162
|
-
position: relative;
|
|
163
|
-
`;
|
|
164
|
-
|
|
165
|
-
const ContentWrapper = styled.div<{
|
|
166
|
-
$hasReplies: boolean;
|
|
167
|
-
}>`
|
|
168
|
-
display: flex;
|
|
169
|
-
flex-direction: column;
|
|
170
|
-
${({ $hasReplies }) =>
|
|
171
|
-
$hasReplies
|
|
172
|
-
? `
|
|
173
|
-
position: relative;
|
|
174
|
-
|
|
175
|
-
&::before {
|
|
176
|
-
content: "";
|
|
177
|
-
position: absolute;
|
|
178
|
-
top: 32px;
|
|
179
|
-
left: -28px;
|
|
180
|
-
height: calc(100% - 12px);
|
|
181
|
-
border-left: 2px solid var(--color-grey-9);
|
|
182
|
-
}`
|
|
183
|
-
: ''}
|
|
184
|
-
`;
|
|
185
|
-
|
|
186
|
-
const CommentBox = styled.div`
|
|
187
|
-
padding: 16px;
|
|
188
|
-
display: flex;
|
|
189
|
-
flex-direction: column;
|
|
190
|
-
gap: 8px;
|
|
191
|
-
background-color: var(--color-grey-10);
|
|
192
|
-
border-radius: 16px;
|
|
193
|
-
`;
|
|
194
|
-
|
|
195
|
-
const PickerWrapper = styled.div`
|
|
196
|
-
position: absolute;
|
|
197
|
-
z-index: 5;
|
|
198
|
-
`;
|
|
199
|
-
|
|
200
|
-
const Reaction = styled.div<BoxProps & { $userSelected?: boolean }>`
|
|
201
|
-
${Styles.flex}
|
|
202
|
-
display: flex;
|
|
203
|
-
padding: 2px 6px;
|
|
204
|
-
border-radius: 12px;
|
|
205
|
-
${({ $userSelected }) =>
|
|
206
|
-
$userSelected
|
|
207
|
-
? `
|
|
208
|
-
background-color: var(--color-primary-blue-4);
|
|
209
|
-
border: 1px solid var(--color-primary-blue-3);
|
|
210
|
-
`
|
|
211
|
-
: ''}
|
|
212
|
-
`;
|
|
213
|
-
|
|
214
|
-
const RepliesWrapper = styled.div`
|
|
215
|
-
padding-top: 12px;
|
|
216
|
-
`;
|
|
217
|
-
|
|
218
|
-
const ReplyWrapper = styled.div<{
|
|
219
|
-
$isNotLastReply?: boolean;
|
|
220
|
-
}>`
|
|
221
|
-
position: relative;
|
|
222
|
-
${({ $isNotLastReply }) =>
|
|
223
|
-
$isNotLastReply
|
|
224
|
-
? `
|
|
225
|
-
&::before {
|
|
226
|
-
content: "";
|
|
227
|
-
position: absolute;
|
|
228
|
-
left: -28px;
|
|
229
|
-
height: 100%;
|
|
230
|
-
border-left: 2px solid var(--color-grey-9);
|
|
231
|
-
}`
|
|
232
|
-
: ''}
|
|
233
|
-
`;
|
|
234
|
-
|
|
235
|
-
const ReplyIndicator = styled.div`
|
|
236
|
-
position: absolute;
|
|
237
|
-
top: 0;
|
|
238
|
-
left: -28px;
|
|
239
|
-
width: 28px;
|
|
240
|
-
height: 16px;
|
|
241
|
-
border-bottom-left-radius: 16px;
|
|
242
|
-
border: 2px solid var(--color-grey-9);
|
|
243
|
-
border-top: none;
|
|
244
|
-
border-right: none;
|
|
245
|
-
`;
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
type Options = {
|
|
2
|
-
message?: boolean;
|
|
3
|
-
};
|
|
4
|
-
|
|
5
|
-
export const abbrTimeBeforeDate = (date: Date, options?: Options) => {
|
|
6
|
-
const { message } = options ?? {};
|
|
7
|
-
const now = new Date();
|
|
8
|
-
const diff = now.getTime() - date.getTime();
|
|
9
|
-
|
|
10
|
-
if (diff < 60000) {
|
|
11
|
-
// under 1 min
|
|
12
|
-
if (message) return 'Now';
|
|
13
|
-
return 'Just now';
|
|
14
|
-
} else if (diff < 3600000) {
|
|
15
|
-
// under one hour
|
|
16
|
-
const minutes = Math.floor(diff / 60000);
|
|
17
|
-
if (message) return `${minutes}m`;
|
|
18
|
-
return `${minutes} ${minutes === 1 ? 'min' : 'mins'}`;
|
|
19
|
-
} else if (diff < 86400000) {
|
|
20
|
-
// under one day
|
|
21
|
-
const hours = Math.floor(diff / 3600000);
|
|
22
|
-
if (message) return `${hours}h`;
|
|
23
|
-
return `${hours} ${hours === 1 ? 'hour' : 'hours'}`;
|
|
24
|
-
} else if (diff < 604800000) {
|
|
25
|
-
// under one week
|
|
26
|
-
const days = Math.floor(diff / 86400000);
|
|
27
|
-
if (message) return `${days}d`;
|
|
28
|
-
return `${days} ${days === 1 ? 'day' : 'days'}`;
|
|
29
|
-
} else {
|
|
30
|
-
if (message) {
|
|
31
|
-
return `${Math.floor(diff / 604800000)}w`;
|
|
32
|
-
}
|
|
33
|
-
return date.toDateString().slice(4);
|
|
34
|
-
}
|
|
35
|
-
};
|
|
@@ -1,182 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import styled from 'styled-components';
|
|
5
|
-
import { callAll } from '../../../utils';
|
|
6
|
-
|
|
7
|
-
const DrawerContext = React.createContext<
|
|
8
|
-
[boolean, React.Dispatch<React.SetStateAction<boolean>>]
|
|
9
|
-
>([false, (() => undefined) as React.Dispatch<React.SetStateAction<boolean>>]);
|
|
10
|
-
|
|
11
|
-
export interface DrawerProps extends React.PropsWithChildren {
|
|
12
|
-
/**
|
|
13
|
-
* This is to make the Modal a controlled component,
|
|
14
|
-
* instead of it managing its own state
|
|
15
|
-
*/
|
|
16
|
-
controlledOpen?: boolean;
|
|
17
|
-
onOpenChange?: () => void;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
export const Drawer = ({
|
|
21
|
-
children,
|
|
22
|
-
controlledOpen,
|
|
23
|
-
onOpenChange,
|
|
24
|
-
}: DrawerProps) => {
|
|
25
|
-
const [open, setOpen] = React.useState(controlledOpen || false);
|
|
26
|
-
|
|
27
|
-
React.useEffect(() => {
|
|
28
|
-
if (controlledOpen !== undefined) {
|
|
29
|
-
setOpen(controlledOpen);
|
|
30
|
-
}
|
|
31
|
-
}, [controlledOpen]);
|
|
32
|
-
|
|
33
|
-
const _children = React.Children.toArray(children);
|
|
34
|
-
const triggers: React.ReactNode[] = [];
|
|
35
|
-
const content: React.ReactNode[] = [];
|
|
36
|
-
let footer: React.ReactNode = null;
|
|
37
|
-
let header: React.ReactNode = null;
|
|
38
|
-
|
|
39
|
-
for (const child of _children) {
|
|
40
|
-
if (React.isValidElement(child)) {
|
|
41
|
-
const type = (child.type as any)?.displayName;
|
|
42
|
-
|
|
43
|
-
if (type === 'Drawer.Trigger') triggers.push(child);
|
|
44
|
-
else if (type === 'Drawer.Header') header = child;
|
|
45
|
-
else if (type === 'Drawer.Footer') footer = child;
|
|
46
|
-
else content.push(child);
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
return (
|
|
51
|
-
<DrawerContext.Provider value={[open, setOpen]}>
|
|
52
|
-
{triggers}
|
|
53
|
-
{open && (
|
|
54
|
-
<Background
|
|
55
|
-
onClick={callAll(
|
|
56
|
-
() => setOpen(false),
|
|
57
|
-
() => onOpenChange && onOpenChange()
|
|
58
|
-
)}
|
|
59
|
-
/>
|
|
60
|
-
)}
|
|
61
|
-
<Component $open={open}>
|
|
62
|
-
{header && <HeaderWrapper>{header}</HeaderWrapper>}
|
|
63
|
-
<ContentWrapper>{content}</ContentWrapper>
|
|
64
|
-
{footer && <FooterWrapper>{footer}</FooterWrapper>}
|
|
65
|
-
</Component>
|
|
66
|
-
</DrawerContext.Provider>
|
|
67
|
-
);
|
|
68
|
-
};
|
|
69
|
-
|
|
70
|
-
const Background = styled.div`
|
|
71
|
-
position: fixed;
|
|
72
|
-
height: 100vh;
|
|
73
|
-
width: 100vw;
|
|
74
|
-
top: 0;
|
|
75
|
-
left: 0;
|
|
76
|
-
right: 0;
|
|
77
|
-
z-index: 149;
|
|
78
|
-
overflow: hidden;
|
|
79
|
-
background: #000000;
|
|
80
|
-
opacity: 0.5;
|
|
81
|
-
cursor: pointer;
|
|
82
|
-
`;
|
|
83
|
-
|
|
84
|
-
const Component = styled.div<{
|
|
85
|
-
$open: boolean;
|
|
86
|
-
}>`
|
|
87
|
-
position: fixed;
|
|
88
|
-
top: 0;
|
|
89
|
-
right: 0;
|
|
90
|
-
height: 100vh;
|
|
91
|
-
max-width: 880px;
|
|
92
|
-
width: 100%;
|
|
93
|
-
z-index: 150;
|
|
94
|
-
border-radius: 16px 0px 0px 16px;
|
|
95
|
-
background-color: var(--background-color);
|
|
96
|
-
margin-right: -100vw;
|
|
97
|
-
transition: margin-right 0.5s;
|
|
98
|
-
background-color: var(--color-grey-10);
|
|
99
|
-
|
|
100
|
-
${({ $open }) => ($open ? 'margin-right: 0px;' : '')}
|
|
101
|
-
`;
|
|
102
|
-
|
|
103
|
-
const HeaderWrapper = styled.div`
|
|
104
|
-
background-color: var(--color-white);
|
|
105
|
-
box-shadow: var(--elevation-2);
|
|
106
|
-
position: -webkit-sticky; /* Safari */
|
|
107
|
-
position: sticky;
|
|
108
|
-
top: 0;
|
|
109
|
-
`;
|
|
110
|
-
|
|
111
|
-
const ContentWrapper = styled.div`
|
|
112
|
-
height: calc(100vh - 224px);
|
|
113
|
-
position: relative;
|
|
114
|
-
display: flex;
|
|
115
|
-
flex-flow: column nowrap;
|
|
116
|
-
padding: 24px 16px 24px 24px;
|
|
117
|
-
margin-right: 8px;
|
|
118
|
-
overflow-y: auto;
|
|
119
|
-
|
|
120
|
-
&::-webkit-scrollbar-track {
|
|
121
|
-
box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.15);
|
|
122
|
-
-webkit-box-shadow: inset 0 4px 4px rgba(0, 0, 0, 0.15);
|
|
123
|
-
border-radius: 4px;
|
|
124
|
-
background-color: var(--color-white);
|
|
125
|
-
margin: 40px 0px 15px 0px;
|
|
126
|
-
}
|
|
127
|
-
&::-webkit-scrollbar {
|
|
128
|
-
width: 8px;
|
|
129
|
-
border-radius: 4px;
|
|
130
|
-
}
|
|
131
|
-
&::-webkit-scrollbar-thumb {
|
|
132
|
-
border-radius: 4px;
|
|
133
|
-
background-color: var(--color-grey-6);
|
|
134
|
-
opacity: 30%;
|
|
135
|
-
}
|
|
136
|
-
`;
|
|
137
|
-
|
|
138
|
-
const FooterWrapper = styled.div`
|
|
139
|
-
background-color: var(--color-white);
|
|
140
|
-
box-shadow: var(--elevation-1);
|
|
141
|
-
position: -webkit-sticky; /* Safari */
|
|
142
|
-
position: sticky;
|
|
143
|
-
bottom: 0;
|
|
144
|
-
`;
|
|
145
|
-
|
|
146
|
-
const DrawerTrigger = ({
|
|
147
|
-
children: child,
|
|
148
|
-
}: {
|
|
149
|
-
children: React.ReactElement;
|
|
150
|
-
}) => {
|
|
151
|
-
const [, setOpen] = React.useContext(DrawerContext);
|
|
152
|
-
return (
|
|
153
|
-
child &&
|
|
154
|
-
React.cloneElement(child, {
|
|
155
|
-
onClick: callAll(() => setOpen((prev) => !prev), child.props.onClick),
|
|
156
|
-
})
|
|
157
|
-
);
|
|
158
|
-
};
|
|
159
|
-
|
|
160
|
-
DrawerTrigger.displayName = 'Drawer.Trigger';
|
|
161
|
-
Drawer.Trigger = DrawerTrigger;
|
|
162
|
-
|
|
163
|
-
const DrawerHeader = ({ children }: React.PropsWithChildren) => (
|
|
164
|
-
<div>{children}</div>
|
|
165
|
-
);
|
|
166
|
-
|
|
167
|
-
DrawerHeader.displayName = 'Drawer.Header';
|
|
168
|
-
Drawer.Header = DrawerHeader;
|
|
169
|
-
|
|
170
|
-
const DrawerContent = ({ children }: React.PropsWithChildren) => (
|
|
171
|
-
<div>{children}</div>
|
|
172
|
-
);
|
|
173
|
-
|
|
174
|
-
DrawerContent.displayName = 'Drawer.Content';
|
|
175
|
-
Drawer.Content = DrawerContent;
|
|
176
|
-
|
|
177
|
-
const DrawerFooter = ({ children }: React.PropsWithChildren) => (
|
|
178
|
-
<div>{children}</div>
|
|
179
|
-
);
|
|
180
|
-
|
|
181
|
-
DrawerFooter.displayName = 'Drawer.Footer';
|
|
182
|
-
Drawer.Footer = DrawerFooter;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export { Accordion } from './accordion';
|
|
2
|
-
export type { AccordionProps, AccordionItemProps } from './accordion';
|
|
3
|
-
export { Comment } from './comment';
|
|
4
|
-
export type { CommentProps } from './comment';
|
|
5
|
-
export { Drawer } from './drawer';
|
|
6
|
-
export type { DrawerProps } from './drawer';
|
|
7
|
-
export { Message } from './message';
|
|
8
|
-
export type { MessageProps } from './message';
|
|
9
|
-
export { Modal } from './modal';
|
|
10
|
-
export type { ModalContentProps, ModalProps } from './modal';
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import styled from 'styled-components';
|
|
5
|
-
import { Avatar, Box, P, H } from '../../';
|
|
6
|
-
|
|
7
|
-
export interface MessageProps {
|
|
8
|
-
messages: {
|
|
9
|
-
content: string;
|
|
10
|
-
senderHref: string;
|
|
11
|
-
senderId: string;
|
|
12
|
-
senderName: string;
|
|
13
|
-
senderAvatarURI: string;
|
|
14
|
-
createdDate: Date;
|
|
15
|
-
}[];
|
|
16
|
-
userId: string;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export const Message = ({ messages, userId }: MessageProps) => {
|
|
20
|
-
const id = React.useId();
|
|
21
|
-
return (
|
|
22
|
-
<Box $display="flex" $dir="column" $gap={16}>
|
|
23
|
-
{messages.map(
|
|
24
|
-
(
|
|
25
|
-
{
|
|
26
|
-
content,
|
|
27
|
-
createdDate,
|
|
28
|
-
senderAvatarURI,
|
|
29
|
-
senderHref,
|
|
30
|
-
senderId,
|
|
31
|
-
senderName,
|
|
32
|
-
},
|
|
33
|
-
index
|
|
34
|
-
) => {
|
|
35
|
-
const isSelf = senderId === userId;
|
|
36
|
-
const isFirstMessageBySender =
|
|
37
|
-
messages?.[index - 1]?.senderId !== senderId;
|
|
38
|
-
|
|
39
|
-
if (isSelf) {
|
|
40
|
-
return (
|
|
41
|
-
<React.Fragment key={id + index}>
|
|
42
|
-
{isFirstMessageBySender && (
|
|
43
|
-
<P
|
|
44
|
-
$color="grey-4"
|
|
45
|
-
$fontSize={12}
|
|
46
|
-
$lineHeight={16}
|
|
47
|
-
sx="margin-top: 40px; margin-left: auto;"
|
|
48
|
-
>
|
|
49
|
-
{createdDate.toLocaleDateString()}{' '}
|
|
50
|
-
{createdDate.toLocaleTimeString()}
|
|
51
|
-
</P>
|
|
52
|
-
)}
|
|
53
|
-
<Wrapper $isSelf={isSelf}>{content}</Wrapper>
|
|
54
|
-
</React.Fragment>
|
|
55
|
-
);
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
return (
|
|
59
|
-
<React.Fragment key={id + index}>
|
|
60
|
-
{isFirstMessageBySender && (
|
|
61
|
-
<Avatar
|
|
62
|
-
image={senderAvatarURI}
|
|
63
|
-
href={senderHref}
|
|
64
|
-
subtitle={
|
|
65
|
-
<P
|
|
66
|
-
as="span"
|
|
67
|
-
$color="blue-2"
|
|
68
|
-
$fontSize={12}
|
|
69
|
-
$lineHeight={16}
|
|
70
|
-
sx="vertical-align: top;"
|
|
71
|
-
>
|
|
72
|
-
{createdDate.toLocaleTimeString()}
|
|
73
|
-
</P>
|
|
74
|
-
}
|
|
75
|
-
size={56}
|
|
76
|
-
sx="margin-top: 40px;"
|
|
77
|
-
textPosition="right"
|
|
78
|
-
title={
|
|
79
|
-
<H
|
|
80
|
-
as="span"
|
|
81
|
-
$color="blue-2"
|
|
82
|
-
$fontSize={18}
|
|
83
|
-
$lineHeight={26}
|
|
84
|
-
$mediumBold
|
|
85
|
-
>
|
|
86
|
-
{senderName}
|
|
87
|
-
</H>
|
|
88
|
-
}
|
|
89
|
-
/>
|
|
90
|
-
)}
|
|
91
|
-
<Wrapper $isSelf={isSelf}>{content}</Wrapper>
|
|
92
|
-
</React.Fragment>
|
|
93
|
-
);
|
|
94
|
-
}
|
|
95
|
-
)}
|
|
96
|
-
</Box>
|
|
97
|
-
);
|
|
98
|
-
};
|
|
99
|
-
|
|
100
|
-
const Wrapper = styled.div<{
|
|
101
|
-
$isSelf: boolean;
|
|
102
|
-
}>`
|
|
103
|
-
max-width: 552px;
|
|
104
|
-
padding: 16px;
|
|
105
|
-
border-radius: 16px;
|
|
106
|
-
font-family: Inter;
|
|
107
|
-
font-size: 14px;
|
|
108
|
-
line-height: 20px;
|
|
109
|
-
letter-spacing: -0.006em;
|
|
110
|
-
|
|
111
|
-
${({ $isSelf }) =>
|
|
112
|
-
$isSelf
|
|
113
|
-
? `
|
|
114
|
-
margin-left: auto;
|
|
115
|
-
color: var(--color-white);
|
|
116
|
-
background-color: var(--color-primary-blue-2);
|
|
117
|
-
border-top-right-radius: 0px;`
|
|
118
|
-
: `
|
|
119
|
-
margin-left: 68px;
|
|
120
|
-
margin-right: auto;
|
|
121
|
-
color: var(--color-grey-3);
|
|
122
|
-
background-color: var(--color-grey-9);
|
|
123
|
-
border-top-left-radius: 0px;`}
|
|
124
|
-
`;
|