@soul-refiner/design-system 2.0.0-alpha.26 → 2.0.0-alpha.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (671) hide show
  1. package/dist/common/colors.js +140 -0
  2. package/dist/common/date.js +34 -0
  3. package/dist/common/styles.js +66 -0
  4. package/dist/components/actions/button/button.js +330 -0
  5. package/dist/components/actions/dropdown/dropdown.js +237 -0
  6. package/dist/components/actions/rate/rate.js +56 -0
  7. package/dist/components/actions/switch/switch.js +81 -0
  8. package/dist/components/actions/toggle/toggle.js +67 -0
  9. package/dist/components/actions/upload/upload.js +170 -0
  10. package/dist/components/atoms/box/box.js +26 -0
  11. package/dist/components/atoms/hide/hide.js +18 -0
  12. package/dist/components/atoms/seconds_to_duration/seconds_to_duration.js +36 -0
  13. package/dist/components/atoms/time_ago/time_ago.js +40 -0
  14. package/dist/components/atoms/typography/display.js +19 -0
  15. package/dist/components/atoms/typography/heading.js +44 -0
  16. package/dist/components/atoms/typography/paragraph.js +27 -0
  17. package/dist/components/atoms/typography/typography.js +17 -0
  18. package/dist/components/card/action/action.js +84 -0
  19. package/dist/components/card/audio/audio.js +143 -0
  20. package/dist/components/card/card.js +34 -0
  21. package/dist/components/card/feature/feature.js +204 -0
  22. package/dist/components/card/meeting/meeting.js +152 -0
  23. package/dist/components/card/person/person.js +83 -0
  24. package/dist/components/card/price/price.js +89 -0
  25. package/dist/components/card/regular/regular.js +43 -0
  26. package/dist/components/card/styles.js +16 -0
  27. package/dist/components/card/video/video.js +140 -0
  28. package/dist/components/card/written/written.js +143 -0
  29. package/dist/components/custom/courses_selection/courses_selection.js +143 -0
  30. package/dist/components/custom/users_selection/users_selection.js +134 -0
  31. package/dist/components/editor/constants.js +195 -0
  32. package/dist/components/editor/context.js +17 -0
  33. package/dist/components/editor/editor.js +114 -0
  34. package/dist/components/editor/icons/border-all.js +12 -0
  35. package/dist/components/editor/icons/border-bottom.js +12 -0
  36. package/dist/components/editor/icons/border-left.js +12 -0
  37. package/dist/components/editor/icons/border-none.js +12 -0
  38. package/dist/components/editor/icons/border-right.js +12 -0
  39. package/dist/components/editor/icons/border-top.js +12 -0
  40. package/dist/components/editor/navbar/alignment_dropdown.js +106 -0
  41. package/dist/components/editor/navbar/button_modal.js +70 -0
  42. package/dist/components/editor/navbar/navbar.js +225 -0
  43. package/dist/components/editor/navbar/style_dropdown.js +74 -0
  44. package/dist/components/editor/plugins/blocks/blockquote.js +17 -0
  45. package/dist/components/editor/plugins/blocks/blocks.js +54 -0
  46. package/dist/components/editor/plugins/blocks/buttons.js +91 -0
  47. package/dist/components/editor/plugins/blocks/dropdown-menu.js +78 -0
  48. package/dist/components/editor/plugins/blocks/image.js +60 -0
  49. package/dist/components/editor/plugins/blocks/list.js +26 -0
  50. package/dist/components/editor/plugins/blocks/media-popover.js +41 -0
  51. package/dist/components/editor/plugins/blocks/plate-button.js +63 -0
  52. package/dist/components/editor/plugins/blocks/popover.js +39 -0
  53. package/dist/components/editor/plugins/blocks/qa.js +55 -0
  54. package/dist/components/editor/plugins/blocks/resizable.js +48 -0
  55. package/dist/components/editor/plugins/blocks/separator.js +44 -0
  56. package/dist/components/editor/plugins/blocks/table-cell.js +48 -0
  57. package/dist/components/editor/plugins/blocks/table-row.js +16 -0
  58. package/dist/components/editor/plugins/blocks/table.js +98 -0
  59. package/dist/components/editor/plugins/blocks/text.js +103 -0
  60. package/dist/components/editor/plugins/blocks/video.js +42 -0
  61. package/dist/components/editor/plugins/leafs/leafs.js +37 -0
  62. package/dist/components/editor/plugins/leafs/link.js +86 -0
  63. package/dist/components/editor/plugins/marks/marks.js +17 -0
  64. package/dist/components/editor/plugins/plate.js +43 -0
  65. package/dist/components/editor/plugins/utils/exitBreak.js +36 -0
  66. package/dist/components/editor/plugins/utils/resetBlockType.js +26 -0
  67. package/dist/components/editor/plugins/utils/selectOnBackspace.js +11 -0
  68. package/dist/components/editor/plugins/utils/softBreak.js +19 -0
  69. package/dist/components/editor/plugins/utils/utils.js +17 -0
  70. package/dist/components/editor/simple_editor/navbar.js +128 -0
  71. package/dist/components/editor/simple_editor/plugins.js +93 -0
  72. package/dist/components/editor/simple_editor/simple_editor.js +98 -0
  73. package/dist/components/editor/styles/menu_button.js +36 -0
  74. package/dist/components/feedback/animated_toast/animated_toast.js +64 -0
  75. package/dist/components/feedback/badge/badge.js +75 -0
  76. package/dist/components/feedback/banner/banner.js +95 -0
  77. package/dist/components/feedback/chip/chip.js +103 -0
  78. package/dist/components/feedback/loader/loader.js +44 -0
  79. package/dist/components/feedback/notification/notification.js +87 -0
  80. package/dist/components/feedback/progress/progress.js +101 -0
  81. package/dist/components/feedback/toast/toast.js +126 -0
  82. package/dist/components/feedback/tooltip/tooltip.js +35 -0
  83. package/dist/components/iconography/avatar/avatar.js +190 -0
  84. package/dist/components/iconography/avatar/icons/approved.js +14 -0
  85. package/dist/components/iconography/avatar/icons/busy.js +14 -0
  86. package/dist/components/iconography/avatar/icons/declined.js +14 -0
  87. package/dist/components/iconography/avatar/icons/default.js +13 -0
  88. package/dist/components/iconography/avatar/icons/focus.js +14 -0
  89. package/dist/components/iconography/avatar/icons/locked.js +14 -0
  90. package/dist/components/iconography/avatar/icons/offline.js +14 -0
  91. package/dist/components/iconography/avatar/icons/online.js +13 -0
  92. package/dist/components/iconography/avatar/icons/subscribed.js +18 -0
  93. package/dist/components/iconography/icon/icon.js +19 -0
  94. package/dist/components/input/calendar/calendar.js +267 -0
  95. package/dist/components/input/checkbox/checkbox.js +32 -0
  96. package/dist/components/input/date/date.js +529 -0
  97. package/dist/components/input/filter/filter.js +332 -0
  98. package/dist/components/input/filter/filter_option.js +82 -0
  99. package/dist/components/input/radio/radio.js +92 -0
  100. package/dist/components/input/search/search.js +148 -0
  101. package/dist/components/input/select/select.js +56 -0
  102. package/dist/components/input/text_area/text_area.js +120 -0
  103. package/dist/components/input/text_input/text_input.js +157 -0
  104. package/dist/components/input/time/time.js +80 -0
  105. package/dist/components/media/video/video.js +42 -0
  106. package/dist/components/media/video-player/playlist-item.js +48 -0
  107. package/dist/components/media/video-player/video.js +210 -0
  108. package/dist/components/navigation/breadcrumb/breadcrumb.js +119 -0
  109. package/dist/components/navigation/inner/inner.js +199 -0
  110. package/dist/components/navigation/tabs/tabs.js +159 -0
  111. package/dist/components/surfaces/accordion/accordion.js +56 -0
  112. package/dist/components/surfaces/calendar_date/calendar_date.js +55 -0
  113. package/dist/components/surfaces/carousel/card/card.js +106 -0
  114. package/dist/components/surfaces/comment/comment.js +210 -0
  115. package/dist/components/surfaces/comment/helpers.js +30 -0
  116. package/dist/components/surfaces/drawer/drawer.js +140 -0
  117. package/dist/components/surfaces/message/message.js +56 -0
  118. package/dist/components/surfaces/modal/modal.js +135 -0
  119. package/dist/components/surfaces/portal/portal.js +36 -0
  120. package/dist/components/surfaces/post/post.js +246 -0
  121. package/dist/components/table/table/table.js +192 -0
  122. package/dist/icons/arrow/arrow_all.js +15 -0
  123. package/dist/icons/arrow/arrow_all_diagonal.js +15 -0
  124. package/dist/icons/arrow/arrow_both_downwards.js +15 -0
  125. package/dist/icons/arrow/arrow_both_upwards.js +15 -0
  126. package/dist/icons/arrow/arrow_circle_left.js +15 -0
  127. package/dist/icons/arrow/arrow_circle_left_double.js +15 -0
  128. package/dist/icons/arrow/arrow_circle_left_double_alert.js +17 -0
  129. package/dist/icons/arrow/arrow_circle_right.js +15 -0
  130. package/dist/icons/arrow/arrow_circle_right_double.js +15 -0
  131. package/dist/icons/arrow/arrow_circle_right_double_alert.js +15 -0
  132. package/dist/icons/arrow/arrow_diagonal_down_left.js +15 -0
  133. package/dist/icons/arrow/arrow_diagonal_down_left_circle.js +15 -0
  134. package/dist/icons/arrow/arrow_diagonal_down_right.js +15 -0
  135. package/dist/icons/arrow/arrow_diagonal_down_right_circle.js +15 -0
  136. package/dist/icons/arrow/arrow_diagonal_up_left.js +15 -0
  137. package/dist/icons/arrow/arrow_diagonal_up_left_circle.js +15 -0
  138. package/dist/icons/arrow/arrow_diagonal_up_right.js +15 -0
  139. package/dist/icons/arrow/arrow_diagonal_up_right_circle.js +15 -0
  140. package/dist/icons/arrow/arrow_down.js +15 -0
  141. package/dist/icons/arrow/arrow_down_bold.js +15 -0
  142. package/dist/icons/arrow/arrow_down_circle.js +15 -0
  143. package/dist/icons/arrow/arrow_left.js +15 -0
  144. package/dist/icons/arrow/arrow_left_bold.js +15 -0
  145. package/dist/icons/arrow/arrow_left_circle.js +15 -0
  146. package/dist/icons/arrow/arrow_left_curved.js +15 -0
  147. package/dist/icons/arrow/arrow_left_curved_circle.js +15 -0
  148. package/dist/icons/arrow/arrow_right.js +15 -0
  149. package/dist/icons/arrow/arrow_right_bold.js +15 -0
  150. package/dist/icons/arrow/arrow_right_circle.js +15 -0
  151. package/dist/icons/arrow/arrow_right_curved.js +15 -0
  152. package/dist/icons/arrow/arrow_right_curved_circle.js +15 -0
  153. package/dist/icons/arrow/arrow_up.js +15 -0
  154. package/dist/icons/arrow/arrow_up_bold.js +15 -0
  155. package/dist/icons/arrow/arrow_up_circle.js +15 -0
  156. package/dist/icons/arrow/chevron_down.js +15 -0
  157. package/dist/icons/arrow/chevron_down_circle.js +15 -0
  158. package/dist/icons/arrow/chevron_down_double.js +15 -0
  159. package/dist/icons/arrow/chevron_down_double_circle.js +15 -0
  160. package/dist/icons/arrow/chevron_left.js +15 -0
  161. package/dist/icons/arrow/chevron_left_circle.js +15 -0
  162. package/dist/icons/arrow/chevron_left_double.js +15 -0
  163. package/dist/icons/arrow/chevron_left_double_circle.js +15 -0
  164. package/dist/icons/arrow/chevron_right.js +15 -0
  165. package/dist/icons/arrow/chevron_right_circle.js +15 -0
  166. package/dist/icons/arrow/chevron_right_double.js +15 -0
  167. package/dist/icons/arrow/chevron_right_double_circle.js +15 -0
  168. package/dist/icons/arrow/chevron_scroll.js +15 -0
  169. package/dist/icons/arrow/chevron_up.js +15 -0
  170. package/dist/icons/arrow/chevron_up_circle.js +15 -0
  171. package/dist/icons/arrow/chevron_up_double.js +15 -0
  172. package/dist/icons/arrow/chevron_up_double_circle.js +15 -0
  173. package/dist/icons/arrow/forward_all.js +15 -0
  174. package/dist/icons/arrow/forward_all_bold.js +15 -0
  175. package/dist/icons/arrow/forward_bold.js +15 -0
  176. package/dist/icons/arrow/redo.js +15 -0
  177. package/dist/icons/arrow/redo_bold.js +15 -0
  178. package/dist/icons/arrow/reply.js +15 -0
  179. package/dist/icons/arrow/reply_all.js +15 -0
  180. package/dist/icons/arrow/reply_all_bold.js +15 -0
  181. package/dist/icons/arrow/reply_bold.js +15 -0
  182. package/dist/icons/arrow/undo.js +15 -0
  183. package/dist/icons/arrow/undo_bold.js +15 -0
  184. package/dist/icons/audio_video/drag_indicator.js +15 -0
  185. package/dist/icons/audio_video/eject.js +15 -0
  186. package/dist/icons/audio_video/equalizer.js +15 -0
  187. package/dist/icons/audio_video/fast_forward.js +15 -0
  188. package/dist/icons/audio_video/fast_forward_30.js +15 -0
  189. package/dist/icons/audio_video/fullscreen.js +15 -0
  190. package/dist/icons/audio_video/headphones.js +15 -0
  191. package/dist/icons/audio_video/library_add.js +15 -0
  192. package/dist/icons/audio_video/library_music.js +15 -0
  193. package/dist/icons/audio_video/microphone.js +15 -0
  194. package/dist/icons/audio_video/musical_note.js +15 -0
  195. package/dist/icons/audio_video/next.js +15 -0
  196. package/dist/icons/audio_video/pause.js +15 -0
  197. package/dist/icons/audio_video/pause_circle.js +15 -0
  198. package/dist/icons/audio_video/play.js +15 -0
  199. package/dist/icons/audio_video/play_circle.js +15 -0
  200. package/dist/icons/audio_video/play_display.js +15 -0
  201. package/dist/icons/audio_video/play_pause.js +15 -0
  202. package/dist/icons/audio_video/play_solid.js +15 -0
  203. package/dist/icons/audio_video/player_list.js +15 -0
  204. package/dist/icons/audio_video/player_list_add.js +15 -0
  205. package/dist/icons/audio_video/player_list_play.js +15 -0
  206. package/dist/icons/audio_video/previous.js +15 -0
  207. package/dist/icons/audio_video/radio.js +15 -0
  208. package/dist/icons/audio_video/record.js +15 -0
  209. package/dist/icons/audio_video/repeat.js +15 -0
  210. package/dist/icons/audio_video/rewind.js +15 -0
  211. package/dist/icons/audio_video/rewind_30.js +15 -0
  212. package/dist/icons/audio_video/shuffle.js +15 -0
  213. package/dist/icons/audio_video/sound_wave.js +15 -0
  214. package/dist/icons/audio_video/stop.js +15 -0
  215. package/dist/icons/audio_video/stop_circle.js +15 -0
  216. package/dist/icons/audio_video/subscriptions.js +15 -0
  217. package/dist/icons/audio_video/tuner.js +15 -0
  218. package/dist/icons/audio_video/volume.js +15 -0
  219. package/dist/icons/audio_video/volume_high.js +15 -0
  220. package/dist/icons/audio_video/volume_low.js +15 -0
  221. package/dist/icons/audio_video/volume_slash.js +15 -0
  222. package/dist/icons/basic/aa_sansserif.js +16 -0
  223. package/dist/icons/basic/aa_serif.js +16 -0
  224. package/dist/icons/basic/anchor.js +17 -0
  225. package/dist/icons/basic/bible.js +15 -0
  226. package/dist/icons/basic/bold.js +15 -0
  227. package/dist/icons/basic/book.js +15 -0
  228. package/dist/icons/basic/book_open.js +15 -0
  229. package/dist/icons/basic/bookmark.js +15 -0
  230. package/dist/icons/basic/bookmark_add.js +15 -0
  231. package/dist/icons/basic/bookmark_slash.js +15 -0
  232. package/dist/icons/basic/bookmarks.js +15 -0
  233. package/dist/icons/basic/books.js +18 -0
  234. package/dist/icons/basic/box.js +15 -0
  235. package/dist/icons/basic/briefcase.js +15 -0
  236. package/dist/icons/basic/browse_activity.js +15 -0
  237. package/dist/icons/basic/browser.js +15 -0
  238. package/dist/icons/basic/browser_slash.js +15 -0
  239. package/dist/icons/basic/calculator.js +15 -0
  240. package/dist/icons/basic/camera.js +15 -0
  241. package/dist/icons/basic/camera_add.js +15 -0
  242. package/dist/icons/basic/camera_slash.js +15 -0
  243. package/dist/icons/basic/checkmark.js +15 -0
  244. package/dist/icons/basic/checkmark_circle.js +17 -0
  245. package/dist/icons/basic/checkmark_filled.js +15 -0
  246. package/dist/icons/basic/checkmarks.js +15 -0
  247. package/dist/icons/basic/circle.js +15 -0
  248. package/dist/icons/basic/circle_slash.js +17 -0
  249. package/dist/icons/basic/clear_text_style.js +15 -0
  250. package/dist/icons/basic/close.js +15 -0
  251. package/dist/icons/basic/close_circle.js +15 -0
  252. package/dist/icons/basic/close_filled.js +15 -0
  253. package/dist/icons/basic/copy.js +15 -0
  254. package/dist/icons/basic/delete.js +15 -0
  255. package/dist/icons/basic/detail.js +15 -0
  256. package/dist/icons/basic/dot.js +15 -0
  257. package/dist/icons/basic/download.js +15 -0
  258. package/dist/icons/basic/download_arrow.js +15 -0
  259. package/dist/icons/basic/droplet.js +17 -0
  260. package/dist/icons/basic/ellipsis_horizontal.js +15 -0
  261. package/dist/icons/basic/ellipsis_horizontal_circle.js +15 -0
  262. package/dist/icons/basic/ellipsis_vertical.js +15 -0
  263. package/dist/icons/basic/ellipsis_vertical_circle.js +15 -0
  264. package/dist/icons/basic/eye.js +15 -0
  265. package/dist/icons/basic/eye_slash.js +15 -0
  266. package/dist/icons/basic/fingerprint.js +15 -0
  267. package/dist/icons/basic/flag.js +15 -0
  268. package/dist/icons/basic/flag_wave.js +15 -0
  269. package/dist/icons/basic/flag_wave_filled.js +15 -0
  270. package/dist/icons/basic/flame.js +15 -0
  271. package/dist/icons/basic/gauge.js +15 -0
  272. package/dist/icons/basic/glasses.js +15 -0
  273. package/dist/icons/basic/graduation_cap.js +15 -0
  274. package/dist/icons/basic/hashmark.js +15 -0
  275. package/dist/icons/basic/heart.js +15 -0
  276. package/dist/icons/basic/heart_slash.js +15 -0
  277. package/dist/icons/basic/highlighter.js +15 -0
  278. package/dist/icons/basic/home.js +15 -0
  279. package/dist/icons/basic/image.js +15 -0
  280. package/dist/icons/basic/inbox.js +15 -0
  281. package/dist/icons/basic/italic.js +15 -0
  282. package/dist/icons/basic/layers.js +15 -0
  283. package/dist/icons/basic/lightening.js +15 -0
  284. package/dist/icons/basic/lightening_slash.js +15 -0
  285. package/dist/icons/basic/link.js +15 -0
  286. package/dist/icons/basic/link_slash.js +15 -0
  287. package/dist/icons/basic/loudspeaker.js +15 -0
  288. package/dist/icons/basic/maximize.js +15 -0
  289. package/dist/icons/basic/menu.js +15 -0
  290. package/dist/icons/basic/menu_circle.js +15 -0
  291. package/dist/icons/basic/menu_dots.js +15 -0
  292. package/dist/icons/basic/microphone_slash.js +15 -0
  293. package/dist/icons/basic/minimize.js +15 -0
  294. package/dist/icons/basic/minus.js +15 -0
  295. package/dist/icons/basic/minus_circle.js +15 -0
  296. package/dist/icons/basic/move_item.js +15 -0
  297. package/dist/icons/basic/new.js +15 -0
  298. package/dist/icons/basic/newspaper.js +15 -0
  299. package/dist/icons/basic/node.js +15 -0
  300. package/dist/icons/basic/note_pad.js +16 -0
  301. package/dist/icons/basic/options.js +15 -0
  302. package/dist/icons/basic/paint_brush.js +15 -0
  303. package/dist/icons/basic/paperclip.js +15 -0
  304. package/dist/icons/basic/paperclip_slash.js +15 -0
  305. package/dist/icons/basic/pencil.js +15 -0
  306. package/dist/icons/basic/pencil_pad.js +15 -0
  307. package/dist/icons/basic/plus.js +15 -0
  308. package/dist/icons/basic/plus_circle.js +15 -0
  309. package/dist/icons/basic/presentation.js +15 -0
  310. package/dist/icons/basic/printer.js +15 -0
  311. package/dist/icons/basic/profile.js +15 -0
  312. package/dist/icons/basic/profile_check.js +15 -0
  313. package/dist/icons/basic/pulse.js +15 -0
  314. package/dist/icons/basic/qr_code.js +15 -0
  315. package/dist/icons/basic/resize.js +17 -0
  316. package/dist/icons/basic/scan.js +15 -0
  317. package/dist/icons/basic/scissors.js +15 -0
  318. package/dist/icons/basic/screenshot.js +15 -0
  319. package/dist/icons/basic/search.js +15 -0
  320. package/dist/icons/basic/select_item.js +16 -0
  321. package/dist/icons/basic/settings.js +15 -0
  322. package/dist/icons/basic/share.js +15 -0
  323. package/dist/icons/basic/share_external.js +15 -0
  324. package/dist/icons/basic/square.js +15 -0
  325. package/dist/icons/basic/star.js +15 -0
  326. package/dist/icons/basic/star_circle.js +15 -0
  327. package/dist/icons/basic/star_filled.js +15 -0
  328. package/dist/icons/basic/star_filled_half.js +15 -0
  329. package/dist/icons/basic/star_slash.js +15 -0
  330. package/dist/icons/basic/sticker.js +15 -0
  331. package/dist/icons/basic/strikethrough.js +15 -0
  332. package/dist/icons/basic/subtask.js +16 -0
  333. package/dist/icons/basic/tax.js +18 -0
  334. package/dist/icons/basic/text_bg_color.js +15 -0
  335. package/dist/icons/basic/text_color.js +15 -0
  336. package/dist/icons/basic/textbox.js +15 -0
  337. package/dist/icons/basic/thumbs_down.js +15 -0
  338. package/dist/icons/basic/thumbs_up.js +15 -0
  339. package/dist/icons/basic/thumbs_up_filled.js +15 -0
  340. package/dist/icons/basic/toggle_left.js +15 -0
  341. package/dist/icons/basic/toggle_right.js +15 -0
  342. package/dist/icons/basic/translate.js +15 -0
  343. package/dist/icons/basic/trash.js +15 -0
  344. package/dist/icons/basic/trash_slash.js +15 -0
  345. package/dist/icons/basic/underline.js +15 -0
  346. package/dist/icons/basic/upload.js +15 -0
  347. package/dist/icons/basic/video.js +15 -0
  348. package/dist/icons/basic/video_add.js +16 -0
  349. package/dist/icons/basic/video_slash.js +15 -0
  350. package/dist/icons/basic/wrench.js +15 -0
  351. package/dist/icons/basic/zoom_in.js +15 -0
  352. package/dist/icons/basic/zoom_out.js +15 -0
  353. package/dist/icons/data/bar_chart.js +15 -0
  354. package/dist/icons/data/bar_chart_downward.js +15 -0
  355. package/dist/icons/data/bar_chart_downward_outline.js +15 -0
  356. package/dist/icons/data/bar_chart_upward.js +15 -0
  357. package/dist/icons/data/bar_chart_upward_outline.js +15 -0
  358. package/dist/icons/data/candlestick_chart.js +15 -0
  359. package/dist/icons/data/four_circles.js +15 -0
  360. package/dist/icons/data/legend_toggle.js +15 -0
  361. package/dist/icons/data/line_chart.js +15 -0
  362. package/dist/icons/data/line_chart_area.js +15 -0
  363. package/dist/icons/data/line_chart_area_shaded.js +15 -0
  364. package/dist/icons/data/line_chart_double.js +15 -0
  365. package/dist/icons/data/line_chart_downward.js +15 -0
  366. package/dist/icons/data/line_chart_node.js +15 -0
  367. package/dist/icons/data/line_chart_outline.js +15 -0
  368. package/dist/icons/data/line_chart_search.js +15 -0
  369. package/dist/icons/data/line_chart_stars.js +15 -0
  370. package/dist/icons/data/line_chart_upward.js +15 -0
  371. package/dist/icons/data/pie_chart.js +16 -0
  372. package/dist/icons/data/tree.js +15 -0
  373. package/dist/icons/email/mail.js +15 -0
  374. package/dist/icons/email/mail_check.js +15 -0
  375. package/dist/icons/email/mail_minus.js +15 -0
  376. package/dist/icons/email/mail_send.js +15 -0
  377. package/dist/icons/email/send.js +15 -0
  378. package/dist/icons/email/send_close.js +15 -0
  379. package/dist/icons/email/send_schedule.js +15 -0
  380. package/dist/icons/email/send_text.js +15 -0
  381. package/dist/icons/emoji/emoji_add.js +15 -0
  382. package/dist/icons/emoji/laughing.js +15 -0
  383. package/dist/icons/emoji/neutral.js +15 -0
  384. package/dist/icons/emoji/sad.js +15 -0
  385. package/dist/icons/emoji/shocked.js +15 -0
  386. package/dist/icons/emoji/smile.js +15 -0
  387. package/dist/icons/file/clipboard.js +15 -0
  388. package/dist/icons/file/clipboard_check.js +15 -0
  389. package/dist/icons/file/clipboard_close.js +15 -0
  390. package/dist/icons/file/clipboard_minus.js +15 -0
  391. package/dist/icons/file/clipboard_plus.js +15 -0
  392. package/dist/icons/file/clipboard_text.js +15 -0
  393. package/dist/icons/file/file.js +15 -0
  394. package/dist/icons/file/file_add.js +15 -0
  395. package/dist/icons/file/file_check.js +15 -0
  396. package/dist/icons/file/file_close.js +15 -0
  397. package/dist/icons/file/file_code.js +15 -0
  398. package/dist/icons/file/file_download.js +15 -0
  399. package/dist/icons/file/file_draft.js +15 -0
  400. package/dist/icons/file/file_gear.js +16 -0
  401. package/dist/icons/file/file_minus.js +15 -0
  402. package/dist/icons/file/file_plus.js +15 -0
  403. package/dist/icons/file/file_scan.js +15 -0
  404. package/dist/icons/file/file_shred.js +15 -0
  405. package/dist/icons/file/file_text.js +15 -0
  406. package/dist/icons/file/file_upload.js +15 -0
  407. package/dist/icons/file/folder.js +15 -0
  408. package/dist/icons/file/folder_add.js +15 -0
  409. package/dist/icons/file/folder_arrow.js +15 -0
  410. package/dist/icons/file/folder_check.js +15 -0
  411. package/dist/icons/file/folder_close.js +15 -0
  412. package/dist/icons/file/folder_cloud.js +15 -0
  413. package/dist/icons/file/folder_gear.js +16 -0
  414. package/dist/icons/file/folder_minus.js +15 -0
  415. package/dist/icons/file/folder_music.js +15 -0
  416. package/dist/icons/file/folder_open.js +15 -0
  417. package/dist/icons/file/folder_plus.js +15 -0
  418. package/dist/icons/file/folder_zip.js +15 -0
  419. package/dist/icons/file/note.js +15 -0
  420. package/dist/icons/file/note_text.js +15 -0
  421. package/dist/icons/file/pdf.js +15 -0
  422. package/dist/icons/file/photo.js +15 -0
  423. package/dist/icons/finance/bitcoin.js +15 -0
  424. package/dist/icons/finance/coins.js +19 -0
  425. package/dist/icons/finance/credit_card.js +15 -0
  426. package/dist/icons/finance/credit_card_add.js +15 -0
  427. package/dist/icons/finance/credit_card_face.js +15 -0
  428. package/dist/icons/finance/credit_card_member.js +15 -0
  429. package/dist/icons/finance/credit_card_outcome.js +15 -0
  430. package/dist/icons/finance/credit_card_scan.js +15 -0
  431. package/dist/icons/finance/credit_card_share.js +15 -0
  432. package/dist/icons/finance/credit_card_slash.js +15 -0
  433. package/dist/icons/finance/currency_exchange.js +15 -0
  434. package/dist/icons/finance/dollar.js +15 -0
  435. package/dist/icons/finance/ethereum.js +15 -0
  436. package/dist/icons/finance/paypass.js +15 -0
  437. package/dist/icons/finance/strongbox.js +15 -0
  438. package/dist/icons/finance/wallet.js +15 -0
  439. package/dist/icons/index.js +1095 -0
  440. package/dist/icons/layout/block_align_bottom.js +15 -0
  441. package/dist/icons/layout/block_align_center.js +15 -0
  442. package/dist/icons/layout/block_align_left.js +15 -0
  443. package/dist/icons/layout/block_align_middle.js +15 -0
  444. package/dist/icons/layout/block_align_right.js +15 -0
  445. package/dist/icons/layout/block_align_top.js +15 -0
  446. package/dist/icons/layout/block_horizontal.js +15 -0
  447. package/dist/icons/layout/block_vertical.js +15 -0
  448. package/dist/icons/layout/edit_shape.js +15 -0
  449. package/dist/icons/layout/elements.js +15 -0
  450. package/dist/icons/layout/elements_add.js +15 -0
  451. package/dist/icons/layout/elements_filled.js +15 -0
  452. package/dist/icons/layout/elements_masonry.js +15 -0
  453. package/dist/icons/layout/frame.js +15 -0
  454. package/dist/icons/layout/frame_stack.js +15 -0
  455. package/dist/icons/layout/grid.js +15 -0
  456. package/dist/icons/layout/grid_column_three.js +15 -0
  457. package/dist/icons/layout/grid_column_two.js +15 -0
  458. package/dist/icons/layout/grid_dynamic.js +15 -0
  459. package/dist/icons/layout/grid_frame.js +15 -0
  460. package/dist/icons/layout/grid_row_three.js +15 -0
  461. package/dist/icons/layout/grid_row_two.js +15 -0
  462. package/dist/icons/layout/grid_six.js +15 -0
  463. package/dist/icons/layout/grid_small.js +15 -0
  464. package/dist/icons/layout/iframe.js +15 -0
  465. package/dist/icons/layout/kanban.js +15 -0
  466. package/dist/icons/layout/layout.js +15 -0
  467. package/dist/icons/layout/list.js +15 -0
  468. package/dist/icons/layout/list_filled.js +20 -0
  469. package/dist/icons/layout/padding.js +15 -0
  470. package/dist/icons/layout/page_break.js +15 -0
  471. package/dist/icons/layout/rotate_left.js +15 -0
  472. package/dist/icons/layout/rotate_right.js +15 -0
  473. package/dist/icons/layout/ruler.js +15 -0
  474. package/dist/icons/layout/segment.js +15 -0
  475. package/dist/icons/layout/select_area.js +15 -0
  476. package/dist/icons/layout/select_boundary.js +15 -0
  477. package/dist/icons/layout/sidebar_left.js +15 -0
  478. package/dist/icons/layout/sidebar_right.js +15 -0
  479. package/dist/icons/layout/slides.js +15 -0
  480. package/dist/icons/layout/slides_horizontal.js +15 -0
  481. package/dist/icons/layout/slides_vertical.js +20 -0
  482. package/dist/icons/layout/stack.js +15 -0
  483. package/dist/icons/layout/text.js +15 -0
  484. package/dist/icons/maps/atlas.js +15 -0
  485. package/dist/icons/maps/compass.js +15 -0
  486. package/dist/icons/maps/direction.js +15 -0
  487. package/dist/icons/maps/direction_angled.js +15 -0
  488. package/dist/icons/maps/globe.js +15 -0
  489. package/dist/icons/maps/globe_slash.js +15 -0
  490. package/dist/icons/maps/location.js +15 -0
  491. package/dist/icons/maps/location_slash.js +15 -0
  492. package/dist/icons/maps/map.js +15 -0
  493. package/dist/icons/maps/marker.js +15 -0
  494. package/dist/icons/maps/panorama.js +15 -0
  495. package/dist/icons/maps/pin.js +15 -0
  496. package/dist/icons/maps/pin_arrow.js +15 -0
  497. package/dist/icons/maps/pin_location.js +15 -0
  498. package/dist/icons/maps/pin_plus.js +15 -0
  499. package/dist/icons/maps/pin_question.js +15 -0
  500. package/dist/icons/maps/pin_slash.js +15 -0
  501. package/dist/icons/maps/push_pin.js +15 -0
  502. package/dist/icons/maps/push_pin_filled.js +15 -0
  503. package/dist/icons/maps/push_pin_slash.js +15 -0
  504. package/dist/icons/maps/radar.js +15 -0
  505. package/dist/icons/maps/route.js +15 -0
  506. package/dist/icons/message/bubble.js +15 -0
  507. package/dist/icons/message/bubble_question.js +15 -0
  508. package/dist/icons/message/comment.js +15 -0
  509. package/dist/icons/message/comment_add.js +15 -0
  510. package/dist/icons/message/comment_check.js +15 -0
  511. package/dist/icons/message/comment_close.js +15 -0
  512. package/dist/icons/message/comment_minus.js +15 -0
  513. package/dist/icons/message/comment_text.js +15 -0
  514. package/dist/icons/misc/advertisement.js +15 -0
  515. package/dist/icons/misc/atom.js +15 -0
  516. package/dist/icons/misc/bone.js +15 -0
  517. package/dist/icons/misc/brightness_high.js +15 -0
  518. package/dist/icons/misc/brightness_low.js +15 -0
  519. package/dist/icons/misc/contrast.js +15 -0
  520. package/dist/icons/misc/crosshairs.js +15 -0
  521. package/dist/icons/misc/crown.js +15 -0
  522. package/dist/icons/misc/footprint.js +15 -0
  523. package/dist/icons/misc/form.js +15 -0
  524. package/dist/icons/misc/funnel.js +15 -0
  525. package/dist/icons/misc/infinite.js +15 -0
  526. package/dist/icons/misc/insert_button.js +15 -0
  527. package/dist/icons/misc/light_bulb.js +15 -0
  528. package/dist/icons/misc/moon.js +15 -0
  529. package/dist/icons/misc/nut.js +15 -0
  530. package/dist/icons/misc/planet.js +15 -0
  531. package/dist/icons/misc/plus_thick.js +15 -0
  532. package/dist/icons/misc/pocket.js +15 -0
  533. package/dist/icons/misc/rocket.js +15 -0
  534. package/dist/icons/misc/soup.js +19 -0
  535. package/dist/icons/misc/sun.js +15 -0
  536. package/dist/icons/misc/toy_horse.js +15 -0
  537. package/dist/icons/misc/trophy.js +15 -0
  538. package/dist/icons/misc/watercloset.js +15 -0
  539. package/dist/icons/notifications/alert_circle.js +15 -0
  540. package/dist/icons/notifications/alert_octogon.js +15 -0
  541. package/dist/icons/notifications/alert_triangle.js +15 -0
  542. package/dist/icons/notifications/app_notification.js +15 -0
  543. package/dist/icons/notifications/bell.js +15 -0
  544. package/dist/icons/notifications/bell_alert.js +15 -0
  545. package/dist/icons/notifications/bell_checkmark.js +15 -0
  546. package/dist/icons/notifications/bell_minus.js +15 -0
  547. package/dist/icons/notifications/bell_plus.js +15 -0
  548. package/dist/icons/notifications/bell_ring.js +17 -0
  549. package/dist/icons/notifications/bell_slash.js +15 -0
  550. package/dist/icons/notifications/information.js +15 -0
  551. package/dist/icons/notifications/minus_octogon.js +15 -0
  552. package/dist/icons/notifications/question_circle.js +15 -0
  553. package/dist/icons/people/group.js +15 -0
  554. package/dist/icons/people/group_add.js +15 -0
  555. package/dist/icons/people/group_chat.js +17 -0
  556. package/dist/icons/people/group_remove.js +15 -0
  557. package/dist/icons/people/group_send.js +16 -0
  558. package/dist/icons/people/groups.js +15 -0
  559. package/dist/icons/people/person.js +15 -0
  560. package/dist/icons/people/person_add.js +15 -0
  561. package/dist/icons/people/person_checkmark.js +15 -0
  562. package/dist/icons/people/person_circle.js +17 -0
  563. package/dist/icons/people/person_close.js +17 -0
  564. package/dist/icons/people/person_remove.js +15 -0
  565. package/dist/icons/people/person_slash.js +17 -0
  566. package/dist/icons/phone/keypad.js +15 -0
  567. package/dist/icons/phone/phone.js +15 -0
  568. package/dist/icons/phone/phone_add.js +15 -0
  569. package/dist/icons/phone/phone_calling.js +15 -0
  570. package/dist/icons/phone/phone_check.js +15 -0
  571. package/dist/icons/phone/phone_close.js +15 -0
  572. package/dist/icons/phone/phone_decline.js +15 -0
  573. package/dist/icons/phone/phone_forwarded.js +15 -0
  574. package/dist/icons/phone/phone_hash.js +15 -0
  575. package/dist/icons/phone/phone_incoming.js +15 -0
  576. package/dist/icons/phone/phone_outgoing.js +15 -0
  577. package/dist/icons/phone/phone_pause.js +15 -0
  578. package/dist/icons/phone/phone_slash.js +15 -0
  579. package/dist/icons/phone/voicemail.js +15 -0
  580. package/dist/icons/security/key.js +15 -0
  581. package/dist/icons/security/key_slash.js +15 -0
  582. package/dist/icons/security/lock.js +15 -0
  583. package/dist/icons/security/lock_circle.js +15 -0
  584. package/dist/icons/security/lock_open.js +15 -0
  585. package/dist/icons/security/lock_slash.js +15 -0
  586. package/dist/icons/security/shield.js +15 -0
  587. package/dist/icons/security/shield_checkmark.js +15 -0
  588. package/dist/icons/security/shield_lock.js +15 -0
  589. package/dist/icons/security/shield_slash.js +15 -0
  590. package/dist/icons/security/verified.js +15 -0
  591. package/dist/icons/shopping/basket.js +15 -0
  592. package/dist/icons/shopping/cart.js +15 -0
  593. package/dist/icons/shopping/cart_filled.js +15 -0
  594. package/dist/icons/shopping/coupon.js +15 -0
  595. package/dist/icons/shopping/coupon_cut.js +15 -0
  596. package/dist/icons/shopping/delivery.js +15 -0
  597. package/dist/icons/shopping/discount.js +15 -0
  598. package/dist/icons/shopping/gift.js +15 -0
  599. package/dist/icons/shopping/gift_bag.js +15 -0
  600. package/dist/icons/shopping/inventory.js +15 -0
  601. package/dist/icons/shopping/point_of_sale.js +15 -0
  602. package/dist/icons/shopping/shirt.js +15 -0
  603. package/dist/icons/shopping/tag.js +15 -0
  604. package/dist/icons/shopping/tag_diagonal.js +15 -0
  605. package/dist/icons/shopping/tote.js +15 -0
  606. package/dist/icons/special/upload_audio.js +20 -0
  607. package/dist/icons/special/upload_file.js +15 -0
  608. package/dist/icons/special/upload_image.js +17 -0
  609. package/dist/icons/special/upload_video.js +18 -0
  610. package/dist/icons/symbols/at.js +15 -0
  611. package/dist/icons/symbols/cc.js +15 -0
  612. package/dist/icons/symbols/cmd.js +15 -0
  613. package/dist/icons/symbols/facebook.js +15 -0
  614. package/dist/icons/symbols/google.js +18 -0
  615. package/dist/icons/symbols/hash.js +15 -0
  616. package/dist/icons/symbols/instagram.js +27 -0
  617. package/dist/icons/symbols/messenger.js +21 -0
  618. package/dist/icons/symbols/twitter.js +15 -0
  619. package/dist/icons/technology/battery.js +15 -0
  620. package/dist/icons/technology/battery_100.js +15 -0
  621. package/dist/icons/technology/battery_20.js +15 -0
  622. package/dist/icons/technology/battery_40.js +15 -0
  623. package/dist/icons/technology/battery_60.js +15 -0
  624. package/dist/icons/technology/battery_80.js +15 -0
  625. package/dist/icons/technology/battery_charging.js +15 -0
  626. package/dist/icons/technology/battery_slash.js +15 -0
  627. package/dist/icons/technology/devices.js +15 -0
  628. package/dist/icons/technology/floppy_disk.js +15 -0
  629. package/dist/icons/technology/iphone.js +15 -0
  630. package/dist/icons/technology/laptop.js +15 -0
  631. package/dist/icons/technology/mobile.js +15 -0
  632. package/dist/icons/technology/monitor.js +15 -0
  633. package/dist/icons/technology/server.js +15 -0
  634. package/dist/icons/technology/sim_card.js +15 -0
  635. package/dist/icons/technology/usb_stick.js +15 -0
  636. package/dist/icons/text/align_center.js +15 -0
  637. package/dist/icons/text/align_justified.js +15 -0
  638. package/dist/icons/text/align_left.js +15 -0
  639. package/dist/icons/text/align_right.js +15 -0
  640. package/dist/icons/text/code_block.js +15 -0
  641. package/dist/icons/text/divider.js +15 -0
  642. package/dist/icons/text/footnote.js +17 -0
  643. package/dist/icons/text/indent_decrease.js +15 -0
  644. package/dist/icons/text/indent_increase.js +15 -0
  645. package/dist/icons/text/list_ordered.js +15 -0
  646. package/dist/icons/text/list_unordered.js +15 -0
  647. package/dist/icons/text/quote.js +15 -0
  648. package/dist/icons/text/table.js +15 -0
  649. package/dist/icons/time/alarm.js +15 -0
  650. package/dist/icons/time/alarm_checkmark.js +15 -0
  651. package/dist/icons/time/alarm_minus.js +15 -0
  652. package/dist/icons/time/alarm_plus.js +15 -0
  653. package/dist/icons/time/alarm_slash.js +15 -0
  654. package/dist/icons/time/alarm_snooze.js +15 -0
  655. package/dist/icons/time/calendar.js +15 -0
  656. package/dist/icons/time/calendar_add.js +15 -0
  657. package/dist/icons/time/calendar_checkmark.js +15 -0
  658. package/dist/icons/time/calendar_close.js +15 -0
  659. package/dist/icons/time/calendar_dates.js +15 -0
  660. package/dist/icons/time/calendar_minus.js +15 -0
  661. package/dist/icons/time/calendar_plus.js +15 -0
  662. package/dist/icons/time/calendar_scroll.js +17 -0
  663. package/dist/icons/time/clock.js +15 -0
  664. package/dist/icons/time/clock_history.js +15 -0
  665. package/dist/icons/time/stopwatch.js +15 -0
  666. package/dist/icons/time/timer.js +15 -0
  667. package/dist/icons/time/watch.js +15 -0
  668. package/dist/index.js +112 -11878
  669. package/dist/utils/date.js +73 -0
  670. package/dist/utils/function.js +5 -0
  671. package/package.json +1 -1
