@soul-refiner/design-system 0.1.38 → 0.1.40
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/components/navigation/index.d.ts +2 -0
- package/dist/components/navigation/index.js +1 -0
- package/dist/components/navigation/inner/index.d.ts +2 -0
- package/dist/components/navigation/inner/index.js +1 -0
- package/dist/components/navigation/inner/inner.d.ts +76 -0
- package/dist/components/navigation/inner/inner.js +150 -0
- 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,397 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import styled from 'styled-components';
|
|
5
|
-
import { Box, Checkbox, P } from '../../';
|
|
6
|
-
|
|
7
|
-
type NativeProps = Pick<
|
|
8
|
-
React.HTMLAttributes<HTMLDivElement>,
|
|
9
|
-
| 'children'
|
|
10
|
-
| 'onBlur'
|
|
11
|
-
| 'onBlurCapture'
|
|
12
|
-
| 'onClick'
|
|
13
|
-
| 'onChange'
|
|
14
|
-
| 'onMouseDown'
|
|
15
|
-
| 'onMouseDownCapture'
|
|
16
|
-
| 'onMouseEnter'
|
|
17
|
-
| 'onMouseLeave'
|
|
18
|
-
| 'onMouseOut'
|
|
19
|
-
| 'onMouseOver'
|
|
20
|
-
>;
|
|
21
|
-
|
|
22
|
-
export interface DropdownProps extends NativeProps, React.PropsWithChildren {
|
|
23
|
-
checkbox?: boolean;
|
|
24
|
-
closeOnChange?: boolean;
|
|
25
|
-
closeOnBlur?: boolean;
|
|
26
|
-
defaultValue?: string | string[];
|
|
27
|
-
disabled?: boolean;
|
|
28
|
-
hasArrow?: boolean;
|
|
29
|
-
maintainState?: boolean;
|
|
30
|
-
multiple?: boolean;
|
|
31
|
-
offset?: [number, number];
|
|
32
|
-
open?: 'right' | 'left';
|
|
33
|
-
options?: (Omit<DropdownOptionProps, 'selected' | 'onClick'> | 'break')[];
|
|
34
|
-
sx?: string;
|
|
35
|
-
trigger: React.ReactElement;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const Dropdown = ({
|
|
39
|
-
checkbox,
|
|
40
|
-
children,
|
|
41
|
-
closeOnChange = true,
|
|
42
|
-
closeOnBlur = true,
|
|
43
|
-
defaultValue = '',
|
|
44
|
-
disabled = false,
|
|
45
|
-
hasArrow,
|
|
46
|
-
maintainState = true,
|
|
47
|
-
multiple,
|
|
48
|
-
offset = [0, 16],
|
|
49
|
-
onChange,
|
|
50
|
-
open: openDirection = 'right',
|
|
51
|
-
options,
|
|
52
|
-
sx,
|
|
53
|
-
trigger,
|
|
54
|
-
...rest
|
|
55
|
-
}: DropdownProps) => {
|
|
56
|
-
const id = React.useId();
|
|
57
|
-
const wrapperRef = React.useRef<HTMLDivElement>(null);
|
|
58
|
-
const optionsRef = React.useRef<HTMLDivElement>(null);
|
|
59
|
-
const [open, setOpen] = React.useState(false);
|
|
60
|
-
const [selected, setSelected] = React.useState(() =>
|
|
61
|
-
defaultValue ? defaultValue : multiple ? [] : ''
|
|
62
|
-
);
|
|
63
|
-
|
|
64
|
-
React.useEffect(() => {
|
|
65
|
-
if (disabled) {
|
|
66
|
-
setOpen(false);
|
|
67
|
-
}
|
|
68
|
-
}, [disabled]);
|
|
69
|
-
|
|
70
|
-
const handleOpen = () => {
|
|
71
|
-
if (disabled) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
setOpen((prev) => !prev);
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
const handleBlur = (event: React.FocusEvent) => {
|
|
78
|
-
if (
|
|
79
|
-
closeOnBlur &&
|
|
80
|
-
wrapperRef?.current &&
|
|
81
|
-
!wrapperRef?.current?.contains(event.relatedTarget)
|
|
82
|
-
) {
|
|
83
|
-
setOpen(false);
|
|
84
|
-
}
|
|
85
|
-
};
|
|
86
|
-
|
|
87
|
-
const handleChangeSingle = (event: React.MouseEvent<HTMLDivElement>) => {
|
|
88
|
-
event.stopPropagation();
|
|
89
|
-
const value =
|
|
90
|
-
(event.target as HTMLDivElement).getAttribute('data-value') ?? '';
|
|
91
|
-
|
|
92
|
-
if (selected !== value) {
|
|
93
|
-
setSelected(value);
|
|
94
|
-
} else {
|
|
95
|
-
setSelected('');
|
|
96
|
-
}
|
|
97
|
-
if (closeOnChange) {
|
|
98
|
-
setOpen(false);
|
|
99
|
-
}
|
|
100
|
-
if (onChange) onChange(event);
|
|
101
|
-
};
|
|
102
|
-
|
|
103
|
-
const handleChangeMultiple = (event: React.MouseEvent<HTMLDivElement>) => {
|
|
104
|
-
event.stopPropagation();
|
|
105
|
-
const value =
|
|
106
|
-
(event.target as HTMLDivElement).getAttribute('data-value') ?? '';
|
|
107
|
-
|
|
108
|
-
if (Array.isArray(selected) && selected.includes(value)) {
|
|
109
|
-
setSelected((prev) =>
|
|
110
|
-
(prev as string[]).filter((item) => item !== value)
|
|
111
|
-
);
|
|
112
|
-
} else {
|
|
113
|
-
setSelected((prev) => [value, ...prev]);
|
|
114
|
-
}
|
|
115
|
-
if (closeOnChange) {
|
|
116
|
-
setOpen(false);
|
|
117
|
-
}
|
|
118
|
-
if (onChange) onChange(event);
|
|
119
|
-
};
|
|
120
|
-
|
|
121
|
-
const handleChange = multiple ? handleChangeMultiple : handleChangeSingle;
|
|
122
|
-
|
|
123
|
-
const isSelected = (value: string) =>
|
|
124
|
-
maintainState && (multiple ? selected.includes(value) : value === selected);
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* allow for the API to accept children as options
|
|
128
|
-
* or options prop
|
|
129
|
-
*/
|
|
130
|
-
let dropdownOptions: React.ReactElement[] | null | undefined = null;
|
|
131
|
-
if (children) {
|
|
132
|
-
dropdownOptions = React.Children.map(children, (child) => {
|
|
133
|
-
let props: Partial<DropdownOptionProps> & {
|
|
134
|
-
label: string;
|
|
135
|
-
value: string;
|
|
136
|
-
};
|
|
137
|
-
|
|
138
|
-
if (React.isValidElement(child)) {
|
|
139
|
-
// eslint ignore is okay bc deconstruction removes field
|
|
140
|
-
// eslint-disable-next-line
|
|
141
|
-
const { onClick, ...possibleProps } = child.props;
|
|
142
|
-
props = possibleProps;
|
|
143
|
-
|
|
144
|
-
return (
|
|
145
|
-
<Option
|
|
146
|
-
key={props.value}
|
|
147
|
-
checkbox={!!checkbox}
|
|
148
|
-
onClick={handleChange}
|
|
149
|
-
selected={isSelected(props.value)}
|
|
150
|
-
{...props}
|
|
151
|
-
/>
|
|
152
|
-
);
|
|
153
|
-
} else {
|
|
154
|
-
return null;
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
if (options) {
|
|
160
|
-
dropdownOptions = options.map((option, index) => {
|
|
161
|
-
if (typeof option === 'string' && option === 'break')
|
|
162
|
-
return <Spacer key={`${id}-spacer-${index}`} />;
|
|
163
|
-
return (
|
|
164
|
-
<Option
|
|
165
|
-
key={option.value}
|
|
166
|
-
checkbox={!!checkbox}
|
|
167
|
-
onClick={handleChange}
|
|
168
|
-
selected={isSelected(option.value)}
|
|
169
|
-
{...option}
|
|
170
|
-
/>
|
|
171
|
-
);
|
|
172
|
-
});
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
return (
|
|
176
|
-
<Wrapper
|
|
177
|
-
$sx={sx}
|
|
178
|
-
tabIndex={0}
|
|
179
|
-
ref={wrapperRef}
|
|
180
|
-
onBlurCapture={handleBlur}
|
|
181
|
-
{...rest}
|
|
182
|
-
>
|
|
183
|
-
{React.cloneElement(
|
|
184
|
-
trigger,
|
|
185
|
-
typeof trigger.type === 'string' ||
|
|
186
|
-
(trigger.type as any)?.displayName !== 'Button'
|
|
187
|
-
? { onClick: handleOpen }
|
|
188
|
-
: { isDropdownOpen: open, onClick: handleOpen }
|
|
189
|
-
)}
|
|
190
|
-
{open && (
|
|
191
|
-
<Container
|
|
192
|
-
$hasArrow={hasArrow}
|
|
193
|
-
$offset={offset}
|
|
194
|
-
$openDirection={openDirection}
|
|
195
|
-
ref={optionsRef}
|
|
196
|
-
>
|
|
197
|
-
{dropdownOptions}
|
|
198
|
-
</Container>
|
|
199
|
-
)}
|
|
200
|
-
</Wrapper>
|
|
201
|
-
);
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
const Wrapper = styled.div<{ $sx?: string }>`
|
|
205
|
-
position: relative;
|
|
206
|
-
display: block;
|
|
207
|
-
outline: none;
|
|
208
|
-
${({ $sx }) => ($sx ? $sx : '')}
|
|
209
|
-
`;
|
|
210
|
-
|
|
211
|
-
const Container = styled.div<{
|
|
212
|
-
$hasArrow?: boolean;
|
|
213
|
-
$offset?: [number, number];
|
|
214
|
-
$openDirection: 'left' | 'right';
|
|
215
|
-
}>`
|
|
216
|
-
z-index: 1;
|
|
217
|
-
background-color: var(--color-white);
|
|
218
|
-
position: absolute;
|
|
219
|
-
width: max-content;
|
|
220
|
-
z-index: 100;
|
|
221
|
-
outline: none;
|
|
222
|
-
cursor: pointer;
|
|
223
|
-
box-shadow: var(--elevation-2);
|
|
224
|
-
border-radius: 8px;
|
|
225
|
-
|
|
226
|
-
& > div:first-of-type {
|
|
227
|
-
border-radius: 8px 8px 0px 0px;
|
|
228
|
-
}
|
|
229
|
-
|
|
230
|
-
& > div:last-of-type {
|
|
231
|
-
border-radius: 0px 0px 8px 8px;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
|
-
${({ $openDirection }) => ($openDirection === 'left' ? 'right: 100%;' : '')}
|
|
235
|
-
|
|
236
|
-
${({ $hasArrow, $offset }) =>
|
|
237
|
-
$hasArrow
|
|
238
|
-
? `
|
|
239
|
-
&:before {
|
|
240
|
-
content: '';
|
|
241
|
-
position: absolute;
|
|
242
|
-
width: 15px;
|
|
243
|
-
height: 15px;
|
|
244
|
-
transform: rotate(45deg) translate(${($offset?.[0] || 0) + 8}px, ${
|
|
245
|
-
($offset?.[1] || 0) - 32
|
|
246
|
-
}px);
|
|
247
|
-
background-color: var(--color-white);
|
|
248
|
-
}
|
|
249
|
-
`
|
|
250
|
-
: ''}
|
|
251
|
-
${({ $offset }) =>
|
|
252
|
-
$offset ? `transform: translate(${$offset[0]}px, ${$offset[1]}px);` : ''}
|
|
253
|
-
`;
|
|
254
|
-
|
|
255
|
-
export interface DropdownOptionProps {
|
|
256
|
-
checkbox?: boolean;
|
|
257
|
-
color?: string;
|
|
258
|
-
disabled?: boolean;
|
|
259
|
-
icon?: React.ReactElement;
|
|
260
|
-
label?: React.ReactNode;
|
|
261
|
-
onClick?: (event: React.MouseEvent<HTMLDivElement>) => void | undefined;
|
|
262
|
-
selected: boolean;
|
|
263
|
-
sublabel?: string;
|
|
264
|
-
sx?: string;
|
|
265
|
-
value: string;
|
|
266
|
-
}
|
|
267
|
-
|
|
268
|
-
const Option = ({
|
|
269
|
-
checkbox,
|
|
270
|
-
disabled,
|
|
271
|
-
icon,
|
|
272
|
-
label,
|
|
273
|
-
onClick,
|
|
274
|
-
selected,
|
|
275
|
-
sublabel,
|
|
276
|
-
sx,
|
|
277
|
-
value,
|
|
278
|
-
}: DropdownOptionProps) => {
|
|
279
|
-
return (
|
|
280
|
-
<OptionWrapper
|
|
281
|
-
data-value={value}
|
|
282
|
-
onClick={!disabled ? onClick : undefined}
|
|
283
|
-
$disabled={disabled}
|
|
284
|
-
$hasCheckbox={!!checkbox}
|
|
285
|
-
$hasSublabel={!!sublabel}
|
|
286
|
-
$selected={selected}
|
|
287
|
-
$sx={sx}
|
|
288
|
-
>
|
|
289
|
-
{checkbox ? <Checkbox selected={selected} /> : icon}
|
|
290
|
-
<Box $dir="column" $display="flex">
|
|
291
|
-
{label && (
|
|
292
|
-
<P
|
|
293
|
-
$color="grey-4"
|
|
294
|
-
$fontSize={14}
|
|
295
|
-
$lineHeight={20}
|
|
296
|
-
$mediumBold
|
|
297
|
-
$textClampLines={1}
|
|
298
|
-
>
|
|
299
|
-
{label}
|
|
300
|
-
</P>
|
|
301
|
-
)}
|
|
302
|
-
{sublabel && (
|
|
303
|
-
<P
|
|
304
|
-
$color="grey-4"
|
|
305
|
-
$fontSize={12}
|
|
306
|
-
$lineHeight={16}
|
|
307
|
-
$textClampLines={1}
|
|
308
|
-
>
|
|
309
|
-
{sublabel}
|
|
310
|
-
</P>
|
|
311
|
-
)}
|
|
312
|
-
</Box>
|
|
313
|
-
</OptionWrapper>
|
|
314
|
-
);
|
|
315
|
-
};
|
|
316
|
-
|
|
317
|
-
Option.displayName = 'Dropdown.Option';
|
|
318
|
-
Dropdown.Option = Option;
|
|
319
|
-
|
|
320
|
-
const OptionWrapper = styled.div<{
|
|
321
|
-
$disabled?: boolean;
|
|
322
|
-
$hasCheckbox?: boolean;
|
|
323
|
-
$hasSublabel?: boolean;
|
|
324
|
-
$selected?: boolean;
|
|
325
|
-
$sx?: string;
|
|
326
|
-
}>`
|
|
327
|
-
position: relative;
|
|
328
|
-
z-index: 1;
|
|
329
|
-
padding: ${({ $hasSublabel }) => ($hasSublabel ? 10 : 12)}px 16px;
|
|
330
|
-
user-select: none;
|
|
331
|
-
display: flex;
|
|
332
|
-
align-items: center;
|
|
333
|
-
gap: 8px;
|
|
334
|
-
|
|
335
|
-
& > * {
|
|
336
|
-
pointer-events: none;
|
|
337
|
-
}
|
|
338
|
-
|
|
339
|
-
${({ $disabled, $selected, $hasCheckbox }) => {
|
|
340
|
-
if ($disabled) {
|
|
341
|
-
return `cursor: initial;
|
|
342
|
-
color: var(--color-grey-7);
|
|
343
|
-
background-color: var(--color-grey-10);`;
|
|
344
|
-
}
|
|
345
|
-
|
|
346
|
-
if ($hasCheckbox) {
|
|
347
|
-
return `&:hover {
|
|
348
|
-
background-color: var(--color-grey-10);
|
|
349
|
-
}`;
|
|
350
|
-
}
|
|
351
|
-
|
|
352
|
-
if ($selected) {
|
|
353
|
-
return `
|
|
354
|
-
background-color: var(--color-grey-9);
|
|
355
|
-
&:active {
|
|
356
|
-
background-color: var(--color-grey-8);
|
|
357
|
-
}`;
|
|
358
|
-
}
|
|
359
|
-
|
|
360
|
-
return `
|
|
361
|
-
&:hover {
|
|
362
|
-
background-color: var(--color-grey-10);
|
|
363
|
-
}
|
|
364
|
-
|
|
365
|
-
&:active {
|
|
366
|
-
background-color: var(--color-grey-8);
|
|
367
|
-
}
|
|
368
|
-
`;
|
|
369
|
-
}}
|
|
370
|
-
${({ $sx }) => ($sx ? $sx : '')}
|
|
371
|
-
`;
|
|
372
|
-
|
|
373
|
-
export interface DropdownSpacerProps {
|
|
374
|
-
sx?: string;
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
const Spacer = ({ sx }: DropdownSpacerProps) => {
|
|
378
|
-
return <SpacerWrapper $sx={sx} />;
|
|
379
|
-
};
|
|
380
|
-
|
|
381
|
-
Spacer.displayName = 'Dropdown.Spacer';
|
|
382
|
-
Dropdown.Spacer = Spacer;
|
|
383
|
-
|
|
384
|
-
const SpacerWrapper = styled.div<{
|
|
385
|
-
$sx?: string;
|
|
386
|
-
}>`
|
|
387
|
-
width: 100%;
|
|
388
|
-
height: 1px;
|
|
389
|
-
background-color: var(--color-grey-8);
|
|
390
|
-
|
|
391
|
-
&:hover {
|
|
392
|
-
appearance: none;
|
|
393
|
-
}
|
|
394
|
-
${({ $sx }) => ($sx ? $sx : '')}
|
|
395
|
-
`;
|
|
396
|
-
|
|
397
|
-
export { Dropdown };
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
export { Button } from './button';
|
|
2
|
-
export type { ButtonProps } from './button';
|
|
3
|
-
export { Dropdown } from './dropdown';
|
|
4
|
-
export type {
|
|
5
|
-
DropdownOptionProps,
|
|
6
|
-
DropdownProps,
|
|
7
|
-
DropdownSpacerProps,
|
|
8
|
-
} from './dropdown';
|
|
9
|
-
export { Rate } from './rate';
|
|
10
|
-
export type { RateProps } from './rate';
|
|
11
|
-
export { Switch } from './switch';
|
|
12
|
-
export type { SwitchProps } from './switch';
|
|
13
|
-
export { Upload } from './upload';
|
|
14
|
-
export type { UploadProps } from './upload';
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import styled from 'styled-components';
|
|
5
|
-
|
|
6
|
-
export interface RateProps {
|
|
7
|
-
isRateable?: boolean;
|
|
8
|
-
onRate?: (rating: number) => void;
|
|
9
|
-
percent: number;
|
|
10
|
-
size: 'small' | 'large';
|
|
11
|
-
userRating?: number;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
const SM_WIDTH = 98;
|
|
15
|
-
const LG_WIDTH = 147;
|
|
16
|
-
const SM_HEIGHT = 16;
|
|
17
|
-
const LG_HEIGHT = 24;
|
|
18
|
-
|
|
19
|
-
export const Rate = ({
|
|
20
|
-
isRateable = true,
|
|
21
|
-
onRate,
|
|
22
|
-
percent,
|
|
23
|
-
size,
|
|
24
|
-
userRating,
|
|
25
|
-
}: RateProps) => {
|
|
26
|
-
const ref = React.useRef<HTMLDivElement>(null);
|
|
27
|
-
const [hoveredRating, setHoveredRating] = React.useState<
|
|
28
|
-
number | undefined
|
|
29
|
-
>();
|
|
30
|
-
const width = size === 'small' ? SM_WIDTH : LG_WIDTH;
|
|
31
|
-
const height = size === 'small' ? SM_HEIGHT : LG_HEIGHT;
|
|
32
|
-
const displayPercent = hoveredRating
|
|
33
|
-
? hoveredRating * 20
|
|
34
|
-
: userRating
|
|
35
|
-
? userRating * 20
|
|
36
|
-
: percent;
|
|
37
|
-
|
|
38
|
-
const handleMouseOver = (event: React.MouseEvent<SVGElement>) => {
|
|
39
|
-
if (isRateable && ref?.current) {
|
|
40
|
-
const elementWidth = size === 'small' ? SM_WIDTH : LG_WIDTH;
|
|
41
|
-
const position = (event as any).clientX - ref.current.offsetLeft;
|
|
42
|
-
const star = Math.floor((5 * position) / elementWidth) + 1;
|
|
43
|
-
setHoveredRating(star);
|
|
44
|
-
}
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
const handleMouseOut = () => {
|
|
48
|
-
setHoveredRating(undefined);
|
|
49
|
-
};
|
|
50
|
-
|
|
51
|
-
const handleClick = () => {
|
|
52
|
-
if (isRateable && onRate && hoveredRating !== undefined) {
|
|
53
|
-
onRate(hoveredRating);
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
return (
|
|
58
|
-
<div ref={ref}>
|
|
59
|
-
<SVG
|
|
60
|
-
width={width}
|
|
61
|
-
height={height}
|
|
62
|
-
onMouseOver={handleMouseOver}
|
|
63
|
-
onMouseOut={handleMouseOut}
|
|
64
|
-
onClick={handleClick}
|
|
65
|
-
viewBox="0 0 98 16"
|
|
66
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
67
|
-
>
|
|
68
|
-
<path
|
|
69
|
-
d="M13.1437 16L8.61569 13.5529C8.55281 13.5529 8.48992 13.4902 8.42703 13.4902C8.36414 13.4902 8.30125 13.5529 8.23837 13.5529L3.64752 15.9373C3.58463 16 3.52174 16 3.39597 16C3.33308 16 3.27019 16 3.2073 15.9373C3.14441 15.8745 3.08153 15.8118 3.08153 15.749C3.08153 15.6863 3.01864 15.6235 3.08153 15.5608L3.96196 10.4784C3.96196 10.4157 3.96196 10.3529 3.89907 10.2902C3.89907 10.2275 3.83619 10.1647 3.83619 10.102L0.125777 6.52549C0.0628883 6.46275 0 6.4 0 6.33726C0 6.21177 0 6.14902 0 6.08628C0.0628883 6.02353 0.0628883 5.96079 0.125777 5.89804C0.188665 5.83529 0.251553 5.83529 0.37733 5.83529L5.47128 5.08235C5.53417 5.08235 5.59706 5.01961 5.65995 5.01961C5.65995 4.95686 5.72283 4.89412 5.78572 4.83137L8.0497 0.25098C8.11259 0.188235 8.11259 0.12549 8.17548 0.0627451C8.23837 0.0627451 8.36414 0 8.42703 0C8.48992 0 8.55281 0.0627451 8.61569 0.0627451C8.67858 0.12549 8.74147 0.188235 8.80436 0.25098L11.0683 4.89412C11.0683 4.89412 11.1312 4.95686 11.1941 5.01961C11.257 5.01961 11.3199 5.08235 11.3828 5.08235L16.4767 5.83529C16.5396 5.83529 16.6025 5.89804 16.6654 5.89804C16.7283 5.96079 16.7912 6.02353 16.7912 6.08628C16.8541 6.14902 16.8541 6.27451 16.7912 6.33726C16.7912 6.4 16.7283 6.46275 16.7283 6.52549L13.0179 10.102C12.955 10.1647 12.8921 10.2275 12.8921 10.2902C12.8921 10.3529 12.8921 10.4157 12.8921 10.4784L13.7725 15.5608C13.7725 15.6235 13.7725 15.6863 13.7096 15.749C13.7096 15.8118 13.6468 15.8745 13.5839 15.9373C13.521 16 13.4581 16 13.3952 16C13.3323 16 13.2065 16 13.1437 16Z M33.711 16L29.1201 13.5529C29.0572 13.5529 28.9943 13.4902 28.9315 13.4902C28.8686 13.4902 28.8057 13.5529 28.7428 13.5529L24.2148 15.9373C24.1519 16 24.0262 16 23.9633 16C23.9004 16 23.8375 15.9373 23.7746 15.9373C23.7117 15.8745 23.6488 15.8118 23.6488 15.749C23.5859 15.6863 23.5859 15.6235 23.5859 15.498L24.4664 10.4157C24.4664 10.3529 24.4664 10.2902 24.4664 10.2275C24.4664 10.1647 24.4035 10.102 24.3406 10.102L20.6931 6.46275C20.6302 6.4 20.5673 6.33725 20.5673 6.27451C20.5673 6.21176 20.5673 6.14902 20.5673 6.08628C20.5673 6.02353 20.6302 5.96079 20.6931 5.89804C20.756 5.83529 20.8189 5.83529 20.8818 5.77255L26.0386 5.08235C26.1015 5.01961 26.1644 5.01961 26.1644 4.95686C26.2273 4.95686 26.2901 4.89412 26.2901 4.83137L28.617 0.25098C28.617 0.12549 28.6799 0.12549 28.7428 0.0627451C28.8057 -7.45058e-09 28.8686 0 28.9315 0C29.0572 0 29.1201 -7.45058e-09 29.183 0.0627451C29.2459 0.12549 29.3088 0.12549 29.3088 0.25098L31.6356 4.83137C31.6356 4.89412 31.6985 4.95686 31.7614 5.01961C31.7614 5.01961 31.8243 5.08235 31.8872 5.08235L37.044 5.83529C37.1069 5.83529 37.1698 5.83529 37.2327 5.89804C37.2956 5.96079 37.2956 6.02353 37.3585 6.08628C37.3585 6.14902 37.3585 6.21176 37.3585 6.27451C37.3585 6.4 37.2956 6.46275 37.2327 6.52549L33.5223 10.102C33.5223 10.1647 33.4594 10.1647 33.4594 10.2275C33.3965 10.2902 33.3965 10.3529 33.4594 10.4784L34.277 15.5608C34.3398 15.6235 34.277 15.6863 34.277 15.749C34.277 15.8118 34.2141 15.8745 34.1512 15.9373C34.0883 16 34.0254 16 33.9625 16C33.8367 16 33.7738 16 33.711 16Z M53.5187 16L48.9279 13.5529C48.865 13.5529 48.8021 13.4902 48.7392 13.4902C48.6763 13.4902 48.6134 13.5529 48.5505 13.5529L44.0226 15.9373C43.9597 16 43.8968 16 43.8339 16C43.7081 16 43.6452 16 43.5824 15.9373C43.5195 15.8745 43.5195 15.8118 43.4566 15.749C43.4566 15.6863 43.4566 15.6235 43.4566 15.5608L44.337 10.4784C44.337 10.4157 44.337 10.3529 44.2741 10.2902C44.2741 10.2275 44.2741 10.1647 44.2112 10.102L40.5008 6.52549C40.4379 6.46275 40.4379 6.4 40.375 6.33726C40.375 6.21177 40.375 6.14902 40.375 6.08628C40.4379 6.02353 40.4379 5.96079 40.5008 5.89804C40.5637 5.83529 40.6266 5.83529 40.7524 5.83529L45.8463 5.08235C45.9092 5.08235 45.9721 5.01961 46.035 5.01961C46.0979 4.95686 46.0979 4.89412 46.1608 4.83137L48.4248 0.25098C48.4876 0.188235 48.4876 0.12549 48.5505 0.0627451C48.6134 0.0627451 48.7392 0 48.8021 0C48.865 0 48.9279 0.0627451 48.9907 0.0627451C49.0536 0.12549 49.1165 0.188235 49.1794 0.25098L51.4434 4.89412C51.4434 4.89412 51.5063 4.95686 51.5692 5.01961C51.6321 5.01961 51.6949 5.08235 51.7578 5.08235L56.8518 5.83529C56.9147 5.83529 56.9776 5.89804 57.0404 5.89804C57.1033 5.96079 57.1662 6.02353 57.1662 6.08628C57.1662 6.14902 57.2291 6.27451 57.1662 6.33726C57.1662 6.4 57.1033 6.46275 57.1033 6.52549L53.3929 10.102C53.33 10.1647 53.2671 10.2275 53.2671 10.2902C53.2671 10.3529 53.2671 10.4157 53.2671 10.4784L54.0847 15.5608C54.0847 15.6235 54.0847 15.6863 54.0847 15.749C54.0218 15.8118 53.9589 15.8745 53.896 15.9373C53.896 15.9373 53.7703 16 53.7074 16C53.6445 16 53.5816 16 53.5187 16Z M74.0858 16L69.4949 13.5529C69.4321 13.5529 69.3692 13.4902 69.3063 13.4902C69.2434 13.4902 69.1805 13.5529 69.1176 13.5529L64.5268 15.9373C64.4639 16 64.401 16 64.3381 16C64.2752 16 64.1494 15.9373 64.0865 15.9373C64.0865 15.8745 64.0237 15.8118 63.9608 15.749C63.9608 15.6863 63.9608 15.6235 63.9608 15.498L64.8412 10.4157C64.8412 10.3529 64.8412 10.2902 64.8412 10.2275C64.7783 10.1647 64.7783 10.102 64.7154 10.102L61.005 6.52549C60.9421 6.46275 60.9421 6.4 60.8792 6.33726C60.8792 6.21177 60.8792 6.14902 60.8792 6.08628C60.9421 6.02353 60.9421 5.96079 61.005 5.89804C61.0679 5.83529 61.1308 5.83529 61.2566 5.83529L66.3505 5.08235C66.4134 5.08235 66.4763 5.01961 66.5392 5.01961C66.6021 4.95686 66.6021 4.89412 66.665 4.83137L68.9289 0.25098C68.9918 0.188235 68.9918 0.12549 69.0547 0.0627451C69.1176 0.0627451 69.2434 0 69.3063 0C69.3692 0 69.4321 0.0627451 69.4949 0.0627451C69.5578 0.12549 69.6207 0.188235 69.6836 0.25098L71.9476 4.89412C71.9476 4.89412 72.0105 4.95686 72.0734 5.01961C72.1362 5.01961 72.1991 5.08235 72.262 5.08235L77.356 5.83529C77.4189 5.83529 77.4818 5.89804 77.5446 5.89804C77.6075 5.96079 77.6704 6.02353 77.6704 6.08628C77.7333 6.14902 77.7333 6.27451 77.6704 6.33726C77.6704 6.4 77.6075 6.46275 77.6075 6.52549L73.8971 10.102C73.8342 10.1647 73.7713 10.2275 73.7713 10.2902C73.7713 10.3529 73.7713 10.4157 73.7713 10.4784L74.6518 15.5608C74.6518 15.6235 74.6518 15.6863 74.5889 15.749C74.5889 15.8118 74.526 15.8745 74.4631 15.9373C74.4002 15.9373 74.3373 16 74.2744 16C74.2116 16 74.1487 16 74.0858 16Z M94.0831 16L89.5551 13.5529C89.4922 13.5529 89.4294 13.4902 89.3665 13.4902C89.3036 13.4902 89.2407 13.5529 89.1778 13.5529L84.587 15.9373C84.5241 16 84.4612 16 84.3983 16C84.2725 16 84.2096 15.9373 84.1468 15.9373C84.0839 15.8745 84.0839 15.8118 84.021 15.749C84.021 15.6863 84.021 15.6235 84.021 15.498L84.9014 10.4157C84.9014 10.3529 84.9014 10.2902 84.8385 10.2275C84.8385 10.1647 84.8385 10.102 84.7756 10.102L81.0652 6.46275C81.0023 6.4 81.0023 6.33725 80.9395 6.27451C80.9395 6.21176 80.9395 6.14902 80.9395 6.08628C81.0023 6.02353 81.0023 5.96079 81.0652 5.89804C81.1281 5.83529 81.191 5.83529 81.3168 5.77255L86.4107 5.08235C86.4736 5.01961 86.5365 5.01961 86.5994 4.95686C86.6623 4.95686 86.6623 4.89412 86.7252 4.83137L88.9892 0.25098C89.052 0.12549 89.1149 0.12549 89.1778 0.0627451C89.2407 -7.45058e-09 89.3036 0 89.3665 0C89.4294 0 89.4922 -7.45058e-09 89.5551 0.0627451C89.618 0.12549 89.6809 0.12549 89.7438 0.25098L92.0078 4.83137C92.0078 4.89412 92.0707 4.95686 92.1336 5.01961C92.1965 5.01961 92.2593 5.08235 92.3222 5.08235L97.4162 5.83529C97.4791 5.83529 97.542 5.83529 97.6048 5.89804C97.6677 5.96079 97.7306 6.02353 97.7306 6.08628C97.7935 6.14902 97.7935 6.21176 97.7306 6.27451C97.7306 6.4 97.6677 6.46275 97.6677 6.52549L93.9573 10.102C93.8944 10.1647 93.8315 10.1647 93.8315 10.2275C93.8315 10.2902 93.8315 10.3529 93.8315 10.4784L94.712 15.5608C94.712 15.6235 94.712 15.6863 94.6491 15.749C94.6491 15.8118 94.5862 15.8745 94.5233 15.9373C94.4604 16 94.3975 16 94.3346 16C94.2718 16 94.146 16 94.0831 16Z"
|
|
70
|
-
stroke="#D0D2D6"
|
|
71
|
-
strokeWidth="0.42154"
|
|
72
|
-
/>
|
|
73
|
-
<defs>
|
|
74
|
-
<linearGradient id="MyGradient">
|
|
75
|
-
<stop offset="0%" stopColor="#FFB51F" />
|
|
76
|
-
<stop offset={`${displayPercent}%`} stopColor="#FF870A" />
|
|
77
|
-
<stop offset={`${displayPercent}%`} stopColor="#FFFFFF" />
|
|
78
|
-
</linearGradient>
|
|
79
|
-
</defs>
|
|
80
|
-
</SVG>
|
|
81
|
-
</div>
|
|
82
|
-
);
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
const SVG = styled.svg<{
|
|
86
|
-
$isRateable?: number;
|
|
87
|
-
}>`
|
|
88
|
-
fill: url(#MyGradient);
|
|
89
|
-
cursor: ${({ $isRateable }) => ($isRateable ? 'pointer' : 'initial')};
|
|
90
|
-
`;
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import React from 'react';
|
|
4
|
-
import styled from 'styled-components';
|
|
5
|
-
|
|
6
|
-
export interface SwitchProps extends React.PropsWithChildren {
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
onChange: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
9
|
-
value: string;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
export const Switch = ({
|
|
13
|
-
children,
|
|
14
|
-
disabled,
|
|
15
|
-
onChange,
|
|
16
|
-
value,
|
|
17
|
-
}: SwitchProps) => {
|
|
18
|
-
return (
|
|
19
|
-
<Wrapper>
|
|
20
|
-
{React.Children.map(children, (child) => {
|
|
21
|
-
if (!React.isValidElement(child)) return;
|
|
22
|
-
return React.cloneElement(child, {
|
|
23
|
-
...child.props,
|
|
24
|
-
disabled: disabled,
|
|
25
|
-
active: value === child.props?.value,
|
|
26
|
-
key: child.key,
|
|
27
|
-
onClick: onChange,
|
|
28
|
-
});
|
|
29
|
-
})}
|
|
30
|
-
</Wrapper>
|
|
31
|
-
);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const Wrapper = styled.div`
|
|
35
|
-
display: flex;
|
|
36
|
-
flex-flow: row nowrap;
|
|
37
|
-
padding: 6px;
|
|
38
|
-
border-radius: 8px;
|
|
39
|
-
border: 1px solid var(--color-grey-8);
|
|
40
|
-
background-color: var(--color-grey-10);
|
|
41
|
-
`;
|
|
42
|
-
|
|
43
|
-
interface SwitchItemProps extends React.PropsWithChildren {
|
|
44
|
-
active?: boolean;
|
|
45
|
-
disabled?: boolean;
|
|
46
|
-
icon?: React.ReactElement;
|
|
47
|
-
onClick?: (event: React.MouseEvent<HTMLButtonElement>) => void;
|
|
48
|
-
value: string;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
const SwitchItem = ({
|
|
52
|
-
active,
|
|
53
|
-
children,
|
|
54
|
-
disabled,
|
|
55
|
-
icon,
|
|
56
|
-
onClick,
|
|
57
|
-
value,
|
|
58
|
-
}: SwitchItemProps) => {
|
|
59
|
-
return (
|
|
60
|
-
<Item
|
|
61
|
-
$active={!!active}
|
|
62
|
-
disabled={disabled}
|
|
63
|
-
onClick={onClick}
|
|
64
|
-
value={value}
|
|
65
|
-
>
|
|
66
|
-
{icon && React.cloneElement(icon, { size: 24, color: 'grey-6' })}
|
|
67
|
-
{children}
|
|
68
|
-
</Item>
|
|
69
|
-
);
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
const Item = styled.button<{
|
|
73
|
-
$active: boolean;
|
|
74
|
-
}>`
|
|
75
|
-
width: 154px;
|
|
76
|
-
height: 36px;
|
|
77
|
-
display: flex;
|
|
78
|
-
justify-content: center;
|
|
79
|
-
align-items: center;
|
|
80
|
-
gap: 8px;
|
|
81
|
-
font-family: Inter;
|
|
82
|
-
font-weight: 500;
|
|
83
|
-
font-size: 16px;
|
|
84
|
-
line-height: 24px;
|
|
85
|
-
border: none;
|
|
86
|
-
cursor: pointer;
|
|
87
|
-
letter-spacing: -0.176px;
|
|
88
|
-
|
|
89
|
-
svg {
|
|
90
|
-
pointer-events: none;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
${({ $active }) =>
|
|
94
|
-
$active
|
|
95
|
-
? `
|
|
96
|
-
color: var(--color-primary-blue-2);
|
|
97
|
-
background-color: var(--color-white);
|
|
98
|
-
border-radius: 4px;
|
|
99
|
-
box-shadow: var(--elevation-1);
|
|
100
|
-
|
|
101
|
-
&:disabled {
|
|
102
|
-
color: var(--color-grey-7);
|
|
103
|
-
background-color: var(--color-grey-10);
|
|
104
|
-
border: 1px solid var(--color-grey-8);
|
|
105
|
-
box-shadow: none;
|
|
106
|
-
}`
|
|
107
|
-
: `
|
|
108
|
-
color: var(--color-grey-6);`}
|
|
109
|
-
|
|
110
|
-
&:disabled {
|
|
111
|
-
color: var(--color-grey-7);
|
|
112
|
-
cursor: initial;
|
|
113
|
-
background-color: var(--color-grey-10);
|
|
114
|
-
}
|
|
115
|
-
`;
|
|
116
|
-
|
|
117
|
-
Switch.Item = SwitchItem;
|
|
118
|
-
SwitchItem.displayName = 'Switch.Item';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {} from '';
|