@12-apps/ui 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 (633) hide show
  1. package/components-catalog.md +806 -0
  2. package/components-guidelines.md +347 -0
  3. package/dist/index.cjs +2 -0
  4. package/dist/index.cjs.map +1 -0
  5. package/dist/index.d.cts +2 -0
  6. package/dist/index.d.ts +2 -0
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -0
  9. package/eslint.config.js +77 -0
  10. package/package.json +247 -0
  11. package/src/__tests__/package-wiring.test.ts +37 -0
  12. package/src/__tests__/setup.ts +1 -0
  13. package/src/__tests__/social-login-button.test.tsx +186 -0
  14. package/src/__tests__/user-avatar.test.tsx +195 -0
  15. package/src/button.tsx +22 -0
  16. package/src/components/command/__tests__/command.test.tsx +112 -0
  17. package/src/components/data-display/Alert/Alert.md +209 -0
  18. package/src/components/data-display/Alert/Alert.stories.tsx +561 -0
  19. package/src/components/data-display/Alert/Alert.test.stories.tsx +709 -0
  20. package/src/components/data-display/Alert/Alert.tsx +449 -0
  21. package/src/components/data-display/Alert/Alert.types.ts +79 -0
  22. package/src/components/data-display/Alert/index.ts +2 -0
  23. package/src/components/data-display/AlertDialog/AlertDialog.md +408 -0
  24. package/src/components/data-display/AlertDialog/AlertDialog.stories.tsx +360 -0
  25. package/src/components/data-display/AlertDialog/AlertDialog.test.stories.tsx +753 -0
  26. package/src/components/data-display/AlertDialog/AlertDialog.tsx +273 -0
  27. package/src/components/data-display/AlertDialog/AlertDialog.types.ts +74 -0
  28. package/src/components/data-display/AlertDialog/index.ts +2 -0
  29. package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.stories.tsx +230 -0
  30. package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.test.stories.tsx +270 -0
  31. package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.tsx +116 -0
  32. package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.types.ts +70 -0
  33. package/src/components/data-display/AsyncStateContainer/index.ts +2 -0
  34. package/src/components/data-display/Avatar/Avatar.md +568 -0
  35. package/src/components/data-display/Avatar/Avatar.stories.tsx +718 -0
  36. package/src/components/data-display/Avatar/Avatar.test.stories.tsx +820 -0
  37. package/src/components/data-display/Avatar/Avatar.tsx +507 -0
  38. package/src/components/data-display/Avatar/Avatar.types.ts +88 -0
  39. package/src/components/data-display/Avatar/index.ts +2 -0
  40. package/src/components/data-display/Badge/Badge.md +469 -0
  41. package/src/components/data-display/Badge/Badge.stories.tsx +1136 -0
  42. package/src/components/data-display/Badge/Badge.test.stories.tsx +1193 -0
  43. package/src/components/data-display/Badge/Badge.tsx +606 -0
  44. package/src/components/data-display/Badge/Badge.types.ts +118 -0
  45. package/src/components/data-display/Badge/index.ts +2 -0
  46. package/src/components/data-display/Banner/Banner.stories.tsx +524 -0
  47. package/src/components/data-display/Banner/Banner.test.stories.tsx +503 -0
  48. package/src/components/data-display/Banner/Banner.tsx +350 -0
  49. package/src/components/data-display/Banner/Banner.types.ts +41 -0
  50. package/src/components/data-display/Banner/banner.md +141 -0
  51. package/src/components/data-display/Banner/index.ts +2 -0
  52. package/src/components/data-display/Carousel/Carousel.md +815 -0
  53. package/src/components/data-display/Carousel/Carousel.stories.tsx +607 -0
  54. package/src/components/data-display/Carousel/Carousel.test.stories.tsx +691 -0
  55. package/src/components/data-display/Carousel/Carousel.tsx +765 -0
  56. package/src/components/data-display/Carousel/Carousel.types.ts +79 -0
  57. package/src/components/data-display/Carousel/index.ts +8 -0
  58. package/src/components/data-display/Chart/Chart.md +352 -0
  59. package/src/components/data-display/Chart/Chart.stories.tsx +568 -0
  60. package/src/components/data-display/Chart/Chart.test.stories.tsx +174 -0
  61. package/src/components/data-display/Chart/Chart.tsx +520 -0
  62. package/src/components/data-display/Chart/Chart.types.ts +65 -0
  63. package/src/components/data-display/Chart/index.ts +2 -0
  64. package/src/components/data-display/Chip/Chip.stories.tsx +251 -0
  65. package/src/components/data-display/Chip/Chip.test.stories.tsx +263 -0
  66. package/src/components/data-display/Chip/Chip.tsx +134 -0
  67. package/src/components/data-display/Chip/Chip.types.ts +51 -0
  68. package/src/components/data-display/Chip/chip.md +395 -0
  69. package/src/components/data-display/Chip/index.ts +2 -0
  70. package/src/components/data-display/DataGrid/DataGrid.md +602 -0
  71. package/src/components/data-display/DataGrid/DataGrid.stories.tsx +515 -0
  72. package/src/components/data-display/DataGrid/DataGrid.test.stories.tsx +659 -0
  73. package/src/components/data-display/DataGrid/DataGrid.tsx +743 -0
  74. package/src/components/data-display/DataGrid/DataGrid.types.ts +171 -0
  75. package/src/components/data-display/DataGrid/index.ts +21 -0
  76. package/src/components/data-display/DateTimeDisplay/DateTimeDisplay.tsx +197 -0
  77. package/src/components/data-display/DateTimeDisplay/DateTimeDisplay.types.ts +46 -0
  78. package/src/components/data-display/DateTimeDisplay/index.ts +2 -0
  79. package/src/components/data-display/DescriptionItem/DescriptionItem.md +226 -0
  80. package/src/components/data-display/DescriptionItem/DescriptionItem.stories.tsx +254 -0
  81. package/src/components/data-display/DescriptionItem/DescriptionItem.tsx +100 -0
  82. package/src/components/data-display/DescriptionItem/DescriptionItem.types.ts +1 -0
  83. package/src/components/data-display/DescriptionItem/index.ts +2 -0
  84. package/src/components/data-display/EmptyState/EmptyState.md +265 -0
  85. package/src/components/data-display/EmptyState/EmptyState.stories.tsx +282 -0
  86. package/src/components/data-display/EmptyState/EmptyState.test.stories.tsx +441 -0
  87. package/src/components/data-display/EmptyState/EmptyState.tsx +180 -0
  88. package/src/components/data-display/EmptyState/EmptyState.types.ts +31 -0
  89. package/src/components/data-display/EmptyState/index.ts +2 -0
  90. package/src/components/data-display/ErrorState/ErrorState.stories.tsx +110 -0
  91. package/src/components/data-display/ErrorState/ErrorState.test.stories.tsx +133 -0
  92. package/src/components/data-display/ErrorState/ErrorState.tsx +118 -0
  93. package/src/components/data-display/ErrorState/ErrorState.types.ts +45 -0
  94. package/src/components/data-display/ErrorState/index.ts +2 -0
  95. package/src/components/data-display/HoverCard/HoverCard.md +389 -0
  96. package/src/components/data-display/HoverCard/HoverCard.stories.tsx +648 -0
  97. package/src/components/data-display/HoverCard/HoverCard.test.stories.tsx +929 -0
  98. package/src/components/data-display/HoverCard/HoverCard.tsx +657 -0
  99. package/src/components/data-display/HoverCard/HoverCard.types.ts +116 -0
  100. package/src/components/data-display/HoverCard/index.ts +2 -0
  101. package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.md +532 -0
  102. package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.stories.tsx +411 -0
  103. package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.tsx +245 -0
  104. package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.types.ts +64 -0
  105. package/src/components/data-display/InteractiveTooltip/index.ts +2 -0
  106. package/src/components/data-display/LazyImage/LazyImage.md +356 -0
  107. package/src/components/data-display/LazyImage/LazyImage.stories.tsx +387 -0
  108. package/src/components/data-display/LazyImage/LazyImage.tsx +323 -0
  109. package/src/components/data-display/LazyImage/LazyImage.types.ts +205 -0
  110. package/src/components/data-display/LazyImage/index.ts +2 -0
  111. package/src/components/data-display/Lightbox/Lightbox.stories.tsx +315 -0
  112. package/src/components/data-display/Lightbox/Lightbox.test.stories.tsx +605 -0
  113. package/src/components/data-display/Lightbox/Lightbox.tsx +666 -0
  114. package/src/components/data-display/Lightbox/Lightbox.types.ts +49 -0
  115. package/src/components/data-display/Lightbox/index.ts +2 -0
  116. package/src/components/data-display/Lightbox/lightbox.md +298 -0
  117. package/src/components/data-display/LoadingState/LoadingState.stories.tsx +124 -0
  118. package/src/components/data-display/LoadingState/LoadingState.test.stories.tsx +99 -0
  119. package/src/components/data-display/LoadingState/LoadingState.tsx +103 -0
  120. package/src/components/data-display/LoadingState/LoadingState.types.ts +37 -0
  121. package/src/components/data-display/LoadingState/index.ts +2 -0
  122. package/src/components/data-display/MapPreview/MapPreview.md +154 -0
  123. package/src/components/data-display/MapPreview/MapPreview.stories.tsx +458 -0
  124. package/src/components/data-display/MapPreview/MapPreview.test.stories.tsx +390 -0
  125. package/src/components/data-display/MapPreview/MapPreview.tsx +922 -0
  126. package/src/components/data-display/MapPreview/MapPreview.types.ts +56 -0
  127. package/src/components/data-display/MapPreview/index.ts +2 -0
  128. package/src/components/data-display/Popover/Popover.md +245 -0
  129. package/src/components/data-display/Popover/Popover.stories.tsx +295 -0
  130. package/src/components/data-display/Popover/Popover.test.stories.tsx +1168 -0
  131. package/src/components/data-display/Popover/Popover.tsx +132 -0
  132. package/src/components/data-display/Popover/Popover.types.ts +33 -0
  133. package/src/components/data-display/Popover/index.ts +2 -0
  134. package/src/components/data-display/Progress/Progress.md +450 -0
  135. package/src/components/data-display/Progress/Progress.stories.tsx +481 -0
  136. package/src/components/data-display/Progress/Progress.test.stories.tsx +2070 -0
  137. package/src/components/data-display/Progress/Progress.tsx +332 -0
  138. package/src/components/data-display/Progress/Progress.types.ts +61 -0
  139. package/src/components/data-display/Progress/index.ts +2 -0
  140. package/src/components/data-display/SectionOnboarding/SectionOnboarding.md +108 -0
  141. package/src/components/data-display/SectionOnboarding/SectionOnboarding.stories.tsx +160 -0
  142. package/src/components/data-display/SectionOnboarding/SectionOnboarding.test.stories.tsx +190 -0
  143. package/src/components/data-display/SectionOnboarding/SectionOnboarding.tsx +224 -0
  144. package/src/components/data-display/SectionOnboarding/SectionOnboarding.types.ts +101 -0
  145. package/src/components/data-display/SectionOnboarding/index.ts +7 -0
  146. package/src/components/data-display/Sheet/Sheet.md +475 -0
  147. package/src/components/data-display/Sheet/Sheet.stories.tsx +883 -0
  148. package/src/components/data-display/Sheet/Sheet.test.stories.tsx +1101 -0
  149. package/src/components/data-display/Sheet/Sheet.tsx +978 -0
  150. package/src/components/data-display/Sheet/Sheet.types.ts +93 -0
  151. package/src/components/data-display/Sheet/index.ts +8 -0
  152. package/src/components/data-display/Stepper/Stepper.md +542 -0
  153. package/src/components/data-display/Stepper/Stepper.stories.tsx +540 -0
  154. package/src/components/data-display/Stepper/Stepper.test.stories.tsx +607 -0
  155. package/src/components/data-display/Stepper/Stepper.tsx +328 -0
  156. package/src/components/data-display/Stepper/Stepper.types.ts +97 -0
  157. package/src/components/data-display/Stepper/index.ts +2 -0
  158. package/src/components/data-display/Table/Table.md +243 -0
  159. package/src/components/data-display/Table/Table.stories.tsx +801 -0
  160. package/src/components/data-display/Table/Table.test.stories.tsx +369 -0
  161. package/src/components/data-display/Table/Table.tsx +831 -0
  162. package/src/components/data-display/Table/Table.types.ts +335 -0
  163. package/src/components/data-display/Table/index.ts +2 -0
  164. package/src/components/data-display/Timeline/Timeline.md +201 -0
  165. package/src/components/data-display/Timeline/Timeline.stories.tsx +444 -0
  166. package/src/components/data-display/Timeline/Timeline.test.stories.tsx +944 -0
  167. package/src/components/data-display/Timeline/Timeline.tsx +348 -0
  168. package/src/components/data-display/Timeline/Timeline.types.ts +26 -0
  169. package/src/components/data-display/Timeline/index.ts +2 -0
  170. package/src/components/data-display/TimingDiagram/TimingDiagram.md +162 -0
  171. package/src/components/data-display/TimingDiagram/TimingDiagram.stories.tsx +475 -0
  172. package/src/components/data-display/TimingDiagram/TimingDiagram.test.stories.tsx +734 -0
  173. package/src/components/data-display/TimingDiagram/TimingDiagram.tsx +399 -0
  174. package/src/components/data-display/TimingDiagram/TimingDiagram.types.ts +19 -0
  175. package/src/components/data-display/TimingDiagram/index.ts +2 -0
  176. package/src/components/data-display/Tooltip/Tooltip.md +397 -0
  177. package/src/components/data-display/Tooltip/Tooltip.stories.tsx +465 -0
  178. package/src/components/data-display/Tooltip/Tooltip.test.stories.tsx +1168 -0
  179. package/src/components/data-display/Tooltip/Tooltip.tsx +161 -0
  180. package/src/components/data-display/Tooltip/Tooltip.types.ts +33 -0
  181. package/src/components/data-display/Tooltip/index.ts +2 -0
  182. package/src/components/data-display/index.ts +29 -0
  183. package/src/components/feedback/Dialog/Dialog.md +527 -0
  184. package/src/components/feedback/Dialog/Dialog.stories.tsx +833 -0
  185. package/src/components/feedback/Dialog/Dialog.styles.ts +171 -0
  186. package/src/components/feedback/Dialog/Dialog.test.stories.tsx +955 -0
  187. package/src/components/feedback/Dialog/Dialog.tsx +256 -0
  188. package/src/components/feedback/Dialog/Dialog.types.ts +46 -0
  189. package/src/components/feedback/Dialog/index.ts +9 -0
  190. package/src/components/feedback/Modal/Modal.md +629 -0
  191. package/src/components/feedback/Modal/Modal.stories.tsx +765 -0
  192. package/src/components/feedback/Modal/Modal.test.stories.tsx +251 -0
  193. package/src/components/feedback/Modal/Modal.tsx +279 -0
  194. package/src/components/feedback/Modal/Modal.types.ts +26 -0
  195. package/src/components/feedback/Modal/index.ts +7 -0
  196. package/src/components/feedback/Sonner/Sonner.stories.tsx +698 -0
  197. package/src/components/feedback/Sonner/Sonner.test.stories.tsx +896 -0
  198. package/src/components/feedback/Sonner/Sonner.tsx +493 -0
  199. package/src/components/feedback/Sonner/Sonner.types.ts +65 -0
  200. package/src/components/feedback/Sonner/index.ts +8 -0
  201. package/src/components/feedback/StackedModal/StackedModal.md +273 -0
  202. package/src/components/feedback/StackedModal/StackedModal.stories.tsx +1785 -0
  203. package/src/components/feedback/StackedModal/StackedModal.test.stories.tsx +975 -0
  204. package/src/components/feedback/StackedModal/StackedModal.tsx +664 -0
  205. package/src/components/feedback/StackedModal/StackedModal.types.ts +70 -0
  206. package/src/components/feedback/StackedModal/index.ts +11 -0
  207. package/src/components/feedback/Toast/Toast.md +547 -0
  208. package/src/components/feedback/Toast/Toast.stories.tsx +548 -0
  209. package/src/components/feedback/Toast/Toast.test.stories.tsx +834 -0
  210. package/src/components/feedback/Toast/Toast.tsx +279 -0
  211. package/src/components/feedback/Toast/Toast.types.ts +59 -0
  212. package/src/components/feedback/Toast/index.ts +8 -0
  213. package/src/components/feedback/TutorialOverlay/TutorialOverlay.md +610 -0
  214. package/src/components/feedback/TutorialOverlay/TutorialOverlay.stories.tsx +691 -0
  215. package/src/components/feedback/TutorialOverlay/TutorialOverlay.test.stories.tsx +634 -0
  216. package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +554 -0
  217. package/src/components/feedback/TutorialOverlay/TutorialOverlay.types.ts +30 -0
  218. package/src/components/feedback/TutorialOverlay/index.ts +2 -0
  219. package/src/components/feedback/index.ts +6 -0
  220. package/src/components/form/AddressAutocomplete/AddressAutocomplete.md +633 -0
  221. package/src/components/form/AddressAutocomplete/AddressAutocomplete.stories.tsx +663 -0
  222. package/src/components/form/AddressAutocomplete/AddressAutocomplete.test.stories.tsx +723 -0
  223. package/src/components/form/AddressAutocomplete/AddressAutocomplete.tsx +836 -0
  224. package/src/components/form/AddressAutocomplete/AddressAutocomplete.types.ts +37 -0
  225. package/src/components/form/AddressAutocomplete/index.ts +2 -0
  226. package/src/components/form/Autocomplete/Autocomplete.helpers.ts +115 -0
  227. package/src/components/form/Autocomplete/Autocomplete.keys.ts +134 -0
  228. package/src/components/form/Autocomplete/Autocomplete.parts.tsx +337 -0
  229. package/src/components/form/Autocomplete/Autocomplete.stories.tsx +715 -0
  230. package/src/components/form/Autocomplete/Autocomplete.test.stories.tsx +825 -0
  231. package/src/components/form/Autocomplete/Autocomplete.tsx +166 -0
  232. package/src/components/form/Autocomplete/Autocomplete.types.ts +116 -0
  233. package/src/components/form/Autocomplete/autocomplete.md +789 -0
  234. package/src/components/form/Autocomplete/index.ts +8 -0
  235. package/src/components/form/Autocomplete/useAutocomplete.ts +311 -0
  236. package/src/components/form/Button/Button.md +411 -0
  237. package/src/components/form/Button/Button.stories.tsx +362 -0
  238. package/src/components/form/Button/Button.test.stories.tsx +603 -0
  239. package/src/components/form/Button/Button.tsx +326 -0
  240. package/src/components/form/Button/Button.types.ts +74 -0
  241. package/src/components/form/Button/index.ts +2 -0
  242. package/src/components/form/Calendar/Calendar.md +807 -0
  243. package/src/components/form/Calendar/Calendar.stories.tsx +349 -0
  244. package/src/components/form/Calendar/Calendar.test.stories.tsx +465 -0
  245. package/src/components/form/Calendar/Calendar.tsx +571 -0
  246. package/src/components/form/Calendar/Calendar.types.ts +81 -0
  247. package/src/components/form/Calendar/index.ts +11 -0
  248. package/src/components/form/Checkbox/Checkbox.md +200 -0
  249. package/src/components/form/Checkbox/Checkbox.stories.tsx +265 -0
  250. package/src/components/form/Checkbox/Checkbox.test.stories.tsx +181 -0
  251. package/src/components/form/Checkbox/Checkbox.tsx +170 -0
  252. package/src/components/form/Checkbox/Checkbox.types.ts +20 -0
  253. package/src/components/form/Checkbox/index.ts +2 -0
  254. package/src/components/form/CodeEditor/CodeEditor.md +350 -0
  255. package/src/components/form/CodeEditor/CodeEditor.stories.tsx +871 -0
  256. package/src/components/form/CodeEditor/CodeEditor.test.stories.tsx +575 -0
  257. package/src/components/form/CodeEditor/CodeEditor.tsx +415 -0
  258. package/src/components/form/CodeEditor/CodeEditor.types.ts +38 -0
  259. package/src/components/form/CodeEditor/index.ts +2 -0
  260. package/src/components/form/Command/Command.md +468 -0
  261. package/src/components/form/Command/Command.stories.tsx +580 -0
  262. package/src/components/form/Command/Command.test.stories.tsx +215 -0
  263. package/src/components/form/Command/Command.tsx +545 -0
  264. package/src/components/form/Command/Command.types.ts +116 -0
  265. package/src/components/form/Command/index.ts +12 -0
  266. package/src/components/form/CreatableSelect/CreatableSelect.md +114 -0
  267. package/src/components/form/CreatableSelect/CreatableSelect.stories.tsx +112 -0
  268. package/src/components/form/CreatableSelect/CreatableSelect.test.stories.tsx +134 -0
  269. package/src/components/form/CreatableSelect/CreatableSelect.tsx +149 -0
  270. package/src/components/form/CreatableSelect/CreatableSelect.types.ts +37 -0
  271. package/src/components/form/CreatableSelect/index.ts +2 -0
  272. package/src/components/form/Form/Form.md +325 -0
  273. package/src/components/form/Form/Form.stories.tsx +687 -0
  274. package/src/components/form/Form/Form.test.stories.tsx +601 -0
  275. package/src/components/form/Form/Form.tsx +136 -0
  276. package/src/components/form/Form/Form.types.ts +42 -0
  277. package/src/components/form/Form/index.ts +8 -0
  278. package/src/components/form/Input/Input.md +252 -0
  279. package/src/components/form/Input/Input.stories.tsx +256 -0
  280. package/src/components/form/Input/Input.test.stories.tsx +1184 -0
  281. package/src/components/form/Input/Input.tsx +263 -0
  282. package/src/components/form/Input/Input.types.ts +24 -0
  283. package/src/components/form/Input/index.ts +2 -0
  284. package/src/components/form/InputOTP/InputOTP.md +419 -0
  285. package/src/components/form/InputOTP/InputOTP.stories.tsx +774 -0
  286. package/src/components/form/InputOTP/InputOTP.test.stories.tsx +596 -0
  287. package/src/components/form/InputOTP/InputOTP.tsx +231 -0
  288. package/src/components/form/InputOTP/InputOTP.types.ts +68 -0
  289. package/src/components/form/InputOTP/index.ts +2 -0
  290. package/src/components/form/Label/Label.md +426 -0
  291. package/src/components/form/Label/Label.stories.tsx +473 -0
  292. package/src/components/form/Label/Label.test.stories.tsx +909 -0
  293. package/src/components/form/Label/Label.tsx +367 -0
  294. package/src/components/form/Label/Label.types.ts +35 -0
  295. package/src/components/form/Label/index.ts +2 -0
  296. package/src/components/form/Menubar/Menubar.md +275 -0
  297. package/src/components/form/Menubar/Menubar.stories.tsx +472 -0
  298. package/src/components/form/Menubar/Menubar.test.stories.tsx +588 -0
  299. package/src/components/form/Menubar/Menubar.tsx +467 -0
  300. package/src/components/form/Menubar/Menubar.types.ts +71 -0
  301. package/src/components/form/Menubar/index.ts +8 -0
  302. package/src/components/form/PasswordStrength/PasswordStrength.md +139 -0
  303. package/src/components/form/PasswordStrength/PasswordStrength.stories.tsx +562 -0
  304. package/src/components/form/PasswordStrength/PasswordStrength.test.stories.tsx +327 -0
  305. package/src/components/form/PasswordStrength/PasswordStrength.tsx +419 -0
  306. package/src/components/form/PasswordStrength/PasswordStrength.types.ts +18 -0
  307. package/src/components/form/PasswordStrength/index.ts +2 -0
  308. package/src/components/form/PhoneInput/PhoneInput.md +578 -0
  309. package/src/components/form/PhoneInput/PhoneInput.stories.tsx +495 -0
  310. package/src/components/form/PhoneInput/PhoneInput.test.stories.tsx +666 -0
  311. package/src/components/form/PhoneInput/PhoneInput.tsx +376 -0
  312. package/src/components/form/PhoneInput/PhoneInput.types.ts +25 -0
  313. package/src/components/form/PhoneInput/index.ts +2 -0
  314. package/src/components/form/RadioGroup/RadioGroup.md +477 -0
  315. package/src/components/form/RadioGroup/RadioGroup.stories.tsx +518 -0
  316. package/src/components/form/RadioGroup/RadioGroup.test.stories.tsx +685 -0
  317. package/src/components/form/RadioGroup/RadioGroup.tsx +664 -0
  318. package/src/components/form/RadioGroup/RadioGroup.types.ts +82 -0
  319. package/src/components/form/RadioGroup/index.ts +2 -0
  320. package/src/components/form/RichTextEditor/RichTextEditor.md +710 -0
  321. package/src/components/form/RichTextEditor/RichTextEditor.stories.tsx +261 -0
  322. package/src/components/form/RichTextEditor/RichTextEditor.test.stories.tsx +498 -0
  323. package/src/components/form/RichTextEditor/RichTextEditor.tsx +468 -0
  324. package/src/components/form/RichTextEditor/RichTextEditor.types.ts +72 -0
  325. package/src/components/form/RichTextEditor/index.ts +2 -0
  326. package/src/components/form/SearchPalette/SearchPalette.md +69 -0
  327. package/src/components/form/SearchPalette/SearchPalette.parts.tsx +358 -0
  328. package/src/components/form/SearchPalette/SearchPalette.stories.tsx +135 -0
  329. package/src/components/form/SearchPalette/SearchPalette.tsx +141 -0
  330. package/src/components/form/SearchPalette/SearchPalette.types.ts +82 -0
  331. package/src/components/form/SearchPalette/index.ts +7 -0
  332. package/src/components/form/Select/Select.md +254 -0
  333. package/src/components/form/Select/Select.stories.tsx +364 -0
  334. package/src/components/form/Select/Select.test.stories.tsx +977 -0
  335. package/src/components/form/Select/Select.tsx +239 -0
  336. package/src/components/form/Select/Select.types.ts +57 -0
  337. package/src/components/form/Select/index.ts +2 -0
  338. package/src/components/form/Slider/Slider.md +326 -0
  339. package/src/components/form/Slider/Slider.stories.tsx +418 -0
  340. package/src/components/form/Slider/Slider.test.stories.tsx +1044 -0
  341. package/src/components/form/Slider/Slider.tsx +374 -0
  342. package/src/components/form/Slider/Slider.types.ts +113 -0
  343. package/src/components/form/Slider/index.ts +2 -0
  344. package/src/components/form/Switch/Switch.md +565 -0
  345. package/src/components/form/Switch/Switch.stories.tsx +697 -0
  346. package/src/components/form/Switch/Switch.test.stories.tsx +597 -0
  347. package/src/components/form/Switch/Switch.tsx +578 -0
  348. package/src/components/form/Switch/Switch.types.ts +130 -0
  349. package/src/components/form/Switch/index.ts +2 -0
  350. package/src/components/form/Textarea/Textarea.stories.tsx +473 -0
  351. package/src/components/form/Textarea/Textarea.test.stories.tsx +708 -0
  352. package/src/components/form/Textarea/Textarea.tsx +678 -0
  353. package/src/components/form/Textarea/Textarea.types.ts +84 -0
  354. package/src/components/form/Textarea/index.ts +2 -0
  355. package/src/components/form/Toggle/Toggle.md +234 -0
  356. package/src/components/form/Toggle/Toggle.stories.tsx +638 -0
  357. package/src/components/form/Toggle/Toggle.test.stories.tsx +1167 -0
  358. package/src/components/form/Toggle/Toggle.tsx +265 -0
  359. package/src/components/form/Toggle/Toggle.types.ts +79 -0
  360. package/src/components/form/Toggle/index.ts +2 -0
  361. package/src/components/form/ToggleGroup/ToggleGroup.md +329 -0
  362. package/src/components/form/ToggleGroup/ToggleGroup.stories.tsx +617 -0
  363. package/src/components/form/ToggleGroup/ToggleGroup.test.stories.tsx +918 -0
  364. package/src/components/form/ToggleGroup/ToggleGroup.tsx +129 -0
  365. package/src/components/form/ToggleGroup/ToggleGroup.types.ts +53 -0
  366. package/src/components/form/ToggleGroup/index.ts +2 -0
  367. package/src/components/form/UploadButton/UploadButton.md +44 -0
  368. package/src/components/form/UploadButton/UploadButton.stories.tsx +366 -0
  369. package/src/components/form/UploadButton/UploadButton.test.stories.tsx +454 -0
  370. package/src/components/form/UploadButton/UploadButton.tsx +312 -0
  371. package/src/components/form/UploadButton/UploadButton.types.ts +58 -0
  372. package/src/components/form/UploadButton/index.ts +2 -0
  373. package/src/components/form/index.ts +25 -0
  374. package/src/components/form/total-form/Fields/SelectField.tsx +57 -0
  375. package/src/components/form/total-form/Fields/TextField.tsx +58 -0
  376. package/src/components/form/total-form/Fields/index.ts +4 -0
  377. package/src/components/form/total-form/FormContainer.tsx +104 -0
  378. package/src/components/form/total-form/FormContext.tsx +38 -0
  379. package/src/components/form/total-form/FormErrorSnackbar.tsx +35 -0
  380. package/src/components/form/total-form/SubmitButton.tsx +27 -0
  381. package/src/components/form/total-form/index.ts +12 -0
  382. package/src/components/form/total-form/total-form.test.tsx +97 -0
  383. package/src/components/index.ts +7 -0
  384. package/src/components/layout/Accordion/Accordion.md +725 -0
  385. package/src/components/layout/Accordion/Accordion.stories.tsx +690 -0
  386. package/src/components/layout/Accordion/Accordion.test.stories.tsx +1362 -0
  387. package/src/components/layout/Accordion/Accordion.tsx +242 -0
  388. package/src/components/layout/Accordion/Accordion.types.ts +32 -0
  389. package/src/components/layout/Accordion/index.ts +8 -0
  390. package/src/components/layout/Card/Card.md +533 -0
  391. package/src/components/layout/Card/Card.stories.tsx +593 -0
  392. package/src/components/layout/Card/Card.test.stories.tsx +1134 -0
  393. package/src/components/layout/Card/Card.tsx +404 -0
  394. package/src/components/layout/Card/Card.types.ts +57 -0
  395. package/src/components/layout/Card/index.ts +8 -0
  396. package/src/components/layout/Collapsible/Collapsible.md +135 -0
  397. package/src/components/layout/Collapsible/Collapsible.stories.tsx +180 -0
  398. package/src/components/layout/Collapsible/Collapsible.test.stories.tsx +304 -0
  399. package/src/components/layout/Collapsible/Collapsible.tsx +198 -0
  400. package/src/components/layout/Collapsible/Collapsible.types.ts +35 -0
  401. package/src/components/layout/Collapsible/index.ts +6 -0
  402. package/src/components/layout/Container/Container.md +420 -0
  403. package/src/components/layout/Container/Container.stories.tsx +557 -0
  404. package/src/components/layout/Container/Container.test.stories.tsx +750 -0
  405. package/src/components/layout/Container/Container.tsx +72 -0
  406. package/src/components/layout/Container/Container.types.ts +11 -0
  407. package/src/components/layout/Container/index.ts +2 -0
  408. package/src/components/layout/ContentToolbar/ColumnsMenu.tsx +99 -0
  409. package/src/components/layout/ContentToolbar/ContentToolbar.md +75 -0
  410. package/src/components/layout/ContentToolbar/ContentToolbar.stories.tsx +129 -0
  411. package/src/components/layout/ContentToolbar/ContentToolbar.test.stories.tsx +251 -0
  412. package/src/components/layout/ContentToolbar/ContentToolbar.tsx +108 -0
  413. package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +229 -0
  414. package/src/components/layout/ContentToolbar/FilterTrigger.tsx +71 -0
  415. package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +297 -0
  416. package/src/components/layout/ContentToolbar/SavedViewsMenu.tsx +334 -0
  417. package/src/components/layout/ContentToolbar/SortByDropdown.tsx +213 -0
  418. package/src/components/layout/ContentToolbar/ViewSelector.tsx +98 -0
  419. package/src/components/layout/ContentToolbar/__tests__/ColumnsMenu.test.tsx +39 -0
  420. package/src/components/layout/ContentToolbar/__tests__/MultiSelectDropdown.test.tsx +110 -0
  421. package/src/components/layout/ContentToolbar/__tests__/SavedViewsMenu.test.tsx +99 -0
  422. package/src/components/layout/ContentToolbar/index.ts +24 -0
  423. package/src/components/layout/ContentToolbar/tests.md +42 -0
  424. package/src/components/layout/ContentToolbar/track.md +41 -0
  425. package/src/components/layout/Dashboard/Dashboard.md +71 -0
  426. package/src/components/layout/Dashboard/Dashboard.stories.tsx +104 -0
  427. package/src/components/layout/Dashboard/Dashboard.test.stories.tsx +164 -0
  428. package/src/components/layout/Dashboard/Dashboard.tsx +297 -0
  429. package/src/components/layout/Dashboard/Dashboard.types.ts +157 -0
  430. package/src/components/layout/Dashboard/DashboardContext.tsx +47 -0
  431. package/src/components/layout/Dashboard/DashboardParts.tsx +216 -0
  432. package/src/components/layout/Dashboard/index.ts +18 -0
  433. package/src/components/layout/Dashboard/tests.md +46 -0
  434. package/src/components/layout/Dashboard/track.md +50 -0
  435. package/src/components/layout/Drawer/Drawer.md +479 -0
  436. package/src/components/layout/Drawer/Drawer.stories.tsx +660 -0
  437. package/src/components/layout/Drawer/Drawer.test.stories.tsx +1339 -0
  438. package/src/components/layout/Drawer/Drawer.tsx +150 -0
  439. package/src/components/layout/Drawer/Drawer.types.ts +34 -0
  440. package/src/components/layout/Drawer/index.ts +2 -0
  441. package/src/components/layout/Resizable/Resizable.md +308 -0
  442. package/src/components/layout/Resizable/Resizable.stories.tsx +1039 -0
  443. package/src/components/layout/Resizable/Resizable.test.stories.tsx +750 -0
  444. package/src/components/layout/Resizable/Resizable.tsx +190 -0
  445. package/src/components/layout/Resizable/Resizable.types.ts +34 -0
  446. package/src/components/layout/Resizable/index.ts +2 -0
  447. package/src/components/layout/ScrollArea/ScrollArea.md +122 -0
  448. package/src/components/layout/ScrollArea/ScrollArea.stories.tsx +651 -0
  449. package/src/components/layout/ScrollArea/ScrollArea.test.stories.tsx +619 -0
  450. package/src/components/layout/ScrollArea/ScrollArea.tsx +449 -0
  451. package/src/components/layout/ScrollArea/ScrollArea.types.ts +80 -0
  452. package/src/components/layout/ScrollArea/index.ts +7 -0
  453. package/src/components/layout/Separator/Separator.stories.tsx +563 -0
  454. package/src/components/layout/Separator/Separator.test.stories.tsx +527 -0
  455. package/src/components/layout/Separator/Separator.tsx +187 -0
  456. package/src/components/layout/Separator/Separator.types.ts +17 -0
  457. package/src/components/layout/Separator/index.ts +2 -0
  458. package/src/components/layout/SettingsLayout/SettingsLayout.md +139 -0
  459. package/src/components/layout/SettingsLayout/SettingsLayout.parts.tsx +357 -0
  460. package/src/components/layout/SettingsLayout/SettingsLayout.stories.tsx +194 -0
  461. package/src/components/layout/SettingsLayout/SettingsLayout.test.stories.tsx +175 -0
  462. package/src/components/layout/SettingsLayout/SettingsLayout.tsx +69 -0
  463. package/src/components/layout/SettingsLayout/SettingsLayout.types.ts +61 -0
  464. package/src/components/layout/SettingsLayout/index.ts +6 -0
  465. package/src/components/layout/Sidebar/Sidebar.md +367 -0
  466. package/src/components/layout/Sidebar/Sidebar.stories.tsx +611 -0
  467. package/src/components/layout/Sidebar/Sidebar.test.stories.tsx +1326 -0
  468. package/src/components/layout/Sidebar/Sidebar.tsx +131 -0
  469. package/src/components/layout/Sidebar/Sidebar.types.ts +30 -0
  470. package/src/components/layout/Sidebar/index.ts +7 -0
  471. package/src/components/layout/Skeleton/Skeleton.md +240 -0
  472. package/src/components/layout/Skeleton/Skeleton.stories.tsx +689 -0
  473. package/src/components/layout/Skeleton/Skeleton.test.stories.tsx +521 -0
  474. package/src/components/layout/Skeleton/Skeleton.tsx +166 -0
  475. package/src/components/layout/Skeleton/Skeleton.types.ts +19 -0
  476. package/src/components/layout/Skeleton/index.ts +2 -0
  477. package/src/components/layout/Spacer/Spacer.md +84 -0
  478. package/src/components/layout/Spacer/Spacer.stories.tsx +502 -0
  479. package/src/components/layout/Spacer/Spacer.test.stories.tsx +472 -0
  480. package/src/components/layout/Spacer/Spacer.tsx +68 -0
  481. package/src/components/layout/Spacer/Spacer.types.ts +12 -0
  482. package/src/components/layout/Spacer/index.ts +2 -0
  483. package/src/components/layout/TableFilter/TableFilter.md +55 -0
  484. package/src/components/layout/TableFilter/TableFilter.stories.tsx +82 -0
  485. package/src/components/layout/TableFilter/TableFilter.test.stories.tsx +87 -0
  486. package/src/components/layout/TableFilter/TableFilter.tsx +383 -0
  487. package/src/components/layout/TableFilter/TableFilter.types.ts +87 -0
  488. package/src/components/layout/TableFilter/TableFilterContext.tsx +29 -0
  489. package/src/components/layout/TableFilter/index.ts +15 -0
  490. package/src/components/layout/TableFilter/tests.md +37 -0
  491. package/src/components/layout/TableFilter/track.md +36 -0
  492. package/src/components/layout/index.ts +14 -0
  493. package/src/components/navigation/Breadcrumbs/Breadcrumbs.md +558 -0
  494. package/src/components/navigation/Breadcrumbs/Breadcrumbs.stories.tsx +640 -0
  495. package/src/components/navigation/Breadcrumbs/Breadcrumbs.test.stories.tsx +1007 -0
  496. package/src/components/navigation/Breadcrumbs/Breadcrumbs.tsx +516 -0
  497. package/src/components/navigation/Breadcrumbs/Breadcrumbs.types.ts +132 -0
  498. package/src/components/navigation/Breadcrumbs/index.ts +2 -0
  499. package/src/components/navigation/CommandPalette/CommandPalette.md +201 -0
  500. package/src/components/navigation/CommandPalette/CommandPalette.stories.tsx +384 -0
  501. package/src/components/navigation/CommandPalette/CommandPalette.test.stories.tsx +437 -0
  502. package/src/components/navigation/CommandPalette/CommandPalette.tsx +434 -0
  503. package/src/components/navigation/CommandPalette/CommandPalette.types.ts +25 -0
  504. package/src/components/navigation/CommandPalette/index.ts +2 -0
  505. package/src/components/navigation/ContextMenu/ContextMenu.md +535 -0
  506. package/src/components/navigation/ContextMenu/ContextMenu.stories.tsx +611 -0
  507. package/src/components/navigation/ContextMenu/ContextMenu.test.stories.tsx +850 -0
  508. package/src/components/navigation/ContextMenu/ContextMenu.tsx +254 -0
  509. package/src/components/navigation/ContextMenu/ContextMenu.types.ts +96 -0
  510. package/src/components/navigation/ContextMenu/index.ts +2 -0
  511. package/src/components/navigation/DropdownMenu/DropdownMenu.md +514 -0
  512. package/src/components/navigation/DropdownMenu/DropdownMenu.stories.tsx +580 -0
  513. package/src/components/navigation/DropdownMenu/DropdownMenu.test.stories.tsx +660 -0
  514. package/src/components/navigation/DropdownMenu/DropdownMenu.tsx +305 -0
  515. package/src/components/navigation/DropdownMenu/DropdownMenu.types.ts +116 -0
  516. package/src/components/navigation/DropdownMenu/index.ts +2 -0
  517. package/src/components/navigation/NavigationMenu/NavigationMenu.md +580 -0
  518. package/src/components/navigation/NavigationMenu/NavigationMenu.tsx +874 -0
  519. package/src/components/navigation/NavigationMenu/NavigationMenu.types.ts +135 -0
  520. package/src/components/navigation/NavigationMenu/index.ts +2 -0
  521. package/src/components/navigation/NavigationMenu/stories/NavigationMenu.stories.tsx +518 -0
  522. package/src/components/navigation/NavigationMenu/stories/NavigationMenu.test.stories.tsx +931 -0
  523. package/src/components/navigation/NavigationMenu/stories/NavigationMenuHorizontal.stories.tsx +503 -0
  524. package/src/components/navigation/NavigationMenu/stories/NavigationMenuVertical.stories.tsx +455 -0
  525. package/src/components/navigation/Pagination/Pagination.md +699 -0
  526. package/src/components/navigation/Pagination/Pagination.stories.tsx +604 -0
  527. package/src/components/navigation/Pagination/Pagination.test.stories.tsx +520 -0
  528. package/src/components/navigation/Pagination/Pagination.tsx +356 -0
  529. package/src/components/navigation/Pagination/Pagination.types.ts +129 -0
  530. package/src/components/navigation/Pagination/index.ts +2 -0
  531. package/src/components/navigation/Tabs/Tabs.md +774 -0
  532. package/src/components/navigation/Tabs/Tabs.stories.tsx +1006 -0
  533. package/src/components/navigation/Tabs/Tabs.test.stories.tsx +1225 -0
  534. package/src/components/navigation/Tabs/Tabs.tsx +433 -0
  535. package/src/components/navigation/Tabs/Tabs.types.ts +239 -0
  536. package/src/components/navigation/Tabs/index.ts +2 -0
  537. package/src/components/navigation/index.ts +7 -0
  538. package/src/components/typography/Blockquote/Blockquote.md +130 -0
  539. package/src/components/typography/Blockquote/Blockquote.stories.tsx +359 -0
  540. package/src/components/typography/Blockquote/Blockquote.test.stories.tsx +432 -0
  541. package/src/components/typography/Blockquote/Blockquote.tsx +166 -0
  542. package/src/components/typography/Blockquote/Blockquote.types.ts +11 -0
  543. package/src/components/typography/Blockquote/index.ts +2 -0
  544. package/src/components/typography/Code/Code.md +182 -0
  545. package/src/components/typography/Code/Code.stories.tsx +686 -0
  546. package/src/components/typography/Code/Code.test.stories.tsx +703 -0
  547. package/src/components/typography/Code/Code.tsx +228 -0
  548. package/src/components/typography/Code/Code.types.ts +12 -0
  549. package/src/components/typography/Code/index.ts +2 -0
  550. package/src/components/typography/Heading/Heading.md +143 -0
  551. package/src/components/typography/Heading/Heading.stories.tsx +451 -0
  552. package/src/components/typography/Heading/Heading.test.stories.tsx +830 -0
  553. package/src/components/typography/Heading/Heading.tsx +178 -0
  554. package/src/components/typography/Heading/Heading.types.ts +11 -0
  555. package/src/components/typography/Heading/index.ts +2 -0
  556. package/src/components/typography/Paragraph/Paragraph.md +80 -0
  557. package/src/components/typography/Paragraph/Paragraph.stories.tsx +280 -0
  558. package/src/components/typography/Paragraph/Paragraph.test.stories.tsx +238 -0
  559. package/src/components/typography/Paragraph/Paragraph.tsx +99 -0
  560. package/src/components/typography/Paragraph/Paragraph.types.ts +10 -0
  561. package/src/components/typography/Paragraph/index.ts +2 -0
  562. package/src/components/typography/Text/Text.md +129 -0
  563. package/src/components/typography/Text/Text.stories.tsx +359 -0
  564. package/src/components/typography/Text/Text.test.stories.tsx +762 -0
  565. package/src/components/typography/Text/Text.tsx +159 -0
  566. package/src/components/typography/Text/Text.types.ts +15 -0
  567. package/src/components/typography/Text/index.ts +2 -0
  568. package/src/components/typography/index.ts +5 -0
  569. package/src/components/utility/AnimatedIcon/AnimatedIcon.md +359 -0
  570. package/src/components/utility/AnimatedIcon/AnimatedIcon.stories.tsx +947 -0
  571. package/src/components/utility/AnimatedIcon/AnimatedIcon.test.stories.tsx +596 -0
  572. package/src/components/utility/AnimatedIcon/AnimatedIcon.tsx +595 -0
  573. package/src/components/utility/AnimatedIcon/AnimatedIcon.types.ts +98 -0
  574. package/src/components/utility/AnimatedIcon/index.ts +2 -0
  575. package/src/components/utility/AspectRatio/AspectRatio.md +200 -0
  576. package/src/components/utility/AspectRatio/AspectRatio.stories.tsx +414 -0
  577. package/src/components/utility/AspectRatio/AspectRatio.test.stories.tsx +859 -0
  578. package/src/components/utility/AspectRatio/AspectRatio.tsx +76 -0
  579. package/src/components/utility/AspectRatio/AspectRatio.types.ts +13 -0
  580. package/src/components/utility/AspectRatio/index.ts +2 -0
  581. package/src/components/utility/InfiniteScroll/InfiniteScroll.md +531 -0
  582. package/src/components/utility/InfiniteScroll/InfiniteScroll.stories.tsx +620 -0
  583. package/src/components/utility/InfiniteScroll/InfiniteScroll.test.stories.tsx +358 -0
  584. package/src/components/utility/InfiniteScroll/InfiniteScroll.tsx +204 -0
  585. package/src/components/utility/InfiniteScroll/InfiniteScroll.types.ts +39 -0
  586. package/src/components/utility/InfiniteScroll/index.ts +6 -0
  587. package/src/components/utility/Portal/Portal.button-container.example.tsx +99 -0
  588. package/src/components/utility/Portal/Portal.md +593 -0
  589. package/src/components/utility/Portal/Portal.stories.tsx +340 -0
  590. package/src/components/utility/Portal/Portal.test.stories.tsx +2086 -0
  591. package/src/components/utility/Portal/Portal.tsx +39 -0
  592. package/src/components/utility/Portal/Portal.types.ts +7 -0
  593. package/src/components/utility/Portal/index.ts +2 -0
  594. package/src/components/utility/Transition/Transition.md +684 -0
  595. package/src/components/utility/Transition/Transition.stories.tsx +493 -0
  596. package/src/components/utility/Transition/Transition.test.stories.tsx +854 -0
  597. package/src/components/utility/Transition/Transition.tsx +140 -0
  598. package/src/components/utility/Transition/Transition.types.ts +14 -0
  599. package/src/components/utility/Transition/index.ts +6 -0
  600. package/src/components/utility/VirtualList/VirtualList.md +520 -0
  601. package/src/components/utility/VirtualList/VirtualList.stories.tsx +1073 -0
  602. package/src/components/utility/VirtualList/VirtualList.test.stories.tsx +1074 -0
  603. package/src/components/utility/VirtualList/VirtualList.tsx +369 -0
  604. package/src/components/utility/VirtualList/VirtualList.types.ts +56 -0
  605. package/src/components/utility/VirtualList/index.ts +7 -0
  606. package/src/components/utility/WorkflowStep/WorkflowStep.md +187 -0
  607. package/src/components/utility/WorkflowStep/WorkflowStep.stories.tsx +433 -0
  608. package/src/components/utility/WorkflowStep/WorkflowStep.test.stories.tsx +364 -0
  609. package/src/components/utility/WorkflowStep/WorkflowStep.tsx +506 -0
  610. package/src/components/utility/WorkflowStep/WorkflowStep.types.ts +133 -0
  611. package/src/components/utility/WorkflowStep/index.ts +13 -0
  612. package/src/components/utility/index.ts +7 -0
  613. package/src/index.ts +17 -0
  614. package/src/mui/AppBar.ts +2 -0
  615. package/src/mui/Box.ts +2 -0
  616. package/src/mui/CssBaseline.ts +2 -0
  617. package/src/mui/FormControl.ts +2 -0
  618. package/src/mui/FormControlLabel.ts +2 -0
  619. package/src/mui/Grid2.ts +2 -0
  620. package/src/mui/InputLabel.ts +2 -0
  621. package/src/mui/List.ts +2 -0
  622. package/src/mui/ListItem.ts +2 -0
  623. package/src/mui/ListItemButton.ts +2 -0
  624. package/src/mui/ListItemText.ts +2 -0
  625. package/src/mui/Stack.ts +2 -0
  626. package/src/mui/SvgIcon.ts +2 -0
  627. package/src/mui/Toolbar.ts +2 -0
  628. package/src/mui/styles.ts +2 -0
  629. package/src/mui/useMediaQuery.ts +1 -0
  630. package/src/social-login-button.tsx +199 -0
  631. package/src/user-avatar.tsx +102 -0
  632. package/src/utils/cn.ts +9 -0
  633. package/src/utils/index.ts +1 -0
