@udixio/ui-react 0.4.2 → 1.0.0

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 (354) hide show
  1. package/.eslintrc.mjs +22 -0
  2. package/.storybook/main.ts +20 -0
  3. package/.storybook/preview.ts +1 -0
  4. package/CHANGELOG.md +63 -0
  5. package/dist/index.cjs +5 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +2811 -0
  8. package/dist/lib/components/Button.d.ts +9 -0
  9. package/dist/lib/components/Button.d.ts.map +1 -0
  10. package/{src → dist}/lib/components/Card.d.ts +5 -0
  11. package/dist/lib/components/Card.d.ts.map +1 -0
  12. package/{src → dist}/lib/components/Carousel.d.ts +6 -0
  13. package/dist/lib/components/Carousel.d.ts.map +1 -0
  14. package/{src → dist}/lib/components/CarouselItem.d.ts +4 -0
  15. package/dist/lib/components/CarouselItem.d.ts.map +1 -0
  16. package/dist/lib/components/Divider.d.ts +9 -0
  17. package/dist/lib/components/Divider.d.ts.map +1 -0
  18. package/dist/lib/components/Fab.d.ts +9 -0
  19. package/dist/lib/components/Fab.d.ts.map +1 -0
  20. package/dist/lib/components/IconButton.d.ts +10 -0
  21. package/dist/lib/components/IconButton.d.ts.map +1 -0
  22. package/{src → dist}/lib/components/NavigationRail.d.ts +5 -0
  23. package/dist/lib/components/NavigationRail.d.ts.map +1 -0
  24. package/{src → dist}/lib/components/NavigationRailItem.d.ts +9 -1
  25. package/dist/lib/components/NavigationRailItem.d.ts.map +1 -0
  26. package/dist/lib/components/ProgressIndicator.d.ts +8 -0
  27. package/dist/lib/components/ProgressIndicator.d.ts.map +1 -0
  28. package/{src → dist}/lib/components/Slider.d.ts +5 -0
  29. package/dist/lib/components/Slider.d.ts.map +1 -0
  30. package/dist/lib/components/Snackbar.d.ts +9 -0
  31. package/dist/lib/components/Snackbar.d.ts.map +1 -0
  32. package/{src → dist}/lib/components/Switch.d.ts +5 -0
  33. package/dist/lib/components/Switch.d.ts.map +1 -0
  34. package/{src → dist}/lib/components/Tab.d.ts +4 -0
  35. package/dist/lib/components/Tab.d.ts.map +1 -0
  36. package/{src → dist}/lib/components/Tabs.d.ts +5 -0
  37. package/dist/lib/components/Tabs.d.ts.map +1 -0
  38. package/{src → dist}/lib/components/TextField.d.ts +5 -0
  39. package/dist/lib/components/TextField.d.ts.map +1 -0
  40. package/{src → dist}/lib/components/ToolTip.d.ts +5 -0
  41. package/dist/lib/components/ToolTip.d.ts.map +1 -0
  42. package/{src → dist}/lib/components/index.d.ts +1 -1
  43. package/dist/lib/components/index.d.ts.map +1 -0
  44. package/dist/lib/effects/SyncedFixedWrapper.d.ts.map +1 -0
  45. package/dist/lib/effects/custom-scroll/custom-scroll.effect.d.ts.map +1 -0
  46. package/dist/lib/effects/custom-scroll/custom-scroll.interface.d.ts.map +1 -0
  47. package/dist/lib/effects/custom-scroll/custom-scroll.style.d.ts.map +1 -0
  48. package/dist/lib/effects/custom-scroll/index.d.ts.map +1 -0
  49. package/dist/lib/effects/index.d.ts.map +1 -0
  50. package/dist/lib/effects/ripple/RippleEffect.d.ts.map +1 -0
  51. package/dist/lib/effects/ripple/index.d.ts.map +1 -0
  52. package/dist/lib/effects/smooth-scroll.effect.d.ts.map +1 -0
  53. package/dist/lib/icon/icon.d.ts.map +1 -0
  54. package/dist/lib/icon/index.d.ts.map +1 -0
  55. package/dist/lib/index.d.ts.map +1 -0
  56. package/{src → dist}/lib/interfaces/button.interface.d.ts +9 -3
  57. package/dist/lib/interfaces/button.interface.d.ts.map +1 -0
  58. package/{src → dist}/lib/interfaces/card.interface.d.ts +2 -0
  59. package/dist/lib/interfaces/card.interface.d.ts.map +1 -0
  60. package/dist/lib/interfaces/carousel-item.interface.d.ts.map +1 -0
  61. package/{src → dist}/lib/interfaces/carousel.interface.d.ts +3 -2
  62. package/dist/lib/interfaces/carousel.interface.d.ts.map +1 -0
  63. package/dist/lib/interfaces/divider.interface.d.ts.map +1 -0
  64. package/{src → dist}/lib/interfaces/fab.interface.d.ts +2 -1
  65. package/dist/lib/interfaces/fab.interface.d.ts.map +1 -0
  66. package/{src → dist}/lib/interfaces/icon-button.interface.d.ts +3 -2
  67. package/dist/lib/interfaces/icon-button.interface.d.ts.map +1 -0
  68. package/dist/lib/interfaces/index.d.ts.map +1 -0
  69. package/{src → dist}/lib/interfaces/navigation-rail-item.interface.d.ts +1 -0
  70. package/dist/lib/interfaces/navigation-rail-item.interface.d.ts.map +1 -0
  71. package/dist/lib/interfaces/navigation-rail.interface.d.ts.map +1 -0
  72. package/dist/lib/interfaces/progress-indicator.interface.d.ts.map +1 -0
  73. package/dist/lib/interfaces/slider.interface.d.ts.map +1 -0
  74. package/{src → dist}/lib/interfaces/snackbar.interface.d.ts +1 -1
  75. package/dist/lib/interfaces/snackbar.interface.d.ts.map +1 -0
  76. package/dist/lib/interfaces/switch.interface.d.ts.map +1 -0
  77. package/dist/lib/interfaces/tab.interface.d.ts.map +1 -0
  78. package/{src → dist}/lib/interfaces/tabs.interface.d.ts +1 -1
  79. package/dist/lib/interfaces/tabs.interface.d.ts.map +1 -0
  80. package/dist/lib/interfaces/text-field.interface.d.ts.map +1 -0
  81. package/dist/lib/interfaces/tooltip.interface.d.ts.map +1 -0
  82. package/{src → dist}/lib/styles/button.style.d.ts +22 -8
  83. package/dist/lib/styles/button.style.d.ts.map +1 -0
  84. package/{src → dist}/lib/styles/card.style.d.ts +2 -0
  85. package/dist/lib/styles/card.style.d.ts.map +1 -0
  86. package/dist/lib/styles/carousel-item.style.d.ts.map +1 -0
  87. package/{src → dist}/lib/styles/carousel.style.d.ts +1 -1
  88. package/dist/lib/styles/carousel.style.d.ts.map +1 -0
  89. package/dist/lib/styles/divider.style.d.ts.map +1 -0
  90. package/{src → dist}/lib/styles/fab.style.d.ts +6 -2
  91. package/dist/lib/styles/fab.style.d.ts.map +1 -0
  92. package/{src → dist}/lib/styles/icon-button.style.d.ts +9 -5
  93. package/dist/lib/styles/icon-button.style.d.ts.map +1 -0
  94. package/dist/lib/styles/index.d.ts.map +1 -0
  95. package/{src → dist}/lib/styles/navigation-rail-item.style.d.ts +2 -0
  96. package/dist/lib/styles/navigation-rail-item.style.d.ts.map +1 -0
  97. package/dist/lib/styles/navigation-rail.style.d.ts.map +1 -0
  98. package/dist/lib/styles/progress-indicator.style.d.ts.map +1 -0
  99. package/dist/lib/styles/slider.style.d.ts.map +1 -0
  100. package/{src → dist}/lib/styles/snackbar.style.d.ts +2 -2
  101. package/dist/lib/styles/snackbar.style.d.ts.map +1 -0
  102. package/dist/lib/styles/switch.style.d.ts.map +1 -0
  103. package/{src → dist}/lib/styles/tab.style.d.ts +1 -1
  104. package/dist/lib/styles/tab.style.d.ts.map +1 -0
  105. package/{src → dist}/lib/styles/tabs.style.d.ts +1 -1
  106. package/dist/lib/styles/tabs.style.d.ts.map +1 -0
  107. package/dist/lib/styles/text-field.style.d.ts.map +1 -0
  108. package/dist/lib/styles/tooltip.style.d.ts.map +1 -0
  109. package/dist/lib/utils/component-helper.d.ts.map +1 -0
  110. package/{src → dist}/lib/utils/component.d.ts +1 -1
  111. package/dist/lib/utils/component.d.ts.map +1 -0
  112. package/dist/lib/utils/index.d.ts.map +1 -0
  113. package/dist/lib/utils/string.d.ts.map +1 -0
  114. package/dist/lib/utils/styles/classnames.d.ts.map +1 -0
  115. package/dist/lib/utils/styles/get-classname.d.ts.map +1 -0
  116. package/dist/lib/utils/styles/index.d.ts.map +1 -0
  117. package/package.json +31 -8
  118. package/postcss.config.mjs +5 -0
  119. package/src/index.css +4 -0
  120. package/src/index.ts +1 -0
  121. package/src/lib/components/Button.tsx +174 -0
  122. package/src/lib/components/Card.tsx +36 -0
  123. package/src/lib/components/Carousel.tsx +196 -0
  124. package/src/lib/components/CarouselItem.tsx +58 -0
  125. package/src/lib/components/Divider.tsx +18 -0
  126. package/src/lib/components/Fab.tsx +122 -0
  127. package/src/lib/components/IconButton.tsx +155 -0
  128. package/src/lib/components/NavigationRail.tsx +177 -0
  129. package/src/lib/components/NavigationRailItem.tsx +211 -0
  130. package/src/lib/components/ProgressIndicator.tsx +154 -0
  131. package/src/lib/components/Slider.tsx +366 -0
  132. package/src/lib/components/Snackbar.tsx +71 -0
  133. package/src/lib/components/Switch.tsx +99 -0
  134. package/src/lib/components/Tab.tsx +114 -0
  135. package/src/lib/components/Tabs.tsx +90 -0
  136. package/src/lib/components/TextField.tsx +274 -0
  137. package/src/lib/components/ToolTip.tsx +232 -0
  138. package/src/lib/components/index.ts +19 -0
  139. package/src/lib/effects/SyncedFixedWrapper.tsx +62 -0
  140. package/src/lib/effects/custom-scroll/custom-scroll.effect.tsx +287 -0
  141. package/src/lib/effects/custom-scroll/custom-scroll.interface.ts +25 -0
  142. package/src/lib/effects/custom-scroll/custom-scroll.style.ts +32 -0
  143. package/src/lib/effects/custom-scroll/index.ts +3 -0
  144. package/src/lib/effects/index.ts +4 -0
  145. package/src/lib/effects/ripple/RippleEffect.tsx +103 -0
  146. package/src/lib/effects/ripple/index.tsx +1 -0
  147. package/src/lib/effects/smooth-scroll.effect.tsx +91 -0
  148. package/src/lib/icon/icon.tsx +47 -0
  149. package/src/lib/icon/index.ts +1 -0
  150. package/src/lib/index.ts +6 -0
  151. package/src/lib/interfaces/button.interface.ts +54 -0
  152. package/src/lib/interfaces/card.interface.ts +11 -0
  153. package/src/lib/interfaces/carousel-item.interface.ts +11 -0
  154. package/src/lib/interfaces/carousel.interface.ts +22 -0
  155. package/src/lib/interfaces/divider.interface.ts +7 -0
  156. package/src/lib/interfaces/fab.interface.ts +20 -0
  157. package/src/lib/interfaces/icon-button.interface.ts +36 -0
  158. package/src/lib/interfaces/index.ts +16 -0
  159. package/src/lib/interfaces/navigation-rail-item.interface.ts +39 -0
  160. package/src/lib/interfaces/navigation-rail.interface.ts +39 -0
  161. package/src/lib/interfaces/progress-indicator.interface.ts +35 -0
  162. package/src/lib/interfaces/slider.interface.ts +27 -0
  163. package/src/lib/interfaces/snackbar.interface.ts +13 -0
  164. package/src/lib/interfaces/switch.interface.ts +14 -0
  165. package/src/lib/interfaces/tab.interface.ts +30 -0
  166. package/src/lib/interfaces/tabs.interface.ts +22 -0
  167. package/src/lib/interfaces/text-field.interface.ts +48 -0
  168. package/src/lib/interfaces/tooltip.interface.ts +35 -0
  169. package/src/lib/styles/button.style.ts +142 -0
  170. package/src/lib/styles/card.style.ts +21 -0
  171. package/src/lib/styles/carousel-item.style.ts +11 -0
  172. package/src/lib/styles/carousel.style.ts +12 -0
  173. package/src/lib/styles/divider.style.ts +17 -0
  174. package/src/lib/styles/fab.style.ts +55 -0
  175. package/src/lib/styles/icon-button.style.ts +167 -0
  176. package/src/lib/styles/index.ts +15 -0
  177. package/src/lib/styles/navigation-rail-item.style.ts +44 -0
  178. package/src/lib/styles/navigation-rail.style.ts +20 -0
  179. package/src/lib/styles/progress-indicator.style.ts +43 -0
  180. package/src/lib/styles/slider.style.ts +27 -0
  181. package/src/lib/styles/snackbar.style.ts +14 -0
  182. package/src/lib/styles/switch.style.ts +51 -0
  183. package/src/lib/styles/tab.style.ts +68 -0
  184. package/src/lib/styles/tabs.style.ts +13 -0
  185. package/src/lib/styles/text-field.style.ts +104 -0
  186. package/src/lib/styles/tooltip.style.ts +37 -0
  187. package/src/lib/utils/component-helper.ts +134 -0
  188. package/src/lib/utils/component.ts +34 -0
  189. package/src/lib/utils/index.ts +7 -0
  190. package/src/lib/utils/string.ts +9 -0
  191. package/src/lib/utils/styles/classnames.ts +49 -0
  192. package/src/lib/utils/styles/get-classname.ts +73 -0
  193. package/src/lib/utils/styles/index.ts +3 -0
  194. package/src/stories/action/button.stories.tsx +86 -0
  195. package/src/stories/action/fab.stories.tsx +54 -0
  196. package/src/stories/action/icon-button.stories.tsx +134 -0
  197. package/src/stories/assets/accessibility.png +0 -0
  198. package/src/stories/assets/accessibility.svg +5 -0
  199. package/src/stories/assets/addon-library.png +0 -0
  200. package/src/stories/assets/assets.png +0 -0
  201. package/src/stories/assets/context.png +0 -0
  202. package/src/stories/assets/discord.svg +15 -0
  203. package/src/stories/assets/docs.png +0 -0
  204. package/src/stories/assets/figma-plugin.png +0 -0
  205. package/src/stories/assets/github.svg +3 -0
  206. package/src/stories/assets/share.png +0 -0
  207. package/src/stories/assets/styling.png +0 -0
  208. package/src/stories/assets/testing.png +0 -0
  209. package/src/stories/assets/theming.png +0 -0
  210. package/src/stories/assets/tutorials.svg +12 -0
  211. package/src/stories/assets/youtube.svg +4 -0
  212. package/src/stories/communication/ProgressIndicator.stories.tsx +57 -0
  213. package/src/stories/communication/SnackBar.stories.tsx +32 -0
  214. package/src/stories/communication/tool-tip.stories.tsx +133 -0
  215. package/src/stories/containment/card.stories.tsx +42 -0
  216. package/src/stories/containment/carousel.stories.tsx +65 -0
  217. package/src/stories/containment/divider.stories.tsx +35 -0
  218. package/src/stories/effect/smooth-scroll.stories.tsx +45 -0
  219. package/src/stories/navigation/navigation-rail/navigation-rail-item.stories.tsx +65 -0
  220. package/src/stories/navigation/navigation-rail/navigation-rail.stories.tsx +122 -0
  221. package/src/stories/navigation/tabs/tab.stories.tsx +57 -0
  222. package/src/stories/navigation/tabs/tabs.stories.tsx +102 -0
  223. package/src/stories/selection/slider.stories.tsx +85 -0
  224. package/src/stories/selection/switch.stories.tsx +46 -0
  225. package/src/stories/text-inputs/text-field.stories.tsx +135 -0
  226. package/src/tests/Button.spec.tsx +67 -0
  227. package/src/udixio.css +120 -0
  228. package/theme.config.ts +7 -0
  229. package/tsconfig.json +22 -0
  230. package/tsconfig.lib.json +51 -0
  231. package/tsconfig.spec.json +37 -0
  232. package/tsconfig.storybook.json +38 -0
  233. package/vite.config.ts +77 -0
  234. package/index.js +0 -5
  235. package/index.mjs +0 -2823
  236. package/src/index.d.ts.map +0 -1
  237. package/src/lib/components/Button.d.ts +0 -7
  238. package/src/lib/components/Button.d.ts.map +0 -1
  239. package/src/lib/components/Card.d.ts.map +0 -1
  240. package/src/lib/components/Carousel.d.ts.map +0 -1
  241. package/src/lib/components/CarouselItem.d.ts.map +0 -1
  242. package/src/lib/components/Divided.d.ts +0 -4
  243. package/src/lib/components/Divided.d.ts.map +0 -1
  244. package/src/lib/components/Fab.d.ts +0 -4
  245. package/src/lib/components/Fab.d.ts.map +0 -1
  246. package/src/lib/components/IconButton.d.ts +0 -5
  247. package/src/lib/components/IconButton.d.ts.map +0 -1
  248. package/src/lib/components/NavigationRail.d.ts.map +0 -1
  249. package/src/lib/components/NavigationRailItem.d.ts.map +0 -1
  250. package/src/lib/components/ProgressIndicator.d.ts +0 -4
  251. package/src/lib/components/ProgressIndicator.d.ts.map +0 -1
  252. package/src/lib/components/Slider.d.ts.map +0 -1
  253. package/src/lib/components/Snackbar.d.ts +0 -4
  254. package/src/lib/components/Snackbar.d.ts.map +0 -1
  255. package/src/lib/components/Switch.d.ts.map +0 -1
  256. package/src/lib/components/Tab.d.ts.map +0 -1
  257. package/src/lib/components/Tabs.d.ts.map +0 -1
  258. package/src/lib/components/TextField.d.ts.map +0 -1
  259. package/src/lib/components/ToolTip.d.ts.map +0 -1
  260. package/src/lib/components/index.d.ts.map +0 -1
  261. package/src/lib/effects/SyncedFixedWrapper.d.ts.map +0 -1
  262. package/src/lib/effects/custom-scroll/custom-scroll.effect.d.ts.map +0 -1
  263. package/src/lib/effects/custom-scroll/custom-scroll.interface.d.ts.map +0 -1
  264. package/src/lib/effects/custom-scroll/custom-scroll.style.d.ts.map +0 -1
  265. package/src/lib/effects/custom-scroll/index.d.ts.map +0 -1
  266. package/src/lib/effects/index.d.ts.map +0 -1
  267. package/src/lib/effects/ripple/RippleEffect.d.ts.map +0 -1
  268. package/src/lib/effects/ripple/index.d.ts.map +0 -1
  269. package/src/lib/effects/smooth-scroll.effect.d.ts.map +0 -1
  270. package/src/lib/icon/icon.d.ts.map +0 -1
  271. package/src/lib/icon/index.d.ts.map +0 -1
  272. package/src/lib/index.d.ts.map +0 -1
  273. package/src/lib/interfaces/button.interface.d.ts.map +0 -1
  274. package/src/lib/interfaces/card.interface.d.ts.map +0 -1
  275. package/src/lib/interfaces/carousel-item.interface.d.ts.map +0 -1
  276. package/src/lib/interfaces/carousel.interface.d.ts.map +0 -1
  277. package/src/lib/interfaces/divider.interface.d.ts.map +0 -1
  278. package/src/lib/interfaces/fab.interface.d.ts.map +0 -1
  279. package/src/lib/interfaces/icon-button.interface.d.ts.map +0 -1
  280. package/src/lib/interfaces/index.d.ts.map +0 -1
  281. package/src/lib/interfaces/navigation-rail-item.interface.d.ts.map +0 -1
  282. package/src/lib/interfaces/navigation-rail.interface.d.ts.map +0 -1
  283. package/src/lib/interfaces/progress-indicator.interface.d.ts.map +0 -1
  284. package/src/lib/interfaces/slider.interface.d.ts.map +0 -1
  285. package/src/lib/interfaces/snackbar.interface.d.ts.map +0 -1
  286. package/src/lib/interfaces/switch.interface.d.ts.map +0 -1
  287. package/src/lib/interfaces/tab.interface.d.ts.map +0 -1
  288. package/src/lib/interfaces/tabs.interface.d.ts.map +0 -1
  289. package/src/lib/interfaces/text-field.interface.d.ts.map +0 -1
  290. package/src/lib/interfaces/tooltip.interface.d.ts.map +0 -1
  291. package/src/lib/styles/button.style.d.ts.map +0 -1
  292. package/src/lib/styles/card.style.d.ts.map +0 -1
  293. package/src/lib/styles/carousel-item.style.d.ts.map +0 -1
  294. package/src/lib/styles/carousel.style.d.ts.map +0 -1
  295. package/src/lib/styles/divider.style.d.ts.map +0 -1
  296. package/src/lib/styles/fab.style.d.ts.map +0 -1
  297. package/src/lib/styles/icon-button.style.d.ts.map +0 -1
  298. package/src/lib/styles/index.d.ts.map +0 -1
  299. package/src/lib/styles/navigation-rail-item.style.d.ts.map +0 -1
  300. package/src/lib/styles/navigation-rail.style.d.ts.map +0 -1
  301. package/src/lib/styles/progress-indicator.style.d.ts.map +0 -1
  302. package/src/lib/styles/slider.style.d.ts.map +0 -1
  303. package/src/lib/styles/snackbar.style.d.ts.map +0 -1
  304. package/src/lib/styles/switch.style.d.ts.map +0 -1
  305. package/src/lib/styles/tab.style.d.ts.map +0 -1
  306. package/src/lib/styles/tabs.style.d.ts.map +0 -1
  307. package/src/lib/styles/text-field.style.d.ts.map +0 -1
  308. package/src/lib/styles/tooltip.style.d.ts.map +0 -1
  309. package/src/lib/utils/component-helper.d.ts.map +0 -1
  310. package/src/lib/utils/component.d.ts.map +0 -1
  311. package/src/lib/utils/index.d.ts.map +0 -1
  312. package/src/lib/utils/string.d.ts.map +0 -1
  313. package/src/lib/utils/styles/classnames.d.ts.map +0 -1
  314. package/src/lib/utils/styles/get-classname.d.ts.map +0 -1
  315. package/src/lib/utils/styles/index.d.ts.map +0 -1
  316. /package/{LICENSE → dist/LICENSE} +0 -0
  317. /package/{src → dist}/index.d.ts +0 -0
  318. /package/{src → dist}/lib/effects/SyncedFixedWrapper.d.ts +0 -0
  319. /package/{src → dist}/lib/effects/custom-scroll/custom-scroll.effect.d.ts +0 -0
  320. /package/{src → dist}/lib/effects/custom-scroll/custom-scroll.interface.d.ts +0 -0
  321. /package/{src → dist}/lib/effects/custom-scroll/custom-scroll.style.d.ts +0 -0
  322. /package/{src → dist}/lib/effects/custom-scroll/index.d.ts +0 -0
  323. /package/{src → dist}/lib/effects/index.d.ts +0 -0
  324. /package/{src → dist}/lib/effects/ripple/RippleEffect.d.ts +0 -0
  325. /package/{src → dist}/lib/effects/ripple/index.d.ts +0 -0
  326. /package/{src → dist}/lib/effects/smooth-scroll.effect.d.ts +0 -0
  327. /package/{src → dist}/lib/icon/icon.d.ts +0 -0
  328. /package/{src → dist}/lib/icon/index.d.ts +0 -0
  329. /package/{src → dist}/lib/index.d.ts +0 -0
  330. /package/{src → dist}/lib/interfaces/carousel-item.interface.d.ts +0 -0
  331. /package/{src → dist}/lib/interfaces/divider.interface.d.ts +0 -0
  332. /package/{src → dist}/lib/interfaces/index.d.ts +0 -0
  333. /package/{src → dist}/lib/interfaces/navigation-rail.interface.d.ts +0 -0
  334. /package/{src → dist}/lib/interfaces/progress-indicator.interface.d.ts +0 -0
  335. /package/{src → dist}/lib/interfaces/slider.interface.d.ts +0 -0
  336. /package/{src → dist}/lib/interfaces/switch.interface.d.ts +0 -0
  337. /package/{src → dist}/lib/interfaces/tab.interface.d.ts +0 -0
  338. /package/{src → dist}/lib/interfaces/text-field.interface.d.ts +0 -0
  339. /package/{src → dist}/lib/interfaces/tooltip.interface.d.ts +0 -0
  340. /package/{src → dist}/lib/styles/carousel-item.style.d.ts +0 -0
  341. /package/{src → dist}/lib/styles/divider.style.d.ts +0 -0
  342. /package/{src → dist}/lib/styles/index.d.ts +0 -0
  343. /package/{src → dist}/lib/styles/navigation-rail.style.d.ts +0 -0
  344. /package/{src → dist}/lib/styles/progress-indicator.style.d.ts +0 -0
  345. /package/{src → dist}/lib/styles/slider.style.d.ts +0 -0
  346. /package/{src → dist}/lib/styles/switch.style.d.ts +0 -0
  347. /package/{src → dist}/lib/styles/text-field.style.d.ts +0 -0
  348. /package/{src → dist}/lib/styles/tooltip.style.d.ts +0 -0
  349. /package/{src → dist}/lib/utils/component-helper.d.ts +0 -0
  350. /package/{src → dist}/lib/utils/index.d.ts +0 -0
  351. /package/{src → dist}/lib/utils/string.d.ts +0 -0
  352. /package/{src → dist}/lib/utils/styles/classnames.d.ts +0 -0
  353. /package/{src → dist}/lib/utils/styles/get-classname.d.ts +0 -0
  354. /package/{src → dist}/lib/utils/styles/index.d.ts +0 -0
