sdaia-ui 1.0.1
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/README.md +89 -0
- package/dist/PlayVideoIcon-BM-4pwUd.d.cts +7 -0
- package/dist/PlayVideoIcon-BM-4pwUd.d.ts +7 -0
- package/dist/dga-icons.cjs +14 -0
- package/dist/dga-icons.cjs.map +1 -0
- package/dist/dga-icons.d.cts +1 -0
- package/dist/dga-icons.d.ts +1 -0
- package/dist/dga-icons.js +3 -0
- package/dist/dga-icons.js.map +1 -0
- package/dist/icons.cjs +4014 -0
- package/dist/icons.cjs.map +1 -0
- package/dist/icons.d.cts +756 -0
- package/dist/icons.d.ts +756 -0
- package/dist/icons.js +3871 -0
- package/dist/icons.js.map +1 -0
- package/dist/index.cjs +43620 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +9407 -0
- package/dist/index.d.ts +9407 -0
- package/dist/index.js +43411 -0
- package/dist/index.js.map +1 -0
- package/dist/styles.css +242 -0
- package/package.json +65 -0
- package/src/components/Accordion/Accordion.tsx +207 -0
- package/src/components/Accordion/Accordion.types.ts +36 -0
- package/src/components/Accordion/Accordion.variants.ts +283 -0
- package/src/components/Accordion/index.ts +9 -0
- package/src/components/ActionBar/ActionBar.tsx +192 -0
- package/src/components/ActionBar/ActionBar.types.ts +67 -0
- package/src/components/ActionBar/ActionBar.variants.ts +95 -0
- package/src/components/ActionBar/index.ts +8 -0
- package/src/components/Activity/Activity.tsx +52 -0
- package/src/components/Activity/Activity.types.ts +19 -0
- package/src/components/Activity/Activity.variants.ts +15 -0
- package/src/components/Activity/index.ts +2 -0
- package/src/components/ActivityItem/ActivityItem.tsx +298 -0
- package/src/components/ActivityItem/ActivityItem.types.ts +76 -0
- package/src/components/ActivityItem/ActivityItem.variants.ts +117 -0
- package/src/components/ActivityItem/index.ts +8 -0
- package/src/components/Alert/Alert.tsx +183 -0
- package/src/components/Alert/Alert.types.ts +34 -0
- package/src/components/Alert/Alert.variants.ts +168 -0
- package/src/components/Alert/index.ts +2 -0
- package/src/components/AreaChart/AreaChart.tsx +454 -0
- package/src/components/AreaChart/AreaChart.types.ts +117 -0
- package/src/components/AreaChart/AreaChart.variants.ts +202 -0
- package/src/components/AreaChart/index.ts +2 -0
- package/src/components/AspectRatio/AspectRatio.tsx +36 -0
- package/src/components/AspectRatio/AspectRatio.types.ts +33 -0
- package/src/components/AspectRatio/AspectRatio.variants.ts +42 -0
- package/src/components/AspectRatio/index.ts +2 -0
- package/src/components/AudioPlayer/AudioPlayer.tsx +294 -0
- package/src/components/AudioPlayer/AudioPlayer.types.ts +64 -0
- package/src/components/AudioPlayer/AudioPlayer.variants.ts +225 -0
- package/src/components/AudioPlayer/index.ts +2 -0
- package/src/components/Autocomplete/Autocomplete.tsx +353 -0
- package/src/components/Autocomplete/Autocomplete.types.ts +93 -0
- package/src/components/Autocomplete/Autocomplete.variants.ts +149 -0
- package/src/components/Autocomplete/index.ts +6 -0
- package/src/components/Avatar/Avatar.tsx +168 -0
- package/src/components/Avatar/Avatar.types.ts +36 -0
- package/src/components/Avatar/Avatar.variants.ts +102 -0
- package/src/components/Avatar/index.ts +7 -0
- package/src/components/AvatarGroup/AvatarGroup.tsx +87 -0
- package/src/components/AvatarGroup/AvatarGroup.types.ts +44 -0
- package/src/components/AvatarGroup/AvatarGroup.variants.ts +17 -0
- package/src/components/AvatarGroup/index.ts +6 -0
- package/src/components/Badge/Badge.tsx +74 -0
- package/src/components/Badge/Badge.types.ts +31 -0
- package/src/components/Badge/Badge.variants.ts +83 -0
- package/src/components/Badge/index.ts +2 -0
- package/src/components/Bar/Bar.tsx +57 -0
- package/src/components/Bar/Bar.types.ts +18 -0
- package/src/components/Bar/Bar.variants.ts +20 -0
- package/src/components/Bar/index.ts +2 -0
- package/src/components/BarChart/BarChart.tsx +179 -0
- package/src/components/BarChart/BarChart.types.ts +72 -0
- package/src/components/BarChart/BarChart.variants.ts +134 -0
- package/src/components/BarChart/index.ts +2 -0
- package/src/components/BarGroup/BarGroup.tsx +119 -0
- package/src/components/BarGroup/BarGroup.types.ts +50 -0
- package/src/components/BarGroup/BarGroup.variants.ts +76 -0
- package/src/components/BarGroup/index.ts +2 -0
- package/src/components/Breadcrumb/Breadcrumb.tsx +137 -0
- package/src/components/Breadcrumb/Breadcrumb.types.ts +21 -0
- package/src/components/Breadcrumb/BreadcrumbItem.tsx +267 -0
- package/src/components/Breadcrumb/BreadcrumbItem.types.ts +66 -0
- package/src/components/Breadcrumb/BreadcrumbItem.variants.ts +102 -0
- package/src/components/Breadcrumb/index.ts +12 -0
- package/src/components/Button/Button.tsx +100 -0
- package/src/components/Button/Button.types.ts +44 -0
- package/src/components/Button/Button.variants.ts +183 -0
- package/src/components/Button/index.ts +2 -0
- package/src/components/ButtonClose/ButtonClose.tsx +57 -0
- package/src/components/ButtonClose/ButtonClose.types.ts +18 -0
- package/src/components/ButtonClose/ButtonClose.variants.ts +72 -0
- package/src/components/ButtonClose/index.ts +2 -0
- package/src/components/ButtonGroup/ButtonGroup.tsx +127 -0
- package/src/components/ButtonGroup/ButtonGroup.types.ts +51 -0
- package/src/components/ButtonGroup/ButtonGroup.variants.ts +65 -0
- package/src/components/ButtonGroup/index.ts +2 -0
- package/src/components/ButtonMenu/ButtonMenu.tsx +73 -0
- package/src/components/ButtonMenu/ButtonMenu.types.ts +43 -0
- package/src/components/ButtonMenu/ButtonMenu.variants.ts +18 -0
- package/src/components/ButtonMenu/index.ts +2 -0
- package/src/components/ButtonSplit/ButtonSplit.tsx +344 -0
- package/src/components/ButtonSplit/ButtonSplit.types.ts +95 -0
- package/src/components/ButtonSplit/ButtonSplit.variants.ts +165 -0
- package/src/components/ButtonSplit/index.ts +7 -0
- package/src/components/ButtonsWithSdaiaTouch/ButtonHoverPattern.tsx +69 -0
- package/src/components/ButtonsWithSdaiaTouch/ButtonsWithSdaiaTouch.tsx +130 -0
- package/src/components/ButtonsWithSdaiaTouch/ButtonsWithSdaiaTouch.types.ts +4 -0
- package/src/components/ButtonsWithSdaiaTouch/ButtonsWithSdaiaTouch.variants.ts +19 -0
- package/src/components/ButtonsWithSdaiaTouch/index.ts +6 -0
- package/src/components/CLAUDE.md +212 -0
- package/src/components/CalendarHeader/CalendarHeader.tsx +224 -0
- package/src/components/CalendarHeader/CalendarHeader.types.ts +51 -0
- package/src/components/CalendarHeader/CalendarHeader.variants.ts +65 -0
- package/src/components/CalendarHeader/index.ts +2 -0
- package/src/components/Card/Card.tsx +76 -0
- package/src/components/Card/Card.types.ts +11 -0
- package/src/components/Card/Card.variants.ts +30 -0
- package/src/components/Card/index.ts +2 -0
- package/src/components/CardContent/CardContent.tsx +178 -0
- package/src/components/CardContent/CardContent.types.ts +70 -0
- package/src/components/CardContent/CardContent.variants.ts +90 -0
- package/src/components/CardContent/index.ts +6 -0
- package/src/components/CardFooter/CardFooter.tsx +196 -0
- package/src/components/CardFooter/CardFooter.types.ts +59 -0
- package/src/components/CardFooter/CardFooter.variants.ts +127 -0
- package/src/components/CardFooter/index.ts +8 -0
- package/src/components/CardHeader/CardHeader.tsx +150 -0
- package/src/components/CardHeader/CardHeader.types.ts +42 -0
- package/src/components/CardHeader/CardHeader.variants.ts +72 -0
- package/src/components/CardHeader/index.ts +5 -0
- package/src/components/CardLeadingItem/CardLeadingItem.tsx +166 -0
- package/src/components/CardLeadingItem/CardLeadingItem.types.ts +75 -0
- package/src/components/CardLeadingItem/CardLeadingItem.variants.ts +66 -0
- package/src/components/CardLeadingItem/index.ts +6 -0
- package/src/components/CardMedia/CardMedia.tsx +324 -0
- package/src/components/CardMedia/CardMedia.types.ts +114 -0
- package/src/components/CardMedia/CardMedia.variants.ts +139 -0
- package/src/components/CardMedia/index.ts +2 -0
- package/src/components/Carousel/Carousel.tsx +182 -0
- package/src/components/Carousel/Carousel.types.ts +38 -0
- package/src/components/Carousel/Carousel.variants.ts +17 -0
- package/src/components/Carousel/index.ts +2 -0
- package/src/components/CarouselArrow/CarouselArrow.tsx +66 -0
- package/src/components/CarouselArrow/CarouselArrow.types.ts +26 -0
- package/src/components/CarouselArrow/CarouselArrow.variants.ts +83 -0
- package/src/components/CarouselArrow/index.ts +7 -0
- package/src/components/CarouselControlsGroup/CarouselControlsGroup.tsx +81 -0
- package/src/components/CarouselControlsGroup/CarouselControlsGroup.types.ts +24 -0
- package/src/components/CarouselControlsGroup/CarouselControlsGroup.variants.ts +60 -0
- package/src/components/CarouselControlsGroup/index.ts +6 -0
- package/src/components/CarouselImage/CarouselImage.tsx +253 -0
- package/src/components/CarouselImage/CarouselImage.types.ts +72 -0
- package/src/components/CarouselImage/CarouselImage.variants.ts +43 -0
- package/src/components/CarouselImage/index.ts +6 -0
- package/src/components/Chart/Chart.tsx +3 -0
- package/src/components/Chart/Chart.types.ts +2 -0
- package/src/components/Chart/Chart.variants.ts +2 -0
- package/src/components/Chart/index.ts +2 -0
- package/src/components/ChartBadge/ChartBadge.tsx +62 -0
- package/src/components/ChartBadge/ChartBadge.types.ts +27 -0
- package/src/components/ChartBadge/ChartBadge.variants.ts +62 -0
- package/src/components/ChartBadge/index.ts +2 -0
- package/src/components/Checkbox/Checkbox.tsx +243 -0
- package/src/components/Checkbox/Checkbox.types.ts +20 -0
- package/src/components/Checkbox/index.ts +2 -0
- package/src/components/CheckboxLabel/CheckboxLabel.tsx +148 -0
- package/src/components/CheckboxLabel/CheckboxLabel.types.ts +55 -0
- package/src/components/CheckboxLabel/CheckboxLabel.variants.ts +35 -0
- package/src/components/CheckboxLabel/index.ts +2 -0
- package/src/components/Chip/Chip.tsx +245 -0
- package/src/components/Chip/Chip.types.ts +83 -0
- package/src/components/Chip/Chip.variants.ts +143 -0
- package/src/components/Chip/index.ts +2 -0
- package/src/components/CircularItem/CircularItem.tsx +133 -0
- package/src/components/CircularItem/CircularItem.types.ts +45 -0
- package/src/components/CircularItem/CircularItem.variants.ts +128 -0
- package/src/components/CircularItem/index.ts +7 -0
- package/src/components/CodeSnippet/CodeSnippet.tsx +421 -0
- package/src/components/CodeSnippet/CodeSnippet.types.ts +99 -0
- package/src/components/CodeSnippet/CodeSnippet.variants.ts +76 -0
- package/src/components/CodeSnippet/index.ts +9 -0
- package/src/components/ColumnChart/ColumnChart.tsx +943 -0
- package/src/components/ColumnChart/ColumnChart.types.ts +98 -0
- package/src/components/ColumnChart/ColumnChart.variants.ts +117 -0
- package/src/components/ColumnChart/index.ts +9 -0
- package/src/components/ComplexComposition/ComplexComposition.tsx +82 -0
- package/src/components/ComplexComposition/ComplexComposition.types.ts +3 -0
- package/src/components/ComplexComposition/ComplexComposition.variants.ts +14 -0
- package/src/components/ComplexComposition/index.ts +2 -0
- package/src/components/ContentSwitcher/ContentSwitcher.tsx +104 -0
- package/src/components/ContentSwitcher/ContentSwitcher.types.ts +28 -0
- package/src/components/ContentSwitcher/ContentSwitcher.variants.ts +70 -0
- package/src/components/ContentSwitcher/index.ts +6 -0
- package/src/components/ContentSwitcherItem/ContentSwitcherItem.tsx +56 -0
- package/src/components/ContentSwitcherItem/ContentSwitcherItem.types.ts +14 -0
- package/src/components/ContentSwitcherItem/ContentSwitcherItem.variants.ts +65 -0
- package/src/components/ContentSwitcherItem/index.ts +6 -0
- package/src/components/ContextMenu/ContextMenu.tsx +101 -0
- package/src/components/ContextMenu/ContextMenu.types.ts +64 -0
- package/src/components/ContextMenu/ContextMenu.variants.ts +36 -0
- package/src/components/ContextMenu/index.ts +7 -0
- package/src/components/ContextMenuDropdown/ContextMenuDropdown.tsx +370 -0
- package/src/components/ContextMenuDropdown/ContextMenuDropdown.types.ts +89 -0
- package/src/components/ContextMenuDropdown/ContextMenuDropdown.variants.ts +88 -0
- package/src/components/ContextMenuDropdown/index.ts +5 -0
- package/src/components/DateCell/DateCell.tsx +181 -0
- package/src/components/DateCell/DateCell.types.ts +53 -0
- package/src/components/DateCell/DateCell.variants.ts +217 -0
- package/src/components/DateCell/index.ts +2 -0
- package/src/components/DatePicker/DatePicker.tsx +923 -0
- package/src/components/DatePicker/DatePicker.types.ts +102 -0
- package/src/components/DatePicker/DatePicker.variants.ts +274 -0
- package/src/components/DatePicker/index.ts +9 -0
- package/src/components/DateTab/DateTab.tsx +91 -0
- package/src/components/DateTab/DateTab.types.ts +9 -0
- package/src/components/DateTab/DateTab.variants.ts +98 -0
- package/src/components/DateTab/index.ts +2 -0
- package/src/components/DgaIcon/DgaIcon.tsx +68 -0
- package/src/components/DgaIcon/DgaIcon.types.ts +57 -0
- package/src/components/DgaIcon/DgaIcon.variants.ts +41 -0
- package/src/components/DgaIcon/DgaIconByName.tsx +76 -0
- package/src/components/DgaIcon/generated/icon-names.ts +4388 -0
- package/src/components/DgaIcon/index.ts +12 -0
- package/src/components/DgaIcon/lib/decodeDataUrl.ts +46 -0
- package/src/components/DigitalStamp/DigitalStamp.tsx +236 -0
- package/src/components/DigitalStamp/DigitalStamp.types.ts +38 -0
- package/src/components/DigitalStamp/DigitalStamp.variants.ts +185 -0
- package/src/components/DigitalStamp/index.ts +2 -0
- package/src/components/Divider/Divider.tsx +83 -0
- package/src/components/Divider/Divider.types.ts +49 -0
- package/src/components/Divider/Divider.variants.ts +55 -0
- package/src/components/Divider/index.ts +8 -0
- package/src/components/DonutChart/DonutChart.tsx +251 -0
- package/src/components/DonutChart/DonutChart.types.ts +97 -0
- package/src/components/DonutChart/DonutChart.variants.ts +203 -0
- package/src/components/DonutChart/index.ts +7 -0
- package/src/components/DonutChartPanel/DonutChartPanel.tsx +778 -0
- package/src/components/DonutChartPanel/DonutChartPanel.types.ts +143 -0
- package/src/components/DonutChartPanel/DonutChartPanel.variants.ts +154 -0
- package/src/components/DonutChartPanel/index.ts +9 -0
- package/src/components/DraggableItem/DraggableItem.tsx +228 -0
- package/src/components/DraggableItem/DraggableItem.types.ts +72 -0
- package/src/components/DraggableItem/DraggableItem.variants.ts +149 -0
- package/src/components/DraggableItem/index.ts +3 -0
- package/src/components/DraggableList/DraggableList.tsx +20 -0
- package/src/components/DraggableList/DraggableList.types.ts +16 -0
- package/src/components/DraggableList/DraggableList.variants.ts +13 -0
- package/src/components/DraggableList/index.ts +3 -0
- package/src/components/Dropdown/Dropdown.tsx +331 -0
- package/src/components/Dropdown/Dropdown.types.ts +108 -0
- package/src/components/Dropdown/Dropdown.variants.ts +73 -0
- package/src/components/Dropdown/index.ts +9 -0
- package/src/components/DropdownListHeader/DropdownListHeader.tsx +79 -0
- package/src/components/DropdownListHeader/DropdownListHeader.types.ts +24 -0
- package/src/components/DropdownListHeader/DropdownListHeader.variants.ts +65 -0
- package/src/components/DropdownListHeader/index.ts +2 -0
- package/src/components/EmptyState/EmptyState.tsx +221 -0
- package/src/components/EmptyState/EmptyState.types.ts +48 -0
- package/src/components/EmptyState/EmptyState.variants.ts +122 -0
- package/src/components/EmptyState/index.ts +3 -0
- package/src/components/Extension/Extension.tsx +240 -0
- package/src/components/Extension/Extension.types.ts +40 -0
- package/src/components/Extension/Extension.variants.ts +27 -0
- package/src/components/Extension/index.ts +6 -0
- package/src/components/Feedback/Feedback.tsx +55 -0
- package/src/components/Feedback/Feedback.types.ts +15 -0
- package/src/components/Feedback/Feedback.variants.ts +9 -0
- package/src/components/Feedback/index.ts +2 -0
- package/src/components/FeedbackOverview/FeedbackOverview.tsx +70 -0
- package/src/components/FeedbackOverview/FeedbackOverview.types.ts +11 -0
- package/src/components/FeedbackOverview/FeedbackOverview.variants.ts +17 -0
- package/src/components/FeedbackOverview/index.ts +2 -0
- package/src/components/FeedbackReaction/FeedbackReaction.tsx +81 -0
- package/src/components/FeedbackReaction/FeedbackReaction.types.ts +14 -0
- package/src/components/FeedbackReaction/FeedbackReaction.variants.ts +39 -0
- package/src/components/FeedbackReaction/index.ts +2 -0
- package/src/components/FileUploadBase/FileUploadBase.tsx +104 -0
- package/src/components/FileUploadBase/FileUploadBase.types.ts +48 -0
- package/src/components/FileUploadBase/FileUploadBase.variants.ts +51 -0
- package/src/components/FileUploadBase/index.ts +2 -0
- package/src/components/FileUploadItemBase/FileUploadItemBase.tsx +197 -0
- package/src/components/FileUploadItemBase/FileUploadItemBase.types.ts +58 -0
- package/src/components/FileUploadItemBase/FileUploadItemBase.variants.ts +67 -0
- package/src/components/FileUploadItemBase/index.ts +6 -0
- package/src/components/FileUploader/FileUploader.tsx +164 -0
- package/src/components/FileUploader/FileUploader.types.ts +46 -0
- package/src/components/FileUploader/FileUploader.variants.ts +9 -0
- package/src/components/FileUploader/index.ts +2 -0
- package/src/components/Filtration/Filtration.tsx +260 -0
- package/src/components/Filtration/Filtration.types.ts +95 -0
- package/src/components/Filtration/Filtration.variants.ts +70 -0
- package/src/components/Filtration/index.ts +6 -0
- package/src/components/FiltrationItem/FiltrationItem.tsx +200 -0
- package/src/components/FiltrationItem/FiltrationItem.types.ts +57 -0
- package/src/components/FiltrationItem/FiltrationItem.variants.ts +81 -0
- package/src/components/FiltrationItem/index.ts +2 -0
- package/src/components/FiltrationList/FiltrationList.tsx +611 -0
- package/src/components/FiltrationList/FiltrationList.types.ts +191 -0
- package/src/components/FiltrationList/FiltrationList.variants.ts +283 -0
- package/src/components/FiltrationList/index.ts +16 -0
- package/src/components/FloatingButton/FloatingButton.tsx +89 -0
- package/src/components/FloatingButton/FloatingButton.types.ts +29 -0
- package/src/components/FloatingButton/FloatingButton.variants.ts +79 -0
- package/src/components/FloatingButton/index.ts +6 -0
- package/src/components/Footer/Footer.tsx +353 -0
- package/src/components/Footer/Footer.types.ts +142 -0
- package/src/components/Footer/Footer.variants.ts +137 -0
- package/src/components/Footer/index.ts +11 -0
- package/src/components/FooterItem/FooterItem.tsx +211 -0
- package/src/components/FooterItem/FooterItem.types.ts +45 -0
- package/src/components/FooterItem/FooterItem.variants.ts +139 -0
- package/src/components/FooterItem/index.ts +2 -0
- package/src/components/FooterLinkList/FooterLinkList.tsx +140 -0
- package/src/components/FooterLinkList/FooterLinkList.types.ts +46 -0
- package/src/components/FooterLinkList/FooterLinkList.variants.ts +64 -0
- package/src/components/FooterLinkList/index.ts +2 -0
- package/src/components/GraphBase/GraphBase.tsx +598 -0
- package/src/components/GraphBase/GraphBase.types.ts +101 -0
- package/src/components/GraphBase/GraphBase.variants.ts +126 -0
- package/src/components/GraphBase/index.ts +7 -0
- package/src/components/HeaderItem/HeaderItem.tsx +206 -0
- package/src/components/HeaderItem/HeaderItem.types.ts +73 -0
- package/src/components/HeaderItem/HeaderItem.variants.ts +139 -0
- package/src/components/HeaderItem/index.ts +2 -0
- package/src/components/HelpIcon/HelpIcon.tsx +173 -0
- package/src/components/HelpIcon/HelpIcon.types.ts +54 -0
- package/src/components/HelpIcon/HelpIcon.variants.ts +79 -0
- package/src/components/HelpIcon/index.ts +2 -0
- package/src/components/HorizontalTabs/HorizontalTabs.tsx +87 -0
- package/src/components/HorizontalTabs/HorizontalTabs.types.ts +41 -0
- package/src/components/HorizontalTabs/HorizontalTabs.variants.ts +54 -0
- package/src/components/HorizontalTabs/index.ts +6 -0
- package/src/components/IllustrationInstance/IllustrationInstance.tsx +46 -0
- package/src/components/IllustrationInstance/IllustrationInstance.types.ts +25 -0
- package/src/components/IllustrationInstance/IllustrationInstance.variants.ts +19 -0
- package/src/components/IllustrationInstance/index.ts +3 -0
- package/src/components/ImagePreview/ImagePreview.tsx +170 -0
- package/src/components/ImagePreview/ImagePreview.types.ts +54 -0
- package/src/components/ImagePreview/ImagePreview.variants.ts +39 -0
- package/src/components/ImagePreview/index.ts +2 -0
- package/src/components/Input/Input.tsx +113 -0
- package/src/components/Input/Input.types.ts +22 -0
- package/src/components/Input/index.ts +2 -0
- package/src/components/InputPrefixSuffix/InputPrefixSuffix.tsx +91 -0
- package/src/components/InputPrefixSuffix/InputPrefixSuffix.types.ts +81 -0
- package/src/components/InputPrefixSuffix/InputPrefixSuffix.variants.ts +128 -0
- package/src/components/InputPrefixSuffix/index.ts +8 -0
- package/src/components/InputsActions/InputsActions.tsx +53 -0
- package/src/components/InputsActions/InputsActions.types.ts +13 -0
- package/src/components/InputsActions/InputsActions.variants.ts +18 -0
- package/src/components/InputsActions/index.ts +2 -0
- package/src/components/InstanceColumn/InstanceColumn.tsx +43 -0
- package/src/components/InstanceColumn/InstanceColumn.types.ts +18 -0
- package/src/components/InstanceColumn/InstanceColumn.variants.ts +11 -0
- package/src/components/InstanceColumn/index.ts +2 -0
- package/src/components/InstanceItem/InstanceItem.tsx +33 -0
- package/src/components/InstanceItem/InstanceItem.types.ts +11 -0
- package/src/components/InstanceItem/InstanceItem.variants.ts +31 -0
- package/src/components/InstanceItem/index.ts +2 -0
- package/src/components/InstanceRows/InstanceRows.tsx +41 -0
- package/src/components/InstanceRows/InstanceRows.types.ts +17 -0
- package/src/components/InstanceRows/InstanceRows.variants.ts +10 -0
- package/src/components/InstanceRows/index.ts +2 -0
- package/src/components/InstanceSlot/InstanceSlot.tsx +25 -0
- package/src/components/InstanceSlot/InstanceSlot.types.ts +10 -0
- package/src/components/InstanceSlot/InstanceSlot.variants.ts +2 -0
- package/src/components/InstanceSlot/index.ts +2 -0
- package/src/components/LineChart/LineChart.tsx +592 -0
- package/src/components/LineChart/LineChart.types.ts +78 -0
- package/src/components/LineChart/LineChart.variants.ts +324 -0
- package/src/components/LineChart/index.ts +7 -0
- package/src/components/Link/Link.tsx +81 -0
- package/src/components/Link/Link.types.ts +23 -0
- package/src/components/Link/Link.variants.ts +69 -0
- package/src/components/Link/index.ts +2 -0
- package/src/components/List/List.tsx +260 -0
- package/src/components/List/List.types.ts +70 -0
- package/src/components/List/List.variants.ts +94 -0
- package/src/components/List/index.ts +5 -0
- package/src/components/ListGroup/ListGroup.tsx +37 -0
- package/src/components/ListGroup/ListGroup.types.ts +14 -0
- package/src/components/ListGroup/ListGroup.variants.ts +17 -0
- package/src/components/ListGroup/index.ts +3 -0
- package/src/components/LoadingIndicator/LoadingIndicator.tsx +208 -0
- package/src/components/LoadingIndicator/LoadingIndicator.types.ts +51 -0
- package/src/components/LoadingIndicator/LoadingIndicator.variants.ts +108 -0
- package/src/components/LoadingIndicator/index.ts +7 -0
- package/src/components/MediaGallery/MediaGallery.tsx +600 -0
- package/src/components/MediaGallery/MediaGallery.types.ts +124 -0
- package/src/components/MediaGallery/MediaGallery.variants.ts +116 -0
- package/src/components/MediaGallery/index.ts +2 -0
- package/src/components/MediaGrids/MediaGrids.tsx +48 -0
- package/src/components/MediaGrids/MediaGrids.types.ts +14 -0
- package/src/components/MediaGrids/MediaGrids.variants.ts +16 -0
- package/src/components/MediaGrids/index.ts +2 -0
- package/src/components/MediaViewer/MediaViewer.tsx +345 -0
- package/src/components/MediaViewer/MediaViewer.types.ts +59 -0
- package/src/components/MediaViewer/MediaViewer.variants.ts +168 -0
- package/src/components/MediaViewer/index.ts +2 -0
- package/src/components/Menu/Menu.tsx +109 -0
- package/src/components/Menu/Menu.types.ts +37 -0
- package/src/components/Menu/Menu.variants.ts +29 -0
- package/src/components/Menu/index.ts +2 -0
- package/src/components/MenuButtonItem/MenuButtonItem.tsx +280 -0
- package/src/components/MenuButtonItem/MenuButtonItem.types.ts +91 -0
- package/src/components/MenuButtonItem/MenuButtonItem.variants.ts +223 -0
- package/src/components/MenuButtonItem/index.ts +8 -0
- package/src/components/MenuItem/MenuItem.tsx +211 -0
- package/src/components/MenuItem/MenuItem.types.ts +40 -0
- package/src/components/MenuItem/MenuItem.variants.ts +48 -0
- package/src/components/MenuItem/index.ts +2 -0
- package/src/components/MenuItemGroup/MenuItemGroup.tsx +91 -0
- package/src/components/MenuItemGroup/MenuItemGroup.types.ts +82 -0
- package/src/components/MenuItemGroup/MenuItemGroup.variants.ts +33 -0
- package/src/components/MenuItemGroup/index.ts +2 -0
- package/src/components/MenuList/MenuList.tsx +44 -0
- package/src/components/MenuList/MenuList.types.ts +28 -0
- package/src/components/MenuList/MenuList.variants.ts +2 -0
- package/src/components/MenuList/index.ts +2 -0
- package/src/components/Metric/Metric.tsx +584 -0
- package/src/components/Metric/Metric.types.ts +77 -0
- package/src/components/Metric/Metric.variants.ts +175 -0
- package/src/components/Metric/index.ts +8 -0
- package/src/components/Modal/Modal.tsx +139 -0
- package/src/components/Modal/Modal.types.ts +55 -0
- package/src/components/Modal/index.ts +2 -0
- package/src/components/ModalActions/ModalActions.tsx +176 -0
- package/src/components/ModalActions/ModalActions.types.ts +31 -0
- package/src/components/ModalActions/index.ts +2 -0
- package/src/components/ModalHeader/ModalHeader.tsx +207 -0
- package/src/components/ModalHeader/ModalHeader.types.ts +24 -0
- package/src/components/ModalHeader/index.ts +2 -0
- package/src/components/NavBar/NavBar.tsx +326 -0
- package/src/components/NavBar/NavBar.types.ts +78 -0
- package/src/components/NavBar/NavBar.variants.ts +139 -0
- package/src/components/NavBar/index.ts +2 -0
- package/src/components/NavHeader/NavHeader.tsx +292 -0
- package/src/components/NavHeader/NavHeader.types.ts +145 -0
- package/src/components/NavHeader/NavHeader.variants.ts +178 -0
- package/src/components/NavHeader/index.ts +2 -0
- package/src/components/NavHeaderActions/NavHeaderActions.tsx +161 -0
- package/src/components/NavHeaderActions/NavHeaderActions.types.ts +61 -0
- package/src/components/NavHeaderActions/NavHeaderActions.variants.ts +58 -0
- package/src/components/NavHeaderActions/index.ts +2 -0
- package/src/components/NavHeaderDropdownItem/NavHeaderDropdownItem.tsx +243 -0
- package/src/components/NavHeaderDropdownItem/NavHeaderDropdownItem.types.ts +76 -0
- package/src/components/NavHeaderDropdownItem/NavHeaderDropdownItem.variants.ts +133 -0
- package/src/components/NavHeaderDropdownItem/index.ts +5 -0
- package/src/components/NavHeaderDropdownItemList/NavHeaderDropdownItemList.tsx +64 -0
- package/src/components/NavHeaderDropdownItemList/NavHeaderDropdownItemList.types.ts +55 -0
- package/src/components/NavHeaderDropdownItemList/NavHeaderDropdownItemList.variants.ts +47 -0
- package/src/components/NavHeaderDropdownItemList/index.ts +5 -0
- package/src/components/NavHeaderMenuButton/NavHeaderMenuButton.tsx +52 -0
- package/src/components/NavHeaderMenuButton/NavHeaderMenuButton.types.ts +17 -0
- package/src/components/NavHeaderMenuButton/NavHeaderMenuButton.variants.ts +73 -0
- package/src/components/NavHeaderMenuButton/index.ts +2 -0
- package/src/components/NavHeaderMenuCard/NavHeaderMenuCard.tsx +126 -0
- package/src/components/NavHeaderMenuCard/NavHeaderMenuCard.types.ts +74 -0
- package/src/components/NavHeaderMenuCard/NavHeaderMenuCard.variants.ts +169 -0
- package/src/components/NavHeaderMenuCard/index.ts +6 -0
- package/src/components/NavHeaderMenuItem/NavHeaderMenuItem.tsx +164 -0
- package/src/components/NavHeaderMenuItem/NavHeaderMenuItem.types.ts +64 -0
- package/src/components/NavHeaderMenuItem/NavHeaderMenuItem.variants.ts +175 -0
- package/src/components/NavHeaderMenuItem/index.ts +2 -0
- package/src/components/NavItem/NavItem.tsx +210 -0
- package/src/components/NavItem/NavItem.types.ts +71 -0
- package/src/components/NavItem/NavItem.variants.ts +61 -0
- package/src/components/NavItem/index.ts +2 -0
- package/src/components/NavLabel/NavLabel.tsx +84 -0
- package/src/components/NavLabel/NavLabel.types.ts +55 -0
- package/src/components/NavLabel/NavLabel.variants.ts +68 -0
- package/src/components/NavLabel/index.ts +2 -0
- package/src/components/NavLogoPlaceholder/NavLogoPlaceholder.tsx +101 -0
- package/src/components/NavLogoPlaceholder/NavLogoPlaceholder.types.ts +27 -0
- package/src/components/NavLogoPlaceholder/NavLogoPlaceholder.variants.ts +42 -0
- package/src/components/NavLogoPlaceholder/index.ts +6 -0
- package/src/components/NotificationBanner/NotificationBanner.tsx +256 -0
- package/src/components/NotificationBanner/NotificationBanner.types.ts +77 -0
- package/src/components/NotificationBanner/NotificationBanner.variants.ts +109 -0
- package/src/components/NotificationBanner/index.ts +7 -0
- package/src/components/NotificationPopup/NotificationPopup.tsx +147 -0
- package/src/components/NotificationPopup/NotificationPopup.types.ts +51 -0
- package/src/components/NotificationPopup/NotificationPopup.variants.ts +145 -0
- package/src/components/NotificationPopup/index.ts +5 -0
- package/src/components/Notifications/Notifications.tsx +209 -0
- package/src/components/Notifications/Notifications.types.ts +68 -0
- package/src/components/Notifications/Notifications.variants.ts +89 -0
- package/src/components/Notifications/index.ts +2 -0
- package/src/components/Number/Number.tsx +497 -0
- package/src/components/Number/Number.types.ts +58 -0
- package/src/components/Number/Number.variants.ts +94 -0
- package/src/components/Number/index.ts +2 -0
- package/src/components/NumberInput/NumberInput.tsx +265 -0
- package/src/components/NumberInput/NumberInput.types.ts +110 -0
- package/src/components/NumberInput/NumberInput.variants.ts +205 -0
- package/src/components/NumberInput/index.ts +6 -0
- package/src/components/Pagination/Pagination.tsx +393 -0
- package/src/components/Pagination/Pagination.types.ts +26 -0
- package/src/components/Pagination/Pagination.variants.ts +88 -0
- package/src/components/Pagination/index.ts +3 -0
- package/src/components/PaginationButtonGroup/PaginationButtonGroup.tsx +132 -0
- package/src/components/PaginationButtonGroup/PaginationButtonGroup.types.ts +20 -0
- package/src/components/PaginationButtonGroup/PaginationButtonGroup.variants.ts +45 -0
- package/src/components/PaginationButtonGroup/index.ts +8 -0
- package/src/components/PaginationCells/PaginationCells.tsx +105 -0
- package/src/components/PaginationCells/PaginationCells.types.ts +31 -0
- package/src/components/PaginationCells/PaginationCells.variants.ts +96 -0
- package/src/components/PaginationCells/index.ts +9 -0
- package/src/components/PdfViewer/PdfViewer.tsx +265 -0
- package/src/components/PdfViewer/PdfViewer.types.ts +79 -0
- package/src/components/PdfViewer/PdfViewer.variants.ts +105 -0
- package/src/components/PdfViewer/index.ts +3 -0
- package/src/components/PieChartPanel/PieChartPanel.tsx +889 -0
- package/src/components/PieChartPanel/PieChartPanel.types.ts +130 -0
- package/src/components/PieChartPanel/PieChartPanel.variants.ts +156 -0
- package/src/components/PieChartPanel/index.ts +8 -0
- package/src/components/Popover/Popover.tsx +398 -0
- package/src/components/Popover/Popover.types.ts +155 -0
- package/src/components/Popover/Popover.variants.ts +147 -0
- package/src/components/Popover/index.ts +7 -0
- package/src/components/ProgressBar/ProgressBar.tsx +241 -0
- package/src/components/ProgressBar/ProgressBar.types.ts +22 -0
- package/src/components/ProgressBar/ProgressBar.variants.ts +54 -0
- package/src/components/ProgressBar/index.ts +2 -0
- package/src/components/ProgressCircle/ProgressCircle.tsx +369 -0
- package/src/components/ProgressCircle/ProgressCircle.types.ts +26 -0
- package/src/components/ProgressCircle/ProgressCircle.variants.ts +88 -0
- package/src/components/ProgressCircle/index.ts +7 -0
- package/src/components/Quote/Quote.tsx +210 -0
- package/src/components/Quote/Quote.types.ts +73 -0
- package/src/components/Quote/Quote.variants.ts +106 -0
- package/src/components/Quote/index.ts +2 -0
- package/src/components/RadialStepper/RadialStepper.tsx +166 -0
- package/src/components/RadialStepper/RadialStepper.types.ts +77 -0
- package/src/components/RadialStepper/RadialStepper.variants.ts +122 -0
- package/src/components/RadialStepper/index.ts +7 -0
- package/src/components/RadioButton/RadioButton.tsx +237 -0
- package/src/components/RadioButton/RadioButton.types.ts +18 -0
- package/src/components/RadioButton/index.ts +2 -0
- package/src/components/RadioLabel/RadioLabel.tsx +157 -0
- package/src/components/RadioLabel/RadioLabel.types.ts +53 -0
- package/src/components/RadioLabel/RadioLabel.variants.ts +36 -0
- package/src/components/RadioLabel/index.ts +2 -0
- package/src/components/RangeSlider/RangeSlider.tsx +389 -0
- package/src/components/RangeSlider/RangeSlider.types.ts +38 -0
- package/src/components/RangeSlider/RangeSlider.variants.ts +27 -0
- package/src/components/RangeSlider/index.ts +2 -0
- package/src/components/Rating/Rating.tsx +246 -0
- package/src/components/Rating/Rating.types.ts +37 -0
- package/src/components/Rating/Rating.variants.ts +52 -0
- package/src/components/Rating/index.ts +8 -0
- package/src/components/RatingOverview/RatingOverview.tsx +170 -0
- package/src/components/RatingOverview/RatingOverview.types.ts +37 -0
- package/src/components/RatingOverview/RatingOverview.variants.ts +50 -0
- package/src/components/RatingOverview/index.ts +2 -0
- package/src/components/RatingStar/RatingStar.tsx +76 -0
- package/src/components/RatingStar/RatingStar.types.ts +18 -0
- package/src/components/RatingStar/RatingStar.variants.ts +34 -0
- package/src/components/RatingStar/index.ts +7 -0
- package/src/components/RichTextEditor/RichTextEditor.tsx +1341 -0
- package/src/components/RichTextEditor/RichTextEditor.types.ts +127 -0
- package/src/components/RichTextEditor/RichTextEditor.variants.ts +231 -0
- package/src/components/RichTextEditor/index.ts +6 -0
- package/src/components/ScatterChart/ScatterChart.tsx +164 -0
- package/src/components/ScatterChart/ScatterChart.types.ts +42 -0
- package/src/components/ScatterChart/ScatterChart.variants.ts +162 -0
- package/src/components/ScatterChart/index.ts +2 -0
- package/src/components/SdaiaLogoAnimation/BGSVG.tsx +216 -0
- package/src/components/SdaiaLogoAnimation/SdaiaLogoAnimation.tsx +120 -0
- package/src/components/SdaiaLogoAnimation/SdaiaLogoAnimation.types.ts +13 -0
- package/src/components/SdaiaLogoAnimation/SdaiaLogoAnimation.variants.ts +22 -0
- package/src/components/SdaiaLogoAnimation/index.ts +2 -0
- package/src/components/SdaiaTouch2dAnimation/SdaiaTouch2dAnimation.tsx +55 -0
- package/src/components/SdaiaTouch2dAnimation/SdaiaTouch2dAnimation.types.ts +12 -0
- package/src/components/SdaiaTouch2dAnimation/SdaiaTouch2dAnimation.variants.ts +28 -0
- package/src/components/SdaiaTouch2dAnimation/Star.tsx +82 -0
- package/src/components/SdaiaTouch2dAnimation/StarShape.tsx +78 -0
- package/src/components/SdaiaTouch2dAnimation/index.ts +6 -0
- package/src/components/SecondNavHeader/SecondNavHeader.tsx +80 -0
- package/src/components/SecondNavHeader/SecondNavHeader.types.ts +41 -0
- package/src/components/SecondNavHeader/SecondNavHeader.variants.ts +42 -0
- package/src/components/SecondNavHeader/index.ts +2 -0
- package/src/components/Select/Select.tsx +351 -0
- package/src/components/Select/Select.types.ts +102 -0
- package/src/components/Select/Select.variants.ts +111 -0
- package/src/components/Select/index.ts +2 -0
- package/src/components/SelectMenuItem/SelectMenuItem.tsx +132 -0
- package/src/components/SelectMenuItem/SelectMenuItem.types.ts +47 -0
- package/src/components/SelectMenuItem/SelectMenuItem.variants.ts +56 -0
- package/src/components/SelectMenuItem/index.ts +2 -0
- package/src/components/SeriesLabel/SeriesLabel.tsx +76 -0
- package/src/components/SeriesLabel/SeriesLabel.types.ts +27 -0
- package/src/components/SeriesLabel/SeriesLabel.variants.ts +84 -0
- package/src/components/SeriesLabel/index.ts +2 -0
- package/src/components/Signature/Signature.tsx +905 -0
- package/src/components/Signature/Signature.types.ts +68 -0
- package/src/components/Signature/Signature.variants.ts +115 -0
- package/src/components/Signature/index.ts +2 -0
- package/src/components/Skeleton/Skeleton.tsx +21 -0
- package/src/components/Skeleton/Skeleton.types.ts +15 -0
- package/src/components/Skeleton/Skeleton.variants.ts +14 -0
- package/src/components/Skeleton/index.ts +2 -0
- package/src/components/SkeletonAvatar/SkeletonAvatar.tsx +21 -0
- package/src/components/SkeletonAvatar/SkeletonAvatar.types.ts +15 -0
- package/src/components/SkeletonAvatar/SkeletonAvatar.variants.ts +14 -0
- package/src/components/SkeletonAvatar/index.ts +2 -0
- package/src/components/SlideoutMenu/SlideoutMenu.tsx +225 -0
- package/src/components/SlideoutMenu/SlideoutMenu.types.ts +39 -0
- package/src/components/SlideoutMenu/SlideoutMenuDivider.tsx +10 -0
- package/src/components/SlideoutMenu/SlideoutMenuSection.tsx +39 -0
- package/src/components/SlideoutMenu/index.ts +5 -0
- package/src/components/SlideoutMenuFooter/SlideoutMenuFooter.tsx +96 -0
- package/src/components/SlideoutMenuFooter/SlideoutMenuFooter.types.ts +28 -0
- package/src/components/SlideoutMenuFooter/SlideoutMenuFooter.variants.ts +49 -0
- package/src/components/SlideoutMenuFooter/index.ts +6 -0
- package/src/components/SlideoutMenuHeader/SlideoutMenuHeader.tsx +83 -0
- package/src/components/SlideoutMenuHeader/SlideoutMenuHeader.types.ts +19 -0
- package/src/components/SlideoutMenuHeader/SlideoutMenuHeader.variants.ts +78 -0
- package/src/components/SlideoutMenuHeader/index.ts +2 -0
- package/src/components/Slider/Slider.tsx +259 -0
- package/src/components/Slider/Slider.types.ts +22 -0
- package/src/components/Slider/Slider.variants.ts +23 -0
- package/src/components/Slider/index.ts +2 -0
- package/src/components/Sparkline/Sparkline.tsx +130 -0
- package/src/components/Sparkline/Sparkline.types.ts +36 -0
- package/src/components/Sparkline/Sparkline.variants.ts +118 -0
- package/src/components/Sparkline/index.ts +2 -0
- package/src/components/StatusDot/StatusDot.tsx +82 -0
- package/src/components/StatusDot/StatusDot.types.ts +35 -0
- package/src/components/StatusDot/StatusDot.variants.ts +66 -0
- package/src/components/StatusDot/index.ts +8 -0
- package/src/components/StructuredList/StructuredList.tsx +79 -0
- package/src/components/StructuredList/StructuredList.types.ts +27 -0
- package/src/components/StructuredList/index.ts +2 -0
- package/src/components/StructuredListGroup/StructuredListGroup.tsx +76 -0
- package/src/components/StructuredListGroup/StructuredListGroup.types.ts +27 -0
- package/src/components/StructuredListGroup/StructuredListGroup.variants.ts +14 -0
- package/src/components/StructuredListGroup/index.ts +5 -0
- package/src/components/StructuredListHeader/StructuredListHeader.tsx +98 -0
- package/src/components/StructuredListHeader/StructuredListHeader.types.ts +26 -0
- package/src/components/StructuredListHeader/StructuredListHeader.variants.ts +24 -0
- package/src/components/StructuredListHeader/index.ts +5 -0
- package/src/components/StructuredListRow/StructuredListRow.tsx +144 -0
- package/src/components/StructuredListRow/StructuredListRow.types.ts +37 -0
- package/src/components/StructuredListRow/StructuredListRow.variants.ts +53 -0
- package/src/components/StructuredListRow/index.ts +6 -0
- package/src/components/SubHeaderItem/SubHeaderItem.tsx +37 -0
- package/src/components/SubHeaderItem/SubHeaderItem.types.ts +20 -0
- package/src/components/SubHeaderItem/SubHeaderItem.variants.ts +23 -0
- package/src/components/SubHeaderItem/index.ts +2 -0
- package/src/components/Switch/Switch.tsx +138 -0
- package/src/components/Switch/Switch.types.ts +18 -0
- package/src/components/Switch/Switch.variants.ts +49 -0
- package/src/components/Switch/index.ts +2 -0
- package/src/components/SwitchLabel/SwitchLabel.tsx +114 -0
- package/src/components/SwitchLabel/SwitchLabel.types.ts +27 -0
- package/src/components/SwitchLabel/SwitchLabel.variants.ts +28 -0
- package/src/components/SwitchLabel/index.ts +2 -0
- package/src/components/Tab/Tab.tsx +92 -0
- package/src/components/Tab/Tab.types.ts +34 -0
- package/src/components/Tab/Tab.variants.ts +79 -0
- package/src/components/Tab/index.ts +2 -0
- package/src/components/Table/Table.tsx +353 -0
- package/src/components/Table/Table.types.ts +80 -0
- package/src/components/Table/Table.variants.ts +110 -0
- package/src/components/Table/index.ts +10 -0
- package/src/components/TableOfContent/TableOfContent.tsx +33 -0
- package/src/components/TableOfContent/TableOfContent.types.ts +15 -0
- package/src/components/TableOfContent/TableOfContent.variants.ts +27 -0
- package/src/components/TableOfContent/index.ts +2 -0
- package/src/components/TableOfContentItem/TableOfContentItem.tsx +85 -0
- package/src/components/TableOfContentItem/TableOfContentItem.types.ts +23 -0
- package/src/components/TableOfContentItem/TableOfContentItem.variants.ts +109 -0
- package/src/components/TableOfContentItem/index.ts +2 -0
- package/src/components/TableOfContentList/TableOfContentList.tsx +60 -0
- package/src/components/TableOfContentList/TableOfContentList.types.ts +39 -0
- package/src/components/TableOfContentList/TableOfContentList.variants.ts +6 -0
- package/src/components/TableOfContentList/index.ts +2 -0
- package/src/components/Tabs/Tabs.tsx +80 -0
- package/src/components/Tabs/Tabs.types.ts +36 -0
- package/src/components/Tabs/Tabs.variants.ts +23 -0
- package/src/components/Tabs/index.ts +2 -0
- package/src/components/Tag/Tag.tsx +114 -0
- package/src/components/Tag/Tag.types.ts +32 -0
- package/src/components/Tag/Tag.variants.ts +57 -0
- package/src/components/Tag/index.ts +2 -0
- package/src/components/TagCount/TagCount.tsx +45 -0
- package/src/components/TagCount/TagCount.types.ts +21 -0
- package/src/components/TagCount/TagCount.variants.ts +26 -0
- package/src/components/TagCount/index.ts +7 -0
- package/src/components/TextArea/TextArea.tsx +130 -0
- package/src/components/TextArea/TextArea.types.ts +20 -0
- package/src/components/TextArea/index.ts +2 -0
- package/src/components/TextInput/TextInput.tsx +568 -0
- package/src/components/TextInput/TextInput.types.ts +87 -0
- package/src/components/TextInput/TextInput.variants.ts +89 -0
- package/src/components/TextInput/TextInputTag.tsx +43 -0
- package/src/components/TextInput/TextInputTag.types.ts +14 -0
- package/src/components/TextInput/index.ts +4 -0
- package/src/components/Tooltip/Tooltip.tsx +229 -0
- package/src/components/Tooltip/Tooltip.types.ts +48 -0
- package/src/components/Tooltip/Tooltip.variants.ts +141 -0
- package/src/components/Tooltip/index.ts +10 -0
- package/src/components/TreeView/TreeView.tsx +130 -0
- package/src/components/TreeView/TreeView.types.ts +42 -0
- package/src/components/TreeView/TreeView.variants.ts +6 -0
- package/src/components/TreeView/index.ts +3 -0
- package/src/components/TreeViewItem/TreeViewItem.tsx +108 -0
- package/src/components/TreeViewItem/TreeViewItem.types.ts +34 -0
- package/src/components/TreeViewItem/TreeViewItem.variants.ts +40 -0
- package/src/components/TreeViewItem/index.ts +3 -0
- package/src/components/VerticalTabs/VerticalTabs.tsx +84 -0
- package/src/components/VerticalTabs/VerticalTabs.types.ts +37 -0
- package/src/components/VerticalTabs/VerticalTabs.variants.ts +43 -0
- package/src/components/VerticalTabs/index.ts +6 -0
- package/src/components/VideoPlayer/VideoPlayer.tsx +470 -0
- package/src/components/VideoPlayer/VideoPlayer.types.ts +59 -0
- package/src/components/VideoPlayer/VideoPlayer.variants.ts +134 -0
- package/src/components/VideoPlayer/index.ts +2 -0
- package/src/components/XAxis/XAxis.tsx +67 -0
- package/src/components/XAxis/XAxis.types.ts +30 -0
- package/src/components/XAxis/XAxis.variants.ts +77 -0
- package/src/components/XAxis/index.ts +2 -0
- package/src/components/YAxis/YAxis.tsx +78 -0
- package/src/components/YAxis/YAxis.types.ts +41 -0
- package/src/components/YAxis/YAxis.variants.ts +94 -0
- package/src/components/YAxis/index.ts +2 -0
- package/src/dga-icons.ts +18 -0
- package/src/hooks/usePresence.ts +73 -0
- package/src/icons/AIIcon.tsx +34 -0
- package/src/icons/AaIcon.tsx +34 -0
- package/src/icons/AlertCircle02Icon.tsx +28 -0
- package/src/icons/AlertCircleIcon.tsx +29 -0
- package/src/icons/AlertCircleSVG.tsx +19 -0
- package/src/icons/AlertCircleWarningIcon.tsx +37 -0
- package/src/icons/AlertTriangleIcon.tsx +27 -0
- package/src/icons/AlignCenterIcon.tsx +31 -0
- package/src/icons/AlignLeftIcon.tsx +31 -0
- package/src/icons/AlignRightIcon.tsx +31 -0
- package/src/icons/ArrowDownIcon.tsx +27 -0
- package/src/icons/ArrowDownLeft01Icon.tsx +32 -0
- package/src/icons/ArrowDownSVG.tsx +16 -0
- package/src/icons/ArrowIcon.tsx +38 -0
- package/src/icons/ArrowLeft01Icon.tsx +23 -0
- package/src/icons/ArrowLeft02SVG.tsx +19 -0
- package/src/icons/ArrowLeftIcon.tsx +28 -0
- package/src/icons/ArrowRight01Icon.tsx +23 -0
- package/src/icons/ArrowRight01SVG.tsx +16 -0
- package/src/icons/ArrowRightIcon.tsx +28 -0
- package/src/icons/ArrowUpIcon.tsx +27 -0
- package/src/icons/ArrowUpRight01Icon.tsx +31 -0
- package/src/icons/ArrowUpSVG.tsx +16 -0
- package/src/icons/AtIcon.tsx +33 -0
- package/src/icons/BeakBottom.tsx +13 -0
- package/src/icons/BeakDown.tsx +29 -0
- package/src/icons/BeakLeft.tsx +13 -0
- package/src/icons/BeakRight.tsx +11 -0
- package/src/icons/BeakTop.tsx +13 -0
- package/src/icons/BeakUp.tsx +23 -0
- package/src/icons/BellCircleIcon.tsx +33 -0
- package/src/icons/BellIcon.tsx +27 -0
- package/src/icons/BoldIcon.tsx +33 -0
- package/src/icons/CalendarIcon.tsx +35 -0
- package/src/icons/ChartsIcon.tsx +25 -0
- package/src/icons/CheckCircleIcon.tsx +29 -0
- package/src/icons/ChevronDownIcon.tsx +30 -0
- package/src/icons/ChevronDownSmIcon.tsx +34 -0
- package/src/icons/ChevronLeftIcon.tsx +20 -0
- package/src/icons/ChevronRightIcon.tsx +36 -0
- package/src/icons/ClearIcon.tsx +34 -0
- package/src/icons/ClockIcon.tsx +34 -0
- package/src/icons/CloseIcon.tsx +29 -0
- package/src/icons/CloudUploadIcon.tsx +21 -0
- package/src/icons/CodeSnippetChevronDownIcon.tsx +25 -0
- package/src/icons/CodeSnippetCopyIcon.tsx +24 -0
- package/src/icons/CodeSnippetStarIcon.tsx +25 -0
- package/src/icons/ColorSquareIcon.tsx +42 -0
- package/src/icons/ComponentsIcon.tsx +25 -0
- package/src/icons/DGALogoSVG.tsx +133 -0
- package/src/icons/DeleteIcon.tsx +24 -0
- package/src/icons/DownloadIcon.tsx +29 -0
- package/src/icons/DragHandleVerticalIcon.tsx +23 -0
- package/src/icons/FeedbackEmojiDislikeIcon.tsx +20 -0
- package/src/icons/FeedbackEmojiLikeIcon.tsx +20 -0
- package/src/icons/FeedbackEmojiNeutralIcon.tsx +20 -0
- package/src/icons/FeedbackThumbDislikeFilledIcon.tsx +26 -0
- package/src/icons/FeedbackThumbDislikeIcon.tsx +20 -0
- package/src/icons/FeedbackThumbLikeFilledIcon.tsx +20 -0
- package/src/icons/FeedbackThumbLikeIcon.tsx +20 -0
- package/src/icons/FileUploadItemCloseIcon.tsx +30 -0
- package/src/icons/FileUploadItemEmptyFileIcon.tsx +27 -0
- package/src/icons/FileUploadItemPdfIcon.tsx +52 -0
- package/src/icons/FilterFunnelIcon.tsx +34 -0
- package/src/icons/FilterIcon.tsx +31 -0
- package/src/icons/FitIcon.tsx +22 -0
- package/src/icons/FolderFilledIcon.tsx +25 -0
- package/src/icons/FolderIcon.tsx +28 -0
- package/src/icons/FoundationsIcon.tsx +25 -0
- package/src/icons/FullscreenExitIcon.tsx +71 -0
- package/src/icons/FullscreenIcon.tsx +70 -0
- package/src/icons/GoBackward10Icon.tsx +27 -0
- package/src/icons/GoForward10Icon.tsx +27 -0
- package/src/icons/GridSquaresIcon.tsx +40 -0
- package/src/icons/HamburgerIcon.tsx +28 -0
- package/src/icons/HelpCircleIcon.tsx +28 -0
- package/src/icons/HomeIcon.tsx +22 -0
- package/src/icons/HomeSVG.tsx +32 -0
- package/src/icons/IconFactory.ts +157 -0
- package/src/icons/Image01SVG.tsx +18 -0
- package/src/icons/ImageIcon.tsx +31 -0
- package/src/icons/InfoCircleIcon.tsx +31 -0
- package/src/icons/InfoCircleSVG.tsx +20 -0
- package/src/icons/InfoIcon.tsx +27 -0
- package/src/icons/ItalicIcon.tsx +31 -0
- package/src/icons/LearnMoreArrowIcon.tsx +22 -0
- package/src/icons/LinkCircleSVG.tsx +58 -0
- package/src/icons/LinkIcon.tsx +33 -0
- package/src/icons/ListLinesIcon.tsx +40 -0
- package/src/icons/LockCircleSVG.tsx +60 -0
- package/src/icons/LockIcon.tsx +36 -0
- package/src/icons/Logout02Icon.tsx +19 -0
- package/src/icons/MicrophoneIcon.tsx +20 -0
- package/src/icons/MinusIcon.tsx +40 -0
- package/src/icons/MoreHorizontalIcon.tsx +24 -0
- package/src/icons/MoreVerticalIcon.tsx +40 -0
- package/src/icons/NextIcon.tsx +44 -0
- package/src/icons/PDFSvg.tsx +39 -0
- package/src/icons/PatternsIcon.tsx +21 -0
- package/src/icons/PauseIcon.tsx +30 -0
- package/src/icons/PencilIcon.tsx +36 -0
- package/src/icons/PlayButtonCardIcon.tsx +41 -0
- package/src/icons/PlayCenterIcon.tsx +45 -0
- package/src/icons/PlayIcon.tsx +27 -0
- package/src/icons/PlayIconSolid.tsx +33 -0
- package/src/icons/PlayIconStroke.tsx +22 -0
- package/src/icons/PlayIconTwotone.tsx +36 -0
- package/src/icons/PlayVideoIcon.tsx +31 -0
- package/src/icons/PlusCircleIcon.tsx +41 -0
- package/src/icons/PlusIcon.tsx +43 -0
- package/src/icons/PreviousIcon.tsx +44 -0
- package/src/icons/PrintIcon.tsx +25 -0
- package/src/icons/QuestionMarkGrayBgIcon.tsx +52 -0
- package/src/icons/QuestionMarkIcon.tsx +47 -0
- package/src/icons/RedoIcon.tsx +41 -0
- package/src/icons/SaudiFlagSVG.tsx +31 -0
- package/src/icons/SdaiaNavLogo.tsx +345 -0
- package/src/icons/SearchIcon.tsx +34 -0
- package/src/icons/SettingsIcon.tsx +25 -0
- package/src/icons/ShareIcon.tsx +26 -0
- package/src/icons/SidebarCollapseIcon.tsx +25 -0
- package/src/icons/SmileIcon.tsx +34 -0
- package/src/icons/SortIcon.tsx +20 -0
- package/src/icons/StarIcon.tsx +38 -0
- package/src/icons/StatusBadgeIcon.tsx +19 -0
- package/src/icons/TextTIcon.tsx +33 -0
- package/src/icons/Tick02Icon.tsx +32 -0
- package/src/icons/TickIcon.tsx +33 -0
- package/src/icons/TrashIcon.tsx +44 -0
- package/src/icons/UnderlineIcon.tsx +31 -0
- package/src/icons/UndoIcon.tsx +31 -0
- package/src/icons/UploadArrowIcon.tsx +40 -0
- package/src/icons/UserIcon.tsx +21 -0
- package/src/icons/VolumeHighIcon.tsx +27 -0
- package/src/icons/VolumeMuteIcon.tsx +53 -0
- package/src/icons/XCircleIcon.tsx +32 -0
- package/src/icons/XIcon.tsx +27 -0
- package/src/icons/XIconSVG.tsx +16 -0
- package/src/icons/XSmallIcon.tsx +29 -0
- package/src/icons/XSvg.tsx +18 -0
- package/src/icons/ZoomInIcon.tsx +25 -0
- package/src/icons/index.ts +5 -0
- package/src/index.ts +699 -0
- package/src/lib/cn.ts +42 -0
- package/src/styles/motion.css +120 -0
- package/src/styles.css +242 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* NavHeader — class constants
|
|
3
|
+
*
|
|
4
|
+
* Figma: node 5115:60220 "Nav Header". Matrix:
|
|
5
|
+
* type (3) × mobile (2) × rtl (2) = 12 symbols
|
|
6
|
+
*
|
|
7
|
+
* State model:
|
|
8
|
+
* - `menuOpen` (controlled) → toggles the dropdown panel / drawer
|
|
9
|
+
* - `type='default'` → bar only
|
|
10
|
+
* - `type='menu' | 'menu-compact'` → bar + optional dropdown/drawer
|
|
11
|
+
*
|
|
12
|
+
* All interactive states (hover/focus/active/disabled) live inside the
|
|
13
|
+
* composed sub-components (NavHeaderMenuItem, NavHeaderMenuButton,
|
|
14
|
+
* NavHeaderActions, TextInput, NavHeaderDropdownItem, NavHeaderMenuCard),
|
|
15
|
+
* so this file only covers the *layout* of the shell.
|
|
16
|
+
*
|
|
17
|
+
* Token mapping (values come from globals.css — no raw pixels except the
|
|
18
|
+
* Figma-spec drop-shadow, which has no named token):
|
|
19
|
+
* gap-spacing-xl → 16 px (desktop bar gap — one consistent value
|
|
20
|
+
* between every section: logo | items |
|
|
21
|
+
* search | actions)
|
|
22
|
+
* gap-spacing-md → 8 px (desktop inter-item gap)
|
|
23
|
+
* gap-spacing-lg → 12 px (mobile drawer gap)
|
|
24
|
+
* gap-spacing-3xl → 24 px (drawer section gap)
|
|
25
|
+
* py-spacing-md → 8 px (bar vertical padding)
|
|
26
|
+
* py-spacing-2xl → 20 px (drawer vertical padding)
|
|
27
|
+
* rounded-[8px] → Radius/radius-8
|
|
28
|
+
*
|
|
29
|
+
* Bar horizontal padding telescopes responsively so the bar feels right
|
|
30
|
+
* on a narrow preview *and* matches the Figma 80 px gutter at 1440 px:
|
|
31
|
+
* px-spacing-xl → 16 px (default / preview-narrow)
|
|
32
|
+
* md:px-spacing-3xl→ 24 px (md breakpoint)
|
|
33
|
+
* lg:px-spacing-6xl→ 48 px (lg breakpoint)
|
|
34
|
+
* xl:px-spacing-8xl→ 80 px (xl — matches Figma artboard exactly)
|
|
35
|
+
*
|
|
36
|
+
* The "gradually smaller" hierarchy:
|
|
37
|
+
* bar padding (16-80) > bar gap (16) > items gap (8)
|
|
38
|
+
* Each inner container is strictly smaller than the one wrapping it.
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
/* ── Bar (desktop vs mobile) ─────────────────────────────────────── */
|
|
42
|
+
/**
|
|
43
|
+
* Desktop bar — single horizontal row.
|
|
44
|
+
* bar height = py 8 × 2 + content height (logo is 56px with inner padding)
|
|
45
|
+
* The `w-full` + `max-w-full` lets the component fill whatever container
|
|
46
|
+
* the consumer puts it in. The inner `max-w-[1440px]` + `mx-auto` would
|
|
47
|
+
* be the consumer's responsibility if they want a capped layout.
|
|
48
|
+
*/
|
|
49
|
+
export const BAR_DESKTOP =
|
|
50
|
+
[
|
|
51
|
+
'w-full',
|
|
52
|
+
'bg-white dark:bg-[rgba(22,22,22,1)]',
|
|
53
|
+
'flex gap-spacing-xl items-center justify-center',
|
|
54
|
+
'px-spacing-xl md:px-spacing-3xl lg:px-spacing-6xl xl:px-spacing-8xl',
|
|
55
|
+
'py-spacing-md',
|
|
56
|
+
].join(' ');
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Mobile bar — logo on one edge, hamburger/× on the other.
|
|
60
|
+
* `justify-between` distributes them to the edges regardless of RTL
|
|
61
|
+
* because it's a direction-agnostic alignment.
|
|
62
|
+
*/
|
|
63
|
+
export const BAR_MOBILE =
|
|
64
|
+
[
|
|
65
|
+
'w-full',
|
|
66
|
+
'bg-white dark:bg-[rgba(22,22,22,1)]',
|
|
67
|
+
'flex items-center justify-between',
|
|
68
|
+
'px-spacing-xl py-spacing-md',
|
|
69
|
+
].join(' ');
|
|
70
|
+
|
|
71
|
+
/* ── Menu-items row (desktop) ───────────────────────────────────── */
|
|
72
|
+
/**
|
|
73
|
+
* Inline row of `<NavHeaderMenuItem />` buttons. Spacing between this
|
|
74
|
+
* row and the next section (search) is supplied by the bar's own
|
|
75
|
+
* `gap-spacing-xl` — we don't add extra trailing padding here, otherwise
|
|
76
|
+
* one inter-section gap would be larger than the others and the
|
|
77
|
+
* "consistent" spacing rule breaks.
|
|
78
|
+
*/
|
|
79
|
+
export const ITEMS_ROW =
|
|
80
|
+
'flex gap-spacing-md items-center shrink-0';
|
|
81
|
+
|
|
82
|
+
/* ── Search column (desktop) ─────────────────────────────────────── */
|
|
83
|
+
/**
|
|
84
|
+
* Elastic middle column — the search input expands to fill remaining
|
|
85
|
+
* horizontal space between the menu items and the actions. The
|
|
86
|
+
* `min-w-[160px]` floor guarantees the input remains visible even when
|
|
87
|
+
* the bar is rendered inside a constrained preview / smaller viewport;
|
|
88
|
+
* without it `flex-1 min-w-0` would let the column collapse to zero
|
|
89
|
+
* width and the search would silently disappear.
|
|
90
|
+
*/
|
|
91
|
+
export const SEARCH_DESKTOP =
|
|
92
|
+
'flex flex-1 min-w-[160px] items-center';
|
|
93
|
+
|
|
94
|
+
/* ── Actions cluster (desktop) ──────────────────────────────────── */
|
|
95
|
+
export const ACTIONS_DESKTOP = 'flex items-center shrink-0';
|
|
96
|
+
|
|
97
|
+
/* ── Desktop menu panel (dropdown) ──────────────────────────────── */
|
|
98
|
+
/**
|
|
99
|
+
* The dropdown panel floats below the bar. It uses `absolute` so it
|
|
100
|
+
* overlays the page content beneath. `inset-x-spacing-8xl` matches the
|
|
101
|
+
* same horizontal gutter the bar uses, keeping the left/right edges
|
|
102
|
+
* aligned with the first and last bar items.
|
|
103
|
+
*
|
|
104
|
+
* Logical `inset-x-*` is used (not `left-*`/`right-*`) so RTL is a no-op.
|
|
105
|
+
* The shadow is the Figma `Shadows/shadow-lg` token flattened to its
|
|
106
|
+
* two drop-shadow layers; it has no named Tailwind counterpart in this
|
|
107
|
+
* design system, so it stays as an arbitrary value with the Figma
|
|
108
|
+
* variable name in the comment above this file.
|
|
109
|
+
*/
|
|
110
|
+
export const MENU_PANEL_DESKTOP =
|
|
111
|
+
[
|
|
112
|
+
'absolute top-full',
|
|
113
|
+
// Mirror the bar's responsive horizontal padding so the panel's
|
|
114
|
+
// left/right edges line up with the first/last bar items at every
|
|
115
|
+
// breakpoint — i.e. the dropdown is the same width as the navbar's
|
|
116
|
+
// content area. Using logical `start/end` keeps RTL automatic.
|
|
117
|
+
'start-spacing-xl end-spacing-xl',
|
|
118
|
+
'md:start-spacing-3xl md:end-spacing-3xl',
|
|
119
|
+
'lg:start-spacing-6xl lg:end-spacing-6xl',
|
|
120
|
+
'xl:start-spacing-8xl xl:end-spacing-8xl',
|
|
121
|
+
// No `mt-*` — the panel sits flush against the bar's bottom edge
|
|
122
|
+
// (matches the Figma "menu open" state where the dropdown reads as
|
|
123
|
+
// a single connected surface with the bar above it).
|
|
124
|
+
'bg-white dark:bg-[rgba(31,42,55,1)]',
|
|
125
|
+
'flex items-start gap-spacing-none',
|
|
126
|
+
'px-spacing-4xl py-spacing-3xl',
|
|
127
|
+
'rounded-b-[8px]',
|
|
128
|
+
'shadow-[0px_12px_16px_0px_rgba(16,24,40,0.08),0px_4px_6px_0px_rgba(16,24,40,0.03)]',
|
|
129
|
+
'z-40',
|
|
130
|
+
].join(' ');
|
|
131
|
+
|
|
132
|
+
/**
|
|
133
|
+
* Column inside the desktop menu panel — each direct child of
|
|
134
|
+
* `menuContent` is wrapped in this so the consumer can pass 1, 2, 3, or
|
|
135
|
+
* 4 columns and they all distribute evenly.
|
|
136
|
+
*/
|
|
137
|
+
export const MENU_PANEL_COLUMN =
|
|
138
|
+
'flex flex-1 min-w-0 flex-col gap-spacing-none items-start';
|
|
139
|
+
|
|
140
|
+
/* ── Mobile drawer ──────────────────────────────────────────────── */
|
|
141
|
+
/**
|
|
142
|
+
* The mobile drawer floats below the bar and fills the viewport width.
|
|
143
|
+
* Unlike the desktop dropdown (which is pinned inside the bar's gutter),
|
|
144
|
+
* the drawer stretches edge-to-edge and uses the neutral body
|
|
145
|
+
* background so separators are visible.
|
|
146
|
+
*/
|
|
147
|
+
export const DRAWER_MOBILE =
|
|
148
|
+
[
|
|
149
|
+
'absolute inset-x-0 top-full',
|
|
150
|
+
'bg-color-background-neutral-50 dark:bg-[rgba(22,22,22,1)]',
|
|
151
|
+
'flex flex-col gap-spacing-3xl items-stretch',
|
|
152
|
+
'px-spacing-xl py-spacing-2xl',
|
|
153
|
+
'shadow-[0px_12px_16px_0px_rgba(16,24,40,0.08),0px_4px_6px_0px_rgba(16,24,40,0.03)]',
|
|
154
|
+
'z-40',
|
|
155
|
+
].join(' ');
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* Scrolling body of the drawer — holds search, the interleaved menu
|
|
159
|
+
* items + dropdown content.
|
|
160
|
+
*/
|
|
161
|
+
export const DRAWER_BODY =
|
|
162
|
+
'flex flex-col gap-spacing-xs items-stretch';
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Mobile footer block wrapper. `gap-spacing-3xl` matches the drawer
|
|
166
|
+
* outer gap so the footer sits a consistent distance from the last
|
|
167
|
+
* content row.
|
|
168
|
+
*/
|
|
169
|
+
export const DRAWER_FOOTER =
|
|
170
|
+
'flex flex-col gap-spacing-3xl items-stretch px-spacing-lg';
|
|
171
|
+
|
|
172
|
+
/* ── Root wrapper ───────────────────────────────────────────────── */
|
|
173
|
+
/**
|
|
174
|
+
* The component renders a positioned root so the desktop dropdown /
|
|
175
|
+
* mobile drawer can use `absolute` positioning relative to the bar
|
|
176
|
+
* without leaking into the consumer's layout.
|
|
177
|
+
*/
|
|
178
|
+
export const ROOT = 'relative min-w-[320px] w-full';
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { cn } from '../../lib/cn';
|
|
5
|
+
import { Button } from '../Button';
|
|
6
|
+
import { Avatar } from '../Avatar';
|
|
7
|
+
import { ChevronDownIcon, Logout02Icon } from '../../icons/IconFactory';
|
|
8
|
+
import type { NavHeaderActionsProps } from './NavHeaderActions.types';
|
|
9
|
+
import {
|
|
10
|
+
IDENTITY_EMAIL,
|
|
11
|
+
IDENTITY_NAME,
|
|
12
|
+
IDENTITY_TEXT_COL,
|
|
13
|
+
IDENTITY_WRAP,
|
|
14
|
+
ROOT_LOGGED_IN_DESKTOP,
|
|
15
|
+
ROOT_LOGGED_IN_MOBILE,
|
|
16
|
+
ROOT_LOGGED_OUT_DESKTOP,
|
|
17
|
+
ROOT_LOGGED_OUT_MOBILE,
|
|
18
|
+
TRAILING_ICON_BUTTON,
|
|
19
|
+
TRAILING_ICON_WRAP,
|
|
20
|
+
} from './NavHeaderActions.variants';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* NavHeaderActions
|
|
24
|
+
*
|
|
25
|
+
* Header-bar actions cluster. Two modes:
|
|
26
|
+
*
|
|
27
|
+
* loggedIn=false → [ Log in ] [ Sign Up ] (stacked on `mobile`)
|
|
28
|
+
* loggedIn=true → Avatar · Name/email · Chevron (Logout icon on `mobile`)
|
|
29
|
+
*
|
|
30
|
+
* Layout is intentionally flex-based without any `dir` awareness in JSX —
|
|
31
|
+
* an ambient `dir="rtl"` on `<html>` mirrors the flex order automatically,
|
|
32
|
+
* and all reused sub-components (Button, Avatar) already use logical
|
|
33
|
+
* properties (`ps-*`/`pe-*`) internally.
|
|
34
|
+
*/
|
|
35
|
+
export const NavHeaderActions = forwardRef<HTMLDivElement, NavHeaderActionsProps>(
|
|
36
|
+
function NavHeaderActions(
|
|
37
|
+
{
|
|
38
|
+
loggedIn = false,
|
|
39
|
+
mobile = false,
|
|
40
|
+
name,
|
|
41
|
+
email,
|
|
42
|
+
avatarSrc,
|
|
43
|
+
avatarAlt = '',
|
|
44
|
+
avatarInitials,
|
|
45
|
+
loginLabel = 'Log in',
|
|
46
|
+
signUpLabel = 'Sign Up',
|
|
47
|
+
onLoginClick,
|
|
48
|
+
onSignUpClick,
|
|
49
|
+
onMenuClick,
|
|
50
|
+
onLogoutClick,
|
|
51
|
+
className,
|
|
52
|
+
...rest
|
|
53
|
+
},
|
|
54
|
+
ref,
|
|
55
|
+
) {
|
|
56
|
+
/* ── Logged-out: two auth buttons ──────────────────────────── */
|
|
57
|
+
if (!loggedIn) {
|
|
58
|
+
const rootClass = mobile
|
|
59
|
+
? ROOT_LOGGED_OUT_MOBILE
|
|
60
|
+
: ROOT_LOGGED_OUT_DESKTOP;
|
|
61
|
+
|
|
62
|
+
return (
|
|
63
|
+
<div
|
|
64
|
+
ref={ref}
|
|
65
|
+
data-slot="nav-header-actions"
|
|
66
|
+
data-logged-in="false"
|
|
67
|
+
data-mobile={mobile}
|
|
68
|
+
className={cn(rootClass, className)}
|
|
69
|
+
{...rest}
|
|
70
|
+
>
|
|
71
|
+
<Button
|
|
72
|
+
data-slot="nav-header-login"
|
|
73
|
+
variant="neutral"
|
|
74
|
+
size="lg"
|
|
75
|
+
fullWidth={mobile}
|
|
76
|
+
onClick={onLoginClick}
|
|
77
|
+
>
|
|
78
|
+
{loginLabel}
|
|
79
|
+
</Button>
|
|
80
|
+
<Button
|
|
81
|
+
data-slot="nav-header-signup"
|
|
82
|
+
variant="primary"
|
|
83
|
+
size="lg"
|
|
84
|
+
fullWidth={mobile}
|
|
85
|
+
onClick={onSignUpClick}
|
|
86
|
+
>
|
|
87
|
+
{signUpLabel}
|
|
88
|
+
</Button>
|
|
89
|
+
</div>
|
|
90
|
+
);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/* ── Logged-in: avatar + identity + trailing icon ──────────── */
|
|
94
|
+
const rootClass = mobile ? ROOT_LOGGED_IN_MOBILE : ROOT_LOGGED_IN_DESKTOP;
|
|
95
|
+
|
|
96
|
+
// Pick the trailing icon + its click handler based on layout.
|
|
97
|
+
const trailingIcon = mobile ? (
|
|
98
|
+
<Logout02Icon aria-hidden="true" />
|
|
99
|
+
) : (
|
|
100
|
+
<ChevronDownIcon aria-hidden="true" />
|
|
101
|
+
);
|
|
102
|
+
const trailingHandler = mobile ? onLogoutClick : onMenuClick;
|
|
103
|
+
const trailingLabel = mobile ? 'Log out' : 'Open profile menu';
|
|
104
|
+
const trailingSlot = mobile ? 'nav-header-logout' : 'nav-header-menu';
|
|
105
|
+
const isInteractive = typeof trailingHandler === 'function';
|
|
106
|
+
|
|
107
|
+
return (
|
|
108
|
+
<div
|
|
109
|
+
ref={ref}
|
|
110
|
+
data-slot="nav-header-actions"
|
|
111
|
+
data-logged-in="true"
|
|
112
|
+
data-mobile={mobile}
|
|
113
|
+
className={cn(rootClass, className)}
|
|
114
|
+
{...rest}
|
|
115
|
+
>
|
|
116
|
+
<Avatar
|
|
117
|
+
data-slot="nav-header-avatar"
|
|
118
|
+
size="lg"
|
|
119
|
+
shape="round"
|
|
120
|
+
type={avatarSrc ? 'image' : avatarInitials ? 'initials' : 'icon'}
|
|
121
|
+
src={avatarSrc}
|
|
122
|
+
alt={avatarAlt}
|
|
123
|
+
initials={avatarInitials}
|
|
124
|
+
/>
|
|
125
|
+
|
|
126
|
+
<div data-slot="nav-header-identity" className={IDENTITY_WRAP}>
|
|
127
|
+
<div className={IDENTITY_TEXT_COL}>
|
|
128
|
+
{name ? (
|
|
129
|
+
<p data-slot="nav-header-name" className={IDENTITY_NAME}>
|
|
130
|
+
{name}
|
|
131
|
+
</p>
|
|
132
|
+
) : null}
|
|
133
|
+
{email ? (
|
|
134
|
+
<p data-slot="nav-header-email" className={IDENTITY_EMAIL}>
|
|
135
|
+
{email}
|
|
136
|
+
</p>
|
|
137
|
+
) : null}
|
|
138
|
+
</div>
|
|
139
|
+
|
|
140
|
+
{isInteractive ? (
|
|
141
|
+
<button
|
|
142
|
+
type="button"
|
|
143
|
+
data-slot={trailingSlot}
|
|
144
|
+
aria-label={trailingLabel}
|
|
145
|
+
onClick={trailingHandler}
|
|
146
|
+
className={TRAILING_ICON_BUTTON}
|
|
147
|
+
>
|
|
148
|
+
{trailingIcon}
|
|
149
|
+
</button>
|
|
150
|
+
) : (
|
|
151
|
+
<span data-slot={trailingSlot} className={TRAILING_ICON_WRAP}>
|
|
152
|
+
{trailingIcon}
|
|
153
|
+
</span>
|
|
154
|
+
)}
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
);
|
|
158
|
+
},
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
NavHeaderActions.displayName = 'NavHeaderActions';
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import type { HTMLAttributes } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Props for the `NavHeaderActions` cluster that sits inside a header bar.
|
|
5
|
+
*
|
|
6
|
+
* Two high-level modes, controlled by `loggedIn`:
|
|
7
|
+
* - `false` → renders Log in (outlined) + Sign Up (primary) buttons.
|
|
8
|
+
* - `true` → renders the authenticated identity block: Avatar + name/email
|
|
9
|
+
* + a trailing action icon.
|
|
10
|
+
*
|
|
11
|
+
* The `mobile` flag is a layout variant (not a viewport query): it stacks
|
|
12
|
+
* the auth buttons vertically full-width, and swaps the trailing chevron
|
|
13
|
+
* for a logout icon on the logged-in variant. RTL is inherited from the
|
|
14
|
+
* ambient `dir="rtl"` — no per-component prop.
|
|
15
|
+
*/
|
|
16
|
+
export interface NavHeaderActionsProps extends HTMLAttributes<HTMLDivElement> {
|
|
17
|
+
/** When true, show the authenticated identity variant. @default false */
|
|
18
|
+
loggedIn?: boolean;
|
|
19
|
+
/**
|
|
20
|
+
* Force the mobile layout (stacked buttons / logout trailing icon).
|
|
21
|
+
* Independent from viewport — the parent header decides when to pass it.
|
|
22
|
+
* @default false
|
|
23
|
+
*/
|
|
24
|
+
mobile?: boolean;
|
|
25
|
+
|
|
26
|
+
/* ─── Logged-in content ─────────────────────────────────────── */
|
|
27
|
+
/** User's display name shown on the first line. */
|
|
28
|
+
name?: string;
|
|
29
|
+
/** User's email shown on the second line. */
|
|
30
|
+
email?: string;
|
|
31
|
+
/** Avatar image `src`. */
|
|
32
|
+
avatarSrc?: string;
|
|
33
|
+
/** Avatar image `alt` text. */
|
|
34
|
+
avatarAlt?: string;
|
|
35
|
+
/** Initials fallback (only used when `avatarSrc` is omitted). */
|
|
36
|
+
avatarInitials?: string;
|
|
37
|
+
|
|
38
|
+
/* ─── Logged-out labels ─────────────────────────────────────── */
|
|
39
|
+
/** Log-in button label. @default 'Log in' */
|
|
40
|
+
loginLabel?: string;
|
|
41
|
+
/** Sign-up button label. @default 'Sign Up' */
|
|
42
|
+
signUpLabel?: string;
|
|
43
|
+
|
|
44
|
+
/* ─── Handlers ──────────────────────────────────────────────── */
|
|
45
|
+
/** Click handler for the Log in button (logged-out). */
|
|
46
|
+
onLoginClick?: () => void;
|
|
47
|
+
/** Click handler for the Sign Up button (logged-out). */
|
|
48
|
+
onSignUpClick?: () => void;
|
|
49
|
+
/**
|
|
50
|
+
* Click handler for the desktop trailing chevron (logged-in, non-mobile).
|
|
51
|
+
* When provided, the chevron renders as a focusable button; otherwise
|
|
52
|
+
* it is a static decorative icon.
|
|
53
|
+
*/
|
|
54
|
+
onMenuClick?: () => void;
|
|
55
|
+
/**
|
|
56
|
+
* Click handler for the mobile logout icon (logged-in, mobile).
|
|
57
|
+
* When provided, the icon renders as a focusable button; otherwise
|
|
58
|
+
* it is a static decorative icon.
|
|
59
|
+
*/
|
|
60
|
+
onLogoutClick?: () => void;
|
|
61
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Class-name maps for NavHeaderActions.
|
|
3
|
+
*
|
|
4
|
+
* Token-driven — spacing/typography come from `globals.css` custom properties
|
|
5
|
+
* so a consumer who installs the package on a fresh project gets the same
|
|
6
|
+
* layout automatically. The 220 px container width is the only hardcoded
|
|
7
|
+
* dimension and comes straight from the Figma spec; no token covers it.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
/** Root flex container — layout changes per (loggedIn, mobile). */
|
|
11
|
+
export const ROOT_LOGGED_OUT_DESKTOP =
|
|
12
|
+
'inline-flex items-center gap-spacing-lg';
|
|
13
|
+
|
|
14
|
+
export const ROOT_LOGGED_OUT_MOBILE =
|
|
15
|
+
'flex flex-col items-start justify-center gap-spacing-lg w-[220px]';
|
|
16
|
+
|
|
17
|
+
export const ROOT_LOGGED_IN_DESKTOP =
|
|
18
|
+
'inline-flex items-start gap-spacing-md';
|
|
19
|
+
|
|
20
|
+
export const ROOT_LOGGED_IN_MOBILE =
|
|
21
|
+
'flex items-center gap-spacing-md w-[220px]';
|
|
22
|
+
|
|
23
|
+
/** Inner wrapper grouping (name/email) with the trailing action icon. */
|
|
24
|
+
export const IDENTITY_WRAP =
|
|
25
|
+
'flex items-center gap-spacing-lg min-w-0 flex-1';
|
|
26
|
+
|
|
27
|
+
/** Identity text column (name + email, stacked). */
|
|
28
|
+
export const IDENTITY_TEXT_COL =
|
|
29
|
+
'flex min-w-0 flex-1 flex-col items-start justify-center';
|
|
30
|
+
|
|
31
|
+
/** Name line — 14 / semibold / line-height 20. Figma: Text sm/Semibold. */
|
|
32
|
+
export const IDENTITY_NAME =
|
|
33
|
+
'w-full truncate text-text-sm font-[600] leading-[20px] text-color-display dark:text-white';
|
|
34
|
+
|
|
35
|
+
/** Email line — 14 / regular / line-height 20. Figma: Text sm/Regular. */
|
|
36
|
+
export const IDENTITY_EMAIL =
|
|
37
|
+
'w-full truncate text-text-sm font-[400] leading-[20px] text-color-field-helper-text dark:text-[rgba(157,164,174,1)]';
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Trailing icon wrapper — `size-icon-lg` = 20 px on desktop (matches Figma).
|
|
41
|
+
* Carries `inline-flex` + centering so the SVG renders perfectly centered
|
|
42
|
+
* even when it uses a different intrinsic viewBox.
|
|
43
|
+
*/
|
|
44
|
+
export const TRAILING_ICON_WRAP =
|
|
45
|
+
'inline-flex shrink-0 items-center justify-center size-icon-lg text-color-field-helper-text dark:text-[rgba(157,164,174,1)]';
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Interactive variant of the trailing-icon wrapper — used when a handler
|
|
49
|
+
* is supplied so the element becomes a focusable button. Uses logical
|
|
50
|
+
* focus-ring offsets so the ring sits correctly in RTL.
|
|
51
|
+
*/
|
|
52
|
+
export const TRAILING_ICON_BUTTON =
|
|
53
|
+
[
|
|
54
|
+
TRAILING_ICON_WRAP,
|
|
55
|
+
'rounded-full cursor-pointer motion-feedback',
|
|
56
|
+
'hover:text-color-display dark:hover:text-white',
|
|
57
|
+
'focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[rgba(27,131,84,0.4)] focus-visible:ring-offset-2',
|
|
58
|
+
].join(' ');
|