@cleen/ui 0.1.0 → 0.1.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 (423) hide show
  1. package/README.md +37 -0
  2. package/dist/charts/index.d.ts +118 -0
  3. package/dist/charts/index.js +1 -0
  4. package/dist/icons/index.d.ts +35 -0
  5. package/dist/icons/index.js +1 -0
  6. package/dist/index.d.ts +2959 -0
  7. package/dist/index.js +19 -0
  8. package/package.json +54 -54
  9. package/src/charts/chart/Chart.tsx +0 -82
  10. package/src/charts/chart/constant.ts +0 -50
  11. package/src/charts/chart/index.ts +0 -2
  12. package/src/charts/chart/types/apexcharts.ts +0 -9
  13. package/src/charts/chart/variants/BellCurve/BellCurve.tsx +0 -215
  14. package/src/charts/chart/variants/BellCurve/constant.ts +0 -112
  15. package/src/charts/chart/variants/BellCurve/helper.ts +0 -116
  16. package/src/charts/chart/variants/BellCurve/index.ts +0 -2
  17. package/src/charts/chart/variants/BellCurve/types/bellCurve.ts +0 -47
  18. package/src/charts/chart/variants/BellCurve/types/props.ts +0 -21
  19. package/src/charts/chart/variants/RadarChart/RadarChart.tsx +0 -22
  20. package/src/charts/chart/variants/RadarChart/constant.ts +0 -28
  21. package/src/charts/chart/variants/RadarChart/index.ts +0 -1
  22. package/src/charts/chart/variants/ScatterChart/ScatterChart.tsx +0 -23
  23. package/src/charts/chart/variants/ScatterChart/constant.ts +0 -54
  24. package/src/charts/chart/variants/ScatterChart/index.ts +0 -1
  25. package/src/charts/chart/variants/index.ts +0 -3
  26. package/src/charts/index.ts +0 -2
  27. package/src/charts/simpleChart/SimpleChart.tsx +0 -54
  28. package/src/charts/simpleChart/index.ts +0 -1
  29. package/src/components/advancedProgressBar/AdvancedProgressBar.tsx +0 -156
  30. package/src/components/advancedProgressBar/blocks/Bar.tsx +0 -118
  31. package/src/components/advancedProgressBar/blocks/BlockLabel.tsx +0 -49
  32. package/src/components/advancedProgressBar/blocks/Clamp.tsx +0 -85
  33. package/src/components/advancedProgressBar/constants.ts +0 -6
  34. package/src/components/advancedProgressBar/index.ts +0 -2
  35. package/src/components/advancedProgressBar/types/props.ts +0 -69
  36. package/src/components/advancedProgressBar/utils.ts +0 -17
  37. package/src/components/audioPlayback/AudioPlayback.tsx +0 -141
  38. package/src/components/audioPlayback/index.ts +0 -2
  39. package/src/components/audioRecorder/AudioRecorder.tsx +0 -391
  40. package/src/components/audioRecorder/constant/default.ts +0 -19
  41. package/src/components/audioRecorder/constant/labels.ts +0 -9
  42. package/src/components/audioRecorder/index.ts +0 -2
  43. package/src/components/audioRecorder/types/props.ts +0 -56
  44. package/src/components/avatar/Avatar.tsx +0 -132
  45. package/src/components/avatar/index.ts +0 -1
  46. package/src/components/avatar/variants.ts +0 -9
  47. package/src/components/avatarRow/AvatarRow.tsx +0 -127
  48. package/src/components/avatarRow/index.ts +0 -1
  49. package/src/components/breadcrumb/Breadcrumb.tsx +0 -158
  50. package/src/components/breadcrumb/index.ts +0 -1
  51. package/src/components/button/Button.tsx +0 -114
  52. package/src/components/button/index.ts +0 -2
  53. package/src/components/button/variants.ts +0 -41
  54. package/src/components/card/Card.tsx +0 -197
  55. package/src/components/card/index.ts +0 -3
  56. package/src/components/card/variants/CardIcon/CardIcon.tsx +0 -158
  57. package/src/components/card/variants/CardMedia/CardMedia.tsx +0 -127
  58. package/src/components/checkbox/Checkbox.tsx +0 -246
  59. package/src/components/checkbox/index.ts +0 -1
  60. package/src/components/checkbox/variants.ts +0 -13
  61. package/src/components/checkboxGroup/CheckboxGroup.tsx +0 -163
  62. package/src/components/checkboxGroup/index.ts +0 -1
  63. package/src/components/cleenIcon/CleenIcon.tsx +0 -674
  64. package/src/components/cleenIcon/icons/IconAlertCircle.tsx +0 -22
  65. package/src/components/cleenIcon/icons/IconAlertFeatured.tsx +0 -30
  66. package/src/components/cleenIcon/icons/IconAlertOctagon.tsx +0 -21
  67. package/src/components/cleenIcon/icons/IconAlertTriangle.tsx +0 -25
  68. package/src/components/cleenIcon/icons/IconAlignRight.tsx +0 -25
  69. package/src/components/cleenIcon/icons/IconArrowDown.tsx +0 -25
  70. package/src/components/cleenIcon/icons/IconArrowLeft.tsx +0 -25
  71. package/src/components/cleenIcon/icons/IconArrowLeft2.tsx +0 -22
  72. package/src/components/cleenIcon/icons/IconArrowRight.tsx +0 -25
  73. package/src/components/cleenIcon/icons/IconArrowToTop.tsx +0 -20
  74. package/src/components/cleenIcon/icons/IconArrowUp.tsx +0 -22
  75. package/src/components/cleenIcon/icons/IconArrowUpRight.tsx +0 -22
  76. package/src/components/cleenIcon/icons/IconArrowUpRightNarrow.tsx +0 -22
  77. package/src/components/cleenIcon/icons/IconArrowUpRightSquare.tsx +0 -22
  78. package/src/components/cleenIcon/icons/IconAttachment.tsx +0 -22
  79. package/src/components/cleenIcon/icons/IconBarChartSquare.tsx +0 -22
  80. package/src/components/cleenIcon/icons/IconBold.tsx +0 -16
  81. package/src/components/cleenIcon/icons/IconBookmarkCheck.tsx +0 -22
  82. package/src/components/cleenIcon/icons/IconBookmarkCheckFill.tsx +0 -37
  83. package/src/components/cleenIcon/icons/IconBookmarkPlus.tsx +0 -22
  84. package/src/components/cleenIcon/icons/IconBookmarkX.tsx +0 -22
  85. package/src/components/cleenIcon/icons/IconBoxLines.tsx +0 -16
  86. package/src/components/cleenIcon/icons/IconBoxText.tsx +0 -24
  87. package/src/components/cleenIcon/icons/IconBracketsCheck.tsx +0 -25
  88. package/src/components/cleenIcon/icons/IconBracketsEllipses.tsx +0 -22
  89. package/src/components/cleenIcon/icons/IconBuilding.tsx +0 -22
  90. package/src/components/cleenIcon/icons/IconCalendar.tsx +0 -25
  91. package/src/components/cleenIcon/icons/IconCertificateHeart.tsx +0 -25
  92. package/src/components/cleenIcon/icons/IconCheck.tsx +0 -22
  93. package/src/components/cleenIcon/icons/IconCheckCircle.tsx +0 -22
  94. package/src/components/cleenIcon/icons/IconCheckCircleBroken.tsx +0 -25
  95. package/src/components/cleenIcon/icons/IconCheckFill.tsx +0 -45
  96. package/src/components/cleenIcon/icons/IconCheckVerified.tsx +0 -22
  97. package/src/components/cleenIcon/icons/IconChevronDown.tsx +0 -22
  98. package/src/components/cleenIcon/icons/IconChevronLeft.tsx +0 -25
  99. package/src/components/cleenIcon/icons/IconChevronLeftDouble.tsx +0 -22
  100. package/src/components/cleenIcon/icons/IconChevronRight.tsx +0 -25
  101. package/src/components/cleenIcon/icons/IconChevronRightDouble.tsx +0 -22
  102. package/src/components/cleenIcon/icons/IconChevronSelectorVertical.tsx +0 -22
  103. package/src/components/cleenIcon/icons/IconChevronUp.tsx +0 -25
  104. package/src/components/cleenIcon/icons/IconCircleSwap.tsx +0 -22
  105. package/src/components/cleenIcon/icons/IconClockFastForward.tsx +0 -25
  106. package/src/components/cleenIcon/icons/IconClockRewind.tsx +0 -25
  107. package/src/components/cleenIcon/icons/IconClockRewind2.tsx +0 -21
  108. package/src/components/cleenIcon/icons/IconCodeBrowser.tsx +0 -25
  109. package/src/components/cleenIcon/icons/IconCodeCircle.tsx +0 -22
  110. package/src/components/cleenIcon/icons/IconColors.tsx +0 -25
  111. package/src/components/cleenIcon/icons/IconColumnEdit.tsx +0 -19
  112. package/src/components/cleenIcon/icons/IconCopy.tsx +0 -25
  113. package/src/components/cleenIcon/icons/IconCopy2.tsx +0 -22
  114. package/src/components/cleenIcon/icons/IconCopy3.tsx +0 -25
  115. package/src/components/cleenIcon/icons/IconCopy4.tsx +0 -25
  116. package/src/components/cleenIcon/icons/IconCopy5.tsx +0 -25
  117. package/src/components/cleenIcon/icons/IconCopyCheck.tsx +0 -22
  118. package/src/components/cleenIcon/icons/IconCube.tsx +0 -25
  119. package/src/components/cleenIcon/icons/IconCubeOutline.tsx +0 -22
  120. package/src/components/cleenIcon/icons/IconCursorBox.tsx +0 -25
  121. package/src/components/cleenIcon/icons/IconDataflow.tsx +0 -22
  122. package/src/components/cleenIcon/icons/IconDataflow2.tsx +0 -22
  123. package/src/components/cleenIcon/icons/IconDataflow3.tsx +0 -29
  124. package/src/components/cleenIcon/icons/IconDelete.tsx +0 -25
  125. package/src/components/cleenIcon/icons/IconDollarCircle.tsx +0 -25
  126. package/src/components/cleenIcon/icons/IconDotsGrid.tsx +0 -74
  127. package/src/components/cleenIcon/icons/IconDotsHorizontal.tsx +0 -34
  128. package/src/components/cleenIcon/icons/IconDotsVertical.tsx +0 -38
  129. package/src/components/cleenIcon/icons/IconEdit.tsx +0 -25
  130. package/src/components/cleenIcon/icons/IconEditable.tsx +0 -25
  131. package/src/components/cleenIcon/icons/IconExpand.tsx +0 -22
  132. package/src/components/cleenIcon/icons/IconEye.tsx +0 -28
  133. package/src/components/cleenIcon/icons/IconEyeHidden.tsx +0 -25
  134. package/src/components/cleenIcon/icons/IconEyeHidden2.tsx +0 -24
  135. package/src/components/cleenIcon/icons/IconFaceSmile.tsx +0 -24
  136. package/src/components/cleenIcon/icons/IconFilter.tsx +0 -22
  137. package/src/components/cleenIcon/icons/IconFilter2.tsx +0 -22
  138. package/src/components/cleenIcon/icons/IconFlag.tsx +0 -22
  139. package/src/components/cleenIcon/icons/IconFlag2.tsx +0 -25
  140. package/src/components/cleenIcon/icons/IconFlag3.tsx +0 -16
  141. package/src/components/cleenIcon/icons/IconHandShield.tsx +0 -22
  142. package/src/components/cleenIcon/icons/IconHash.tsx +0 -22
  143. package/src/components/cleenIcon/icons/IconHeadsetMic.tsx +0 -21
  144. package/src/components/cleenIcon/icons/IconHeart.tsx +0 -24
  145. package/src/components/cleenIcon/icons/IconHouseLine.tsx +0 -22
  146. package/src/components/cleenIcon/icons/IconImage.tsx +0 -22
  147. package/src/components/cleenIcon/icons/IconImage2.tsx +0 -22
  148. package/src/components/cleenIcon/icons/IconImage3.tsx +0 -17
  149. package/src/components/cleenIcon/icons/IconImage4.tsx +0 -25
  150. package/src/components/cleenIcon/icons/IconImageCheck.tsx +0 -22
  151. package/src/components/cleenIcon/icons/IconInfoCircle.tsx +0 -22
  152. package/src/components/cleenIcon/icons/IconInfoHexagon.tsx +0 -25
  153. package/src/components/cleenIcon/icons/IconItalic.tsx +0 -16
  154. package/src/components/cleenIcon/icons/IconLayersMultiple.tsx +0 -22
  155. package/src/components/cleenIcon/icons/IconLayersSingle.tsx +0 -22
  156. package/src/components/cleenIcon/icons/IconLayout.tsx +0 -22
  157. package/src/components/cleenIcon/icons/IconLayout2.tsx +0 -22
  158. package/src/components/cleenIcon/icons/IconLayoutColumns.tsx +0 -20
  159. package/src/components/cleenIcon/icons/IconLayoutCustom.tsx +0 -16
  160. package/src/components/cleenIcon/icons/IconLayoutSequential.tsx +0 -16
  161. package/src/components/cleenIcon/icons/IconLayoutStuffed.tsx +0 -20
  162. package/src/components/cleenIcon/icons/IconLayoutTile.tsx +0 -16
  163. package/src/components/cleenIcon/icons/IconLifeBuoy.tsx +0 -29
  164. package/src/components/cleenIcon/icons/IconLightbulb.tsx +0 -22
  165. package/src/components/cleenIcon/icons/IconLightning.tsx +0 -22
  166. package/src/components/cleenIcon/icons/IconLightning2.tsx +0 -25
  167. package/src/components/cleenIcon/icons/IconLightningFast.tsx +0 -22
  168. package/src/components/cleenIcon/icons/IconLineChartBar.tsx +0 -22
  169. package/src/components/cleenIcon/icons/IconLineChartBreakoutSquare.tsx +0 -22
  170. package/src/components/cleenIcon/icons/IconLineChartUp.tsx +0 -25
  171. package/src/components/cleenIcon/icons/IconLineChartUp2.tsx +0 -34
  172. package/src/components/cleenIcon/icons/IconLines.tsx +0 -22
  173. package/src/components/cleenIcon/icons/IconLinesCheck.tsx +0 -16
  174. package/src/components/cleenIcon/icons/IconLinesPlay.tsx +0 -23
  175. package/src/components/cleenIcon/icons/IconLink.tsx +0 -25
  176. package/src/components/cleenIcon/icons/IconLink2.tsx +0 -24
  177. package/src/components/cleenIcon/icons/IconLink3.tsx +0 -21
  178. package/src/components/cleenIcon/icons/IconLink4.tsx +0 -17
  179. package/src/components/cleenIcon/icons/IconLink5.tsx +0 -22
  180. package/src/components/cleenIcon/icons/IconListBullet.tsx +0 -18
  181. package/src/components/cleenIcon/icons/IconListOrder.tsx +0 -20
  182. package/src/components/cleenIcon/icons/IconListOrder2.tsx +0 -16
  183. package/src/components/cleenIcon/icons/IconLock.tsx +0 -22
  184. package/src/components/cleenIcon/icons/IconLock2.tsx +0 -22
  185. package/src/components/cleenIcon/icons/IconLogIn.tsx +0 -25
  186. package/src/components/cleenIcon/icons/IconLogOut.tsx +0 -25
  187. package/src/components/cleenIcon/icons/IconLogOut2.tsx +0 -22
  188. package/src/components/cleenIcon/icons/IconMagicWand.tsx +0 -25
  189. package/src/components/cleenIcon/icons/IconMagicWand2.tsx +0 -22
  190. package/src/components/cleenIcon/icons/IconMail.tsx +0 -25
  191. package/src/components/cleenIcon/icons/IconMessageSquare.tsx +0 -25
  192. package/src/components/cleenIcon/icons/IconMessageSquare2.tsx +0 -22
  193. package/src/components/cleenIcon/icons/IconMessageXSquare.tsx +0 -25
  194. package/src/components/cleenIcon/icons/IconMinusCircle.tsx +0 -22
  195. package/src/components/cleenIcon/icons/IconMobile.tsx +0 -25
  196. package/src/components/cleenIcon/icons/IconMonitor.tsx +0 -22
  197. package/src/components/cleenIcon/icons/IconMonitor2.tsx +0 -25
  198. package/src/components/cleenIcon/icons/IconMonitor3.tsx +0 -25
  199. package/src/components/cleenIcon/icons/IconMoonCircle.tsx +0 -28
  200. package/src/components/cleenIcon/icons/IconNavigationPointer.tsx +0 -22
  201. package/src/components/cleenIcon/icons/IconNotificationBox.tsx +0 -22
  202. package/src/components/cleenIcon/icons/IconPCSetup.tsx +0 -22
  203. package/src/components/cleenIcon/icons/IconPalette.tsx +0 -40
  204. package/src/components/cleenIcon/icons/IconPasscodeLock.tsx +0 -25
  205. package/src/components/cleenIcon/icons/IconPencil.tsx +0 -25
  206. package/src/components/cleenIcon/icons/IconPercentageCircle.tsx +0 -29
  207. package/src/components/cleenIcon/icons/IconPerspective.tsx +0 -22
  208. package/src/components/cleenIcon/icons/IconPhoneCall.tsx +0 -25
  209. package/src/components/cleenIcon/icons/IconPin.tsx +0 -22
  210. package/src/components/cleenIcon/icons/IconPlayCircle.tsx +0 -28
  211. package/src/components/cleenIcon/icons/IconPlus.tsx +0 -22
  212. package/src/components/cleenIcon/icons/IconPlusCircle.tsx +0 -25
  213. package/src/components/cleenIcon/icons/IconPulse.tsx +0 -25
  214. package/src/components/cleenIcon/icons/IconQuestionCircle.tsx +0 -24
  215. package/src/components/cleenIcon/icons/IconRadioButton.tsx +0 -27
  216. package/src/components/cleenIcon/icons/IconRadioButtonActive.tsx +0 -39
  217. package/src/components/cleenIcon/icons/IconReceiptCheck.tsx +0 -25
  218. package/src/components/cleenIcon/icons/IconRedo.tsx +0 -16
  219. package/src/components/cleenIcon/icons/IconRefresh.tsx +0 -22
  220. package/src/components/cleenIcon/icons/IconRefresh2.tsx +0 -22
  221. package/src/components/cleenIcon/icons/IconRefresh3.tsx +0 -20
  222. package/src/components/cleenIcon/icons/IconRepeat.tsx +0 -22
  223. package/src/components/cleenIcon/icons/IconRepeat2.tsx +0 -22
  224. package/src/components/cleenIcon/icons/IconRetweet.tsx +0 -33
  225. package/src/components/cleenIcon/icons/IconRoundChart.tsx +0 -25
  226. package/src/components/cleenIcon/icons/IconRoundChart2.tsx +0 -29
  227. package/src/components/cleenIcon/icons/IconRoute.tsx +0 -22
  228. package/src/components/cleenIcon/icons/IconSave.tsx +0 -25
  229. package/src/components/cleenIcon/icons/IconSave2.tsx +0 -22
  230. package/src/components/cleenIcon/icons/IconScanDots.tsx +0 -22
  231. package/src/components/cleenIcon/icons/IconSearch.tsx +0 -22
  232. package/src/components/cleenIcon/icons/IconSend.tsx +0 -25
  233. package/src/components/cleenIcon/icons/IconSettings.tsx +0 -32
  234. package/src/components/cleenIcon/icons/IconSettings2.tsx +0 -25
  235. package/src/components/cleenIcon/icons/IconSettings3.tsx +0 -22
  236. package/src/components/cleenIcon/icons/IconShieldLightning.tsx +0 -22
  237. package/src/components/cleenIcon/icons/IconShieldPlus.tsx +0 -22
  238. package/src/components/cleenIcon/icons/IconShieldRemove.tsx +0 -16
  239. package/src/components/cleenIcon/icons/IconShuffle.tsx +0 -25
  240. package/src/components/cleenIcon/icons/IconSlashCircle.tsx +0 -22
  241. package/src/components/cleenIcon/icons/IconSlashOctagon.tsx +0 -22
  242. package/src/components/cleenIcon/icons/IconSocialGlobe.tsx +0 -23
  243. package/src/components/cleenIcon/icons/IconSocialLinkedin.tsx +0 -21
  244. package/src/components/cleenIcon/icons/IconSocialX.tsx +0 -28
  245. package/src/components/cleenIcon/icons/IconSpeedometer.tsx +0 -22
  246. package/src/components/cleenIcon/icons/IconStairsRound.tsx +0 -21
  247. package/src/components/cleenIcon/icons/IconStar.tsx +0 -22
  248. package/src/components/cleenIcon/icons/IconStarHalf.tsx +0 -39
  249. package/src/components/cleenIcon/icons/IconStars.tsx +0 -28
  250. package/src/components/cleenIcon/icons/IconStars2.tsx +0 -29
  251. package/src/components/cleenIcon/icons/IconStrikethrough.tsx +0 -16
  252. package/src/components/cleenIcon/icons/IconSuccessFeatured.tsx +0 -30
  253. package/src/components/cleenIcon/icons/IconSun.tsx +0 -22
  254. package/src/components/cleenIcon/icons/IconSwitchHorizontal.tsx +0 -22
  255. package/src/components/cleenIcon/icons/IconTag.tsx +0 -22
  256. package/src/components/cleenIcon/icons/IconTarget.tsx +0 -21
  257. package/src/components/cleenIcon/icons/IconTarget2.tsx +0 -34
  258. package/src/components/cleenIcon/icons/IconTextFormat.tsx +0 -17
  259. package/src/components/cleenIcon/icons/IconTextFormat2.tsx +0 -22
  260. package/src/components/cleenIcon/icons/IconTextHighlight.tsx +0 -16
  261. package/src/components/cleenIcon/icons/IconTranslate.tsx +0 -25
  262. package/src/components/cleenIcon/icons/IconTrash.tsx +0 -25
  263. package/src/components/cleenIcon/icons/IconTrending.tsx +0 -22
  264. package/src/components/cleenIcon/icons/IconUnderline.tsx +0 -16
  265. package/src/components/cleenIcon/icons/IconUndo.tsx +0 -22
  266. package/src/components/cleenIcon/icons/IconUndo2.tsx +0 -16
  267. package/src/components/cleenIcon/icons/IconUploadCloud.tsx +0 -22
  268. package/src/components/cleenIcon/icons/IconUser.tsx +0 -22
  269. package/src/components/cleenIcon/icons/IconUserEdit.tsx +0 -25
  270. package/src/components/cleenIcon/icons/IconUserRight.tsx +0 -22
  271. package/src/components/cleenIcon/icons/IconUserSquare.tsx +0 -25
  272. package/src/components/cleenIcon/icons/IconUsers.tsx +0 -25
  273. package/src/components/cleenIcon/icons/IconUsersUp.tsx +0 -25
  274. package/src/components/cleenIcon/icons/IconVolume.tsx +0 -25
  275. package/src/components/cleenIcon/icons/IconWrench.tsx +0 -22
  276. package/src/components/cleenIcon/icons/IconX.tsx +0 -25
  277. package/src/components/cleenIcon/icons/IconXCircle.tsx +0 -22
  278. package/src/components/cleenIcon/icons/IconXCircle2.tsx +0 -42
  279. package/src/components/cleenIcon/icons/IconXClose.tsx +0 -25
  280. package/src/components/cleenIcon/icons/IconXSquare.tsx +0 -22
  281. package/src/components/cleenIcon/icons/index.ts +0 -215
  282. package/src/components/cleenIcon/index.ts +0 -4
  283. package/src/components/cleenIcon/types/icon.ts +0 -226
  284. package/src/components/collapsible/Collapsible.tsx +0 -148
  285. package/src/components/collapsible/index.ts +0 -5
  286. package/src/components/creditCardInput/CreditCardInput.tsx +0 -236
  287. package/src/components/creditCardInput/index.ts +0 -2
  288. package/src/components/creditCardInput/types/card.ts +0 -13
  289. package/src/components/creditCardInput/types/props.ts +0 -44
  290. package/src/components/creditCardInput/util/format.ts +0 -102
  291. package/src/components/datePicker/DatePicker.tsx +0 -235
  292. package/src/components/datePicker/index.ts +0 -2
  293. package/src/components/datePicker/types/props.ts +0 -47
  294. package/src/components/datePicker/utils/date.ts +0 -40
  295. package/src/components/divider/Divider.tsx +0 -43
  296. package/src/components/divider/index.ts +0 -1
  297. package/src/components/drawer/Drawer.tsx +0 -222
  298. package/src/components/drawer/index.ts +0 -1
  299. package/src/components/dropdown/Dropdown.tsx +0 -224
  300. package/src/components/dropdown/index.ts +0 -1
  301. package/src/components/filterDrawer/FilterDrawer.tsx +0 -147
  302. package/src/components/filterDrawer/blocks/FilterDrawerFooter.tsx +0 -119
  303. package/src/components/filterDrawer/blocks/SaveFilterStep.tsx +0 -56
  304. package/src/components/filterDrawer/blocks/SavedFilterRow.tsx +0 -166
  305. package/src/components/filterDrawer/blocks/SavedFiltersDropdown.tsx +0 -142
  306. package/src/components/filterDrawer/constants/filter.ts +0 -4
  307. package/src/components/filterDrawer/constants/labels.ts +0 -52
  308. package/src/components/filterDrawer/constants/tab.ts +0 -7
  309. package/src/components/filterDrawer/context/context.ts +0 -28
  310. package/src/components/filterDrawer/context/provider.tsx +0 -50
  311. package/src/components/filterDrawer/index.ts +0 -7
  312. package/src/components/filterDrawer/types/filters.ts +0 -28
  313. package/src/components/filterDrawer/types/props.ts +0 -107
  314. package/src/components/filterDrawer/types/validation.ts +0 -6
  315. package/src/components/formGroup/FormGroup.tsx +0 -165
  316. package/src/components/formGroup/index.ts +0 -1
  317. package/src/components/groupSelector/GroupSelector.tsx +0 -729
  318. package/src/components/groupSelector/index.ts +0 -6
  319. package/src/components/index.ts +0 -44
  320. package/src/components/infoLabels/InfoLabels.tsx +0 -88
  321. package/src/components/infoLabels/index.ts +0 -1
  322. package/src/components/input/Input.tsx +0 -269
  323. package/src/components/input/index.ts +0 -1
  324. package/src/components/loader/Loader.tsx +0 -91
  325. package/src/components/loader/index.ts +0 -1
  326. package/src/components/lookup/Lookup.tsx +0 -433
  327. package/src/components/lookup/blocks/LookupOptionList.tsx +0 -130
  328. package/src/components/lookup/index.ts +0 -2
  329. package/src/components/lookup/types/lookup.ts +0 -97
  330. package/src/components/menu/Menu.tsx +0 -103
  331. package/src/components/menu/blocks/MenuContent.tsx +0 -105
  332. package/src/components/menu/blocks/MenuItem.tsx +0 -120
  333. package/src/components/menu/index.ts +0 -2
  334. package/src/components/menu/types/menu.ts +0 -30
  335. package/src/components/menu/types/menuItem.ts +0 -48
  336. package/src/components/modal/Modal.tsx +0 -191
  337. package/src/components/modal/index.ts +0 -1
  338. package/src/components/notification/Notification.tsx +0 -79
  339. package/src/components/notification/constant/notification.ts +0 -30
  340. package/src/components/notification/index.ts +0 -2
  341. package/src/components/notification/wrappers/CleenNotificationContainer.tsx +0 -9
  342. package/src/components/pagination/Pagination.tsx +0 -294
  343. package/src/components/pagination/blocks/PaginationGoToPage.tsx +0 -91
  344. package/src/components/pagination/blocks/PaginationPageSize.tsx +0 -145
  345. package/src/components/pagination/constants/labels.ts +0 -15
  346. package/src/components/pagination/index.ts +0 -9
  347. package/src/components/pillBadge/PillBadge.tsx +0 -130
  348. package/src/components/pillBadge/helper.ts +0 -11
  349. package/src/components/pillBadge/index.ts +0 -1
  350. package/src/components/pillBadge/variants.ts +0 -47
  351. package/src/components/popover/Popover.tsx +0 -108
  352. package/src/components/popover/index.ts +0 -2
  353. package/src/components/popover/types/popover.ts +0 -21
  354. package/src/components/progressBar/ProgressBar.tsx +0 -179
  355. package/src/components/progressBar/index.ts +0 -1
  356. package/src/components/progressCircle/ProgressCircle.tsx +0 -142
  357. package/src/components/progressCircle/index.ts +0 -1
  358. package/src/components/radioBoxGroup/RadioBoxGroup.tsx +0 -207
  359. package/src/components/radioBoxGroup/index.ts +0 -1
  360. package/src/components/radioButtonGroup/RadioButtonGroup.tsx +0 -208
  361. package/src/components/radioButtonGroup/blocks/RadioButton.tsx +0 -22
  362. package/src/components/radioButtonGroup/index.ts +0 -4
  363. package/src/components/radioButtonGroup/types/radioButton.ts +0 -10
  364. package/src/components/rangeSlider/RangeSlider.tsx +0 -366
  365. package/src/components/rangeSlider/index.ts +0 -1
  366. package/src/components/select/Select.tsx +0 -349
  367. package/src/components/select/blocks/SelectCustomMenuList.tsx +0 -70
  368. package/src/components/select/blocks/SelectNoOptionsMessage.tsx +0 -22
  369. package/src/components/select/blocks/SelectOption.tsx +0 -19
  370. package/src/components/select/blocks/SelectSingleValue.tsx +0 -28
  371. package/src/components/select/index.ts +0 -1
  372. package/src/components/sidebar/Sidebar.tsx +0 -210
  373. package/src/components/sidebar/SidebarItem.tsx +0 -88
  374. package/src/components/sidebar/drawerContainer/DrawerContainer.tsx +0 -36
  375. package/src/components/sidebar/drawerContainer/DrawerContentTitle.tsx +0 -165
  376. package/src/components/sidebar/drawerContainer/index.ts +0 -2
  377. package/src/components/sidebar/index.ts +0 -13
  378. package/src/components/sidebar/types.ts +0 -157
  379. package/src/components/skeletons/blocks/Skeleton.tsx +0 -72
  380. package/src/components/skeletons/blocks/SkeletonAvatar.tsx +0 -43
  381. package/src/components/skeletons/blocks/SkeletonBadge.tsx +0 -30
  382. package/src/components/skeletons/blocks/SkeletonBanner.tsx +0 -44
  383. package/src/components/skeletons/blocks/SkeletonButton.tsx +0 -31
  384. package/src/components/skeletons/blocks/SkeletonCard.tsx +0 -39
  385. package/src/components/skeletons/blocks/SkeletonCard2.tsx +0 -57
  386. package/src/components/skeletons/blocks/SkeletonCard3.tsx +0 -89
  387. package/src/components/skeletons/blocks/SkeletonCardStack.tsx +0 -22
  388. package/src/components/skeletons/blocks/SkeletonChart.tsx +0 -114
  389. package/src/components/skeletons/blocks/SkeletonContentCard.tsx +0 -75
  390. package/src/components/skeletons/blocks/SkeletonDataGrid.tsx +0 -73
  391. package/src/components/skeletons/blocks/SkeletonForm.tsx +0 -50
  392. package/src/components/skeletons/blocks/SkeletonImage.tsx +0 -45
  393. package/src/components/skeletons/blocks/SkeletonInfoCard.tsx +0 -130
  394. package/src/components/skeletons/blocks/SkeletonInput.tsx +0 -32
  395. package/src/components/skeletons/blocks/SkeletonList.tsx +0 -67
  396. package/src/components/skeletons/blocks/SkeletonParagraph.tsx +0 -52
  397. package/src/components/skeletons/blocks/SkeletonText.tsx +0 -22
  398. package/src/components/skeletons/blocks/SkeletonVideo.tsx +0 -71
  399. package/src/components/skeletons/blocks/SkeletonWidgetCard.tsx +0 -56
  400. package/src/components/skeletons/blocks/SkeletonWrapper.tsx +0 -140
  401. package/src/components/skeletons/index.ts +0 -24
  402. package/src/components/skeletons/styles/skeleton.ts +0 -2
  403. package/src/components/skeletons/types/skeleton.ts +0 -8
  404. package/src/components/slider/Slider.tsx +0 -298
  405. package/src/components/slider/index.ts +0 -1
  406. package/src/components/stepper/Stepper.tsx +0 -185
  407. package/src/components/stepper/index.ts +0 -1
  408. package/src/components/switch/Switch.tsx +0 -152
  409. package/src/components/switch/index.ts +0 -1
  410. package/src/components/tabs/Tabs.tsx +0 -140
  411. package/src/components/tabs/index.ts +0 -2
  412. package/src/components/tabs/types/tab.ts +0 -33
  413. package/src/components/tabs/variants.ts +0 -49
  414. package/src/components/textArea/TextArea.tsx +0 -244
  415. package/src/components/textArea/index.ts +0 -1
  416. package/src/components/tooltip/Tooltip.tsx +0 -200
  417. package/src/components/tooltip/index.ts +0 -1
  418. package/src/icons/IconFromLibrary.tsx +0 -13
  419. package/src/icons/getIconByName.ts +0 -81
  420. package/src/icons/index.ts +0 -16
  421. package/src/index.ts +0 -1
  422. package/tsconfig.json +0 -27
  423. package/tsup.config.ts +0 -23
