@studiocubics/components 0.0.1 → 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 (433) hide show
  1. package/dist/Cards/Card/Card.d.ts +49 -0
  2. package/dist/Cards/Card/Card.js +45 -0
  3. package/dist/Cards/Card/Card.js.map +1 -0
  4. package/dist/Cards/Card/Card.module.css.js +4 -0
  5. package/dist/Cards/Card/Card.module.css.js.map +1 -0
  6. package/dist/Cards/CollectionItemCard/CollectionItemCard.d.ts +55 -0
  7. package/dist/Cards/CollectionItemCard/CollectionItemCard.js +48 -0
  8. package/dist/Cards/CollectionItemCard/CollectionItemCard.js.map +1 -0
  9. package/dist/Cards/CollectionItemCard/CollectionItemCard.module.css.js +4 -0
  10. package/dist/Cards/CollectionItemCard/CollectionItemCard.module.css.js.map +1 -0
  11. package/dist/Cards/CollectionItemCard/CollectionItemCardActions.d.ts +19 -0
  12. package/dist/Cards/CollectionItemCard/CollectionItemCardActions.js +34 -0
  13. package/dist/Cards/CollectionItemCard/CollectionItemCardActions.js.map +1 -0
  14. package/dist/Cards/GlassCard/GlassCard.d.ts +7 -0
  15. package/dist/Cards/GlassCard/GlassCard.js +52 -0
  16. package/dist/Cards/GlassCard/GlassCard.js.map +1 -0
  17. package/dist/Cards/GlassCard/GlassCard.module.css.js +4 -0
  18. package/dist/Cards/GlassCard/GlassCard.module.css.js.map +1 -0
  19. package/dist/Display/Accordion/Accordion.d.ts +14 -0
  20. package/dist/Display/Accordion/Accordion.js +28 -0
  21. package/dist/Display/Accordion/Accordion.js.map +1 -0
  22. package/dist/Display/Accordion/Accordion.module.css.js +4 -0
  23. package/dist/Display/Accordion/Accordion.module.css.js.map +1 -0
  24. package/dist/Display/Accordion/AccordionItem.d.ts +15 -0
  25. package/dist/Display/Accordion/AccordionItem.js +56 -0
  26. package/dist/Display/Accordion/AccordionItem.js.map +1 -0
  27. package/dist/Display/Chip/Chip.d.ts +46 -0
  28. package/dist/Display/Chip/Chip.js +43 -0
  29. package/dist/Display/Chip/Chip.js.map +1 -0
  30. package/dist/Display/Chip/Chip.module.css.js +4 -0
  31. package/dist/Display/Chip/Chip.module.css.js.map +1 -0
  32. package/dist/Display/IdentityDisplay/IdentityDisplay.d.ts +21 -0
  33. package/dist/Display/IdentityDisplay/IdentityDisplay.js +36 -0
  34. package/dist/Display/IdentityDisplay/IdentityDisplay.js.map +1 -0
  35. package/dist/Display/IdentityDisplay/IdentityDisplay.module.css.js +4 -0
  36. package/dist/Display/IdentityDisplay/IdentityDisplay.module.css.js.map +1 -0
  37. package/dist/Display/InputErrors/InputErrors.d.ts +11 -0
  38. package/dist/Display/InputErrors/InputErrors.js +25 -0
  39. package/dist/Display/InputErrors/InputErrors.js.map +1 -0
  40. package/dist/Display/InputErrors/InputErrors.module.css.js +4 -0
  41. package/dist/Display/InputErrors/InputErrors.module.css.js.map +1 -0
  42. package/dist/Display/Kbd/Kbd.d.ts +8 -0
  43. package/dist/Display/Kbd/Kbd.js +19 -0
  44. package/dist/Display/Kbd/Kbd.js.map +1 -0
  45. package/dist/Display/Kbd/Kbd.module.css.js +4 -0
  46. package/dist/Display/Kbd/Kbd.module.css.js.map +1 -0
  47. package/dist/Display/Kbd/buttonList.d.ts +324 -0
  48. package/dist/Display/Kbd/buttonList.js +198 -0
  49. package/dist/Display/Kbd/buttonList.js.map +1 -0
  50. package/dist/Display/LabeledValue/LabeledValue.d.ts +9 -0
  51. package/dist/Display/LabeledValue/LabeledValue.js +11 -0
  52. package/dist/Display/LabeledValue/LabeledValue.js.map +1 -0
  53. package/dist/Display/LabeledValue/LabeledValue.module.css.js +4 -0
  54. package/dist/Display/LabeledValue/LabeledValue.module.css.js.map +1 -0
  55. package/dist/Display/List/List.d.ts +50 -0
  56. package/dist/Display/List/List.js +96 -0
  57. package/dist/Display/List/List.js.map +1 -0
  58. package/dist/Display/List/List.module.css.js +4 -0
  59. package/dist/Display/List/List.module.css.js.map +1 -0
  60. package/dist/Display/PasswordStrength/PasswordStrength.d.ts +4 -0
  61. package/dist/Display/PasswordStrength/PasswordStrength.js +17 -0
  62. package/dist/Display/PasswordStrength/PasswordStrength.js.map +1 -0
  63. package/dist/Display/PasswordStrength/PasswordStrength.module.css.js +4 -0
  64. package/dist/Display/PasswordStrength/PasswordStrength.module.css.js.map +1 -0
  65. package/dist/Display/PasswordStrength/usePasswordStrength.d.ts +42 -0
  66. package/dist/Display/PasswordStrength/usePasswordStrength.js +49 -0
  67. package/dist/Display/PasswordStrength/usePasswordStrength.js.map +1 -0
  68. package/dist/Display/Skeleton/Skeleton.d.ts +8 -0
  69. package/dist/Display/Skeleton/Skeleton.js +11 -0
  70. package/dist/Display/Skeleton/Skeleton.js.map +1 -0
  71. package/dist/Display/Skeleton/Skeleton.module.css.js +4 -0
  72. package/dist/Display/Skeleton/Skeleton.module.css.js.map +1 -0
  73. package/dist/Display/Toast/Toaster.d.ts +1 -0
  74. package/dist/Display/Toast/Toaster.js +45 -0
  75. package/dist/Display/Toast/Toaster.js.map +1 -0
  76. package/dist/Display/Toast/toast.d.ts +12 -0
  77. package/dist/Display/Toast/toast.js +32 -0
  78. package/dist/Display/Toast/toast.js.map +1 -0
  79. package/dist/Display/Tooltip/Tooltip.d.ts +8 -0
  80. package/dist/Display/Tooltip/Tooltip.js +45 -0
  81. package/dist/Display/Tooltip/Tooltip.js.map +1 -0
  82. package/dist/Display/Tooltip/Tooltip.module.css.js +4 -0
  83. package/dist/Display/Tooltip/Tooltip.module.css.js.map +1 -0
  84. package/dist/Display/Tooltip/getArrowDirection.d.ts +1 -0
  85. package/dist/Display/Tooltip/getArrowDirection.js +48 -0
  86. package/dist/Display/Tooltip/getArrowDirection.js.map +1 -0
  87. package/dist/Display/Tooltip/useTooltip.d.ts +8 -0
  88. package/dist/Display/Tooltip/useTooltip.js +48 -0
  89. package/dist/Display/Tooltip/useTooltip.js.map +1 -0
  90. package/dist/Forms/ConfirmationForm/ConfirmationForm.d.ts +15 -0
  91. package/dist/Forms/ConfirmationForm/ConfirmationForm.js +12 -0
  92. package/dist/Forms/ConfirmationForm/ConfirmationForm.js.map +1 -0
  93. package/dist/Forms/ConfirmationForm/ConfirmationForm.module.css.js +4 -0
  94. package/dist/Forms/ConfirmationForm/ConfirmationForm.module.css.js.map +1 -0
  95. package/dist/Inputs/Button/Button.d.ts +83 -0
  96. package/dist/Inputs/Button/Button.js +56 -0
  97. package/dist/Inputs/Button/Button.js.map +1 -0
  98. package/dist/Inputs/Button/Button.module.css.js +4 -0
  99. package/dist/Inputs/Button/Button.module.css.js.map +1 -0
  100. package/dist/Inputs/Checkbox/Checkbox.d.ts +23 -0
  101. package/dist/Inputs/Checkbox/Checkbox.js +55 -0
  102. package/dist/Inputs/Checkbox/Checkbox.js.map +1 -0
  103. package/dist/Inputs/Checkbox/Checkbox.module.css.js +4 -0
  104. package/dist/Inputs/Checkbox/Checkbox.module.css.js.map +1 -0
  105. package/dist/Inputs/Checkbox/CheckboxGroup/CheckboxGroup.d.ts +15 -0
  106. package/dist/Inputs/Checkbox/CheckboxGroup/CheckboxGroup.js +35 -0
  107. package/dist/Inputs/Checkbox/CheckboxGroup/CheckboxGroup.js.map +1 -0
  108. package/dist/Inputs/Checkbox/CheckboxGroup/CheckboxGroup.module.css.js +4 -0
  109. package/dist/Inputs/Checkbox/CheckboxGroup/CheckboxGroup.module.css.js.map +1 -0
  110. package/dist/Inputs/Checkbox/CheckboxSelectAll.d.ts +5 -0
  111. package/dist/Inputs/Checkbox/CheckboxSelectAll.js +19 -0
  112. package/dist/Inputs/Checkbox/CheckboxSelectAll.js.map +1 -0
  113. package/dist/Inputs/PasswordInput/PasswordInput.d.ts +31 -0
  114. package/dist/Inputs/PasswordInput/PasswordInput.js +45 -0
  115. package/dist/Inputs/PasswordInput/PasswordInput.js.map +1 -0
  116. package/dist/Inputs/PasswordInput/PasswordInput.module.css.js +4 -0
  117. package/dist/Inputs/PasswordInput/PasswordInput.module.css.js.map +1 -0
  118. package/dist/Inputs/Select/Select.d.ts +22 -0
  119. package/dist/Inputs/Select/Select.js +26 -0
  120. package/dist/Inputs/Select/Select.js.map +1 -0
  121. package/dist/Inputs/Select/Select.module.css.js +4 -0
  122. package/dist/Inputs/Select/Select.module.css.js.map +1 -0
  123. package/dist/Inputs/Switch/Switch.d.ts +43 -0
  124. package/dist/Inputs/Switch/Switch.js +81 -0
  125. package/dist/Inputs/Switch/Switch.js.map +1 -0
  126. package/dist/Inputs/Switch/Switch.module.css.js +4 -0
  127. package/dist/Inputs/Switch/Switch.module.css.js.map +1 -0
  128. package/dist/Inputs/TextAreaInput/TextAreaInput.d.ts +17 -0
  129. package/dist/Inputs/TextAreaInput/TextAreaInput.js +30 -0
  130. package/dist/Inputs/TextAreaInput/TextAreaInput.js.map +1 -0
  131. package/dist/Inputs/TextAreaInput/TextAreaInput.module.css.js +4 -0
  132. package/dist/Inputs/TextAreaInput/TextAreaInput.module.css.js.map +1 -0
  133. package/dist/Inputs/TextInput/TextInput.d.ts +27 -0
  134. package/dist/Inputs/TextInput/TextInput.js +23 -0
  135. package/dist/Inputs/TextInput/TextInput.js.map +1 -0
  136. package/dist/Inputs/TextInput/TextInput.module.css.js +4 -0
  137. package/dist/Inputs/TextInput/TextInput.module.css.js.map +1 -0
  138. package/dist/Inputs/ThemeToggle/ThemeToggleListItem.d.ts +16 -0
  139. package/dist/Inputs/ThemeToggle/ThemeToggleListItem.js +31 -0
  140. package/dist/Inputs/ThemeToggle/ThemeToggleListItem.js.map +1 -0
  141. package/dist/Inputs/ThemeToggle/_index.d.ts +1 -0
  142. package/dist/Layout/Dialog/Dialog.d.ts +13 -0
  143. package/dist/Layout/Dialog/Dialog.js +74 -0
  144. package/dist/Layout/Dialog/Dialog.js.map +1 -0
  145. package/dist/Layout/Dialog/Dialog.module.css.js +4 -0
  146. package/dist/Layout/Dialog/Dialog.module.css.js.map +1 -0
  147. package/dist/Layout/PageLayout/PageLayout.d.ts +28 -0
  148. package/dist/Layout/PageLayout/PageLayout.js +25 -0
  149. package/dist/Layout/PageLayout/PageLayout.js.map +1 -0
  150. package/dist/Layout/PageLayout/PageLayout.module.css.js +4 -0
  151. package/dist/Layout/PageLayout/PageLayout.module.css.js.map +1 -0
  152. package/dist/Layout/PageLayoutPagination/PageLayoutPagination.d.ts +7 -0
  153. package/dist/Layout/PageLayoutPagination/PageLayoutPagination.js +13 -0
  154. package/dist/Layout/PageLayoutPagination/PageLayoutPagination.js.map +1 -0
  155. package/dist/Layout/PageLayoutPagination/PageLayoutPagination.module.css.js +4 -0
  156. package/dist/Layout/PageLayoutPagination/PageLayoutPagination.module.css.js.map +1 -0
  157. package/dist/Layout/PageLayoutTabs/PageLayoutTabs.d.ts +14 -0
  158. package/dist/Layout/PageLayoutTabs/PageLayoutTabs.js +22 -0
  159. package/dist/Layout/PageLayoutTabs/PageLayoutTabs.js.map +1 -0
  160. package/dist/Layout/PageLayoutTabs/PageLayoutTabs.module.css.js +4 -0
  161. package/dist/Layout/PageLayoutTabs/PageLayoutTabs.module.css.js.map +1 -0
  162. package/dist/Layout/Popover/Popover.d.ts +14 -0
  163. package/dist/Layout/Popover/Popover.js +103 -0
  164. package/dist/Layout/Popover/Popover.js.map +1 -0
  165. package/dist/Layout/Popover/Popover.module.css.js +4 -0
  166. package/dist/Layout/Popover/Popover.module.css.js.map +1 -0
  167. package/dist/Layout/SectionWrapper/SectionWrapper.d.ts +14 -0
  168. package/dist/Layout/SectionWrapper/SectionWrapper.js +11 -0
  169. package/dist/Layout/SectionWrapper/SectionWrapper.js.map +1 -0
  170. package/dist/Layout/SectionWrapper/SectionWrapper.module.css.js +4 -0
  171. package/dist/Layout/SectionWrapper/SectionWrapper.module.css.js.map +1 -0
  172. package/dist/Layout/Sidebar/Sidebar.d.ts +15 -0
  173. package/dist/Layout/Sidebar/Sidebar.js +25 -0
  174. package/dist/Layout/Sidebar/Sidebar.js.map +1 -0
  175. package/dist/Layout/Sidebar/Sidebar.module.css.js +4 -0
  176. package/dist/Layout/Sidebar/Sidebar.module.css.js.map +1 -0
  177. package/dist/Layout/Sidebar/SidebarBody/SidebarBody.d.ts +2 -0
  178. package/dist/Layout/Sidebar/SidebarBody/SidebarBody.js +14 -0
  179. package/dist/Layout/Sidebar/SidebarBody/SidebarBody.js.map +1 -0
  180. package/dist/Layout/Sidebar/SidebarBody/SidebarBody.module.css.js +4 -0
  181. package/dist/Layout/Sidebar/SidebarBody/SidebarBody.module.css.js.map +1 -0
  182. package/dist/Layout/Sidebar/SidebarDrawer/SidebarDrawer.d.ts +2 -0
  183. package/dist/Layout/Sidebar/SidebarDrawer/SidebarDrawer.js +14 -0
  184. package/dist/Layout/Sidebar/SidebarDrawer/SidebarDrawer.js.map +1 -0
  185. package/dist/Layout/Sidebar/SidebarDrawer/SidebarDrawer.module.css.js +4 -0
  186. package/dist/Layout/Sidebar/SidebarDrawer/SidebarDrawer.module.css.js.map +1 -0
  187. package/dist/Layout/Sidebar/SidebarFooter/SidebarFooter.d.ts +2 -0
  188. package/dist/Layout/Sidebar/SidebarFooter/SidebarFooter.js +14 -0
  189. package/dist/Layout/Sidebar/SidebarFooter/SidebarFooter.js.map +1 -0
  190. package/dist/Layout/Sidebar/SidebarFooter/SidebarFooter.module.css.js +4 -0
  191. package/dist/Layout/Sidebar/SidebarFooter/SidebarFooter.module.css.js.map +1 -0
  192. package/dist/Layout/Sidebar/SidebarHeader/SidebarHeader.d.ts +2 -0
  193. package/dist/Layout/Sidebar/SidebarHeader/SidebarHeader.js +12 -0
  194. package/dist/Layout/Sidebar/SidebarHeader/SidebarHeader.js.map +1 -0
  195. package/dist/Layout/Sidebar/SidebarViewport/SidebarViewport.d.ts +2 -0
  196. package/dist/Layout/Sidebar/SidebarViewport/SidebarViewport.js +11 -0
  197. package/dist/Layout/Sidebar/SidebarViewport/SidebarViewport.js.map +1 -0
  198. package/dist/Layout/Sidebar/SidebarViewport/SidebarViewport.module.css.js +4 -0
  199. package/dist/Layout/Sidebar/SidebarViewport/SidebarViewport.module.css.js.map +1 -0
  200. package/dist/Layout/Table/Table.d.ts +54 -0
  201. package/dist/Layout/Table/Table.js +131 -0
  202. package/dist/Layout/Table/Table.js.map +1 -0
  203. package/dist/Layout/Table/Table.module.css.js +4 -0
  204. package/dist/Layout/Table/Table.module.css.js.map +1 -0
  205. package/dist/Layout/Table/TableFooter.d.ts +1 -0
  206. package/dist/Layout/Table/TableFooter.js +9 -0
  207. package/dist/Layout/Table/TableFooter.js.map +1 -0
  208. package/dist/Layout/Table/TableHeader.d.ts +1 -0
  209. package/dist/Layout/Table/TableHeader.js +9 -0
  210. package/dist/Layout/Table/TableHeader.js.map +1 -0
  211. package/dist/Layout/Table/tableUtils.d.ts +52 -0
  212. package/dist/Layout/Table/tableUtils.js +124 -0
  213. package/dist/Layout/Table/tableUtils.js.map +1 -0
  214. package/dist/Layout/Table/types.d.ts +43 -0
  215. package/dist/Misc/Cursor/Cursor.d.ts +1 -0
  216. package/dist/Misc/Cursor/Cursor.js +59 -0
  217. package/dist/Misc/Cursor/Cursor.js.map +1 -0
  218. package/dist/Misc/Cursor/Cursor.module.css.js +4 -0
  219. package/dist/Misc/Cursor/Cursor.module.css.js.map +1 -0
  220. package/dist/Misc/Logos.d.ts +14 -0
  221. package/dist/Misc/Logos.js +29 -0
  222. package/dist/Misc/Logos.js.map +1 -0
  223. package/dist/Misc/PoweredByBanner/PoweredByBanner.d.ts +3 -0
  224. package/dist/Misc/PoweredByBanner/PoweredByBanner.js +11 -0
  225. package/dist/Misc/PoweredByBanner/PoweredByBanner.js.map +1 -0
  226. package/dist/Misc/PoweredByBanner/PoweredByBanner.module.css.js +4 -0
  227. package/dist/Misc/PoweredByBanner/PoweredByBanner.module.css.js.map +1 -0
  228. package/dist/Misc/Ripple/Ripple.d.ts +21 -0
  229. package/dist/Misc/Ripple/Ripple.js +62 -0
  230. package/dist/Misc/Ripple/Ripple.js.map +1 -0
  231. package/dist/Misc/Ripple/Ripple.module.css.js +4 -0
  232. package/dist/Misc/Ripple/Ripple.module.css.js.map +1 -0
  233. package/dist/Misc/Spinner/Spinner.d.ts +2 -0
  234. package/dist/Misc/Spinner/Spinner.js +12 -0
  235. package/dist/Misc/Spinner/Spinner.js.map +1 -0
  236. package/dist/Misc/Spinner/Spinner.module.css.js +4 -0
  237. package/dist/Misc/Spinner/Spinner.module.css.js.map +1 -0
  238. package/dist/Misc/TransitionAnimation/TransitionAnimation.d.ts +71 -0
  239. package/dist/Misc/TransitionAnimation/TransitionAnimation.js +87 -0
  240. package/dist/Misc/TransitionAnimation/TransitionAnimation.js.map +1 -0
  241. package/dist/Misc/TransitionAnimation/TransitionAnimation.module.css.js +4 -0
  242. package/dist/Misc/TransitionAnimation/TransitionAnimation.module.css.js.map +1 -0
  243. package/dist/Navigation/Breadcrumbs/Breadcrumbs.d.ts +39 -0
  244. package/dist/Navigation/Breadcrumbs/Breadcrumbs.js +36 -0
  245. package/dist/Navigation/Breadcrumbs/Breadcrumbs.js.map +1 -0
  246. package/dist/Navigation/Breadcrumbs/Breadcrumbs.module.css.js +4 -0
  247. package/dist/Navigation/Breadcrumbs/Breadcrumbs.module.css.js.map +1 -0
  248. package/dist/Navigation/Breadcrumbs/BreadcrumbsItem.d.ts +10 -0
  249. package/dist/Navigation/Breadcrumbs/BreadcrumbsItem.js +15 -0
  250. package/dist/Navigation/Breadcrumbs/BreadcrumbsItem.js.map +1 -0
  251. package/dist/Navigation/Breadcrumbs/useBreadcrumbs.d.ts +7 -0
  252. package/dist/Navigation/Breadcrumbs/useBreadcrumbs.js +44 -0
  253. package/dist/Navigation/Breadcrumbs/useBreadcrumbs.js.map +1 -0
  254. package/dist/Navigation/Pagination/Pagination.d.ts +52 -0
  255. package/dist/Navigation/Pagination/Pagination.js +61 -0
  256. package/dist/Navigation/Pagination/Pagination.js.map +1 -0
  257. package/dist/Navigation/Pagination/Pagination.module.css.js +4 -0
  258. package/dist/Navigation/Pagination/Pagination.module.css.js.map +1 -0
  259. package/dist/Navigation/Pagination/PaginationItem.d.ts +8 -0
  260. package/dist/Navigation/Pagination/PaginationItem.js +14 -0
  261. package/dist/Navigation/Pagination/PaginationItem.js.map +1 -0
  262. package/dist/Navigation/Pagination/usePagination.d.ts +6 -0
  263. package/dist/Navigation/Pagination/usePagination.js +38 -0
  264. package/dist/Navigation/Pagination/usePagination.js.map +1 -0
  265. package/dist/Navigation/Tabs/Tab/Tab.d.ts +46 -0
  266. package/dist/Navigation/Tabs/Tab/Tab.js +70 -0
  267. package/dist/Navigation/Tabs/Tab/Tab.js.map +1 -0
  268. package/dist/Navigation/Tabs/Tab/Tab.module.css.js +4 -0
  269. package/dist/Navigation/Tabs/Tab/Tab.module.css.js.map +1 -0
  270. package/dist/Navigation/Tabs/Tabs.d.ts +12 -0
  271. package/dist/Navigation/Tabs/Tabs.js +22 -0
  272. package/dist/Navigation/Tabs/Tabs.js.map +1 -0
  273. package/dist/Navigation/Tabs/TabsBar/TabsBar.d.ts +12 -0
  274. package/dist/Navigation/Tabs/TabsBar/TabsBar.js +44 -0
  275. package/dist/Navigation/Tabs/TabsBar/TabsBar.js.map +1 -0
  276. package/dist/Navigation/Tabs/TabsBar/TabsBar.module.css.js +4 -0
  277. package/dist/Navigation/Tabs/TabsBar/TabsBar.module.css.js.map +1 -0
  278. package/dist/Typography/ClampedText/ClampedText.d.ts +38 -0
  279. package/dist/Typography/ClampedText/ClampedText.js +44 -0
  280. package/dist/Typography/ClampedText/ClampedText.js.map +1 -0
  281. package/dist/Typography/ClampedText/ClampedText.module.css.js +4 -0
  282. package/dist/Typography/ClampedText/ClampedText.module.css.js.map +1 -0
  283. package/dist/Typography/CopyableText/CopyableText.d.ts +16 -0
  284. package/dist/Typography/CopyableText/CopyableText.js +39 -0
  285. package/dist/Typography/CopyableText/CopyableText.js.map +1 -0
  286. package/dist/Typography/CopyableText/CopyableText.module.css.js +4 -0
  287. package/dist/Typography/CopyableText/CopyableText.module.css.js.map +1 -0
  288. package/dist/Typography/PageTitle/PageTitle.d.ts +9 -0
  289. package/dist/Typography/PageTitle/PageTitle.js +10 -0
  290. package/dist/Typography/PageTitle/PageTitle.js.map +1 -0
  291. package/dist/Typography/PageTitle/PageTitle.module.css.js +4 -0
  292. package/dist/Typography/PageTitle/PageTitle.module.css.js.map +1 -0
  293. package/dist/index.css +2392 -0
  294. package/dist/index.js +64 -0
  295. package/dist/index.js.map +1 -0
  296. package/package.json +4 -4
  297. package/CHANGELOG.md +0 -11
  298. package/eslint.config.js +0 -21
  299. package/src/Cards/Card/Card.module.css +0 -27
  300. package/src/Cards/Card/Card.tsx +0 -105
  301. package/src/Cards/CollectionItemCard/CollectionItemCard.module.css +0 -84
  302. package/src/Cards/CollectionItemCard/CollectionItemCard.tsx +0 -170
  303. package/src/Cards/CollectionItemCard/CollectionItemCardActions.tsx +0 -85
  304. package/src/Cards/GlassCard/GlassCard.module.css +0 -71
  305. package/src/Cards/GlassCard/GlassCard.tsx +0 -80
  306. package/src/Display/Accordion/Accordion.module.css +0 -69
  307. package/src/Display/Accordion/Accordion.tsx +0 -61
  308. package/src/Display/Accordion/AccordionItem.tsx +0 -135
  309. package/src/Display/Chip/Chip.module.css +0 -64
  310. package/src/Display/Chip/Chip.tsx +0 -105
  311. package/src/Display/IdentityDisplay/IdentityDisplay.module.css +0 -95
  312. package/src/Display/IdentityDisplay/IdentityDisplay.tsx +0 -119
  313. package/src/Display/InputErrors/InputErrors.module.css +0 -6
  314. package/src/Display/InputErrors/InputErrors.tsx +0 -52
  315. package/src/Display/Kbd/Kbd.module.css +0 -29
  316. package/src/Display/Kbd/Kbd.tsx +0 -39
  317. package/src/Display/Kbd/buttonList.tsx +0 -246
  318. package/src/Display/LabeledValue/LabeledValue.module.css +0 -32
  319. package/src/Display/LabeledValue/LabeledValue.tsx +0 -20
  320. package/src/Display/List/List.module.css +0 -143
  321. package/src/Display/List/List.tsx +0 -298
  322. package/src/Display/PasswordStrength/PasswordStrength.module.css +0 -45
  323. package/src/Display/PasswordStrength/PasswordStrength.tsx +0 -41
  324. package/src/Display/PasswordStrength/usePasswordStrength.tsx +0 -77
  325. package/src/Display/Skeleton/Skeleton.module.css +0 -54
  326. package/src/Display/Skeleton/Skeleton.tsx +0 -28
  327. package/src/Display/Toast/Toaster.tsx +0 -58
  328. package/src/Display/Toast/toast.ts +0 -44
  329. package/src/Display/Tooltip/Tooltip.module.css +0 -128
  330. package/src/Display/Tooltip/Tooltip.tsx +0 -93
  331. package/src/Display/Tooltip/getArrowDirection.ts +0 -55
  332. package/src/Display/Tooltip/useTooltip.tsx +0 -63
  333. package/src/Forms/ConfirmationForm/ConfirmationForm.module.css +0 -23
  334. package/src/Forms/ConfirmationForm/ConfirmationForm.tsx +0 -60
  335. package/src/Inputs/Button/Button.module.css +0 -131
  336. package/src/Inputs/Button/Button.tsx +0 -178
  337. package/src/Inputs/Checkbox/Checkbox.module.css +0 -77
  338. package/src/Inputs/Checkbox/Checkbox.tsx +0 -191
  339. package/src/Inputs/Checkbox/CheckboxGroup/CheckboxGroup.module.css +0 -10
  340. package/src/Inputs/Checkbox/CheckboxGroup/CheckboxGroup.tsx +0 -83
  341. package/src/Inputs/Checkbox/CheckboxSelectAll.tsx +0 -34
  342. package/src/Inputs/PasswordInput/PasswordInput.module.css +0 -111
  343. package/src/Inputs/PasswordInput/PasswordInput.tsx +0 -229
  344. package/src/Inputs/Select/Select.module.css +0 -138
  345. package/src/Inputs/Select/Select.tsx +0 -136
  346. package/src/Inputs/Switch/Switch.module.css +0 -119
  347. package/src/Inputs/Switch/Switch.tsx +0 -195
  348. package/src/Inputs/TextAreaInput/TextAreaInput.module.css +0 -65
  349. package/src/Inputs/TextAreaInput/TextAreaInput.tsx +0 -97
  350. package/src/Inputs/TextInput/TextInput.module.css +0 -112
  351. package/src/Inputs/TextInput/TextInput.tsx +0 -142
  352. package/src/Inputs/ThemeToggle/ThemeToggleListItem.tsx +0 -80
  353. package/src/Inputs/ThemeToggle/_index.ts +0 -1
  354. package/src/Layout/Dialog/Dialog.module.css +0 -15
  355. package/src/Layout/Dialog/Dialog.tsx +0 -115
  356. package/src/Layout/PageLayout/PageLayout.module.css +0 -20
  357. package/src/Layout/PageLayout/PageLayout.tsx +0 -79
  358. package/src/Layout/PageLayoutPagination/PageLayoutPagination.module.css +0 -5
  359. package/src/Layout/PageLayoutPagination/PageLayoutPagination.tsx +0 -40
  360. package/src/Layout/PageLayoutTabs/PageLayoutTabs.module.css +0 -3
  361. package/src/Layout/PageLayoutTabs/PageLayoutTabs.tsx +0 -62
  362. package/src/Layout/Popover/Popover.module.css +0 -9
  363. package/src/Layout/Popover/Popover.tsx +0 -145
  364. package/src/Layout/SectionWrapper/SectionWrapper.module.css +0 -31
  365. package/src/Layout/SectionWrapper/SectionWrapper.tsx +0 -62
  366. package/src/Layout/Sidebar/Sidebar.module.css +0 -17
  367. package/src/Layout/Sidebar/Sidebar.tsx +0 -39
  368. package/src/Layout/Sidebar/SidebarBody/SidebarBody.module.css +0 -31
  369. package/src/Layout/Sidebar/SidebarBody/SidebarBody.tsx +0 -18
  370. package/src/Layout/Sidebar/SidebarDrawer/SidebarDrawer.module.css +0 -20
  371. package/src/Layout/Sidebar/SidebarDrawer/SidebarDrawer.tsx +0 -19
  372. package/src/Layout/Sidebar/SidebarFooter/SidebarFooter.module.css +0 -35
  373. package/src/Layout/Sidebar/SidebarFooter/SidebarFooter.tsx +0 -19
  374. package/src/Layout/Sidebar/SidebarHeader/SidebarHeader.tsx +0 -14
  375. package/src/Layout/Sidebar/SidebarViewport/SidebarViewport.module.css +0 -12
  376. package/src/Layout/Sidebar/SidebarViewport/SidebarViewport.tsx +0 -11
  377. package/src/Layout/Table/Table.module.css +0 -46
  378. package/src/Layout/Table/Table.tsx +0 -222
  379. package/src/Layout/Table/TableFooter.tsx +0 -4
  380. package/src/Layout/Table/TableHeader.tsx +0 -4
  381. package/src/Layout/Table/tableUtils.ts +0 -142
  382. package/src/Layout/Table/types.ts +0 -48
  383. package/src/Misc/Cursor/Cursor.module.css +0 -31
  384. package/src/Misc/Cursor/Cursor.tsx +0 -77
  385. package/src/Misc/Logos.tsx +0 -230
  386. package/src/Misc/PoweredByBanner/PoweredByBanner.module.css +0 -20
  387. package/src/Misc/PoweredByBanner/PoweredByBanner.tsx +0 -17
  388. package/src/Misc/Ripple/Ripple.module.css +0 -25
  389. package/src/Misc/Ripple/Ripple.tsx +0 -126
  390. package/src/Misc/Spinner/Spinner.module.css +0 -38
  391. package/src/Misc/Spinner/Spinner.tsx +0 -36
  392. package/src/Misc/TransitionAnimation/TransitionAnimation.module.css +0 -131
  393. package/src/Misc/TransitionAnimation/TransitionAnimation.tsx +0 -166
  394. package/src/Navigation/Breadcrumbs/Breadcrumbs.module.css +0 -22
  395. package/src/Navigation/Breadcrumbs/Breadcrumbs.tsx +0 -127
  396. package/src/Navigation/Breadcrumbs/BreadcrumbsItem.tsx +0 -31
  397. package/src/Navigation/Breadcrumbs/useBreadcrumbs.tsx +0 -74
  398. package/src/Navigation/Pagination/Pagination.module.css +0 -41
  399. package/src/Navigation/Pagination/Pagination.tsx +0 -187
  400. package/src/Navigation/Pagination/PaginationItem.tsx +0 -28
  401. package/src/Navigation/Pagination/usePagination.tsx +0 -65
  402. package/src/Navigation/Tabs/Tab/Tab.module.css +0 -43
  403. package/src/Navigation/Tabs/Tab/Tab.tsx +0 -155
  404. package/src/Navigation/Tabs/Tabs.tsx +0 -37
  405. package/src/Navigation/Tabs/TabsBar/TabsBar.module.css +0 -47
  406. package/src/Navigation/Tabs/TabsBar/TabsBar.tsx +0 -92
  407. package/src/Typography/ClampedText/ClampedText.module.css +0 -5
  408. package/src/Typography/ClampedText/ClampedText.tsx +0 -77
  409. package/src/Typography/CopyableText/CopyableText.module.css +0 -21
  410. package/src/Typography/CopyableText/CopyableText.tsx +0 -120
  411. package/src/Typography/PageTitle/PageTitle.module.css +0 -47
  412. package/src/Typography/PageTitle/PageTitle.tsx +0 -35
  413. package/src/declaration.d.ts +0 -4
  414. package/tsconfig.json +0 -32
  415. /package/{src/Cards/CollectionItemCard/_index.ts → dist/Cards/CollectionItemCard/_index.d.ts} +0 -0
  416. /package/{src/Cards/_index.ts → dist/Cards/_index.d.ts} +0 -0
  417. /package/{src/Display/Accordion/_index.ts → dist/Display/Accordion/_index.d.ts} +0 -0
  418. /package/{src/Display/Kbd/_index.ts → dist/Display/Kbd/_index.d.ts} +0 -0
  419. /package/{src/Display/Toast/_index.ts → dist/Display/Toast/_index.d.ts} +0 -0
  420. /package/{src/Display/_index.ts → dist/Display/_index.d.ts} +0 -0
  421. /package/{src/Forms/_index.ts → dist/Forms/_index.d.ts} +0 -0
  422. /package/{src/Inputs/Checkbox/_index.ts → dist/Inputs/Checkbox/_index.d.ts} +0 -0
  423. /package/{src/Inputs/_index.ts → dist/Inputs/_index.d.ts} +0 -0
  424. /package/{src/Layout/Sidebar/_index.ts → dist/Layout/Sidebar/_index.d.ts} +0 -0
  425. /package/{src/Layout/Table/_index.ts → dist/Layout/Table/_index.d.ts} +0 -0
  426. /package/{src/Layout/_index.ts → dist/Layout/_index.d.ts} +0 -0
  427. /package/{src/Misc/_index.ts → dist/Misc/_index.d.ts} +0 -0
  428. /package/{src/Navigation/Breadcrumbs/_index.ts → dist/Navigation/Breadcrumbs/_index.d.ts} +0 -0
  429. /package/{src/Navigation/Pagination/_index.ts → dist/Navigation/Pagination/_index.d.ts} +0 -0
  430. /package/{src/Navigation/Tabs/_index.ts → dist/Navigation/Tabs/_index.d.ts} +0 -0
  431. /package/{src/Navigation/_index.ts → dist/Navigation/_index.d.ts} +0 -0
  432. /package/{src/Typography/_index.ts → dist/Typography/_index.d.ts} +0 -0
  433. /package/{src/index.ts → dist/index.d.ts} +0 -0
