@weing-dev/ui-kit-primitive 0.0.0 → 0.0.2

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 (495) hide show
  1. package/dist/App.d.ts +2 -0
  2. package/dist/components/Accordion/Accordion.context.d.ts +24 -0
  3. package/dist/components/Accordion/Accordion.d.ts +24 -0
  4. package/dist/components/Avatar/Avatar.d.ts +35 -0
  5. package/dist/components/Badge/Badge.d.ts +17 -0
  6. package/dist/components/BarCode/BarCode.d.ts +13 -0
  7. package/dist/components/Breadcrumb/Breadcrumb.d.ts +33 -0
  8. package/dist/components/Button/Button.colors.d.ts +295 -0
  9. package/dist/components/Button/Button.context.d.ts +22 -0
  10. package/dist/components/Button/Button.d.ts +24 -0
  11. package/dist/components/Button/Button.type.d.ts +10 -0
  12. package/dist/components/Calendar/Calendar.context.d.ts +56 -0
  13. package/dist/components/Calendar/Calendar.d.ts +72 -0
  14. package/dist/components/Calendar/dayjs.util.d.ts +99 -0
  15. package/dist/components/Cascader/Cacader.data.d.ts +6 -0
  16. package/dist/components/Cascader/Cascader.context.d.ts +31 -0
  17. package/dist/components/Cascader/Cascader.d.ts +54 -0
  18. package/dist/components/Cascader/Cascader.hook.d.ts +95 -0
  19. package/dist/components/Chart/Chart.d.ts +19 -0
  20. package/dist/components/Chips/Chips.colors.d.ts +171 -0
  21. package/dist/components/Chips/Chips.d.ts +16 -0
  22. package/dist/components/Comment/Comment.d.ts +21 -0
  23. package/dist/components/Dialog/Dialog.d.ts +2 -0
  24. package/dist/components/Divider/Divider.d.ts +13 -0
  25. package/dist/components/Editor/Editor.context.d.ts +8 -0
  26. package/dist/components/Editor/Editor.d.ts +16 -0
  27. package/dist/components/Form/CheckBox/CheckBox.context.d.ts +28 -0
  28. package/dist/components/Form/CheckBox/CheckBox.d.ts +33 -0
  29. package/dist/components/Form/CheckBox/Checkbox.colors.d.ts +33 -0
  30. package/dist/components/Form/Dropdown/Dropdown.colors.d.ts +114 -0
  31. package/dist/components/Form/Dropdown/Dropdown.context.d.ts +47 -0
  32. package/dist/components/Form/Dropdown/Dropdown.d.ts +59 -0
  33. package/dist/components/Form/OTPInput/OTPInput.context.d.ts +16 -0
  34. package/dist/components/Form/OTPInput/OTPInput.d.ts +15 -0
  35. package/dist/components/Form/Radio/Radio.colors.d.ts +33 -0
  36. package/dist/components/Form/Radio/Radio.context.d.ts +26 -0
  37. package/dist/components/Form/Radio/Radio.d.ts +30 -0
  38. package/dist/components/Form/Switch/Switch.colors.d.ts +33 -0
  39. package/dist/components/Form/Switch/Switch.context.d.ts +24 -0
  40. package/dist/components/Form/Switch/Switch.d.ts +28 -0
  41. package/dist/components/Form/TextArea/TextArea.colors.d.ts +67 -0
  42. package/dist/components/Form/TextArea/TextArea.context.d.ts +45 -0
  43. package/dist/components/Form/TextArea/TextArea.d.ts +37 -0
  44. package/dist/components/Form/TextInput/TextInput.colors.d.ts +67 -0
  45. package/dist/components/Form/TextInput/TextInput.context.d.ts +52 -0
  46. package/dist/components/Form/TextInput/TextInput.d.ts +33 -0
  47. package/dist/components/GlobalStyle/GlobalStyle.d.ts +2 -0
  48. package/dist/components/HelperText/HelperText.d.ts +28 -0
  49. package/dist/components/Icon/Icon.d.ts +13 -0
  50. package/dist/components/Icons/Add.d.ts +3 -0
  51. package/dist/components/Icons/AddAPhoto.d.ts +3 -0
  52. package/dist/components/Icons/ApprovalInactive.d.ts +3 -0
  53. package/dist/components/Icons/ArrowRight.d.ts +3 -0
  54. package/dist/components/Icons/AttachFile.d.ts +3 -0
  55. package/dist/components/Icons/Cancle.d.ts +3 -0
  56. package/dist/components/Icons/CancleFilled.d.ts +3 -0
  57. package/dist/components/Icons/Cart.d.ts +3 -0
  58. package/dist/components/Icons/CartFilled.d.ts +3 -0
  59. package/dist/components/Icons/Check.d.ts +3 -0
  60. package/dist/components/Icons/CheckBoxRound.d.ts +3 -0
  61. package/dist/components/Icons/CheckCircle.d.ts +3 -0
  62. package/dist/components/Icons/Close.d.ts +3 -0
  63. package/dist/components/Icons/Company.d.ts +3 -0
  64. package/dist/components/Icons/Download.d.ts +3 -0
  65. package/dist/components/Icons/DragHandle.d.ts +3 -0
  66. package/dist/components/Icons/Eco.d.ts +3 -0
  67. package/dist/components/Icons/EditSquare.d.ts +3 -0
  68. package/dist/components/Icons/Error.d.ts +3 -0
  69. package/dist/components/Icons/ErrorFilled.d.ts +3 -0
  70. package/dist/components/Icons/ExpandAll.d.ts +3 -0
  71. package/dist/components/Icons/ExpandLess.d.ts +3 -0
  72. package/dist/components/Icons/ExpandMore.d.ts +3 -0
  73. package/dist/components/Icons/Factory.d.ts +3 -0
  74. package/dist/components/Icons/FileUpload.d.ts +3 -0
  75. package/dist/components/Icons/FilecheckInactive.d.ts +3 -0
  76. package/dist/components/Icons/GoBefore.d.ts +3 -0
  77. package/dist/components/Icons/GoNext.d.ts +3 -0
  78. package/dist/components/Icons/HamburgerMenu.d.ts +3 -0
  79. package/dist/components/Icons/ImagecheckPlay.d.ts +3 -0
  80. package/dist/components/Icons/Inventory.d.ts +3 -0
  81. package/dist/components/Icons/KakaoTalk.d.ts +3 -0
  82. package/dist/components/Icons/ListAll.d.ts +3 -0
  83. package/dist/components/Icons/LocalShipping.d.ts +3 -0
  84. package/dist/components/Icons/Logout.d.ts +3 -0
  85. package/dist/components/Icons/Menu.d.ts +3 -0
  86. package/dist/components/Icons/Minus.d.ts +3 -0
  87. package/dist/components/Icons/ModeEdit.d.ts +3 -0
  88. package/dist/components/Icons/More.d.ts +3 -0
  89. package/dist/components/Icons/Naver.d.ts +3 -0
  90. package/dist/components/Icons/NaverBlog.d.ts +3 -0
  91. package/dist/components/Icons/OrderApprove.d.ts +3 -0
  92. package/dist/components/Icons/OrderInactive.d.ts +3 -0
  93. package/dist/components/Icons/OrderPlay.d.ts +3 -0
  94. package/dist/components/Icons/Outward.d.ts +3 -0
  95. package/dist/components/Icons/PayApprove.d.ts +3 -0
  96. package/dist/components/Icons/PayInactive.d.ts +3 -0
  97. package/dist/components/Icons/Personcard.d.ts +3 -0
  98. package/dist/components/Icons/PrintInactive.d.ts +3 -0
  99. package/dist/components/Icons/PrintPlay.d.ts +3 -0
  100. package/dist/components/Icons/Product.d.ts +3 -0
  101. package/dist/components/Icons/Search.d.ts +3 -0
  102. package/dist/components/Icons/Settings.d.ts +3 -0
  103. package/dist/components/Icons/ShippingDone.d.ts +3 -0
  104. package/dist/components/Icons/SupportAgent.d.ts +3 -0
  105. package/dist/components/Icons/SwapVert.d.ts +3 -0
  106. package/dist/components/Icons/Task.d.ts +3 -0
  107. package/dist/components/Icons/Upload.d.ts +3 -0
  108. package/dist/components/Icons/User.d.ts +3 -0
  109. package/dist/components/Icons/Warning.d.ts +3 -0
  110. package/dist/components/Icons/WarningAmber.d.ts +3 -0
  111. package/dist/components/Icons/WarningFilled.d.ts +3 -0
  112. package/dist/components/Icons/index.d.ts +62 -0
  113. package/dist/components/LNB/LNB.context.d.ts +22 -0
  114. package/dist/components/LNB/LNB.d.ts +48 -0
  115. package/dist/components/LNB/makeNavigation.d.ts +21 -0
  116. package/dist/components/Label/Label.colors.d.ts +219 -0
  117. package/dist/components/Label/Label.d.ts +10 -0
  118. package/dist/components/LazyImage/LazyImage.d.ts +10 -0
  119. package/dist/components/List/List.d.ts +22 -0
  120. package/dist/components/MobilePicker/MobilePicker.context.d.ts +11 -0
  121. package/dist/components/MobilePicker/MobilePicker.d.ts +47 -0
  122. package/dist/components/Modal/Modal.d.ts +9 -0
  123. package/dist/components/Pagination/Pagination.colors.d.ts +75 -0
  124. package/dist/components/Pagination/Pagination.context.d.ts +18 -0
  125. package/dist/components/Pagination/Pagination.d.ts +29 -0
  126. package/dist/components/Popup/Popup.context.d.ts +7 -0
  127. package/dist/components/Popup/Popup.d.ts +41 -0
  128. package/dist/components/QRCode/QRCode.d.ts +11 -0
  129. package/dist/components/ScrollCalendar/ScrollCalendar.context.d.ts +14 -0
  130. package/dist/components/ScrollCalendar/ScrollCalendar.d.ts +32 -0
  131. package/dist/components/ScrollSpy/ScrollSpy.d.ts +8 -0
  132. package/dist/components/Sheet/Sheet.context.d.ts +22 -0
  133. package/dist/components/Sheet/Sheet.d.ts +16 -0
  134. package/dist/components/Slider/Slider.backup.d.ts +35 -0
  135. package/dist/components/Slider/Slider.context.d.ts +36 -0
  136. package/dist/components/Slider/Slider.d.ts +41 -0
  137. package/dist/components/Stepper/Stepper.context.d.ts +22 -0
  138. package/dist/components/Stepper/Stepper.d.ts +24 -0
  139. package/dist/components/Tab/Tab.colors.d.ts +5 -0
  140. package/dist/components/Tab/Tab.context.d.ts +26 -0
  141. package/dist/components/Tab/Tab.d.ts +34 -0
  142. package/dist/components/Tab/cx.d.ts +2 -0
  143. package/dist/components/Table/Table.context.d.ts +10 -0
  144. package/dist/components/Table/Table.d.ts +32 -0
  145. package/dist/components/Table/Table.hook.d.ts +6 -0
  146. package/dist/components/Thumbnail/Thumbnail.context.d.ts +27 -0
  147. package/dist/components/Thumbnail/Thumbnail.d.ts +39 -0
  148. package/dist/components/TimeInput/TimeInput.colors.d.ts +67 -0
  149. package/dist/components/TimeInput/TimeInput.context.d.ts +47 -0
  150. package/dist/components/TimeInput/TimeInput.d.ts +47 -0
  151. package/dist/components/WeeklyCalendar/WeeklyCalendar.context.d.ts +70 -0
  152. package/dist/components/WeeklyCalendar/WeeklyCalendar.d.ts +31 -0
  153. package/dist/components/WeeklyCalendar/dayjs.util.d.ts +100 -0
  154. package/dist/components/WeeklyCalendar/weeklyCalendar.util.d.ts +76 -0
  155. package/dist/components/WisywygEditor/Quill/Editor.d.ts +15 -0
  156. package/dist/constant/locale.constant.d.ts +1 -0
  157. package/dist/hooks/useColorScheme.d.ts +4 -0
  158. package/dist/hooks/useElementRect.d.ts +19 -0
  159. package/dist/hooks/useIntersectionObserver.d.ts +7 -0
  160. package/dist/index.css +7 -0
  161. package/dist/index.d.ts +44 -0
  162. package/dist/index.js +51685 -0
  163. package/dist/index.umd.cjs +203 -0
  164. package/dist/styles/baseColor.d.ts +264 -0
  165. package/dist/styles/color.d.ts +6 -0
  166. package/dist/styles/color2.d.ts +102 -0
  167. package/dist/utils/aws.util.d.ts +60 -0
  168. package/dist/utils/common.utill.d.ts +4 -0
  169. package/package.json +9 -4
  170. package/eslint.config.js +0 -29
  171. package/index.html +0 -13
  172. package/scripts/icons/setIcon.cjs +0 -151
  173. package/scripts/icons/svg-template.cjs +0 -18
  174. package/scripts/icons/svgo-config.json +0 -9
  175. package/scripts/icons/svgr-config.json +0 -16
  176. package/src/@types/color.d.ts +0 -51
  177. package/src/@types/common.d.ts +0 -6
  178. package/src/@types/extends/react.extends.d.ts +0 -7
  179. package/src/@types/quill-image-resize-module-react/index.d.ts +0 -1
  180. package/src/App.tsx +0 -84
  181. package/src/assets/react.svg +0 -1
  182. package/src/components/Accordion/Accordion.context.tsx +0 -62
  183. package/src/components/Accordion/Accordion.module.scss +0 -163
  184. package/src/components/Accordion/Accordion.tsx +0 -242
  185. package/src/components/Accordion/README.md +0 -408
  186. package/src/components/Accordion/images/as_trigger.gif +0 -0
  187. package/src/components/Accordion/images/closed.png +0 -0
  188. package/src/components/Accordion/images/open.png +0 -0
  189. package/src/components/Accordion/images/thumbnail1.png +0 -0
  190. package/src/components/Accordion/images/thumbnail2.png +0 -0
  191. package/src/components/Accordion/images/thumbnail3.png +0 -0
  192. package/src/components/Avatar/Avatar.module.scss +0 -47
  193. package/src/components/Avatar/Avatar.tsx +0 -230
  194. package/src/components/Avatar/README.md +0 -333
  195. package/src/components/Badge/Badge.module.scss +0 -49
  196. package/src/components/Badge/Badge.tsx +0 -87
  197. package/src/components/Badge/README.md +0 -223
  198. package/src/components/BarCode/BarCode.module.scss +0 -0
  199. package/src/components/BarCode/BarCode.tsx +0 -153
  200. package/src/components/Breadcrumb/Breadcrumb.module.scss +0 -36
  201. package/src/components/Breadcrumb/Breadcrumb.tsx +0 -114
  202. package/src/components/Breadcrumb/README.md +0 -339
  203. package/src/components/Button/Button.colors.tsx +0 -322
  204. package/src/components/Button/Button.context.tsx +0 -47
  205. package/src/components/Button/Button.module.scss +0 -156
  206. package/src/components/Button/Button.tsx +0 -190
  207. package/src/components/Button/Button.type.ts +0 -11
  208. package/src/components/Calendar/Calendar.context.tsx +0 -138
  209. package/src/components/Calendar/Calendar.module.scss +0 -116
  210. package/src/components/Calendar/Calendar.tsx +0 -440
  211. package/src/components/Calendar/dayjs.util.ts +0 -312
  212. package/src/components/Cascader/Cacader.data.ts +0 -1185
  213. package/src/components/Cascader/Cascader.context.tsx +0 -61
  214. package/src/components/Cascader/Cascader.hook.ts +0 -502
  215. package/src/components/Cascader/Cascader.module.scss +0 -143
  216. package/src/components/Cascader/Cascader.tsx +0 -281
  217. package/src/components/Cascader/README.md +0 -735
  218. package/src/components/Chart/Chart.module.scss +0 -0
  219. package/src/components/Chart/Chart.tsx +0 -230
  220. package/src/components/Chart/README.md +0 -85
  221. package/src/components/Chart/images/barChart.png +0 -0
  222. package/src/components/Chips/Chips.colors.tsx +0 -185
  223. package/src/components/Chips/Chips.module.scss +0 -49
  224. package/src/components/Chips/Chips.tsx +0 -78
  225. package/src/components/Comment/Comment.module.scss +0 -14
  226. package/src/components/Comment/Comment.tsx +0 -105
  227. package/src/components/Dialog/Dialog.module.scss +0 -0
  228. package/src/components/Dialog/Dialog.tsx +0 -12
  229. package/src/components/Divider/Divider.module.scss +0 -12
  230. package/src/components/Divider/Divider.tsx +0 -33
  231. package/src/components/Editor/Editor.context.tsx +0 -12
  232. package/src/components/Editor/Editor.module.scss +0 -40
  233. package/src/components/Editor/Editor.tsx +0 -174
  234. package/src/components/Form/CheckBox/CheckBox.context.tsx +0 -56
  235. package/src/components/Form/CheckBox/CheckBox.module.scss +0 -81
  236. package/src/components/Form/CheckBox/CheckBox.tsx +0 -196
  237. package/src/components/Form/CheckBox/Checkbox.colors.tsx +0 -42
  238. package/src/components/Form/Dropdown/Dropdown.colors.tsx +0 -125
  239. package/src/components/Form/Dropdown/Dropdown.context.tsx +0 -62
  240. package/src/components/Form/Dropdown/Dropdown.module.scss +0 -133
  241. package/src/components/Form/Dropdown/Dropdown.tsx +0 -404
  242. package/src/components/Form/OTPInput/OTPInput.context.tsx +0 -104
  243. package/src/components/Form/OTPInput/OTPInput.module.scss +0 -22
  244. package/src/components/Form/OTPInput/OTPInput.tsx +0 -67
  245. package/src/components/Form/Radio/Radio.colors.tsx +0 -42
  246. package/src/components/Form/Radio/Radio.context.tsx +0 -40
  247. package/src/components/Form/Radio/Radio.module.scss +0 -61
  248. package/src/components/Form/Radio/Radio.tsx +0 -174
  249. package/src/components/Form/Switch/Switch.colors.tsx +0 -42
  250. package/src/components/Form/Switch/Switch.context.tsx +0 -50
  251. package/src/components/Form/Switch/Switch.module.scss +0 -53
  252. package/src/components/Form/Switch/Switch.tsx +0 -151
  253. package/src/components/Form/TextArea/TextArea.colors.tsx +0 -76
  254. package/src/components/Form/TextArea/TextArea.context.tsx +0 -97
  255. package/src/components/Form/TextArea/TextArea.module.scss +0 -138
  256. package/src/components/Form/TextArea/TextArea.tsx +0 -246
  257. package/src/components/Form/TextInput/TextInput.colors.tsx +0 -76
  258. package/src/components/Form/TextInput/TextInput.context.tsx +0 -106
  259. package/src/components/Form/TextInput/TextInput.module.scss +0 -160
  260. package/src/components/Form/TextInput/TextInput.tsx +0 -225
  261. package/src/components/GlobalStyle/GlobalStyle.tsx +0 -20
  262. package/src/components/HelperText/HelperText.module.scss +0 -28
  263. package/src/components/HelperText/HelperText.tsx +0 -130
  264. package/src/components/Icon/Icon.tsx +0 -29
  265. package/src/components/Icons/Add.tsx +0 -20
  266. package/src/components/Icons/AddAPhoto.tsx +0 -21
  267. package/src/components/Icons/ApprovalInactive.tsx +0 -26
  268. package/src/components/Icons/ArrowRight.tsx +0 -24
  269. package/src/components/Icons/AttachFile.tsx +0 -20
  270. package/src/components/Icons/Cancle.tsx +0 -20
  271. package/src/components/Icons/CancleFilled.tsx +0 -20
  272. package/src/components/Icons/Cart.tsx +0 -20
  273. package/src/components/Icons/CartFilled.tsx +0 -20
  274. package/src/components/Icons/Check.tsx +0 -20
  275. package/src/components/Icons/CheckBoxRound.tsx +0 -21
  276. package/src/components/Icons/CheckCircle.tsx +0 -35
  277. package/src/components/Icons/Close.tsx +0 -20
  278. package/src/components/Icons/Company.tsx +0 -20
  279. package/src/components/Icons/Download.tsx +0 -20
  280. package/src/components/Icons/DragHandle.tsx +0 -20
  281. package/src/components/Icons/Eco.tsx +0 -20
  282. package/src/components/Icons/EditSquare.tsx +0 -20
  283. package/src/components/Icons/Error.tsx +0 -20
  284. package/src/components/Icons/ErrorFilled.tsx +0 -20
  285. package/src/components/Icons/ExpandAll.tsx +0 -20
  286. package/src/components/Icons/ExpandLess.tsx +0 -20
  287. package/src/components/Icons/ExpandMore.tsx +0 -20
  288. package/src/components/Icons/Factory.tsx +0 -20
  289. package/src/components/Icons/FileUpload.tsx +0 -20
  290. package/src/components/Icons/FilecheckInactive.tsx +0 -22
  291. package/src/components/Icons/GoBefore.tsx +0 -20
  292. package/src/components/Icons/GoNext.tsx +0 -20
  293. package/src/components/Icons/HamburgerMenu.tsx +0 -20
  294. package/src/components/Icons/ImagecheckPlay.tsx +0 -27
  295. package/src/components/Icons/Inventory.tsx +0 -20
  296. package/src/components/Icons/KakaoTalk.tsx +0 -22
  297. package/src/components/Icons/ListAll.tsx +0 -20
  298. package/src/components/Icons/LocalShipping.tsx +0 -20
  299. package/src/components/Icons/Logout.tsx +0 -20
  300. package/src/components/Icons/Menu.tsx +0 -20
  301. package/src/components/Icons/Minus.tsx +0 -18
  302. package/src/components/Icons/ModeEdit.tsx +0 -25
  303. package/src/components/Icons/More.tsx +0 -20
  304. package/src/components/Icons/Naver.tsx +0 -20
  305. package/src/components/Icons/NaverBlog.tsx +0 -22
  306. package/src/components/Icons/OrderApprove.tsx +0 -20
  307. package/src/components/Icons/OrderInactive.tsx +0 -20
  308. package/src/components/Icons/OrderPlay.tsx +0 -20
  309. package/src/components/Icons/Outward.tsx +0 -20
  310. package/src/components/Icons/PayApprove.tsx +0 -24
  311. package/src/components/Icons/PayInactive.tsx +0 -24
  312. package/src/components/Icons/Personcard.tsx +0 -20
  313. package/src/components/Icons/PrintInactive.tsx +0 -24
  314. package/src/components/Icons/PrintPlay.tsx +0 -24
  315. package/src/components/Icons/Product.tsx +0 -20
  316. package/src/components/Icons/Search.tsx +0 -20
  317. package/src/components/Icons/Settings.tsx +0 -20
  318. package/src/components/Icons/ShippingDone.tsx +0 -20
  319. package/src/components/Icons/SupportAgent.tsx +0 -20
  320. package/src/components/Icons/SwapVert.tsx +0 -21
  321. package/src/components/Icons/Task.tsx +0 -20
  322. package/src/components/Icons/Upload.tsx +0 -20
  323. package/src/components/Icons/User.tsx +0 -20
  324. package/src/components/Icons/Warning.tsx +0 -20
  325. package/src/components/Icons/WarningAmber.tsx +0 -21
  326. package/src/components/Icons/WarningFilled.tsx +0 -20
  327. package/src/components/Icons/index.ts +0 -62
  328. package/src/components/LNB/LNB.context.tsx +0 -32
  329. package/src/components/LNB/LNB.module.scss +0 -99
  330. package/src/components/LNB/LNB.tsx +0 -190
  331. package/src/components/LNB/README.md +0 -411
  332. package/src/components/LNB/makeNavigation.ts +0 -51
  333. package/src/components/LNB/navigation.d.ts +0 -15
  334. package/src/components/LNB/navigation.json +0 -211
  335. package/src/components/Label/Label.colors.tsx +0 -241
  336. package/src/components/Label/Label.module.scss +0 -31
  337. package/src/components/Label/Label.tsx +0 -54
  338. package/src/components/LazyImage/LazyImage.module.scss +0 -6
  339. package/src/components/LazyImage/LazyImage.tsx +0 -107
  340. package/src/components/List/List.module.scss +0 -81
  341. package/src/components/List/List.tsx +0 -91
  342. package/src/components/List/README.md +0 -87
  343. package/src/components/MobilePicker/MobilePicker.context.tsx +0 -22
  344. package/src/components/MobilePicker/MobilePicker.module.scss +0 -57
  345. package/src/components/MobilePicker/MobilePicker.tsx +0 -336
  346. package/src/components/MobilePicker/README.md +0 -159
  347. package/src/components/Modal/Modal.tsx +0 -77
  348. package/src/components/Modal/README.md +0 -130
  349. package/src/components/Pagination/Pagination.colors.tsx +0 -85
  350. package/src/components/Pagination/Pagination.context.tsx +0 -28
  351. package/src/components/Pagination/Pagination.module.scss +0 -60
  352. package/src/components/Pagination/Pagination.tsx +0 -234
  353. package/src/components/Popup/Popup.context.tsx +0 -15
  354. package/src/components/Popup/Popup.module.scss +0 -53
  355. package/src/components/Popup/Popup.tsx +0 -116
  356. package/src/components/Popup/README.md +0 -170
  357. package/src/components/QRCode/QRCode.module.scss +0 -2
  358. package/src/components/QRCode/QRCode.tsx +0 -61
  359. package/src/components/ScrollCalendar/ScrollCalendar.context.tsx +0 -26
  360. package/src/components/ScrollCalendar/ScrollCalendar.module.scss +0 -42
  361. package/src/components/ScrollCalendar/ScrollCalendar.tsx +0 -448
  362. package/src/components/ScrollSpy/README.md +0 -62
  363. package/src/components/ScrollSpy/ScrollSpy.tsx +0 -130
  364. package/src/components/Sheet/README.md +0 -92
  365. package/src/components/Sheet/Sheet.context.tsx +0 -23
  366. package/src/components/Sheet/Sheet.module.scss +0 -68
  367. package/src/components/Sheet/Sheet.tsx +0 -146
  368. package/src/components/Slider/README.md +0 -639
  369. package/src/components/Slider/Slider.backup.tsx +0 -477
  370. package/src/components/Slider/Slider.context.tsx +0 -67
  371. package/src/components/Slider/Slider.module.scss +0 -123
  372. package/src/components/Slider/Slider.tsx +0 -467
  373. package/src/components/Stepper/README.md +0 -320
  374. package/src/components/Stepper/Stepper.context.tsx +0 -49
  375. package/src/components/Stepper/Stepper.module.scss +0 -163
  376. package/src/components/Stepper/Stepper.tsx +0 -219
  377. package/src/components/Tab/Tab.colors.tsx +0 -54
  378. package/src/components/Tab/Tab.context.tsx +0 -64
  379. package/src/components/Tab/Tab.module.scss +0 -239
  380. package/src/components/Tab/Tab.tsx +0 -123
  381. package/src/components/Tab/cx.ts +0 -6
  382. package/src/components/Table/README.md +0 -162
  383. package/src/components/Table/Table.context.tsx +0 -23
  384. package/src/components/Table/Table.hook.ts +0 -51
  385. package/src/components/Table/Table.module.scss +0 -83
  386. package/src/components/Table/Table.tsx +0 -147
  387. package/src/components/Thumbnail/README.md +0 -302
  388. package/src/components/Thumbnail/Thumbnail.context.tsx +0 -42
  389. package/src/components/Thumbnail/Thumbnail.module.scss +0 -149
  390. package/src/components/Thumbnail/Thumbnail.tsx +0 -391
  391. package/src/components/TimeInput/README.md +0 -118
  392. package/src/components/TimeInput/TimeInput.colors.tsx +0 -76
  393. package/src/components/TimeInput/TimeInput.context.tsx +0 -58
  394. package/src/components/TimeInput/TimeInput.module.scss +0 -211
  395. package/src/components/TimeInput/TimeInput.tsx +0 -411
  396. package/src/components/WeeklyCalendar/WeeklyCalendar.context.tsx +0 -88
  397. package/src/components/WeeklyCalendar/WeeklyCalendar.module.scss +0 -225
  398. package/src/components/WeeklyCalendar/WeeklyCalendar.tsx +0 -772
  399. package/src/components/WeeklyCalendar/dayjs.util.ts +0 -336
  400. package/src/components/WeeklyCalendar/weeklyCalendar.util.ts +0 -583
  401. package/src/components/WisywygEditor/Quill/Editor.tsx +0 -148
  402. package/src/constant/locale.constant.ts +0 -6
  403. package/src/globals.scss +0 -80
  404. package/src/hooks/useColorScheme.tsx +0 -48
  405. package/src/hooks/useElementRect.tsx +0 -128
  406. package/src/hooks/useIntersectionObserver.tsx +0 -33
  407. package/src/index.css +0 -17
  408. package/src/index.ts +0 -187
  409. package/src/main.tsx +0 -10
  410. package/src/styles/_fontSize.mixin.scss +0 -57
  411. package/src/styles/_fontWeight.mixin.scss +0 -15
  412. package/src/styles/_lineHeight.mixin.scss +0 -57
  413. package/src/styles/_scrollbar.mixin.scss +0 -49
  414. package/src/styles/baseColor.ts +0 -297
  415. package/src/styles/color.ts +0 -272
  416. package/src/styles/color2.ts +0 -200
  417. package/src/styles/scrollbar.README.md +0 -72
  418. package/src/styles/typography.scss +0 -170
  419. package/src/utils/aws.util.ts +0 -180
  420. package/src/utils/common.utill.ts +0 -45
  421. package/src/vite-env.d.ts +0 -1
  422. package/tsconfig.app.json +0 -24
  423. package/tsconfig.json +0 -29
  424. package/tsconfig.node.json +0 -10
  425. package/tsconfig.node.tsbuildinfo +0 -1
  426. package/tsconfig.tsbuildinfo +0 -1
  427. package/vite.config.d.ts +0 -2
  428. package/vite.config.js +0 -47
  429. package/vite.config.ts +0 -50
  430. /package/{src/App.css → dist/main.d.ts} +0 -0
  431. /package/{public → dist}/static/icon/Add.svg +0 -0
  432. /package/{public → dist}/static/icon/ApprovalInactive.svg +0 -0
  433. /package/{public → dist}/static/icon/ArrowRight.svg +0 -0
  434. /package/{public → dist}/static/icon/Cancle Filled.svg +0 -0
  435. /package/{public → dist}/static/icon/Cancle.svg +0 -0
  436. /package/{public → dist}/static/icon/Cart Filled.svg +0 -0
  437. /package/{public → dist}/static/icon/Cart.svg +0 -0
  438. /package/{public → dist}/static/icon/Check.svg +0 -0
  439. /package/{public → dist}/static/icon/CheckBoxRound.svg +0 -0
  440. /package/{public → dist}/static/icon/Company.svg +0 -0
  441. /package/{public → dist}/static/icon/DragHandle.svg +0 -0
  442. /package/{public → dist}/static/icon/Eco.svg +0 -0
  443. /package/{public → dist}/static/icon/EditSquare.svg +0 -0
  444. /package/{public → dist}/static/icon/Error Filled.svg +0 -0
  445. /package/{public → dist}/static/icon/Error.svg +0 -0
  446. /package/{public → dist}/static/icon/File Upload.svg +0 -0
  447. /package/{public → dist}/static/icon/FilecheckInactive.svg +0 -0
  448. /package/{public → dist}/static/icon/Go Before.svg +0 -0
  449. /package/{public → dist}/static/icon/Go Next.svg +0 -0
  450. /package/{public → dist}/static/icon/Hamburger Menu.svg +0 -0
  451. /package/{public → dist}/static/icon/ImagecheckPlay.svg +0 -0
  452. /package/{public → dist}/static/icon/Kakao Talk.svg +0 -0
  453. /package/{public → dist}/static/icon/Minus.svg +0 -0
  454. /package/{public → dist}/static/icon/Naver Blog.svg +0 -0
  455. /package/{public → dist}/static/icon/Naver.svg +0 -0
  456. /package/{public → dist}/static/icon/OrderApprove.svg +0 -0
  457. /package/{public → dist}/static/icon/OrderInactive.svg +0 -0
  458. /package/{public → dist}/static/icon/OrderPlay.svg +0 -0
  459. /package/{public → dist}/static/icon/PayApprove.svg +0 -0
  460. /package/{public → dist}/static/icon/PayInactive.svg +0 -0
  461. /package/{public → dist}/static/icon/PrintInactive.svg +0 -0
  462. /package/{public → dist}/static/icon/PrintPlay.svg +0 -0
  463. /package/{public → dist}/static/icon/Search.svg +0 -0
  464. /package/{public → dist}/static/icon/ShippingDone.svg +0 -0
  465. /package/{public → dist}/static/icon/Support Agent.svg +0 -0
  466. /package/{public → dist}/static/icon/Task.svg +0 -0
  467. /package/{public → dist}/static/icon/User.svg +0 -0
  468. /package/{public → dist}/static/icon/Warning Filled.svg +0 -0
  469. /package/{public → dist}/static/icon/Warning.svg +0 -0
  470. /package/{public → dist}/static/icon/add_a_photo.svg +0 -0
  471. /package/{public → dist}/static/icon/attach_file.svg +0 -0
  472. /package/{public → dist}/static/icon/check_circle.svg +0 -0
  473. /package/{public → dist}/static/icon/close.svg +0 -0
  474. /package/{public → dist}/static/icon/download.svg +0 -0
  475. /package/{public → dist}/static/icon/expand all.svg +0 -0
  476. /package/{public → dist}/static/icon/expand_less.svg +0 -0
  477. /package/{public → dist}/static/icon/expand_more.svg +0 -0
  478. /package/{public → dist}/static/icon/factory.svg +0 -0
  479. /package/{public → dist}/static/icon/inventory.svg +0 -0
  480. /package/{public → dist}/static/icon/listAll.svg +0 -0
  481. /package/{public → dist}/static/icon/local_shipping.svg +0 -0
  482. /package/{public → dist}/static/icon/logout.svg +0 -0
  483. /package/{public → dist}/static/icon/menu.svg +0 -0
  484. /package/{public → dist}/static/icon/mode_edit.svg +0 -0
  485. /package/{public → dist}/static/icon/more.svg +0 -0
  486. /package/{public → dist}/static/icon/outward.svg +0 -0
  487. /package/{public → dist}/static/icon/personcard.svg +0 -0
  488. /package/{public → dist}/static/icon/product.svg +0 -0
  489. /package/{public → dist}/static/icon/settings.svg +0 -0
  490. /package/{public → dist}/static/icon/swap_vert.svg +0 -0
  491. /package/{public → dist}/static/icon/upload.svg +0 -0
  492. /package/{public → dist}/static/icon/warning_amber.svg +0 -0
  493. /package/{public → dist}/static/image/Thumbnail.png +0 -0
  494. /package/{public → dist}/vite.svg +0 -0
  495. /package/{public → dist}/weing_logo_final.png +0 -0
