@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
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import { jsxs as d, jsx as a, Fragment as G } from "react/jsx-runtime";
|
|
2
|
+
import * as r from "react";
|
|
3
|
+
import { RadioIndicator as _, CheckboxIndicator as J } from "../_shared/SelectionIndicators.js";
|
|
4
|
+
import { FOCUS_RING as Q } from "../../utils/focusRing.js";
|
|
5
|
+
import { cn as x } from "../../utils/cn.js";
|
|
6
|
+
import { Popover as V, PopoverTrigger as X, PopoverContent as Y } from "../Popover/Popover.js";
|
|
7
|
+
import { Avatar as Z } from "../Avatar/Avatar.js";
|
|
8
|
+
const ee = () => /* @__PURE__ */ a(
|
|
9
|
+
"svg",
|
|
10
|
+
{
|
|
11
|
+
width: "14",
|
|
12
|
+
height: "14",
|
|
13
|
+
viewBox: "0 0 24 24",
|
|
14
|
+
fill: "none",
|
|
15
|
+
stroke: "currentColor",
|
|
16
|
+
strokeWidth: "2",
|
|
17
|
+
strokeLinecap: "round",
|
|
18
|
+
strokeLinejoin: "round",
|
|
19
|
+
"aria-hidden": "true",
|
|
20
|
+
children: /* @__PURE__ */ a("path", { d: "M6 9l6 6 6-6" })
|
|
21
|
+
}
|
|
22
|
+
), ae = () => /* @__PURE__ */ d(
|
|
23
|
+
"svg",
|
|
24
|
+
{
|
|
25
|
+
width: "14",
|
|
26
|
+
height: "14",
|
|
27
|
+
viewBox: "0 0 24 24",
|
|
28
|
+
fill: "none",
|
|
29
|
+
stroke: "currentColor",
|
|
30
|
+
strokeWidth: "2",
|
|
31
|
+
strokeLinecap: "round",
|
|
32
|
+
strokeLinejoin: "round",
|
|
33
|
+
"aria-hidden": "true",
|
|
34
|
+
children: [
|
|
35
|
+
/* @__PURE__ */ a("circle", { cx: "12", cy: "12", r: "10" }),
|
|
36
|
+
/* @__PURE__ */ a("line", { x1: "12", y1: "8", x2: "12", y2: "12" }),
|
|
37
|
+
/* @__PURE__ */ a("line", { x1: "12", y1: "16", x2: "12.01", y2: "16" })
|
|
38
|
+
]
|
|
39
|
+
}
|
|
40
|
+
), te = {
|
|
41
|
+
online: "cai-bg-[var(--comp-success-bg)]",
|
|
42
|
+
busy: "cai-bg-[var(--comp-error-bg)]",
|
|
43
|
+
offline: "cai-bg-[var(--icon-tertiary)]"
|
|
44
|
+
};
|
|
45
|
+
function L(n) {
|
|
46
|
+
return n == null ? [] : Array.isArray(n) ? n : [n];
|
|
47
|
+
}
|
|
48
|
+
const ie = ({ status: n }) => /* @__PURE__ */ a(
|
|
49
|
+
"span",
|
|
50
|
+
{
|
|
51
|
+
className: x(
|
|
52
|
+
"cai-h-2 cai-w-2 cai-shrink-0 cai-rounded-full",
|
|
53
|
+
n ? te[n] : "cai-bg-[var(--icon-tertiary)]"
|
|
54
|
+
),
|
|
55
|
+
"aria-hidden": "true"
|
|
56
|
+
}
|
|
57
|
+
), re = ({
|
|
58
|
+
id: n,
|
|
59
|
+
item: t,
|
|
60
|
+
variant: o,
|
|
61
|
+
selected: u,
|
|
62
|
+
active: m,
|
|
63
|
+
onToggle: h,
|
|
64
|
+
onHover: g
|
|
65
|
+
}) => {
|
|
66
|
+
const y = r.useCallback(() => {
|
|
67
|
+
h(t.value);
|
|
68
|
+
}, [t.value, h]);
|
|
69
|
+
return /* @__PURE__ */ d(
|
|
70
|
+
"div",
|
|
71
|
+
{
|
|
72
|
+
id: n,
|
|
73
|
+
role: "option",
|
|
74
|
+
"aria-selected": u,
|
|
75
|
+
onClick: y,
|
|
76
|
+
onMouseEnter: g,
|
|
77
|
+
className: x(
|
|
78
|
+
/* DropdownMenu item pattern: rounded-md, p-lg padding, transparent border, transition-colors. */
|
|
79
|
+
"cai-flex cai-cursor-pointer cai-select-none cai-items-center cai-gap-md cai-rounded-md cai-border cai-border-transparent cai-p-lg",
|
|
80
|
+
"cai-text-subbody cai-font-medium cai-text-primary",
|
|
81
|
+
"cai-outline-none cai-transition-colors",
|
|
82
|
+
/* Precedence: the avatar selected state (persistent lock-in) wins
|
|
83
|
+
* over hover/keyboard-active. For single + multi variants, selection
|
|
84
|
+
* is conveyed by the radio/checkbox indicator alone — only
|
|
85
|
+
* hover/keyboard-active rows tint via bg-tertiary.
|
|
86
|
+
*
|
|
87
|
+
* - Avatar selected (resting OR hovered): bg-secondary (selected wins)
|
|
88
|
+
* - Avatar unselected, hover/active: bg-tertiary
|
|
89
|
+
* - Avatar unselected, resting: transparent
|
|
90
|
+
* - Single/multi resting: transparent
|
|
91
|
+
* - Single/multi hover/active: bg-tertiary
|
|
92
|
+
* - Single/multi never receive bg-secondary
|
|
93
|
+
*/
|
|
94
|
+
o === "avatar" && u ? "cai-bg-secondary" : m && "cai-bg-tertiary"
|
|
95
|
+
),
|
|
96
|
+
children: [
|
|
97
|
+
o === "single" && /* @__PURE__ */ a(_, { checked: u }),
|
|
98
|
+
o === "multi" && /* @__PURE__ */ a(J, { checked: u }),
|
|
99
|
+
o === "avatar" && /* @__PURE__ */ a(ie, { status: t.status }),
|
|
100
|
+
o === "avatar" && t.avatar ? /* @__PURE__ */ a("span", { className: "cai-flex cai-shrink-0 cai-items-center", children: t.avatar }) : o === "avatar" ? /* @__PURE__ */ a(Z, { variant: "initials", size: "sm", initials: t.label.slice(0, 2) }) : null,
|
|
101
|
+
o === "avatar" ? /* @__PURE__ */ d(G, { children: [
|
|
102
|
+
/* @__PURE__ */ a("span", { className: "cai-truncate cai-font-semibold cai-text-primary", children: t.label }),
|
|
103
|
+
t.supportText && /* @__PURE__ */ a("span", { className: "cai-ml-auto cai-text-subbody cai-text-secondary", children: t.supportText })
|
|
104
|
+
] }) : /* @__PURE__ */ d("span", { className: "cai-flex cai-flex-col cai-gap-y-xxs", children: [
|
|
105
|
+
/* @__PURE__ */ a("span", { className: "cai-font-semibold cai-text-primary", children: t.label }),
|
|
106
|
+
t.supportText && /* @__PURE__ */ a("span", { className: "cai-text-subbody cai-text-secondary", children: t.supportText })
|
|
107
|
+
] })
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
}, ce = r.forwardRef(
|
|
112
|
+
({
|
|
113
|
+
variant: n = "single",
|
|
114
|
+
items: t = [],
|
|
115
|
+
selectedValue: o,
|
|
116
|
+
onSelect: u,
|
|
117
|
+
placeholder: m = "Select an option",
|
|
118
|
+
label: h,
|
|
119
|
+
labelRight: g,
|
|
120
|
+
errorText: y,
|
|
121
|
+
required: R = !1,
|
|
122
|
+
disabled: T = !1,
|
|
123
|
+
id: P,
|
|
124
|
+
className: B
|
|
125
|
+
}, F) => {
|
|
126
|
+
const W = r.useId(), b = P ?? W, j = `${b}-listbox`, $ = y ? `${b}-message` : void 0, N = r.useCallback((e) => `${b}-opt-${e}`, [b]), f = n === "multi" || n === "avatar", v = !!y, [k, I] = r.useState(!1), [l, p] = r.useState(-1), D = r.useRef(null), H = r.useRef({ text: "", timer: null }), w = o !== void 0, [K, M] = r.useState(() => L(o));
|
|
127
|
+
r.useEffect(() => {
|
|
128
|
+
w && M(L(o));
|
|
129
|
+
}, [w, o]);
|
|
130
|
+
const c = w ? L(o) : K, S = r.useCallback(
|
|
131
|
+
(e) => {
|
|
132
|
+
w || M(e), u && u(f ? e : e[0]);
|
|
133
|
+
},
|
|
134
|
+
[w, f, u]
|
|
135
|
+
), A = r.useCallback(
|
|
136
|
+
(e) => {
|
|
137
|
+
if (f) {
|
|
138
|
+
const s = c.includes(e) ? c.filter((C) => C !== e) : [...c, e];
|
|
139
|
+
S(s);
|
|
140
|
+
} else {
|
|
141
|
+
const i = c[0] === e ? [] : [e];
|
|
142
|
+
S(i), I(!1);
|
|
143
|
+
}
|
|
144
|
+
},
|
|
145
|
+
[S, c, f]
|
|
146
|
+
);
|
|
147
|
+
r.useEffect(() => {
|
|
148
|
+
if (!k) return;
|
|
149
|
+
const e = t.findIndex((s) => c.includes(s.value));
|
|
150
|
+
p(e >= 0 ? e : 0);
|
|
151
|
+
const i = setTimeout(() => D.current?.focus(), 0);
|
|
152
|
+
return () => clearTimeout(i);
|
|
153
|
+
}, [k, t, c]), r.useEffect(() => {
|
|
154
|
+
if (!k || l < 0) return;
|
|
155
|
+
D.current?.querySelector(
|
|
156
|
+
`#${CSS.escape(N(l))}`
|
|
157
|
+
)?.scrollIntoView({ block: "nearest" });
|
|
158
|
+
}, [l, k, N]);
|
|
159
|
+
const U = r.useCallback(
|
|
160
|
+
(e) => {
|
|
161
|
+
if (t.length) {
|
|
162
|
+
if (e.key === "ArrowDown")
|
|
163
|
+
e.preventDefault(), p((i) => (i + 1) % t.length);
|
|
164
|
+
else if (e.key === "ArrowUp")
|
|
165
|
+
e.preventDefault(), p((i) => i <= 0 ? t.length - 1 : i - 1);
|
|
166
|
+
else if (e.key === "Home")
|
|
167
|
+
e.preventDefault(), p(0);
|
|
168
|
+
else if (e.key === "End")
|
|
169
|
+
e.preventDefault(), p(t.length - 1);
|
|
170
|
+
else if (e.key === "Enter" || e.key === " ")
|
|
171
|
+
e.preventDefault(), l >= 0 && A(t[l].value);
|
|
172
|
+
else if (e.key === "Escape")
|
|
173
|
+
e.preventDefault(), I(!1);
|
|
174
|
+
else if (e.key.length === 1 && /\S/.test(e.key)) {
|
|
175
|
+
const i = H.current;
|
|
176
|
+
i.timer && clearTimeout(i.timer), i.text = (i.text + e.key).toLowerCase();
|
|
177
|
+
const s = l >= 0 ? l + 1 : 0, C = t.length;
|
|
178
|
+
for (let E = 0; E < C; E += 1) {
|
|
179
|
+
const O = (s + E) % C;
|
|
180
|
+
if (t[O].label.toLowerCase().startsWith(i.text)) {
|
|
181
|
+
p(O);
|
|
182
|
+
break;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
i.timer = setTimeout(() => {
|
|
186
|
+
i.text = "";
|
|
187
|
+
}, 600);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
[t, l, A]
|
|
192
|
+
), q = r.useMemo(() => {
|
|
193
|
+
if (f) {
|
|
194
|
+
const s = c.length;
|
|
195
|
+
return s > 0 ? `${s} Selected` : m;
|
|
196
|
+
}
|
|
197
|
+
const e = c[0];
|
|
198
|
+
return e ? t.find((s) => s.value === e)?.label ?? m : m;
|
|
199
|
+
}, [c, f, t, m]), z = r.useMemo(() => f ? c.length === 0 : !c[0], [c, f]);
|
|
200
|
+
return /* @__PURE__ */ d(
|
|
201
|
+
"div",
|
|
202
|
+
{
|
|
203
|
+
className: x(
|
|
204
|
+
"cai-flex cai-w-full cai-flex-col cai-gap-y-xs cai-font-sans",
|
|
205
|
+
T && "cai-pointer-events-none cai-opacity-40",
|
|
206
|
+
B
|
|
207
|
+
),
|
|
208
|
+
children: [
|
|
209
|
+
(h || g) && /* @__PURE__ */ d("div", { className: "cai-flex cai-items-center cai-justify-between", children: [
|
|
210
|
+
h ? /* @__PURE__ */ d(
|
|
211
|
+
"label",
|
|
212
|
+
{
|
|
213
|
+
htmlFor: b,
|
|
214
|
+
className: "cai-text-[13px] cai-font-medium cai-text-primary",
|
|
215
|
+
children: [
|
|
216
|
+
h,
|
|
217
|
+
R && /* @__PURE__ */ a("span", { className: "cai-ml-0.5 cai-text-icon-error", "aria-hidden": "true", children: "*" })
|
|
218
|
+
]
|
|
219
|
+
}
|
|
220
|
+
) : /* @__PURE__ */ a("span", {}),
|
|
221
|
+
g && /* @__PURE__ */ a("span", { className: "cai-ml-auto cai-text-eyebrow1 cai-font-medium cai-text-primary", children: g })
|
|
222
|
+
] }),
|
|
223
|
+
/* @__PURE__ */ d(V, { open: k, onOpenChange: I, children: [
|
|
224
|
+
/* @__PURE__ */ a(X, { asChild: !0, children: /* @__PURE__ */ d(
|
|
225
|
+
"button",
|
|
226
|
+
{
|
|
227
|
+
ref: F,
|
|
228
|
+
id: b,
|
|
229
|
+
type: "button",
|
|
230
|
+
disabled: T,
|
|
231
|
+
"aria-required": R || void 0,
|
|
232
|
+
"aria-invalid": v || void 0,
|
|
233
|
+
"aria-describedby": $,
|
|
234
|
+
"aria-controls": j,
|
|
235
|
+
className: x(
|
|
236
|
+
"cai-group cai-flex cai-w-full cai-items-center cai-justify-between cai-gap-md cai-rounded-md cai-border cai-px-[14px] cai-py-[10px]",
|
|
237
|
+
"cai-text-[12px] cai-font-medium",
|
|
238
|
+
"cai-outline-none cai-transition-colors",
|
|
239
|
+
Q,
|
|
240
|
+
v ? "cai-border-error cai-bg-error cai-text-primary-alt focus-visible:cai-border-error" : [
|
|
241
|
+
"cai-border-septenary cai-bg-primary-invert cai-text-primary",
|
|
242
|
+
/* Wrapper hover applies only in the default state. Scoping
|
|
243
|
+
* via data-[state=closed] keeps hover from competing with
|
|
244
|
+
* the open-state border treatment, and focus-visible (via
|
|
245
|
+
* the FOCUS_RING utility) takes precedence over the hover
|
|
246
|
+
* background by source order. */
|
|
247
|
+
"data-[state=closed]:hover:cai-border-nonary data-[state=closed]:hover:cai-bg-secondary",
|
|
248
|
+
"focus-visible:cai-border-brand-primary",
|
|
249
|
+
"data-[state=open]:cai-border-nonary"
|
|
250
|
+
]
|
|
251
|
+
),
|
|
252
|
+
children: [
|
|
253
|
+
/* @__PURE__ */ a(
|
|
254
|
+
"span",
|
|
255
|
+
{
|
|
256
|
+
className: x(
|
|
257
|
+
"cai-flex-1 cai-truncate cai-text-left",
|
|
258
|
+
z && !v && "cai-text-primary",
|
|
259
|
+
v && "cai-text-primary-alt"
|
|
260
|
+
),
|
|
261
|
+
children: q
|
|
262
|
+
}
|
|
263
|
+
),
|
|
264
|
+
/* @__PURE__ */ a(
|
|
265
|
+
"span",
|
|
266
|
+
{
|
|
267
|
+
className: x(
|
|
268
|
+
"cai-flex cai-shrink-0 cai-items-center cai-transition-transform cai-duration-200",
|
|
269
|
+
"group-data-[state=open]:cai-rotate-180",
|
|
270
|
+
v ? "cai-text-icon-primary-alt" : "cai-text-tertiary"
|
|
271
|
+
),
|
|
272
|
+
children: /* @__PURE__ */ a(ee, {})
|
|
273
|
+
}
|
|
274
|
+
)
|
|
275
|
+
]
|
|
276
|
+
}
|
|
277
|
+
) }),
|
|
278
|
+
/* @__PURE__ */ a(
|
|
279
|
+
Y,
|
|
280
|
+
{
|
|
281
|
+
align: "start",
|
|
282
|
+
sideOffset: 4,
|
|
283
|
+
className: x(
|
|
284
|
+
/* Panel matches the DropdownMenuContent pattern: rounded-md (8px),
|
|
285
|
+
* 1px tertiary border, primary-invert background, p-lg padding,
|
|
286
|
+
* shallow shadow. */
|
|
287
|
+
"cai-w-[var(--radix-popover-trigger-width)] cai-max-w-none",
|
|
288
|
+
"cai-rounded-md cai-border cai-border-tertiary cai-bg-primary-invert cai-p-lg cai-shadow-shallow"
|
|
289
|
+
),
|
|
290
|
+
children: /* @__PURE__ */ a(
|
|
291
|
+
"div",
|
|
292
|
+
{
|
|
293
|
+
ref: D,
|
|
294
|
+
id: j,
|
|
295
|
+
role: "listbox",
|
|
296
|
+
tabIndex: -1,
|
|
297
|
+
"aria-multiselectable": f || void 0,
|
|
298
|
+
"aria-activedescendant": l >= 0 ? N(l) : void 0,
|
|
299
|
+
onKeyDown: U,
|
|
300
|
+
className: "cai-flex cai-max-h-[280px] cai-flex-col cai-gap-y-xxs cai-overflow-y-auto cai-outline-none",
|
|
301
|
+
children: t.map((e, i) => {
|
|
302
|
+
const s = c.includes(e.value);
|
|
303
|
+
return /* @__PURE__ */ a(
|
|
304
|
+
re,
|
|
305
|
+
{
|
|
306
|
+
id: N(i),
|
|
307
|
+
item: e,
|
|
308
|
+
variant: n,
|
|
309
|
+
selected: s,
|
|
310
|
+
active: i === l,
|
|
311
|
+
onToggle: A,
|
|
312
|
+
onHover: () => p(i)
|
|
313
|
+
},
|
|
314
|
+
e.value
|
|
315
|
+
);
|
|
316
|
+
})
|
|
317
|
+
}
|
|
318
|
+
)
|
|
319
|
+
}
|
|
320
|
+
)
|
|
321
|
+
] }),
|
|
322
|
+
y && /* @__PURE__ */ d(
|
|
323
|
+
"div",
|
|
324
|
+
{
|
|
325
|
+
id: $,
|
|
326
|
+
role: "alert",
|
|
327
|
+
className: "cai-mt-xs cai-flex cai-items-center cai-gap-1",
|
|
328
|
+
children: [
|
|
329
|
+
/* @__PURE__ */ a("span", { className: "cai-flex cai-items-center cai-text-icon-error", children: /* @__PURE__ */ a(ae, {}) }),
|
|
330
|
+
/* @__PURE__ */ a("span", { className: "cai-font-sans cai-text-xs cai-font-medium cai-pt-[3px] cai-text-error", children: y })
|
|
331
|
+
]
|
|
332
|
+
}
|
|
333
|
+
)
|
|
334
|
+
]
|
|
335
|
+
}
|
|
336
|
+
);
|
|
337
|
+
}
|
|
338
|
+
);
|
|
339
|
+
ce.displayName = "DropdownSelect";
|
|
340
|
+
export {
|
|
341
|
+
ce as DropdownSelect
|
|
342
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/DropdownSelect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,YAAY,EACV,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),w=require("react"),n=require("../../utils/cn.cjs"),v=require("../../utils/focusRing.cjs"),I=require("../ProgressCircle/ProgressCircle.cjs"),t=require("../Icon/Icon.cjs");function N(a){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const r in a)if(r!=="default"){const o=Object.getOwnPropertyDescriptor(a,r);Object.defineProperty(i,r,o.get?o:{enumerable:!0,get:()=>a[r]})}}return i.default=a,Object.freeze(i)}const z=N(w),O={uploaded:e.jsx(t.Icon,{name:"trash-01",size:16}),uploading:e.jsx(t.Icon,{name:"x-close",size:16}),error:e.jsx(t.Icon,{name:"refresh-cw-01",size:16}),download:e.jsx(t.Icon,{name:"download-01",size:16})},R={uploaded:"Delete file",uploading:"Cancel upload",error:"Retry upload",download:"Download file"},s=z.forwardRef(({fileName:a,variant:i="uploading",fileSize:r,filetypeIcon:o,errorMessage:l="Upload your files again. There was a problem with the server.",loadingLabel:d="Loading",onActionClick:u,iconLabel:x,actionIcon:m,className:p,...f},y)=>{const c=i==="error",b=i==="uploading",h=m??O[i],g=x??R[i],j=o??e.jsx(t.Icon,{name:"file-04",size:24,strokeWidth:1.5});return e.jsxs("div",{ref:y,className:n.cn("cai-flex cai-w-full cai-min-w-[180px] cai-items-center","cai-rounded-xl cai-border cai-border-tertiary cai-bg-primary-invert","cai-p-[8px] cai-text-primary","focus-within:cai-border-brand-primary focus-within:cai-outline",v.FOCUS_WITHIN_RING,c&&"!cai-border-error-alt !cai-bg-error",p),...f,children:[e.jsxs("div",{className:"cai-flex cai-items-center cai-gap-x-[8px] cai-min-w-0 cai-flex-1",children:[e.jsx("div",{className:"cai-flex cai-items-center cai-justify-center cai-flex-shrink-0",style:{width:40,height:40,color:c?"var(--icon-primary-alt)":"var(--icon-primary)"},children:b?e.jsx(I.ProgressCircle,{size:"xxs",indeterminate:!0,label:d}):j}),e.jsxs("div",{className:"cai-flex cai-flex-col cai-gap-y-xxs cai-min-w-0",children:[e.jsx("span",{className:"cai-text-subbody cai-font-semibold cai-truncate",style:c?{color:"var(--text-primary-alt)"}:void 0,children:a}),c?e.jsxs("div",{className:"cai-flex cai-items-center cai-gap-x-[4px] cai-min-w-0",style:{color:"var(--text-error-alt)"},children:[e.jsx("span",{className:"cai-flex-shrink-0 cai-inline-flex cai-items-center",style:{color:"var(--icon-error-alt)"},children:e.jsx(t.Icon,{name:"alert-circle",size:12})}),e.jsx("span",{className:"cai-text-micro1 cai-font-semibold cai-truncate cai-min-w-0",style:{color:"var(--text-error-alt)"},children:l})]}):r&&e.jsx("span",{className:"cai-text-micro1 cai-text-tertiary",children:r})]})]}),e.jsx("button",{type:"button",onClick:u,"aria-label":g,className:n.cn("cai-flex cai-items-center cai-justify-center","cai-border-none cai-bg-transparent cai-cursor-pointer",!c&&"cai-text-secondary hover:cai-text-primary","cai-rounded-sm cai-flex-shrink-0 cai-transition-colors","focus:cai-outline-none"),style:{width:32,height:32,padding:0,marginLeft:12,...c?{color:"var(--icon-primary-alt)"}:{}},children:h})]})});s.displayName="FileStatus";exports.FileStatus=s;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
type FileStatusVariant = 'uploaded' | 'uploading' | 'error' | 'download';
|
|
3
|
+
export interface FileStatusProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
|
|
4
|
+
/** File name to display (required). */
|
|
5
|
+
fileName: string;
|
|
6
|
+
/** Current status variant. */
|
|
7
|
+
variant?: FileStatusVariant;
|
|
8
|
+
/** File size text (e.g. "200 KB"). */
|
|
9
|
+
fileSize?: string;
|
|
10
|
+
/** Icon element for the file type indicator. Rendered when not uploading. */
|
|
11
|
+
filetypeIcon?: React.ReactElement;
|
|
12
|
+
/** Error description (error variant only). */
|
|
13
|
+
errorMessage?: string;
|
|
14
|
+
/** Aria-label for the progress circle in uploading state. */
|
|
15
|
+
loadingLabel?: string;
|
|
16
|
+
/** Click handler for the action button (delete, cancel, retry, download). */
|
|
17
|
+
onActionClick: () => void;
|
|
18
|
+
/** Aria-label for the action button. */
|
|
19
|
+
iconLabel?: string;
|
|
20
|
+
/** Custom action icon override. */
|
|
21
|
+
actionIcon?: React.ReactElement;
|
|
22
|
+
}
|
|
23
|
+
declare const FileStatus: React.ForwardRefExoticComponent<FileStatusProps & React.RefAttributes<HTMLDivElement>>;
|
|
24
|
+
export { FileStatus };
|
|
25
|
+
//# sourceMappingURL=FileStatus.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileStatus.d.ts","sourceRoot":"","sources":["../../../src/components/FileStatus/FileStatus.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAM9B,KAAK,iBAAiB,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,CAAA;AAExE,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IAC7F,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAA;IAChB,8BAA8B;IAC9B,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6EAA6E;IAC7E,YAAY,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;IACjC,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,aAAa,EAAE,MAAM,IAAI,CAAA;IACzB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,mCAAmC;IACnC,UAAU,CAAC,EAAE,KAAK,CAAC,YAAY,CAAA;CAChC;AAgBD,QAAA,MAAM,UAAU,wFAkHf,CAAA;AAID,OAAO,EAAE,UAAU,EAAE,CAAA"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { jsxs as c, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import * as v from "react";
|
|
3
|
+
import { cn as t } from "../../utils/cn.js";
|
|
4
|
+
import { FOCUS_WITHIN_RING as N } from "../../utils/focusRing.js";
|
|
5
|
+
import { ProgressCircle as I } from "../ProgressCircle/ProgressCircle.js";
|
|
6
|
+
import { Icon as a } from "../Icon/Icon.js";
|
|
7
|
+
const z = {
|
|
8
|
+
uploaded: /* @__PURE__ */ e(a, { name: "trash-01", size: 16 }),
|
|
9
|
+
uploading: /* @__PURE__ */ e(a, { name: "x-close", size: 16 }),
|
|
10
|
+
error: /* @__PURE__ */ e(a, { name: "refresh-cw-01", size: 16 }),
|
|
11
|
+
download: /* @__PURE__ */ e(a, { name: "download-01", size: 16 })
|
|
12
|
+
}, k = {
|
|
13
|
+
uploaded: "Delete file",
|
|
14
|
+
uploading: "Cancel upload",
|
|
15
|
+
error: "Retry upload",
|
|
16
|
+
download: "Download file"
|
|
17
|
+
}, j = v.forwardRef(
|
|
18
|
+
({
|
|
19
|
+
fileName: l,
|
|
20
|
+
variant: r = "uploading",
|
|
21
|
+
fileSize: o,
|
|
22
|
+
filetypeIcon: n,
|
|
23
|
+
errorMessage: s = "Upload your files again. There was a problem with the server.",
|
|
24
|
+
loadingLabel: d = "Loading",
|
|
25
|
+
onActionClick: m,
|
|
26
|
+
iconLabel: p,
|
|
27
|
+
actionIcon: x,
|
|
28
|
+
className: f,
|
|
29
|
+
...u
|
|
30
|
+
}, h) => {
|
|
31
|
+
const i = r === "error", y = r === "uploading", b = x ?? z[r], g = p ?? k[r], w = n ?? /* @__PURE__ */ e(a, { name: "file-04", size: 24, strokeWidth: 1.5 });
|
|
32
|
+
return /* @__PURE__ */ c(
|
|
33
|
+
"div",
|
|
34
|
+
{
|
|
35
|
+
ref: h,
|
|
36
|
+
className: t(
|
|
37
|
+
"cai-flex cai-w-full cai-min-w-[180px] cai-items-center",
|
|
38
|
+
"cai-rounded-xl cai-border cai-border-tertiary cai-bg-primary-invert",
|
|
39
|
+
"cai-p-[8px] cai-text-primary",
|
|
40
|
+
"focus-within:cai-border-brand-primary focus-within:cai-outline",
|
|
41
|
+
N,
|
|
42
|
+
i && "!cai-border-error-alt !cai-bg-error",
|
|
43
|
+
f
|
|
44
|
+
),
|
|
45
|
+
...u,
|
|
46
|
+
children: [
|
|
47
|
+
/* @__PURE__ */ c("div", { className: "cai-flex cai-items-center cai-gap-x-[8px] cai-min-w-0 cai-flex-1", children: [
|
|
48
|
+
/* @__PURE__ */ e(
|
|
49
|
+
"div",
|
|
50
|
+
{
|
|
51
|
+
className: "cai-flex cai-items-center cai-justify-center cai-flex-shrink-0",
|
|
52
|
+
style: {
|
|
53
|
+
width: 40,
|
|
54
|
+
height: 40,
|
|
55
|
+
color: i ? "var(--icon-primary-alt)" : "var(--icon-primary)"
|
|
56
|
+
},
|
|
57
|
+
children: y ? /* @__PURE__ */ e(I, { size: "xxs", indeterminate: !0, label: d }) : w
|
|
58
|
+
}
|
|
59
|
+
),
|
|
60
|
+
/* @__PURE__ */ c("div", { className: "cai-flex cai-flex-col cai-gap-y-xxs cai-min-w-0", children: [
|
|
61
|
+
/* @__PURE__ */ e(
|
|
62
|
+
"span",
|
|
63
|
+
{
|
|
64
|
+
className: "cai-text-subbody cai-font-semibold cai-truncate",
|
|
65
|
+
style: i ? { color: "var(--text-primary-alt)" } : void 0,
|
|
66
|
+
children: l
|
|
67
|
+
}
|
|
68
|
+
),
|
|
69
|
+
i ? /* @__PURE__ */ c(
|
|
70
|
+
"div",
|
|
71
|
+
{
|
|
72
|
+
className: "cai-flex cai-items-center cai-gap-x-[4px] cai-min-w-0",
|
|
73
|
+
style: { color: "var(--text-error-alt)" },
|
|
74
|
+
children: [
|
|
75
|
+
/* @__PURE__ */ e(
|
|
76
|
+
"span",
|
|
77
|
+
{
|
|
78
|
+
className: "cai-flex-shrink-0 cai-inline-flex cai-items-center",
|
|
79
|
+
style: { color: "var(--icon-error-alt)" },
|
|
80
|
+
children: /* @__PURE__ */ e(a, { name: "alert-circle", size: 12 })
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
/* @__PURE__ */ e(
|
|
84
|
+
"span",
|
|
85
|
+
{
|
|
86
|
+
className: "cai-text-micro1 cai-font-semibold cai-truncate cai-min-w-0",
|
|
87
|
+
style: { color: "var(--text-error-alt)" },
|
|
88
|
+
children: s
|
|
89
|
+
}
|
|
90
|
+
)
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
) : o && /* @__PURE__ */ e("span", { className: "cai-text-micro1 cai-text-tertiary", children: o })
|
|
94
|
+
] })
|
|
95
|
+
] }),
|
|
96
|
+
/* @__PURE__ */ e(
|
|
97
|
+
"button",
|
|
98
|
+
{
|
|
99
|
+
type: "button",
|
|
100
|
+
onClick: m,
|
|
101
|
+
"aria-label": g,
|
|
102
|
+
className: t(
|
|
103
|
+
"cai-flex cai-items-center cai-justify-center",
|
|
104
|
+
"cai-border-none cai-bg-transparent cai-cursor-pointer",
|
|
105
|
+
!i && "cai-text-secondary hover:cai-text-primary",
|
|
106
|
+
"cai-rounded-sm cai-flex-shrink-0 cai-transition-colors",
|
|
107
|
+
"focus:cai-outline-none"
|
|
108
|
+
),
|
|
109
|
+
style: {
|
|
110
|
+
width: 32,
|
|
111
|
+
height: 32,
|
|
112
|
+
padding: 0,
|
|
113
|
+
marginLeft: 12,
|
|
114
|
+
...i ? { color: "var(--icon-primary-alt)" } : {}
|
|
115
|
+
},
|
|
116
|
+
children: b
|
|
117
|
+
}
|
|
118
|
+
)
|
|
119
|
+
]
|
|
120
|
+
}
|
|
121
|
+
);
|
|
122
|
+
}
|
|
123
|
+
);
|
|
124
|
+
j.displayName = "FileStatus";
|
|
125
|
+
export {
|
|
126
|
+
j as FileStatus
|
|
127
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FileStatus/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),B=require("react"),N=require("../../utils/cn.cjs"),K=require("../../utils/focusRing.cjs"),W=require("../Icon/Icon.cjs");function G(o){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(o){for(const n in o)if(n!=="default"){const l=Object.getOwnPropertyDescriptor(o,n);Object.defineProperty(i,n,l.get?l:{enumerable:!0,get:()=>o[n]})}}return i.default=o,Object.freeze(i)}const r=G(B),w=r.forwardRef(({name:o,accept:i,multiple:n=!1,maxSize:l,disabled:t=!1,files:p,icon:I,instructionTextStrong:O="Select to upload",instructionTextNormal:R="or drag and drop",uploadSpecificationText:x="PDF or TXT files only (3 MB max)",ariaLabel:P="File upload drop zone",onChange:d,onDrag:g,onDrop:v,onError:m,className:L,...M},T)=>{const D=r.useId(),j=`${D}-file-input`,y=`${D}-file-spec`,[$,b]=r.useState(!1),h=r.useRef(null),k=r.useCallback(e=>{const a=[];for(const c of e){if(i){const S=i.split(",").map(u=>u.trim().toLowerCase()),z=`.${c.name.split(".").pop()?.toLowerCase()}`,F=c.type.toLowerCase();if(!S.some(u=>u===z||u===F||u.endsWith("/*")&&F.startsWith(u.replace("/*","/")))){m?.(new Error(`File "${c.name}" is not an accepted file type.`));continue}}if(l&&c.size>l){m?.(new Error(`File "${c.name}" exceeds the maximum size of ${Math.round(l/1024/1024)} MB.`));continue}a.push(c)}return a},[i,l,m]),f=r.useCallback(e=>{const a=k(e);a.length!==0&&d?.(p!==void 0&&n?[...p,...a]:a)},[k,p,d,n]),q=r.useCallback(e=>{const a=e.target.files;!a||a.length===0||(f(Array.from(a)),e.target.value="")},[f]),C=r.useCallback(e=>{e.preventDefault(),e.stopPropagation(),!t&&(b(!0),g?.(e))},[t,g]),A=r.useCallback(e=>{e.preventDefault(),e.stopPropagation(),b(!1)},[]),U=r.useCallback(e=>{if(e.preventDefault(),e.stopPropagation(),b(!1),t)return;const a=Array.from(e.dataTransfer.files);if(a.length===0)return;const c=n?a:[a[0]];v?.(c),f(c)},[t,n,v,f]),_=r.useCallback(()=>{t||h.current?.click()},[t]),E=r.useCallback(e=>{t||(e.key==="Enter"||e.key===" ")&&(e.preventDefault(),h.current?.click())},[t]);return s.jsx("div",{ref:T,className:N.cn("cai-w-full",L),...M,children:s.jsxs("label",{htmlFor:j,className:"cai-block cai-cursor-pointer",children:[s.jsxs("div",{role:"button",tabIndex:t?-1:0,"aria-label":P,"aria-disabled":t||void 0,"aria-describedby":y,onDragOver:C,onDragEnter:C,onDragLeave:A,onDrop:U,onClick:_,onKeyDown:E,className:N.cn("cai-flex cai-w-full cai-flex-col cai-items-center","cai-rounded-xl cai-border","cai-bg-secondary cai-px-3xl cai-py-4xl","cai-transition-colors cai-cursor-pointer",K.FOCUS_RING,$?"cai-border-2 cai-border-brand-primary":"cai-border-tertiary hover:cai-border-brand-primary",t&&"cai-pointer-events-none cai-opacity-40"),children:[s.jsx("span",{className:"cai-text-primary cai-mb-2",children:I??s.jsx(W.Icon,{name:"upload-02",size:24})}),s.jsxs("div",{className:"cai-font-sans cai-text-base",children:[s.jsx("span",{className:"cai-font-semibold cai-text-primary",children:O}),s.jsx("span",{className:"cai-ml-1 cai-font-medium cai-text-secondary",children:R})]}),x&&s.jsx("p",{id:y,className:"cai-font-sans cai-text-sm cai-font-normal cai-text-tertiary cai-mt-1",children:x})]}),s.jsx("input",{ref:h,id:j,type:"file",name:o,accept:i,multiple:n,disabled:t,onChange:q,"aria-describedby":y,className:"cai-sr-only",tabIndex:-1})]})})});w.displayName="FileUpload";exports.FileUpload=w;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
export interface FileUploadProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange' | 'onError' | 'onDrop' | 'onDrag'> {
|
|
3
|
+
/** Input name attribute. */
|
|
4
|
+
name?: string;
|
|
5
|
+
/** Accepted file types (e.g. '.jpg, .png'). */
|
|
6
|
+
accept?: string;
|
|
7
|
+
/** Allow multiple file selection. */
|
|
8
|
+
multiple?: boolean;
|
|
9
|
+
/** Maximum file size in bytes. */
|
|
10
|
+
maxSize?: number;
|
|
11
|
+
/** Disable interaction. */
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
/** Controlled file list. */
|
|
14
|
+
files?: File[];
|
|
15
|
+
/** Upload icon element (rendered above instruction text). */
|
|
16
|
+
icon?: React.ReactNode;
|
|
17
|
+
/** Bold instruction text (default: 'Select to upload'). */
|
|
18
|
+
instructionTextStrong?: string;
|
|
19
|
+
/** Regular instruction text (default: 'or drag and drop'). */
|
|
20
|
+
instructionTextNormal?: string;
|
|
21
|
+
/** File type/size hint text (default: 'PDF or TXT files only (3 MB max)'). */
|
|
22
|
+
uploadSpecificationText?: string;
|
|
23
|
+
/** Accessible label for the drop zone. */
|
|
24
|
+
ariaLabel?: string;
|
|
25
|
+
/** File selection callback. */
|
|
26
|
+
onChange?: (files: File[]) => void;
|
|
27
|
+
/** Drag-over callback. */
|
|
28
|
+
onDrag?: (event: React.DragEvent<HTMLDivElement>) => void;
|
|
29
|
+
/** Drop callback. */
|
|
30
|
+
onDrop?: (files: File[]) => void;
|
|
31
|
+
/** Validation error callback. */
|
|
32
|
+
onError?: (error: Error) => void;
|
|
33
|
+
/** Additional class names on the outer wrapper. */
|
|
34
|
+
className?: string;
|
|
35
|
+
}
|
|
36
|
+
declare const FileUpload: React.ForwardRefExoticComponent<FileUploadProps & React.RefAttributes<HTMLDivElement>>;
|
|
37
|
+
export { FileUpload };
|
|
38
|
+
//# sourceMappingURL=FileUpload.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileUpload.d.ts","sourceRoot":"","sources":["../../../src/components/FileUpload/FileUpload.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAS9B,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EACpC,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAC7C;IACC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,+CAA+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,4BAA4B;IAC5B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAA;IACd,6DAA6D;IAC7D,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,2DAA2D;IAC3D,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,8DAA8D;IAC9D,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,8EAA8E;IAC9E,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAClC,0BAA0B;IAC1B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;IACzD,qBAAqB;IACrB,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAChC,iCAAiC;IACjC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD,QAAA,MAAM,UAAU,wFA6Nf,CAAA;AAID,OAAO,EAAE,UAAU,EAAE,CAAA"}
|