@mihcm/ui 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +138 -0
- package/dist/AccessLevelGroup.d.ts +37 -0
- package/dist/AccessLevelGroup.d.ts.map +1 -0
- package/dist/AccessLevelGroup.js +39 -0
- package/dist/AccessLevelGroup.js.map +1 -0
- package/dist/AccessLevelGroup.native.d.ts +18 -0
- package/dist/AccessLevelGroup.native.d.ts.map +1 -0
- package/dist/AccessLevelGroup.native.js +40 -0
- package/dist/AccessLevelGroup.native.js.map +1 -0
- package/dist/Accordion.d.ts +52 -0
- package/dist/Accordion.d.ts.map +1 -0
- package/dist/Accordion.js +90 -0
- package/dist/Accordion.js.map +1 -0
- package/dist/Accordion.native.d.ts +36 -0
- package/dist/Accordion.native.d.ts.map +1 -0
- package/dist/Accordion.native.js +86 -0
- package/dist/Accordion.native.js.map +1 -0
- package/dist/Alert.d.ts +33 -0
- package/dist/Alert.d.ts.map +1 -0
- package/dist/Alert.js +45 -0
- package/dist/Alert.js.map +1 -0
- package/dist/Alert.native.d.ts +26 -0
- package/dist/Alert.native.d.ts.map +1 -0
- package/dist/Alert.native.js +41 -0
- package/dist/Alert.native.js.map +1 -0
- package/dist/AlertDialog.d.ts +57 -0
- package/dist/AlertDialog.d.ts.map +1 -0
- package/dist/AlertDialog.js +91 -0
- package/dist/AlertDialog.js.map +1 -0
- package/dist/AlertDialog.native.d.ts +66 -0
- package/dist/AlertDialog.native.d.ts.map +1 -0
- package/dist/AlertDialog.native.js +71 -0
- package/dist/AlertDialog.native.js.map +1 -0
- package/dist/AspectRatio.d.ts +18 -0
- package/dist/AspectRatio.d.ts.map +1 -0
- package/dist/AspectRatio.js +19 -0
- package/dist/AspectRatio.js.map +1 -0
- package/dist/AspectRatio.native.d.ts +7 -0
- package/dist/AspectRatio.native.d.ts.map +1 -0
- package/dist/AspectRatio.native.js +13 -0
- package/dist/AspectRatio.native.js.map +1 -0
- package/dist/Avatar.d.ts +45 -0
- package/dist/Avatar.d.ts.map +1 -0
- package/dist/Avatar.js +69 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Avatar.native.d.ts +38 -0
- package/dist/Avatar.native.d.ts.map +1 -0
- package/dist/Avatar.native.js +56 -0
- package/dist/Avatar.native.js.map +1 -0
- package/dist/AvatarGroup.d.ts +32 -0
- package/dist/AvatarGroup.d.ts.map +1 -0
- package/dist/AvatarGroup.js +45 -0
- package/dist/AvatarGroup.js.map +1 -0
- package/dist/AvatarGroup.native.d.ts +18 -0
- package/dist/AvatarGroup.native.d.ts.map +1 -0
- package/dist/AvatarGroup.native.js +35 -0
- package/dist/AvatarGroup.native.js.map +1 -0
- package/dist/Badge.d.ts +26 -0
- package/dist/Badge.d.ts.map +1 -0
- package/dist/Badge.js +44 -0
- package/dist/Badge.js.map +1 -0
- package/dist/Badge.native.d.ts +23 -0
- package/dist/Badge.native.d.ts.map +1 -0
- package/dist/Badge.native.js +49 -0
- package/dist/Badge.native.js.map +1 -0
- package/dist/Banner.d.ts +27 -0
- package/dist/Banner.d.ts.map +1 -0
- package/dist/Banner.js +41 -0
- package/dist/Banner.js.map +1 -0
- package/dist/Banner.native.d.ts +24 -0
- package/dist/Banner.native.d.ts.map +1 -0
- package/dist/Banner.native.js +39 -0
- package/dist/Banner.native.js.map +1 -0
- package/dist/BarList.d.ts +27 -0
- package/dist/BarList.d.ts.map +1 -0
- package/dist/BarList.js +25 -0
- package/dist/BarList.js.map +1 -0
- package/dist/Breadcrumb.d.ts +67 -0
- package/dist/Breadcrumb.d.ts.map +1 -0
- package/dist/Breadcrumb.js +63 -0
- package/dist/Breadcrumb.js.map +1 -0
- package/dist/Breadcrumb.native.d.ts +64 -0
- package/dist/Breadcrumb.native.d.ts.map +1 -0
- package/dist/Breadcrumb.native.js +50 -0
- package/dist/Breadcrumb.native.js.map +1 -0
- package/dist/Button.d.ts +42 -0
- package/dist/Button.d.ts.map +1 -0
- package/dist/Button.js +68 -0
- package/dist/Button.js.map +1 -0
- package/dist/Button.native.d.ts +38 -0
- package/dist/Button.native.d.ts.map +1 -0
- package/dist/Button.native.js +51 -0
- package/dist/Button.native.js.map +1 -0
- package/dist/Calendar.d.ts +16 -0
- package/dist/Calendar.d.ts.map +1 -0
- package/dist/Calendar.js +94 -0
- package/dist/Calendar.js.map +1 -0
- package/dist/Calendar.native.d.ts +21 -0
- package/dist/Calendar.native.d.ts.map +1 -0
- package/dist/Calendar.native.js +15 -0
- package/dist/Calendar.native.js.map +1 -0
- package/dist/Card.d.ts +29 -0
- package/dist/Card.d.ts.map +1 -0
- package/dist/Card.js +44 -0
- package/dist/Card.js.map +1 -0
- package/dist/Card.native.d.ts +20 -0
- package/dist/Card.native.d.ts.map +1 -0
- package/dist/Card.native.js +32 -0
- package/dist/Card.native.js.map +1 -0
- package/dist/Carousel.d.ts +46 -0
- package/dist/Carousel.d.ts.map +1 -0
- package/dist/Carousel.js +115 -0
- package/dist/Carousel.js.map +1 -0
- package/dist/Carousel.native.d.ts +59 -0
- package/dist/Carousel.native.d.ts.map +1 -0
- package/dist/Carousel.native.js +93 -0
- package/dist/Carousel.native.js.map +1 -0
- package/dist/CategoryBar.d.ts +22 -0
- package/dist/CategoryBar.d.ts.map +1 -0
- package/dist/CategoryBar.js +27 -0
- package/dist/CategoryBar.js.map +1 -0
- package/dist/Chart.d.ts +77 -0
- package/dist/Chart.d.ts.map +1 -0
- package/dist/Chart.js +197 -0
- package/dist/Chart.js.map +1 -0
- package/dist/Checkbox.d.ts +28 -0
- package/dist/Checkbox.d.ts.map +1 -0
- package/dist/Checkbox.js +44 -0
- package/dist/Checkbox.js.map +1 -0
- package/dist/Checkbox.native.d.ts +13 -0
- package/dist/Checkbox.native.d.ts.map +1 -0
- package/dist/Checkbox.native.js +34 -0
- package/dist/Checkbox.native.js.map +1 -0
- package/dist/CheckboxGrid.d.ts +49 -0
- package/dist/CheckboxGrid.d.ts.map +1 -0
- package/dist/CheckboxGrid.js +79 -0
- package/dist/CheckboxGrid.js.map +1 -0
- package/dist/CheckboxGrid.native.d.ts +14 -0
- package/dist/CheckboxGrid.native.d.ts.map +1 -0
- package/dist/CheckboxGrid.native.js +47 -0
- package/dist/CheckboxGrid.native.js.map +1 -0
- package/dist/Collapsible.d.ts +51 -0
- package/dist/Collapsible.d.ts.map +1 -0
- package/dist/Collapsible.js +101 -0
- package/dist/Collapsible.js.map +1 -0
- package/dist/Collapsible.native.d.ts +53 -0
- package/dist/Collapsible.native.d.ts.map +1 -0
- package/dist/Collapsible.native.js +109 -0
- package/dist/Collapsible.native.js.map +1 -0
- package/dist/Combobox.d.ts +42 -0
- package/dist/Combobox.d.ts.map +1 -0
- package/dist/Combobox.js +96 -0
- package/dist/Combobox.js.map +1 -0
- package/dist/Combobox.native.d.ts +21 -0
- package/dist/Combobox.native.d.ts.map +1 -0
- package/dist/Combobox.native.js +28 -0
- package/dist/Combobox.native.js.map +1 -0
- package/dist/Command.d.ts +107 -0
- package/dist/Command.d.ts.map +1 -0
- package/dist/Command.js +68 -0
- package/dist/Command.js.map +1 -0
- package/dist/Command.native.d.ts +41 -0
- package/dist/Command.native.d.ts.map +1 -0
- package/dist/Command.native.js +31 -0
- package/dist/Command.native.js.map +1 -0
- package/dist/ContextMenu.d.ts +48 -0
- package/dist/ContextMenu.d.ts.map +1 -0
- package/dist/ContextMenu.js +79 -0
- package/dist/ContextMenu.js.map +1 -0
- package/dist/ContextMenu.native.d.ts +81 -0
- package/dist/ContextMenu.native.d.ts.map +1 -0
- package/dist/ContextMenu.native.js +82 -0
- package/dist/ContextMenu.native.js.map +1 -0
- package/dist/DataTable.d.ts +98 -0
- package/dist/DataTable.d.ts.map +1 -0
- package/dist/DataTable.js +291 -0
- package/dist/DataTable.js.map +1 -0
- package/dist/DataTable.native.d.ts +31 -0
- package/dist/DataTable.native.d.ts.map +1 -0
- package/dist/DataTable.native.js +22 -0
- package/dist/DataTable.native.js.map +1 -0
- package/dist/DatePicker.d.ts +63 -0
- package/dist/DatePicker.d.ts.map +1 -0
- package/dist/DatePicker.js +106 -0
- package/dist/DatePicker.js.map +1 -0
- package/dist/DatePicker.native.d.ts +21 -0
- package/dist/DatePicker.native.d.ts.map +1 -0
- package/dist/DatePicker.native.js +15 -0
- package/dist/DatePicker.native.js.map +1 -0
- package/dist/Dialog.d.ts +52 -0
- package/dist/Dialog.d.ts.map +1 -0
- package/dist/Dialog.js +93 -0
- package/dist/Dialog.js.map +1 -0
- package/dist/Dialog.native.d.ts +57 -0
- package/dist/Dialog.native.d.ts.map +1 -0
- package/dist/Dialog.native.js +62 -0
- package/dist/Dialog.native.js.map +1 -0
- package/dist/Drawer.d.ts +36 -0
- package/dist/Drawer.d.ts.map +1 -0
- package/dist/Drawer.js +57 -0
- package/dist/Drawer.js.map +1 -0
- package/dist/Drawer.native.d.ts +50 -0
- package/dist/Drawer.native.d.ts.map +1 -0
- package/dist/Drawer.native.js +43 -0
- package/dist/Drawer.native.js.map +1 -0
- package/dist/DropdownMenu.d.ts +57 -0
- package/dist/DropdownMenu.d.ts.map +1 -0
- package/dist/DropdownMenu.js +192 -0
- package/dist/DropdownMenu.js.map +1 -0
- package/dist/DropdownMenu.native.d.ts +53 -0
- package/dist/DropdownMenu.native.d.ts.map +1 -0
- package/dist/DropdownMenu.native.js +71 -0
- package/dist/DropdownMenu.native.js.map +1 -0
- package/dist/Dropzone.d.ts +27 -0
- package/dist/Dropzone.d.ts.map +1 -0
- package/dist/Dropzone.js +33 -0
- package/dist/Dropzone.js.map +1 -0
- package/dist/EmptyState.d.ts +21 -0
- package/dist/EmptyState.d.ts.map +1 -0
- package/dist/EmptyState.js +16 -0
- package/dist/EmptyState.js.map +1 -0
- package/dist/EmptyState.native.d.ts +19 -0
- package/dist/EmptyState.native.d.ts.map +1 -0
- package/dist/EmptyState.native.js +16 -0
- package/dist/EmptyState.native.js.map +1 -0
- package/dist/Form.d.ts +310 -0
- package/dist/Form.d.ts.map +1 -0
- package/dist/Form.js +260 -0
- package/dist/Form.js.map +1 -0
- package/dist/Form.native.d.ts +36 -0
- package/dist/Form.native.d.ts.map +1 -0
- package/dist/Form.native.js +33 -0
- package/dist/Form.native.js.map +1 -0
- package/dist/HoverCard.d.ts +47 -0
- package/dist/HoverCard.d.ts.map +1 -0
- package/dist/HoverCard.js +86 -0
- package/dist/HoverCard.js.map +1 -0
- package/dist/HoverCard.native.d.ts +48 -0
- package/dist/HoverCard.native.d.ts.map +1 -0
- package/dist/HoverCard.native.js +19 -0
- package/dist/HoverCard.native.js.map +1 -0
- package/dist/IconSidebar.d.ts +50 -0
- package/dist/IconSidebar.d.ts.map +1 -0
- package/dist/IconSidebar.js +121 -0
- package/dist/IconSidebar.js.map +1 -0
- package/dist/IconSidebar.native.d.ts +40 -0
- package/dist/IconSidebar.native.d.ts.map +1 -0
- package/dist/IconSidebar.native.js +24 -0
- package/dist/IconSidebar.native.js.map +1 -0
- package/dist/Input.d.ts +52 -0
- package/dist/Input.d.ts.map +1 -0
- package/dist/Input.js +57 -0
- package/dist/Input.js.map +1 -0
- package/dist/Input.native.d.ts +37 -0
- package/dist/Input.native.d.ts.map +1 -0
- package/dist/Input.native.js +39 -0
- package/dist/Input.native.js.map +1 -0
- package/dist/InputOTP.d.ts +30 -0
- package/dist/InputOTP.d.ts.map +1 -0
- package/dist/InputOTP.js +47 -0
- package/dist/InputOTP.js.map +1 -0
- package/dist/InputOTP.native.d.ts +32 -0
- package/dist/InputOTP.native.d.ts.map +1 -0
- package/dist/InputOTP.native.js +48 -0
- package/dist/InputOTP.native.js.map +1 -0
- package/dist/Label.d.ts +26 -0
- package/dist/Label.d.ts.map +1 -0
- package/dist/Label.js +35 -0
- package/dist/Label.js.map +1 -0
- package/dist/Label.native.d.ts +26 -0
- package/dist/Label.native.d.ts.map +1 -0
- package/dist/Label.native.js +30 -0
- package/dist/Label.native.js.map +1 -0
- package/dist/Link.d.ts +21 -0
- package/dist/Link.d.ts.map +1 -0
- package/dist/Link.js +46 -0
- package/dist/Link.js.map +1 -0
- package/dist/Link.native.d.ts +23 -0
- package/dist/Link.native.d.ts.map +1 -0
- package/dist/Link.native.js +59 -0
- package/dist/Link.native.js.map +1 -0
- package/dist/Logo.d.ts +25 -0
- package/dist/Logo.d.ts.map +1 -0
- package/dist/Logo.js +58 -0
- package/dist/Logo.js.map +1 -0
- package/dist/Logo.native.d.ts +22 -0
- package/dist/Logo.native.d.ts.map +1 -0
- package/dist/Logo.native.js +46 -0
- package/dist/Logo.native.js.map +1 -0
- package/dist/MainSidebar.d.ts +2 -0
- package/dist/MainSidebar.d.ts.map +1 -0
- package/dist/MainSidebar.js +3 -0
- package/dist/MainSidebar.js.map +1 -0
- package/dist/MainSidebar.native.d.ts +2 -0
- package/dist/MainSidebar.native.d.ts.map +1 -0
- package/dist/MainSidebar.native.js +2 -0
- package/dist/MainSidebar.native.js.map +1 -0
- package/dist/Menubar.d.ts +70 -0
- package/dist/Menubar.d.ts.map +1 -0
- package/dist/Menubar.js +142 -0
- package/dist/Menubar.js.map +1 -0
- package/dist/NavigationMenu.d.ts +12 -0
- package/dist/NavigationMenu.d.ts.map +1 -0
- package/dist/NavigationMenu.js +63 -0
- package/dist/NavigationMenu.js.map +1 -0
- package/dist/NavigationMenu.native.d.ts +44 -0
- package/dist/NavigationMenu.native.d.ts.map +1 -0
- package/dist/NavigationMenu.native.js +43 -0
- package/dist/NavigationMenu.native.js.map +1 -0
- package/dist/NotificationBadge.d.ts +33 -0
- package/dist/NotificationBadge.d.ts.map +1 -0
- package/dist/NotificationBadge.js +49 -0
- package/dist/NotificationBadge.js.map +1 -0
- package/dist/NotificationBadge.native.d.ts +25 -0
- package/dist/NotificationBadge.native.d.ts.map +1 -0
- package/dist/NotificationBadge.native.js +41 -0
- package/dist/NotificationBadge.native.js.map +1 -0
- package/dist/PageShell.d.ts +24 -0
- package/dist/PageShell.d.ts.map +1 -0
- package/dist/PageShell.js +24 -0
- package/dist/PageShell.js.map +1 -0
- package/dist/PageShell.native.d.ts +21 -0
- package/dist/PageShell.native.d.ts.map +1 -0
- package/dist/PageShell.native.js +19 -0
- package/dist/PageShell.native.js.map +1 -0
- package/dist/Pagination.d.ts +53 -0
- package/dist/Pagination.d.ts.map +1 -0
- package/dist/Pagination.js +79 -0
- package/dist/Pagination.js.map +1 -0
- package/dist/Pagination.native.d.ts +48 -0
- package/dist/Pagination.native.d.ts.map +1 -0
- package/dist/Pagination.native.js +55 -0
- package/dist/Pagination.native.js.map +1 -0
- package/dist/Popover.d.ts +57 -0
- package/dist/Popover.d.ts.map +1 -0
- package/dist/Popover.js +71 -0
- package/dist/Popover.js.map +1 -0
- package/dist/Popover.native.d.ts +48 -0
- package/dist/Popover.native.d.ts.map +1 -0
- package/dist/Popover.native.js +65 -0
- package/dist/Popover.native.js.map +1 -0
- package/dist/Popper.d.ts +54 -0
- package/dist/Popper.d.ts.map +1 -0
- package/dist/Popper.js +219 -0
- package/dist/Popper.js.map +1 -0
- package/dist/Progress.d.ts +79 -0
- package/dist/Progress.d.ts.map +1 -0
- package/dist/Progress.js +110 -0
- package/dist/Progress.js.map +1 -0
- package/dist/Progress.native.d.ts +42 -0
- package/dist/Progress.native.d.ts.map +1 -0
- package/dist/Progress.native.js +91 -0
- package/dist/Progress.native.js.map +1 -0
- package/dist/ProgressCircle.d.ts +69 -0
- package/dist/ProgressCircle.d.ts.map +1 -0
- package/dist/ProgressCircle.js +78 -0
- package/dist/ProgressCircle.js.map +1 -0
- package/dist/RadioCardGroup.d.ts +26 -0
- package/dist/RadioCardGroup.d.ts.map +1 -0
- package/dist/RadioCardGroup.js +26 -0
- package/dist/RadioCardGroup.js.map +1 -0
- package/dist/RadioGroup.d.ts +35 -0
- package/dist/RadioGroup.d.ts.map +1 -0
- package/dist/RadioGroup.js +68 -0
- package/dist/RadioGroup.js.map +1 -0
- package/dist/RadioGroup.native.d.ts +33 -0
- package/dist/RadioGroup.native.d.ts.map +1 -0
- package/dist/RadioGroup.native.js +55 -0
- package/dist/RadioGroup.native.js.map +1 -0
- package/dist/Resizable.d.ts +32 -0
- package/dist/Resizable.d.ts.map +1 -0
- package/dist/Resizable.js +31 -0
- package/dist/Resizable.js.map +1 -0
- package/dist/Resizable.native.d.ts +32 -0
- package/dist/Resizable.native.d.ts.map +1 -0
- package/dist/Resizable.native.js +23 -0
- package/dist/Resizable.native.js.map +1 -0
- package/dist/RichTextEditor.d.ts +38 -0
- package/dist/RichTextEditor.d.ts.map +1 -0
- package/dist/RichTextEditor.js +218 -0
- package/dist/RichTextEditor.js.map +1 -0
- package/dist/ScrollArea.d.ts +4 -0
- package/dist/ScrollArea.d.ts.map +1 -0
- package/dist/ScrollArea.js +26 -0
- package/dist/ScrollArea.js.map +1 -0
- package/dist/ScrollArea.native.d.ts +19 -0
- package/dist/ScrollArea.native.d.ts.map +1 -0
- package/dist/ScrollArea.native.js +19 -0
- package/dist/ScrollArea.native.js.map +1 -0
- package/dist/SearchField.d.ts +43 -0
- package/dist/SearchField.d.ts.map +1 -0
- package/dist/SearchField.js +34 -0
- package/dist/SearchField.js.map +1 -0
- package/dist/SearchField.native.d.ts +31 -0
- package/dist/SearchField.native.d.ts.map +1 -0
- package/dist/SearchField.native.js +30 -0
- package/dist/SearchField.native.js.map +1 -0
- package/dist/SectionHeader.d.ts +58 -0
- package/dist/SectionHeader.d.ts.map +1 -0
- package/dist/SectionHeader.js +95 -0
- package/dist/SectionHeader.js.map +1 -0
- package/dist/SectionHeader.native.d.ts +45 -0
- package/dist/SectionHeader.native.d.ts.map +1 -0
- package/dist/SectionHeader.native.js +92 -0
- package/dist/SectionHeader.native.js.map +1 -0
- package/dist/Select.d.ts +78 -0
- package/dist/Select.d.ts.map +1 -0
- package/dist/Select.js +310 -0
- package/dist/Select.js.map +1 -0
- package/dist/Select.native.d.ts +53 -0
- package/dist/Select.native.d.ts.map +1 -0
- package/dist/Select.native.js +86 -0
- package/dist/Select.native.js.map +1 -0
- package/dist/Separator.d.ts +20 -0
- package/dist/Separator.d.ts.map +1 -0
- package/dist/Separator.js +20 -0
- package/dist/Separator.js.map +1 -0
- package/dist/Separator.native.d.ts +8 -0
- package/dist/Separator.native.d.ts.map +1 -0
- package/dist/Separator.native.js +17 -0
- package/dist/Separator.native.js.map +1 -0
- package/dist/Sheet.d.ts +54 -0
- package/dist/Sheet.d.ts.map +1 -0
- package/dist/Sheet.js +191 -0
- package/dist/Sheet.js.map +1 -0
- package/dist/Sheet.native.d.ts +55 -0
- package/dist/Sheet.native.d.ts.map +1 -0
- package/dist/Sheet.native.js +112 -0
- package/dist/Sheet.native.js.map +1 -0
- package/dist/Sidebar.d.ts +131 -0
- package/dist/Sidebar.d.ts.map +1 -0
- package/dist/Sidebar.js +328 -0
- package/dist/Sidebar.js.map +1 -0
- package/dist/Skeleton.d.ts +14 -0
- package/dist/Skeleton.d.ts.map +1 -0
- package/dist/Skeleton.js +17 -0
- package/dist/Skeleton.js.map +1 -0
- package/dist/Skeleton.native.d.ts +6 -0
- package/dist/Skeleton.native.d.ts.map +1 -0
- package/dist/Skeleton.native.js +26 -0
- package/dist/Skeleton.native.js.map +1 -0
- package/dist/Slider.d.ts +63 -0
- package/dist/Slider.d.ts.map +1 -0
- package/dist/Slider.js +109 -0
- package/dist/Slider.js.map +1 -0
- package/dist/Slider.native.d.ts +38 -0
- package/dist/Slider.native.d.ts.map +1 -0
- package/dist/Slider.native.js +18 -0
- package/dist/Slider.native.js.map +1 -0
- package/dist/SortableList.d.ts +26 -0
- package/dist/SortableList.d.ts.map +1 -0
- package/dist/SortableList.js +44 -0
- package/dist/SortableList.js.map +1 -0
- package/dist/SparkChart.d.ts +34 -0
- package/dist/SparkChart.d.ts.map +1 -0
- package/dist/SparkChart.js +55 -0
- package/dist/SparkChart.js.map +1 -0
- package/dist/StatCard.d.ts +35 -0
- package/dist/StatCard.d.ts.map +1 -0
- package/dist/StatCard.js +37 -0
- package/dist/StatCard.js.map +1 -0
- package/dist/StatCard.native.d.ts +28 -0
- package/dist/StatCard.native.d.ts.map +1 -0
- package/dist/StatCard.native.js +31 -0
- package/dist/StatCard.native.js.map +1 -0
- package/dist/StatusBadge.d.ts +23 -0
- package/dist/StatusBadge.d.ts.map +1 -0
- package/dist/StatusBadge.js +33 -0
- package/dist/StatusBadge.js.map +1 -0
- package/dist/StatusBadge.native.d.ts +21 -0
- package/dist/StatusBadge.native.d.ts.map +1 -0
- package/dist/StatusBadge.native.js +37 -0
- package/dist/StatusBadge.native.js.map +1 -0
- package/dist/Switch.d.ts +31 -0
- package/dist/Switch.d.ts.map +1 -0
- package/dist/Switch.js +46 -0
- package/dist/Switch.js.map +1 -0
- package/dist/Switch.native.d.ts +16 -0
- package/dist/Switch.native.d.ts.map +1 -0
- package/dist/Switch.native.js +41 -0
- package/dist/Switch.native.js.map +1 -0
- package/dist/TabNavigation.d.ts +49 -0
- package/dist/TabNavigation.d.ts.map +1 -0
- package/dist/TabNavigation.js +121 -0
- package/dist/TabNavigation.js.map +1 -0
- package/dist/Table.d.ts +54 -0
- package/dist/Table.d.ts.map +1 -0
- package/dist/Table.js +96 -0
- package/dist/Table.js.map +1 -0
- package/dist/Table.native.d.ts +37 -0
- package/dist/Table.native.d.ts.map +1 -0
- package/dist/Table.native.js +37 -0
- package/dist/Table.native.js.map +1 -0
- package/dist/Tabs.d.ts +45 -0
- package/dist/Tabs.d.ts.map +1 -0
- package/dist/Tabs.js +94 -0
- package/dist/Tabs.js.map +1 -0
- package/dist/Tabs.native.d.ts +47 -0
- package/dist/Tabs.native.d.ts.map +1 -0
- package/dist/Tabs.native.js +57 -0
- package/dist/Tabs.native.js.map +1 -0
- package/dist/Tag.d.ts +24 -0
- package/dist/Tag.d.ts.map +1 -0
- package/dist/Tag.js +41 -0
- package/dist/Tag.js.map +1 -0
- package/dist/Tag.native.d.ts +23 -0
- package/dist/Tag.native.d.ts.map +1 -0
- package/dist/Tag.native.js +55 -0
- package/dist/Tag.native.js.map +1 -0
- package/dist/Text.d.ts +26 -0
- package/dist/Text.d.ts.map +1 -0
- package/dist/Text.js +63 -0
- package/dist/Text.js.map +1 -0
- package/dist/Text.native.d.ts +18 -0
- package/dist/Text.native.d.ts.map +1 -0
- package/dist/Text.native.js +58 -0
- package/dist/Text.native.js.map +1 -0
- package/dist/Textarea.d.ts +23 -0
- package/dist/Textarea.d.ts.map +1 -0
- package/dist/Textarea.js +39 -0
- package/dist/Textarea.js.map +1 -0
- package/dist/Textarea.native.d.ts +16 -0
- package/dist/Textarea.native.d.ts.map +1 -0
- package/dist/Textarea.native.js +30 -0
- package/dist/Textarea.native.js.map +1 -0
- package/dist/TiptapEditor.d.ts +24 -0
- package/dist/TiptapEditor.d.ts.map +1 -0
- package/dist/TiptapEditor.js +84 -0
- package/dist/TiptapEditor.js.map +1 -0
- package/dist/TitleBar.d.ts +31 -0
- package/dist/TitleBar.d.ts.map +1 -0
- package/dist/TitleBar.js +27 -0
- package/dist/TitleBar.js.map +1 -0
- package/dist/TitleBar.native.d.ts +19 -0
- package/dist/TitleBar.native.d.ts.map +1 -0
- package/dist/TitleBar.native.js +16 -0
- package/dist/TitleBar.native.js.map +1 -0
- package/dist/Toast.d.ts +72 -0
- package/dist/Toast.d.ts.map +1 -0
- package/dist/Toast.js +194 -0
- package/dist/Toast.js.map +1 -0
- package/dist/Toast.native.d.ts +65 -0
- package/dist/Toast.native.d.ts.map +1 -0
- package/dist/Toast.native.js +182 -0
- package/dist/Toast.native.js.map +1 -0
- package/dist/Toggle.d.ts +46 -0
- package/dist/Toggle.d.ts.map +1 -0
- package/dist/Toggle.js +70 -0
- package/dist/Toggle.js.map +1 -0
- package/dist/Toggle.native.d.ts +42 -0
- package/dist/Toggle.native.d.ts.map +1 -0
- package/dist/Toggle.native.js +56 -0
- package/dist/Toggle.native.js.map +1 -0
- package/dist/Tooltip.d.ts +32 -0
- package/dist/Tooltip.d.ts.map +1 -0
- package/dist/Tooltip.js +43 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/Tooltip.native.d.ts +25 -0
- package/dist/Tooltip.native.d.ts.map +1 -0
- package/dist/Tooltip.native.js +25 -0
- package/dist/Tooltip.native.js.map +1 -0
- package/dist/TopBar.d.ts +105 -0
- package/dist/TopBar.d.ts.map +1 -0
- package/dist/TopBar.js +90 -0
- package/dist/TopBar.js.map +1 -0
- package/dist/TopBar.native.d.ts +67 -0
- package/dist/TopBar.native.d.ts.map +1 -0
- package/dist/TopBar.native.js +41 -0
- package/dist/TopBar.native.js.map +1 -0
- package/dist/Tracker.d.ts +44 -0
- package/dist/Tracker.d.ts.map +1 -0
- package/dist/Tracker.js +92 -0
- package/dist/Tracker.js.map +1 -0
- package/dist/TransferList.d.ts +51 -0
- package/dist/TransferList.d.ts.map +1 -0
- package/dist/TransferList.js +107 -0
- package/dist/TransferList.js.map +1 -0
- package/dist/TransferList.native.d.ts +14 -0
- package/dist/TransferList.native.d.ts.map +1 -0
- package/dist/TransferList.native.js +57 -0
- package/dist/TransferList.native.js.map +1 -0
- package/dist/index.d.ts +78 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +79 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/cn.d.ts +7 -0
- package/dist/internal/cn.d.ts.map +1 -0
- package/dist/internal/cn.js +30 -0
- package/dist/internal/cn.js.map +1 -0
- package/package.json +499 -0
- package/src/AccessLevelGroup.native.tsx +103 -0
- package/src/AccessLevelGroup.tsx +103 -0
- package/src/Accordion.native.tsx +199 -0
- package/src/Accordion.tsx +279 -0
- package/src/Alert.native.tsx +100 -0
- package/src/Alert.tsx +101 -0
- package/src/AlertDialog.native.tsx +189 -0
- package/src/AlertDialog.tsx +194 -0
- package/src/AspectRatio.native.tsx +28 -0
- package/src/AspectRatio.tsx +35 -0
- package/src/Avatar.native.tsx +142 -0
- package/src/Avatar.tsx +155 -0
- package/src/AvatarGroup.native.tsx +81 -0
- package/src/AvatarGroup.tsx +114 -0
- package/src/Badge.native.tsx +85 -0
- package/src/Badge.tsx +93 -0
- package/src/Banner.native.tsx +77 -0
- package/src/Banner.tsx +95 -0
- package/src/BarList.tsx +102 -0
- package/src/Breadcrumb.native.tsx +238 -0
- package/src/Breadcrumb.tsx +258 -0
- package/src/Button.native.tsx +123 -0
- package/src/Button.tsx +153 -0
- package/src/Calendar.native.tsx +28 -0
- package/src/Calendar.tsx +211 -0
- package/src/Card.native.tsx +82 -0
- package/src/Card.tsx +94 -0
- package/src/Carousel.native.tsx +224 -0
- package/src/Carousel.tsx +292 -0
- package/src/CategoryBar.tsx +85 -0
- package/src/Chart.tsx +467 -0
- package/src/Checkbox.native.tsx +69 -0
- package/src/Checkbox.tsx +108 -0
- package/src/CheckboxGrid.native.tsx +160 -0
- package/src/CheckboxGrid.tsx +262 -0
- package/src/Collapsible.native.tsx +240 -0
- package/src/Collapsible.tsx +241 -0
- package/src/Combobox.native.tsx +171 -0
- package/src/Combobox.tsx +272 -0
- package/src/Command.native.tsx +71 -0
- package/src/Command.tsx +203 -0
- package/src/ContextMenu.native.tsx +313 -0
- package/src/ContextMenu.tsx +238 -0
- package/src/DataTable.native.tsx +70 -0
- package/src/DataTable.tsx +989 -0
- package/src/DatePicker.native.tsx +46 -0
- package/src/DatePicker.tsx +357 -0
- package/src/Dialog.native.tsx +181 -0
- package/src/Dialog.tsx +224 -0
- package/src/Drawer.native.tsx +134 -0
- package/src/Drawer.tsx +119 -0
- package/src/DropdownMenu.native.tsx +258 -0
- package/src/DropdownMenu.tsx +387 -0
- package/src/Dropzone.tsx +95 -0
- package/src/EmptyState.native.tsx +43 -0
- package/src/EmptyState.tsx +52 -0
- package/src/Form.native.tsx +94 -0
- package/src/Form.tsx +1324 -0
- package/src/HoverCard.native.tsx +63 -0
- package/src/HoverCard.tsx +181 -0
- package/src/IconSidebar.native.tsx +94 -0
- package/src/IconSidebar.tsx +448 -0
- package/src/Input.native.tsx +99 -0
- package/src/Input.tsx +132 -0
- package/src/InputOTP.native.tsx +154 -0
- package/src/InputOTP.tsx +119 -0
- package/src/Label.native.tsx +55 -0
- package/src/Label.tsx +60 -0
- package/src/Link.native.tsx +89 -0
- package/src/Link.tsx +85 -0
- package/src/Logo.native.tsx +114 -0
- package/src/Logo.tsx +153 -0
- package/src/MainSidebar.native.tsx +8 -0
- package/src/MainSidebar.tsx +10 -0
- package/src/Menubar.tsx +485 -0
- package/src/NavigationMenu.native.tsx +136 -0
- package/src/NavigationMenu.tsx +180 -0
- package/src/NotificationBadge.native.tsx +80 -0
- package/src/NotificationBadge.tsx +91 -0
- package/src/PageShell.native.tsx +43 -0
- package/src/PageShell.tsx +50 -0
- package/src/Pagination.native.tsx +217 -0
- package/src/Pagination.tsx +250 -0
- package/src/Popover.native.tsx +139 -0
- package/src/Popover.tsx +175 -0
- package/src/Popper.tsx +399 -0
- package/src/Progress.native.tsx +197 -0
- package/src/Progress.tsx +286 -0
- package/src/ProgressCircle.tsx +200 -0
- package/src/RadioCardGroup.tsx +97 -0
- package/src/RadioGroup.native.tsx +153 -0
- package/src/RadioGroup.tsx +201 -0
- package/src/Resizable.native.tsx +76 -0
- package/src/Resizable.tsx +88 -0
- package/src/RichTextEditor.tsx +513 -0
- package/src/ScrollArea.native.tsx +36 -0
- package/src/ScrollArea.tsx +62 -0
- package/src/SearchField.native.tsx +104 -0
- package/src/SearchField.tsx +136 -0
- package/src/SectionHeader.native.tsx +226 -0
- package/src/SectionHeader.tsx +250 -0
- package/src/Select.native.tsx +299 -0
- package/src/Select.tsx +710 -0
- package/src/Separator.native.tsx +38 -0
- package/src/Separator.tsx +43 -0
- package/src/Sheet.native.tsx +233 -0
- package/src/Sheet.tsx +329 -0
- package/src/Sidebar.tsx +956 -0
- package/src/Skeleton.native.tsx +47 -0
- package/src/Skeleton.tsx +29 -0
- package/src/Slider.native.tsx +64 -0
- package/src/Slider.tsx +284 -0
- package/src/SortableList.tsx +158 -0
- package/src/SparkChart.tsx +143 -0
- package/src/StatCard.native.tsx +64 -0
- package/src/StatCard.tsx +75 -0
- package/src/StatusBadge.native.tsx +57 -0
- package/src/StatusBadge.tsx +52 -0
- package/src/Switch.native.tsx +78 -0
- package/src/Switch.tsx +94 -0
- package/src/TabNavigation.tsx +329 -0
- package/src/Table.native.tsx +183 -0
- package/src/Table.tsx +260 -0
- package/src/Tabs.native.tsx +139 -0
- package/src/Tabs.tsx +216 -0
- package/src/Tag.native.tsx +87 -0
- package/src/Tag.tsx +93 -0
- package/src/Text.native.tsx +95 -0
- package/src/Text.tsx +93 -0
- package/src/Textarea.native.tsx +64 -0
- package/src/Textarea.tsx +66 -0
- package/src/TitleBar.native.tsx +46 -0
- package/src/TitleBar.tsx +64 -0
- package/src/Toast.native.tsx +366 -0
- package/src/Toast.tsx +408 -0
- package/src/Toggle.native.tsx +162 -0
- package/src/Toggle.tsx +169 -0
- package/src/Tooltip.native.tsx +62 -0
- package/src/Tooltip.tsx +88 -0
- package/src/TopBar.native.tsx +223 -0
- package/src/TopBar.tsx +436 -0
- package/src/Tracker.tsx +244 -0
- package/src/TransferList.native.tsx +180 -0
- package/src/TransferList.tsx +297 -0
- package/src/globals.d.ts +1 -0
- package/src/index.ts +502 -0
- package/src/internal/cn.ts +31 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Toggle & ToggleGroup (React Native variant).
|
|
3
|
+
*
|
|
4
|
+
* Same API as the web variant. Uses `Pressable` for touch targets.
|
|
5
|
+
*
|
|
6
|
+
* Wiki: docs/components/Toggle.md
|
|
7
|
+
*/
|
|
8
|
+
import { type ReactNode } from 'react';
|
|
9
|
+
import { View, type ViewProps } from 'react-native';
|
|
10
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
11
|
+
type ClassedViewProps = Omit<ViewProps, 'style'> & {
|
|
12
|
+
className?: string;
|
|
13
|
+
};
|
|
14
|
+
export declare const toggleVariants: (props?: ({
|
|
15
|
+
variant?: "default" | "outline" | null | undefined;
|
|
16
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
17
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
18
|
+
export interface ToggleProps extends ClassedViewProps, VariantProps<typeof toggleVariants> {
|
|
19
|
+
pressed: boolean;
|
|
20
|
+
onPressedChange: (pressed: boolean) => void;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
children?: ReactNode;
|
|
23
|
+
}
|
|
24
|
+
export declare const Toggle: import("react").ForwardRefExoticComponent<ToggleProps & import("react").RefAttributes<View>>;
|
|
25
|
+
export type ToggleGroupProps = ClassedViewProps & VariantProps<typeof toggleVariants> & ({
|
|
26
|
+
type: 'single';
|
|
27
|
+
value: string;
|
|
28
|
+
onValueChange: (value: string) => void;
|
|
29
|
+
} | {
|
|
30
|
+
type: 'multiple';
|
|
31
|
+
value: string[];
|
|
32
|
+
onValueChange: (value: string[]) => void;
|
|
33
|
+
});
|
|
34
|
+
export declare const ToggleGroup: import("react").ForwardRefExoticComponent<ToggleGroupProps & import("react").RefAttributes<View>>;
|
|
35
|
+
export interface ToggleGroupItemProps extends ClassedViewProps {
|
|
36
|
+
value: string;
|
|
37
|
+
disabled?: boolean;
|
|
38
|
+
children?: ReactNode;
|
|
39
|
+
}
|
|
40
|
+
export declare const ToggleGroupItem: import("react").ForwardRefExoticComponent<ToggleGroupItemProps & import("react").RefAttributes<View>>;
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=Toggle.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toggle.native.d.ts","sourceRoot":"","sources":["../src/Toggle.native.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAIL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAa,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC/D,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,KAAK,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAI1E,eAAO,MAAM,cAAc;;;8EAgB1B,CAAC;AAEF,MAAM,WAAW,WACf,SAAQ,gBAAgB,EACtB,YAAY,CAAC,OAAO,cAAc,CAAC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,MAAM,8FAsBjB,CAAC;AAcH,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAC7C,YAAY,CAAC,OAAO,cAAc,CAAC,GACnC,CACI;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CAC1C,CACJ,CAAC;AAEJ,eAAO,MAAM,WAAW,mGAwBvB,CAAC;AAIF,MAAM,WAAW,oBAAqB,SAAQ,gBAAgB;IAC5D,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,eAAe,uGA4B3B,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Toggle & ToggleGroup (React Native variant).
|
|
4
|
+
*
|
|
5
|
+
* Same API as the web variant. Uses `Pressable` for touch targets.
|
|
6
|
+
*
|
|
7
|
+
* Wiki: docs/components/Toggle.md
|
|
8
|
+
*/
|
|
9
|
+
import { createContext, forwardRef, useContext, } from 'react';
|
|
10
|
+
import { Pressable, View } from 'react-native';
|
|
11
|
+
import { cva } from 'class-variance-authority';
|
|
12
|
+
import { cn } from './internal/cn.js';
|
|
13
|
+
/* Toggle */
|
|
14
|
+
export const toggleVariants = cva('flex-row items-center justify-center gap-1.5 rounded-md', {
|
|
15
|
+
variants: {
|
|
16
|
+
variant: {
|
|
17
|
+
default: 'bg-transparent',
|
|
18
|
+
outline: 'border border-border bg-transparent',
|
|
19
|
+
},
|
|
20
|
+
size: {
|
|
21
|
+
sm: 'h-8 px-2',
|
|
22
|
+
md: 'h-9 px-3',
|
|
23
|
+
lg: 'h-10 px-4',
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: { variant: 'default', size: 'md' },
|
|
27
|
+
});
|
|
28
|
+
export const Toggle = forwardRef(function Toggle({ className, variant, size, pressed, onPressedChange, disabled, children, ...props }, ref) {
|
|
29
|
+
return (_jsx(Pressable, { ref: ref, accessibilityRole: "switch", accessibilityState: { checked: pressed, disabled }, disabled: disabled, onPress: () => onPressedChange(!pressed), className: cn(toggleVariants({ variant, size }), pressed && 'bg-accent/15', disabled && 'opacity-50', className), ...props, children: children }));
|
|
30
|
+
});
|
|
31
|
+
const ToggleGroupContext = createContext(null);
|
|
32
|
+
export const ToggleGroup = forwardRef(function ToggleGroup({ className, type, value, onValueChange, variant, size, ...props }, ref) {
|
|
33
|
+
const onItemToggle = (itemValue) => {
|
|
34
|
+
if (type === 'single') {
|
|
35
|
+
onValueChange(itemValue);
|
|
36
|
+
}
|
|
37
|
+
else {
|
|
38
|
+
const arr = value;
|
|
39
|
+
const next = arr.includes(itemValue)
|
|
40
|
+
? arr.filter((v) => v !== itemValue)
|
|
41
|
+
: [...arr, itemValue];
|
|
42
|
+
onValueChange(next);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
return (_jsx(ToggleGroupContext.Provider, { value: { type, value, onItemToggle, variant, size }, children: _jsx(View, { ref: ref, className: cn('flex-row items-center gap-1', className), ...props }) }));
|
|
46
|
+
});
|
|
47
|
+
export const ToggleGroupItem = forwardRef(function ToggleGroupItem({ className, value, disabled, children, ...props }, ref) {
|
|
48
|
+
const ctx = useContext(ToggleGroupContext);
|
|
49
|
+
if (!ctx)
|
|
50
|
+
throw new Error('ToggleGroupItem must be used within <ToggleGroup>');
|
|
51
|
+
const pressed = ctx.type === 'single'
|
|
52
|
+
? ctx.value === value
|
|
53
|
+
: ctx.value.includes(value);
|
|
54
|
+
return (_jsx(Pressable, { ref: ref, accessibilityRole: "switch", accessibilityState: { checked: pressed, disabled }, disabled: disabled, onPress: () => ctx.onItemToggle(value), className: cn(toggleVariants({ variant: ctx.variant, size: ctx.size }), pressed && 'bg-accent/15', disabled && 'opacity-50', className), ...props, children: children }));
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=Toggle.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Toggle.native.js","sourceRoot":"","sources":["../src/Toggle.native.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tooltip (web variant — React DOM).
|
|
3
|
+
*
|
|
4
|
+
* Hover/focus tooltip using CSS anchor positioning fallback.
|
|
5
|
+
* Renders a `<span>` trigger wrapping children and an absolutely
|
|
6
|
+
* positioned tooltip element.
|
|
7
|
+
*
|
|
8
|
+
* <Tooltip content="Copy to clipboard">
|
|
9
|
+
* <Button variant="ghost"><CopyIcon /></Button>
|
|
10
|
+
* </Tooltip>
|
|
11
|
+
*
|
|
12
|
+
* <Tooltip content="Settings" side="right">
|
|
13
|
+
* <IconButton>…</IconButton>
|
|
14
|
+
* </Tooltip>
|
|
15
|
+
*
|
|
16
|
+
* Wiki: docs/components/Tooltip.md
|
|
17
|
+
*/
|
|
18
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
19
|
+
export interface TooltipProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'content'> {
|
|
20
|
+
/** Text shown in the tooltip. */
|
|
21
|
+
content: ReactNode;
|
|
22
|
+
/** Which side of the trigger to place the tooltip. */
|
|
23
|
+
side?: 'top' | 'bottom' | 'left' | 'right';
|
|
24
|
+
/** Delay in ms before showing. */
|
|
25
|
+
delayMs?: number;
|
|
26
|
+
/** Allow pointer interaction inside the tooltip content. */
|
|
27
|
+
interactive?: boolean;
|
|
28
|
+
/** Content class hook for rich styled tooltip bodies. */
|
|
29
|
+
contentClassName?: string;
|
|
30
|
+
}
|
|
31
|
+
export declare const Tooltip: import("react").ForwardRefExoticComponent<TooltipProps & import("react").RefAttributes<HTMLSpanElement>>;
|
|
32
|
+
//# sourceMappingURL=Tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../src/Tooltip.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAwB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAUlF,MAAM,WAAW,YAAa,SAAQ,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC;IACpF,iCAAiC;IACjC,OAAO,EAAE,SAAS,CAAC;IACnB,sDAAsD;IACtD,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yDAAyD;IACzD,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,OAAO,0GA6ClB,CAAC"}
|
package/dist/Tooltip.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* Tooltip (web variant — React DOM).
|
|
5
|
+
*
|
|
6
|
+
* Hover/focus tooltip using CSS anchor positioning fallback.
|
|
7
|
+
* Renders a `<span>` trigger wrapping children and an absolutely
|
|
8
|
+
* positioned tooltip element.
|
|
9
|
+
*
|
|
10
|
+
* <Tooltip content="Copy to clipboard">
|
|
11
|
+
* <Button variant="ghost"><CopyIcon /></Button>
|
|
12
|
+
* </Tooltip>
|
|
13
|
+
*
|
|
14
|
+
* <Tooltip content="Settings" side="right">
|
|
15
|
+
* <IconButton>…</IconButton>
|
|
16
|
+
* </Tooltip>
|
|
17
|
+
*
|
|
18
|
+
* Wiki: docs/components/Tooltip.md
|
|
19
|
+
*/
|
|
20
|
+
import { forwardRef, useState } from 'react';
|
|
21
|
+
import { cn } from './internal/cn.js';
|
|
22
|
+
const SIDE_CLASSES = {
|
|
23
|
+
top: 'bottom-full left-1/2 -translate-x-1/2 mb-2',
|
|
24
|
+
bottom: 'top-full left-1/2 -translate-x-1/2 mt-2',
|
|
25
|
+
left: 'right-full top-1/2 -translate-y-1/2 mr-2',
|
|
26
|
+
right: 'left-full top-1/2 -translate-y-1/2 ml-2',
|
|
27
|
+
};
|
|
28
|
+
export const Tooltip = forwardRef(function Tooltip({ className, content, side = 'top', delayMs = 300, interactive = false, contentClassName, children, ...props }, ref) {
|
|
29
|
+
const [visible, setVisible] = useState(false);
|
|
30
|
+
const [timeoutId, setTimeoutId] = useState(null);
|
|
31
|
+
const show = () => {
|
|
32
|
+
const id = setTimeout(() => setVisible(true), delayMs);
|
|
33
|
+
setTimeoutId(id);
|
|
34
|
+
};
|
|
35
|
+
const hide = () => {
|
|
36
|
+
if (timeoutId)
|
|
37
|
+
clearTimeout(timeoutId);
|
|
38
|
+
setTimeoutId(null);
|
|
39
|
+
setVisible(false);
|
|
40
|
+
};
|
|
41
|
+
return (_jsxs("span", { ref: ref, className: cn('relative inline-flex', className), onMouseEnter: show, onMouseLeave: hide, onFocus: show, onBlur: hide, ...props, children: [children, visible && (_jsx("span", { role: "tooltip", className: cn('pointer-events-none absolute z-50 w-max max-w-[min(20rem,calc(100vw-2rem))] whitespace-nowrap rounded-md', 'bg-foreground px-2.5 py-1.5 text-xs text-background shadow-md', 'animate-fade-in', interactive && 'pointer-events-auto', SIDE_CLASSES[side], contentClassName), children: content }))] }));
|
|
42
|
+
});
|
|
43
|
+
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.js","sourceRoot":"","sources":["../src/Tooltip.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAuC,MAAM,OAAO,CAAC;AAClF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,MAAM,YAAY,GAA2B;IAC3C,GAAG,EAAE,4CAA4C;IACjD,MAAM,EAAE,yCAAyC;IACjD,IAAI,EAAE,0CAA0C;IAChD,KAAK,EAAE,yCAAyC;CACjD,CAAC;AAeF,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAgC,SAAS,OAAO,CAC/E,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,GAAG,KAAK,EAAE,OAAO,GAAG,GAAG,EAAE,WAAW,GAAG,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAC9G,GAAG;IAEH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAuC,IAAI,CAAC,CAAC;IAEvF,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;QACvD,YAAY,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC;IACF,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,IAAI,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,YAAY,CAAC,IAAI,CAAC,CAAC;QACnB,UAAU,CAAC,KAAK,CAAC,CAAC;IACpB,CAAC,CAAC;IAEF,OAAO,CACL,gBACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC,EAChD,YAAY,EAAE,IAAI,EAClB,YAAY,EAAE,IAAI,EAClB,OAAO,EAAE,IAAI,EACb,MAAM,EAAE,IAAI,KACR,KAAK,aAER,QAAQ,EACR,OAAO,IAAI,CACV,eACE,IAAI,EAAC,SAAS,EACd,SAAS,EAAE,EAAE,CACX,0GAA0G,EAC1G,+DAA+D,EAC/D,iBAAiB,EACjB,WAAW,IAAI,qBAAqB,EACpC,YAAY,CAAC,IAAI,CAAC,EAClB,gBAAgB,CACjB,YAEA,OAAO,GACH,CACR,IACI,CACR,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tooltip (React Native variant).
|
|
3
|
+
*
|
|
4
|
+
* On native, tooltips display on long-press since there is no hover.
|
|
5
|
+
* A small popover appears above/below the trigger.
|
|
6
|
+
*
|
|
7
|
+
* <Tooltip content="Copy to clipboard">
|
|
8
|
+
* <Button variant="ghost"><CopyIcon /></Button>
|
|
9
|
+
* </Tooltip>
|
|
10
|
+
*
|
|
11
|
+
* Wiki: docs/components/Tooltip.md
|
|
12
|
+
*/
|
|
13
|
+
import { type ReactNode } from 'react';
|
|
14
|
+
import { View, type ViewProps } from 'react-native';
|
|
15
|
+
type ClassedViewProps = Omit<ViewProps, 'style'> & {
|
|
16
|
+
className?: string;
|
|
17
|
+
};
|
|
18
|
+
export interface TooltipProps extends ClassedViewProps {
|
|
19
|
+
content: ReactNode;
|
|
20
|
+
side?: 'top' | 'bottom';
|
|
21
|
+
children?: ReactNode;
|
|
22
|
+
}
|
|
23
|
+
export declare const Tooltip: import("react").ForwardRefExoticComponent<TooltipProps & import("react").RefAttributes<View>>;
|
|
24
|
+
export {};
|
|
25
|
+
//# sourceMappingURL=Tooltip.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.native.d.ts","sourceRoot":"","sources":["../src/Tooltip.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAwB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAmB,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGrE,KAAK,gBAAgB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAO1E,MAAM,WAAW,YAAa,SAAQ,gBAAgB;IACpD,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,OAAO,+FAgClB,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Tooltip (React Native variant).
|
|
4
|
+
*
|
|
5
|
+
* On native, tooltips display on long-press since there is no hover.
|
|
6
|
+
* A small popover appears above/below the trigger.
|
|
7
|
+
*
|
|
8
|
+
* <Tooltip content="Copy to clipboard">
|
|
9
|
+
* <Button variant="ghost"><CopyIcon /></Button>
|
|
10
|
+
* </Tooltip>
|
|
11
|
+
*
|
|
12
|
+
* Wiki: docs/components/Tooltip.md
|
|
13
|
+
*/
|
|
14
|
+
import { forwardRef, useState } from 'react';
|
|
15
|
+
import { Pressable, Text, View } from 'react-native';
|
|
16
|
+
import { cn } from './internal/cn.js';
|
|
17
|
+
const SIDE_CLASSES = {
|
|
18
|
+
top: 'bottom-full left-1/2 -translate-x-1/2 mb-2',
|
|
19
|
+
bottom: 'top-full left-1/2 -translate-x-1/2 mt-2',
|
|
20
|
+
};
|
|
21
|
+
export const Tooltip = forwardRef(function Tooltip({ className, content, side = 'top', children, ...props }, ref) {
|
|
22
|
+
const [visible, setVisible] = useState(false);
|
|
23
|
+
return (_jsxs(View, { ref: ref, className: cn('relative', className), ...props, children: [_jsx(Pressable, { onLongPress: () => setVisible(true), onPressOut: () => setVisible(false), accessibilityHint: typeof content === 'string' ? content : undefined, children: children }), visible && (_jsx(View, { className: cn('absolute z-50 rounded-md bg-foreground px-2.5 py-1.5', SIDE_CLASSES[side]), pointerEvents: "none", children: typeof content === 'string' ? (_jsx(Text, { className: "text-xs text-background", children: content })) : (content) }))] }));
|
|
24
|
+
});
|
|
25
|
+
//# sourceMappingURL=Tooltip.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tooltip.native.js","sourceRoot":"","sources":["../src/Tooltip.native.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAItC,MAAM,YAAY,GAA2B;IAC3C,GAAG,EAAE,4CAA4C;IACjD,MAAM,EAAE,yCAAyC;CAClD,CAAC;AAQF,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAqB,SAAS,OAAO,CACpE,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,GAAG,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EACxD,GAAG;IAEH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,OAAO,CACL,MAAC,IAAI,IAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC,KAAM,KAAK,aAC7D,KAAC,SAAS,IACR,WAAW,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EACnC,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EACnC,iBAAiB,EAAE,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,YAEnE,QAAQ,GACC,EACX,OAAO,IAAI,CACV,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CACX,sDAAsD,EACtD,YAAY,CAAC,IAAI,CAAC,CACnB,EACD,aAAa,EAAC,MAAM,YAEnB,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAC7B,KAAC,IAAI,IAAC,SAAS,EAAC,yBAAyB,YAAE,OAAO,GAAQ,CAC3D,CAAC,CAAC,CAAC,CACF,OAAO,CACR,GACI,CACR,IACI,CACR,CAAC;AACJ,CAAC,CAAC,CAAC"}
|
package/dist/TopBar.d.ts
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TopBar (web variant — React DOM) + compound sub-components.
|
|
3
|
+
*
|
|
4
|
+
* Segmented app header from the MiHCM Figma prototype.
|
|
5
|
+
* 60 px height on desktop, compact on mobile. Overflow is clipped so the
|
|
6
|
+
* parallelogram shapes stay within bounds without leaving visual gaps.
|
|
7
|
+
*
|
|
8
|
+
* Sub-components:
|
|
9
|
+
* TopBarLogo — brand mark using the Logo primitive
|
|
10
|
+
* TopBarHomeButton — parallelogram home nav button
|
|
11
|
+
* TopBarBackLink — parallelogram back link with ‹ arrow + text
|
|
12
|
+
* TopBarNotification — icon with badge count
|
|
13
|
+
* TopBarProfile — user greeting + avatar + status
|
|
14
|
+
* TopBarDivider — thin vertical separator
|
|
15
|
+
* TopBarAction — generic action button (icon + optional label)
|
|
16
|
+
*
|
|
17
|
+
* Wiki: docs/components/TopBar.md
|
|
18
|
+
*/
|
|
19
|
+
import { type HTMLAttributes, type ReactNode } from 'react';
|
|
20
|
+
import { type LogoProps } from './Logo.js';
|
|
21
|
+
export interface TopBarProps extends HTMLAttributes<HTMLElement> {
|
|
22
|
+
/** Leading slot — logo, home button, back link, notification. */
|
|
23
|
+
start?: ReactNode;
|
|
24
|
+
/** Optional middle slot — global search, page-level controls. */
|
|
25
|
+
center?: ReactNode;
|
|
26
|
+
/** Trailing slot — profile, actions, logout. */
|
|
27
|
+
end?: ReactNode;
|
|
28
|
+
/** Force a surface treatment, or follow the app `.dark` class. */
|
|
29
|
+
appearance?: 'system' | 'light' | 'dark';
|
|
30
|
+
}
|
|
31
|
+
export declare const TopBar: import("react").ForwardRefExoticComponent<TopBarProps & import("react").RefAttributes<HTMLElement>>;
|
|
32
|
+
export interface TopBarLogoProps extends HTMLAttributes<HTMLDivElement> {
|
|
33
|
+
/** Built-in Logo color treatment. */
|
|
34
|
+
variant?: LogoProps['variant'];
|
|
35
|
+
/** Built-in Logo size. */
|
|
36
|
+
size?: LogoProps['size'];
|
|
37
|
+
/** Approved brand asset family to swap the mark. */
|
|
38
|
+
brand?: LogoProps['brand'];
|
|
39
|
+
/** Approved asset variant when `brand` is set. */
|
|
40
|
+
assetVariant?: LogoProps['assetVariant'];
|
|
41
|
+
/** Base public path for approved logo assets. */
|
|
42
|
+
assetBasePath?: LogoProps['assetBasePath'];
|
|
43
|
+
/** Logo image source. Overrides `brand`. */
|
|
44
|
+
src?: string;
|
|
45
|
+
/** Alt text for the logo image or built-in mark. */
|
|
46
|
+
alt?: string;
|
|
47
|
+
/** Classes for the inner Logo primitive. */
|
|
48
|
+
logoClassName?: string;
|
|
49
|
+
}
|
|
50
|
+
export declare const TopBarLogo: import("react").ForwardRefExoticComponent<TopBarLogoProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
51
|
+
export interface TopBarHomeButtonProps extends Omit<HTMLAttributes<HTMLButtonElement>, 'children'> {
|
|
52
|
+
/** The icon rendered inside the parallelogram. */
|
|
53
|
+
icon: ReactNode;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Parallelogram-shaped home navigation button.
|
|
57
|
+
* Hidden on mobile (`hidden md:block`) by default.
|
|
58
|
+
*/
|
|
59
|
+
export declare const TopBarHomeButton: import("react").ForwardRefExoticComponent<TopBarHomeButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
60
|
+
export interface TopBarBackLinkProps extends HTMLAttributes<HTMLElement> {
|
|
61
|
+
/** Navigates as an anchor when provided. Renders a button otherwise. */
|
|
62
|
+
href?: string;
|
|
63
|
+
/** Override the default chevron icon. */
|
|
64
|
+
icon?: ReactNode;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Back navigation — parallelogram with chevron + text.
|
|
68
|
+
* Hidden on mobile (`hidden md:flex`). The text is hidden below `sm`.
|
|
69
|
+
*/
|
|
70
|
+
export declare const TopBarBackLink: import("react").ForwardRefExoticComponent<TopBarBackLinkProps & import("react").RefAttributes<HTMLElement>>;
|
|
71
|
+
export interface TopBarNotificationProps extends Omit<HTMLAttributes<HTMLButtonElement>, 'children'> {
|
|
72
|
+
/** The notification icon (e.g. Bell from lucide). */
|
|
73
|
+
icon: ReactNode;
|
|
74
|
+
/** Badge count. Hidden when 0 or undefined. */
|
|
75
|
+
count?: number;
|
|
76
|
+
}
|
|
77
|
+
export declare const TopBarNotification: import("react").ForwardRefExoticComponent<TopBarNotificationProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
78
|
+
export interface TopBarProfileProps extends HTMLAttributes<HTMLDivElement> {
|
|
79
|
+
/** Primary line, e.g. "Good Morning Yashi". */
|
|
80
|
+
name?: string;
|
|
81
|
+
/** Secondary line, e.g. "Edit Profile". */
|
|
82
|
+
subtitle?: string;
|
|
83
|
+
/** Avatar element (use the Avatar component). */
|
|
84
|
+
avatar: ReactNode;
|
|
85
|
+
/** Optional status indicator overlaid on the avatar. */
|
|
86
|
+
status?: ReactNode;
|
|
87
|
+
}
|
|
88
|
+
export declare const TopBarProfile: import("react").ForwardRefExoticComponent<TopBarProfileProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
89
|
+
/**
|
|
90
|
+
* Thin vertical separator between TopBar items.
|
|
91
|
+
* Hidden below `lg` by default; override with `className`.
|
|
92
|
+
*/
|
|
93
|
+
export declare const TopBarDivider: import("react").ForwardRefExoticComponent<HTMLAttributes<HTMLSpanElement> & import("react").RefAttributes<HTMLSpanElement>>;
|
|
94
|
+
export interface TopBarActionProps extends HTMLAttributes<HTMLButtonElement> {
|
|
95
|
+
/** Leading icon (e.g. Sparkles, Headphones from lucide). */
|
|
96
|
+
icon?: ReactNode;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Generic action button for the TopBar end slot.
|
|
100
|
+
* Pass `icon` for an icon-only or icon+label button.
|
|
101
|
+
* Pass `children` (string or node) for the visible label.
|
|
102
|
+
* Control responsive visibility via `className` (e.g. `hidden lg:flex`).
|
|
103
|
+
*/
|
|
104
|
+
export declare const TopBarAction: import("react").ForwardRefExoticComponent<TopBarActionProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
105
|
+
//# sourceMappingURL=TopBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopBar.d.ts","sourceRoot":"","sources":["../src/TopBar.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAExE,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAKjD,MAAM,WAAW,WAAY,SAAQ,cAAc,CAAC,WAAW,CAAC;IAC9D,iEAAiE;IACjE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,iEAAiE;IACjE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,gDAAgD;IAChD,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,kEAAkE;IAClE,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CAC1C;AAED,eAAO,MAAM,MAAM,qGAqCjB,CAAC;AAIH,MAAM,WAAW,eAAgB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACrE,qCAAqC;IACrC,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/B,0BAA0B;IAC1B,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,oDAAoD;IACpD,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,kDAAkD;IAClD,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,iDAAiD;IACjD,aAAa,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3C,4CAA4C;IAC5C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4CAA4C;IAC5C,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,UAAU,4GAuFrB,CAAC;AAIH,MAAM,WAAW,qBAAsB,SAAQ,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IAChG,kDAAkD;IAClD,IAAI,EAAE,SAAS,CAAC;CACjB;AAED;;;GAGG;AACH,eAAO,MAAM,gBAAgB,qHAyB5B,CAAC;AAIF,MAAM,WAAW,mBAAoB,SAAQ,cAAc,CAAC,WAAW,CAAC;IACtE,wEAAwE;IACxE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,6GA6DzB,CAAC;AAIH,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CACnD,cAAc,CAAC,iBAAiB,CAAC,EACjC,UAAU,CACX;IACC,qDAAqD;IACrD,IAAI,EAAE,SAAS,CAAC;IAChB,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,uHAqB9B,CAAC;AAIF,MAAM,WAAW,kBAAmB,SAAQ,cAAc,CAAC,cAAc,CAAC;IACxE,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,MAAM,EAAE,SAAS,CAAC;IAClB,wDAAwD;IACxD,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,+GA0BxB,CAAC;AAIH;;;GAGG;AACH,eAAO,MAAM,aAAa,6HAezB,CAAC;AAIF,MAAM,WAAW,iBAAkB,SAAQ,cAAc,CAAC,iBAAiB,CAAC;IAC1E,4DAA4D;IAC5D,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AAED;;;;;GAKG;AACH,eAAO,MAAM,YAAY,iHAsBvB,CAAC"}
|
package/dist/TopBar.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
/**
|
|
4
|
+
* TopBar (web variant — React DOM) + compound sub-components.
|
|
5
|
+
*
|
|
6
|
+
* Segmented app header from the MiHCM Figma prototype.
|
|
7
|
+
* 60 px height on desktop, compact on mobile. Overflow is clipped so the
|
|
8
|
+
* parallelogram shapes stay within bounds without leaving visual gaps.
|
|
9
|
+
*
|
|
10
|
+
* Sub-components:
|
|
11
|
+
* TopBarLogo — brand mark using the Logo primitive
|
|
12
|
+
* TopBarHomeButton — parallelogram home nav button
|
|
13
|
+
* TopBarBackLink — parallelogram back link with ‹ arrow + text
|
|
14
|
+
* TopBarNotification — icon with badge count
|
|
15
|
+
* TopBarProfile — user greeting + avatar + status
|
|
16
|
+
* TopBarDivider — thin vertical separator
|
|
17
|
+
* TopBarAction — generic action button (icon + optional label)
|
|
18
|
+
*
|
|
19
|
+
* Wiki: docs/components/TopBar.md
|
|
20
|
+
*/
|
|
21
|
+
import { forwardRef } from 'react';
|
|
22
|
+
import { cn } from './internal/cn.js';
|
|
23
|
+
import { Logo } from './Logo.js';
|
|
24
|
+
import { NotificationBadge } from './NotificationBadge.js';
|
|
25
|
+
export const TopBar = forwardRef(function TopBar({ className, start, center, end, children, appearance = 'system', ...props }, ref) {
|
|
26
|
+
const surfaceClass = appearance === 'dark'
|
|
27
|
+
? 'bg-topbar-dark-surface text-topbar-dark-foreground'
|
|
28
|
+
: appearance === 'light'
|
|
29
|
+
? 'bg-topbar-light-surface text-topbar-light-foreground'
|
|
30
|
+
: 'bg-topbar-light-surface text-topbar-light-foreground dark:!bg-topbar-dark-surface dark:!text-topbar-dark-foreground';
|
|
31
|
+
return (_jsx("header", { ref: ref, "data-appearance": appearance, className: cn('group/topbar z-30 flex h-15 flex-shrink-0 items-center justify-between overflow-hidden px-6 py-2 shadow-mi-soft', surfaceClass, className), ...props, children: children ?? (_jsxs(_Fragment, { children: [start ? (_jsx("div", { className: "flex min-w-0 shrink-0 items-center gap-0.5", children: start })) : (_jsx("span", {})), center ? (_jsx("div", { className: "hidden md:flex flex-1 justify-center px-6", children: center })) : null, end ? _jsx("div", { className: "flex h-10 shrink-0 items-center gap-6", children: end }) : _jsx("span", {})] })) }));
|
|
32
|
+
});
|
|
33
|
+
export const TopBarLogo = forwardRef(function TopBarLogo({ className, src, alt = 'MiHCM', variant = 'primary', size = 'md', brand, assetVariant, assetBasePath, logoClassName, children, ...props }, ref) {
|
|
34
|
+
const logoProps = {
|
|
35
|
+
...(src ? { src } : {}),
|
|
36
|
+
...(brand ? { brand } : {}),
|
|
37
|
+
...(assetVariant ? { assetVariant } : {}),
|
|
38
|
+
...(assetBasePath ? { assetBasePath } : {}),
|
|
39
|
+
};
|
|
40
|
+
const shouldAutoSwapBuiltIn = !children && !src && !brand && variant === 'primary';
|
|
41
|
+
const shouldAutoSwapAsset = !children && !src && Boolean(brand) && (assetVariant === undefined || assetVariant === 'primary');
|
|
42
|
+
return (_jsx("div", { ref: ref, className: cn('flex flex-shrink-0 items-center justify-center', className), ...props, children: children ?? (shouldAutoSwapBuiltIn ? (_jsxs(_Fragment, { children: [_jsx(Logo, { alt: alt, variant: "primary", size: size, className: cn('dark:!hidden group-data-[appearance=dark]/topbar:!hidden group-data-[appearance=light]/topbar:!inline-flex', logoClassName) }), _jsx(Logo, { alt: alt, variant: "white", size: size, className: cn('hidden dark:!inline-flex group-data-[appearance=dark]/topbar:!inline-flex group-data-[appearance=light]/topbar:!hidden', logoClassName) })] })) : shouldAutoSwapAsset ? (_jsxs(_Fragment, { children: [_jsx(Logo, { ...logoProps, alt: alt, assetVariant: "primary", size: size, className: cn('dark:!hidden group-data-[appearance=dark]/topbar:!hidden group-data-[appearance=light]/topbar:!inline-flex', logoClassName) }), _jsx(Logo, { ...logoProps, alt: alt, assetVariant: "white", size: size, className: cn('hidden dark:!inline-flex group-data-[appearance=dark]/topbar:!inline-flex group-data-[appearance=light]/topbar:!hidden', logoClassName) })] })) : (_jsx(Logo, { ...logoProps, alt: alt, variant: variant, size: size, className: logoClassName }))) }));
|
|
43
|
+
});
|
|
44
|
+
/**
|
|
45
|
+
* Parallelogram-shaped home navigation button.
|
|
46
|
+
* Hidden on mobile (`hidden md:block`) by default.
|
|
47
|
+
*/
|
|
48
|
+
export const TopBarHomeButton = forwardRef(function TopBarHomeButton({ className, icon, ...props }, ref) {
|
|
49
|
+
return (_jsxs("button", { ref: ref, type: "button", "aria-label": "Home", className: cn('relative -mr-12 hidden h-[65px] w-[102px] shrink-0 md:block', 'cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-ring', className), ...props, children: [_jsx("span", { className: "absolute inset-0 bg-topbar-light-home dark:!bg-topbar-dark-home group-data-[appearance=dark]/topbar:!bg-topbar-dark-home group-data-[appearance=light]/topbar:!bg-topbar-light-home", style: { clipPath: 'polygon(48px 0, 100% 0, calc(100% - 48px) 100%, 0 100%)' }, "aria-hidden": true }), _jsx("span", { className: "absolute inset-0 flex items-center justify-center text-topbar-light-muted dark:!text-topbar-dark-muted group-data-[appearance=dark]/topbar:!text-topbar-dark-muted group-data-[appearance=light]/topbar:!text-topbar-light-muted [&_svg]:size-4", children: icon })] }));
|
|
50
|
+
});
|
|
51
|
+
/**
|
|
52
|
+
* Back navigation — parallelogram with chevron + text.
|
|
53
|
+
* Hidden on mobile (`hidden md:flex`). The text is hidden below `sm`.
|
|
54
|
+
*/
|
|
55
|
+
export const TopBarBackLink = forwardRef(function TopBarBackLink({ className, href, icon, children, ...props }, ref) {
|
|
56
|
+
const chevron = icon ?? (_jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2.5", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true, children: _jsx("path", { d: "M15 18L9 12L15 6" }) }));
|
|
57
|
+
const inner = (_jsxs(_Fragment, { children: [_jsx("span", { className: "absolute inset-0 bg-topbar-light-segment dark:!bg-topbar-dark-segment group-data-[appearance=dark]/topbar:!bg-topbar-dark-segment group-data-[appearance=light]/topbar:!bg-topbar-light-segment", style: { clipPath: 'polygon(48px 0, 100% 0, calc(100% - 48px) 100%, 0 100%)' }, "aria-hidden": true }), _jsxs("span", { className: "relative flex h-full items-center gap-2 pl-[39.77px] pr-12", children: [_jsx("span", { className: "w-4 h-4 flex items-center justify-center shrink-0", children: chevron }), children ? (_jsx("span", { className: "hidden whitespace-nowrap text-xs font-medium text-topbar-light-foreground dark:!text-topbar-dark-foreground group-data-[appearance=dark]/topbar:!text-topbar-dark-foreground group-data-[appearance=light]/topbar:!text-topbar-light-foreground sm:inline", children: children })) : null] })] }));
|
|
58
|
+
const shared = {
|
|
59
|
+
className: cn('relative hidden h-[65px] w-[193.773px] shrink-0 md:block', 'cursor-pointer focus:outline-none focus-visible:ring-2 focus-visible:ring-ring', className),
|
|
60
|
+
...props,
|
|
61
|
+
};
|
|
62
|
+
if (href) {
|
|
63
|
+
return (_jsx("a", { ref: ref, href: href, ...shared, children: inner }));
|
|
64
|
+
}
|
|
65
|
+
return (_jsx("button", { ref: ref, type: "button", ...shared, children: inner }));
|
|
66
|
+
});
|
|
67
|
+
export const TopBarNotification = forwardRef(function TopBarNotification({ className, icon, count, ...props }, ref) {
|
|
68
|
+
return (_jsxs("button", { ref: ref, type: "button", "aria-label": count ? `Notifications (${count})` : 'Notifications', className: cn('relative ml-0 cursor-pointer', 'focus:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded', className), ...props, children: [_jsx("span", { className: "flex size-4 items-center justify-center text-topbar-light-muted dark:!text-topbar-dark-muted group-data-[appearance=dark]/topbar:!text-topbar-dark-muted group-data-[appearance=light]/topbar:!text-topbar-light-muted [&_svg]:size-4", children: icon }), _jsx(NotificationBadge, { count: count ?? 0, className: "-top-[9px] -right-2.5" })] }));
|
|
69
|
+
});
|
|
70
|
+
export const TopBarProfile = forwardRef(function TopBarProfile({ className, name, subtitle, avatar, status, ...props }, ref) {
|
|
71
|
+
return (_jsxs("div", { ref: ref, className: cn('relative flex items-center gap-4', className), ...props, children: [(name || subtitle) && (_jsxs("div", { className: "text-right leading-4 hidden md:flex md:flex-col md:items-end gap-0.5", children: [name && (_jsx("span", { className: "whitespace-nowrap text-xs font-medium text-topbar-light-foreground dark:!text-topbar-dark-foreground group-data-[appearance=dark]/topbar:!text-topbar-dark-foreground group-data-[appearance=light]/topbar:!text-topbar-light-foreground", children: name })), subtitle && (_jsx("span", { className: "whitespace-nowrap text-xs leading-4 text-topbar-light-muted dark:!text-topbar-dark-muted group-data-[appearance=dark]/topbar:!text-topbar-dark-muted group-data-[appearance=light]/topbar:!text-topbar-light-muted", children: subtitle }))] })), _jsxs("div", { className: "relative", children: [avatar, status && _jsx("span", { className: "absolute -bottom-0.5 -right-0.5", children: status })] })] }));
|
|
72
|
+
});
|
|
73
|
+
/* ── TopBarDivider ────────────────────────────────────────────────── */
|
|
74
|
+
/**
|
|
75
|
+
* Thin vertical separator between TopBar items.
|
|
76
|
+
* Hidden below `lg` by default; override with `className`.
|
|
77
|
+
*/
|
|
78
|
+
export const TopBarDivider = forwardRef(function TopBarDivider({ className, ...props }, ref) {
|
|
79
|
+
return (_jsx("span", { ref: ref, "aria-hidden": true, className: cn('hidden h-[15px] w-px bg-topbar-light-divider dark:!bg-topbar-dark-divider lg:block', 'group-data-[appearance=dark]/topbar:!bg-topbar-dark-divider group-data-[appearance=light]/topbar:!bg-topbar-light-divider', className), ...props }));
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* Generic action button for the TopBar end slot.
|
|
83
|
+
* Pass `icon` for an icon-only or icon+label button.
|
|
84
|
+
* Pass `children` (string or node) for the visible label.
|
|
85
|
+
* Control responsive visibility via `className` (e.g. `hidden lg:flex`).
|
|
86
|
+
*/
|
|
87
|
+
export const TopBarAction = forwardRef(function TopBarAction({ className, icon, children, ...props }, ref) {
|
|
88
|
+
return (_jsxs("button", { ref: ref, type: "button", className: cn('flex items-center gap-2 cursor-pointer', 'text-topbar-light-muted transition-colors duration-150 hover:text-topbar-light-foreground dark:!text-topbar-dark-muted dark:hover:!text-topbar-dark-foreground', 'group-data-[appearance=dark]/topbar:!text-topbar-dark-muted group-data-[appearance=dark]/topbar:hover:!text-topbar-dark-foreground', 'group-data-[appearance=light]/topbar:!text-topbar-light-muted group-data-[appearance=light]/topbar:hover:!text-topbar-light-foreground', 'focus:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded', className), ...props, children: [icon && _jsx("span", { className: "[&_svg]:size-4", children: icon }), children && _jsx("span", { className: "text-xs leading-4", children: children })] }));
|
|
89
|
+
});
|
|
90
|
+
//# sourceMappingURL=TopBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopBar.js","sourceRoot":"","sources":["../src/TopBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TopBar (React Native variant) + compound sub-components.
|
|
3
|
+
*
|
|
4
|
+
* Mobile-first: horizontal bar with back button, title, and actions.
|
|
5
|
+
* Parallelograms omitted (web CSS-only). TopBarHomeButton skipped.
|
|
6
|
+
*
|
|
7
|
+
* Wiki: docs/components/TopBar.md
|
|
8
|
+
*/
|
|
9
|
+
import { type ReactNode } from 'react';
|
|
10
|
+
import { type LogoProps } from './Logo.js';
|
|
11
|
+
import { View, type ViewProps } from 'react-native';
|
|
12
|
+
export interface TopBarProps extends Omit<ViewProps, 'style' | 'children'> {
|
|
13
|
+
start?: ReactNode;
|
|
14
|
+
center?: ReactNode;
|
|
15
|
+
end?: ReactNode;
|
|
16
|
+
children?: ReactNode;
|
|
17
|
+
className?: string;
|
|
18
|
+
appearance?: 'system' | 'light' | 'dark';
|
|
19
|
+
}
|
|
20
|
+
export declare const TopBar: import("react").ForwardRefExoticComponent<TopBarProps & import("react").RefAttributes<View>>;
|
|
21
|
+
export interface TopBarLogoProps extends Omit<ViewProps, 'style' | 'children'> {
|
|
22
|
+
variant?: LogoProps['variant'];
|
|
23
|
+
size?: LogoProps['size'];
|
|
24
|
+
brand?: LogoProps['brand'];
|
|
25
|
+
assetVariant?: LogoProps['assetVariant'];
|
|
26
|
+
assetBasePath?: LogoProps['assetBasePath'];
|
|
27
|
+
src?: string;
|
|
28
|
+
alt?: string;
|
|
29
|
+
logoClassName?: string;
|
|
30
|
+
children?: ReactNode;
|
|
31
|
+
className?: string;
|
|
32
|
+
}
|
|
33
|
+
export declare const TopBarLogo: import("react").ForwardRefExoticComponent<TopBarLogoProps & import("react").RefAttributes<View>>;
|
|
34
|
+
export interface TopBarBackLinkProps extends Omit<ViewProps, 'style' | 'children'> {
|
|
35
|
+
href?: string;
|
|
36
|
+
icon?: ReactNode;
|
|
37
|
+
onPress?: () => void;
|
|
38
|
+
children?: ReactNode;
|
|
39
|
+
className?: string;
|
|
40
|
+
}
|
|
41
|
+
export declare const TopBarBackLink: import("react").ForwardRefExoticComponent<TopBarBackLinkProps & import("react").RefAttributes<View>>;
|
|
42
|
+
export interface TopBarNotificationProps extends Omit<ViewProps, 'style' | 'children'> {
|
|
43
|
+
icon: ReactNode;
|
|
44
|
+
count?: number;
|
|
45
|
+
onPress?: () => void;
|
|
46
|
+
className?: string;
|
|
47
|
+
}
|
|
48
|
+
export declare const TopBarNotification: import("react").ForwardRefExoticComponent<TopBarNotificationProps & import("react").RefAttributes<View>>;
|
|
49
|
+
export interface TopBarProfileProps extends Omit<ViewProps, 'style'> {
|
|
50
|
+
name?: string;
|
|
51
|
+
subtitle?: string;
|
|
52
|
+
avatar: ReactNode;
|
|
53
|
+
status?: ReactNode;
|
|
54
|
+
className?: string;
|
|
55
|
+
}
|
|
56
|
+
export declare const TopBarProfile: import("react").ForwardRefExoticComponent<TopBarProfileProps & import("react").RefAttributes<View>>;
|
|
57
|
+
export declare const TopBarDivider: import("react").ForwardRefExoticComponent<Omit<ViewProps, "style"> & {
|
|
58
|
+
className?: string;
|
|
59
|
+
} & import("react").RefAttributes<View>>;
|
|
60
|
+
export interface TopBarActionProps extends Omit<ViewProps, 'style' | 'children'> {
|
|
61
|
+
icon?: ReactNode;
|
|
62
|
+
onPress?: () => void;
|
|
63
|
+
children?: ReactNode;
|
|
64
|
+
className?: string;
|
|
65
|
+
}
|
|
66
|
+
export declare const TopBarAction: import("react").ForwardRefExoticComponent<TopBarActionProps & import("react").RefAttributes<View>>;
|
|
67
|
+
//# sourceMappingURL=TopBar.native.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopBar.native.d.ts","sourceRoot":"","sources":["../src/TopBar.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AACjD,OAAO,EAAmB,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;IACxE,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,GAAG,CAAC,EAAE,SAAS,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;CAC1C;AAED,eAAO,MAAM,MAAM,8FA0BjB,CAAC;AAEH,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;IAC5E,OAAO,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IACzB,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC,cAAc,CAAC,CAAC;IACzC,aAAa,CAAC,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;IAC3C,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,UAAU,kGAsCtB,CAAC;AAEF,MAAM,WAAW,mBAAoB,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,cAAc,sGAkB1B,CAAC;AAEF,MAAM,WAAW,uBAAwB,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;IACpF,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,kBAAkB,0GAwB9B,CAAC;AAEF,MAAM,WAAW,kBAAmB,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC;IAClE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,aAAa,qGAazB,CAAC;AAEF,eAAO,MAAM,aAAa;gBAA6D,MAAM;wCAW5F,CAAC;AAEF,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;IAC9E,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,YAAY,oGAexB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* TopBar (React Native variant) + compound sub-components.
|
|
4
|
+
*
|
|
5
|
+
* Mobile-first: horizontal bar with back button, title, and actions.
|
|
6
|
+
* Parallelograms omitted (web CSS-only). TopBarHomeButton skipped.
|
|
7
|
+
*
|
|
8
|
+
* Wiki: docs/components/TopBar.md
|
|
9
|
+
*/
|
|
10
|
+
import { forwardRef } from 'react';
|
|
11
|
+
import { cn } from './internal/cn.js';
|
|
12
|
+
import { Logo } from './Logo.js';
|
|
13
|
+
import { Pressable, Text, View } from 'react-native';
|
|
14
|
+
export const TopBar = forwardRef(function TopBar({ className, start, center, end, children, appearance = 'system', ...props }, ref) {
|
|
15
|
+
return (_jsx(View, { ref: ref, accessibilityRole: "header", className: cn('flex-row items-center justify-between px-3 py-2', appearance === 'dark' && 'bg-topbar-dark-surface', appearance === 'light' && 'bg-topbar-light-surface', appearance === 'system' && 'bg-card', className), ...props, children: children ?? (_jsxs(_Fragment, { children: [_jsx(View, { className: "flex-row items-center", children: start }), center ? _jsx(View, { className: "flex-1 items-center px-3", children: center }) : null, _jsx(View, { className: "flex-row items-center gap-3", children: end })] })) }));
|
|
16
|
+
});
|
|
17
|
+
export const TopBarLogo = forwardRef(function TopBarLogo({ className, src, alt = 'MiHCM', variant = 'primary', size = 'md', brand, assetVariant, assetBasePath, logoClassName, children, ...props }, ref) {
|
|
18
|
+
const logoProps = {
|
|
19
|
+
...(src ? { src } : {}),
|
|
20
|
+
...(brand ? { brand } : {}),
|
|
21
|
+
...(assetVariant ? { assetVariant } : {}),
|
|
22
|
+
...(assetBasePath ? { assetBasePath } : {}),
|
|
23
|
+
};
|
|
24
|
+
return (_jsx(View, { ref: ref, className: cn('mr-1', className), ...props, children: children ?? (_jsx(Logo, { ...logoProps, alt: alt, variant: variant, size: size, className: logoClassName })) }));
|
|
25
|
+
});
|
|
26
|
+
export const TopBarBackLink = forwardRef(function TopBarBackLink({ className, icon, onPress, children, ...props }, ref) {
|
|
27
|
+
return (_jsxs(Pressable, { ref: ref, accessibilityRole: "button", accessibilityLabel: typeof children === 'string' ? children : 'Back', onPress: onPress, className: cn('flex-row items-center gap-1 py-1', className), ...props, children: [icon ?? _jsx(Text, { className: "text-lg text-foreground", children: '‹' }), children ? (_jsx(Text, { className: "text-xs font-medium text-foreground", children: children })) : null] }));
|
|
28
|
+
});
|
|
29
|
+
export const TopBarNotification = forwardRef(function TopBarNotification({ className, icon, count, onPress, ...props }, ref) {
|
|
30
|
+
return (_jsxs(Pressable, { ref: ref, accessibilityRole: "button", accessibilityLabel: count ? `Notifications (${count})` : 'Notifications', onPress: onPress, className: cn('relative', className), ...props, children: [_jsx(View, { className: "h-6 w-6 items-center justify-center text-muted-foreground", children: icon }), count != null && count > 0 && (_jsx(View, { className: "absolute -top-1 -right-1 min-w-4 h-4 items-center justify-center rounded-full bg-destructive px-1", children: _jsx(Text, { className: "text-caption font-bold text-destructive-foreground", children: count > 99 ? '99+' : count }) }))] }));
|
|
31
|
+
});
|
|
32
|
+
export const TopBarProfile = forwardRef(function TopBarProfile({ className, name: _name, subtitle: _subtitle, avatar, status, ...props }, ref) {
|
|
33
|
+
return (_jsx(View, { ref: ref, className: cn('flex-row items-center', className), ...props, children: _jsxs(View, { className: "relative", children: [avatar, status && (_jsx(View, { className: "absolute -bottom-0.5 -right-0.5", children: status }))] }) }));
|
|
34
|
+
});
|
|
35
|
+
export const TopBarDivider = forwardRef(function TopBarDivider({ className, ...props }, ref) {
|
|
36
|
+
return (_jsx(View, { ref: ref, accessibilityRole: "none", className: cn('h-4 w-px bg-border mx-1', className), ...props }));
|
|
37
|
+
});
|
|
38
|
+
export const TopBarAction = forwardRef(function TopBarAction({ className, icon, onPress, children, ...props }, ref) {
|
|
39
|
+
return (_jsxs(Pressable, { ref: ref, accessibilityRole: "button", onPress: onPress, className: cn('flex-row items-center gap-1', className), ...props, children: [icon && _jsx(View, { className: "h-5 w-5 items-center justify-center", children: icon }), children ? _jsx(Text, { className: "text-xs text-muted-foreground", children: children }) : null] }));
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=TopBar.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TopBar.native.js","sourceRoot":"","sources":["../src/TopBar.native.tsx"],"names":[],"mappings":"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"}
|