@@ -1,71 +0,0 @@
1
- import { getPulseAnimationClass } from '@/components/skeletons/styles/skeleton';
2
- import type { SkeletonComponentProps } from '@/components/skeletons/types/skeleton';
3
- import { cn } from '@cleen/ui-core';
4
- import { forwardRef } from 'react';
5
-
6
- // Video card placeholder - big 16:9 box with a play button in the middle
7
- export const SkeletonVideo = forwardRef<HTMLDivElement, SkeletonComponentProps>(
8
- function SkeletonVideo({ className, style, variant = 'default' }, ref) {
9
- const pulseClass = getPulseAnimationClass(variant);
10
-
11
- return (
12
- <div ref={ref} className={cn('cleen', className)} style={style}>
13
- <div className="cleen-flex cleen-flex-col cleen-gap-3 cleen-w-full">
14
- {/* Video box with play circle */}
15
- <div
16
- className={cn(
17
- 'cleen-relative cleen-bg-gray/10 cleen-rounded-xl cleen-w-full cleen-aspect-video cleen-overflow-hidden',
18
- pulseClass
19
- )}
20
- >
21
- <div className="cleen-absolute cleen-inset-0 cleen-flex cleen-items-center cleen-justify-center">
22
- <div className="cleen-bg-gray/20 cleen-rounded-full cleen-size-14 cleen-flex cleen-items-center cleen-justify-center">
23
- {/* Play triangle hint - a tiny right-pointing wedge via borders */}
24
- <div className="cleen-w-0 cleen-h-0 cleen-ml-1 cleen-border-y-[8px] cleen-border-y-transparent cleen-border-l-[14px] cleen-border-l-gray/40" />
25
- </div>
26
- </div>
27
- </div>
28
-
29
- {/* Title */}
30
- <div className="cleen-flex cleen-gap-3">
31
- <div
32
- className={cn(
33
- 'cleen-bg-gray/10 cleen-rounded-lg cleen-size-10 cleen-shrink-0',
34
- pulseClass
35
- )}
36
- />
37
- <div className="cleen-flex cleen-flex-col cleen-flex-1 cleen-gap-2">
38
- <div
39
- className={cn(
40
- 'cleen-bg-gray/10 cleen-rounded cleen-w-full cleen-h-4',
41
- pulseClass
42
- )}
43
- />
44
- <div
45
- className={cn(
46
- 'cleen-bg-gray/10 cleen-rounded cleen-w-3/4 cleen-h-3',
47
- pulseClass
48
- )}
49
- />
50
- {/* Duration + views row */}
51
- <div className="cleen-flex cleen-items-center cleen-gap-3">
52
- <div
53
- className={cn(
54
- 'cleen-bg-gray/10 cleen-rounded cleen-w-14 cleen-h-3',
55
- pulseClass
56
- )}
57
- />
58
- <div
59
- className={cn(
60
- 'cleen-bg-gray/10 cleen-rounded cleen-w-10 cleen-h-3',
61
- pulseClass
62
- )}
63
- />
64
- </div>
65
- </div>
66
- </div>
67
- </div>
68
- </div>
69
- );
70
- }
71
- );
@@ -1,56 +0,0 @@
1
- import { getPulseAnimationClass } from '@/components/skeletons/styles/skeleton';
2
- import type { SkeletonComponentProps } from '@/components/skeletons/types/skeleton';
3
- import { cn } from '@cleen/ui-core';
4
- import type { CSSProperties } from 'react';
5
- import { forwardRef } from 'react';
6
-
7
- export interface SkeletonWidgetCardProps {
8
- skeleton?: 'pulse' | 'default';
9
- className?: string;
10
- style?: CSSProperties;
11
- }
12
-
13
- export const SkeletonWidgetCard = forwardRef<
14
- HTMLDivElement,
15
- SkeletonComponentProps
16
- >(function SkeletonWidgetCard({ variant = 'default', className, style }, ref) {
17
- const pulseClass = getPulseAnimationClass(variant);
18
-
19
- return (
20
- <div ref={ref} className={cn('cleen', className)} style={style}>
21
- <div className="cleen-flex cleen-flex-col cleen-justify-between cleen-items-start cleen-gap-3 cleen-bg-white cleen-px-4 cleen-py-4 cleen-border cleen-border-gray/15 cleen-rounded-xl cleen-w-full cleen-h-full">
22
- <div className="cleen-flex cleen-justify-between cleen-items-center cleen-gap-2 cleen-px-2 cleen-py-0.5 cleen-border cleen-border-gray/15 cleen-rounded-full">
23
- <div
24
- className={cn(
25
- 'cleen-bg-gray/10 cleen-rounded-full cleen-size-1.5',
26
- pulseClass
27
- )}
28
- />
29
- <div
30
- className={cn(
31
- 'cleen-bg-gray/10 cleen-rounded cleen-w-20 cleen-h-3',
32
- pulseClass
33
- )}
34
- />
35
- </div>
36
-
37
- <div className="cleen-flex cleen-justify-between cleen-items-center cleen-w-full">
38
- <div
39
- className={cn(
40
- 'cleen-bg-gray/10 cleen-rounded cleen-w-24 cleen-h-8',
41
- pulseClass
42
- )}
43
- />
44
- <div
45
- className={cn(
46
- 'cleen-bg-gray/10 cleen-rounded cleen-w-12 cleen-h-4',
47
- pulseClass
48
- )}
49
- />
50
- </div>
51
- </div>
52
- </div>
53
- );
54
- });
55
-
56
- SkeletonWidgetCard.displayName = 'SkeletonBadgeCard';
@@ -1,140 +0,0 @@
1
- import type { SkeletonComponentProps } from '@/components/skeletons/types/skeleton';
2
- import { forwardRef, type ReactNode } from 'react';
3
- import { SkeletonAvatar } from './SkeletonAvatar';
4
- import { SkeletonBadge } from './SkeletonBadge';
5
- import { SkeletonBanner } from './SkeletonBanner';
6
- import { SkeletonButton } from './SkeletonButton';
7
- import { SkeletonCard } from './SkeletonCard';
8
- import { SkeletonCard2 } from './SkeletonCard2';
9
- import { SkeletonCard3 } from './SkeletonCard3';
10
- import { SkeletonCardStack } from './SkeletonCardStack';
11
- import { SkeletonChart } from './SkeletonChart';
12
- import { SkeletonContentCard } from './SkeletonContentCard';
13
- import { SkeletonDataGrid } from './SkeletonDataGrid';
14
- import { SkeletonForm } from './SkeletonForm';
15
- import { SkeletonImage } from './SkeletonImage';
16
- import { SkeletonInfoCard } from './SkeletonInfoCard';
17
- import { SkeletonInput } from './SkeletonInput';
18
- import { SkeletonList } from './SkeletonList';
19
- import { SkeletonParagraph } from './SkeletonParagraph';
20
- import { SkeletonText } from './SkeletonText';
21
- import { SkeletonVideo } from './SkeletonVideo';
22
- import { SkeletonWidgetCard } from './SkeletonWidgetCard';
23
-
24
- export type SkeletonType =
25
- | 'card'
26
- | 'card2'
27
- | 'card3'
28
- | 'cardStack'
29
- | 'contentCard'
30
- | 'infoCard'
31
- | 'widgetCard'
32
- | 'image'
33
- | 'video'
34
- | 'avatar'
35
- | 'dataGrid'
36
- | 'text'
37
- | 'paragraph'
38
- | 'list'
39
- | 'form'
40
- | 'banner'
41
- | 'chart'
42
- | 'button'
43
- | 'badge'
44
- | 'input';
45
-
46
- export interface SkeletonWrapperProps extends SkeletonComponentProps {
47
- skeleton?: SkeletonType;
48
- isShowing?: boolean;
49
- children?: ReactNode;
50
- }
51
-
52
- export const SkeletonWrapper = forwardRef<HTMLDivElement, SkeletonWrapperProps>(
53
- function SkeletonWrapper(
54
- {
55
- className,
56
- style,
57
- variant = 'default',
58
- itemCount = 3,
59
- skeleton = 'card',
60
- isShowing = false,
61
- children,
62
- },
63
- ref
64
- ) {
65
- if (!isShowing) {
66
- return children;
67
- }
68
-
69
- const skeletonProps = {
70
- ref: ref,
71
- variant: variant,
72
- itemCount: itemCount,
73
- className,
74
- style,
75
- };
76
-
77
- switch (skeleton) {
78
- case 'card2':
79
- return <SkeletonCard2 {...skeletonProps} />;
80
-
81
- case 'card3':
82
- return <SkeletonCard3 {...skeletonProps} />;
83
-
84
- case 'cardStack':
85
- return <SkeletonCardStack {...skeletonProps} />;
86
-
87
- case 'contentCard':
88
- return <SkeletonContentCard {...skeletonProps} />;
89
-
90
- case 'infoCard':
91
- return <SkeletonInfoCard {...skeletonProps} />;
92
-
93
- case 'widgetCard':
94
- return <SkeletonWidgetCard {...skeletonProps} />;
95
-
96
- case 'image':
97
- return <SkeletonImage {...skeletonProps} />;
98
-
99
- case 'video':
100
- return <SkeletonVideo {...skeletonProps} />;
101
-
102
- case 'avatar':
103
- return <SkeletonAvatar {...skeletonProps} />;
104
-
105
- case 'dataGrid':
106
- return <SkeletonDataGrid {...skeletonProps} />;
107
-
108
- case 'text':
109
- return <SkeletonText {...skeletonProps} />;
110
-
111
- case 'paragraph':
112
- return <SkeletonParagraph {...skeletonProps} />;
113
-
114
- case 'list':
115
- return <SkeletonList {...skeletonProps} />;
116
-
117
- case 'form':
118
- return <SkeletonForm {...skeletonProps} />;
119
-
120
- case 'banner':
121
- return <SkeletonBanner {...skeletonProps} />;
122
-
123
- case 'chart':
124
- return <SkeletonChart {...skeletonProps} />;
125
-
126
- case 'button':
127
- return <SkeletonButton {...skeletonProps} />;
128
-
129
- case 'badge':
130
- return <SkeletonBadge {...skeletonProps} />;
131
-
132
- case 'input':
133
- return <SkeletonInput {...skeletonProps} />;
134
-
135
- case 'card':
136
- default:
137
- return <SkeletonCard {...skeletonProps} />;
138
- }
139
- }
140
- );
@@ -1,24 +0,0 @@
1
- export { Skeleton } from './blocks/Skeleton';
2
- export type { SkeletonProps, SkeletonRoundness } from './blocks/Skeleton';
3
- export { SkeletonAvatar } from './blocks/SkeletonAvatar';
4
- export { SkeletonBadge } from './blocks/SkeletonBadge';
5
- export { SkeletonBanner } from './blocks/SkeletonBanner';
6
- export { SkeletonButton } from './blocks/SkeletonButton';
7
- export { SkeletonCard } from './blocks/SkeletonCard';
8
- export { SkeletonCard2 } from './blocks/SkeletonCard2';
9
- export { SkeletonCard3 } from './blocks/SkeletonCard3';
10
- export { SkeletonCardStack } from './blocks/SkeletonCardStack';
11
- export { SkeletonChart } from './blocks/SkeletonChart';
12
- export { SkeletonContentCard } from './blocks/SkeletonContentCard';
13
- export { SkeletonDataGrid } from './blocks/SkeletonDataGrid';
14
- export { SkeletonForm } from './blocks/SkeletonForm';
15
- export { SkeletonImage } from './blocks/SkeletonImage';
16
- export { SkeletonInfoCard } from './blocks/SkeletonInfoCard';
17
- export { SkeletonInput } from './blocks/SkeletonInput';
18
- export { SkeletonList } from './blocks/SkeletonList';
19
- export { SkeletonParagraph } from './blocks/SkeletonParagraph';
20
- export { SkeletonText } from './blocks/SkeletonText';
21
- export { SkeletonVideo } from './blocks/SkeletonVideo';
22
- export { SkeletonWidgetCard } from './blocks/SkeletonWidgetCard';
23
- export { SkeletonWrapper, type SkeletonType } from './blocks/SkeletonWrapper';
24
- export type { SkeletonComponentProps } from './types/skeleton';
@@ -1,2 +0,0 @@
1
- export const getPulseAnimationClass = (skeleton: 'default' | 'pulse') =>
2
- skeleton === 'pulse' ? 'cleen-animate-pulse' : '';
@@ -1,8 +0,0 @@
1
- import type { CSSProperties } from 'react';
2
-
3
- export interface SkeletonComponentProps {
4
- variant?: 'pulse' | 'default';
5
- itemCount?: number;
6
- className?: string;
7
- style?: CSSProperties;
8
- }
@@ -1,298 +0,0 @@
1
- import React, {
2
- useCallback,
3
- useEffect,
4
- useRef,
5
- useState,
6
- type CSSProperties,
7
- type ReactNode,
8
- } from 'react';
9
- import { cn } from '@cleen/ui-core';
10
- import { Tooltip, type TooltipProps } from '@/components/tooltip/Tooltip';
11
- import {
12
- InfoLabels,
13
- type InfoLabelsProps,
14
- } from '@/components/infoLabels/InfoLabels';
15
-
16
- export interface SliderProps {
17
- minValue?: number;
18
- maxValue?: number;
19
- step?: number;
20
- value?: number;
21
- defaultValue?: number;
22
- onChange?: (value: number) => void;
23
- onChangeEnd?: (value: number) => void;
24
- className?: string;
25
- classNames?: {
26
- container?: string;
27
- track?: string;
28
- path?: string;
29
- filledTrack?: string;
30
- thumb?: string;
31
- };
32
- style?: CSSProperties;
33
- styles?: {
34
- container?: CSSProperties;
35
- track?: CSSProperties;
36
- path?: CSSProperties;
37
- filledTrack?: CSSProperties;
38
- thumb?: CSSProperties;
39
- };
40
- disabled?: boolean;
41
- label?: ReactNode;
42
- labels?: {
43
- minLabel?: ReactNode;
44
- maxLabel?: ReactNode;
45
- };
46
- tooltip?: TooltipProps;
47
- infoLabels?: InfoLabelsProps;
48
- }
49
-
50
- /**
51
- * Single-handle slider for selecting a numeric value within a range.
52
- *
53
- * - Supports controlled mode via `value` + `onChange`, and uncontrolled via `defaultValue`.
54
- * - Configure bounds with `minValue` / `maxValue` and increment with `step`.
55
- * - Attach a tooltip to the thumb via the `tooltip` prop (forwarded to the Tooltip component).
56
- * - Accepts `classNames` and `styles` for keys: `container`, `track`, `path`, `filledTrack`, `thumb`, `infoLabels`.
57
- */
58
- export const Slider: React.FC<SliderProps> = ({
59
- minValue = 0,
60
- maxValue = 100,
61
- step = 1,
62
- defaultValue = 0,
63
- value,
64
- onChange,
65
- onChangeEnd,
66
- className,
67
- classNames,
68
- style,
69
- styles,
70
- disabled = false,
71
- label,
72
- labels,
73
- tooltip,
74
- infoLabels,
75
- }) => {
76
- const [internalValue, setInternalValue] = useState<number>(
77
- defaultValue ?? minValue
78
- );
79
-
80
- const sliderValue = value !== undefined ? value : internalValue;
81
- const trackRef = useRef<HTMLDivElement>(null);
82
- const dragging = useRef(false);
83
- const hasDragged = useRef(false); // To avoid track click event firing after dragging
84
-
85
- const percent = ((sliderValue - minValue) / (maxValue - minValue)) * 100;
86
-
87
- const clamp = (val: number) => {
88
- const stepped = Math.round((val - minValue) / step) * step + minValue;
89
- return Math.min(maxValue, Math.max(minValue, stepped));
90
- };
91
-
92
- const setValue = useCallback(
93
- (val: number, triggerEnd?: boolean) => {
94
- const clamped = clamp(val);
95
-
96
- if (value === undefined) {
97
- setInternalValue(clamped);
98
- }
99
-
100
- onChange?.(clamped);
101
-
102
- if (triggerEnd) {
103
- onChangeEnd?.(clamped);
104
- }
105
- },
106
- [minValue, maxValue, step, value, onChange, onChangeEnd]
107
- );
108
-
109
- // Mouse/touch event handlers
110
- const getValueFromPosition = (clientX: number) => {
111
- const track = trackRef.current;
112
-
113
- if (!track) {
114
- return minValue;
115
- }
116
-
117
- const rect = track.getBoundingClientRect();
118
- const ratio = (clientX - rect.left) / rect.width;
119
- return clamp(minValue + ratio * (maxValue - minValue));
120
- };
121
-
122
- const handleThumbMouseDown = (e: React.MouseEvent) => {
123
- if (disabled) {
124
- return;
125
- }
126
-
127
- e.preventDefault();
128
-
129
- dragging.current = true;
130
- document.addEventListener('mousemove', handleMouseMove);
131
- document.addEventListener('mouseup', handleMouseUp);
132
- };
133
-
134
- const handleMouseMove = (e: MouseEvent) => {
135
- if (!dragging.current) {
136
- return;
137
- }
138
-
139
- setValue(getValueFromPosition(e.clientX));
140
- };
141
-
142
- const handleMouseUp = (e: MouseEvent) => {
143
- dragging.current = false;
144
- hasDragged.current = true;
145
- onChangeEnd?.(clamp(getValueFromPosition(e.clientX)));
146
- document.removeEventListener('mousemove', handleMouseMove);
147
- document.removeEventListener('mouseup', handleMouseUp);
148
- };
149
-
150
- const handleTrackClick = (e: React.MouseEvent) => {
151
- if (disabled || hasDragged.current) {
152
- hasDragged.current = false;
153
- return;
154
- }
155
-
156
- setValue(getValueFromPosition(e.clientX), true);
157
- };
158
-
159
- // Touch support
160
- const handleThumbTouchStart = (e: React.TouchEvent) => {
161
- if (disabled) {
162
- return;
163
- }
164
-
165
- e.preventDefault();
166
-
167
- dragging.current = true;
168
- document.addEventListener('touchmove', handleTouchMove);
169
- document.addEventListener('touchend', handleTouchEnd);
170
- };
171
-
172
- const handleTouchMove = (e: TouchEvent) => {
173
- if (!dragging.current) {
174
- return;
175
- }
176
-
177
- if (e.touches.length > 0) {
178
- setValue(getValueFromPosition(e.touches[0].clientX));
179
- }
180
- };
181
-
182
- const handleTouchEnd = (e: TouchEvent) => {
183
- dragging.current = false;
184
- hasDragged.current = true;
185
- onChangeEnd?.(clamp(getValueFromPosition(e.touches[0].clientX)));
186
- document.removeEventListener('touchmove', handleTouchMove);
187
- document.removeEventListener('touchend', handleTouchEnd);
188
- };
189
-
190
- useEffect(() => {
191
- return () => {
192
- document.removeEventListener('mousemove', handleMouseMove);
193
- document.removeEventListener('mouseup', handleMouseUp);
194
- document.removeEventListener('touchmove', handleTouchMove);
195
- document.removeEventListener('touchend', handleTouchEnd);
196
- };
197
- }, []);
198
-
199
- return (
200
- <div className={cn('cleen', className)} style={style}>
201
- <div
202
- className={cn('cleen-w-full', classNames?.container)}
203
- style={styles?.container}
204
- >
205
- {label && (
206
- <span className="cleen-font-medium cleen-text-sm cleen-text-gray">
207
- {label}
208
- </span>
209
- )}
210
-
211
- <div
212
- ref={trackRef}
213
- className={cn(
214
- 'cleen-relative cleen-w-full cleen-h-8 cleen-touch-none',
215
- {
216
- 'cleen-opacity-60': disabled,
217
- },
218
- classNames?.track
219
- )}
220
- style={styles?.track}
221
- aria-disabled={disabled}
222
- onClick={handleTrackClick}
223
- >
224
- <div
225
- className={cn(
226
- 'cleen-absolute cleen-left-0 cleen-right-0 cleen-top-1/2 cleen-h-1 cleen-bg-gray/20 dark:cleen-bg-black cleen-rounded-sm -cleen-translate-y-1/2',
227
- disabled ? 'cleen-cursor-not-allowed' : 'cleen-cursor-pointer',
228
- classNames?.path
229
- )}
230
- style={styles?.path}
231
- >
232
- <div
233
- className={cn(
234
- 'cleen-absolute cleen-left-0 cleen-top-0 cleen-h-full cleen-bg-primary cleen-rounded-sm',
235
- classNames?.filledTrack
236
- )}
237
- style={{
238
- width: `${percent}%`,
239
- ...styles?.filledTrack,
240
- }}
241
- />
242
- </div>
243
-
244
- <Tooltip
245
- invertColors
246
- label={sliderValue}
247
- {...tooltip}
248
- className={cn(
249
- 'cleen-absolute cleen-top-1/2 -cleen-translate-y-1/2',
250
- tooltip?.className
251
- )}
252
- style={{
253
- left: `calc(${percent}% - 8px)`,
254
- ...tooltip?.style,
255
- }}
256
- >
257
- <div
258
- className={cn(
259
- 'cleen-size-4 cleen-bg-white dark:cleen-bg-black cleen-border cleen-border-gray/60 cleen-rounded-full cleen-transition-all cleen-duration-200 hover:cleen-scale-125 hover:cleen-border-primary',
260
- disabled ? 'cleen-cursor-not-allowed' : 'cleen-cursor-pointer',
261
- classNames?.thumb
262
- )}
263
- style={styles?.thumb}
264
- tabIndex={disabled ? -1 : 0}
265
- role="slider"
266
- aria-valuenow={sliderValue}
267
- aria-valuemin={minValue}
268
- aria-valuemax={maxValue}
269
- aria-disabled={disabled}
270
- onMouseDown={handleThumbMouseDown}
271
- onTouchStart={handleThumbTouchStart}
272
- />
273
- </Tooltip>
274
- </div>
275
-
276
- {(labels?.minLabel || labels?.maxLabel) && (
277
- <div className="cleen-flex cleen-items-center cleen-justify-between cleen-w-full">
278
- {labels?.minLabel && (
279
- <span className="cleen-font-medium cleen-text-xs cleen-text-gray">
280
- {labels?.minLabel}
281
- </span>
282
- )}
283
-
284
- {labels?.maxLabel && (
285
- <span className="cleen-font-medium cleen-text-xs cleen-text-gray">
286
- {labels?.maxLabel}
287
- </span>
288
- )}
289
- </div>
290
- )}
291
-
292
- {(infoLabels?.errorMessage ||
293
- infoLabels?.infoMessage ||
294
- infoLabels?.subtitle) && <InfoLabels {...infoLabels} />}
295
- </div>
296
- </div>
297
- );
298
- };
@@ -1 +0,0 @@
1
- export { Slider, type SliderProps } from './Slider';