@@ -1,408 +0,0 @@
1
- # Accordion UI
2
-
3
- ## Contents List
4
-
5
- 1. [Quick Start](#QuickStart)
6
- 2. [Reference](#Reference)
7
- 3. [Example](#Example)
8
-
9
- ## Quick Start
10
-
11
- ```ts
12
- import { Accordion } from "@weing-dev/ui-kit-primitive";
13
-
14
- const components = () => {
15
- // ...
16
-
17
- return (
18
- <Accordion.Root>
19
- <Accordion.Trigger>
20
- <div>{TITLE}</div>
21
- </Accordion.Trigger>
22
- <Accordion.Item>
23
- <div>{CONTENT}</div>
24
- </Accordion.Item>
25
- </Accordion.Root>
26
- );
27
- };
28
- ```
29
-
30
- > closed
31
-
32
- ![alt text](./images/closed.png)
33
-
34
- > open
35
-
36
- ![alt text](./images/open.png)
37
-
38
- ## Reference
39
-
40
- ### Root
41
-
42
- | Prop | Type | Required | Default Value |
43
- | :--------------------------- | :-----------------------------------------------: | :------: | :-----------: |
44
- | [open](#open) | Boolean | - | false |
45
- | [disabled](#disabled) | Boolean | - | false |
46
- | [autoClosed](#autoClosed) | Boolean | - | true |
47
- | [id](#id) | String | - | React.useId() |
48
- | [variant](#variant) | [String](#variantType) | - | "contained" |
49
- | [transition](#transition) | Boolean or [Object](#transitionType) | - | true |
50
- | [onClick](#onClick) | (e?: React.MouseEvent<HTMLInputElement>) => void | - | - |
51
- | [onChange](#onChange) | (e?: React.ChangeEvent<HTMLInputElement>) => void | - | - |
52
- | [className](#Root-className) | String | - | - |
53
- | [children](#Root-children) | React.ReactNode | - | - |
54
-
55
- #### open
56
-
57
- `Accordion`의 `open`을 관리하는 상태입니다. 기본값은 `false`로 아무런 `props`를 전달하지 않을 시 `Accordion.Trigger`를 클릭했을때 내부적으로 `open`의 상태가 반전됩니다. [↗기본 예시](#QuickStart)
58
-
59
- `Accordion.Root`에 `boolean`값을 넣어 임의로 상태를 관리할 수 있습니다.
60
-
61
- ```ts
62
- import { Accordion } from "@weing-dev/ui-kit-primitive";
63
-
64
- const components = () => {
65
- const [open, setOpen] = React.useState<boolean>(false);
66
-
67
- return (
68
- <Accordion.Root open={open}>
69
- <!-- ... -->
70
- </Accordion.Root>
71
- );
72
- }
73
- ```
74
-
75
- `🔔Tip: open의 상태값을 임의로 지정할 시 onClick이벤트를 통해 상태변경을 해주어야 합니다.` [↗onClick](#onClick)
76
-
77
- #### disabled
78
-
79
- `Accordion`의 `disabled`을 관리하는 상태입니다. 기본값은 `false`입니다.
80
-
81
- `disabled === true`일시 아코디언의 조작이 불가해집니다.
82
-
83
- ```ts
84
- import { Accordion } from "@weing-dev/ui-kit-primitive";
85
-
86
- const components = () => {
87
- return (
88
- <Accordion.Root disabled>
89
- <!-- ... -->
90
- </Accordion.Root>
91
- );
92
- }
93
- ```
94
-
95
- #### autoClosed
96
-
97
- `Accordion`의 `autoClosed`을 관리하는 상태입니다. 기본값은 `true`입니다.
98
-
99
- `autoClosed`는 `Accordion`이 `open === true && autoClosed === true`일때 `Accordion`의 외부를 클릭했을때 자동으로 닫히는 역할을 합니다.
100
-
101
- ```ts
102
- import { Accordion } from "@weing-dev/ui-kit-primitive";
103
-
104
- const components = () => {
105
- return (
106
- <Accordion.Root autoClosed>
107
- <!-- ... -->
108
- </Accordion.Root>
109
- );
110
- }
111
- ```
112
-
113
- #### id
114
-
115
- `Accordion.Trigger`의 `id`를 관리하는 상태입니다. `props`를 전달하지 않을 시 Accordion은 내부적으로 `id`를 생성해서 각 `Accordion.Trigger`를 식별합니다.
116
-
117
- `Accordion`의 외부에서 임의의 `id`를 생성해 전달할 수 있습니다.
118
-
119
- ```ts
120
- import { Accordion } from "@weing-dev/ui-kit-primitive";
121
-
122
- const components = () => {
123
- const id = `812ee3f3-c35d-4009-8a29-6103917d1cb0`;
124
-
125
- return (
126
- <Accordion.Root id={id}>
127
- <!-- ... -->
128
- </Accordion.Root>
129
- );
130
- }
131
- ```
132
-
133
- #### variant
134
-
135
- `Accordion`의 `variant`를 관리하는 상태입니다. 기본값은 `"contained"`입니다.
136
-
137
- `Accordion`의 기본 스타일을 변경할 수 있습니다.
138
-
139
- ##### variant Type
140
-
141
- ```ts
142
- "contained" |
143
- "outlined" |
144
- "adaptived" |
145
- "sideLined" |
146
- "bottomLined" |
147
- "shadow" |
148
- "unset";
149
- ```
150
-
151
- ```ts
152
- import { Accordion } from "@weing-dev/ui-kit-primitive";
153
-
154
- const components = () => {
155
- const variant = "sideLined";
156
-
157
- return (
158
- <Accordion.Root variant={variant}>
159
- <!-- ... -->
160
- </Accordion.Root>
161
- );
162
- }
163
- ```
164
-
165
- `🔔Tip: Accordion의 스타일을 커스텀을 하기 위해서는 "unset"을 지정하는게 좋습니다.`
166
-
167
- #### transition
168
-
169
- `Accordion`의 `transition`를 관리하는 상태입니다. 기본값은 `true`입니다.
170
-
171
- `boolean`값을 통해 `transition`애니메이션을 끄고 킬 수 있으며 `true`일시 기본 트랜지션의 시간은 `0.25s` 타이밍 함수는 `ease-in-out`입니다.
172
-
173
- 시간과 타이밍을 세부적으로 조절하기 위해서는 아래의 예시를 참고하세요.
174
-
175
- ##### transition Type
176
-
177
- ```ts
178
- boolean | {
179
- /** 0.25s => 2500 */
180
- duration?: number;
181
- timingFC?: React.CSSProperties["transitionTimingFunction"];
182
- }
183
- ```
184
-
185
- ```ts
186
- import { Accordion } from "@weing-dev/ui-kit-primitive";
187
-
188
- const components = () => {
189
- const transition = {
190
- duration: 1000, // 1s
191
- timingFC: "cubic-bezier(0.64, 2, 0.46, 1.51)"
192
- };
193
-
194
- return (
195
- <Accordion.Root transition={transition}>
196
- <!-- ... -->
197
- </Accordion.Root>
198
- );
199
- }
200
- ```
201
-
202
- #### onClick
203
-
204
- `Accordion.Trigger`에 `onClick` 이벤트를 전달하기 위한 `props`입니다.
205
-
206
- `onClick`에 전달되는 `event`는 `React.MouseEvent<HTMLInputElement>` 입니다.
207
-
208
- ```ts
209
- import { Accordion } from "@weing-dev/ui-kit-primitive";
210
-
211
- const components = () => {
212
- const [open, setOpen] = React.useState<boolean>(false)
213
-
214
- const onClick = (e) => {
215
- setOpen((curr) => !curr);
216
- };
217
-
218
- return (
219
- <Accordion.Root open={open} onClick={onClick}>
220
- <!-- ... -->
221
- </Accordion.Root>
222
- );
223
- }
224
- ```
225
-
226
- `🔔Tip: open의 상태를 변경하기 위해서는 onChange대신 onClick을 사용해 변경하세요.`
227
-
228
- #### onChange
229
-
230
- `Accordion.Trigger`에 `onChange` 이벤트를 전달하기 위한 `props`입니다.
231
-
232
- ```ts
233
- import { Accordion } from "@weing-dev/ui-kit-primitive";
234
-
235
- const components = () => {
236
- const onChange = (e) => {
237
- console.log(e?.target.checked);
238
- };
239
-
240
- return (
241
- <Accordion.Root open={open} onChange={onChange}>
242
- <!-- ... -->
243
- </Accordion.Root>
244
- );
245
- }
246
- ```
247
-
248
- #### Root-className
249
-
250
- `Accordion.Root`에 `className` class를 전달하기 위한 `props`입니다.
251
-
252
- ```ts
253
- import { Accordion } from "@weing-dev/ui-kit-primitive";
254
-
255
- const components = () => {
256
-
257
- return (
258
- <Accordion.Root className="RootClassName">
259
- <!-- ... -->
260
- </Accordion.Root>
261
- );
262
- }
263
- ```
264
-
265
- `🔔Tip: Accordion.Root의 class를 전달해줄때 기본 스타일을 없애기 위해 variant="unset"을 지정해주는게 좋습니다.`
266
-
267
- #### Root-children
268
-
269
- `Accordion.Root`의 내부에 `Accordion.Trigger`와 `Accordion.Item`을 추가하여 기본 아코디언을 구성합니다.[↗기본 예시](#QuickStart)
270
-
271
- `Accordion`컴포넌트 외에도 여러 컴포넌트를 조합하여 ui를 구성할 수 있습니다.
272
-
273
- ### Trigger
274
-
275
- | Prop | Type | Required | Default Value |
276
- | :------------------------------ | :----------------: | :------: | :-----------: |
277
- | [as](#as) | React.ReactElement | - | - |
278
- | [className](#Trigger-className) | String | - | - |
279
- | [children](#Trigger-children) | React.ReactNode | - | - |
280
-
281
- #### as
282
-
283
- `Accordion.Trigger`의 전체적인 ui를 변경하기 위해 있는 `props`입니다.
284
-
285
- 해당 `props`에는 `JSX`코드를 넣어 ui의 스타일과 기능을 커스텀할 수 있습니다.
286
-
287
- ```ts
288
- import { Accordion } from "@weing-dev/ui-kit-primitive";
289
-
290
- const components = () => {
291
-
292
- const [asOpen, setAsOpen] = React.useState<boolean>(false);
293
-
294
- return (
295
- <Accordion.Root
296
- open={asOpen}
297
- onClick={
298
- () => setAsOpen((curr) => !curr)
299
- }
300
- >
301
- <Accordion.Trigger as={
302
- <div className={cx("AsTriggerWrap", { open: asOpen })}>
303
- <Icon name="Company" className={cx("CompanyIcon")} />
304
- <div>
305
- TEAM <strong>WEing</strong> 이란?
306
- </div>
307
- <Icon
308
- name="ExpandMore"
309
- className={cx("ExpandIcon", { open: asOpen })}
310
- color="#ffd016"
311
- />
312
- </div>
313
- }>
314
- <!-- ... -->
315
- </Accordion.Root>
316
- );
317
- }
318
- ```
319
-
320
- `🔔Tip: open 상태를 생성해 관리하면 as 내부에 Accordion의 open상태에 따라 ui 스타일링이 가능합니다.`
321
- ![alt text](./images/as_trigger.gif)
322
-
323
- #### Trigger-className
324
-
325
- `Accordion.Trigger`에 `className` class를 전달하기 위한 `props`입니다.
326
-
327
- ```ts
328
- import { Accordion } from "@weing-dev/ui-kit-primitive";
329
-
330
- const components = () => {
331
-
332
- return (
333
- <Accordion.Root>
334
- <Accordion.Trigger className="TriggerClassName"/>
335
- <!-- ... -->
336
- </Accordion.Root>
337
- );
338
- }
339
- ```
340
-
341
- #### Trigger-children
342
-
343
- `Accordion.Trigger`의 `Text`에 들어가는 요소입니다.
344
-
345
- ```ts
346
- import { Accordion } from "@weing-dev/ui-kit-primitive";
347
-
348
- const components = () => {
349
-
350
- return (
351
- <Accordion.Root>
352
- <Accordion.Trigger>
353
- <div>Trigger Text</div>
354
- </Accordion.Trigger>
355
- <!-- ... -->
356
- </Accordion.Root>
357
- );
358
- }
359
- ```
360
-
361
- ### Item
362
-
363
- | Prop | Type | Required | Default Value |
364
- | :--------------------------- | :-------------: | :------: | :-----------: |
365
- | [className](#Item-className) | String | - | - |
366
- | [children](#Item-children) | React.ReactNode | - | - |
367
-
368
- #### Item-className
369
-
370
- `Accordion.Item`에 `className` class를 전달하기 위한 `props`입니다.
371
-
372
- ```ts
373
- import { Accordion } from "@weing-dev/ui-kit-primitive";
374
-
375
- const components = () => {
376
-
377
- return (
378
- <Accordion.Root>
379
- <!-- ... -->
380
- <Accordion.Item className="ItemClassName"/>
381
- </Accordion.Root>
382
- );
383
- }
384
- ```
385
-
386
- #### Item-children
387
-
388
- `Accordion.Item`의 `Text`에 들어가는 요소입니다.
389
-
390
- ```ts
391
- import { Accordion } from "@weing-dev/ui-kit-primitive";
392
-
393
- const components = () => {
394
-
395
- return (
396
- <Accordion.Root>
397
- <!-- ... -->
398
- <Accordion.Item>
399
- <div>Item Text</div>
400
- </Accordion.Item>
401
- </Accordion.Root>
402
- );
403
- }
404
- ```
405
-
406
- ## Example
407
-
408
- 프로젝트를 실행하고 해당 [Link](http://localhost:3000/users/accordion)에서 확인할 수 있습니다.
@@ -1,47 +0,0 @@
1
- @layer {
2
- .Group {
3
- display: flex;
4
- }
5
-
6
- .GroupItem {
7
- margin-inline: -4px;
8
- }
9
-
10
- .Item {
11
- --bg-color: white;
12
- --size: 40px;
13
- box-sizing: border-box;
14
- display: flex;
15
- align-items: center;
16
- justify-content: center;
17
- overflow: hidden;
18
- user-select: none;
19
- border: 2px solid var(--backgroundDefault, #fff);
20
- background-color: var(--bgColor);
21
- width: var(--size);
22
- height: var(--size);
23
-
24
- &.rounded {
25
- border-radius: 10px;
26
- }
27
- &.circle {
28
- border-radius: 50%;
29
- }
30
- }
31
-
32
- .Text {
33
- width: inherit;
34
- height: inherit;
35
- font-size: 100%;
36
- display: flex;
37
- align-items: center;
38
- justify-content: center;
39
- white-space: nowrap;
40
- }
41
-
42
- .AvatarImage {
43
- width: inherit;
44
- height: inherit;
45
- object-fit: cover;
46
- }
47
- }
@@ -1,230 +0,0 @@
1
- "use client";
2
- /* eslint-disable react-refresh/only-export-components */
3
- import React from "react";
4
- import cn from "classnames/bind";
5
- import styles from "./Avatar.module.scss";
6
- import {
7
- getColorContrast,
8
- getRandomColor,
9
- numberToMetricPrefix,
10
- } from "@/utils/common.utill";
11
-
12
- const cx = cn.bind(styles);
13
-
14
- type GroupProps = React.PropsWithChildren<{
15
- className?: string;
16
- itemClassName?: string;
17
- max?: number;
18
- total?: number;
19
- itemSize?: number;
20
- restCounterProps?: React.DetailedHTMLProps<
21
- React.ImgHTMLAttributes<HTMLImageElement>,
22
- HTMLImageElement
23
- >;
24
- }>;
25
-
26
- const Group = (props: GroupProps) => {
27
- const {
28
- children,
29
- className,
30
- itemClassName,
31
- max = 4,
32
- total,
33
- itemSize,
34
- restCounterProps,
35
- } = props;
36
-
37
- return (
38
- <div className={cx("Group", className)}>
39
- {React.Children.map(children, (child, index) => {
40
- if (React.isValidElement(child))
41
- switch (true) {
42
- case index === max:
43
- if (total !== undefined) return;
44
- return (
45
- <div
46
- className={cx("GroupItem", itemClassName)}
47
- style={{ zIndex: `${max + 1 - index}` }}
48
- >
49
- {React.cloneElement(child, {
50
- ...restCounterProps,
51
- src: "",
52
- alt: `+${numberToMetricPrefix(
53
- React.Children.count(children) - max + 1
54
- )}`,
55
- nameAbbreviation: false,
56
- size: itemSize,
57
- } as React.ComponentProps<typeof Item>)}
58
- </div>
59
- );
60
- case index > max:
61
- return;
62
- default:
63
- return (
64
- <div
65
- className={cx("GroupItem", itemClassName)}
66
- style={{
67
- zIndex: `${max + 1 - index}`,
68
- }}
69
- >
70
- {React.cloneElement(child, {
71
- ...(child.props instanceof Object
72
- ? { ...child.props, size: itemSize }
73
- : {}),
74
- } as React.ComponentProps<typeof Item>)}
75
- </div>
76
- );
77
- }
78
- })}
79
- {total && React.Children.count(children) < total && (
80
- <div
81
- className={cx("GroupItem")}
82
- style={{ zIndex: `${max + 1 - React.Children.count(children)}` }}
83
- >
84
- <Item
85
- {...restCounterProps}
86
- src=""
87
- alt={`+${numberToMetricPrefix(total)}`}
88
- size={itemSize}
89
- nameAbbreviation={false}
90
- />
91
- </div>
92
- )}
93
- </div>
94
- );
95
- };
96
- type AsProps = {
97
- isError: boolean;
98
- nameAbbreviation: boolean;
99
- abbreviateName: (name: string) => string;
100
- src?: string;
101
- alt?: string;
102
- textColor: string;
103
- abberviateDefaultClassName: string;
104
- imgDefaultClassName: string;
105
- onError: (e: React.SyntheticEvent<HTMLImageElement, Event>) => void;
106
- };
107
-
108
- type ItemProps = {
109
- className?: string;
110
- variant?: "square" | "rounded" | "circle";
111
- nameAbbreviation?: boolean;
112
- size?: number;
113
- as?: (props: AsProps) => React.ReactNode;
114
- } & React.DetailedHTMLProps<
115
- React.ImgHTMLAttributes<HTMLImageElement>,
116
- HTMLImageElement
117
- >;
118
-
119
- const Item = (props: ItemProps) => {
120
- const {
121
- className,
122
- variant = "circle",
123
- nameAbbreviation = true,
124
- size = 40,
125
- as,
126
- ...imageProps
127
- } = props;
128
-
129
- const [load, setLoad] = React.useState(false);
130
-
131
- const [isError, setIsError] = React.useState(false);
132
-
133
- const textRef = React.useRef<HTMLSpanElement>(null);
134
-
135
- const [randomBg, setRandomBg] = React.useState<string>("");
136
-
137
- React.useEffect(() => {
138
- setRandomBg(getRandomColor());
139
- }, []);
140
-
141
- const imageErrorHandler = React.useCallback(
142
- (e: React.SyntheticEvent<HTMLImageElement, Event>) => {
143
- setIsError(true);
144
- if (imageProps.onError) {
145
- imageProps.onError(e);
146
- }
147
- },
148
- [imageProps]
149
- );
150
-
151
- const abbreviateName = React.useCallback((name: string): string => {
152
- return name
153
- .split(" ")
154
- .map((word) => word[0])
155
- .join("")
156
- .toUpperCase();
157
- }, []);
158
-
159
- React.useEffect(() => {
160
- if (load && textRef.current) {
161
- const textElement = textRef.current;
162
- if (textElement && (isError || !imageProps.src)) {
163
- const textWidth = textElement.scrollWidth;
164
- const textHeight = textElement.offsetHeight;
165
- const scale = Math.min(size / textWidth, size / textHeight);
166
- textElement.style.transform = `scale(${
167
- scale === 1 ? scale : scale * 0.8
168
- })`;
169
- }
170
- }
171
- }, [load, size, isError, imageProps.src, randomBg]);
172
-
173
- React.useEffect(() => {
174
- setLoad(true);
175
- }, []);
176
-
177
- return (
178
- <div
179
- className={cx("Item", variant, className)}
180
- style={{
181
- "--bgColor": randomBg,
182
- "--size": `${size}px`,
183
- }}
184
- >
185
- {as ? (
186
- as({
187
- isError,
188
- nameAbbreviation,
189
- abbreviateName,
190
- src: imageProps.src,
191
- alt: imageProps.alt,
192
- textColor: getColorContrast(randomBg),
193
- abberviateDefaultClassName: cx("Text"),
194
- imgDefaultClassName: cx("AvatarImage"),
195
- onError: imageErrorHandler,
196
- })
197
- ) : isError || !imageProps.src ? (
198
- <span
199
- {...imageProps}
200
- ref={textRef}
201
- className={cx("Text")}
202
- style={{
203
- ...imageProps.style,
204
- color: getColorContrast(randomBg),
205
- }}
206
- >
207
- {nameAbbreviation
208
- ? abbreviateName(imageProps?.alt ?? "")
209
- : imageProps?.alt}
210
- </span>
211
- ) : (
212
- <img
213
- {...imageProps}
214
- className={cx("AvatarImage")}
215
- onError={imageErrorHandler}
216
- />
217
- )}
218
- </div>
219
- );
220
- };
221
-
222
- interface IAvatar {
223
- Item: typeof Item;
224
- Group: typeof Group;
225
- }
226
-
227
- export default {
228
- Item,
229
- Group,
230
- } as IAvatar;