@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.
- package/components-catalog.md +806 -0
- package/components-guidelines.md +347 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +2 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/eslint.config.js +77 -0
- package/package.json +247 -0
- package/src/__tests__/package-wiring.test.ts +37 -0
- package/src/__tests__/setup.ts +1 -0
- package/src/__tests__/social-login-button.test.tsx +186 -0
- package/src/__tests__/user-avatar.test.tsx +195 -0
- package/src/button.tsx +22 -0
- package/src/components/command/__tests__/command.test.tsx +112 -0
- package/src/components/data-display/Alert/Alert.md +209 -0
- package/src/components/data-display/Alert/Alert.stories.tsx +561 -0
- package/src/components/data-display/Alert/Alert.test.stories.tsx +709 -0
- package/src/components/data-display/Alert/Alert.tsx +449 -0
- package/src/components/data-display/Alert/Alert.types.ts +79 -0
- package/src/components/data-display/Alert/index.ts +2 -0
- package/src/components/data-display/AlertDialog/AlertDialog.md +408 -0
- package/src/components/data-display/AlertDialog/AlertDialog.stories.tsx +360 -0
- package/src/components/data-display/AlertDialog/AlertDialog.test.stories.tsx +753 -0
- package/src/components/data-display/AlertDialog/AlertDialog.tsx +273 -0
- package/src/components/data-display/AlertDialog/AlertDialog.types.ts +74 -0
- package/src/components/data-display/AlertDialog/index.ts +2 -0
- package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.stories.tsx +230 -0
- package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.test.stories.tsx +270 -0
- package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.tsx +116 -0
- package/src/components/data-display/AsyncStateContainer/AsyncStateContainer.types.ts +70 -0
- package/src/components/data-display/AsyncStateContainer/index.ts +2 -0
- package/src/components/data-display/Avatar/Avatar.md +568 -0
- package/src/components/data-display/Avatar/Avatar.stories.tsx +718 -0
- package/src/components/data-display/Avatar/Avatar.test.stories.tsx +820 -0
- package/src/components/data-display/Avatar/Avatar.tsx +507 -0
- package/src/components/data-display/Avatar/Avatar.types.ts +88 -0
- package/src/components/data-display/Avatar/index.ts +2 -0
- package/src/components/data-display/Badge/Badge.md +469 -0
- package/src/components/data-display/Badge/Badge.stories.tsx +1136 -0
- package/src/components/data-display/Badge/Badge.test.stories.tsx +1193 -0
- package/src/components/data-display/Badge/Badge.tsx +606 -0
- package/src/components/data-display/Badge/Badge.types.ts +118 -0
- package/src/components/data-display/Badge/index.ts +2 -0
- package/src/components/data-display/Banner/Banner.stories.tsx +524 -0
- package/src/components/data-display/Banner/Banner.test.stories.tsx +503 -0
- package/src/components/data-display/Banner/Banner.tsx +350 -0
- package/src/components/data-display/Banner/Banner.types.ts +41 -0
- package/src/components/data-display/Banner/banner.md +141 -0
- package/src/components/data-display/Banner/index.ts +2 -0
- package/src/components/data-display/Carousel/Carousel.md +815 -0
- package/src/components/data-display/Carousel/Carousel.stories.tsx +607 -0
- package/src/components/data-display/Carousel/Carousel.test.stories.tsx +691 -0
- package/src/components/data-display/Carousel/Carousel.tsx +765 -0
- package/src/components/data-display/Carousel/Carousel.types.ts +79 -0
- package/src/components/data-display/Carousel/index.ts +8 -0
- package/src/components/data-display/Chart/Chart.md +352 -0
- package/src/components/data-display/Chart/Chart.stories.tsx +568 -0
- package/src/components/data-display/Chart/Chart.test.stories.tsx +174 -0
- package/src/components/data-display/Chart/Chart.tsx +520 -0
- package/src/components/data-display/Chart/Chart.types.ts +65 -0
- package/src/components/data-display/Chart/index.ts +2 -0
- package/src/components/data-display/Chip/Chip.stories.tsx +251 -0
- package/src/components/data-display/Chip/Chip.test.stories.tsx +263 -0
- package/src/components/data-display/Chip/Chip.tsx +134 -0
- package/src/components/data-display/Chip/Chip.types.ts +51 -0
- package/src/components/data-display/Chip/chip.md +395 -0
- package/src/components/data-display/Chip/index.ts +2 -0
- package/src/components/data-display/DataGrid/DataGrid.md +602 -0
- package/src/components/data-display/DataGrid/DataGrid.stories.tsx +515 -0
- package/src/components/data-display/DataGrid/DataGrid.test.stories.tsx +659 -0
- package/src/components/data-display/DataGrid/DataGrid.tsx +743 -0
- package/src/components/data-display/DataGrid/DataGrid.types.ts +171 -0
- package/src/components/data-display/DataGrid/index.ts +21 -0
- package/src/components/data-display/DateTimeDisplay/DateTimeDisplay.tsx +197 -0
- package/src/components/data-display/DateTimeDisplay/DateTimeDisplay.types.ts +46 -0
- package/src/components/data-display/DateTimeDisplay/index.ts +2 -0
- package/src/components/data-display/DescriptionItem/DescriptionItem.md +226 -0
- package/src/components/data-display/DescriptionItem/DescriptionItem.stories.tsx +254 -0
- package/src/components/data-display/DescriptionItem/DescriptionItem.tsx +100 -0
- package/src/components/data-display/DescriptionItem/DescriptionItem.types.ts +1 -0
- package/src/components/data-display/DescriptionItem/index.ts +2 -0
- package/src/components/data-display/EmptyState/EmptyState.md +265 -0
- package/src/components/data-display/EmptyState/EmptyState.stories.tsx +282 -0
- package/src/components/data-display/EmptyState/EmptyState.test.stories.tsx +441 -0
- package/src/components/data-display/EmptyState/EmptyState.tsx +180 -0
- package/src/components/data-display/EmptyState/EmptyState.types.ts +31 -0
- package/src/components/data-display/EmptyState/index.ts +2 -0
- package/src/components/data-display/ErrorState/ErrorState.stories.tsx +110 -0
- package/src/components/data-display/ErrorState/ErrorState.test.stories.tsx +133 -0
- package/src/components/data-display/ErrorState/ErrorState.tsx +118 -0
- package/src/components/data-display/ErrorState/ErrorState.types.ts +45 -0
- package/src/components/data-display/ErrorState/index.ts +2 -0
- package/src/components/data-display/HoverCard/HoverCard.md +389 -0
- package/src/components/data-display/HoverCard/HoverCard.stories.tsx +648 -0
- package/src/components/data-display/HoverCard/HoverCard.test.stories.tsx +929 -0
- package/src/components/data-display/HoverCard/HoverCard.tsx +657 -0
- package/src/components/data-display/HoverCard/HoverCard.types.ts +116 -0
- package/src/components/data-display/HoverCard/index.ts +2 -0
- package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.md +532 -0
- package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.stories.tsx +411 -0
- package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.tsx +245 -0
- package/src/components/data-display/InteractiveTooltip/InteractiveTooltip.types.ts +64 -0
- package/src/components/data-display/InteractiveTooltip/index.ts +2 -0
- package/src/components/data-display/LazyImage/LazyImage.md +356 -0
- package/src/components/data-display/LazyImage/LazyImage.stories.tsx +387 -0
- package/src/components/data-display/LazyImage/LazyImage.tsx +323 -0
- package/src/components/data-display/LazyImage/LazyImage.types.ts +205 -0
- package/src/components/data-display/LazyImage/index.ts +2 -0
- package/src/components/data-display/Lightbox/Lightbox.stories.tsx +315 -0
- package/src/components/data-display/Lightbox/Lightbox.test.stories.tsx +605 -0
- package/src/components/data-display/Lightbox/Lightbox.tsx +666 -0
- package/src/components/data-display/Lightbox/Lightbox.types.ts +49 -0
- package/src/components/data-display/Lightbox/index.ts +2 -0
- package/src/components/data-display/Lightbox/lightbox.md +298 -0
- package/src/components/data-display/LoadingState/LoadingState.stories.tsx +124 -0
- package/src/components/data-display/LoadingState/LoadingState.test.stories.tsx +99 -0
- package/src/components/data-display/LoadingState/LoadingState.tsx +103 -0
- package/src/components/data-display/LoadingState/LoadingState.types.ts +37 -0
- package/src/components/data-display/LoadingState/index.ts +2 -0
- package/src/components/data-display/MapPreview/MapPreview.md +154 -0
- package/src/components/data-display/MapPreview/MapPreview.stories.tsx +458 -0
- package/src/components/data-display/MapPreview/MapPreview.test.stories.tsx +390 -0
- package/src/components/data-display/MapPreview/MapPreview.tsx +922 -0
- package/src/components/data-display/MapPreview/MapPreview.types.ts +56 -0
- package/src/components/data-display/MapPreview/index.ts +2 -0
- package/src/components/data-display/Popover/Popover.md +245 -0
- package/src/components/data-display/Popover/Popover.stories.tsx +295 -0
- package/src/components/data-display/Popover/Popover.test.stories.tsx +1168 -0
- package/src/components/data-display/Popover/Popover.tsx +132 -0
- package/src/components/data-display/Popover/Popover.types.ts +33 -0
- package/src/components/data-display/Popover/index.ts +2 -0
- package/src/components/data-display/Progress/Progress.md +450 -0
- package/src/components/data-display/Progress/Progress.stories.tsx +481 -0
- package/src/components/data-display/Progress/Progress.test.stories.tsx +2070 -0
- package/src/components/data-display/Progress/Progress.tsx +332 -0
- package/src/components/data-display/Progress/Progress.types.ts +61 -0
- package/src/components/data-display/Progress/index.ts +2 -0
- package/src/components/data-display/SectionOnboarding/SectionOnboarding.md +108 -0
- package/src/components/data-display/SectionOnboarding/SectionOnboarding.stories.tsx +160 -0
- package/src/components/data-display/SectionOnboarding/SectionOnboarding.test.stories.tsx +190 -0
- package/src/components/data-display/SectionOnboarding/SectionOnboarding.tsx +224 -0
- package/src/components/data-display/SectionOnboarding/SectionOnboarding.types.ts +101 -0
- package/src/components/data-display/SectionOnboarding/index.ts +7 -0
- package/src/components/data-display/Sheet/Sheet.md +475 -0
- package/src/components/data-display/Sheet/Sheet.stories.tsx +883 -0
- package/src/components/data-display/Sheet/Sheet.test.stories.tsx +1101 -0
- package/src/components/data-display/Sheet/Sheet.tsx +978 -0
- package/src/components/data-display/Sheet/Sheet.types.ts +93 -0
- package/src/components/data-display/Sheet/index.ts +8 -0
- package/src/components/data-display/Stepper/Stepper.md +542 -0
- package/src/components/data-display/Stepper/Stepper.stories.tsx +540 -0
- package/src/components/data-display/Stepper/Stepper.test.stories.tsx +607 -0
- package/src/components/data-display/Stepper/Stepper.tsx +328 -0
- package/src/components/data-display/Stepper/Stepper.types.ts +97 -0
- package/src/components/data-display/Stepper/index.ts +2 -0
- package/src/components/data-display/Table/Table.md +243 -0
- package/src/components/data-display/Table/Table.stories.tsx +801 -0
- package/src/components/data-display/Table/Table.test.stories.tsx +369 -0
- package/src/components/data-display/Table/Table.tsx +831 -0
- package/src/components/data-display/Table/Table.types.ts +335 -0
- package/src/components/data-display/Table/index.ts +2 -0
- package/src/components/data-display/Timeline/Timeline.md +201 -0
- package/src/components/data-display/Timeline/Timeline.stories.tsx +444 -0
- package/src/components/data-display/Timeline/Timeline.test.stories.tsx +944 -0
- package/src/components/data-display/Timeline/Timeline.tsx +348 -0
- package/src/components/data-display/Timeline/Timeline.types.ts +26 -0
- package/src/components/data-display/Timeline/index.ts +2 -0
- package/src/components/data-display/TimingDiagram/TimingDiagram.md +162 -0
- package/src/components/data-display/TimingDiagram/TimingDiagram.stories.tsx +475 -0
- package/src/components/data-display/TimingDiagram/TimingDiagram.test.stories.tsx +734 -0
- package/src/components/data-display/TimingDiagram/TimingDiagram.tsx +399 -0
- package/src/components/data-display/TimingDiagram/TimingDiagram.types.ts +19 -0
- package/src/components/data-display/TimingDiagram/index.ts +2 -0
- package/src/components/data-display/Tooltip/Tooltip.md +397 -0
- package/src/components/data-display/Tooltip/Tooltip.stories.tsx +465 -0
- package/src/components/data-display/Tooltip/Tooltip.test.stories.tsx +1168 -0
- package/src/components/data-display/Tooltip/Tooltip.tsx +161 -0
- package/src/components/data-display/Tooltip/Tooltip.types.ts +33 -0
- package/src/components/data-display/Tooltip/index.ts +2 -0
- package/src/components/data-display/index.ts +29 -0
- package/src/components/feedback/Dialog/Dialog.md +527 -0
- package/src/components/feedback/Dialog/Dialog.stories.tsx +833 -0
- package/src/components/feedback/Dialog/Dialog.styles.ts +171 -0
- package/src/components/feedback/Dialog/Dialog.test.stories.tsx +955 -0
- package/src/components/feedback/Dialog/Dialog.tsx +256 -0
- package/src/components/feedback/Dialog/Dialog.types.ts +46 -0
- package/src/components/feedback/Dialog/index.ts +9 -0
- package/src/components/feedback/Modal/Modal.md +629 -0
- package/src/components/feedback/Modal/Modal.stories.tsx +765 -0
- package/src/components/feedback/Modal/Modal.test.stories.tsx +251 -0
- package/src/components/feedback/Modal/Modal.tsx +279 -0
- package/src/components/feedback/Modal/Modal.types.ts +26 -0
- package/src/components/feedback/Modal/index.ts +7 -0
- package/src/components/feedback/Sonner/Sonner.stories.tsx +698 -0
- package/src/components/feedback/Sonner/Sonner.test.stories.tsx +896 -0
- package/src/components/feedback/Sonner/Sonner.tsx +493 -0
- package/src/components/feedback/Sonner/Sonner.types.ts +65 -0
- package/src/components/feedback/Sonner/index.ts +8 -0
- package/src/components/feedback/StackedModal/StackedModal.md +273 -0
- package/src/components/feedback/StackedModal/StackedModal.stories.tsx +1785 -0
- package/src/components/feedback/StackedModal/StackedModal.test.stories.tsx +975 -0
- package/src/components/feedback/StackedModal/StackedModal.tsx +664 -0
- package/src/components/feedback/StackedModal/StackedModal.types.ts +70 -0
- package/src/components/feedback/StackedModal/index.ts +11 -0
- package/src/components/feedback/Toast/Toast.md +547 -0
- package/src/components/feedback/Toast/Toast.stories.tsx +548 -0
- package/src/components/feedback/Toast/Toast.test.stories.tsx +834 -0
- package/src/components/feedback/Toast/Toast.tsx +279 -0
- package/src/components/feedback/Toast/Toast.types.ts +59 -0
- package/src/components/feedback/Toast/index.ts +8 -0
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.md +610 -0
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.stories.tsx +691 -0
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.test.stories.tsx +634 -0
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.tsx +554 -0
- package/src/components/feedback/TutorialOverlay/TutorialOverlay.types.ts +30 -0
- package/src/components/feedback/TutorialOverlay/index.ts +2 -0
- package/src/components/feedback/index.ts +6 -0
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.md +633 -0
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.stories.tsx +663 -0
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.test.stories.tsx +723 -0
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.tsx +836 -0
- package/src/components/form/AddressAutocomplete/AddressAutocomplete.types.ts +37 -0
- package/src/components/form/AddressAutocomplete/index.ts +2 -0
- package/src/components/form/Autocomplete/Autocomplete.helpers.ts +115 -0
- package/src/components/form/Autocomplete/Autocomplete.keys.ts +134 -0
- package/src/components/form/Autocomplete/Autocomplete.parts.tsx +337 -0
- package/src/components/form/Autocomplete/Autocomplete.stories.tsx +715 -0
- package/src/components/form/Autocomplete/Autocomplete.test.stories.tsx +825 -0
- package/src/components/form/Autocomplete/Autocomplete.tsx +166 -0
- package/src/components/form/Autocomplete/Autocomplete.types.ts +116 -0
- package/src/components/form/Autocomplete/autocomplete.md +789 -0
- package/src/components/form/Autocomplete/index.ts +8 -0
- package/src/components/form/Autocomplete/useAutocomplete.ts +311 -0
- package/src/components/form/Button/Button.md +411 -0
- package/src/components/form/Button/Button.stories.tsx +362 -0
- package/src/components/form/Button/Button.test.stories.tsx +603 -0
- package/src/components/form/Button/Button.tsx +326 -0
- package/src/components/form/Button/Button.types.ts +74 -0
- package/src/components/form/Button/index.ts +2 -0
- package/src/components/form/Calendar/Calendar.md +807 -0
- package/src/components/form/Calendar/Calendar.stories.tsx +349 -0
- package/src/components/form/Calendar/Calendar.test.stories.tsx +465 -0
- package/src/components/form/Calendar/Calendar.tsx +571 -0
- package/src/components/form/Calendar/Calendar.types.ts +81 -0
- package/src/components/form/Calendar/index.ts +11 -0
- package/src/components/form/Checkbox/Checkbox.md +200 -0
- package/src/components/form/Checkbox/Checkbox.stories.tsx +265 -0
- package/src/components/form/Checkbox/Checkbox.test.stories.tsx +181 -0
- package/src/components/form/Checkbox/Checkbox.tsx +170 -0
- package/src/components/form/Checkbox/Checkbox.types.ts +20 -0
- package/src/components/form/Checkbox/index.ts +2 -0
- package/src/components/form/CodeEditor/CodeEditor.md +350 -0
- package/src/components/form/CodeEditor/CodeEditor.stories.tsx +871 -0
- package/src/components/form/CodeEditor/CodeEditor.test.stories.tsx +575 -0
- package/src/components/form/CodeEditor/CodeEditor.tsx +415 -0
- package/src/components/form/CodeEditor/CodeEditor.types.ts +38 -0
- package/src/components/form/CodeEditor/index.ts +2 -0
- package/src/components/form/Command/Command.md +468 -0
- package/src/components/form/Command/Command.stories.tsx +580 -0
- package/src/components/form/Command/Command.test.stories.tsx +215 -0
- package/src/components/form/Command/Command.tsx +545 -0
- package/src/components/form/Command/Command.types.ts +116 -0
- package/src/components/form/Command/index.ts +12 -0
- package/src/components/form/CreatableSelect/CreatableSelect.md +114 -0
- package/src/components/form/CreatableSelect/CreatableSelect.stories.tsx +112 -0
- package/src/components/form/CreatableSelect/CreatableSelect.test.stories.tsx +134 -0
- package/src/components/form/CreatableSelect/CreatableSelect.tsx +149 -0
- package/src/components/form/CreatableSelect/CreatableSelect.types.ts +37 -0
- package/src/components/form/CreatableSelect/index.ts +2 -0
- package/src/components/form/Form/Form.md +325 -0
- package/src/components/form/Form/Form.stories.tsx +687 -0
- package/src/components/form/Form/Form.test.stories.tsx +601 -0
- package/src/components/form/Form/Form.tsx +136 -0
- package/src/components/form/Form/Form.types.ts +42 -0
- package/src/components/form/Form/index.ts +8 -0
- package/src/components/form/Input/Input.md +252 -0
- package/src/components/form/Input/Input.stories.tsx +256 -0
- package/src/components/form/Input/Input.test.stories.tsx +1184 -0
- package/src/components/form/Input/Input.tsx +263 -0
- package/src/components/form/Input/Input.types.ts +24 -0
- package/src/components/form/Input/index.ts +2 -0
- package/src/components/form/InputOTP/InputOTP.md +419 -0
- package/src/components/form/InputOTP/InputOTP.stories.tsx +774 -0
- package/src/components/form/InputOTP/InputOTP.test.stories.tsx +596 -0
- package/src/components/form/InputOTP/InputOTP.tsx +231 -0
- package/src/components/form/InputOTP/InputOTP.types.ts +68 -0
- package/src/components/form/InputOTP/index.ts +2 -0
- package/src/components/form/Label/Label.md +426 -0
- package/src/components/form/Label/Label.stories.tsx +473 -0
- package/src/components/form/Label/Label.test.stories.tsx +909 -0
- package/src/components/form/Label/Label.tsx +367 -0
- package/src/components/form/Label/Label.types.ts +35 -0
- package/src/components/form/Label/index.ts +2 -0
- package/src/components/form/Menubar/Menubar.md +275 -0
- package/src/components/form/Menubar/Menubar.stories.tsx +472 -0
- package/src/components/form/Menubar/Menubar.test.stories.tsx +588 -0
- package/src/components/form/Menubar/Menubar.tsx +467 -0
- package/src/components/form/Menubar/Menubar.types.ts +71 -0
- package/src/components/form/Menubar/index.ts +8 -0
- package/src/components/form/PasswordStrength/PasswordStrength.md +139 -0
- package/src/components/form/PasswordStrength/PasswordStrength.stories.tsx +562 -0
- package/src/components/form/PasswordStrength/PasswordStrength.test.stories.tsx +327 -0
- package/src/components/form/PasswordStrength/PasswordStrength.tsx +419 -0
- package/src/components/form/PasswordStrength/PasswordStrength.types.ts +18 -0
- package/src/components/form/PasswordStrength/index.ts +2 -0
- package/src/components/form/PhoneInput/PhoneInput.md +578 -0
- package/src/components/form/PhoneInput/PhoneInput.stories.tsx +495 -0
- package/src/components/form/PhoneInput/PhoneInput.test.stories.tsx +666 -0
- package/src/components/form/PhoneInput/PhoneInput.tsx +376 -0
- package/src/components/form/PhoneInput/PhoneInput.types.ts +25 -0
- package/src/components/form/PhoneInput/index.ts +2 -0
- package/src/components/form/RadioGroup/RadioGroup.md +477 -0
- package/src/components/form/RadioGroup/RadioGroup.stories.tsx +518 -0
- package/src/components/form/RadioGroup/RadioGroup.test.stories.tsx +685 -0
- package/src/components/form/RadioGroup/RadioGroup.tsx +664 -0
- package/src/components/form/RadioGroup/RadioGroup.types.ts +82 -0
- package/src/components/form/RadioGroup/index.ts +2 -0
- package/src/components/form/RichTextEditor/RichTextEditor.md +710 -0
- package/src/components/form/RichTextEditor/RichTextEditor.stories.tsx +261 -0
- package/src/components/form/RichTextEditor/RichTextEditor.test.stories.tsx +498 -0
- package/src/components/form/RichTextEditor/RichTextEditor.tsx +468 -0
- package/src/components/form/RichTextEditor/RichTextEditor.types.ts +72 -0
- package/src/components/form/RichTextEditor/index.ts +2 -0
- package/src/components/form/SearchPalette/SearchPalette.md +69 -0
- package/src/components/form/SearchPalette/SearchPalette.parts.tsx +358 -0
- package/src/components/form/SearchPalette/SearchPalette.stories.tsx +135 -0
- package/src/components/form/SearchPalette/SearchPalette.tsx +141 -0
- package/src/components/form/SearchPalette/SearchPalette.types.ts +82 -0
- package/src/components/form/SearchPalette/index.ts +7 -0
- package/src/components/form/Select/Select.md +254 -0
- package/src/components/form/Select/Select.stories.tsx +364 -0
- package/src/components/form/Select/Select.test.stories.tsx +977 -0
- package/src/components/form/Select/Select.tsx +239 -0
- package/src/components/form/Select/Select.types.ts +57 -0
- package/src/components/form/Select/index.ts +2 -0
- package/src/components/form/Slider/Slider.md +326 -0
- package/src/components/form/Slider/Slider.stories.tsx +418 -0
- package/src/components/form/Slider/Slider.test.stories.tsx +1044 -0
- package/src/components/form/Slider/Slider.tsx +374 -0
- package/src/components/form/Slider/Slider.types.ts +113 -0
- package/src/components/form/Slider/index.ts +2 -0
- package/src/components/form/Switch/Switch.md +565 -0
- package/src/components/form/Switch/Switch.stories.tsx +697 -0
- package/src/components/form/Switch/Switch.test.stories.tsx +597 -0
- package/src/components/form/Switch/Switch.tsx +578 -0
- package/src/components/form/Switch/Switch.types.ts +130 -0
- package/src/components/form/Switch/index.ts +2 -0
- package/src/components/form/Textarea/Textarea.stories.tsx +473 -0
- package/src/components/form/Textarea/Textarea.test.stories.tsx +708 -0
- package/src/components/form/Textarea/Textarea.tsx +678 -0
- package/src/components/form/Textarea/Textarea.types.ts +84 -0
- package/src/components/form/Textarea/index.ts +2 -0
- package/src/components/form/Toggle/Toggle.md +234 -0
- package/src/components/form/Toggle/Toggle.stories.tsx +638 -0
- package/src/components/form/Toggle/Toggle.test.stories.tsx +1167 -0
- package/src/components/form/Toggle/Toggle.tsx +265 -0
- package/src/components/form/Toggle/Toggle.types.ts +79 -0
- package/src/components/form/Toggle/index.ts +2 -0
- package/src/components/form/ToggleGroup/ToggleGroup.md +329 -0
- package/src/components/form/ToggleGroup/ToggleGroup.stories.tsx +617 -0
- package/src/components/form/ToggleGroup/ToggleGroup.test.stories.tsx +918 -0
- package/src/components/form/ToggleGroup/ToggleGroup.tsx +129 -0
- package/src/components/form/ToggleGroup/ToggleGroup.types.ts +53 -0
- package/src/components/form/ToggleGroup/index.ts +2 -0
- package/src/components/form/UploadButton/UploadButton.md +44 -0
- package/src/components/form/UploadButton/UploadButton.stories.tsx +366 -0
- package/src/components/form/UploadButton/UploadButton.test.stories.tsx +454 -0
- package/src/components/form/UploadButton/UploadButton.tsx +312 -0
- package/src/components/form/UploadButton/UploadButton.types.ts +58 -0
- package/src/components/form/UploadButton/index.ts +2 -0
- package/src/components/form/index.ts +25 -0
- package/src/components/form/total-form/Fields/SelectField.tsx +57 -0
- package/src/components/form/total-form/Fields/TextField.tsx +58 -0
- package/src/components/form/total-form/Fields/index.ts +4 -0
- package/src/components/form/total-form/FormContainer.tsx +104 -0
- package/src/components/form/total-form/FormContext.tsx +38 -0
- package/src/components/form/total-form/FormErrorSnackbar.tsx +35 -0
- package/src/components/form/total-form/SubmitButton.tsx +27 -0
- package/src/components/form/total-form/index.ts +12 -0
- package/src/components/form/total-form/total-form.test.tsx +97 -0
- package/src/components/index.ts +7 -0
- package/src/components/layout/Accordion/Accordion.md +725 -0
- package/src/components/layout/Accordion/Accordion.stories.tsx +690 -0
- package/src/components/layout/Accordion/Accordion.test.stories.tsx +1362 -0
- package/src/components/layout/Accordion/Accordion.tsx +242 -0
- package/src/components/layout/Accordion/Accordion.types.ts +32 -0
- package/src/components/layout/Accordion/index.ts +8 -0
- package/src/components/layout/Card/Card.md +533 -0
- package/src/components/layout/Card/Card.stories.tsx +593 -0
- package/src/components/layout/Card/Card.test.stories.tsx +1134 -0
- package/src/components/layout/Card/Card.tsx +404 -0
- package/src/components/layout/Card/Card.types.ts +57 -0
- package/src/components/layout/Card/index.ts +8 -0
- package/src/components/layout/Collapsible/Collapsible.md +135 -0
- package/src/components/layout/Collapsible/Collapsible.stories.tsx +180 -0
- package/src/components/layout/Collapsible/Collapsible.test.stories.tsx +304 -0
- package/src/components/layout/Collapsible/Collapsible.tsx +198 -0
- package/src/components/layout/Collapsible/Collapsible.types.ts +35 -0
- package/src/components/layout/Collapsible/index.ts +6 -0
- package/src/components/layout/Container/Container.md +420 -0
- package/src/components/layout/Container/Container.stories.tsx +557 -0
- package/src/components/layout/Container/Container.test.stories.tsx +750 -0
- package/src/components/layout/Container/Container.tsx +72 -0
- package/src/components/layout/Container/Container.types.ts +11 -0
- package/src/components/layout/Container/index.ts +2 -0
- package/src/components/layout/ContentToolbar/ColumnsMenu.tsx +99 -0
- package/src/components/layout/ContentToolbar/ContentToolbar.md +75 -0
- package/src/components/layout/ContentToolbar/ContentToolbar.stories.tsx +129 -0
- package/src/components/layout/ContentToolbar/ContentToolbar.test.stories.tsx +251 -0
- package/src/components/layout/ContentToolbar/ContentToolbar.tsx +108 -0
- package/src/components/layout/ContentToolbar/ContentToolbar.types.ts +229 -0
- package/src/components/layout/ContentToolbar/FilterTrigger.tsx +71 -0
- package/src/components/layout/ContentToolbar/MultiSelectDropdown.tsx +297 -0
- package/src/components/layout/ContentToolbar/SavedViewsMenu.tsx +334 -0
- package/src/components/layout/ContentToolbar/SortByDropdown.tsx +213 -0
- package/src/components/layout/ContentToolbar/ViewSelector.tsx +98 -0
- package/src/components/layout/ContentToolbar/__tests__/ColumnsMenu.test.tsx +39 -0
- package/src/components/layout/ContentToolbar/__tests__/MultiSelectDropdown.test.tsx +110 -0
- package/src/components/layout/ContentToolbar/__tests__/SavedViewsMenu.test.tsx +99 -0
- package/src/components/layout/ContentToolbar/index.ts +24 -0
- package/src/components/layout/ContentToolbar/tests.md +42 -0
- package/src/components/layout/ContentToolbar/track.md +41 -0
- package/src/components/layout/Dashboard/Dashboard.md +71 -0
- package/src/components/layout/Dashboard/Dashboard.stories.tsx +104 -0
- package/src/components/layout/Dashboard/Dashboard.test.stories.tsx +164 -0
- package/src/components/layout/Dashboard/Dashboard.tsx +297 -0
- package/src/components/layout/Dashboard/Dashboard.types.ts +157 -0
- package/src/components/layout/Dashboard/DashboardContext.tsx +47 -0
- package/src/components/layout/Dashboard/DashboardParts.tsx +216 -0
- package/src/components/layout/Dashboard/index.ts +18 -0
- package/src/components/layout/Dashboard/tests.md +46 -0
- package/src/components/layout/Dashboard/track.md +50 -0
- package/src/components/layout/Drawer/Drawer.md +479 -0
- package/src/components/layout/Drawer/Drawer.stories.tsx +660 -0
- package/src/components/layout/Drawer/Drawer.test.stories.tsx +1339 -0
- package/src/components/layout/Drawer/Drawer.tsx +150 -0
- package/src/components/layout/Drawer/Drawer.types.ts +34 -0
- package/src/components/layout/Drawer/index.ts +2 -0
- package/src/components/layout/Resizable/Resizable.md +308 -0
- package/src/components/layout/Resizable/Resizable.stories.tsx +1039 -0
- package/src/components/layout/Resizable/Resizable.test.stories.tsx +750 -0
- package/src/components/layout/Resizable/Resizable.tsx +190 -0
- package/src/components/layout/Resizable/Resizable.types.ts +34 -0
- package/src/components/layout/Resizable/index.ts +2 -0
- package/src/components/layout/ScrollArea/ScrollArea.md +122 -0
- package/src/components/layout/ScrollArea/ScrollArea.stories.tsx +651 -0
- package/src/components/layout/ScrollArea/ScrollArea.test.stories.tsx +619 -0
- package/src/components/layout/ScrollArea/ScrollArea.tsx +449 -0
- package/src/components/layout/ScrollArea/ScrollArea.types.ts +80 -0
- package/src/components/layout/ScrollArea/index.ts +7 -0
- package/src/components/layout/Separator/Separator.stories.tsx +563 -0
- package/src/components/layout/Separator/Separator.test.stories.tsx +527 -0
- package/src/components/layout/Separator/Separator.tsx +187 -0
- package/src/components/layout/Separator/Separator.types.ts +17 -0
- package/src/components/layout/Separator/index.ts +2 -0
- package/src/components/layout/SettingsLayout/SettingsLayout.md +139 -0
- package/src/components/layout/SettingsLayout/SettingsLayout.parts.tsx +357 -0
- package/src/components/layout/SettingsLayout/SettingsLayout.stories.tsx +194 -0
- package/src/components/layout/SettingsLayout/SettingsLayout.test.stories.tsx +175 -0
- package/src/components/layout/SettingsLayout/SettingsLayout.tsx +69 -0
- package/src/components/layout/SettingsLayout/SettingsLayout.types.ts +61 -0
- package/src/components/layout/SettingsLayout/index.ts +6 -0
- package/src/components/layout/Sidebar/Sidebar.md +367 -0
- package/src/components/layout/Sidebar/Sidebar.stories.tsx +611 -0
- package/src/components/layout/Sidebar/Sidebar.test.stories.tsx +1326 -0
- package/src/components/layout/Sidebar/Sidebar.tsx +131 -0
- package/src/components/layout/Sidebar/Sidebar.types.ts +30 -0
- package/src/components/layout/Sidebar/index.ts +7 -0
- package/src/components/layout/Skeleton/Skeleton.md +240 -0
- package/src/components/layout/Skeleton/Skeleton.stories.tsx +689 -0
- package/src/components/layout/Skeleton/Skeleton.test.stories.tsx +521 -0
- package/src/components/layout/Skeleton/Skeleton.tsx +166 -0
- package/src/components/layout/Skeleton/Skeleton.types.ts +19 -0
- package/src/components/layout/Skeleton/index.ts +2 -0
- package/src/components/layout/Spacer/Spacer.md +84 -0
- package/src/components/layout/Spacer/Spacer.stories.tsx +502 -0
- package/src/components/layout/Spacer/Spacer.test.stories.tsx +472 -0
- package/src/components/layout/Spacer/Spacer.tsx +68 -0
- package/src/components/layout/Spacer/Spacer.types.ts +12 -0
- package/src/components/layout/Spacer/index.ts +2 -0
- package/src/components/layout/TableFilter/TableFilter.md +55 -0
- package/src/components/layout/TableFilter/TableFilter.stories.tsx +82 -0
- package/src/components/layout/TableFilter/TableFilter.test.stories.tsx +87 -0
- package/src/components/layout/TableFilter/TableFilter.tsx +383 -0
- package/src/components/layout/TableFilter/TableFilter.types.ts +87 -0
- package/src/components/layout/TableFilter/TableFilterContext.tsx +29 -0
- package/src/components/layout/TableFilter/index.ts +15 -0
- package/src/components/layout/TableFilter/tests.md +37 -0
- package/src/components/layout/TableFilter/track.md +36 -0
- package/src/components/layout/index.ts +14 -0
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.md +558 -0
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.stories.tsx +640 -0
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.test.stories.tsx +1007 -0
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.tsx +516 -0
- package/src/components/navigation/Breadcrumbs/Breadcrumbs.types.ts +132 -0
- package/src/components/navigation/Breadcrumbs/index.ts +2 -0
- package/src/components/navigation/CommandPalette/CommandPalette.md +201 -0
- package/src/components/navigation/CommandPalette/CommandPalette.stories.tsx +384 -0
- package/src/components/navigation/CommandPalette/CommandPalette.test.stories.tsx +437 -0
- package/src/components/navigation/CommandPalette/CommandPalette.tsx +434 -0
- package/src/components/navigation/CommandPalette/CommandPalette.types.ts +25 -0
- package/src/components/navigation/CommandPalette/index.ts +2 -0
- package/src/components/navigation/ContextMenu/ContextMenu.md +535 -0
- package/src/components/navigation/ContextMenu/ContextMenu.stories.tsx +611 -0
- package/src/components/navigation/ContextMenu/ContextMenu.test.stories.tsx +850 -0
- package/src/components/navigation/ContextMenu/ContextMenu.tsx +254 -0
- package/src/components/navigation/ContextMenu/ContextMenu.types.ts +96 -0
- package/src/components/navigation/ContextMenu/index.ts +2 -0
- package/src/components/navigation/DropdownMenu/DropdownMenu.md +514 -0
- package/src/components/navigation/DropdownMenu/DropdownMenu.stories.tsx +580 -0
- package/src/components/navigation/DropdownMenu/DropdownMenu.test.stories.tsx +660 -0
- package/src/components/navigation/DropdownMenu/DropdownMenu.tsx +305 -0
- package/src/components/navigation/DropdownMenu/DropdownMenu.types.ts +116 -0
- package/src/components/navigation/DropdownMenu/index.ts +2 -0
- package/src/components/navigation/NavigationMenu/NavigationMenu.md +580 -0
- package/src/components/navigation/NavigationMenu/NavigationMenu.tsx +874 -0
- package/src/components/navigation/NavigationMenu/NavigationMenu.types.ts +135 -0
- package/src/components/navigation/NavigationMenu/index.ts +2 -0
- package/src/components/navigation/NavigationMenu/stories/NavigationMenu.stories.tsx +518 -0
- package/src/components/navigation/NavigationMenu/stories/NavigationMenu.test.stories.tsx +931 -0
- package/src/components/navigation/NavigationMenu/stories/NavigationMenuHorizontal.stories.tsx +503 -0
- package/src/components/navigation/NavigationMenu/stories/NavigationMenuVertical.stories.tsx +455 -0
- package/src/components/navigation/Pagination/Pagination.md +699 -0
- package/src/components/navigation/Pagination/Pagination.stories.tsx +604 -0
- package/src/components/navigation/Pagination/Pagination.test.stories.tsx +520 -0
- package/src/components/navigation/Pagination/Pagination.tsx +356 -0
- package/src/components/navigation/Pagination/Pagination.types.ts +129 -0
- package/src/components/navigation/Pagination/index.ts +2 -0
- package/src/components/navigation/Tabs/Tabs.md +774 -0
- package/src/components/navigation/Tabs/Tabs.stories.tsx +1006 -0
- package/src/components/navigation/Tabs/Tabs.test.stories.tsx +1225 -0
- package/src/components/navigation/Tabs/Tabs.tsx +433 -0
- package/src/components/navigation/Tabs/Tabs.types.ts +239 -0
- package/src/components/navigation/Tabs/index.ts +2 -0
- package/src/components/navigation/index.ts +7 -0
- package/src/components/typography/Blockquote/Blockquote.md +130 -0
- package/src/components/typography/Blockquote/Blockquote.stories.tsx +359 -0
- package/src/components/typography/Blockquote/Blockquote.test.stories.tsx +432 -0
- package/src/components/typography/Blockquote/Blockquote.tsx +166 -0
- package/src/components/typography/Blockquote/Blockquote.types.ts +11 -0
- package/src/components/typography/Blockquote/index.ts +2 -0
- package/src/components/typography/Code/Code.md +182 -0
- package/src/components/typography/Code/Code.stories.tsx +686 -0
- package/src/components/typography/Code/Code.test.stories.tsx +703 -0
- package/src/components/typography/Code/Code.tsx +228 -0
- package/src/components/typography/Code/Code.types.ts +12 -0
- package/src/components/typography/Code/index.ts +2 -0
- package/src/components/typography/Heading/Heading.md +143 -0
- package/src/components/typography/Heading/Heading.stories.tsx +451 -0
- package/src/components/typography/Heading/Heading.test.stories.tsx +830 -0
- package/src/components/typography/Heading/Heading.tsx +178 -0
- package/src/components/typography/Heading/Heading.types.ts +11 -0
- package/src/components/typography/Heading/index.ts +2 -0
- package/src/components/typography/Paragraph/Paragraph.md +80 -0
- package/src/components/typography/Paragraph/Paragraph.stories.tsx +280 -0
- package/src/components/typography/Paragraph/Paragraph.test.stories.tsx +238 -0
- package/src/components/typography/Paragraph/Paragraph.tsx +99 -0
- package/src/components/typography/Paragraph/Paragraph.types.ts +10 -0
- package/src/components/typography/Paragraph/index.ts +2 -0
- package/src/components/typography/Text/Text.md +129 -0
- package/src/components/typography/Text/Text.stories.tsx +359 -0
- package/src/components/typography/Text/Text.test.stories.tsx +762 -0
- package/src/components/typography/Text/Text.tsx +159 -0
- package/src/components/typography/Text/Text.types.ts +15 -0
- package/src/components/typography/Text/index.ts +2 -0
- package/src/components/typography/index.ts +5 -0
- package/src/components/utility/AnimatedIcon/AnimatedIcon.md +359 -0
- package/src/components/utility/AnimatedIcon/AnimatedIcon.stories.tsx +947 -0
- package/src/components/utility/AnimatedIcon/AnimatedIcon.test.stories.tsx +596 -0
- package/src/components/utility/AnimatedIcon/AnimatedIcon.tsx +595 -0
- package/src/components/utility/AnimatedIcon/AnimatedIcon.types.ts +98 -0
- package/src/components/utility/AnimatedIcon/index.ts +2 -0
- package/src/components/utility/AspectRatio/AspectRatio.md +200 -0
- package/src/components/utility/AspectRatio/AspectRatio.stories.tsx +414 -0
- package/src/components/utility/AspectRatio/AspectRatio.test.stories.tsx +859 -0
- package/src/components/utility/AspectRatio/AspectRatio.tsx +76 -0
- package/src/components/utility/AspectRatio/AspectRatio.types.ts +13 -0
- package/src/components/utility/AspectRatio/index.ts +2 -0
- package/src/components/utility/InfiniteScroll/InfiniteScroll.md +531 -0
- package/src/components/utility/InfiniteScroll/InfiniteScroll.stories.tsx +620 -0
- package/src/components/utility/InfiniteScroll/InfiniteScroll.test.stories.tsx +358 -0
- package/src/components/utility/InfiniteScroll/InfiniteScroll.tsx +204 -0
- package/src/components/utility/InfiniteScroll/InfiniteScroll.types.ts +39 -0
- package/src/components/utility/InfiniteScroll/index.ts +6 -0
- package/src/components/utility/Portal/Portal.button-container.example.tsx +99 -0
- package/src/components/utility/Portal/Portal.md +593 -0
- package/src/components/utility/Portal/Portal.stories.tsx +340 -0
- package/src/components/utility/Portal/Portal.test.stories.tsx +2086 -0
- package/src/components/utility/Portal/Portal.tsx +39 -0
- package/src/components/utility/Portal/Portal.types.ts +7 -0
- package/src/components/utility/Portal/index.ts +2 -0
- package/src/components/utility/Transition/Transition.md +684 -0
- package/src/components/utility/Transition/Transition.stories.tsx +493 -0
- package/src/components/utility/Transition/Transition.test.stories.tsx +854 -0
- package/src/components/utility/Transition/Transition.tsx +140 -0
- package/src/components/utility/Transition/Transition.types.ts +14 -0
- package/src/components/utility/Transition/index.ts +6 -0
- package/src/components/utility/VirtualList/VirtualList.md +520 -0
- package/src/components/utility/VirtualList/VirtualList.stories.tsx +1073 -0
- package/src/components/utility/VirtualList/VirtualList.test.stories.tsx +1074 -0
- package/src/components/utility/VirtualList/VirtualList.tsx +369 -0
- package/src/components/utility/VirtualList/VirtualList.types.ts +56 -0
- package/src/components/utility/VirtualList/index.ts +7 -0
- package/src/components/utility/WorkflowStep/WorkflowStep.md +187 -0
- package/src/components/utility/WorkflowStep/WorkflowStep.stories.tsx +433 -0
- package/src/components/utility/WorkflowStep/WorkflowStep.test.stories.tsx +364 -0
- package/src/components/utility/WorkflowStep/WorkflowStep.tsx +506 -0
- package/src/components/utility/WorkflowStep/WorkflowStep.types.ts +133 -0
- package/src/components/utility/WorkflowStep/index.ts +13 -0
- package/src/components/utility/index.ts +7 -0
- package/src/index.ts +17 -0
- package/src/mui/AppBar.ts +2 -0
- package/src/mui/Box.ts +2 -0
- package/src/mui/CssBaseline.ts +2 -0
- package/src/mui/FormControl.ts +2 -0
- package/src/mui/FormControlLabel.ts +2 -0
- package/src/mui/Grid2.ts +2 -0
- package/src/mui/InputLabel.ts +2 -0
- package/src/mui/List.ts +2 -0
- package/src/mui/ListItem.ts +2 -0
- package/src/mui/ListItemButton.ts +2 -0
- package/src/mui/ListItemText.ts +2 -0
- package/src/mui/Stack.ts +2 -0
- package/src/mui/SvgIcon.ts +2 -0
- package/src/mui/Toolbar.ts +2 -0
- package/src/mui/styles.ts +2 -0
- package/src/mui/useMediaQuery.ts +1 -0
- package/src/social-login-button.tsx +199 -0
- package/src/user-avatar.tsx +102 -0
- package/src/utils/cn.ts +9 -0
- 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.
|