@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,806 @@
1
+ # UI Components Catalog
2
+
3
+ > **IMPORTANT FOR AI AGENTS**: Before creating a new component, **ALWAYS check this catalog first** to identify existing components that can be reused or extended. This prevents duplication and maintains consistency.
4
+
5
+ This document provides a comprehensive inventory of all available UI components in the `@app-services-monitoring/ui` package. Components are organized by functional category.
6
+
7
+ **Documentation Structure**: Each component includes detailed documentation in `{Location}/{ComponentName}.md` files. For example, the Alert component's documentation is at `packages/ui/src/components/data-display/Alert/Alert.md`.
8
+
9
+ ## Table of Contents
10
+
11
+ - [Data Display Components](#data-display-components)
12
+ - [Feedback Components](#feedback-components)
13
+ - [Form Components](#form-components)
14
+ - [Layout Components](#layout-components)
15
+ - [Navigation Components](#navigation-components)
16
+ - [Typography Components](#typography-components)
17
+ - [Utility Components](#utility-components)
18
+ - [Usage Guidelines](#usage-guidelines)
19
+
20
+ ---
21
+
22
+ ## Data Display Components
23
+
24
+ Components for displaying data, visualizations, and information to users.
25
+
26
+ ### Alert
27
+ **Purpose**: Display important messages and notifications
28
+ **Use Cases**: Success messages, error alerts, warnings, informational notices
29
+ **Features**: Multiple variants (info, success, warning, danger, glass, gradient), closable, icons, animations
30
+ **Location**: `src/components/data-display/Alert`
31
+ **Docs**: `src/components/data-display/Alert/Alert.md`
32
+
33
+ ### AlertDialog
34
+ **Purpose**: Display critical alerts requiring user acknowledgment
35
+ **Use Cases**: Confirmation dialogs, critical warnings, blocking notifications
36
+ **Features**: Modal dialog, customizable actions, accessibility support
37
+ **Location**: `src/components/data-display/AlertDialog`
38
+ **Docs**: `src/components/data-display/AlertDialog/AlertDialog.md`
39
+
40
+ ### Avatar
41
+ **Purpose**: Display user profile pictures or initials
42
+ **Use Cases**: User profiles, comment sections, team member lists
43
+ **Features**: Multiple sizes, fallback to initials, image loading, status indicators
44
+ **Location**: `src/components/data-display/Avatar`
45
+ **Docs**: `src/components/data-display/Avatar/Avatar.md`
46
+
47
+ ### Badge
48
+ **Purpose**: Display small count or status indicators
49
+ **Use Cases**: Notification counts, status badges, labels
50
+ **Features**: Multiple variants, positioning options, customizable colors
51
+ **Location**: `src/components/data-display/Badge`
52
+ **Docs**: `src/components/data-display/Badge/Badge.md`
53
+
54
+ ### Banner
55
+ **Purpose**: Display prominent messages across the top or bottom of the page
56
+ **Use Cases**: Important announcements, system-wide alerts, promotional messages
57
+ **Features**: Dismissible, sticky positioning, action buttons
58
+ **Location**: `src/components/data-display/Banner`
59
+ **Docs**: `src/components/data-display/Banner/Banner.md`
60
+
61
+ ### Carousel
62
+ **Purpose**: Display multiple items in a slideshow format
63
+ **Use Cases**: Image galleries, featured content, product showcases
64
+ **Features**: Auto-play, navigation controls, indicators, responsive
65
+ **Location**: `src/components/data-display/Carousel`
66
+ **Docs**: `src/components/data-display/Carousel/Carousel.md`
67
+
68
+ ### Chart
69
+ **Purpose**: Visualize data with various chart types
70
+ **Use Cases**: Analytics dashboards, data visualization, reports
71
+ **Features**: Line, bar, pie, area charts using Recharts, responsive, tooltips
72
+ **Location**: `src/components/data-display/Chart`
73
+ **Docs**: `src/components/data-display/Chart/Chart.md`
74
+
75
+ ### Chip
76
+ **Purpose**: Display compact elements representing attributes, tags, or selections
77
+ **Use Cases**: Tags, filters, selected items, categories
78
+ **Features**: Deletable, clickable, icons, multiple variants
79
+ **Location**: `src/components/data-display/Chip`
80
+ **Docs**: `src/components/data-display/Chip/Chip.md`
81
+
82
+ ### DataGrid
83
+ **Purpose**: Advanced data table with sorting, filtering, pagination, and editing
84
+ **Use Cases**: Complex data tables, admin panels, data management interfaces
85
+ **Features**: Row selection, inline editing, virtual scrolling, server/client modes, column resizing
86
+ **Types**: `GridSelectionMode`, `GridColumn`, `GridSort`, `GridFilter`
87
+ **Location**: `src/components/data-display/DataGrid`
88
+ **Docs**: `src/components/data-display/DataGrid/DataGrid.md`
89
+
90
+ ### DescriptionItem
91
+ **Purpose**: Display label-value pairs for read-only information
92
+ **Use Cases**: Metadata display, property lists, detail views, incident information, profile data
93
+ **Features**: Uppercase labels, automatic text formatting, custom React node support, responsive layouts
94
+ **Location**: `src/components/data-display/DescriptionItem`
95
+ **Docs**: `src/components/data-display/DescriptionItem/DescriptionItem.md`
96
+
97
+ ### AsyncStateContainer
98
+ **Purpose**: Composition wrapper for handling async data states consistently
99
+ **Use Cases**: Loading/error/empty state management, data fetching UI, API response handling
100
+ **Features**: Priority-based rendering (loading > error > empty > children), composition pattern, render props, ARIA attributes
101
+ **Related**: LoadingState, ErrorState, EmptyState
102
+ **Location**: `src/components/data-display/AsyncStateContainer`
103
+ **Docs**: `src/components/data-display/AsyncStateContainer/AsyncStateContainer.md`
104
+
105
+ ### EmptyState
106
+ **Purpose**: Display when no data or content is available
107
+ **Use Cases**: Empty lists, no search results, placeholder states
108
+ **Features**: Customizable illustration, title, description, action buttons, onCreate callback, onRefresh callback, help links
109
+ **Location**: `src/components/data-display/EmptyState`
110
+ **Docs**: `src/components/data-display/EmptyState/EmptyState.md`
111
+
112
+ ### SectionOnboarding
113
+ **Purpose**: Render a configurable page section three ways by lifecycle so first-time users get a friendly hero + CTA instead of a wall of empty fields
114
+ **Use Cases**: Settings/integration sections (payments, AI, location), any "set up once then manage" surface
115
+ **Features**: `unconfigured` hero / `in-progress` steps + form / `configured` compact summary with reveal toggle, composes EmptyState + Stepper, server-derivable status, aria-expanded toggle
116
+ **Location**: `src/components/data-display/SectionOnboarding`
117
+ **Docs**: `src/components/data-display/SectionOnboarding/SectionOnboarding.md`
118
+
119
+ ### ErrorState
120
+ **Purpose**: Display error messages with optional retry functionality
121
+ **Use Cases**: API errors, network failures, validation errors, permission denied
122
+ **Features**: Error/warning severity levels, retry button, custom icons, accessible alert role
123
+ **Location**: `src/components/data-display/ErrorState`
124
+ **Docs**: `src/components/data-display/ErrorState/ErrorState.md`
125
+
126
+ ### LoadingState
127
+ **Purpose**: Display loading indicators while content is being fetched
128
+ **Use Cases**: Data loading, page transitions, async operations, content placeholders
129
+ **Features**: Spinner/skeleton variants, multiple sizes (sm/md/lg), optional message, customizable skeleton rows, ARIA-busy status
130
+ **Location**: `src/components/data-display/LoadingState`
131
+ **Docs**: `src/components/data-display/LoadingState/LoadingState.md`
132
+
133
+ ### HoverCard
134
+ **Purpose**: Display content on hover
135
+ **Use Cases**: User previews, additional information, contextual help
136
+ **Features**: Positioning options, delay configuration, animations
137
+ **Location**: `src/components/data-display/HoverCard`
138
+ **Docs**: `src/components/data-display/HoverCard/HoverCard.md`
139
+
140
+ ### InteractiveTooltip
141
+ **Purpose**: Display contextual information with click-to-pin functionality
142
+ **Use Cases**: Data visualizations (heatmaps, charts), complex information display, interactive tables, status indicators
143
+ **Features**: Click-to-pin, dual content modes (hover/pinned), outside click detection, multiple variants (default, dark, light, glass), size options, glow/pulse effects, callbacks
144
+ **Location**: `src/components/data-display/InteractiveTooltip`
145
+ **Docs**: `src/components/data-display/InteractiveTooltip/InteractiveTooltip.md`
146
+
147
+ ### LazyImage
148
+ **Purpose**: High-performance image loading with lazy loading and progressive enhancement
149
+ **Use Cases**: Image galleries, content images, product photos, user avatars, hero images
150
+ **Features**: Lazy loading with Intersection Observer, multiple loading states (skeleton/spinner/placeholder), error fallback with retry, placeholder images, fade-in animations, object-fit control, performance optimizations
151
+ **Location**: `src/components/data-display/LazyImage`
152
+ **Docs**: `src/components/data-display/LazyImage/LazyImage.md`
153
+
154
+ ### Lightbox
155
+ **Purpose**: Display images in full-screen overlay
156
+ **Use Cases**: Image galleries, photo viewers, media previews
157
+ **Features**: Zoom, navigation, thumbnails, keyboard shortcuts
158
+ **Location**: `src/components/data-display/Lightbox`
159
+ **Docs**: `src/components/data-display/Lightbox/Lightbox.md`
160
+
161
+ ### MapPreview
162
+ **Purpose**: Display interactive Google Maps
163
+ **Use Cases**: Location displays, store locators, geographic data visualization
164
+ **Features**: Markers, custom styling, interactive controls, zoom levels
165
+ **Location**: `src/components/data-display/MapPreview`
166
+ **Docs**: `src/components/data-display/MapPreview/MapPreview.md`
167
+
168
+ ### Popover
169
+ **Purpose**: Display floating content anchored to an element
170
+ **Use Cases**: Context menus, tooltips with complex content, dropdown panels
171
+ **Features**: Positioning, arrow indicator, click/hover triggers
172
+ **Location**: `src/components/data-display/Popover`
173
+ **Docs**: `src/components/data-display/Popover/Popover.md`
174
+
175
+ ### Progress
176
+ **Purpose**: Display progress indicators
177
+ **Use Cases**: Loading states, task completion, upload progress
178
+ **Features**: Linear/circular variants, determinate/indeterminate, labels
179
+ **Location**: `src/components/data-display/Progress`
180
+ **Docs**: `src/components/data-display/Progress/Progress.md`
181
+
182
+ ### Sheet
183
+ **Purpose**: Display content in a slide-out panel
184
+ **Use Cases**: Side panels, filters, details view, forms
185
+ **Features**: Multiple positions (left, right, top, bottom), overlay, animations
186
+ **Location**: `src/components/data-display/Sheet`
187
+ **Docs**: `src/components/data-display/Sheet/Sheet.md`
188
+
189
+ ### Stepper
190
+ **Purpose**: Display progress through multi-step processes
191
+ **Use Cases**: Wizards, checkout flows, onboarding processes
192
+ **Features**: Linear/non-linear, customizable steps, icons, validation
193
+ **Location**: `src/components/data-display/Stepper`
194
+ **Docs**: `src/components/data-display/Stepper/Stepper.md`
195
+
196
+ ### Table
197
+ **Purpose**: Display tabular data
198
+ **Use Cases**: Simple data tables, lists with columns, comparison tables
199
+ **Features**: Sorting, row selection, responsive, customizable cells
200
+ **Location**: `src/components/data-display/Table`
201
+ **Docs**: `src/components/data-display/Table/Table.md`
202
+
203
+ ### Timeline
204
+ **Purpose**: Display chronological events
205
+ **Use Cases**: Activity feeds, event history, project milestones
206
+ **Features**: Vertical/horizontal layouts, icons, custom content, animations
207
+ **Location**: `src/components/data-display/Timeline`
208
+ **Docs**: `src/components/data-display/Timeline/Timeline.md`
209
+
210
+ ### TimingDiagram
211
+ **Purpose**: Display timing sequences and technical diagrams
212
+ **Use Cases**: System diagrams, sequence visualization, technical documentation
213
+ **Features**: Customizable sequences, timing annotations, visual clarity
214
+ **Location**: `src/components/data-display/TimingDiagram`
215
+ **Docs**: `src/components/data-display/TimingDiagram/TimingDiagram.md`
216
+
217
+ ### Tooltip
218
+ **Purpose**: Display brief information on hover or focus
219
+ **Use Cases**: Help text, icon explanations, abbreviated content
220
+ **Features**: Multiple positions, delay configuration, arrow indicator
221
+ **Location**: `src/components/data-display/Tooltip`
222
+ **Docs**: `src/components/data-display/Tooltip/Tooltip.md`
223
+
224
+ ---
225
+
226
+ ## Feedback Components
227
+
228
+ Components for providing feedback to users about system state and actions.
229
+
230
+ ### Dialog
231
+ **Purpose**: Display modal dialogs
232
+ **Use Cases**: Confirmations, forms, detailed information, alerts
233
+ **Features**: Backdrop, animations, customizable size, accessibility
234
+ **Location**: `src/components/feedback/Dialog`
235
+ **Docs**: `src/components/feedback/Dialog/Dialog.md`
236
+
237
+ ### Modal
238
+ **Purpose**: Display modal overlays
239
+ **Use Cases**: Pop-ups, lightboxes, focused interactions
240
+ **Features**: Backdrop, close on overlay click, escape key support
241
+ **Location**: `src/components/feedback/Modal`
242
+ **Docs**: `src/components/feedback/Modal/Modal.md`
243
+
244
+ ### Sonner
245
+ **Purpose**: Display toast notifications with Sonner library
246
+ **Use Cases**: Success messages, error notifications, quick feedback
247
+ **Features**: Multiple variants, auto-dismiss, actions, stacking
248
+ **Location**: `src/components/feedback/Sonner`
249
+ **Docs**: `src/components/feedback/Sonner/Sonner.md`
250
+
251
+ ### StackedModal
252
+ **Purpose**: Display multiple modals in a stack
253
+ **Use Cases**: Multi-step wizards, nested dialogs, complex workflows
254
+ **Features**: Stack management, navigation between modals, backdrop control
255
+ **Location**: `src/components/feedback/StackedModal`
256
+ **Docs**: `src/components/feedback/StackedModal/StackedModal.md`
257
+
258
+ ### Toast
259
+ **Purpose**: Display brief notifications
260
+ **Use Cases**: Action confirmations, alerts, temporary messages
261
+ **Features**: Auto-dismiss, positioning, variants, actions
262
+ **Location**: `src/components/feedback/Toast`
263
+ **Docs**: `src/components/feedback/Toast/Toast.md`
264
+
265
+ ### TutorialOverlay
266
+ **Purpose**: Display guided tours and onboarding experiences
267
+ **Use Cases**: Feature introduction, user onboarding, interactive tutorials
268
+ **Features**: Step-by-step guidance, highlighting, skip options
269
+ **Location**: `src/components/feedback/TutorialOverlay`
270
+ **Docs**: `src/components/feedback/TutorialOverlay/TutorialOverlay.md`
271
+
272
+ ---
273
+
274
+ ## Form Components
275
+
276
+ Components for user input and form interactions.
277
+
278
+ ### AddressAutocomplete
279
+ **Purpose**: Autocomplete for address input with Google Places API
280
+ **Use Cases**: Address forms, location entry, shipping forms
281
+ **Features**: Google Places integration, suggestions, validation
282
+ **Location**: `src/components/form/AddressAutocomplete`
283
+ **Docs**: `src/components/form/AddressAutocomplete/AddressAutocomplete.md`
284
+
285
+ ### Autocomplete
286
+ **Purpose**: Input with dropdown suggestions
287
+ **Use Cases**: Search inputs, selection from large lists, filtering
288
+ **Features**: Fuzzy search, multiple selection, custom rendering, async options
289
+ **Location**: `src/components/form/Autocomplete`
290
+ **Docs**: `src/components/form/Autocomplete/Autocomplete.md`
291
+
292
+ ### Button
293
+ **Purpose**: Clickable button component
294
+ **Use Cases**: Actions, form submissions, navigation, active state indicators
295
+ **Features**: Multiple variants (solid, outline, ghost, text, glass, gradient), sizes (xs-xl), colors (primary, secondary, success, warning, info, danger, neutral), icons, loading states, disabled states, glow/pulse effects, active state support
296
+ **Location**: `src/components/form/Button`
297
+ **Docs**: `src/components/form/Button/Button.md`
298
+
299
+ ### Calendar
300
+ **Purpose**: Date picker and calendar component
301
+ **Use Cases**: Date selection, date range picker, scheduling
302
+ **Features**: Single/range selection, min/max dates, disabled dates
303
+ **Types**: `SelectionMode` (single/range)
304
+ **Location**: `src/components/form/Calendar`
305
+ **Docs**: `src/components/form/Calendar/Calendar.md`
306
+
307
+ ### Checkbox
308
+ **Purpose**: Toggle selection checkbox
309
+ **Use Cases**: Multi-select, boolean options, agreements
310
+ **Features**: Indeterminate state, labels, validation, disabled state
311
+ **Location**: `src/components/form/Checkbox`
312
+ **Docs**: `src/components/form/Checkbox/Checkbox.md`
313
+
314
+ ### CodeEditor
315
+ **Purpose**: Advanced code editor with syntax highlighting
316
+ **Use Cases**: Code input, configuration editing, JSON editing
317
+ **Features**: Monaco Editor integration, syntax highlighting, themes, auto-completion
318
+ **Location**: `src/components/form/CodeEditor`
319
+ **Docs**: `src/components/form/CodeEditor/CodeEditor.md`
320
+
321
+ ### Command
322
+ **Purpose**: Command menu component for keyboard-driven interfaces
323
+ **Use Cases**: Command palettes, search interfaces, action menus
324
+ **Features**: Keyboard navigation, search, grouping, custom commands
325
+ **Location**: `src/components/form/Command`
326
+ **Docs**: `src/components/form/Command/Command.md`
327
+
328
+ ### CreatableSelect
329
+ **Purpose**: Single-select searchable combobox that can create a new option inline
330
+ **Use Cases**: Pick-or-create pickers (category, tag, brand, supplier), searchable selects with a growing option list
331
+ **Features**: Type-to-filter, create-on-Enter via `onCreate`, controlled value, loading/disabled states, MUI-themed (matches other form fields)
332
+ **Location**: `src/components/form/CreatableSelect`
333
+ **Docs**: `src/components/form/CreatableSelect/CreatableSelect.md`
334
+
335
+ ### Form
336
+ **Purpose**: Form container with validation
337
+ **Use Cases**: Data entry, user input collection, settings
338
+ **Features**: Validation, error handling, submission handling
339
+ **Location**: `src/components/form/Form`
340
+ **Docs**: `src/components/form/Form/Form.md`
341
+
342
+ ### Input
343
+ **Purpose**: Text input field
344
+ **Use Cases**: Text entry, search, forms
345
+ **Features**: Multiple types, validation, icons, prefix/suffix, disabled/readonly states
346
+ **Location**: `src/components/form/Input`
347
+ **Docs**: `src/components/form/Input/Input.md`
348
+
349
+ ### InputOTP
350
+ **Purpose**: One-time password input
351
+ **Use Cases**: 2FA, verification codes, security codes
352
+ **Features**: Auto-focus next field, paste support, validation
353
+ **Location**: `src/components/form/InputOTP`
354
+ **Docs**: `src/components/form/InputOTP/InputOTP.md`
355
+
356
+ ### Label
357
+ **Purpose**: Form field labels
358
+ **Use Cases**: Input labels, form field descriptions
359
+ **Features**: Required indicator, tooltip support, accessibility
360
+ **Location**: `src/components/form/Label`
361
+ **Docs**: `src/components/form/Label/Label.md`
362
+
363
+ ### Menubar
364
+ **Purpose**: Application menu bar
365
+ **Use Cases**: Desktop-style menus, action menus, toolbars
366
+ **Features**: Keyboard navigation, nested menus, shortcuts
367
+ **Location**: `src/components/form/Menubar`
368
+ **Docs**: `src/components/form/Menubar/Menubar.md`
369
+
370
+ ### PasswordStrength
371
+ **Purpose**: Password input with strength indicator
372
+ **Use Cases**: Registration, password change, account security
373
+ **Features**: Strength meter, validation rules, show/hide toggle
374
+ **Location**: `src/components/form/PasswordStrength`
375
+ **Docs**: `src/components/form/PasswordStrength/PasswordStrength.md`
376
+
377
+ ### PhoneInput
378
+ **Purpose**: International phone number input
379
+ **Use Cases**: Contact forms, registration, user profiles
380
+ **Features**: Country selection, validation, formatting
381
+ **Location**: `src/components/form/PhoneInput`
382
+ **Docs**: `src/components/form/PhoneInput/PhoneInput.md`
383
+
384
+ ### RadioGroup
385
+ **Purpose**: Single selection from multiple options
386
+ **Use Cases**: Exclusive choices, settings, surveys
387
+ **Features**: Orientation control, validation, disabled options
388
+ **Location**: `src/components/form/RadioGroup`
389
+ **Docs**: `src/components/form/RadioGroup/RadioGroup.md`
390
+
391
+ ### RichTextEditor
392
+ **Purpose**: WYSIWYG text editor
393
+ **Use Cases**: Content creation, blog posts, descriptions
394
+ **Features**: Formatting tools, markdown support, HTML output, media embedding
395
+ **Location**: `src/components/form/RichTextEditor`
396
+ **Docs**: `src/components/form/RichTextEditor/RichTextEditor.md`
397
+
398
+ ### Select
399
+ **Purpose**: Dropdown selection
400
+ **Use Cases**: Single/multiple choice, filters, settings
401
+ **Features**: Search, groups, custom rendering, validation
402
+ **Location**: `src/components/form/Select`
403
+ **Docs**: `src/components/form/Select/Select.md`
404
+
405
+ ### Slider
406
+ **Purpose**: Range input slider
407
+ **Use Cases**: Volume control, price range, settings
408
+ **Features**: Single/range, marks, labels, step control
409
+ **Location**: `src/components/form/Slider`
410
+ **Docs**: `src/components/form/Slider/Slider.md`
411
+
412
+ ### Switch
413
+ **Purpose**: Toggle switch for boolean values
414
+ **Use Cases**: Settings, feature toggles, on/off states
415
+ **Features**: Labels, disabled state, controlled/uncontrolled
416
+ **Location**: `src/components/form/Switch`
417
+ **Docs**: `src/components/form/Switch/Switch.md`
418
+
419
+ ### Textarea
420
+ **Purpose**: Multi-line text input
421
+ **Use Cases**: Comments, descriptions, long-form text
422
+ **Features**: Auto-resize, character count, validation
423
+ **Location**: `src/components/form/Textarea`
424
+ **Docs**: `src/components/form/Textarea/Textarea.md`
425
+
426
+ ### Toggle
427
+ **Purpose**: Toggle button
428
+ **Use Cases**: View switching, option toggling
429
+ **Features**: Icon support, variants, states
430
+ **Location**: `src/components/form/Toggle`
431
+ **Docs**: `src/components/form/Toggle/Toggle.md`
432
+
433
+ ### ToggleGroup
434
+ **Purpose**: Group of toggle buttons
435
+ **Use Cases**: View switchers, format options, filters
436
+ **Features**: Single/multiple selection, orientation
437
+ **Location**: `src/components/form/ToggleGroup`
438
+ **Docs**: `src/components/form/ToggleGroup/ToggleGroup.md`
439
+
440
+ ### UploadButton
441
+ **Purpose**: File upload button
442
+ **Use Cases**: Image uploads, document uploads, file attachments
443
+ **Features**: Multiple files, drag & drop, progress, file type filtering
444
+ **Location**: `src/components/form/UploadButton`
445
+ **Docs**: `src/components/form/UploadButton/UploadButton.md`
446
+
447
+ ---
448
+
449
+ ## Layout Components
450
+
451
+ Components for structuring and organizing page layouts.
452
+
453
+ ### Accordion
454
+ **Purpose**: Collapsible content sections
455
+ **Use Cases**: FAQs, expandable content, grouped information
456
+ **Features**: Single/multiple expand, icons, animations
457
+ **Location**: `src/components/layout/Accordion`
458
+ **Docs**: `src/components/layout/Accordion/Accordion.md`
459
+
460
+ ### Card
461
+ **Purpose**: Container for grouped content
462
+ **Use Cases**: Content blocks, product cards, information panels
463
+ **Features**: Header, footer, actions, elevation, variants
464
+ **Location**: `src/components/layout/Card`
465
+ **Docs**: `src/components/layout/Card/Card.md`
466
+
467
+ ### Collapsible
468
+ **Purpose**: Content that can be collapsed/expanded
469
+ **Use Cases**: Details sections, advanced options, condensed content
470
+ **Features**: Smooth animations, trigger customization, controlled state
471
+ **Location**: `src/components/layout/Collapsible`
472
+ **Docs**: `src/components/layout/Collapsible/Collapsible.md`
473
+
474
+ ### Container
475
+ **Purpose**: Centered content container with max-width
476
+ **Use Cases**: Page layouts, content centering, responsive design
477
+ **Features**: Multiple sizes, fluid option, padding control
478
+ **Location**: `src/components/layout/Container`
479
+ **Docs**: `src/components/layout/Container/Container.md`
480
+
481
+ ### ContentToolbar
482
+ **Purpose**: Shared content-page toolbar (Select All / count / actions + Sort By / Content Type / View / Filter)
483
+ **Use Cases**: List/content pages (Favorites, Personal Space, Recents, Collections), any page needing selection chrome + sort/filter controls
484
+ **Features**: Selection cluster (Select All/Clear All/count/actions slot), rightControls slot, ViewSelector (grid/list + zoom), SortByDropdown (Order/Sort sections), MultiSelectDropdown (checkbox + counts + Clear), FilterTrigger (funnel + active dot)
485
+ **Location**: `src/components/layout/ContentToolbar`
486
+ **Docs**: `src/components/layout/ContentToolbar/ContentToolbar.md`
487
+
488
+ ### Dashboard
489
+ **Purpose**: Composable page shell (breadcrumb, header, filters, body)
490
+ **Use Cases**: Admin list/detail pages, data-table pages, any page with a title + filters
491
+ **Features**: Opt-in dot-notation parts, context-shared state, order-independent slots, info popover, filter toggle, settings dialog, export menu, advanced more-filters
492
+ **Location**: `src/components/layout/Dashboard`
493
+ **Docs**: `src/components/layout/Dashboard/Dashboard.md`
494
+
495
+ ### Drawer
496
+ **Purpose**: Slide-out navigation or content panel
497
+ **Use Cases**: Navigation menus, filters, settings panels
498
+ **Features**: Multiple positions, overlay, persistent, temporary modes
499
+ **Location**: `src/components/layout/Drawer`
500
+ **Docs**: `src/components/layout/Drawer/Drawer.md`
501
+
502
+ ### TableFilter
503
+ **Purpose**: Compound filter-panel that slides in beside table content
504
+ **Use Cases**: List/table pages needing a keyword + faceted filter panel (paired with ContentToolbar's FilterTrigger)
505
+ **Features**: Provider + Layout/Main/Panel (animated 280px aside), Keyword search, Section groups, CheckboxField (multi-select + counts), RangeField (min/max), Clear All Filters
506
+ **Location**: `src/components/layout/TableFilter`
507
+ **Docs**: `src/components/layout/TableFilter/TableFilter.md`
508
+
509
+ ### Resizable
510
+ **Purpose**: Resizable panels and containers
511
+ **Use Cases**: Split views, adjustable sidebars, customizable layouts
512
+ **Features**: Drag handles, min/max sizes, save state
513
+ **Location**: `src/components/layout/Resizable`
514
+ **Docs**: `src/components/layout/Resizable/Resizable.md`
515
+
516
+ ### ScrollArea
517
+ **Purpose**: Custom scrollbar for content areas
518
+ **Use Cases**: Scrollable content, custom scroll styling, overflow handling
519
+ **Features**: Horizontal/vertical scroll, custom scrollbar styling
520
+ **Location**: `src/components/layout/ScrollArea`
521
+ **Docs**: `src/components/layout/ScrollArea/ScrollArea.md`
522
+
523
+ ### Separator
524
+ **Purpose**: Visual separator between content
525
+ **Use Cases**: Content dividers, section breaks, list separators
526
+ **Features**: Horizontal/vertical, thickness control, spacing
527
+ **Location**: `src/components/layout/Separator`
528
+ **Docs**: `src/components/layout/Separator/Separator.md`
529
+
530
+ ### Sidebar
531
+ **Purpose**: Application sidebar navigation
532
+ **Use Cases**: App navigation, menu structure, collapsible navigation
533
+ **Features**: Collapsible, nested items, icons, active states
534
+ **Location**: `src/components/layout/Sidebar`
535
+ **Docs**: `src/components/layout/Sidebar/Sidebar.md`
536
+
537
+ ### Skeleton
538
+ **Purpose**: Loading placeholder
539
+ **Use Cases**: Content loading states, lazy loading, perceived performance
540
+ **Features**: Multiple shapes, animations, customizable
541
+ **Location**: `src/components/layout/Skeleton`
542
+ **Docs**: `src/components/layout/Skeleton/Skeleton.md`
543
+
544
+ ### Spacer
545
+ **Purpose**: Add flexible spacing between elements
546
+ **Use Cases**: Layout spacing, responsive gaps, flexible layouts
547
+ **Features**: Horizontal/vertical, size variants
548
+ **Location**: `src/components/layout/Spacer`
549
+ **Docs**: `src/components/layout/Spacer/Spacer.md`
550
+
551
+ ---
552
+
553
+ ## Navigation Components
554
+
555
+ Components for site and app navigation.
556
+
557
+ ### Breadcrumbs
558
+ **Purpose**: Display navigation path
559
+ **Use Cases**: Hierarchical navigation, page location indicator
560
+ **Features**: Separator customization, max items, truncation
561
+ **Location**: `src/components/navigation/Breadcrumbs`
562
+ **Docs**: `src/components/navigation/Breadcrumbs/Breadcrumbs.md`
563
+
564
+ ### CommandPalette
565
+ **Purpose**: Quick command access via keyboard
566
+ **Use Cases**: Global search, keyboard shortcuts, quick actions
567
+ **Features**: Fuzzy search, recent commands, keyboard navigation, categories
568
+ **Types**: `PaletteCommand`, `CommandPaletteProps`
569
+ **Location**: `src/components/navigation/CommandPalette`
570
+ **Docs**: `src/components/navigation/CommandPalette/CommandPalette.md`
571
+
572
+ ### ContextMenu
573
+ **Purpose**: Right-click context menu
574
+ **Use Cases**: Actions on items, context-specific options
575
+ **Features**: Keyboard navigation, icons, submenus, separators
576
+ **Location**: `src/components/navigation/ContextMenu`
577
+ **Docs**: `src/components/navigation/ContextMenu/ContextMenu.md`
578
+
579
+ ### DropdownMenu
580
+ **Purpose**: Dropdown menu for actions
581
+ **Use Cases**: User menus, action lists, settings
582
+ **Features**: Icons, submenus, keyboard navigation, separators
583
+ **Location**: `src/components/navigation/DropdownMenu`
584
+ **Docs**: `src/components/navigation/DropdownMenu/DropdownMenu.md`
585
+
586
+ ### NavigationMenu
587
+ **Purpose**: Main site navigation with infinite-level nesting support
588
+ **Use Cases**: Header navigation, sidebar navigation, mega menus, dropdown navigation
589
+ **Features**:
590
+ - Infinite-level nesting (tested up to 6+ levels)
591
+ - Horizontal hover-based dropdowns with 150ms close delay
592
+ - Vertical click-based expand/collapse
593
+ - Smart badge alignment (no text overlap)
594
+ - Icon hover animations (color change + transform)
595
+ - Active state management (no hover on active items)
596
+ - Collapsible sidebar support
597
+ - Mega menu layout variant
598
+ - Progressive indentation for deep hierarchies
599
+ **Variants**: `horizontal`, `vertical`, `mega`
600
+ **Location**: `src/components/navigation/NavigationMenu`
601
+ **Docs**: `src/components/navigation/NavigationMenu/NavigationMenu.md`
602
+
603
+ ### Pagination
604
+ **Purpose**: Page navigation for lists
605
+ **Use Cases**: Data tables, search results, content lists
606
+ **Features**: Page numbers, first/last, previous/next, page size selector
607
+ **Location**: `src/components/navigation/Pagination`
608
+ **Docs**: `src/components/navigation/Pagination/Pagination.md`
609
+
610
+ ### Tabs
611
+ **Purpose**: Tab navigation for content sections
612
+ **Use Cases**: Content organization, settings panels, multi-view interfaces
613
+ **Features**: Horizontal/vertical, icons, badges, lazy loading
614
+ **Location**: `src/components/navigation/Tabs`
615
+ **Docs**: `src/components/navigation/Tabs/Tabs.md`
616
+
617
+ ---
618
+
619
+ ## Typography Components
620
+
621
+ Components for text formatting and display.
622
+
623
+ ### Blockquote
624
+ **Purpose**: Display quoted text
625
+ **Use Cases**: Testimonials, citations, quoted content
626
+ **Features**: Attribution, styling variants, icons
627
+ **Location**: `src/components/typography/Blockquote`
628
+ **Docs**: `src/components/typography/Blockquote/Blockquote.md`
629
+
630
+ ### Code
631
+ **Purpose**: Display inline or block code
632
+ **Use Cases**: Code snippets, technical documentation, syntax display
633
+ **Features**: Inline/block variants, syntax highlighting, copy button
634
+ **Location**: `src/components/typography/Code`
635
+ **Docs**: `src/components/typography/Code/Code.md`
636
+
637
+ ### Heading
638
+ **Purpose**: Section headings
639
+ **Use Cases**: Page titles, section headers, hierarchy
640
+ **Features**: Multiple levels (h1-h6), variants, responsive sizing
641
+ **Location**: `src/components/typography/Heading`
642
+ **Docs**: `src/components/typography/Heading/Heading.md`
643
+
644
+ ### Paragraph
645
+ **Purpose**: Body text paragraphs
646
+ **Use Cases**: Content text, descriptions, articles
647
+ **Features**: Size variants, leading control, text alignment
648
+ **Location**: `src/components/typography/Paragraph`
649
+ **Docs**: `src/components/typography/Paragraph/Paragraph.md`
650
+
651
+ ### Text
652
+ **Purpose**: Inline text with formatting
653
+ **Use Cases**: Labels, captions, body text, emphasis
654
+ **Features**: Size variants, weight, color, truncation
655
+ **Location**: `src/components/typography/Text`
656
+ **Docs**: `src/components/typography/Text/Text.md`
657
+
658
+ ---
659
+
660
+ ## Utility Components
661
+
662
+ General-purpose utility components.
663
+
664
+ ### AnimatedIcon
665
+ **Purpose**: Icons with animations
666
+ **Use Cases**: Interactive icons, loading indicators, state transitions
667
+ **Features**: Multiple animation types, customizable timing, trigger controls
668
+ **Location**: `src/components/utility/AnimatedIcon`
669
+ **Docs**: `src/components/utility/AnimatedIcon/AnimatedIcon.md`
670
+
671
+ ### AspectRatio
672
+ **Purpose**: Maintain aspect ratio for content
673
+ **Use Cases**: Responsive images, video embeds, media containers
674
+ **Features**: Common ratios, custom ratios, responsive
675
+ **Location**: `src/components/utility/AspectRatio`
676
+ **Docs**: `src/components/utility/AspectRatio/AspectRatio.md`
677
+
678
+ ### InfiniteScroll
679
+ **Purpose**: Load more content on scroll
680
+ **Use Cases**: Feeds, long lists, pagination alternative
681
+ **Features**: Loading states, threshold control, reverse scroll
682
+ **Location**: `src/components/utility/InfiniteScroll`
683
+ **Docs**: `src/components/utility/InfiniteScroll/InfiniteScroll.md`
684
+
685
+ ### Portal
686
+ **Purpose**: Render children outside parent DOM hierarchy
687
+ **Use Cases**: Modals, popovers, tooltips
688
+ **Features**: Custom container, z-index management
689
+ **Location**: `src/components/utility/Portal`
690
+ **Docs**: `src/components/utility/Portal/Portal.md`
691
+
692
+ ### Transition
693
+ **Purpose**: Animated transitions for component state
694
+ **Use Cases**: Show/hide animations, route transitions, state changes
695
+ **Features**: Multiple animation types, timing control, callbacks
696
+ **Location**: `src/components/utility/Transition`
697
+ **Docs**: `src/components/utility/Transition/Transition.md`
698
+
699
+ ### VirtualList
700
+ **Purpose**: Efficiently render large lists
701
+ **Use Cases**: Long lists, data tables, performance optimization
702
+ **Features**: Window virtualization, dynamic heights, scroll restoration
703
+ **Location**: `src/components/utility/VirtualList`
704
+ **Docs**: `src/components/utility/VirtualList/VirtualList.md`
705
+
706
+ ### WorkflowStep
707
+ **Purpose**: Display workflow and process steps
708
+ **Use Cases**: Process visualization, workflow builders, step indicators
709
+ **Features**: Status indicators, connections, custom content
710
+ **Location**: `src/components/utility/WorkflowStep`
711
+ **Docs**: `src/components/utility/WorkflowStep/WorkflowStep.md`
712
+
713
+ ---
714
+
715
+ ## Usage Guidelines
716
+
717
+ ### Before Creating a New Component
718
+
719
+ 1. **Search this catalog** - Check if a similar component already exists
720
+ 2. **Check for extensibility** - Many components accept custom props and can be extended
721
+ 3. **Review component stories** - Look at Storybook examples to see full capabilities
722
+ 4. **Consider composition** - Can you combine existing components?
723
+ 5. **Read the component's `.md` file** - Each component has detailed documentation
724
+
725
+ ### Reusing Components
726
+
727
+ ```tsx
728
+ // Good: Reuse existing components
729
+ import { Button, Card, Badge } from '@app-services-monitoring/ui';
730
+
731
+ // Bad: Creating redundant components
732
+ // Don't create "StatusButton" when Button has variant props
733
+ // Don't create "InfoCard" when Card can be styled
734
+ ```
735
+
736
+ ### Extending Components
737
+
738
+ ```tsx
739
+ // Good: Extend with composition
740
+ const CustomCard = ({ children, ...props }) => (
741
+ <Card {...props}>
742
+ <CardHeader>Custom Header</CardHeader>
743
+ {children}
744
+ </Card>
745
+ );
746
+
747
+ // Consider: Does this need to be a new component?
748
+ // Or can the parent just compose Card + CardHeader?
749
+ ```
750
+
751
+ ### Component Selection Quick Reference
752
+
753
+ | Need | Use This Component | Alternative |
754
+ |------|-------------------|-------------|
755
+ | Display notifications | Alert, Toast, Sonner | Banner (page-wide) |
756
+ | User input text | Input | Textarea (multi-line) |
757
+ | Select from list | Select, Autocomplete | RadioGroup (few options) |
758
+ | Display data table | Table | DataGrid (advanced features) |
759
+ | Show progress | Progress | Stepper (multi-step) |
760
+ | Navigation | NavigationMenu, Tabs | Breadcrumbs (hierarchy) |
761
+ | Modal dialog | Dialog, Modal | Sheet (side panel) |
762
+ | Display code | Code | CodeEditor (editable) |
763
+ | Load more items | InfiniteScroll | Pagination |
764
+ | File upload | UploadButton | Input (type="file") |
765
+ | Async data states | AsyncStateContainer | LoadingState, ErrorState, EmptyState |
766
+
767
+ ### Component Documentation
768
+
769
+ Each component includes comprehensive documentation located in its respective directory. The **Docs** field for each component above shows the exact path to its detailed documentation file.
770
+
771
+ Documentation files include:
772
+ - **`ComponentName.md`** - Detailed documentation (path shown in **Docs** field above)
773
+ - **`ComponentName.tsx`** - Implementation
774
+ - **`ComponentName.types.ts`** - TypeScript types
775
+ - **`ComponentName.stories.tsx`** - Visual examples in Storybook
776
+ - **`ComponentName.test.stories.tsx`** - Interaction tests
777
+
778
+ **Example**: For the Alert component, find documentation at `packages/ui/src/components/data-display/Alert/Alert.md`
779
+
780
+ ### Getting Help
781
+
782
+ 1. **Storybook** - Run `pnpm dev` to browse all components with live examples
783
+ 2. **Type Definitions** - Check `.types.ts` files for available props
784
+ 3. **Tests** - Read `.test.stories.tsx` for usage examples
785
+ 4. **Documentation** - Read `.md` files for detailed guides
786
+
787
+ ---
788
+
789
+ ## Component Count Summary
790
+
791
+ - **Data Display**: 27 components
792
+ - **Feedback**: 6 components
793
+ - **Form**: 24 components
794
+ - **Layout**: 11 components
795
+ - **Navigation**: 7 components
796
+ - **Typography**: 5 components
797
+ - **Utility**: 7 components
798
+
799
+ **Total**: 87 components available for reuse
800
+
801
+ ---
802
+
803
+ **Last Updated**: 2025-12-19
804
+ **Version**: 1.1.0
805
+
806
+ > **Note**: This catalog is auto-generated from the component directory structure. Always verify component availability by checking the actual source files and Storybook.