@@ -0,0 +1,237 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+ var box = require('../../atoms/box/box.js');
7
+ var checkbox = require('../../input/checkbox/checkbox.js');
8
+ var paragraph = require('../../atoms/typography/paragraph.js');
9
+
10
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
11
+
12
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
13
+
14
+ const Dropdown = ({ checkbox, children, closeOnChange = true, closeOnBlur = true, defaultValue = '', disabled = false, hasArrow, maintainState = true, multiple, offset = [0, 16], onChange, open: openDirection = 'right', options, sx, trigger, containerSx, additionalOptions, additionalOnChange, defaultAdditionalValue, useFullWidth = false, ...rest }) => {
15
+ const id = React__default.default.useId();
16
+ const wrapperRef = React__default.default.useRef(null);
17
+ const optionsRef = React__default.default.useRef(null);
18
+ const [open, setOpen] = React__default.default.useState(false);
19
+ const [selected, setSelected] = React__default.default.useState(() => defaultValue ? defaultValue : multiple ? [] : '');
20
+ const [additionalSelected, setAdditionalSelected] = React__default.default.useState(defaultAdditionalValue || '');
21
+ React__default.default.useEffect(() => {
22
+ if (disabled) {
23
+ setOpen(false);
24
+ }
25
+ }, [disabled]);
26
+ const handleOpen = () => {
27
+ if (disabled) {
28
+ return;
29
+ }
30
+ setOpen((prev) => !prev);
31
+ };
32
+ const handleBlur = (event) => {
33
+ if (closeOnBlur &&
34
+ wrapperRef?.current &&
35
+ !wrapperRef?.current?.contains(event.relatedTarget)) {
36
+ setOpen(false);
37
+ }
38
+ };
39
+ const handleChangeSingle = (event) => {
40
+ event.stopPropagation();
41
+ const value = event.target.getAttribute('data-value') ?? '';
42
+ if (selected !== value) {
43
+ setSelected(value);
44
+ }
45
+ else {
46
+ setSelected('');
47
+ }
48
+ if (closeOnChange) {
49
+ setOpen(false);
50
+ }
51
+ if (onChange)
52
+ onChange(event);
53
+ };
54
+ const handleChangeMultiple = (event) => {
55
+ event.stopPropagation();
56
+ const value = event.target.getAttribute('data-value') ?? '';
57
+ if (Array.isArray(selected) && selected.includes(value)) {
58
+ setSelected((prev) => prev.filter((item) => item !== value));
59
+ }
60
+ else {
61
+ setSelected((prev) => [value, ...prev]);
62
+ }
63
+ if (closeOnChange) {
64
+ setOpen(false);
65
+ }
66
+ if (onChange)
67
+ onChange(event);
68
+ };
69
+ const handleChange = multiple ? handleChangeMultiple : handleChangeSingle;
70
+ const handleAdditionalChange = (event) => {
71
+ event.stopPropagation();
72
+ const value = event.target.getAttribute('data-value') ?? '';
73
+ if (additionalSelected !== value) {
74
+ setAdditionalSelected(value);
75
+ }
76
+ else {
77
+ setAdditionalSelected('');
78
+ }
79
+ if (additionalOnChange)
80
+ additionalOnChange(value);
81
+ };
82
+ const isSelected = (value) => maintainState && (multiple ? selected.includes(value) : value === selected);
83
+ /**
84
+ * allow for the API to accept children as options
85
+ * or options prop
86
+ */
87
+ let dropdownOptions = null;
88
+ if (children) {
89
+ dropdownOptions = React__default.default.Children.map(children, (child) => {
90
+ let props;
91
+ if (React__default.default.isValidElement(child)) {
92
+ // eslint ignore is okay bc deconstruction removes field
93
+ // eslint-disable-next-line
94
+ const { onClick, ...possibleProps } = child.props;
95
+ props = possibleProps;
96
+ return (React__default.default.createElement(Option, { key: props.value, checkbox: !!checkbox, onClick: handleChange, selected: isSelected(props.value), ...props }));
97
+ }
98
+ else {
99
+ return null;
100
+ }
101
+ });
102
+ }
103
+ if (options) {
104
+ dropdownOptions = options.map((option, index) => {
105
+ if (typeof option === 'string' && option === 'break')
106
+ return React__default.default.createElement(Spacer, { key: `${id}-spacer-${index}` });
107
+ return (React__default.default.createElement(Option, { key: option.value, checkbox: !!checkbox, onClick: handleChange, selected: isSelected(option.value), ...option }));
108
+ });
109
+ }
110
+ return (React__default.default.createElement(Wrapper, { "$sx": sx, tabIndex: 0, ref: wrapperRef, onBlurCapture: handleBlur, ...rest },
111
+ React__default.default.cloneElement(trigger, typeof trigger.type === 'string' ||
112
+ (trigger.type?.displayName !== 'Button' &&
113
+ trigger.type?.name !== 'Button')
114
+ ? { onClick: handleOpen }
115
+ : { isDropdownOpen: open, onClick: handleOpen }),
116
+ open && (React__default.default.createElement(Container, { "$hasArrow": hasArrow, "$offset": offset, "$openDirection": openDirection, ref: optionsRef, "$sx": containerSx, "$useFullWidth": useFullWidth },
117
+ React__default.default.createElement("div", { style: { display: 'flex' } },
118
+ React__default.default.createElement("div", { style: {
119
+ display: 'flex',
120
+ flexDirection: 'column',
121
+ width: '100%',
122
+ } }, dropdownOptions),
123
+ !!additionalOptions?.length && (React__default.default.createElement("div", { style: { display: 'flex', flexDirection: 'column' } }, additionalOptions.map((additionalOption) => (React__default.default.createElement(Option, { key: additionalOption.value, onClick: handleAdditionalChange, selected: additionalSelected === additionalOption.value, label: additionalOption.label, value: additionalOption.value }))))))))));
124
+ };
125
+ const Wrapper = styled.styled.div `
126
+ position: relative;
127
+ display: block;
128
+ outline: none;
129
+ ${({ $sx }) => ($sx ? $sx : '')}
130
+ `;
131
+ const Container = styled.styled.div `
132
+ z-index: 1;
133
+ background-color: var(--color-white);
134
+ position: absolute;
135
+ ${({ $useFullWidth }) => $useFullWidth ? 'width: 100%;' : 'width: max-content;'}
136
+ z-index: 100;
137
+ outline: none;
138
+ cursor: pointer;
139
+ box-shadow: var(--elevation-2);
140
+ border-radius: 8px;
141
+ overflow: auto;
142
+
143
+ & > div:first-of-type {
144
+ border-radius: 8px 8px 0px 0px;
145
+ }
146
+
147
+ & > div:last-of-type {
148
+ border-radius: 0px 0px 8px 8px;
149
+ }
150
+
151
+ ${({ $sx }) => ($sx ? $sx : '')}
152
+
153
+ ${({ $openDirection }) => ($openDirection === 'left' ? 'right: 100%;' : '')}
154
+
155
+ ${({ $hasArrow, $offset }) => $hasArrow
156
+ ? `
157
+ &:before {
158
+ content: '';
159
+ position: absolute;
160
+ width: 15px;
161
+ height: 15px;
162
+ transform: rotate(45deg) translate(${($offset?.[0] || 0) + 8}px, ${($offset?.[1] || 0) - 32}px);
163
+ background-color: var(--color-white);
164
+ }
165
+ `
166
+ : ''}
167
+ ${({ $offset }) => $offset ? `transform: translate(${$offset[0]}px, ${$offset[1]}px);` : ''}
168
+ `;
169
+ const Option = ({ checkbox: checkbox$1, disabled, icon, label, onClick, selected, sublabel, sx, value, color, }) => {
170
+ return (React__default.default.createElement(OptionWrapper, { "data-value": value, onClick: !disabled ? onClick : undefined, "$disabled": disabled, "$hasCheckbox": !!checkbox$1, "$hasSublabel": !!sublabel, "$selected": selected, "$sx": sx },
171
+ checkbox$1 ? React__default.default.createElement(checkbox.Checkbox, { selected: selected }) : icon,
172
+ React__default.default.createElement(box.Box, { "$dir": "column", "$display": "flex" },
173
+ label && (React__default.default.createElement(paragraph.P, { "$color": color || 'grey-4', "$fontSize": 14, "$lineHeight": 20, "$mediumBold": true, "$textClampLines": 1 }, label)),
174
+ sublabel && (React__default.default.createElement(paragraph.P, { "$color": "grey-4", "$fontSize": 12, "$lineHeight": 16, "$textClampLines": 1 }, sublabel)))));
175
+ };
176
+ Option.displayName = 'Dropdown.Option';
177
+ Dropdown.Option = Option;
178
+ const OptionWrapper = styled.styled.div `
179
+ position: relative;
180
+ z-index: 1;
181
+ padding: ${({ $hasSublabel }) => ($hasSublabel ? 10 : 12)}px 16px;
182
+ user-select: none;
183
+ display: flex;
184
+ align-items: center;
185
+ gap: 8px;
186
+
187
+ & > * {
188
+ pointer-events: none;
189
+ }
190
+
191
+ ${({ $disabled, $selected, $hasCheckbox }) => {
192
+ if ($disabled) {
193
+ return `cursor: initial;
194
+ color: var(--color-grey-7);
195
+ background-color: var(--color-grey-10);`;
196
+ }
197
+ if ($hasCheckbox) {
198
+ return `&:hover {
199
+ background-color: var(--color-grey-10);
200
+ }`;
201
+ }
202
+ if ($selected) {
203
+ return `
204
+ background-color: var(--color-grey-9);
205
+ &:active {
206
+ background-color: var(--color-grey-8);
207
+ }`;
208
+ }
209
+ return `
210
+ &:hover {
211
+ background-color: var(--color-grey-10);
212
+ }
213
+
214
+ &:active {
215
+ background-color: var(--color-grey-8);
216
+ }
217
+ `;
218
+ }}
219
+ ${({ $sx }) => ($sx ? $sx : '')}
220
+ `;
221
+ const Spacer = ({ sx }) => {
222
+ return React__default.default.createElement(SpacerWrapper, { "$sx": sx });
223
+ };
224
+ Spacer.displayName = 'Dropdown.Spacer';
225
+ Dropdown.Spacer = Spacer;
226
+ const SpacerWrapper = styled.styled.div `
227
+ width: 100%;
228
+ height: 1px;
229
+ background-color: var(--color-grey-8);
230
+
231
+ &:hover {
232
+ appearance: none;
233
+ }
234
+ ${({ $sx }) => ($sx ? $sx : '')}
235
+ `;
236
+
237
+ exports.Dropdown = Dropdown;
@@ -0,0 +1,56 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+
7
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
10
+
11
+ const SM_WIDTH = 98;
12
+ const LG_WIDTH = 147;
13
+ const SM_HEIGHT = 16;
14
+ const LG_HEIGHT = 24;
15
+ const Rate = ({ isRateable = true, onRate, percent, size, userRating, }) => {
16
+ const componentId = React__default.default.useId();
17
+ const ref = React__default.default.useRef(null);
18
+ const [hoveredRating, setHoveredRating] = React__default.default.useState();
19
+ const width = size === 'small' ? SM_WIDTH : LG_WIDTH;
20
+ const height = size === 'small' ? SM_HEIGHT : LG_HEIGHT;
21
+ const displayPercent = hoveredRating
22
+ ? hoveredRating * 20
23
+ : userRating
24
+ ? userRating * 20
25
+ : percent;
26
+ const handleMouseOver = (event) => {
27
+ if (isRateable && ref?.current) {
28
+ const elementWidth = size === 'small' ? SM_WIDTH : LG_WIDTH;
29
+ const position = event.clientX - ref.current.offsetLeft;
30
+ const star = Math.floor((5 * position) / elementWidth) + 1;
31
+ setHoveredRating(star);
32
+ }
33
+ };
34
+ const handleMouseOut = () => {
35
+ setHoveredRating(undefined);
36
+ };
37
+ const handleClick = () => {
38
+ if (isRateable && onRate && hoveredRating !== undefined) {
39
+ onRate(hoveredRating);
40
+ }
41
+ };
42
+ return (React__default.default.createElement("div", { ref: ref },
43
+ React__default.default.createElement(SVG, { "$gradientId": componentId, width: width, height: height, onMouseOver: handleMouseOver, onMouseOut: handleMouseOut, onClick: handleClick, viewBox: "0 0 98 16", xmlns: "http://www.w3.org/2000/svg" },
44
+ React__default.default.createElement("path", { 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", stroke: "#D0D2D6", strokeWidth: "0.42154" }),
45
+ React__default.default.createElement("defs", null,
46
+ React__default.default.createElement("linearGradient", { id: componentId },
47
+ React__default.default.createElement("stop", { offset: "0%", stopColor: "#FFB51F" }),
48
+ React__default.default.createElement("stop", { offset: `${displayPercent}%`, stopColor: "#FF870A" }),
49
+ React__default.default.createElement("stop", { offset: `${displayPercent}%`, stopColor: "#FFFFFF" }))))));
50
+ };
51
+ const SVG = styled.styled.svg `
52
+ fill: url(#${({ $gradientId }) => $gradientId});
53
+ cursor: ${({ $isRateable }) => ($isRateable ? 'pointer' : 'initial')};
54
+ `;
55
+
56
+ exports.Rate = Rate;
@@ -0,0 +1,81 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+
7
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
10
+
11
+ const Switch = ({ children, disabled, onChange, value, }) => {
12
+ return (React__default.default.createElement(Wrapper, null, React__default.default.Children.map(children, (child) => {
13
+ if (!React__default.default.isValidElement(child))
14
+ return;
15
+ return React__default.default.cloneElement(child, {
16
+ ...child.props,
17
+ disabled: disabled,
18
+ active: value === child.props?.value,
19
+ key: child.key,
20
+ onClick: onChange,
21
+ });
22
+ })));
23
+ };
24
+ const Wrapper = styled.styled.div `
25
+ display: flex;
26
+ flex-flow: row nowrap;
27
+ padding: 6px;
28
+ border-radius: 8px;
29
+ border: 1px solid var(--color-grey-8);
30
+ background-color: var(--color-grey-10);
31
+ `;
32
+ const SwitchItem = ({ active, children, disabled, icon, onClick, value, }) => {
33
+ return (React__default.default.createElement(Item, { "$active": !!active, disabled: disabled, onClick: onClick, value: value },
34
+ icon && React__default.default.cloneElement(icon, { size: 24, color: 'grey-6' }),
35
+ children));
36
+ };
37
+ const Item = styled.styled.button `
38
+ width: 154px;
39
+ height: 36px;
40
+ display: flex;
41
+ justify-content: center;
42
+ align-items: center;
43
+ gap: 8px;
44
+ font-family: var(--font-inter);
45
+ font-weight: 500;
46
+ font-size: 16px;
47
+ line-height: 24px;
48
+ border: none;
49
+ cursor: pointer;
50
+ letter-spacing: -0.176px;
51
+
52
+ svg {
53
+ pointer-events: none;
54
+ }
55
+
56
+ ${({ $active }) => $active
57
+ ? `
58
+ color: var(--color-primary-blue-2);
59
+ background-color: var(--color-white);
60
+ border-radius: 4px;
61
+ box-shadow: var(--elevation-1);
62
+
63
+ &:disabled {
64
+ color: var(--color-grey-7);
65
+ background-color: var(--color-grey-10);
66
+ border: 1px solid var(--color-grey-8);
67
+ box-shadow: none;
68
+ }`
69
+ : `
70
+ color: var(--color-grey-6);`}
71
+
72
+ &:disabled {
73
+ color: var(--color-grey-7);
74
+ cursor: initial;
75
+ background-color: var(--color-grey-10);
76
+ }
77
+ `;
78
+ Switch.Item = SwitchItem;
79
+ SwitchItem.displayName = 'Switch.Item';
80
+
81
+ exports.Switch = Switch;
@@ -0,0 +1,67 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+ var box = require('../../atoms/box/box.js');
7
+ var paragraph = require('../../atoms/typography/paragraph.js');
8
+
9
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
10
+
11
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
12
+
13
+ const Toggle = ({ checked, label, onChange }) => {
14
+ const status = checked === undefined ? 'indeterminate' : checked ? 'checked' : 'unchecked';
15
+ return (React__default.default.createElement(box.Box, { "$align": "center", "$gap": 8 },
16
+ React__default.default.createElement(Wrapper, { as: "label", onChange: onChange },
17
+ React__default.default.createElement(Input, { checked: !!checked, readOnly: true, type: "checkbox" }),
18
+ React__default.default.createElement(Slider, { "$status": status })),
19
+ label && React__default.default.createElement(paragraph.P, { "$fontSize": 14 }, label)));
20
+ };
21
+ const Wrapper = styled.styled.label `
22
+ width: 28px;
23
+ height: 16px;
24
+ position: relative;
25
+ display: inline-block;
26
+ `;
27
+ const Input = styled.styled.input `
28
+ opacity: 0;
29
+ width: 0;
30
+ height: 0;
31
+ `;
32
+ const Slider = styled.styled.span `
33
+ position: absolute;
34
+ cursor: pointer;
35
+ top: 0px;
36
+ bottom: 0px;
37
+ right: 0px;
38
+ left: 0px;
39
+ border-radius: 18px;
40
+ ${({ $status }) => $status === 'checked'
41
+ ? `
42
+ background-color: var(--color-primary-blue-2);
43
+ &:before {
44
+ transform: translateX(12px);
45
+ }`
46
+ : $status === 'unchecked'
47
+ ? 'background-color: var(--color-grey-8);'
48
+ : `
49
+ background-color: var(--color-yellow-5);
50
+ &:before {
51
+ transform: translateX(6px);
52
+ }
53
+ `}
54
+
55
+ &:before {
56
+ position: absolute;
57
+ content: '';
58
+ height: 12px;
59
+ width: 12px;
60
+ left: 2px;
61
+ bottom: 2px;
62
+ background-color: var(--color-white);
63
+ border-radius: 50%;
64
+ }
65
+ `;
66
+
67
+ exports.Toggle = Toggle;
@@ -0,0 +1,170 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+ var colors = require('../../../common/colors.js');
7
+ var box = require('../../atoms/box/box.js');
8
+ var button = require('../button/button.js');
9
+ var paragraph = require('../../atoms/typography/paragraph.js');
10
+ var upload_audio = require('../../../icons/special/upload_audio.js');
11
+ var upload_file = require('../../../icons/special/upload_file.js');
12
+ var upload_image = require('../../../icons/special/upload_image.js');
13
+ var upload_video = require('../../../icons/special/upload_video.js');
14
+
15
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
16
+
17
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
18
+
19
+ const Upload = ({ background = 'hue-blue-3', borderColor = 'hue-blue-2', children, iconColor = 'primary-blue-2', multiple, onDrop, size = 'large', subtext, text, type, height, }) => {
20
+ const filesRef = React__default.default.useRef(null);
21
+ const [draggingOver, setDraggingOver] = React__default.default.useState(false);
22
+ const fileTypeLookup = {
23
+ video: 'video/*',
24
+ audio: 'audio/*',
25
+ image: 'image/*',
26
+ file: '.xlsx, .xls, .doc, .docx, .ppt, .pptx, .txt, .pdf, application/msword, application/vnd.ms-excel, application/vnd.ms-powerpoint, text/plain, application/pdf,',
27
+ };
28
+ const heightLookup = {
29
+ audio: {
30
+ icon: {
31
+ 'fit-content': 28,
32
+ large: 28,
33
+ small: 28,
34
+ },
35
+ height: {
36
+ 'fit-content': 281,
37
+ large: 281,
38
+ small: 75,
39
+ },
40
+ },
41
+ file: {
42
+ icon: {
43
+ 'fit-content': 68,
44
+ large: 68,
45
+ small: 57,
46
+ },
47
+ height: {
48
+ 'fit-content': 281,
49
+ large: 281,
50
+ small: 75,
51
+ },
52
+ },
53
+ image: {
54
+ icon: {
55
+ 'fit-content': 162,
56
+ large: 162,
57
+ small: 57,
58
+ },
59
+ height: {
60
+ 'fit-content': 281,
61
+ large: 281,
62
+ small: 75,
63
+ },
64
+ },
65
+ video: {
66
+ icon: {
67
+ 'fit-content': 140,
68
+ large: 140,
69
+ small: 57,
70
+ },
71
+ height: {
72
+ 'fit-content': 336,
73
+ large: 562,
74
+ small: 75,
75
+ },
76
+ },
77
+ };
78
+ const iconProps = {
79
+ color: iconColor,
80
+ size: heightLookup[type].icon[size],
81
+ };
82
+ const iconLookup = {
83
+ audio: React__default.default.createElement(upload_audio.UploadAudio, { ...iconProps }),
84
+ file: React__default.default.createElement(upload_file.UploadFile, { ...iconProps }),
85
+ image: React__default.default.createElement(upload_image.UploadImage, { ...iconProps }),
86
+ video: React__default.default.createElement(upload_video.UploadVideo, { ...iconProps }),
87
+ };
88
+ const handleDragOver = (event) => {
89
+ event.preventDefault();
90
+ setDraggingOver(true);
91
+ };
92
+ const handleDragLeave = (event) => {
93
+ event.preventDefault();
94
+ setDraggingOver(false);
95
+ };
96
+ const handleDrop = (event) => {
97
+ event.preventDefault();
98
+ setDraggingOver(false);
99
+ const files = event.dataTransfer.files;
100
+ const dataTransfer = new DataTransfer();
101
+ for (let i = 0; i < files.length; i++) {
102
+ const file = files.item(i);
103
+ if (file !== null) {
104
+ dataTransfer.items.add(file);
105
+ }
106
+ }
107
+ const fileInput = filesRef.current;
108
+ if (fileInput !== null) {
109
+ fileInput.files = dataTransfer.files;
110
+ if (onDrop) {
111
+ onDrop(fileInput.files);
112
+ }
113
+ }
114
+ };
115
+ const handleFileChange = () => {
116
+ const fileInput = filesRef.current;
117
+ if (fileInput !== null) {
118
+ if (onDrop && fileInput.files && fileInput.files.length) {
119
+ onDrop(fileInput.files);
120
+ }
121
+ }
122
+ };
123
+ const removeFileFromState = () => {
124
+ if (filesRef.current)
125
+ filesRef.current.value = '';
126
+ };
127
+ return (React__default.default.createElement(React__default.default.Fragment, null,
128
+ React__default.default.createElement(Wrapper, { "$background": background, "$borderColor": borderColor, "$draggingOver": draggingOver, "$height": height || heightLookup[type].height[size], "$size": size, onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop },
129
+ React__default.default.createElement(box.Box, { "$align": "center", "$borderRadius": "medium", "$dir": "column", "$display": "flex", "$gap": 16, "$justify": "center", sx: "height: 100%; width: 100%; svg { flex-shrink: 0; };" },
130
+ iconLookup[type],
131
+ size !== 'small' && (React__default.default.createElement(box.Box, { "$align": "center", "$dir": "column", "$display": "flex", "$gap": 8, "$justify": "center", sx: "width: 100%;" },
132
+ React__default.default.createElement(paragraph.P, { "$textAlign": "center", sx: "width: 100%;" },
133
+ text,
134
+ React__default.default.createElement(button.Button, { onClick: () => filesRef.current?.click(), size: "small", sx: "display: inline;", type: "text" }, "Browse")),
135
+ React__default.default.createElement(paragraph.P, { "$textAlign": "center", sx: "width: 100%;" }, subtext))),
136
+ React__default.default.createElement(Input, { "data-testid": "dropzone-upload-input", ref: filesRef, type: "file", multiple: multiple, accept: fileTypeLookup[type], name: "Files", onChange: handleFileChange }))),
137
+ React__default.default.Children.map(children, (child) => {
138
+ if (React__default.default.isValidElement(child)) {
139
+ return React__default.default.cloneElement(child, {
140
+ handleUpload: () => filesRef.current?.click(),
141
+ removeFileFromState,
142
+ });
143
+ }
144
+ return child;
145
+ })));
146
+ };
147
+ const Wrapper = styled.styled.div `
148
+ box-sizing: border-box;
149
+ width: ${({ $size }) => $size === 'large'
150
+ ? '100%'
151
+ : $size === 'fit-content'
152
+ ? 'fit-content'
153
+ : '134px'};
154
+ height: ${({ $height }) => $height}px;
155
+ padding: ${({ $size }) => $size === 'large'
156
+ ? '64px 32px'
157
+ : $size === 'fit-content'
158
+ ? '64px 16px'
159
+ : 'initial'};
160
+ background-color: ${({ $background }) => colors.COLORS.includes($background)
161
+ ? `var(--color-${$background})`
162
+ : $background};
163
+ border: 2px dashed var(--color-${({ $borderColor }) => $borderColor});
164
+ border-radius: ${({ $size }) => ($size === 'large' ? '16px' : '8px')};
165
+ `;
166
+ const Input = styled.styled.input `
167
+ display: none;
168
+ `;
169
+
170
+ exports.Upload = Upload;
@@ -0,0 +1,26 @@
1
+ "use client";
2
+ 'use strict';
3
+
4
+ var React = require('react');
5
+ var styled = require('styled-components');
6
+ var styles = require('../../../common/styles.js');
7
+
8
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
9
+
10
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
11
+
12
+ const Box = ({ $display = 'flex', sx, ...args }) => (React__default.default.createElement(Component, { "$display": $display, "$sx": sx, ...args }));
13
+ const Component = styled.styled.div `
14
+ ${({ $display }) => ($display === 'flex' ? 'display: flex;' : '')}
15
+ ${styles.Styles.flex}
16
+ ${styles.Styles.backgroundColor}
17
+ ${styles.Styles.borderRadius}
18
+ ${styles.Styles.elevation}
19
+ ${styles.Styles.margin}
20
+ ${styles.Styles.padding}
21
+ ${styles.Styles.styleable}
22
+ ${({ $sx }) => ($sx ? $sx : '')}
23
+ `;
24
+
25
+ exports.Box = Box;
26
+ exports.Component = Component;
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+
5
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e : { default: e }; }
6
+
7
+ var React__default = /*#__PURE__*/_interopDefaultCompat(React);
8
+
9
+ const HideButRender = ({ children, displaceContent = false, show = false, styles, }) => {
10
+ return (React__default.default.createElement("div", { style: {
11
+ visibility: show ? 'visible' : 'hidden',
12
+ position: displaceContent || show ? 'initial' : 'absolute',
13
+ zIndex: show ? 'initial' : -100,
14
+ ...styles,
15
+ } }, children));
16
+ };
17
+
18
+ exports.HideButRender = HideButRender;