@@ -0,0 +1,287 @@
1
+ import { useEffect, useLayoutEffect, useRef, useState } from 'react';
2
+ import { motion, useMotionValueEvent, useScroll } from 'motion/react';
3
+ import { throttle } from 'throttle-debounce';
4
+ import { CustomScrollInterface } from './custom-scroll.interface';
5
+ import { customScrollStyle } from './custom-scroll.style';
6
+ import { ReactProps } from '../../utils';
7
+
8
+ export const CustomScroll = ({
9
+ children,
10
+ orientation = 'vertical',
11
+ scrollSize,
12
+ onScroll,
13
+ className,
14
+ draggable = false,
15
+ throttleDuration = 75,
16
+ }: ReactProps<CustomScrollInterface>) => {
17
+ const ref = useRef<HTMLDivElement>(null);
18
+ const contentRef = useRef<HTMLDivElement>(null);
19
+
20
+ // Ajout de l'état pour la largeur et la hauteur
21
+ const [dimensions, setDimensions] = useState<{
22
+ width: number | null;
23
+ height: number | null;
24
+ }>({
25
+ width: null,
26
+ height: null,
27
+ });
28
+
29
+ // Utilisation de ResizeObserver pour surveiller la largeur ET la hauteur
30
+ useEffect(() => {
31
+ if (!ref.current) return;
32
+
33
+ const observer = new ResizeObserver((entries) => {
34
+ for (const entry of entries) {
35
+ if (entry.target === ref.current) {
36
+ setDimensions({
37
+ width: entry.contentRect.width,
38
+ height: entry.contentRect.height, // On observe aussi la hauteur maintenant
39
+ });
40
+ }
41
+ }
42
+ });
43
+
44
+ observer.observe(ref.current);
45
+
46
+ return () => {
47
+ observer.disconnect();
48
+ };
49
+ }, [ref]);
50
+
51
+ const contentScrollSize = useRef<{
52
+ height: number;
53
+ width: number;
54
+ } | null>(null);
55
+ const containerSize = useRef<{
56
+ height: number;
57
+ width: number;
58
+ } | null>(null);
59
+
60
+ const getContentScrollSize = () => {
61
+ const el = contentRef.current;
62
+ if (!el) {
63
+ return null;
64
+ }
65
+ return {
66
+ width: scrollSize ?? el.scrollWidth,
67
+ height: scrollSize ?? el.scrollHeight,
68
+ };
69
+ };
70
+ const getContainerSize = (): { width: number; height: number } | null => {
71
+ const el = ref.current;
72
+ if (!el) {
73
+ return null;
74
+ }
75
+ return {
76
+ width: el.clientWidth,
77
+ height: el.clientHeight, // Correction ici pour retourner la bonne hauteur
78
+ };
79
+ };
80
+
81
+ const { scrollYProgress, scrollXProgress } = useScroll({
82
+ container: ref,
83
+ });
84
+
85
+ const handleScrollThrottledRef = useRef<
86
+ ((latestValue: number, scrollOrientation: 'x' | 'y') => void) | null
87
+ >(null);
88
+
89
+ if (!handleScrollThrottledRef.current) {
90
+ handleScrollThrottledRef.current = throttle(
91
+ throttleDuration,
92
+ (latestValue, scrollOrientation: 'x' | 'y') => {
93
+ if (!containerSize.current || !contentScrollSize.current) return;
94
+ if (onScroll) {
95
+ if (orientation === 'horizontal' && scrollOrientation === 'x') {
96
+ onScroll({
97
+ scrollProgress: latestValue,
98
+ scroll: latestValue * contentScrollSize.current.width,
99
+ scrollTotal: contentScrollSize.current.width,
100
+ scrollVisible: containerSize.current.width,
101
+ });
102
+ }
103
+ if (orientation === 'vertical' && scrollOrientation === 'y') {
104
+ onScroll({
105
+ scrollProgress: latestValue,
106
+ scroll: latestValue * contentScrollSize.current.height,
107
+ scrollTotal: contentScrollSize.current.height,
108
+ scrollVisible: containerSize.current.height,
109
+ });
110
+ }
111
+ }
112
+ },
113
+ );
114
+ }
115
+
116
+ const handleScroll = (latestValue: number, scrollOrientation: 'x' | 'y') => {
117
+ if (handleScrollThrottledRef.current) {
118
+ handleScrollThrottledRef.current(latestValue, scrollOrientation);
119
+ }
120
+ };
121
+
122
+ // Gestion des changements pour la width ET la height
123
+ useEffect(() => {
124
+ if (dimensions.width) handleScroll(scrollXProgress.get(), 'x');
125
+ if (dimensions.height) handleScroll(scrollYProgress.get(), 'y'); // Nouvelle ligne : mise à jour pour la hauteur
126
+ }, [dimensions]);
127
+
128
+ useMotionValueEvent(scrollXProgress, 'change', (latestValue) => {
129
+ handleScroll(latestValue, 'x');
130
+ });
131
+ useMotionValueEvent(scrollYProgress, 'change', (latestValue) => {
132
+ handleScroll(latestValue, 'y');
133
+ });
134
+
135
+ const [isInitialized, setIsInitialized] = useState(false);
136
+ useLayoutEffect(() => {
137
+ if (isInitialized) return;
138
+ if (!containerSize.current || !contentScrollSize.current || !onScroll)
139
+ return;
140
+
141
+ onScroll({
142
+ scrollProgress: 0,
143
+ scroll: 0,
144
+ scrollTotal:
145
+ orientation == 'vertical'
146
+ ? contentScrollSize.current.height
147
+ : contentScrollSize.current.width,
148
+ scrollVisible:
149
+ orientation == 'vertical'
150
+ ? containerSize.current.height
151
+ : containerSize.current.width,
152
+ });
153
+ setIsInitialized(true);
154
+ }, [containerSize, contentScrollSize, onScroll]);
155
+
156
+ contentScrollSize.current = getContentScrollSize();
157
+ containerSize.current = getContainerSize();
158
+ const [isDragging, setIsDragging] = useState(false);
159
+
160
+ const styles = customScrollStyle({
161
+ isDragging,
162
+ children,
163
+ className,
164
+ onScroll,
165
+ orientation,
166
+ scrollSize,
167
+ draggable,
168
+ throttleDuration,
169
+ });
170
+
171
+ const [startX, setStartX] = useState<number | null>(0);
172
+ const [scrollLeft, setScrollLeft] = useState(0);
173
+
174
+ const handleDrag = (e: MouseEvent) => {
175
+ if (!draggable) return;
176
+ const container = ref.current;
177
+ if (!container) return;
178
+ if (startX == null) return;
179
+ const x = e.pageX - container.offsetLeft; // Déplace au fur et à mesure
180
+ const walk = (x - startX) * 1.5; // Sensibilité du drag
181
+ container.scrollLeft = scrollLeft - walk; // Mise à jour manuelle du défilement
182
+ };
183
+
184
+ const handleMouseDown = (e: any) => {
185
+ const container = ref.current;
186
+ if (!container) return;
187
+ setIsDragging(true);
188
+ setStartX(e.pageX - container.offsetLeft); // Détecte la position initiale
189
+ setScrollLeft(container.scrollLeft); // Stocke la position de défilement actuelle
190
+ };
191
+
192
+ const handleMouseMove = (e: any) => {
193
+ if (!isDragging) return;
194
+ e.preventDefault();
195
+ handleDrag(e);
196
+ };
197
+
198
+ const handleMouseUp = () => {
199
+ setIsDragging(false);
200
+ };
201
+
202
+ const handleMouseLeave = () => {
203
+ setIsDragging(false);
204
+ };
205
+ const handleDragStart = (e: any) => {
206
+ e.preventDefault();
207
+ };
208
+
209
+ const timerRef = useRef<NodeJS.Timeout | null>(null);
210
+
211
+ useEffect(() => {
212
+ // Nettoie le timer lorsqu'on quitte le composant (important pour éviter les fuites de mémoire)
213
+ return () => {
214
+ if (timerRef.current) {
215
+ clearTimeout(timerRef.current);
216
+ }
217
+ };
218
+ }, []);
219
+
220
+ return (
221
+ <div
222
+ className={styles.customScroll}
223
+ ref={ref}
224
+ onMouseDown={handleMouseDown}
225
+ onMouseMove={handleMouseMove}
226
+ onMouseUp={handleMouseUp}
227
+ onMouseLeave={handleMouseLeave}
228
+ onDragStart={handleDragStart}
229
+ onScroll={(e) => {
230
+ if (!isDragging) {
231
+ // Met à jour l'état pour indiquer que le scroll est en cours
232
+ setStartX(null);
233
+ setIsDragging(true);
234
+ // Réinitialiser le timer (on le supprime si des scrolls successifs se produisent)
235
+ if (timerRef.current) {
236
+ clearTimeout(timerRef.current);
237
+ }
238
+
239
+ // Créer un nouveau timer : `isDrawing` sera désactivé après 1 seconde
240
+ timerRef.current = setTimeout(() => {
241
+ setIsDragging(false);
242
+ }, 1000); // 1000ms = 1 seconde
243
+ }
244
+ }}
245
+ >
246
+ <div
247
+ ref={contentRef}
248
+ style={
249
+ orientation === 'vertical'
250
+ ? { height: containerSize?.current?.height ?? '100%' }
251
+ : { width: containerSize?.current?.width ?? '100%' }
252
+ }
253
+ className={styles.track}
254
+ >
255
+ {children}
256
+ </div>
257
+
258
+ {containerSize.current && contentScrollSize.current && (
259
+ <>
260
+ {orientation === 'vertical' &&
261
+ contentScrollSize.current.height > containerSize.current.height && (
262
+ <motion.div
263
+ className={'flex-none'}
264
+ style={{
265
+ height:
266
+ contentScrollSize.current.height -
267
+ containerSize.current.height,
268
+ }}
269
+ />
270
+ )}
271
+
272
+ {orientation === 'horizontal' &&
273
+ contentScrollSize.current.width > containerSize.current.width && (
274
+ <motion.div
275
+ className={'flex-none'}
276
+ style={{
277
+ width:
278
+ contentScrollSize.current.width -
279
+ containerSize.current.width,
280
+ }}
281
+ />
282
+ )}
283
+ </>
284
+ )}
285
+ </div>
286
+ );
287
+ };
@@ -0,0 +1,25 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ type Props = {
4
+ children: ReactNode;
5
+ orientation?: 'vertical' | 'horizontal';
6
+ scrollSize?: number;
7
+ onScroll?: (args: {
8
+ scroll: number;
9
+ scrollProgress: number;
10
+ scrollTotal: number;
11
+ scrollVisible: number;
12
+ }) => void;
13
+ draggable?: boolean;
14
+ throttleDuration?: number;
15
+ };
16
+ type CustomScrollStates = {
17
+ isDragging: boolean;
18
+ };
19
+
20
+ export interface CustomScrollInterface {
21
+ type: 'div';
22
+ props: Props;
23
+ states: CustomScrollStates;
24
+ elements: ['customScroll', 'track'];
25
+ }
@@ -0,0 +1,32 @@
1
+ import { CustomScrollInterface } from './custom-scroll.interface';
2
+ import { classNames, defaultClassNames } from '../../utils';
3
+
4
+ export const customScrollStyle = defaultClassNames<CustomScrollInterface>(
5
+ 'customScroll',
6
+ ({ orientation, draggable, isDragging }) => ({
7
+ customScroll: classNames(
8
+ 'flex h-full w-full',
9
+ draggable && [
10
+ '[&::-webkit-scrollbar-track]:rounded-full',
11
+ '[&::-webkit-scrollbar-track]:bg-transparent',
12
+ '[&::-webkit-scrollbar-thumb]:rounded-full',
13
+ {
14
+ '[&::-webkit-scrollbar-thumb]:bg-outline': isDragging,
15
+ '[&::-webkit-scrollbar-thumb]:bg-transparent': !isDragging,
16
+ },
17
+ { '[&::-webkit-scrollbar]:h-2': orientation === 'horizontal' },
18
+ { '[&::-webkit-scrollbar]:w-2': orientation === 'vertical' },
19
+ ],
20
+ {
21
+ 'overflow-y-scroll flex-col': orientation === 'vertical',
22
+ 'overflow-x-scroll flex-row': orientation === 'horizontal',
23
+ 'cursor-grab': draggable && !isDragging,
24
+ 'cursor-grabbing': draggable && isDragging,
25
+ }
26
+ ),
27
+ track: classNames('overflow-hidden flex-none sticky', {
28
+ 'left-0 h-full': orientation === 'horizontal',
29
+ 'top-0 w-full': orientation === 'vertical',
30
+ }),
31
+ })
32
+ );
@@ -0,0 +1,3 @@
1
+ export * from './custom-scroll.effect';
2
+ export * from './custom-scroll.style';
3
+ export * from './custom-scroll.interface';
@@ -0,0 +1,4 @@
1
+ export * from './ripple';
2
+ export * from './custom-scroll';
3
+ export * from './smooth-scroll.effect';
4
+ export * from './SyncedFixedWrapper';
@@ -0,0 +1,103 @@
1
+ import { AnimatePresence, motion } from 'motion/react';
2
+ import React, { useEffect, useState } from 'react';
3
+
4
+ interface RippleEffectProps {
5
+ triggerRef: React.RefObject<any> | React.ForwardedRef<any>;
6
+ colorName?: string;
7
+ }
8
+
9
+ const RippleEffect: React.FC<RippleEffectProps> = ({
10
+ colorName = 'on-surface',
11
+ triggerRef,
12
+ }) => {
13
+ const ripple = {
14
+ initial: {
15
+ opacity: 0,
16
+ borderRadius: '50%',
17
+ width: '25%',
18
+ height: '25%',
19
+ },
20
+ animate: {
21
+ opacity: 1,
22
+ borderRadius: 0,
23
+ width: '200%',
24
+ height: '200%',
25
+ transition: {
26
+ duration: 0.3,
27
+ borderRadius: { duration: 0.3, delay: 0.3 },
28
+ },
29
+ },
30
+ };
31
+
32
+ const [isCompleted, setIsCompleted] = useState(true);
33
+ const [isActive, setIsActive] = useState(false);
34
+ const [coordinates, setCoordinates] = useState({ x: 0, y: 0 });
35
+
36
+ useEffect(() => {
37
+ if (isActive) {
38
+ setIsCompleted(true);
39
+ setIsCompleted(false);
40
+ }
41
+ }, [isActive]);
42
+
43
+ useEffect(() => {
44
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
45
+ // @ts-expect-error
46
+ const element = triggerRef?.current;
47
+ if (element) {
48
+ element.addEventListener('mousedown', handleMouseDown);
49
+ element.addEventListener('mouseup', handleMouseUp);
50
+ element.addEventListener('mouseleave', handleMouseLeave);
51
+ return () => {
52
+ element.removeEventListener('mousedown', handleMouseDown);
53
+ element.removeEventListener('mouseup', handleMouseUp);
54
+ element.removeEventListener('mouseleave', handleMouseLeave);
55
+ };
56
+ }
57
+ }, [triggerRef]);
58
+
59
+ const handleMouseDown = (e: MouseEvent) => {
60
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
61
+ // @ts-expect-error
62
+ const el = triggerRef?.current as Element;
63
+ const rect = el.getBoundingClientRect();
64
+ setIsActive(true);
65
+ setCoordinates({
66
+ x: ((e.clientX - rect.left) / el.clientWidth) * 100,
67
+ y: ((e.clientY - rect.top) / el.clientHeight) * 100,
68
+ });
69
+ };
70
+ const handleMouseLeave = (e: MouseEvent) => {
71
+ setIsActive(false);
72
+ };
73
+
74
+ const handleMouseUp = (e: MouseEvent) => {
75
+ setIsActive(false);
76
+ };
77
+
78
+ return (
79
+ <AnimatePresence mode="wait">
80
+ {(isActive || (!isActive && !isCompleted)) && (
81
+ <motion.div
82
+ style={{
83
+ position: 'absolute',
84
+ width: '100%',
85
+ height: '100%',
86
+ top: coordinates.y + '%',
87
+ left: coordinates.x + '%',
88
+ background: `color-mix(in srgb, var(--color-${colorName}) 12%, transparent)`,
89
+ pointerEvents: 'none',
90
+ }}
91
+ variants={ripple}
92
+ initial="initial"
93
+ animate={'animate'}
94
+ exit={{ opacity: 0, transition: { duration: 0 } }}
95
+ onAnimationComplete={() => setIsCompleted(true)}
96
+ className={'transform -translate-x-1/2 -translate-y-1/2'}
97
+ />
98
+ )}
99
+ </AnimatePresence>
100
+ );
101
+ };
102
+
103
+ export default RippleEffect;
@@ -0,0 +1 @@
1
+ export { default as RippleEffect } from './RippleEffect';
@@ -0,0 +1,91 @@
1
+ import { ReactNode, useRef, useState } from 'react';
2
+ import {
3
+ motion,
4
+ motionValue,
5
+ useMotionValueEvent,
6
+ useTransform,
7
+ } from 'motion/react';
8
+ import { CustomScroll, CustomScrollInterface } from './custom-scroll';
9
+ import { classNames, ReactProps } from '../utils';
10
+
11
+ export const SmoothScroll = ({
12
+ children,
13
+ transition = '.5s',
14
+ orientation = 'vertical',
15
+ throttleDuration = 25,
16
+ ...restProps
17
+ }: {
18
+ children: ReactNode;
19
+ transition?: string;
20
+ } & ReactProps<CustomScrollInterface>) => {
21
+ const [scroll, setScroll] = useState<{
22
+ scrollProgress: number;
23
+ scrollTotal: number;
24
+ scrollVisible: number;
25
+ scroll: number;
26
+ } | null>(null);
27
+
28
+ const scrollProgress = motionValue(scroll?.scrollProgress ?? 0);
29
+
30
+ const transform = useTransform(
31
+ scrollProgress,
32
+ [0, 1],
33
+ [0, 1 - (scroll?.scrollVisible ?? 0) / (scroll?.scrollTotal ?? 0)]
34
+ );
35
+
36
+ const percentTransform = useTransform(
37
+ transform,
38
+ (value) => `${-value * 100}%`
39
+ );
40
+
41
+ const handleScroll = (args: {
42
+ scrollProgress: number;
43
+ scrollTotal: number;
44
+ scrollVisible: number;
45
+ scroll: number;
46
+ }) => {
47
+ scrollProgress.set(args.scrollProgress);
48
+ if (args.scrollTotal > 0) {
49
+ setScroll(args);
50
+ }
51
+ };
52
+ const lastChangeTimeRef = useRef<number | null>(null);
53
+ useMotionValueEvent(percentTransform, 'change', (value) => {
54
+ // Récupérer l'heure actuelle
55
+ const now = performance.now();
56
+
57
+ // Si une heure précédente existe, calculer le delta
58
+ if (lastChangeTimeRef.current !== null) {
59
+ const deltaTime = now - lastChangeTimeRef.current;
60
+ console.log(`Delta temps : ${deltaTime} ms`);
61
+ }
62
+
63
+ // Mettre à jour l'heure du dernier changement
64
+ lastChangeTimeRef.current = now;
65
+
66
+ console.log(value); // Affiche également la valeur si nécessaire
67
+ });
68
+
69
+ return (
70
+ <CustomScroll
71
+ onScroll={handleScroll}
72
+ throttleDuration={throttleDuration}
73
+ {...restProps}
74
+ >
75
+ <motion.div
76
+ className={classNames('transition-transform ease-out', {
77
+ 'w-fit h-full': orientation === 'horizontal',
78
+ 'h-fit w-full': orientation === 'vertical',
79
+ })}
80
+ style={{
81
+ transitionDuration: transition,
82
+ ...(orientation == 'vertical'
83
+ ? { y: percentTransform }
84
+ : { x: percentTransform }),
85
+ }}
86
+ >
87
+ {children}
88
+ </motion.div>
89
+ </CustomScroll>
90
+ );
91
+ };
@@ -0,0 +1,47 @@
1
+ import type React from 'react';
2
+ import { IconDefinition } from '@fortawesome/fontawesome-svg-core';
3
+ import { classNames } from '../utils';
4
+
5
+ interface Props {
6
+ icon: IconDefinition;
7
+ colors?: string[];
8
+ className?: string;
9
+ }
10
+
11
+ export const Icon: React.FC<Props> = ({ icon, colors = [], className }) => {
12
+ const { icon: iconData } = icon; // Extraction des données de l'icône.
13
+ const [width, height, , , svgPathData] = iconData || [];
14
+
15
+ const getColorStyle = (colors: string[]): React.CSSProperties => {
16
+ switch (colors.length) {
17
+ case 2:
18
+ return {
19
+ '--fa-primary-color': colors[0] || 'inherit',
20
+ '--fa-secondary-color': colors[1] || 'inherit',
21
+ } as React.CSSProperties;
22
+ case 1:
23
+ return { color: colors[0] } as React.CSSProperties;
24
+ default:
25
+ return {};
26
+ }
27
+ };
28
+
29
+ return (
30
+ <svg
31
+ className={classNames('size-5 box-content', className)}
32
+ style={{
33
+ ...getColorStyle(colors),
34
+ }}
35
+ xmlns="http://www.w3.org/2000/svg"
36
+ viewBox={`0 0 ${width} ${height}`}
37
+ role="img"
38
+ aria-hidden="true"
39
+ >
40
+ {typeof svgPathData === 'string' ? (
41
+ <path className={'fill-current'} d={svgPathData} />
42
+ ) : (
43
+ svgPathData.map((d, index) => <path key={index} d={d} />)
44
+ )}
45
+ </svg>
46
+ );
47
+ };
@@ -0,0 +1 @@
1
+ export * from './icon';
@@ -0,0 +1,6 @@
1
+ export * from './components';
2
+ export * from './effects';
3
+ export * from './icon';
4
+ export * from './interfaces';
5
+ export * from './styles';
6
+ export * from './utils';
@@ -0,0 +1,54 @@
1
+ import { IconDefinition } from '@fortawesome/fontawesome-svg-core';
2
+ import { ActionOrLink } from '../utils';
3
+ import { Transition } from 'motion';
4
+
5
+ type Props = {
6
+ /**
7
+ * The label is the text that is displayed on the button.
8
+ */
9
+ label?: string;
10
+
11
+ children?: string;
12
+
13
+ size?: 'xSmall' | 'small' | 'medium' | 'large' | 'xLarge';
14
+
15
+ /**
16
+ * The button variant determines the style of the button.
17
+ */
18
+ variant?: 'filled' | 'elevated' | 'tonal' | 'outlined' | 'text';
19
+
20
+ /**
21
+ * Disables the button if set to true.
22
+ */
23
+ disabled?: boolean;
24
+
25
+ /**
26
+ * An optional icon to display in the button.
27
+ */
28
+ icon?: IconDefinition;
29
+
30
+ iconPosition?: 'left' | 'right';
31
+
32
+ loading?: boolean;
33
+
34
+ /**
35
+ * The shape of the button defines whether it is squared or rounded.
36
+ */
37
+ shape?: 'squared' | 'rounded';
38
+
39
+ allowShapeTransformation?: boolean;
40
+
41
+ transition?: Transition;
42
+
43
+ onToggle?: (isActive: boolean) => void;
44
+ activated?: boolean;
45
+ };
46
+
47
+ type Elements = ['button', 'touchTarget', 'stateLayer', 'icon', 'label'];
48
+
49
+ export type ButtonInterface = ActionOrLink<Props> & {
50
+ elements: Elements;
51
+ states: {
52
+ isActive: boolean;
53
+ };
54
+ };
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ export interface CardInterface {
4
+ type: 'div';
5
+ props: {
6
+ variant?: 'outlined' | 'elevated' | 'filled';
7
+ isInteractive?: boolean;
8
+ children: ReactNode;
9
+ };
10
+ elements: ['card', 'stateLayer'];
11
+ }
@@ -0,0 +1,11 @@
1
+ import { ReactNode } from 'react';
2
+
3
+ export interface CarouselItemInterface {
4
+ type: 'div';
5
+ props: {
6
+ children?: ReactNode | undefined;
7
+ width?: number;
8
+ index?: number;
9
+ };
10
+ elements: ['carouselItem'];
11
+ }