@@ -0,0 +1,82 @@
1
+ import type React from 'react';
2
+
3
+ /**
4
+ * A single toggleable filter chip in the palette's filter row (e.g. "Last 7
5
+ * days", "From me"). App-agnostic: the host owns the ids and what they mean.
6
+ */
7
+ export interface SearchFilterChip {
8
+ /** Stable id toggled in {@link SearchPaletteProps.activeFilterIds}. */
9
+ id: string;
10
+ /** Chip text. */
11
+ label: string;
12
+ /** Optional leading icon node. */
13
+ icon?: React.ReactNode;
14
+ }
15
+
16
+ /**
17
+ * The leading visual of a result row — a product image, a contact avatar, or a
18
+ * type icon. Mirrors the Gmail-style result list where each row has one lead.
19
+ */
20
+ export type SearchResultLead =
21
+ | { kind: 'image'; src: string; alt?: string }
22
+ | { kind: 'avatar'; src?: string; alt?: string; fallback?: string }
23
+ | { kind: 'icon'; node: React.ReactNode };
24
+
25
+ export interface SearchPaletteProps<T> {
26
+ /** Controlled query string. */
27
+ value: string;
28
+ /** Query change (typing). */
29
+ onChange: (value: string) => void;
30
+
31
+ /** Result items to render (already filtered/ranked by the host). */
32
+ items: T[];
33
+ /** Stable key extractor. */
34
+ getKey: (item: T) => string;
35
+ /** Primary line (the match is bold-highlighted against the query). */
36
+ getPrimary: (item: T) => string;
37
+ /** Optional secondary line (e.g. email, SKU, category). */
38
+ getSecondary?: (item: T) => string | undefined;
39
+ /** Optional leading visual (image / avatar / icon). */
40
+ getLead?: (item: T) => SearchResultLead | undefined;
41
+ /** Optional trailing node (e.g. a date). */
42
+ getTrailing?: (item: T) => React.ReactNode | undefined;
43
+ /** Selection handler for a result row. */
44
+ onSelect: (item: T) => void;
45
+ /** Max rows shown before the list scrolls / truncates (default 5). */
46
+ maxItems?: number;
47
+
48
+ /** Filter chips row. Omit for no chips. */
49
+ filters?: SearchFilterChip[];
50
+ /** Ids of the currently-active chips. */
51
+ activeFilterIds?: string[];
52
+ /** Toggle handler for a chip id. */
53
+ onToggleFilter?: (id: string) => void;
54
+
55
+ /** Footer "see all results" action; hidden when omitted. */
56
+ onSubmitAll?: (query: string) => void;
57
+ /** Footer label builder; defaults to `Todos os resultados para "{q}"`. */
58
+ submitAllLabel?: (query: string) => string;
59
+
60
+ /**
61
+ * Content shown when the query is empty (e.g. a "Populares" block). Keeps the
62
+ * component app-agnostic — the host supplies whatever pre-typing UI it wants.
63
+ */
64
+ emptyQueryContent?: React.ReactNode;
65
+ /** Message when a non-empty query yields no items. */
66
+ noResultsLabel?: string;
67
+
68
+ /** Loading spinner in the input while results resolve. */
69
+ isLoading?: boolean;
70
+ /** Inline ghost-text completion of the top result (Tab/→ accepts). */
71
+ showGhostText?: boolean;
72
+ /** Autofocus the input on mount. */
73
+ autoFocus?: boolean;
74
+ placeholder?: string;
75
+ inputAriaLabel?: string;
76
+ /** Esc handler (host closes the overlay). */
77
+ onClose?: () => void;
78
+
79
+ className?: string;
80
+ /** Test id for the outer card (default `search-palette`). */
81
+ dataTestId?: string;
82
+ }
@@ -0,0 +1,7 @@
1
+ export { SearchPalette } from './SearchPalette';
2
+ export { default } from './SearchPalette';
3
+ export type {
4
+ SearchFilterChip,
5
+ SearchPaletteProps,
6
+ SearchResultLead,
7
+ } from './SearchPalette.types';
@@ -0,0 +1,254 @@
1
+ # Select Component
2
+
3
+ A customizable select dropdown component with comprehensive functionality for choosing from a list of options.
4
+
5
+ ## Overview
6
+
7
+ The Select component provides a dropdown interface for selecting one option from a list. Built on MUI's Select component, it includes enhanced styling, accessibility features, and supports various visual variants including glass and gradient effects.
8
+
9
+ ## Usage
10
+
11
+ ```tsx
12
+ import { Select } from '@procurement/ui';
13
+
14
+ const options = [
15
+ { value: 'option1', label: 'Option 1' },
16
+ { value: 'option2', label: 'Option 2' },
17
+ { value: 'option3', label: 'Option 3' },
18
+ ];
19
+
20
+ function MyComponent() {
21
+ return (
22
+ <Select
23
+ options={options}
24
+ label="Select an option"
25
+ placeholder="Choose one"
26
+ onValueChange={(value) => console.log('Selected:', value)}
27
+ />
28
+ );
29
+ }
30
+ ```
31
+
32
+ ## Props
33
+
34
+ ### Required Props
35
+
36
+ - `options`: Array of option objects with `value`, `label`, and optional `disabled` properties
37
+
38
+ ### Optional Props
39
+
40
+ - `value`: Currently selected value (controlled)
41
+ - `defaultValue`: Initial value for uncontrolled usage
42
+ - `onValueChange`: Callback function when selection changes
43
+ - `label`: Label text displayed above the select
44
+ - `placeholder`: Placeholder text when no option is selected
45
+ - `helperText`: Helper text displayed below the select
46
+ - `error`: Whether to display error state styling
47
+ - `disabled`: Whether the select is disabled
48
+ - `size`: Size variant ('small' | 'medium')
49
+ - `variant`: Visual style ('default' | 'glass' | 'gradient')
50
+ - `glow`: Whether to show glow effect on hover/focus
51
+ - `pulse`: Whether to show pulse animation
52
+ - `fullWidth`: Whether select should take full width of container
53
+
54
+ ## Visual Variants
55
+
56
+ ### Default
57
+
58
+ Standard Material-UI select styling with theme colors.
59
+
60
+ ### Glass
61
+
62
+ Glassmorphism effect with blur backdrop and translucent appearance.
63
+
64
+ ### Gradient
65
+
66
+ Animated gradient border that changes on hover and focus.
67
+
68
+ ## Accessibility Features
69
+
70
+ - Full keyboard navigation support (Arrow keys, Enter, Escape)
71
+ - Screen reader compatibility with proper ARIA labels
72
+ - Focus management and visual focus indicators
73
+ - Support for disabled states
74
+
75
+ ## Examples
76
+
77
+ ### Basic Usage
78
+
79
+ ```tsx
80
+ <Select
81
+ options={[
82
+ { value: 'us', label: 'United States' },
83
+ { value: 'ca', label: 'Canada' },
84
+ { value: 'uk', label: 'United Kingdom' },
85
+ ]}
86
+ label="Country"
87
+ placeholder="Select your country"
88
+ />
89
+ ```
90
+
91
+ ### With Error State
92
+
93
+ ```tsx
94
+ <Select
95
+ options={options}
96
+ label="Required Field"
97
+ placeholder="Please select an option"
98
+ error={true}
99
+ helperText="This field is required"
100
+ />
101
+ ```
102
+
103
+ ### Glass Variant with Effects
104
+
105
+ ```tsx
106
+ <Select
107
+ options={options}
108
+ label="Glass Select"
109
+ variant="glass"
110
+ glow={true}
111
+ pulse={true}
112
+ placeholder="Choose an option"
113
+ />
114
+ ```
115
+
116
+ ## Best Practices
117
+
118
+ - Always provide descriptive labels for accessibility
119
+ - Use helper text to provide additional context
120
+ - Consider using error states for form validation
121
+ - For long lists, consider grouping options or adding search functionality
122
+ - Test keyboard navigation to ensure accessibility compliance
123
+ - Use appropriate size variants based on your layout needs
124
+
125
+ ## Integration Notes
126
+
127
+ - Works seamlessly with form libraries like React Hook Form
128
+ - Supports controlled and uncontrolled usage patterns
129
+ - Integrates with MUI theme system for consistent styling
130
+ - Compatible with all major browsers and screen readers
131
+
132
+ ## Testing
133
+
134
+ ### Test IDs
135
+
136
+ The Select component includes `data-testid` attributes for reliable testing:
137
+
138
+ | Test ID | Element | Description |
139
+ |---------|---------|-------------|
140
+ | `{dataTestId}` | FormControl | Root FormControl wrapper element |
141
+ | `{dataTestId}-select` | Select element | The MUI Select component |
142
+ | `{dataTestId}-option-{value}` | Menu items | Individual option elements (one per option) |
143
+
144
+ **Default Test IDs (when no dataTestId prop provided):**
145
+ - `select` - The Select element
146
+ - `option-{value}` - Each option element
147
+
148
+ ### Testing Best Practices
149
+
150
+ **Wait for Select to Render:**
151
+ ```typescript
152
+ const select = await canvas.findByTestId('country-select-select');
153
+ expect(select).toBeInTheDocument();
154
+ ```
155
+
156
+ **Test Opening Dropdown:**
157
+ ```typescript
158
+ const select = await canvas.findByTestId('select-select');
159
+ await userEvent.click(select);
160
+
161
+ // Wait for dropdown to open
162
+ await waitFor(() => {
163
+ const dropdown = document.querySelector('[role="listbox"]');
164
+ expect(dropdown).toBeInTheDocument();
165
+ });
166
+ ```
167
+
168
+ **Test Selecting Option:**
169
+ ```typescript
170
+ const select = await canvas.findByTestId('country-select-select');
171
+ await userEvent.click(select);
172
+
173
+ // Find and click option
174
+ const option = await canvas.findByTestId('country-select-option-us');
175
+ await userEvent.click(option);
176
+
177
+ expect(onValueChange).toHaveBeenCalledWith('us');
178
+ expect(select).toHaveTextContent('United States');
179
+ ```
180
+
181
+ **Test with Default Value:**
182
+ ```typescript
183
+ const select = await canvas.findByTestId('select-select');
184
+ expect(select).toHaveTextContent('United States'); // Default selection
185
+ ```
186
+
187
+ **Test Disabled State:**
188
+ ```typescript
189
+ const select = await canvas.findByTestId('disabled-select-select');
190
+ expect(select).toHaveAttribute('aria-disabled', 'true');
191
+
192
+ // Clicking should not open dropdown
193
+ await userEvent.click(select);
194
+ const dropdown = document.querySelector('[role="listbox"]');
195
+ expect(dropdown).not.toBeInTheDocument();
196
+ ```
197
+
198
+ **Test Error State:**
199
+ ```typescript
200
+ const formControl = await canvas.findByTestId('error-select');
201
+ expect(formControl).toHaveClass('Mui-error');
202
+
203
+ // Helper text should show error
204
+ const helperText = formControl.querySelector('.MuiFormHelperText-root');
205
+ expect(helperText).toHaveTextContent('This field is required');
206
+ expect(helperText).toHaveClass('Mui-error');
207
+ ```
208
+
209
+ **Test All Options Render:**
210
+ ```typescript
211
+ const select = await canvas.findByTestId('select-select');
212
+ await userEvent.click(select);
213
+
214
+ // Check all options exist
215
+ for (const option of options) {
216
+ const optionElement = await canvas.findByTestId(`select-option-${option.value}`);
217
+ expect(optionElement).toBeInTheDocument();
218
+ expect(optionElement).toHaveTextContent(option.label);
219
+ }
220
+ ```
221
+
222
+ **Test Keyboard Navigation:**
223
+ ```typescript
224
+ const select = await canvas.findByTestId('select-select');
225
+ select.focus();
226
+
227
+ // Open with Space or Enter
228
+ await userEvent.keyboard('{Space}');
229
+ await waitFor(() => {
230
+ expect(document.querySelector('[role="listbox"]')).toBeInTheDocument();
231
+ });
232
+
233
+ // Navigate with arrow keys
234
+ await userEvent.keyboard('{ArrowDown}');
235
+ await userEvent.keyboard('{Enter}');
236
+
237
+ expect(onValueChange).toHaveBeenCalled();
238
+ ```
239
+
240
+ ### Common Test Scenarios
241
+
242
+ 1. **Basic Rendering** - Verify select renders with label and options
243
+ 2. **Option Selection** - Test clicking options and value change
244
+ 3. **Default Value** - Test initial selected value
245
+ 4. **Placeholder** - Verify placeholder shows when no selection
246
+ 5. **Disabled State** - Test disabled select and disabled options
247
+ 6. **Error State** - Test error styling and helper text
248
+ 7. **Variants** - Test default, glass, and gradient styles
249
+ 8. **Visual Effects** - Test glow and pulse animations
250
+ 9. **Keyboard Navigation** - Test arrow keys and Enter/Space
251
+ 10. **Multiple Options** - Test with many options
252
+ 11. **Full Width** - Test fullWidth prop behavior
253
+ 12. **Accessibility** - Verify ARIA attributes and screen reader support
254
+ 13. **Form Integration** - Test with form libraries like React Hook Form
@@ -0,0 +1,364 @@
1
+ import { Stack } from '@mui/material';
2
+ import type { Meta, StoryObj } from '@storybook/react-vite';
3
+
4
+ import { Select } from './Select';
5
+
6
+ const meta: Meta<typeof Select> = {
7
+ title: 'Form/Select',
8
+ component: Select,
9
+ parameters: {
10
+ layout: 'centered',
11
+ },
12
+ tags: ['autodocs', 'component:Select'],
13
+ argTypes: {
14
+ variant: {
15
+ control: { type: 'select' },
16
+ options: ['default', 'glass', 'gradient'],
17
+ description: 'Visual variant of the select component',
18
+ },
19
+ size: {
20
+ control: { type: 'select' },
21
+ options: ['small', 'medium'],
22
+ description: 'Size of the select component',
23
+ },
24
+ glow: {
25
+ control: 'boolean',
26
+ description: 'Whether to show a glow effect',
27
+ },
28
+ pulse: {
29
+ control: 'boolean',
30
+ description: 'Whether to show a pulse animation',
31
+ },
32
+ },
33
+ };
34
+
35
+ export default meta;
36
+ type Story = StoryObj<typeof meta>;
37
+
38
+ const defaultOptions = [
39
+ { value: 'option1', label: 'Option 1' },
40
+ { value: 'option2', label: 'Option 2' },
41
+ { value: 'option3', label: 'Option 3' },
42
+ { value: 'option4', label: 'Option 4 (Disabled)', disabled: true },
43
+ ];
44
+
45
+ const countryOptions = [
46
+ { value: 'us', label: 'United States' },
47
+ { value: 'ca', label: 'Canada' },
48
+ { value: 'uk', label: 'United Kingdom' },
49
+ { value: 'de', label: 'Germany' },
50
+ { value: 'fr', label: 'France' },
51
+ { value: 'jp', label: 'Japan' },
52
+ { value: 'au', label: 'Australia' },
53
+ ];
54
+
55
+ export const Default: Story = {
56
+ args: {
57
+ options: defaultOptions,
58
+ label: 'Select Option',
59
+ placeholder: 'Choose an option',
60
+ },
61
+ };
62
+
63
+ export const WithLabel: Story = {
64
+ args: {
65
+ options: countryOptions,
66
+ label: 'Country',
67
+ placeholder: 'Select your country',
68
+ helperText: 'Choose your country of residence',
69
+ },
70
+ };
71
+
72
+ export const AllSizes: Story = {
73
+ render: () => (
74
+ <Stack spacing={3} sx={{ width: 300 }}>
75
+ <Select options={defaultOptions} label="Small Select" size="small" placeholder="Small size" />
76
+ <Select
77
+ options={defaultOptions}
78
+ label="Medium Select"
79
+ size="medium"
80
+ placeholder="Medium size"
81
+ />
82
+ </Stack>
83
+ ),
84
+ };
85
+
86
+ export const WithDefaultValue: Story = {
87
+ args: {
88
+ options: countryOptions,
89
+ label: 'Country',
90
+ defaultValue: 'us',
91
+ helperText: 'Default value is pre-selected',
92
+ },
93
+ };
94
+
95
+ export const ErrorState: Story = {
96
+ args: {
97
+ options: defaultOptions,
98
+ label: 'Required Field',
99
+ placeholder: 'Please select an option',
100
+ error: true,
101
+ helperText: 'This field is required',
102
+ },
103
+ };
104
+
105
+ export const WithManyOptions: Story = {
106
+ args: {
107
+ options: [
108
+ { value: 'afghanistan', label: 'Afghanistan' },
109
+ { value: 'albania', label: 'Albania' },
110
+ { value: 'algeria', label: 'Algeria' },
111
+ { value: 'argentina', label: 'Argentina' },
112
+ { value: 'australia', label: 'Australia' },
113
+ { value: 'austria', label: 'Austria' },
114
+ { value: 'bangladesh', label: 'Bangladesh' },
115
+ { value: 'belgium', label: 'Belgium' },
116
+ { value: 'brazil', label: 'Brazil' },
117
+ { value: 'canada', label: 'Canada' },
118
+ { value: 'china', label: 'China' },
119
+ { value: 'denmark', label: 'Denmark' },
120
+ { value: 'egypt', label: 'Egypt' },
121
+ { value: 'france', label: 'France' },
122
+ { value: 'germany', label: 'Germany' },
123
+ { value: 'india', label: 'India' },
124
+ { value: 'indonesia', label: 'Indonesia' },
125
+ { value: 'italy', label: 'Italy' },
126
+ { value: 'japan', label: 'Japan' },
127
+ { value: 'mexico', label: 'Mexico' },
128
+ { value: 'netherlands', label: 'Netherlands' },
129
+ { value: 'norway', label: 'Norway' },
130
+ { value: 'poland', label: 'Poland' },
131
+ { value: 'russia', label: 'Russia' },
132
+ { value: 'spain', label: 'Spain' },
133
+ { value: 'sweden', label: 'Sweden' },
134
+ { value: 'switzerland', label: 'Switzerland' },
135
+ { value: 'turkey', label: 'Turkey' },
136
+ { value: 'uk', label: 'United Kingdom' },
137
+ { value: 'us', label: 'United States' },
138
+ ],
139
+ label: 'Country',
140
+ placeholder: 'Select a country',
141
+ helperText: 'Scroll to see all options',
142
+ },
143
+ };
144
+
145
+ export const NoFullWidth: Story = {
146
+ args: {
147
+ options: defaultOptions,
148
+ label: 'Compact Select',
149
+ fullWidth: false,
150
+ style: { width: '200px' },
151
+ },
152
+ };
153
+
154
+ export const GlassVariant: Story = {
155
+ args: {
156
+ options: countryOptions,
157
+ label: 'Glass Select',
158
+ variant: 'glass',
159
+ placeholder: 'Choose an option',
160
+ helperText: 'Glass variant with blur effect',
161
+ },
162
+ };
163
+
164
+ export const GradientVariant: Story = {
165
+ args: {
166
+ options: defaultOptions,
167
+ label: 'Gradient Select',
168
+ variant: 'gradient',
169
+ placeholder: 'Choose an option',
170
+ helperText: 'Gradient variant with colorful border',
171
+ },
172
+ };
173
+
174
+ export const AllVariants: Story = {
175
+ render: () => (
176
+ <Stack spacing={3} sx={{ width: 400 }}>
177
+ <Select
178
+ options={defaultOptions}
179
+ label="Default Variant"
180
+ variant="default"
181
+ placeholder="Default style"
182
+ helperText="Standard Material-UI select"
183
+ />
184
+ <Select
185
+ options={defaultOptions}
186
+ label="Glass Variant"
187
+ variant="glass"
188
+ placeholder="Glass style"
189
+ helperText="Glassmorphism effect with blur"
190
+ />
191
+ <Select
192
+ options={defaultOptions}
193
+ label="Gradient Variant"
194
+ variant="gradient"
195
+ placeholder="Gradient style"
196
+ helperText="Gradient border effect"
197
+ />
198
+ </Stack>
199
+ ),
200
+ };
201
+
202
+ export const WithGlowEffect: Story = {
203
+ args: {
204
+ options: countryOptions,
205
+ label: 'Glow Select',
206
+ placeholder: 'Choose with glow',
207
+ glow: true,
208
+ helperText: 'Select with glow effect',
209
+ },
210
+ };
211
+
212
+ export const WithPulseAnimation: Story = {
213
+ args: {
214
+ options: defaultOptions,
215
+ label: 'Pulse Select',
216
+ placeholder: 'Choose with pulse',
217
+ pulse: true,
218
+ helperText: 'Select with pulse animation',
219
+ },
220
+ };
221
+
222
+ export const CombinedEffects: Story = {
223
+ render: () => (
224
+ <Stack spacing={3} sx={{ width: 400 }}>
225
+ <Select
226
+ options={defaultOptions}
227
+ label="Glass + Glow"
228
+ variant="glass"
229
+ glow={true}
230
+ placeholder="Glass with glow"
231
+ helperText="Glass variant with glow effect"
232
+ />
233
+ <Select
234
+ options={defaultOptions}
235
+ label="Gradient + Pulse"
236
+ variant="gradient"
237
+ pulse={true}
238
+ placeholder="Gradient with pulse"
239
+ helperText="Gradient variant with pulse animation"
240
+ />
241
+ <Select
242
+ options={countryOptions}
243
+ label="All Effects"
244
+ variant="glass"
245
+ glow={true}
246
+ pulse={true}
247
+ placeholder="All effects combined"
248
+ helperText="Glass with glow and pulse effects"
249
+ />
250
+ </Stack>
251
+ ),
252
+ };
253
+
254
+ export const AllStates: Story = {
255
+ render: () => (
256
+ <Stack spacing={3} sx={{ width: 400 }}>
257
+ <Select
258
+ options={defaultOptions}
259
+ label="Normal State"
260
+ placeholder="Select an option"
261
+ helperText="Normal state select"
262
+ />
263
+ <Select
264
+ options={defaultOptions}
265
+ label="Error State"
266
+ placeholder="Required field"
267
+ error={true}
268
+ helperText="This field is required"
269
+ />
270
+ <Select
271
+ options={defaultOptions}
272
+ label="Disabled State"
273
+ placeholder="Cannot interact"
274
+ disabled={true}
275
+ helperText="This select is disabled"
276
+ />
277
+ </Stack>
278
+ ),
279
+ };
280
+
281
+ export const InteractiveStates: Story = {
282
+ render: () => (
283
+ <Stack spacing={3} sx={{ width: 400 }}>
284
+ <Select
285
+ options={defaultOptions}
286
+ label="Default Interaction"
287
+ placeholder="Click to open"
288
+ helperText="Hover and click to interact"
289
+ />
290
+ <Select
291
+ options={defaultOptions}
292
+ label="With Glow Effect"
293
+ placeholder="Hover for glow"
294
+ glow={true}
295
+ helperText="Hover to see glow effect"
296
+ />
297
+ <Select
298
+ options={defaultOptions}
299
+ label="With Pulse Animation"
300
+ placeholder="Watch the pulse"
301
+ pulse={true}
302
+ helperText="Pulse animation on focus"
303
+ />
304
+ </Stack>
305
+ ),
306
+ };
307
+
308
+ export const DisabledState: Story = {
309
+ args: {
310
+ options: defaultOptions,
311
+ label: 'Disabled Select',
312
+ placeholder: 'Cannot interact',
313
+ disabled: true,
314
+ helperText: 'This select is disabled',
315
+ },
316
+ };
317
+
318
+ export const Responsive: Story = {
319
+ render: () => (
320
+ <Stack spacing={3}>
321
+ <div style={{ width: '100%', maxWidth: '480px' }}>
322
+ <Select
323
+ options={countryOptions}
324
+ label="Mobile View (480px)"
325
+ placeholder="Select country"
326
+ fullWidth={true}
327
+ helperText="Full width on mobile"
328
+ />
329
+ </div>
330
+ <div style={{ width: '300px' }}>
331
+ <Select
332
+ options={defaultOptions}
333
+ label="Tablet View (300px)"
334
+ placeholder="Fixed width"
335
+ helperText="Fixed width for tablets"
336
+ />
337
+ </div>
338
+ <div style={{ width: '200px' }}>
339
+ <Select
340
+ options={defaultOptions}
341
+ label="Compact View (200px)"
342
+ placeholder="Compact"
343
+ size="small"
344
+ helperText="Compact for small screens"
345
+ />
346
+ </div>
347
+ </Stack>
348
+ ),
349
+ };
350
+
351
+ export const Playground: Story = {
352
+ args: {
353
+ options: countryOptions,
354
+ label: 'Playground Select',
355
+ placeholder: 'Choose an option',
356
+ variant: 'default',
357
+ size: 'medium',
358
+ fullWidth: true,
359
+ error: false,
360
+ glow: false,
361
+ pulse: false,
362
+ helperText: 'This is a playground select component',
363
+ },
364
+ };