@@ -1,229 +0,0 @@
1
- "use client";
2
-
3
- import { cn } from "@studiocubics/utils";
4
- import {
5
- useEffect,
6
- useState,
7
- type ComponentProps,
8
- type ReactNode,
9
- } from "react";
10
- import {
11
- eventWithRipple,
12
- useRipple,
13
- type UseRippleProps,
14
- } from "../../Misc/Ripple/Ripple";
15
- import styles from "./PasswordInput.module.css";
16
- import {
17
- InputErrors,
18
- type InputErrorsProps,
19
- } from "../../Display/InputErrors/InputErrors";
20
- import { Button } from "../Button/Button";
21
- import { PasswordStrength } from "../../Display/PasswordStrength/PasswordStrength";
22
- import {
23
- ALL_PASSWORD_TESTS,
24
- PASSWORD_REGEX,
25
- usePasswordStrength,
26
- type PasswordStrengthProps,
27
- } from "../../Display/PasswordStrength/usePasswordStrength";
28
-
29
- export interface PasswordInputProps
30
- extends Omit<ComponentProps<"input">, "size"> {
31
- startIcon?: ReactNode;
32
- endIcon?: ReactNode;
33
- label?: string;
34
- error?: string | string[];
35
- fullWidth?: boolean;
36
- /**
37
- * Use inputSize for <input size="10"/>
38
- */
39
- size?: "sm" | "md" | "lg";
40
- inputSize?: ComponentProps<"input">["size"];
41
- hideVisibilityToggle?: boolean;
42
- disableStrengthMeter?: boolean;
43
- disableEndIconGutters?: boolean;
44
- disableStartIconGutters?: boolean;
45
- slotProps?: {
46
- ripple?: UseRippleProps;
47
- startIcon?: ComponentProps<"span">;
48
- endIcon?: ComponentProps<"span">;
49
- root?: ComponentProps<"div">;
50
- inputWrapper?: ComponentProps<"div">;
51
- label?: ComponentProps<"label">;
52
- error?: InputErrorsProps;
53
- passwordStrength?: PasswordStrengthProps;
54
- };
55
- }
56
-
57
- export function PasswordInput(props: PasswordInputProps) {
58
- const {
59
- startIcon,
60
- endIcon,
61
- label,
62
- error,
63
- fullWidth,
64
- hideVisibilityToggle = false,
65
- disableStrengthMeter = true,
66
- disableEndIconGutters = false,
67
- disableStartIconGutters = false,
68
- size = "md",
69
- inputSize,
70
- onTouchStart,
71
- onClick,
72
- onBlur,
73
- slotProps = {},
74
- className: inputClass,
75
- ...inputProps
76
- } = props;
77
- const { rippleElements, createRipple } = useRipple(slotProps.ripple);
78
- const [isErrored, setIsErrored] = useState(error && !!error.length);
79
- const [isVisible, setIsVisible] = useState(false);
80
- const passwordStrength = usePasswordStrength({
81
- password: typeof props.value == "string" ? props.value : undefined,
82
- requiredTests:
83
- slotProps.passwordStrength?.requiredTests ?? ALL_PASSWORD_TESTS,
84
- disableStrengthMeter,
85
- });
86
-
87
- useEffect(() => {
88
- setIsErrored(error && !!error.length);
89
- }, [error]);
90
-
91
- return (
92
- <div
93
- {...slotProps.root}
94
- className={cn(
95
- slotProps.root?.className,
96
- styles.root,
97
- styles[`size_${size}`],
98
- fullWidth ? styles.fullWidth : undefined,
99
- isErrored ? styles.errored : undefined,
100
- )}
101
- >
102
- {label && (
103
- <label
104
- {...slotProps.label}
105
- htmlFor={props.id || label}
106
- className={cn(slotProps.label?.className, styles.label)}
107
- >
108
- {label}
109
- </label>
110
- )}
111
- <div
112
- {...slotProps.inputWrapper}
113
- className={cn(slotProps.inputWrapper?.className, styles.inputWrapper)}
114
- >
115
- {startIcon && (
116
- <span
117
- {...slotProps.startIcon}
118
- className={cn(
119
- styles.iconContainer,
120
- slotProps.startIcon?.className,
121
- disableStartIconGutters ? styles.disableGutters : undefined,
122
- )}
123
- >
124
- {startIcon}
125
- </span>
126
- )}
127
- <input
128
- type={isVisible ? "text" : "password"}
129
- className={cn(inputClass, styles.input)}
130
- onTouchStart={eventWithRipple(createRipple, onTouchStart)}
131
- onClick={eventWithRipple(createRipple, onClick)}
132
- onBlur={(e) => {
133
- setIsErrored(false);
134
- onBlur?.(e);
135
- }}
136
- pattern={
137
- !disableStrengthMeter
138
- ? passwordStrength?.testsPassed
139
- .map((tp) => {
140
- const regex = PASSWORD_REGEX[tp].ex;
141
- return regex instanceof RegExp ? regex.source : regex;
142
- })
143
- .join("&")
144
- : undefined
145
- }
146
- size={inputSize}
147
- id={label}
148
- {...inputProps}
149
- />
150
- {!hideVisibilityToggle && (
151
- <Button
152
- square
153
- size="sm"
154
- type="button"
155
- onClick={() => setIsVisible(!isVisible)}
156
- >
157
- {isVisible ? (
158
- <EyeIcon width={24} height={24} />
159
- ) : (
160
- <EyeOffIcon width={24} height={24} />
161
- )}
162
- </Button>
163
- )}
164
- {endIcon && (
165
- <span
166
- {...slotProps.endIcon}
167
- className={cn(
168
- styles.iconContainer,
169
- slotProps.endIcon?.className,
170
- disableEndIconGutters ? styles.disableGutters : undefined,
171
- )}
172
- >
173
- {endIcon}
174
- </span>
175
- )}
176
- {rippleElements}
177
- </div>
178
- {!disableStrengthMeter && (
179
- <PasswordStrength
180
- strength={passwordStrength?.strength}
181
- {...slotProps.passwordStrength}
182
- />
183
- )}
184
- {isErrored && (
185
- <InputErrors
186
- {...slotProps.error}
187
- className={cn(slotProps.error?.className, styles.errorText)}
188
- error={error}
189
- />
190
- )}
191
- </div>
192
- );
193
- }
194
- function EyeIcon(props: ComponentProps<"svg">) {
195
- return (
196
- <svg
197
- {...props}
198
- xmlns="http://www.w3.org/2000/svg"
199
- viewBox="0 0 24 24"
200
- fill="none"
201
- stroke="currentColor"
202
- strokeWidth="2.3"
203
- strokeLinecap="round"
204
- strokeLinejoin="round"
205
- >
206
- <path d="M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0" />
207
- <circle cx="12" cy="12" r="3" />
208
- </svg>
209
- );
210
- }
211
- function EyeOffIcon(props: ComponentProps<"svg">) {
212
- return (
213
- <svg
214
- {...props}
215
- xmlns="http://www.w3.org/2000/svg"
216
- viewBox="0 0 24 24"
217
- fill="none"
218
- stroke="currentColor"
219
- strokeWidth="2.3"
220
- strokeLinecap="round"
221
- strokeLinejoin="round"
222
- >
223
- <path d="M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49" />
224
- <path d="M14.084 14.158a3 3 0 0 1-4.242-4.242" />
225
- <path d="M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143" />
226
- <path d="m2 2 20 20" />
227
- </svg>
228
- );
229
- }
@@ -1,138 +0,0 @@
1
- .root {
2
- --input-border: var(--color-outline);
3
- --input-color: var(--color-on-surface);
4
- --input-fs: var(--fs-body2);
5
- --input-background: var(--color-surface);
6
- --input-focus-background: var(--color-background);
7
-
8
- display: flex;
9
- flex-direction: column;
10
- gap: var(--spacing-gap);
11
- font-size: var(--input-fs);
12
-
13
- &.fullWidth {
14
- width: 100%;
15
- }
16
- &:has(.inputWrapper > .input:focus, .inputWrapper > .input:open) {
17
- & > .inputWrapper {
18
- outline: none;
19
- background: var(--input-focus-background);
20
- }
21
- .label {
22
- color: var(--input-color);
23
- }
24
- }
25
- &:has(.inputWrapper > .input:disabled) {
26
- opacity: 0.5;
27
- }
28
- }
29
-
30
- .inputWrapper {
31
- position: relative;
32
- display: flex;
33
- border-radius: var(--shape-br-sm);
34
- outline: 1px solid var(--input-border);
35
- background: var(--input-background);
36
- }
37
- .label {
38
- font-size: 0.9em;
39
- color: var(--color-on-background-faint);
40
- margin-left: var(--spacing-gap);
41
- width: fit-content;
42
- cursor: pointer;
43
- }
44
- .input {
45
- flex: 1 1 100%;
46
- font-family: var(--font-p);
47
- padding: var(--spacing-gap-2) calc(1.618 * var(--spacing-gap-2));
48
- font-size: inherit;
49
- border: none;
50
- cursor: pointer;
51
- background-color: var(--input-background);
52
- color: var(--input-color);
53
- border-radius: var(--shape-br-sm);
54
- appearance: base-select;
55
- transition: all var(--transition-time) var(--transition-tf);
56
-
57
- &:focus,
58
- &:open {
59
- outline: none;
60
- background-color: var(--input-focus-background);
61
- }
62
- & > option {
63
- appearance: base-select;
64
- cursor: pointer;
65
- background-color: var(--input-background);
66
- font-family: var(--font-p), sans-serif;
67
- padding: var(--spacing-gap);
68
- border-radius: var(--shape-br-sm);
69
- transition: all var(--transition-time) var(--transition-tf);
70
- &:hover {
71
- background-color: var(--input-focus-background);
72
- }
73
- &:checked {
74
- background-color: var(--color-primary-container);
75
- color: var(--color-on-primary-container);
76
- font-weight: bold;
77
- transition: all var(--transition-time) var(--transition-tf);
78
- &:hover {
79
- background-color: var(--color-primary);
80
- color: var(--color-on-primary);
81
- }
82
- }
83
-
84
- &::checkmark {
85
- display: none;
86
- }
87
- }
88
- }
89
- .input::picker(select) {
90
- appearance: base-select;
91
- border-radius: var(--shape-br-sm);
92
- background-color: var(--input-background);
93
- border: 1px solid var(--color-outline);
94
- padding: var(--spacing-gap);
95
- }
96
- .input::picker-icon {
97
- transition: rotate var(--transition-time) var(--transition-tf);
98
- }
99
- .input:open::picker-icon {
100
- rotate: 180deg;
101
-
102
- /* background-image: url('data:image/svg+xml;utf8,<svg fill="#FF0000" height="24" viewBox="0 0 24 24" width="24" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/><path d="M0 0h24v24H0z" fill="none"/></svg>'); */
103
- }
104
- .iconContainer {
105
- display: flex;
106
- justify-content: center;
107
- font-size: inherit;
108
- align-items: center;
109
- color: var(--color-on-background-faint);
110
- /* Start Icon */
111
- &:nth-of-type(1) {
112
- margin-left: var(--spacing-gap-2);
113
- &.disableGutters {
114
- margin-left: 0;
115
- }
116
- }
117
- /* End Icon */
118
- &:nth-of-type(2) {
119
- margin-right: var(--spacing-gap-2);
120
- &.disableGutters {
121
- margin-right: 0;
122
- }
123
- }
124
- }
125
-
126
- .errored {
127
- --input-border: var(--color-error);
128
- --input-color: var(--color-error);
129
- & > .inputWrapper {
130
- outline: 1px solid var(--input-border);
131
- & > .iconContainer {
132
- color: var(--input-color);
133
- }
134
- }
135
- & > .label {
136
- color: var(--input-color);
137
- }
138
- }
@@ -1,136 +0,0 @@
1
- "use client";
2
-
3
- import { cn } from "@studiocubics/utils";
4
- import {
5
- useEffect,
6
- useState,
7
- type ComponentProps,
8
- type ReactNode,
9
- } from "react";
10
- import styles from "./Select.module.css";
11
- import {
12
- eventWithRipple,
13
- useRipple,
14
- type UseRippleProps,
15
- } from "../../Misc/Ripple/Ripple";
16
- import {
17
- InputErrors,
18
- type InputErrorsProps,
19
- } from "../../Display/InputErrors/InputErrors";
20
-
21
- export interface SelectProps extends ComponentProps<"select"> {
22
- startIcon?: ReactNode;
23
- endIcon?: ReactNode;
24
- label?: string;
25
- error?: string | string[];
26
- fullWidth?: boolean;
27
- disableEndIconGutters?: boolean;
28
- disableStartIconGutters?: boolean;
29
- slotProps?: {
30
- ripple?: UseRippleProps;
31
- startIcon?: ComponentProps<"span">;
32
- endIcon?: ComponentProps<"span">;
33
- root?: ComponentProps<"div">;
34
- inputWrapper?: ComponentProps<"div">;
35
- label?: ComponentProps<"label">;
36
- error?: InputErrorsProps;
37
- };
38
- }
39
-
40
- export function Select(props: SelectProps) {
41
- const {
42
- startIcon,
43
- endIcon,
44
- label,
45
- error,
46
- fullWidth,
47
- disableEndIconGutters = false,
48
- disableStartIconGutters = false,
49
- onTouchStart,
50
- onClick,
51
- onBlur,
52
- slotProps: _slotProps,
53
- className: inputClass,
54
- ...inputProps
55
- } = props;
56
- const slotProps: NonNullable<SelectProps["slotProps"]> = _slotProps ?? {};
57
- const { rippleElements, createRipple } = useRipple<HTMLSelectElement>(
58
- slotProps.ripple,
59
- );
60
- const [isErrored, setIsErrored] = useState(error && !!error.length);
61
-
62
- useEffect(() => {
63
- setIsErrored(error && !!error.length);
64
- }, [error]);
65
-
66
- return (
67
- <div
68
- {...slotProps.root}
69
- className={cn(
70
- slotProps.root?.className,
71
- styles.root,
72
- fullWidth ? styles.fullWidth : undefined,
73
- isErrored ? styles.errored : undefined,
74
- )}
75
- >
76
- {label && (
77
- <label
78
- {...slotProps.label}
79
- htmlFor={label}
80
- className={cn(slotProps.label?.className, styles.label)}
81
- >
82
- {label}
83
- </label>
84
- )}
85
- <div
86
- {...slotProps.inputWrapper}
87
- className={cn(slotProps.inputWrapper?.className, styles.inputWrapper)}
88
- >
89
- {startIcon && (
90
- <span
91
- {...slotProps.startIcon}
92
- className={cn(
93
- styles.iconContainer,
94
- slotProps.startIcon?.className,
95
- disableStartIconGutters ? styles.disableGutters : undefined,
96
- )}
97
- >
98
- {startIcon}
99
- </span>
100
- )}
101
- <select
102
- className={cn(inputClass, styles.input)}
103
- onTouchStart={eventWithRipple(createRipple, onTouchStart)}
104
- //TODO Causes issue on Firefox where the ripple fires after closing the dropdown
105
- onClick={eventWithRipple(createRipple, onClick)}
106
- onBlur={(e) => {
107
- setIsErrored(false);
108
- onBlur?.(e);
109
- }}
110
- id={label}
111
- {...inputProps}
112
- />
113
- {endIcon && (
114
- <span
115
- {...slotProps.endIcon}
116
- className={cn(
117
- styles.iconContainer,
118
- slotProps.endIcon?.className,
119
- disableEndIconGutters ? styles.disableGutters : undefined,
120
- )}
121
- >
122
- {endIcon}
123
- </span>
124
- )}
125
- {rippleElements}
126
- </div>
127
- {isErrored && (
128
- <InputErrors
129
- {...slotProps.error}
130
- className={cn(slotProps.error?.className, styles.errorText)}
131
- error={error}
132
- />
133
- )}
134
- </div>
135
- );
136
- }
@@ -1,119 +0,0 @@
1
- .root {
2
- --switch-track-width: 54px;
3
- --switch-track-height: 30px;
4
- --switch-thumb-width: 60%;
5
- --switch-track-color: var(--color-background-alpha);
6
- --switch-track-checked-color: var(--color-background);
7
- --switch-thumb-color: var(--color-primary-container);
8
- --switch-thumb-checked-color: var(--color-primary);
9
- --switch-thumb-text-color: var(--color-on-primary-container);
10
- --switch-thumb-checked-text-color: var(--color-on-primary);
11
- display: flex;
12
- gap: var(--spacing-gap-2);
13
- align-items: center;
14
- &:not(.disabled) .switch:hover .thumb {
15
- scale: 1;
16
- }
17
- }
18
- .inputWrapper {
19
- width: var(--switch-track-width);
20
- height: var(--switch-track-height);
21
- position: relative;
22
- overflow: hidden;
23
- padding-inline: 0.2em;
24
- }
25
- .disabled {
26
- --switch-thumb-color: var(--color-surface-alpha);
27
- --switch-thumb-text-color: var(--color-on-surface);
28
- --switch-thumb-checked-color: var(--color-background-faint);
29
- --switch-thumb-checked-text-color: var(--color-on-background-faint);
30
-
31
- & .switch,
32
- & .label {
33
- cursor: not-allowed;
34
- }
35
- }
36
- .input {
37
- /* visibility: hidden; */
38
- position: absolute;
39
- inset: 0;
40
- opacity: 0;
41
- /* left: 99999px; */
42
- }
43
- .inputWrapper:has(.input:focus) .switch {
44
- border: var(--focus-ring);
45
- background: var(--switch-track-checked-color);
46
- }
47
- .switch {
48
- display: block;
49
- width: 100%;
50
- height: 100%;
51
- cursor: pointer;
52
- position: relative;
53
- background-color: var(--switch-track-color);
54
- border: 1px solid var(--color-outline);
55
- border-radius: var(--shape-br-md);
56
- &.checked {
57
- background: var(--switch-track-checked-color);
58
- & .thumb {
59
- left: 50%;
60
- color: var(--switch-thumb-checked-text-color);
61
- animation: checkon var(--transition-time) var(--transition-tf) forwards;
62
- background-color: var(--switch-thumb-checked-color);
63
- }
64
- }
65
- }
66
- .thumb {
67
- display: flex;
68
- justify-content: center;
69
- align-items: center;
70
- position: absolute;
71
- left: 0;
72
- top: 50%;
73
- translate: 0% -50%;
74
- width: var(--switch-thumb-width);
75
- height: 100%;
76
- background-color: var(--switch-thumb-color);
77
- transition: all var(--transition-time) var(--transition-tf);
78
- color: var(--switch-thumb-text-color);
79
- border-radius: var(--shape-br-md);
80
- scale: 80%;
81
- animation: checkoff var(--transition-time) var(--transition-tf) forwards;
82
- }
83
- .label {
84
- cursor: pointer;
85
- }
86
- @keyframes checkon {
87
- 0% {
88
- left: 0%;
89
- width: var(--switch-thumb-width);
90
- height: 100%;
91
- }
92
- 50% {
93
- left: 0;
94
- width: 100%;
95
- height: 80%;
96
- }
97
- 100% {
98
- left: calc(100% - var(--switch-thumb-width));
99
- width: var(--switch-thumb-width);
100
- height: 100%;
101
- }
102
- }
103
- @keyframes checkoff {
104
- 0% {
105
- left: 50%;
106
- width: var(--switch-thumb-width);
107
- height: 100%;
108
- }
109
- 50% {
110
- left: 0;
111
- width: 100%;
112
- height: 80%;
113
- }
114
- 100% {
115
- left: 0;
116
- width: var(--switch-thumb-width);
117
- height: 100%;
118
- }
119
- }