@nebula-demo/ui 0.1.3
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/CHANGELOG.md +23 -0
- package/LICENSE +21 -0
- package/README.md +109 -0
- package/dist/components/Accordion/Accordion.cjs +1 -0
- package/dist/components/Accordion/Accordion.d.ts +8 -0
- package/dist/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/components/Accordion/Accordion.js +59 -0
- package/dist/components/Accordion/index.d.ts +2 -0
- package/dist/components/Accordion/index.d.ts.map +1 -0
- package/dist/components/AlertDialog/AlertDialog.cjs +1 -0
- package/dist/components/AlertDialog/AlertDialog.d.ts +26 -0
- package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -0
- package/dist/components/AlertDialog/AlertDialog.js +160 -0
- package/dist/components/AlertDialog/index.d.ts +3 -0
- package/dist/components/AlertDialog/index.d.ts.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.cjs +1 -0
- package/dist/components/AspectRatio/AspectRatio.d.ts +17 -0
- package/dist/components/AspectRatio/AspectRatio.d.ts.map +1 -0
- package/dist/components/AspectRatio/AspectRatio.js +45 -0
- package/dist/components/AspectRatio/index.d.ts +3 -0
- package/dist/components/AspectRatio/index.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.cjs +1 -0
- package/dist/components/Avatar/Avatar.d.ts +18 -0
- package/dist/components/Avatar/Avatar.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.js +48 -0
- package/dist/components/Avatar/Avatar.variants.cjs +1 -0
- package/dist/components/Avatar/Avatar.variants.d.ts +7 -0
- package/dist/components/Avatar/Avatar.variants.d.ts.map +1 -0
- package/dist/components/Avatar/Avatar.variants.js +37 -0
- package/dist/components/Avatar/index.d.ts +5 -0
- package/dist/components/Avatar/index.d.ts.map +1 -0
- package/dist/components/AvatarGroup/AvatarGroup.cjs +1 -0
- package/dist/components/AvatarGroup/AvatarGroup.d.ts +19 -0
- package/dist/components/AvatarGroup/AvatarGroup.d.ts.map +1 -0
- package/dist/components/AvatarGroup/AvatarGroup.js +106 -0
- package/dist/components/AvatarGroup/index.d.ts +3 -0
- package/dist/components/AvatarGroup/index.d.ts.map +1 -0
- package/dist/components/AvatarLabelGroup/AvatarLabelGroup.cjs +1 -0
- package/dist/components/AvatarLabelGroup/AvatarLabelGroup.d.ts +19 -0
- package/dist/components/AvatarLabelGroup/AvatarLabelGroup.d.ts.map +1 -0
- package/dist/components/AvatarLabelGroup/AvatarLabelGroup.js +43 -0
- package/dist/components/AvatarLabelGroup/index.d.ts +3 -0
- package/dist/components/AvatarLabelGroup/index.d.ts.map +1 -0
- package/dist/components/Badge/Badge.cjs +1 -0
- package/dist/components/Badge/Badge.d.ts +11 -0
- package/dist/components/Badge/Badge.d.ts.map +1 -0
- package/dist/components/Badge/Badge.js +70 -0
- package/dist/components/Badge/Badge.variants.cjs +1 -0
- package/dist/components/Badge/Badge.variants.d.ts +8 -0
- package/dist/components/Badge/Badge.variants.d.ts.map +1 -0
- package/dist/components/Badge/Badge.variants.js +46 -0
- package/dist/components/Badge/index.d.ts +5 -0
- package/dist/components/Badge/index.d.ts.map +1 -0
- package/dist/components/BadgeCounter/BadgeCounter.cjs +1 -0
- package/dist/components/BadgeCounter/BadgeCounter.d.ts +13 -0
- package/dist/components/BadgeCounter/BadgeCounter.d.ts.map +1 -0
- package/dist/components/BadgeCounter/BadgeCounter.js +43 -0
- package/dist/components/BadgeCounter/BadgeCounter.variants.cjs +1 -0
- package/dist/components/BadgeCounter/BadgeCounter.variants.d.ts +6 -0
- package/dist/components/BadgeCounter/BadgeCounter.variants.d.ts.map +1 -0
- package/dist/components/BadgeCounter/BadgeCounter.variants.js +19 -0
- package/dist/components/BadgeCounter/index.d.ts +5 -0
- package/dist/components/BadgeCounter/index.d.ts.map +1 -0
- package/dist/components/Button/Button.cjs +1 -0
- package/dist/components/Button/Button.d.ts +13 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/Button.js +23 -0
- package/dist/components/Button/Button.variants.cjs +1 -0
- package/dist/components/Button/Button.variants.d.ts +7 -0
- package/dist/components/Button/Button.variants.d.ts.map +1 -0
- package/dist/components/Button/Button.variants.js +40 -0
- package/dist/components/Button/index.d.ts +5 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/ButtonIcon/ButtonIcon.cjs +1 -0
- package/dist/components/ButtonIcon/ButtonIcon.d.ts +13 -0
- package/dist/components/ButtonIcon/ButtonIcon.d.ts.map +1 -0
- package/dist/components/ButtonIcon/ButtonIcon.js +37 -0
- package/dist/components/ButtonIcon/ButtonIcon.variants.cjs +1 -0
- package/dist/components/ButtonIcon/ButtonIcon.variants.d.ts +7 -0
- package/dist/components/ButtonIcon/ButtonIcon.variants.d.ts.map +1 -0
- package/dist/components/ButtonIcon/ButtonIcon.variants.js +37 -0
- package/dist/components/ButtonIcon/index.d.ts +5 -0
- package/dist/components/ButtonIcon/index.d.ts.map +1 -0
- package/dist/components/Calendar/Calendar.cjs +1 -0
- package/dist/components/Calendar/Calendar.d.ts +28 -0
- package/dist/components/Calendar/Calendar.d.ts.map +1 -0
- package/dist/components/Calendar/Calendar.js +365 -0
- package/dist/components/Calendar/index.d.ts +3 -0
- package/dist/components/Calendar/index.d.ts.map +1 -0
- package/dist/components/Card/Card.cjs +1 -0
- package/dist/components/Card/Card.d.ts +41 -0
- package/dist/components/Card/Card.d.ts.map +1 -0
- package/dist/components/Card/Card.js +103 -0
- package/dist/components/Card/index.d.ts +3 -0
- package/dist/components/Card/index.d.ts.map +1 -0
- package/dist/components/Carousel/Carousel.cjs +1 -0
- package/dist/components/Carousel/Carousel.d.ts +35 -0
- package/dist/components/Carousel/Carousel.d.ts.map +1 -0
- package/dist/components/Carousel/Carousel.js +217 -0
- package/dist/components/Carousel/index.d.ts +3 -0
- package/dist/components/Carousel/index.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.cjs +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +17 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.js +68 -0
- package/dist/components/Checkbox/index.d.ts +3 -0
- package/dist/components/Checkbox/index.d.ts.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.cjs +1 -0
- package/dist/components/ContextMenu/ContextMenu.d.ts +33 -0
- package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -0
- package/dist/components/ContextMenu/ContextMenu.js +182 -0
- package/dist/components/ContextMenu/index.d.ts +3 -0
- package/dist/components/ContextMenu/index.d.ts.map +1 -0
- package/dist/components/DatePicker/DatePicker.cjs +1 -0
- package/dist/components/DatePicker/DatePicker.d.ts +49 -0
- package/dist/components/DatePicker/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker/DatePicker.js +238 -0
- package/dist/components/DatePicker/index.d.ts +3 -0
- package/dist/components/DatePicker/index.d.ts.map +1 -0
- package/dist/components/Drawer/Drawer.cjs +1 -0
- package/dist/components/Drawer/Drawer.d.ts +29 -0
- package/dist/components/Drawer/Drawer.d.ts.map +1 -0
- package/dist/components/Drawer/Drawer.js +130 -0
- package/dist/components/Drawer/index.d.ts +3 -0
- package/dist/components/Drawer/index.d.ts.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.cjs +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.d.ts +33 -0
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -0
- package/dist/components/DropdownMenu/DropdownMenu.js +184 -0
- package/dist/components/DropdownMenu/index.d.ts +3 -0
- package/dist/components/DropdownMenu/index.d.ts.map +1 -0
- package/dist/components/DropdownSelect/DropdownSelect.cjs +1 -0
- package/dist/components/DropdownSelect/DropdownSelect.d.ts +45 -0
- package/dist/components/DropdownSelect/DropdownSelect.d.ts.map +1 -0
- package/dist/components/DropdownSelect/DropdownSelect.js +342 -0
- package/dist/components/DropdownSelect/index.d.ts +3 -0
- package/dist/components/DropdownSelect/index.d.ts.map +1 -0
- package/dist/components/FileStatus/FileStatus.cjs +1 -0
- package/dist/components/FileStatus/FileStatus.d.ts +25 -0
- package/dist/components/FileStatus/FileStatus.d.ts.map +1 -0
- package/dist/components/FileStatus/FileStatus.js +127 -0
- package/dist/components/FileStatus/index.d.ts +3 -0
- package/dist/components/FileStatus/index.d.ts.map +1 -0
- package/dist/components/FileUpload/FileUpload.cjs +1 -0
- package/dist/components/FileUpload/FileUpload.d.ts +38 -0
- package/dist/components/FileUpload/FileUpload.d.ts.map +1 -0
- package/dist/components/FileUpload/FileUpload.js +151 -0
- package/dist/components/FileUpload/index.d.ts +3 -0
- package/dist/components/FileUpload/index.d.ts.map +1 -0
- package/dist/components/FilterChip/FilterChip.cjs +1 -0
- package/dist/components/FilterChip/FilterChip.d.ts +43 -0
- package/dist/components/FilterChip/FilterChip.d.ts.map +1 -0
- package/dist/components/FilterChip/FilterChip.js +71 -0
- package/dist/components/FilterChip/FilterChip.variants.cjs +1 -0
- package/dist/components/FilterChip/FilterChip.variants.d.ts +22 -0
- package/dist/components/FilterChip/FilterChip.variants.d.ts.map +1 -0
- package/dist/components/FilterChip/FilterChip.variants.js +103 -0
- package/dist/components/FilterChip/index.d.ts +3 -0
- package/dist/components/FilterChip/index.d.ts.map +1 -0
- package/dist/components/FilterChipGroup/FilterChipGroup.cjs +1 -0
- package/dist/components/FilterChipGroup/FilterChipGroup.d.ts +54 -0
- package/dist/components/FilterChipGroup/FilterChipGroup.d.ts.map +1 -0
- package/dist/components/FilterChipGroup/FilterChipGroup.js +112 -0
- package/dist/components/FilterChipGroup/index.d.ts +3 -0
- package/dist/components/FilterChipGroup/index.d.ts.map +1 -0
- package/dist/components/Icon/Icon.cjs +1 -0
- package/dist/components/Icon/Icon.d.ts +16 -0
- package/dist/components/Icon/Icon.d.ts.map +1 -0
- package/dist/components/Icon/Icon.js +34 -0
- package/dist/components/Icon/icons.cjs +1 -0
- package/dist/components/Icon/icons.d.ts +5 -0
- package/dist/components/Icon/icons.d.ts.map +1 -0
- package/dist/components/Icon/icons.js +1396 -0
- package/dist/components/Icon/index.d.ts +5 -0
- package/dist/components/Icon/index.d.ts.map +1 -0
- package/dist/components/InlineNotification/InlineNotification.cjs +1 -0
- package/dist/components/InlineNotification/InlineNotification.d.ts +17 -0
- package/dist/components/InlineNotification/InlineNotification.d.ts.map +1 -0
- package/dist/components/InlineNotification/InlineNotification.js +80 -0
- package/dist/components/InlineNotification/InlineNotification.variants.cjs +1 -0
- package/dist/components/InlineNotification/InlineNotification.variants.d.ts +6 -0
- package/dist/components/InlineNotification/InlineNotification.variants.d.ts.map +1 -0
- package/dist/components/InlineNotification/InlineNotification.variants.js +22 -0
- package/dist/components/InlineNotification/index.d.ts +5 -0
- package/dist/components/InlineNotification/index.d.ts.map +1 -0
- package/dist/components/Input/Input.cjs +1 -0
- package/dist/components/Input/Input.d.ts +44 -0
- package/dist/components/Input/Input.d.ts.map +1 -0
- package/dist/components/Input/Input.js +104 -0
- package/dist/components/Input/Input.variants.cjs +1 -0
- package/dist/components/Input/Input.variants.d.ts +70 -0
- package/dist/components/Input/Input.variants.d.ts.map +1 -0
- package/dist/components/Input/Input.variants.js +91 -0
- package/dist/components/Input/index.d.ts +3 -0
- package/dist/components/Input/index.d.ts.map +1 -0
- package/dist/components/InputSearch/InputSearch.cjs +1 -0
- package/dist/components/InputSearch/InputSearch.d.ts +62 -0
- package/dist/components/InputSearch/InputSearch.d.ts.map +1 -0
- package/dist/components/InputSearch/InputSearch.js +289 -0
- package/dist/components/InputSearch/index.d.ts +3 -0
- package/dist/components/InputSearch/index.d.ts.map +1 -0
- package/dist/components/Line/Line.cjs +1 -0
- package/dist/components/Line/Line.d.ts +16 -0
- package/dist/components/Line/Line.d.ts.map +1 -0
- package/dist/components/Line/Line.js +29 -0
- package/dist/components/Line/index.d.ts +3 -0
- package/dist/components/Line/index.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.cjs +1 -0
- package/dist/components/Pagination/Pagination.d.ts +49 -0
- package/dist/components/Pagination/Pagination.d.ts.map +1 -0
- package/dist/components/Pagination/Pagination.js +225 -0
- package/dist/components/Pagination/index.d.ts +3 -0
- package/dist/components/Pagination/index.d.ts.map +1 -0
- package/dist/components/Popover/Popover.cjs +1 -0
- package/dist/components/Popover/Popover.d.ts +11 -0
- package/dist/components/Popover/Popover.d.ts.map +1 -0
- package/dist/components/Popover/Popover.js +26 -0
- package/dist/components/Popover/index.d.ts +3 -0
- package/dist/components/Popover/index.d.ts.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.cjs +1 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts +23 -0
- package/dist/components/ProgressBar/ProgressBar.d.ts.map +1 -0
- package/dist/components/ProgressBar/ProgressBar.js +74 -0
- package/dist/components/ProgressBar/index.d.ts +3 -0
- package/dist/components/ProgressBar/index.d.ts.map +1 -0
- package/dist/components/ProgressCircle/ProgressCircle.cjs +1 -0
- package/dist/components/ProgressCircle/ProgressCircle.d.ts +23 -0
- package/dist/components/ProgressCircle/ProgressCircle.d.ts.map +1 -0
- package/dist/components/ProgressCircle/ProgressCircle.js +155 -0
- package/dist/components/ProgressCircle/index.d.ts +3 -0
- package/dist/components/ProgressCircle/index.d.ts.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.cjs +1 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts +22 -0
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -0
- package/dist/components/RadioGroup/RadioGroup.js +75 -0
- package/dist/components/RadioGroup/index.d.ts +3 -0
- package/dist/components/RadioGroup/index.d.ts.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.cjs +1 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts +8 -0
- package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -0
- package/dist/components/ScrollArea/ScrollArea.js +10 -0
- package/dist/components/ScrollArea/index.d.ts +3 -0
- package/dist/components/ScrollArea/index.d.ts.map +1 -0
- package/dist/components/Select/Select.cjs +1 -0
- package/dist/components/Select/Select.d.ts +12 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/Select.js +171 -0
- package/dist/components/Select/index.d.ts +2 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/Skeleton/Skeleton.cjs +1 -0
- package/dist/components/Skeleton/Skeleton.d.ts +8 -0
- package/dist/components/Skeleton/Skeleton.d.ts.map +1 -0
- package/dist/components/Skeleton/Skeleton.js +22 -0
- package/dist/components/Skeleton/index.d.ts +3 -0
- package/dist/components/Skeleton/index.d.ts.map +1 -0
- package/dist/components/Slider/Slider.cjs +1 -0
- package/dist/components/Slider/Slider.d.ts +19 -0
- package/dist/components/Slider/Slider.d.ts.map +1 -0
- package/dist/components/Slider/Slider.js +101 -0
- package/dist/components/Slider/index.d.ts +3 -0
- package/dist/components/Slider/index.d.ts.map +1 -0
- package/dist/components/Switch/Switch.cjs +1 -0
- package/dist/components/Switch/Switch.d.ts +10 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -0
- package/dist/components/Switch/Switch.js +20 -0
- package/dist/components/Switch/Switch.variants.cjs +1 -0
- package/dist/components/Switch/Switch.variants.d.ts +7 -0
- package/dist/components/Switch/Switch.variants.d.ts.map +1 -0
- package/dist/components/Switch/Switch.variants.js +39 -0
- package/dist/components/Switch/index.d.ts +4 -0
- package/dist/components/Switch/index.d.ts.map +1 -0
- package/dist/components/SwitchGroup/SwitchGroup.cjs +1 -0
- package/dist/components/SwitchGroup/SwitchGroup.d.ts +24 -0
- package/dist/components/SwitchGroup/SwitchGroup.d.ts.map +1 -0
- package/dist/components/SwitchGroup/SwitchGroup.js +36 -0
- package/dist/components/SwitchGroup/SwitchGroup.variants.cjs +1 -0
- package/dist/components/SwitchGroup/SwitchGroup.variants.d.ts +4 -0
- package/dist/components/SwitchGroup/SwitchGroup.variants.d.ts.map +1 -0
- package/dist/components/SwitchGroup/SwitchGroup.variants.js +5 -0
- package/dist/components/SwitchGroup/index.d.ts +3 -0
- package/dist/components/SwitchGroup/index.d.ts.map +1 -0
- package/dist/components/TabNavigation/TabNavigation.cjs +1 -0
- package/dist/components/TabNavigation/TabNavigation.d.ts +31 -0
- package/dist/components/TabNavigation/TabNavigation.d.ts.map +1 -0
- package/dist/components/TabNavigation/TabNavigation.js +107 -0
- package/dist/components/TabNavigation/index.d.ts +4 -0
- package/dist/components/TabNavigation/index.d.ts.map +1 -0
- package/dist/components/Table/Table.cjs +1 -0
- package/dist/components/Table/Table.d.ts +103 -0
- package/dist/components/Table/Table.d.ts.map +1 -0
- package/dist/components/Table/Table.js +278 -0
- package/dist/components/Table/index.d.ts +3 -0
- package/dist/components/Table/index.d.ts.map +1 -0
- package/dist/components/TablePagination/TablePagination.cjs +1 -0
- package/dist/components/TablePagination/TablePagination.d.ts +26 -0
- package/dist/components/TablePagination/TablePagination.d.ts.map +1 -0
- package/dist/components/TablePagination/TablePagination.js +80 -0
- package/dist/components/TablePagination/index.d.ts +3 -0
- package/dist/components/TablePagination/index.d.ts.map +1 -0
- package/dist/components/Tag/Tag.cjs +1 -0
- package/dist/components/Tag/Tag.d.ts +25 -0
- package/dist/components/Tag/Tag.d.ts.map +1 -0
- package/dist/components/Tag/Tag.js +84 -0
- package/dist/components/Tag/Tag.variants.cjs +1 -0
- package/dist/components/Tag/Tag.variants.d.ts +8 -0
- package/dist/components/Tag/Tag.variants.d.ts.map +1 -0
- package/dist/components/Tag/Tag.variants.js +41 -0
- package/dist/components/Tag/TagGroup.cjs +1 -0
- package/dist/components/Tag/TagGroup.d.ts +8 -0
- package/dist/components/Tag/TagGroup.d.ts.map +1 -0
- package/dist/components/Tag/TagGroup.js +20 -0
- package/dist/components/Tag/TagGroup.variants.cjs +1 -0
- package/dist/components/Tag/TagGroup.variants.d.ts +6 -0
- package/dist/components/Tag/TagGroup.variants.d.ts.map +1 -0
- package/dist/components/Tag/TagGroup.variants.js +16 -0
- package/dist/components/Tag/index.d.ts +9 -0
- package/dist/components/Tag/index.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.cjs +1 -0
- package/dist/components/Textarea/Textarea.d.ts +54 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.js +162 -0
- package/dist/components/Textarea/Textarea.variants.cjs +1 -0
- package/dist/components/Textarea/Textarea.variants.d.ts +60 -0
- package/dist/components/Textarea/Textarea.variants.d.ts.map +1 -0
- package/dist/components/Textarea/Textarea.variants.js +116 -0
- package/dist/components/Textarea/index.d.ts +3 -0
- package/dist/components/Textarea/index.d.ts.map +1 -0
- package/dist/components/Toast/Toast.cjs +1 -0
- package/dist/components/Toast/Toast.d.ts +71 -0
- package/dist/components/Toast/Toast.d.ts.map +1 -0
- package/dist/components/Toast/Toast.js +242 -0
- package/dist/components/Toast/index.d.ts +3 -0
- package/dist/components/Toast/index.d.ts.map +1 -0
- package/dist/components/Toggle/Toggle.cjs +1 -0
- package/dist/components/Toggle/Toggle.d.ts +18 -0
- package/dist/components/Toggle/Toggle.d.ts.map +1 -0
- package/dist/components/Toggle/Toggle.js +60 -0
- package/dist/components/Toggle/Toggle.variants.cjs +1 -0
- package/dist/components/Toggle/Toggle.variants.d.ts +13 -0
- package/dist/components/Toggle/Toggle.variants.d.ts.map +1 -0
- package/dist/components/Toggle/Toggle.variants.js +76 -0
- package/dist/components/Toggle/index.d.ts +4 -0
- package/dist/components/Toggle/index.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.cjs +1 -0
- package/dist/components/Tooltip/Tooltip.d.ts +13 -0
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -0
- package/dist/components/Tooltip/Tooltip.js +41 -0
- package/dist/components/Tooltip/index.d.ts +3 -0
- package/dist/components/Tooltip/index.d.ts.map +1 -0
- package/dist/components/_shared/SelectionIndicators.cjs +1 -0
- package/dist/components/_shared/SelectionIndicators.d.ts +33 -0
- package/dist/components/_shared/SelectionIndicators.d.ts.map +1 -0
- package/dist/components/_shared/SelectionIndicators.js +49 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +96 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +202 -0
- package/dist/utils/cn.cjs +1 -0
- package/dist/utils/cn.d.ts +3 -0
- package/dist/utils/cn.d.ts.map +1 -0
- package/dist/utils/cn.js +9 -0
- package/dist/utils/focusRing.cjs +1 -0
- package/dist/utils/focusRing.d.ts +20 -0
- package/dist/utils/focusRing.d.ts.map +1 -0
- package/dist/utils/focusRing.js +5 -0
- package/package.json +82 -0
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# @nebula-demo/ui
|
|
2
|
+
|
|
3
|
+
## 0.1.3
|
|
4
|
+
|
|
5
|
+
First public release under the `@nebula-demo` package scope.
|
|
6
|
+
|
|
7
|
+
## 0.1.0
|
|
8
|
+
|
|
9
|
+
Initial release.
|
|
10
|
+
|
|
11
|
+
- Inline Notification: contextual feedback with status variants
|
|
12
|
+
- Avatar: user avatar with fallback
|
|
13
|
+
- Badge: status indicators (default, strong, brand, brand-alt, success, warning, error) with auto icons
|
|
14
|
+
- Button: 7 variants, 2 sizes, icon support, polymorphic rendering via `asChild`
|
|
15
|
+
- Checkbox: Radix-based accessible checkbox
|
|
16
|
+
- Input: text input with label, error states, icons
|
|
17
|
+
- Skeleton: loading placeholder with pulse animation
|
|
18
|
+
- Switch: Radix-based toggle button
|
|
19
|
+
- Tag: removable/pinnable labels with close and pin actions
|
|
20
|
+
- Textarea: multi-line input with avatar mentions, error states
|
|
21
|
+
- Toggle: Radix-based sliding on/off switch
|
|
22
|
+
- Tooltip: animated tooltip with arrow and 4 placements
|
|
23
|
+
- `cn()` utility for class name merging
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 willhgoff2-jpg
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
# @nebula-demo/ui
|
|
2
|
+
|
|
3
|
+
React component library for the Nebula design system. Built on Radix UI primitives, styled with Tailwind CSS, and fully themed via `@nebula-demo/tokens`.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @nebula-demo/ui @nebula-demo/tokens
|
|
9
|
+
# or
|
|
10
|
+
pnpm add @nebula-demo/ui @nebula-demo/tokens
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
### Peer dependencies
|
|
14
|
+
|
|
15
|
+
- `react` >= 18
|
|
16
|
+
- `react-dom` >= 18
|
|
17
|
+
- `@nebula-demo/tokens` >= 0.1.0
|
|
18
|
+
|
|
19
|
+
## Setup
|
|
20
|
+
|
|
21
|
+
1. Import the Nebula token stylesheet in your app entry:
|
|
22
|
+
|
|
23
|
+
```css
|
|
24
|
+
@import '@nebula-demo/tokens/css';
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
2. If using Tailwind, add the Nebula preset to your config:
|
|
28
|
+
|
|
29
|
+
```js
|
|
30
|
+
// tailwind.config.js
|
|
31
|
+
import nebulaPreset from '@nebula-demo/tokens/tailwind'
|
|
32
|
+
|
|
33
|
+
export default {
|
|
34
|
+
presets: [nebulaPreset],
|
|
35
|
+
content: ['./src/**/*.{ts,tsx}', './node_modules/@nebula-demo/ui/dist/**/*.{js,cjs}'],
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
The preset sets Tailwind's global prefix to `cai-` because the component bundle uses both token classes (`cai-bg-primary`) and prefixed core utilities (`cai-flex`, `cai-rounded-md`). That prefix applies to every utility generated by this Tailwind configuration. Do not override it. If your application must retain an existing unprefixed Tailwind build, compile the Nebula/UI entry separately with the Nebula preset and include both resulting stylesheets.
|
|
40
|
+
|
|
41
|
+
3. Use components:
|
|
42
|
+
|
|
43
|
+
```tsx
|
|
44
|
+
import { Button, Badge, Tooltip, TooltipProvider } from '@nebula-demo/ui'
|
|
45
|
+
|
|
46
|
+
function App() {
|
|
47
|
+
return (
|
|
48
|
+
<TooltipProvider>
|
|
49
|
+
<Button variant="primary" size="lg">
|
|
50
|
+
Get started
|
|
51
|
+
</Button>
|
|
52
|
+
<Badge variant="success" size="md">
|
|
53
|
+
Active
|
|
54
|
+
</Badge>
|
|
55
|
+
</TooltipProvider>
|
|
56
|
+
)
|
|
57
|
+
}
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Components
|
|
61
|
+
|
|
62
|
+
| Component | Description |
|
|
63
|
+
| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
64
|
+
| **Inline Notification** | Contextual feedback messages with status variants |
|
|
65
|
+
| **Avatar** | User avatar with fallback initials |
|
|
66
|
+
| **Badge** | Status indicators with auto icons for success, warning, error |
|
|
67
|
+
| **Button** | 7 variants (primary, secondary, tertiary, brand, brand-alt, pagination, pagination-active), 2 sizes, icon support, polymorphic via `asChild` |
|
|
68
|
+
| **Checkbox** | Radix-based accessible checkbox |
|
|
69
|
+
| **Input** | Text input with label, error states, and icon support |
|
|
70
|
+
| **Skeleton** | Loading placeholder with pulse animation |
|
|
71
|
+
| **Switch** | Radix-based accessible toggle button |
|
|
72
|
+
| **Tag** | Removable/pinnable labels with close and pin actions |
|
|
73
|
+
| **Textarea** | Multi-line text input with avatar mentions and error states |
|
|
74
|
+
| **Toggle** | Radix-based accessible sliding on/off switch |
|
|
75
|
+
| **Tooltip** | Radix-based tooltip with arrow, 4 placements, animated |
|
|
76
|
+
|
|
77
|
+
## Utilities
|
|
78
|
+
|
|
79
|
+
### `cn(...inputs)`
|
|
80
|
+
|
|
81
|
+
Merges class names using `clsx` + `tailwind-merge`. Useful for extending component styles:
|
|
82
|
+
|
|
83
|
+
```tsx
|
|
84
|
+
import { Button, cn } from '@nebula-demo/ui'
|
|
85
|
+
|
|
86
|
+
function ExampleButton() {
|
|
87
|
+
return <Button className={cn('my-custom-class', isActive && 'cai-opacity-100')} />
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## Theming
|
|
92
|
+
|
|
93
|
+
All components respond to the active theme automatically. Set `data-theme="light"` on a parent element for the Light theme (defaults to Midnight):
|
|
94
|
+
|
|
95
|
+
```html
|
|
96
|
+
<html data-theme="light"></html>
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Tree-shaking
|
|
100
|
+
|
|
101
|
+
Import named components from the package root. The ESM build is tree-shakeable, so bundlers can omit unused component modules:
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
import { Badge, Button } from '@nebula-demo/ui'
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
## License
|
|
108
|
+
|
|
109
|
+
MIT
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),u=require("react"),f=require("@radix-ui/react-accordion"),n=require("../../utils/cn.cjs"),p=require("../Icon/Icon.cjs");function s(e){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const c in e)if(c!=="default"){const o=Object.getOwnPropertyDescriptor(e,c);Object.defineProperty(i,c,o.get?o:{enumerable:!0,get:()=>e[c]})}}return i.default=e,Object.freeze(i)}const r=s(u),t=s(f),x=t.Root,d=r.forwardRef(({className:e,...i},c)=>a.jsx(t.Item,{ref:c,className:n.cn("cai-border-b-[0.75px] cai-border-disabled cai-transition-colors","data-[state=open]:hover:cai-bg-secondary",e),...i}));d.displayName="AccordionItem";const l=r.forwardRef(({className:e,children:i,...c},o)=>a.jsx(t.Header,{className:"cai-flex",children:a.jsxs(t.Trigger,{ref:o,className:n.cn("cai-flex cai-flex-1 cai-items-center cai-justify-between cai-px-lg cai-py-2xl","cai-text-body2 cai-font-medium cai-text-primary","cai-rounded-xxs cai-transition-all","hover:cai-bg-secondary","focus-visible:cai-outline-2 focus-visible:cai-outline-offset-2 focus-visible:cai-outline-brand-primary","[&[data-state=open]>svg]:cai-rotate-180",e),...c,children:[a.jsx("span",{children:i}),a.jsx(p.Icon,{name:"chevron-down",size:16,className:"cai-text-tertiary"})]})}));l.displayName="AccordionTrigger";const m=r.forwardRef(({className:e,children:i,...c},o)=>a.jsx(t.Content,{ref:o,className:n.cn("cai-overflow-hidden cai-text-subbody cai-text-secondary","data-[state=closed]:cai-animate-accordion-up data-[state=open]:cai-animate-accordion-down",e),...c,children:a.jsx("div",{className:"cai-flex cai-flex-col cai-gap-y-lg cai-px-lg cai-pt-0 cai-pb-xl",children:i})}));m.displayName="AccordionContent";exports.Accordion=x;exports.AccordionContent=m;exports.AccordionItem=d;exports.AccordionTrigger=l;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as AccordionPrimitive from '@radix-ui/react-accordion';
|
|
3
|
+
declare const Accordion: React.ForwardRefExoticComponent<(AccordionPrimitive.AccordionSingleProps | AccordionPrimitive.AccordionMultipleProps) & React.RefAttributes<HTMLDivElement>>;
|
|
4
|
+
declare const AccordionItem: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
5
|
+
declare const AccordionTrigger: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
6
|
+
declare const AccordionContent: React.ForwardRefExoticComponent<Omit<AccordionPrimitive.AccordionContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
|
|
8
|
+
//# sourceMappingURL=Accordion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Accordion.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/Accordion.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAA;AAQ/D,QAAA,MAAM,SAAS,8JAA0B,CAAA;AAMzC,QAAA,MAAM,aAAa,iKAajB,CAAA;AAQF,QAAA,MAAM,gBAAgB,0KAsBpB,CAAA;AAQF,QAAA,MAAM,gBAAgB,oKAepB,CAAA;AAIF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsx as a, jsxs as s } from "react/jsx-runtime";
|
|
2
|
+
import * as r from "react";
|
|
3
|
+
import * as o from "@radix-ui/react-accordion";
|
|
4
|
+
import { cn as n } from "../../utils/cn.js";
|
|
5
|
+
import { Icon as d } from "../Icon/Icon.js";
|
|
6
|
+
const y = o.Root, l = r.forwardRef(({ className: i, ...c }, e) => /* @__PURE__ */ a(
|
|
7
|
+
o.Item,
|
|
8
|
+
{
|
|
9
|
+
ref: e,
|
|
10
|
+
className: n(
|
|
11
|
+
"cai-border-b-[0.75px] cai-border-disabled cai-transition-colors",
|
|
12
|
+
"data-[state=open]:hover:cai-bg-secondary",
|
|
13
|
+
i
|
|
14
|
+
),
|
|
15
|
+
...c
|
|
16
|
+
}
|
|
17
|
+
));
|
|
18
|
+
l.displayName = "AccordionItem";
|
|
19
|
+
const m = r.forwardRef(({ className: i, children: c, ...e }, t) => /* @__PURE__ */ a(o.Header, { className: "cai-flex", children: /* @__PURE__ */ s(
|
|
20
|
+
o.Trigger,
|
|
21
|
+
{
|
|
22
|
+
ref: t,
|
|
23
|
+
className: n(
|
|
24
|
+
"cai-flex cai-flex-1 cai-items-center cai-justify-between cai-px-lg cai-py-2xl",
|
|
25
|
+
"cai-text-body2 cai-font-medium cai-text-primary",
|
|
26
|
+
"cai-rounded-xxs cai-transition-all",
|
|
27
|
+
"hover:cai-bg-secondary",
|
|
28
|
+
"focus-visible:cai-outline-2 focus-visible:cai-outline-offset-2 focus-visible:cai-outline-brand-primary",
|
|
29
|
+
"[&[data-state=open]>svg]:cai-rotate-180",
|
|
30
|
+
i
|
|
31
|
+
),
|
|
32
|
+
...e,
|
|
33
|
+
children: [
|
|
34
|
+
/* @__PURE__ */ a("span", { children: c }),
|
|
35
|
+
/* @__PURE__ */ a(d, { name: "chevron-down", size: 16, className: "cai-text-tertiary" })
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
) }));
|
|
39
|
+
m.displayName = "AccordionTrigger";
|
|
40
|
+
const f = r.forwardRef(({ className: i, children: c, ...e }, t) => /* @__PURE__ */ a(
|
|
41
|
+
o.Content,
|
|
42
|
+
{
|
|
43
|
+
ref: t,
|
|
44
|
+
className: n(
|
|
45
|
+
"cai-overflow-hidden cai-text-subbody cai-text-secondary",
|
|
46
|
+
"data-[state=closed]:cai-animate-accordion-up data-[state=open]:cai-animate-accordion-down",
|
|
47
|
+
i
|
|
48
|
+
),
|
|
49
|
+
...e,
|
|
50
|
+
children: /* @__PURE__ */ a("div", { className: "cai-flex cai-flex-col cai-gap-y-lg cai-px-lg cai-pt-0 cai-pb-xl", children: c })
|
|
51
|
+
}
|
|
52
|
+
));
|
|
53
|
+
f.displayName = "AccordionContent";
|
|
54
|
+
export {
|
|
55
|
+
y as Accordion,
|
|
56
|
+
f as AccordionContent,
|
|
57
|
+
l as AccordionItem,
|
|
58
|
+
m as AccordionTrigger
|
|
59
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Accordion/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),N=require("react"),h=require("@radix-ui/react-alert-dialog"),c=require("../../utils/cn.cjs"),v=require("../../utils/focusRing.cjs"),s=require("../Button/Button.cjs"),R=require("../Icon/Icon.cjs");function n(a){const e=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const i in a)if(i!=="default"){const l=Object.getOwnPropertyDescriptor(a,i);Object.defineProperty(e,i,l.get?l:{enumerable:!0,get:()=>a[i]})}}return e.default=a,Object.freeze(e)}const r=n(N),o=n(h),C=o.Root,O=o.Trigger,q=o.Portal,d=r.forwardRef(({className:a,...e},i)=>t.jsx(o.Overlay,{ref:i,className:c.cn("cai-fixed cai-inset-0 cai-z-50 cai-bg-scrim","data-[state=open]:cai-animate-in data-[state=open]:cai-fade-in-0","data-[state=closed]:cai-animate-out data-[state=closed]:cai-fade-out-0",a),...e}));d.displayName="AlertDialogOverlay";const g=r.forwardRef(({className:a,size:e="sm",container:i,children:l,...j},w)=>t.jsxs(q,{container:i,children:[t.jsx(d,{}),t.jsx(o.Content,{ref:w,className:c.cn("cai-fixed cai-left-1/2 cai-top-1/2 cai-z-50 -cai-translate-x-1/2 -cai-translate-y-1/2","cai-flex cai-flex-col cai-w-[90%] cai-max-h-[min(720px,90vh)] cai-overflow-hidden","cai-rounded-[24px] cai-border cai-border-tertiary cai-bg-primary-invert cai-shadow-lg","data-[state=open]:cai-animate-in data-[state=open]:cai-fade-in-0 data-[state=open]:cai-zoom-in-95","data-[state=closed]:cai-animate-out data-[state=closed]:cai-fade-out-0 data-[state=closed]:cai-zoom-out-95",e==="sm"&&"cai-max-w-[540px]",e==="lg"&&"cai-max-w-[766px]",a),...j,children:l})]}));g.displayName="AlertDialogContent";const m=r.forwardRef(({className:a,...e},i)=>t.jsx("div",{ref:i,className:c.cn("cai-relative cai-flex cai-items-center cai-justify-center","cai-border-b cai-border-quaternary cai-px-[56px] cai-py-2xl",a),...e}));m.displayName="AlertDialogHeader";const f=r.forwardRef(({className:a,...e},i)=>t.jsx(o.Title,{ref:i,className:c.cn("cai-text-body1 cai-font-semibold cai-leading-tight cai-text-primary",a),...e}));f.displayName="AlertDialogTitle";const x=r.forwardRef(({className:a,label:e="Close dialog",...i},l)=>t.jsx(o.Cancel,{ref:l,"aria-label":e,className:c.cn("cai-absolute cai-right-md cai-top-1/2 -cai-translate-y-1/2","cai-inline-flex cai-items-center cai-justify-center cai-w-8 cai-h-8","cai-rounded-md cai-bg-transparent cai-text-icon-primary","hover:cai-bg-secondary cai-transition-colors",v.FOCUS_RING,a),...i,children:t.jsx(R.Icon,{name:"x-close",size:20,"aria-hidden":!0})}));x.displayName="AlertDialogClose";const p=r.forwardRef(({className:a,...e},i)=>t.jsx("div",{ref:i,className:c.cn("cai-flex-1 cai-min-h-0 cai-overflow-y-auto","cai-flex cai-flex-col cai-gap-y-xl","cai-px-4xl cai-pt-3xl cai-pb-4xl","[scrollbar-width:thin] [scrollbar-color:var(--bg-scroll)_transparent]","[&::-webkit-scrollbar]:cai-w-2 [&::-webkit-scrollbar-thumb]:cai-bg-scroll [&::-webkit-scrollbar-thumb]:cai-rounded-full",a),...e}));p.displayName="AlertDialogBody";const u=r.forwardRef(({className:a,...e},i)=>t.jsx(o.Description,{ref:i,className:c.cn("cai-text-body2 cai-font-medium cai-leading-relaxed cai-text-secondary",a),...e}));u.displayName="AlertDialogDescription";const D=r.forwardRef(({className:a,...e},i)=>t.jsx("div",{ref:i,className:c.cn("cai-flex cai-items-center cai-justify-between cai-gap-x-xl","cai-border-t cai-border-quaternary cai-px-3xl cai-py-xl",a),...e}));D.displayName="AlertDialogFooter";const y=r.forwardRef(({className:a,...e},i)=>t.jsx("div",{ref:i,className:c.cn("cai-flex cai-items-center cai-gap-x-sm",a),...e}));y.displayName="AlertDialogFooterLeft";const A=r.forwardRef(({className:a,children:e,...i},l)=>t.jsx(o.Action,{asChild:!0,...i,children:t.jsx(s.Button,{ref:l,variant:"primary",size:"sm",className:a,children:e})}));A.displayName="AlertDialogAction";const b=r.forwardRef(({className:a,children:e,...i},l)=>t.jsx(o.Cancel,{asChild:!0,...i,children:t.jsx(s.Button,{ref:l,variant:"tertiary",size:"sm",className:a,children:e})}));b.displayName="AlertDialogCancel";exports.AlertDialog=C;exports.AlertDialogAction=A;exports.AlertDialogBody=p;exports.AlertDialogCancel=b;exports.AlertDialogClose=x;exports.AlertDialogContent=g;exports.AlertDialogDescription=u;exports.AlertDialogFooter=D;exports.AlertDialogFooterLeft=y;exports.AlertDialogHeader=m;exports.AlertDialogTitle=f;exports.AlertDialogTrigger=O;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
|
|
3
|
+
declare const AlertDialog: React.FC<AlertDialogPrimitive.AlertDialogProps>;
|
|
4
|
+
declare const AlertDialogTrigger: React.ForwardRefExoticComponent<AlertDialogPrimitive.AlertDialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
5
|
+
export interface AlertDialogContentProps extends React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content> {
|
|
6
|
+
/** Content max width — 'sm' (540px) or 'lg' (766px) */
|
|
7
|
+
size?: 'sm' | 'lg';
|
|
8
|
+
/** Portal container target */
|
|
9
|
+
container?: HTMLElement;
|
|
10
|
+
}
|
|
11
|
+
declare const AlertDialogContent: React.ForwardRefExoticComponent<AlertDialogContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
declare const AlertDialogHeader: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
declare const AlertDialogTitle: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
14
|
+
export interface AlertDialogCloseProps extends React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel> {
|
|
15
|
+
/** Accessible label for the close button. Defaults to "Close dialog". */
|
|
16
|
+
label?: string;
|
|
17
|
+
}
|
|
18
|
+
declare const AlertDialogClose: React.ForwardRefExoticComponent<AlertDialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
|
|
19
|
+
declare const AlertDialogBody: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
20
|
+
declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
21
|
+
declare const AlertDialogFooter: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
22
|
+
declare const AlertDialogFooterLeft: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
|
|
23
|
+
declare const AlertDialogAction: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogActionProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
24
|
+
declare const AlertDialogCancel: React.ForwardRefExoticComponent<Omit<AlertDialogPrimitive.AlertDialogCancelProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
25
|
+
export { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogClose, AlertDialogBody, AlertDialogDescription, AlertDialogFooter, AlertDialogFooterLeft, AlertDialogAction, AlertDialogCancel, };
|
|
26
|
+
//# sourceMappingURL=AlertDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AlertDialog.d.ts","sourceRoot":"","sources":["../../../src/components/AlertDialog/AlertDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,KAAK,oBAAoB,MAAM,8BAA8B,CAAA;AAYpE,QAAA,MAAM,WAAW,iDAA4B,CAAA;AAM7C,QAAA,MAAM,kBAAkB,wHAA+B,CAAA;AAkCvD,MAAM,WAAW,uBAAwB,SAAQ,KAAK,CAAC,wBAAwB,CAC7E,OAAO,oBAAoB,CAAC,OAAO,CACpC;IACC,uDAAuD;IACvD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAA;IAClB,8BAA8B;IAC9B,SAAS,CAAC,EAAE,WAAW,CAAA;CACxB;AAED,QAAA,MAAM,kBAAkB,gGAuBtB,CAAA;AAQF,QAAA,MAAM,iBAAiB,6GAYtB,CAAA;AAQD,QAAA,MAAM,gBAAgB,8KAYpB,CAAA;AAQF,MAAM,WAAW,qBACf,SAAQ,KAAK,CAAC,wBAAwB,CAAC,OAAO,oBAAoB,CAAC,MAAM,CAAC;IAC1E,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,QAAA,MAAM,gBAAgB,iGAmBpB,CAAA;AAQF,QAAA,MAAM,eAAe,6GAepB,CAAA;AAQD,QAAA,MAAM,sBAAsB,wLAY1B,CAAA;AAQF,QAAA,MAAM,iBAAiB,6GAYtB,CAAA;AAQD,QAAA,MAAM,qBAAqB,6GASzB,CAAA;AAQF,QAAA,MAAM,iBAAiB,6KASrB,CAAA;AAQF,QAAA,MAAM,iBAAiB,6KASrB,CAAA;AAIF,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,CAAA"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { jsx as t, jsxs as f } from "react/jsx-runtime";
|
|
2
|
+
import * as r from "react";
|
|
3
|
+
import * as o from "@radix-ui/react-alert-dialog";
|
|
4
|
+
import { cn as l } from "../../utils/cn.js";
|
|
5
|
+
import { FOCUS_RING as p } from "../../utils/focusRing.js";
|
|
6
|
+
import { Button as s } from "../Button/Button.js";
|
|
7
|
+
import { Icon as g } from "../Icon/Icon.js";
|
|
8
|
+
const O = o.Root, k = o.Trigger, x = o.Portal, n = r.forwardRef(({ className: i, ...a }, e) => /* @__PURE__ */ t(
|
|
9
|
+
o.Overlay,
|
|
10
|
+
{
|
|
11
|
+
ref: e,
|
|
12
|
+
className: l(
|
|
13
|
+
"cai-fixed cai-inset-0 cai-z-50 cai-bg-scrim",
|
|
14
|
+
"data-[state=open]:cai-animate-in data-[state=open]:cai-fade-in-0",
|
|
15
|
+
"data-[state=closed]:cai-animate-out data-[state=closed]:cai-fade-out-0",
|
|
16
|
+
i
|
|
17
|
+
),
|
|
18
|
+
...a
|
|
19
|
+
}
|
|
20
|
+
));
|
|
21
|
+
n.displayName = "AlertDialogOverlay";
|
|
22
|
+
const y = r.forwardRef(({ className: i, size: a = "sm", container: e, children: c, ...d }, m) => /* @__PURE__ */ f(x, { container: e, children: [
|
|
23
|
+
/* @__PURE__ */ t(n, {}),
|
|
24
|
+
/* @__PURE__ */ t(
|
|
25
|
+
o.Content,
|
|
26
|
+
{
|
|
27
|
+
ref: m,
|
|
28
|
+
className: l(
|
|
29
|
+
"cai-fixed cai-left-1/2 cai-top-1/2 cai-z-50 -cai-translate-x-1/2 -cai-translate-y-1/2",
|
|
30
|
+
"cai-flex cai-flex-col cai-w-[90%] cai-max-h-[min(720px,90vh)] cai-overflow-hidden",
|
|
31
|
+
"cai-rounded-[24px] cai-border cai-border-tertiary cai-bg-primary-invert cai-shadow-lg",
|
|
32
|
+
"data-[state=open]:cai-animate-in data-[state=open]:cai-fade-in-0 data-[state=open]:cai-zoom-in-95",
|
|
33
|
+
"data-[state=closed]:cai-animate-out data-[state=closed]:cai-fade-out-0 data-[state=closed]:cai-zoom-out-95",
|
|
34
|
+
a === "sm" && "cai-max-w-[540px]",
|
|
35
|
+
a === "lg" && "cai-max-w-[766px]",
|
|
36
|
+
i
|
|
37
|
+
),
|
|
38
|
+
...d,
|
|
39
|
+
children: c
|
|
40
|
+
}
|
|
41
|
+
)
|
|
42
|
+
] }));
|
|
43
|
+
y.displayName = "AlertDialogContent";
|
|
44
|
+
const b = r.forwardRef(
|
|
45
|
+
({ className: i, ...a }, e) => /* @__PURE__ */ t(
|
|
46
|
+
"div",
|
|
47
|
+
{
|
|
48
|
+
ref: e,
|
|
49
|
+
className: l(
|
|
50
|
+
"cai-relative cai-flex cai-items-center cai-justify-center",
|
|
51
|
+
"cai-border-b cai-border-quaternary cai-px-[56px] cai-py-2xl",
|
|
52
|
+
i
|
|
53
|
+
),
|
|
54
|
+
...a
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
);
|
|
58
|
+
b.displayName = "AlertDialogHeader";
|
|
59
|
+
const A = r.forwardRef(({ className: i, ...a }, e) => /* @__PURE__ */ t(
|
|
60
|
+
o.Title,
|
|
61
|
+
{
|
|
62
|
+
ref: e,
|
|
63
|
+
className: l(
|
|
64
|
+
"cai-text-body1 cai-font-semibold cai-leading-tight cai-text-primary",
|
|
65
|
+
i
|
|
66
|
+
),
|
|
67
|
+
...a
|
|
68
|
+
}
|
|
69
|
+
));
|
|
70
|
+
A.displayName = "AlertDialogTitle";
|
|
71
|
+
const D = r.forwardRef(({ className: i, label: a = "Close dialog", ...e }, c) => /* @__PURE__ */ t(
|
|
72
|
+
o.Cancel,
|
|
73
|
+
{
|
|
74
|
+
ref: c,
|
|
75
|
+
"aria-label": a,
|
|
76
|
+
className: l(
|
|
77
|
+
"cai-absolute cai-right-md cai-top-1/2 -cai-translate-y-1/2",
|
|
78
|
+
"cai-inline-flex cai-items-center cai-justify-center cai-w-8 cai-h-8",
|
|
79
|
+
"cai-rounded-md cai-bg-transparent cai-text-icon-primary",
|
|
80
|
+
"hover:cai-bg-secondary cai-transition-colors",
|
|
81
|
+
p,
|
|
82
|
+
i
|
|
83
|
+
),
|
|
84
|
+
...e,
|
|
85
|
+
children: /* @__PURE__ */ t(g, { name: "x-close", size: 20, "aria-hidden": !0 })
|
|
86
|
+
}
|
|
87
|
+
));
|
|
88
|
+
D.displayName = "AlertDialogClose";
|
|
89
|
+
const w = r.forwardRef(
|
|
90
|
+
({ className: i, ...a }, e) => /* @__PURE__ */ t(
|
|
91
|
+
"div",
|
|
92
|
+
{
|
|
93
|
+
ref: e,
|
|
94
|
+
className: l(
|
|
95
|
+
"cai-flex-1 cai-min-h-0 cai-overflow-y-auto",
|
|
96
|
+
"cai-flex cai-flex-col cai-gap-y-xl",
|
|
97
|
+
"cai-px-4xl cai-pt-3xl cai-pb-4xl",
|
|
98
|
+
"[scrollbar-width:thin] [scrollbar-color:var(--bg-scroll)_transparent]",
|
|
99
|
+
"[&::-webkit-scrollbar]:cai-w-2 [&::-webkit-scrollbar-thumb]:cai-bg-scroll [&::-webkit-scrollbar-thumb]:cai-rounded-full",
|
|
100
|
+
i
|
|
101
|
+
),
|
|
102
|
+
...a
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
);
|
|
106
|
+
w.displayName = "AlertDialogBody";
|
|
107
|
+
const u = r.forwardRef(({ className: i, ...a }, e) => /* @__PURE__ */ t(
|
|
108
|
+
o.Description,
|
|
109
|
+
{
|
|
110
|
+
ref: e,
|
|
111
|
+
className: l(
|
|
112
|
+
"cai-text-body2 cai-font-medium cai-leading-relaxed cai-text-secondary",
|
|
113
|
+
i
|
|
114
|
+
),
|
|
115
|
+
...a
|
|
116
|
+
}
|
|
117
|
+
));
|
|
118
|
+
u.displayName = "AlertDialogDescription";
|
|
119
|
+
const N = r.forwardRef(
|
|
120
|
+
({ className: i, ...a }, e) => /* @__PURE__ */ t(
|
|
121
|
+
"div",
|
|
122
|
+
{
|
|
123
|
+
ref: e,
|
|
124
|
+
className: l(
|
|
125
|
+
"cai-flex cai-items-center cai-justify-between cai-gap-x-xl",
|
|
126
|
+
"cai-border-t cai-border-quaternary cai-px-3xl cai-py-xl",
|
|
127
|
+
i
|
|
128
|
+
),
|
|
129
|
+
...a
|
|
130
|
+
}
|
|
131
|
+
)
|
|
132
|
+
);
|
|
133
|
+
N.displayName = "AlertDialogFooter";
|
|
134
|
+
const h = r.forwardRef(({ className: i, ...a }, e) => /* @__PURE__ */ t(
|
|
135
|
+
"div",
|
|
136
|
+
{
|
|
137
|
+
ref: e,
|
|
138
|
+
className: l("cai-flex cai-items-center cai-gap-x-sm", i),
|
|
139
|
+
...a
|
|
140
|
+
}
|
|
141
|
+
));
|
|
142
|
+
h.displayName = "AlertDialogFooterLeft";
|
|
143
|
+
const v = r.forwardRef(({ className: i, children: a, ...e }, c) => /* @__PURE__ */ t(o.Action, { asChild: !0, ...e, children: /* @__PURE__ */ t(s, { ref: c, variant: "primary", size: "sm", className: i, children: a }) }));
|
|
144
|
+
v.displayName = "AlertDialogAction";
|
|
145
|
+
const R = r.forwardRef(({ className: i, children: a, ...e }, c) => /* @__PURE__ */ t(o.Cancel, { asChild: !0, ...e, children: /* @__PURE__ */ t(s, { ref: c, variant: "tertiary", size: "sm", className: i, children: a }) }));
|
|
146
|
+
R.displayName = "AlertDialogCancel";
|
|
147
|
+
export {
|
|
148
|
+
O as AlertDialog,
|
|
149
|
+
v as AlertDialogAction,
|
|
150
|
+
w as AlertDialogBody,
|
|
151
|
+
R as AlertDialogCancel,
|
|
152
|
+
D as AlertDialogClose,
|
|
153
|
+
y as AlertDialogContent,
|
|
154
|
+
u as AlertDialogDescription,
|
|
155
|
+
N as AlertDialogFooter,
|
|
156
|
+
h as AlertDialogFooterLeft,
|
|
157
|
+
b as AlertDialogHeader,
|
|
158
|
+
A as AlertDialogTitle,
|
|
159
|
+
k as AlertDialogTrigger
|
|
160
|
+
};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { AlertDialog, AlertDialogTrigger, AlertDialogContent, AlertDialogHeader, AlertDialogTitle, AlertDialogClose, AlertDialogBody, AlertDialogDescription, AlertDialogFooter, AlertDialogFooterLeft, AlertDialogAction, AlertDialogCancel, } from './AlertDialog';
|
|
2
|
+
export type { AlertDialogContentProps, AlertDialogCloseProps } from './AlertDialog';
|
|
3
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AlertDialog/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,iBAAiB,GAClB,MAAM,eAAe,CAAA;AACtB,YAAY,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("react/jsx-runtime"),d=require("react"),f=require("../../utils/cn.cjs");function p(e){const c=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(c,t,n.get?n:{enumerable:!0,get:()=>e[t]})}}return c.default=e,Object.freeze(c)}const g=p(d),m={golden:1.618,"1/1":1,"2/1":2,"1/2":.5,"3/2":1.5,"2/3":2/3,"4/3":4/3,"3/4":3/4,"5/3":5/3,"3/5":3/5,"5/4":5/4,"4/5":4/5,"7/5":7/5,"5/7":5/7,"16/9":16/9,"9/16":9/16,"16/10":16/10,"10/16":10/16,"21/9":21/9,"9/21":9/21},r=g.forwardRef(({ratio:e=16/9,orientation:c="landscape",className:t,children:n,style:s,...i},l)=>{let a;typeof e=="string"?a=m[e]??(parseFloat(e)||16/9):a=e,c==="portrait"&&(a=1/a);const u=`${1/a*100}%`;return o.jsx("div",{ref:l,className:f.cn("cai-relative cai-w-full cai-overflow-hidden",t),style:{paddingBottom:u,...s},...i,children:o.jsx("div",{className:"cai-absolute cai-inset-0",children:n})})});r.displayName="AspectRatio";exports.AspectRatio=r;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface AspectRatioProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
/**
|
|
4
|
+
* The desired width-to-height ratio.
|
|
5
|
+
* Accepts a named string like "16/9", "golden", "4/3"
|
|
6
|
+
* or a numeric value (e.g. 16/9 = 1.778).
|
|
7
|
+
*/
|
|
8
|
+
ratio?: string | number;
|
|
9
|
+
/**
|
|
10
|
+
* Orientation — only affects paired named ratios.
|
|
11
|
+
* In "portrait" mode, the ratio is inverted (1 / ratio).
|
|
12
|
+
*/
|
|
13
|
+
orientation?: 'landscape' | 'portrait';
|
|
14
|
+
}
|
|
15
|
+
declare const AspectRatio: React.ForwardRefExoticComponent<AspectRatioProps & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
export { AspectRatio };
|
|
17
|
+
//# sourceMappingURL=AspectRatio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AspectRatio.d.ts","sourceRoot":"","sources":["../../../src/components/AspectRatio/AspectRatio.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAkC9B,MAAM,WAAW,gBAAiB,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC5E;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,GAAG,UAAU,CAAA;CACvC;AAMD,QAAA,MAAM,WAAW,yFA4BhB,CAAA;AAID,OAAO,EAAE,WAAW,EAAE,CAAA"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import * as n from "react";
|
|
3
|
+
import { cn as p } from "../../utils/cn.js";
|
|
4
|
+
const f = {
|
|
5
|
+
golden: 1.618,
|
|
6
|
+
"1/1": 1,
|
|
7
|
+
"2/1": 2,
|
|
8
|
+
"1/2": 0.5,
|
|
9
|
+
"3/2": 1.5,
|
|
10
|
+
"2/3": 2 / 3,
|
|
11
|
+
"4/3": 4 / 3,
|
|
12
|
+
"3/4": 3 / 4,
|
|
13
|
+
"5/3": 5 / 3,
|
|
14
|
+
"3/5": 3 / 5,
|
|
15
|
+
"5/4": 5 / 4,
|
|
16
|
+
"4/5": 4 / 5,
|
|
17
|
+
"7/5": 7 / 5,
|
|
18
|
+
"5/7": 5 / 7,
|
|
19
|
+
"16/9": 16 / 9,
|
|
20
|
+
"9/16": 9 / 16,
|
|
21
|
+
"16/10": 16 / 10,
|
|
22
|
+
"10/16": 10 / 16,
|
|
23
|
+
"21/9": 21 / 9,
|
|
24
|
+
"9/21": 9 / 21
|
|
25
|
+
}, m = n.forwardRef(
|
|
26
|
+
({ ratio: t = 16 / 9, orientation: o = "landscape", className: i, children: s, style: c, ...l }, r) => {
|
|
27
|
+
let e;
|
|
28
|
+
typeof t == "string" ? e = f[t] ?? (parseFloat(t) || 16 / 9) : e = t, o === "portrait" && (e = 1 / e);
|
|
29
|
+
const d = `${1 / e * 100}%`;
|
|
30
|
+
return /* @__PURE__ */ a(
|
|
31
|
+
"div",
|
|
32
|
+
{
|
|
33
|
+
ref: r,
|
|
34
|
+
className: p("cai-relative cai-w-full cai-overflow-hidden", i),
|
|
35
|
+
style: { paddingBottom: d, ...c },
|
|
36
|
+
...l,
|
|
37
|
+
children: /* @__PURE__ */ a("div", { className: "cai-absolute cai-inset-0", children: s })
|
|
38
|
+
}
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
);
|
|
42
|
+
m.displayName = "AspectRatio";
|
|
43
|
+
export {
|
|
44
|
+
m as AspectRatio
|
|
45
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/AspectRatio/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),v=require("react"),y=require("../../utils/cn.cjs"),N=require("./Avatar.variants.cjs"),O=require("../Icon/Icon.cjs");function h(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const o=h(v),d=o.forwardRef(({variant:e="initials",size:t,colorTheme:r,src:a,alt:i,initials:n,children:s,className:m,...b},g)=>{const[u,l]=o.useState(!1);o.useEffect(()=>{l(!1)},[a]);const f=!s&&e==="avatar"&&!!a&&!u,p=()=>s||(f?c.jsx("img",{src:a,alt:i??"",onError:()=>l(!0),className:"cai-h-full cai-w-full cai-object-cover"}):(e==="initials"||e==="avatar"&&u)&&n?c.jsx("span",{className:"cai-font-semibold cai-leading-none","aria-hidden":"true",children:n.slice(0,2).toUpperCase()}):c.jsx(O.Icon,{name:"user-01","aria-hidden":"true",className:"cai-h-[60%] cai-w-[60%]"})),j=i??(n?n.slice(0,2).toUpperCase():void 0);return c.jsx("span",{ref:g,role:"img","aria-label":j,className:y.cn(N.avatarVariants({size:t,colorTheme:r}),!f&&"cai-border cai-border-tertiary",m),...b,children:p()})});d.displayName="Avatar";exports.Avatar=d;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { AvatarVariantsProps } from './Avatar.variants';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
type AvatarVariant = 'avatar' | 'initials' | 'placeholder';
|
|
4
|
+
export interface AvatarProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'color'>, AvatarVariantsProps {
|
|
5
|
+
/** Display mode: image, initials text, or generic placeholder icon. */
|
|
6
|
+
variant?: AvatarVariant;
|
|
7
|
+
/** Image source URL (used when variant is "avatar"). */
|
|
8
|
+
src?: string;
|
|
9
|
+
/** Alt text for the avatar image or aria-label for non-image variants. */
|
|
10
|
+
alt?: string;
|
|
11
|
+
/** One or two character string shown when variant is "initials". */
|
|
12
|
+
initials?: string;
|
|
13
|
+
/** Explicit children override the default rendering for fallback content. */
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
declare const Avatar: React.ForwardRefExoticComponent<AvatarProps & React.RefAttributes<HTMLSpanElement>>;
|
|
17
|
+
export { Avatar };
|
|
18
|
+
//# sourceMappingURL=Avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAG9B,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AAM5E,KAAK,aAAa,GAAG,QAAQ,GAAG,UAAU,GAAG,aAAa,CAAA;AAE1D,MAAM,WAAW,WACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,EAAE,mBAAmB;IACjF,uEAAuE;IACvE,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,wDAAwD;IACxD,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,0EAA0E;IAC1E,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,oEAAoE;IACpE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAMD,QAAA,MAAM,MAAM,qFAiEX,CAAA;AAID,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as a } from "react/jsx-runtime";
|
|
2
|
+
import * as i from "react";
|
|
3
|
+
import { cn as N } from "../../utils/cn.js";
|
|
4
|
+
import { avatarVariants as h } from "./Avatar.variants.js";
|
|
5
|
+
import { Icon as v } from "../Icon/Icon.js";
|
|
6
|
+
const w = i.forwardRef(
|
|
7
|
+
({ variant: e = "initials", size: l, colorTheme: f, src: o, alt: s, initials: r, children: t, className: p, ...u }, d) => {
|
|
8
|
+
const [c, n] = i.useState(!1);
|
|
9
|
+
i.useEffect(() => {
|
|
10
|
+
n(!1);
|
|
11
|
+
}, [o]);
|
|
12
|
+
const m = !t && e === "avatar" && !!o && !c, g = () => t || (m ? /* @__PURE__ */ a(
|
|
13
|
+
"img",
|
|
14
|
+
{
|
|
15
|
+
src: o,
|
|
16
|
+
alt: s ?? "",
|
|
17
|
+
onError: () => n(!0),
|
|
18
|
+
className: "cai-h-full cai-w-full cai-object-cover"
|
|
19
|
+
}
|
|
20
|
+
) : (e === "initials" || e === "avatar" && c) && r ? /* @__PURE__ */ a("span", { className: "cai-font-semibold cai-leading-none", "aria-hidden": "true", children: r.slice(0, 2).toUpperCase() }) : /* @__PURE__ */ a(
|
|
21
|
+
v,
|
|
22
|
+
{
|
|
23
|
+
name: "user-01",
|
|
24
|
+
"aria-hidden": "true",
|
|
25
|
+
className: "cai-h-[60%] cai-w-[60%]"
|
|
26
|
+
}
|
|
27
|
+
)), b = s ?? (r ? r.slice(0, 2).toUpperCase() : void 0);
|
|
28
|
+
return /* @__PURE__ */ a(
|
|
29
|
+
"span",
|
|
30
|
+
{
|
|
31
|
+
ref: d,
|
|
32
|
+
role: "img",
|
|
33
|
+
"aria-label": b,
|
|
34
|
+
className: N(
|
|
35
|
+
h({ size: l, colorTheme: f }),
|
|
36
|
+
!m && "cai-border cai-border-tertiary",
|
|
37
|
+
p
|
|
38
|
+
),
|
|
39
|
+
...u,
|
|
40
|
+
children: g()
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
);
|
|
45
|
+
w.displayName = "Avatar";
|
|
46
|
+
export {
|
|
47
|
+
w as Avatar
|
|
48
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("class-variance-authority"),i=a.cva("cai-relative cai-inline-flex cai-items-center cai-justify-center cai-rounded-full cai-overflow-hidden cai-select-none cai-shrink-0",{variants:{size:{xxs:"cai-h-3 cai-w-3 cai-text-[0.375rem]",xs:"cai-h-4 cai-w-4 cai-text-[0.5rem]",sm:"cai-h-5 cai-w-5 cai-text-micro2",md:"cai-h-6 cai-w-6 cai-text-micro1",lg:"cai-h-7 cai-w-7 cai-text-subbody",xl:"cai-h-8 cai-w-8 cai-text-body2","2xl":"cai-h-9 cai-w-9 cai-text-body1","3xl":"cai-h-10 cai-w-10 cai-text-body1","4xl":"cai-h-11 cai-w-11 cai-text-heading4","5xl":"cai-h-12 cai-w-12 cai-text-heading4"},colorTheme:{grey:"cai-bg-tertiary cai-text-primary [&_svg]:cai-text-icon-secondary",brand:"cai-bg-brand-primary cai-text-primary-invert [&_svg]:cai-text-icon-primary-invert","teal-light":"cai-bg-[var(--dv-teal-75)] cai-text-primary-alt [&_svg]:cai-text-icon-primary-alt","teal-dark":"cai-bg-[var(--dv-teal-600)] cai-text-primary-invert-alt [&_svg]:cai-text-icon-primary-invert-alt",lavender:"cai-bg-[var(--dv-lavender-75)] cai-text-primary-alt [&_svg]:cai-text-icon-primary-alt",lime:"cai-bg-[var(--dv-lime-200)] cai-text-primary-alt [&_svg]:cai-text-icon-primary-alt",pink:"cai-bg-[var(--dv-pink-300)] cai-text-primary-invert-alt [&_svg]:cai-text-icon-primary-invert-alt",orange:"cai-bg-[var(--dv-orange-300)] cai-text-primary-invert-alt [&_svg]:cai-text-icon-primary-invert-alt"}},defaultVariants:{size:"md",colorTheme:"grey"}});exports.avatarVariants=i;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
export declare const avatarVariants: (props?: ({
|
|
3
|
+
size?: "xxs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl" | "5xl" | null | undefined;
|
|
4
|
+
colorTheme?: "grey" | "brand" | "teal-light" | "teal-dark" | "lavender" | "lime" | "pink" | "orange" | null | undefined;
|
|
5
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
6
|
+
export type AvatarVariantsProps = VariantProps<typeof avatarVariants>;
|
|
7
|
+
//# sourceMappingURL=Avatar.variants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Avatar.variants.d.ts","sourceRoot":"","sources":["../../../src/components/Avatar/Avatar.variants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEjE,eAAO,MAAM,cAAc;;;8EAiC1B,CAAA;AAED,MAAM,MAAM,mBAAmB,GAAG,YAAY,CAAC,OAAO,cAAc,CAAC,CAAA"}
|