@soroush.tech/design-system 2.0.0-rc.2 → 2.0.0-rc.4
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 +66 -40
- package/dist/Accordion/Accordion.cjs +100 -0
- package/dist/Accordion/Accordion.d.cts +41 -0
- package/dist/Accordion/Accordion.d.mts +41 -0
- package/dist/Accordion/Accordion.mjs +98 -0
- package/dist/Accordion/AccordionActions.cjs +29 -0
- package/dist/Accordion/AccordionActions.d.cts +12 -0
- package/dist/Accordion/AccordionActions.d.mts +12 -0
- package/dist/Accordion/AccordionActions.mjs +27 -0
- package/dist/Accordion/AccordionDetails.cjs +23 -0
- package/dist/Accordion/AccordionDetails.d.cts +12 -0
- package/dist/Accordion/AccordionDetails.d.mts +12 -0
- package/dist/Accordion/AccordionDetails.mjs +21 -0
- package/dist/Accordion/AccordionGroup.cjs +79 -0
- package/dist/Accordion/AccordionGroup.d.cts +24 -0
- package/dist/Accordion/AccordionGroup.d.mts +24 -0
- package/dist/Accordion/AccordionGroup.mjs +77 -0
- package/dist/Accordion/AccordionSummary.cjs +99 -0
- package/dist/Accordion/AccordionSummary.d.cts +21 -0
- package/dist/Accordion/AccordionSummary.d.mts +21 -0
- package/dist/Accordion/AccordionSummary.mjs +97 -0
- package/dist/Accordion.cjs +11 -0
- package/dist/Accordion.d.cts +6 -0
- package/dist/Accordion.d.mts +6 -0
- package/dist/Accordion.mjs +6 -0
- package/dist/AccordionContext-B2TCl9Os.cjs +44 -0
- package/dist/AccordionContext-DDk_i9Dx.mjs +15 -0
- package/dist/Alert/Alert.cjs +154 -0
- package/dist/Alert/Alert.d.cts +37 -0
- package/dist/Alert/Alert.d.mts +37 -0
- package/dist/Alert/Alert.mjs +152 -0
- package/dist/Alert/AlertTitle.cjs +21 -0
- package/dist/Alert/AlertTitle.d.cts +12 -0
- package/dist/Alert/AlertTitle.d.mts +12 -0
- package/dist/Alert/AlertTitle.mjs +20 -0
- package/dist/Alert.cjs +5 -0
- package/dist/Alert.d.cts +3 -0
- package/dist/Alert.d.mts +3 -0
- package/dist/Alert.mjs +3 -0
- package/dist/AppBar.cjs +1 -1
- package/dist/AppBar.d.cts +1 -1
- package/dist/AppBar.d.mts +1 -1
- package/dist/AppBar.mjs +1 -1
- package/dist/Autocomplete.cjs +666 -0
- package/dist/Autocomplete.d.cts +97 -0
- package/dist/Autocomplete.d.mts +97 -0
- package/dist/Autocomplete.mjs +664 -0
- package/dist/Avatar.cjs +2 -2
- package/dist/Avatar.d.cts +1 -1
- package/dist/Avatar.d.mts +1 -1
- package/dist/Avatar.mjs +2 -2
- package/dist/Backdrop.d.cts +1 -1
- package/dist/Backdrop.d.mts +1 -1
- package/dist/Badge.cjs +130 -0
- package/dist/Badge.d.cts +45 -0
- package/dist/Badge.d.mts +45 -0
- package/dist/Badge.mjs +128 -0
- package/dist/Breadcrumbs.cjs +2 -2
- package/dist/Breadcrumbs.d.cts +3 -3
- package/dist/Breadcrumbs.d.mts +3 -3
- package/dist/Breadcrumbs.mjs +2 -2
- package/dist/Button.cjs +6 -3
- package/dist/Button.d.cts +1 -1
- package/dist/Button.d.mts +1 -1
- package/dist/Button.mjs +6 -3
- package/dist/ButtonGroup.cjs +1 -1
- package/dist/ButtonGroup.d.cts +1 -1
- package/dist/ButtonGroup.d.mts +1 -1
- package/dist/ButtonGroup.mjs +1 -1
- package/dist/Card.cjs +2 -2
- package/dist/Card.d.cts +4 -4
- package/dist/Card.d.mts +4 -4
- package/dist/Card.mjs +2 -2
- package/dist/Checkbox.cjs +13 -3
- package/dist/Checkbox.d.cts +4 -2
- package/dist/Checkbox.d.mts +4 -2
- package/dist/Checkbox.mjs +13 -3
- package/dist/Chip.cjs +194 -0
- package/dist/Chip.d.cts +49 -0
- package/dist/Chip.d.mts +49 -0
- package/dist/Chip.mjs +192 -0
- package/dist/CircularProgress.cjs +1 -1
- package/dist/CircularProgress.d.cts +2 -2
- package/dist/CircularProgress.d.mts +2 -2
- package/dist/CircularProgress.mjs +1 -1
- package/dist/Collapse.cjs +126 -0
- package/dist/Collapse.d.cts +2 -0
- package/dist/Collapse.d.mts +2 -0
- package/dist/Collapse.mjs +124 -0
- package/dist/Drawer.d.cts +3 -3
- package/dist/Drawer.d.mts +3 -3
- package/dist/Fab.cjs +114 -0
- package/dist/Fab.d.cts +2 -0
- package/dist/Fab.d.mts +2 -0
- package/dist/Fab.mjs +113 -0
- package/dist/FabMenu/FabMenu.cjs +3 -0
- package/dist/FabMenu/FabMenu.d.cts +53 -0
- package/dist/FabMenu/FabMenu.d.mts +53 -0
- package/dist/FabMenu/FabMenu.mjs +2 -0
- package/dist/FabMenu/FabMenuItem.cjs +28 -0
- package/dist/FabMenu/FabMenuItem.d.cts +19 -0
- package/dist/FabMenu/FabMenuItem.d.mts +19 -0
- package/dist/FabMenu/FabMenuItem.mjs +27 -0
- package/dist/FabMenu-BDfkT_zt.mjs +273 -0
- package/dist/FabMenu-RiVtzrKe.cjs +279 -0
- package/dist/FabMenu.cjs +5 -0
- package/dist/FabMenu.d.cts +3 -0
- package/dist/FabMenu.d.mts +3 -0
- package/dist/FabMenu.mjs +3 -0
- package/dist/FabMenuContext-BZslb0lL.cjs +22 -0
- package/dist/FabMenuContext-D-XlDbLl.mjs +11 -0
- package/dist/Fade.cjs +17 -0
- package/dist/Fade.d.cts +11 -0
- package/dist/Fade.d.mts +11 -0
- package/dist/Fade.mjs +16 -0
- package/dist/Flex.d.cts +1 -1
- package/dist/Flex.d.mts +1 -1
- package/dist/Form.d.cts +1 -1
- package/dist/Form.d.mts +1 -1
- package/dist/FormControl.cjs +14 -4
- package/dist/FormControl.d.cts +9 -1
- package/dist/FormControl.d.mts +9 -1
- package/dist/FormControl.mjs +14 -4
- package/dist/FormHelperText.cjs +1 -1
- package/dist/FormHelperText.d.cts +1 -1
- package/dist/FormHelperText.d.mts +1 -1
- package/dist/FormHelperText.mjs +1 -1
- package/dist/FormLabel.cjs +13 -2
- package/dist/FormLabel.d.cts +2 -2
- package/dist/FormLabel.d.mts +2 -2
- package/dist/FormLabel.mjs +14 -3
- package/dist/Grid.d.cts +1 -1
- package/dist/Grid.d.mts +1 -1
- package/dist/Grow.cjs +21 -0
- package/dist/Grow.d.cts +11 -0
- package/dist/Grow.d.mts +11 -0
- package/dist/Grow.mjs +20 -0
- package/dist/{Icon-DlheCTJb.mjs → Icon-0hPpk-WZ.mjs} +71 -1
- package/dist/{Icon-Cvuhp9ek.cjs → Icon-BE7bRsqR.cjs} +71 -1
- package/dist/Icon.cjs +1 -1
- package/dist/Icon.d.cts +1 -1
- package/dist/Icon.d.mts +1 -1
- package/dist/Icon.mjs +1 -1
- package/dist/Image.d.cts +1 -1
- package/dist/Image.d.mts +1 -1
- package/dist/LinearProgress.cjs +1 -1
- package/dist/LinearProgress.d.cts +2 -2
- package/dist/LinearProgress.d.mts +2 -2
- package/dist/LinearProgress.mjs +1 -1
- package/dist/Link.cjs +3 -3
- package/dist/Link.d.cts +1 -1
- package/dist/Link.d.mts +1 -1
- package/dist/Link.mjs +3 -3
- package/dist/Menu/ContextMenu.cjs +6 -4
- package/dist/Menu/ContextMenu.d.cts +8 -6
- package/dist/Menu/ContextMenu.d.mts +8 -6
- package/dist/Menu/ContextMenu.mjs +6 -4
- package/dist/Menu/Menu.cjs +1 -1
- package/dist/Menu/Menu.d.cts +1 -1
- package/dist/Menu/Menu.d.mts +1 -1
- package/dist/Menu/Menu.mjs +1 -1
- package/dist/Menu/MenuItems.cjs +1 -1
- package/dist/Menu/MenuItems.d.cts +1 -1
- package/dist/Menu/MenuItems.d.mts +1 -1
- package/dist/Menu/MenuItems.mjs +1 -1
- package/dist/Menu/MenuList.cjs +1 -1
- package/dist/Menu/MenuList.d.cts +2 -2
- package/dist/Menu/MenuList.d.mts +2 -2
- package/dist/Menu/MenuList.mjs +1 -1
- package/dist/{Menu-tECbAEFj.mjs → Menu-CnG4ikZd.mjs} +7 -4
- package/dist/{Menu-BkKPTOfh.cjs → Menu-DXLjR9ga.cjs} +8 -5
- package/dist/Menu.cjs +2 -2
- package/dist/Menu.d.cts +3 -3
- package/dist/Menu.d.mts +3 -3
- package/dist/Menu.mjs +2 -2
- package/dist/{MenuItem-BR7ingQx.mjs → MenuItem-C21eR7d6.mjs} +42 -86
- package/dist/{MenuItem-CfdN4axw.cjs → MenuItem-EJ4u73f0.cjs} +42 -92
- package/dist/MenuItem.cjs +1 -1
- package/dist/MenuItem.d.cts +1 -1
- package/dist/MenuItem.d.mts +1 -1
- package/dist/MenuItem.mjs +1 -1
- package/dist/{MenuList-D4imLXAa.cjs → MenuList-BBAYeUvD.cjs} +1 -1
- package/dist/{MenuList-B7msJ1IG.mjs → MenuList-Cz3cupC3.mjs} +1 -1
- package/dist/{MenuListContext-Dml16k0X.d.mts → MenuListContext-BWL5fM_L.d.mts} +2 -2
- package/dist/{MenuListContext-vujGcRk9.d.cts → MenuListContext-BrCKLgKZ.d.cts} +2 -2
- package/dist/{Modal-BcsyrrpH.mjs → Modal-CEHDej-v.mjs} +3 -22
- package/dist/{Modal-CM3osOqj.cjs → Modal-DBw4j0YA.cjs} +3 -22
- package/dist/Modal.cjs +1 -1
- package/dist/Modal.d.cts +1 -1
- package/dist/Modal.d.mts +1 -1
- package/dist/Modal.mjs +1 -1
- package/dist/NativeSelect.cjs +15 -18
- package/dist/NativeSelect.d.cts +3 -3
- package/dist/NativeSelect.d.mts +3 -3
- package/dist/NativeSelect.mjs +15 -18
- package/dist/NumberInput.cjs +502 -0
- package/dist/NumberInput.d.cts +79 -0
- package/dist/NumberInput.d.mts +79 -0
- package/dist/NumberInput.mjs +500 -0
- package/dist/Pagination/PaginationItem.cjs +2 -2
- package/dist/Pagination/PaginationItem.d.cts +1 -1
- package/dist/Pagination/PaginationItem.d.mts +1 -1
- package/dist/Pagination/PaginationItem.mjs +2 -2
- package/dist/Pagination.d.cts +2 -2
- package/dist/Pagination.d.mts +2 -2
- package/dist/Paper.cjs +2 -2
- package/dist/Paper.d.cts +2 -2
- package/dist/Paper.d.mts +2 -2
- package/dist/Paper.mjs +2 -2
- package/dist/{Popover-QjM5Z1CR.mjs → Popover-Neeqs_7l.mjs} +3 -3
- package/dist/{Popover-CiZfgiKE.cjs → Popover-xyJTSjZy.cjs} +3 -3
- package/dist/Popover.cjs +1 -1
- package/dist/Popover.d.cts +3 -3
- package/dist/Popover.d.mts +3 -3
- package/dist/Popover.mjs +1 -1
- package/dist/Portal.d.cts +1 -17
- package/dist/Portal.d.mts +1 -17
- package/dist/Pressable.cjs +17 -13
- package/dist/Pressable.d.cts +1 -1
- package/dist/Pressable.d.mts +1 -1
- package/dist/Pressable.mjs +17 -13
- package/dist/Quote.d.cts +2 -2
- package/dist/Quote.d.mts +2 -2
- package/dist/Radio.cjs +13 -3
- package/dist/Radio.d.cts +4 -2
- package/dist/Radio.d.mts +4 -2
- package/dist/Radio.mjs +13 -3
- package/dist/RangeInput.cjs +677 -0
- package/dist/RangeInput.d.cts +79 -0
- package/dist/RangeInput.d.mts +79 -0
- package/dist/RangeInput.mjs +675 -0
- package/dist/Rating.cjs +373 -0
- package/dist/Rating.d.cts +57 -0
- package/dist/Rating.d.mts +57 -0
- package/dist/Rating.mjs +371 -0
- package/dist/ScrollArea.cjs +268 -0
- package/dist/ScrollArea.d.cts +40 -0
- package/dist/ScrollArea.d.mts +40 -0
- package/dist/ScrollArea.mjs +266 -0
- package/dist/Select.cjs +11 -13
- package/dist/Select.d.cts +3 -3
- package/dist/Select.d.mts +3 -3
- package/dist/Select.mjs +13 -15
- package/dist/Sidebar/Sidebar.d.cts +1 -1
- package/dist/Sidebar/Sidebar.d.mts +1 -1
- package/dist/Sidebar/SidebarItem.cjs +2 -2
- package/dist/Sidebar/SidebarItem.d.cts +3 -3
- package/dist/Sidebar/SidebarItem.d.mts +3 -3
- package/dist/Sidebar/SidebarItem.mjs +4 -4
- package/dist/Skeleton.d.cts +1 -1
- package/dist/Skeleton.d.mts +1 -1
- package/dist/Slide.cjs +51 -0
- package/dist/Slide.d.cts +17 -0
- package/dist/Slide.d.mts +17 -0
- package/dist/Slide.mjs +50 -0
- package/dist/Snackbar.cjs +205 -0
- package/dist/Snackbar.d.cts +62 -0
- package/dist/Snackbar.d.mts +62 -0
- package/dist/Snackbar.mjs +203 -0
- package/dist/Switch.cjs +35 -18
- package/dist/Switch.d.cts +4 -2
- package/dist/Switch.d.mts +4 -2
- package/dist/Switch.mjs +37 -20
- package/dist/Table/Table.d.cts +2 -2
- package/dist/Table/Table.d.mts +2 -2
- package/dist/Table/TableBody.d.cts +1 -1
- package/dist/Table/TableBody.d.mts +1 -1
- package/dist/Table/TableCell.d.cts +1 -1
- package/dist/Table/TableCell.d.mts +1 -1
- package/dist/Table/TableContainer.d.cts +1 -1
- package/dist/Table/TableContainer.d.mts +1 -1
- package/dist/Table/TableControl.d.cts +1 -1
- package/dist/Table/TableControl.d.mts +1 -1
- package/dist/Table/TableControl.mjs +2 -2
- package/dist/Table/TableFooter.d.cts +1 -1
- package/dist/Table/TableFooter.d.mts +1 -1
- package/dist/Table/TableHead.d.cts +1 -1
- package/dist/Table/TableHead.d.mts +1 -1
- package/dist/Table/TablePagination.cjs +1 -0
- package/dist/Table/TablePagination.d.cts +2 -2
- package/dist/Table/TablePagination.d.mts +2 -2
- package/dist/Table/TablePagination.mjs +1 -0
- package/dist/Table/TablePaginationActions.cjs +1 -1
- package/dist/Table/TablePaginationActions.d.cts +1 -1
- package/dist/Table/TablePaginationActions.d.mts +1 -1
- package/dist/Table/TablePaginationActions.mjs +1 -1
- package/dist/Table/TableRow.d.cts +1 -1
- package/dist/Table/TableRow.d.mts +1 -1
- package/dist/Table/TableSortLabel.cjs +1 -1
- package/dist/Table/TableSortLabel.d.cts +1 -1
- package/dist/Table/TableSortLabel.d.mts +1 -1
- package/dist/Table/TableSortLabel.mjs +1 -1
- package/dist/Table/hooks.d.cts +1 -1
- package/dist/Table/hooks.d.mts +1 -1
- package/dist/Table.d.cts +5 -5
- package/dist/Table.d.mts +5 -5
- package/dist/{TableContext-6PgGpUzM.d.mts → TableContext-Be8tluYZ.d.cts} +1 -1
- package/dist/{TableContext-CBGk-Lh8.d.cts → TableContext-DUPqls5k.d.mts} +1 -1
- package/dist/Tabs/Tab.cjs +16 -7
- package/dist/Tabs/Tab.d.cts +2 -2
- package/dist/Tabs/Tab.d.mts +2 -2
- package/dist/Tabs/Tab.mjs +16 -7
- package/dist/Tabs/TabContext.d.cts +1 -1
- package/dist/Tabs/TabContext.d.mts +1 -1
- package/dist/Tabs/TabList.cjs +1 -1
- package/dist/Tabs/TabList.d.cts +1 -1
- package/dist/Tabs/TabList.d.mts +1 -1
- package/dist/Tabs/TabList.mjs +1 -1
- package/dist/Tabs/TabPanel.cjs +1 -1
- package/dist/Tabs/TabPanel.d.cts +2 -2
- package/dist/Tabs/TabPanel.d.mts +2 -2
- package/dist/Tabs/TabPanel.mjs +1 -1
- package/dist/Tabs/TabScrollButton.cjs +2 -2
- package/dist/Tabs/TabScrollButton.d.cts +1 -1
- package/dist/Tabs/TabScrollButton.d.mts +1 -1
- package/dist/Tabs/TabScrollButton.mjs +2 -2
- package/dist/Tabs/Tabs.cjs +1 -1
- package/dist/Tabs/Tabs.d.cts +2 -2
- package/dist/Tabs/Tabs.d.mts +2 -2
- package/dist/Tabs/Tabs.mjs +1 -1
- package/dist/{Tabs-D_wkX-Jb.cjs → Tabs-Croeq9s2.cjs} +15 -10
- package/dist/{Tabs-YfCUbkQV.mjs → Tabs-DMMP5aDj.mjs} +12 -7
- package/dist/Tabs.cjs +1 -1
- package/dist/Tabs.d.cts +3 -3
- package/dist/Tabs.d.mts +3 -3
- package/dist/Tabs.mjs +1 -1
- package/dist/{TabsContext-C2agsLBN.d.cts → TabsContext-BYeGjSZK.d.cts} +1 -1
- package/dist/{TabsContext-DqyxdmGW.d.mts → TabsContext-D4YumTfD.d.mts} +1 -1
- package/dist/TextInput.cjs +14 -14
- package/dist/TextInput.d.cts +2 -2
- package/dist/TextInput.d.mts +2 -2
- package/dist/TextInput.mjs +14 -14
- package/dist/ToggleButton/ToggleButton.cjs +2 -2
- package/dist/ToggleButton/ToggleButton.d.cts +1 -1
- package/dist/ToggleButton/ToggleButton.d.mts +1 -1
- package/dist/ToggleButton/ToggleButton.mjs +2 -2
- package/dist/ToggleButton/ToggleButtonGroup.cjs +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.d.cts +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.d.mts +1 -1
- package/dist/ToggleButton/ToggleButtonGroup.mjs +1 -1
- package/dist/Tooltip.cjs +270 -0
- package/dist/Tooltip.d.cts +78 -0
- package/dist/Tooltip.d.mts +78 -0
- package/dist/Tooltip.mjs +268 -0
- package/dist/TransferList.cjs +363 -0
- package/dist/TransferList.d.cts +69 -0
- package/dist/TransferList.d.mts +69 -0
- package/dist/TransferList.mjs +361 -0
- package/dist/Typography.cjs +1 -1
- package/dist/Typography.d.cts +2 -2
- package/dist/Typography.d.mts +2 -2
- package/dist/Typography.mjs +1 -1
- package/dist/View.d.cts +1 -1
- package/dist/View.d.mts +1 -1
- package/dist/Zoom.cjs +16 -0
- package/dist/Zoom.d.cts +10 -0
- package/dist/Zoom.d.mts +10 -0
- package/dist/Zoom.mjs +15 -0
- package/dist/catalog.cjs +1405 -45
- package/dist/catalog.d.cts +1 -1
- package/dist/catalog.d.mts +1 -1
- package/dist/catalog.mjs +1405 -45
- package/dist/engine.d.cts +2 -2
- package/dist/engine.d.mts +1 -1
- package/dist/getAnchorRel-CySI28HJ.mjs +8 -0
- package/dist/getAnchorRel-_vtAXC-4.cjs +13 -0
- package/dist/getShapeRadius-B9ytqDSk.d.cts +5 -0
- package/dist/getShapeRadius-B9ytqDSk.d.mts +5 -0
- package/dist/getShapeRadius-sY6-AGP4.mjs +12 -0
- package/dist/getShapeRadius-vXmXGV3f.cjs +17 -0
- package/dist/getSurfaceRadius-BTUV1E8H.cjs +11 -0
- package/dist/getSurfaceRadius-DTgqIzll.mjs +6 -0
- package/dist/getTooltipOrigins-B_7XXtQq.cjs +104 -0
- package/dist/getTooltipOrigins-CyyIMCF1.mjs +87 -0
- package/dist/{index-qlfNErNd.d.cts → index-05VGk0y_.d.cts} +30 -2
- package/dist/{index-CrIxI8Na.d.mts → index-2x01drCL.d.mts} +2 -2
- package/dist/{index-Cj5Rhh_9.d.mts → index-46mhlgP6.d.mts} +7 -3
- package/dist/{index-BiVvxOvj.d.cts → index-BCzI2Iqo.d.cts} +2 -2
- package/dist/{index-IdMqR82e.d.cts → index-BDqIc6Gx.d.cts} +1 -1
- package/dist/{index-BSA6SKao.d.mts → index-BPh60KDs.d.mts} +1 -1
- package/dist/{index-Bxd9NOWb.d.mts → index-BQge4W7L.d.cts} +3 -3
- package/dist/{index-DCmH5f9I.d.cts → index-BSGu9rPv.d.cts} +7 -3
- package/dist/{index-Bhdn4KTy.d.cts → index-BThHG5QU.d.mts} +3 -3
- package/dist/{index-DrVYWt-X.d.mts → index-BUeqNHjb.d.cts} +3 -3
- package/dist/{index-DIC7HKpP.d.mts → index-BeqpkGV-.d.mts} +1 -1
- package/dist/{index-DqjXDutI.d.mts → index-Bfyz3MDc.d.mts} +1 -1
- package/dist/{index-BlLH6rlE.d.cts → index-BgLqA52S.d.cts} +2 -2
- package/dist/{index-DDJuUfL5.d.cts → index-BhnLFsBv.d.cts} +1 -1
- package/dist/{index-gnh-Oe0n.d.cts → index-BitQk7Hx.d.cts} +1 -1
- package/dist/index-BvgX5eyV.d.mts +36 -0
- package/dist/index-CERyXFjz.d.cts +32 -0
- package/dist/index-CLvlNnjM.d.mts +32 -0
- package/dist/{index-C3KrFPCj.d.mts → index-CO-XxjiZ.d.cts} +2 -2
- package/dist/{index-DXhMkjQ6.d.cts → index-CR0akDlJ.d.cts} +2 -2
- package/dist/{index-CVNJEUwJ.d.mts → index-CRQ7XLri.d.mts} +234 -6
- package/dist/{index-DQcnJ5H4.d.cts → index-CRn4fWwA.d.mts} +2 -2
- package/dist/{index-BCnKYNlZ.d.cts → index-CWPvdEjP.d.mts} +3 -3
- package/dist/{index-DuVNRXP4.d.cts → index-CrQDxJ1D.d.cts} +1 -1
- package/dist/index-Ctx-DKV3.d.cts +18 -0
- package/dist/index-Ctx-DKV3.d.mts +18 -0
- package/dist/{index-BjPX49XA.d.mts → index-CyLhEXYB.d.mts} +1 -1
- package/dist/{index-DeDxYlSQ.d.mts → index-D05fSuF1.d.mts} +2 -2
- package/dist/{index-XxydXX8l.d.cts → index-DK3zgGPe.d.mts} +3 -3
- package/dist/{index-BqpS_Huq.d.mts → index-DNj5P2NH.d.mts} +30 -2
- package/dist/{index-BFruxTHv.d.cts → index-DOH1xY0L.d.cts} +1 -1
- package/dist/{index-B3LIhqHR.d.cts → index-D_-DAAE7.d.mts} +14 -6
- package/dist/{index-BbgFYfX_.d.mts → index-D_LT3QiH.d.mts} +2 -2
- package/dist/index-Db4L2hwa.d.cts +36 -0
- package/dist/{index-BjfPEP_5.d.cts → index-Dk4KuTPB.d.cts} +2 -2
- package/dist/{index-CoEqjFYn.d.mts → index-Ebjbrbsk.d.cts} +14 -6
- package/dist/{index-B8DNxyEw.d.mts → index-MWUGpG-Y.d.mts} +2 -2
- package/dist/{index-DmJ7yWWi.d.cts → index-XN4-ZqTB.d.cts} +236 -8
- package/dist/index-fPRELf0V.d.mts +1 -0
- package/dist/{index-CWnbCxgw.d.cts → index-fi-W3MOz.d.cts} +7 -5
- package/dist/{index-DJCpnTH3.d.mts → index-iTquH69S.d.cts} +3 -3
- package/dist/{index-DckSub2J.d.mts → index-lGpLM144.d.mts} +7 -5
- package/dist/{index-BVPrG1L0.d.mts → index-vBCN6iAz.d.mts} +1 -1
- package/dist/index-x3WC9ViD.d.cts +1 -0
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/inputVariantStyles-BUK_62Ra.cjs +61 -0
- package/dist/inputVariantStyles-q_cZsCJg.mjs +44 -0
- package/dist/isRtl-BJDtm86G.mjs +7 -0
- package/dist/isRtl-DTkYHRPo.cjs +12 -0
- package/dist/precision-B1lhxnnO.mjs +25 -0
- package/dist/precision-B58cTPB2.cjs +48 -0
- package/dist/style.cjs +1 -1
- package/dist/style.d.cts +2 -2
- package/dist/style.d.mts +2 -2
- package/dist/style.mjs +1 -1
- package/dist/{theme-BxXuXRgQ.cjs → theme-DzfwuzMZ.cjs} +1 -1
- package/dist/{theme-Z9_QludW.mjs → theme-oBfFhJm9.mjs} +1 -1
- package/dist/theme.cjs +3 -2
- package/dist/theme.d.cts +3 -3
- package/dist/theme.d.mts +3 -3
- package/dist/theme.mjs +3 -3
- package/dist/{themes-gd6tcmqS.cjs → themes--4eci3M1.cjs} +25 -2
- package/dist/{themes-L-dE7_ck.mjs → themes-BwEsdVox.mjs} +20 -3
- package/dist/useAnchoredPlacement-B1FyGoZV.cjs +111 -0
- package/dist/useAnchoredPlacement-Pe7sY41E.mjs +106 -0
- package/dist/useControlled-C666KpQ0.cjs +18 -0
- package/dist/useControlled-CBRLsO-H.mjs +13 -0
- package/dist/useMergedRefs-2zTDXgPO.cjs +27 -0
- package/dist/useMergedRefs-BfBckwRY.mjs +22 -0
- package/dist/{useTablePagination-C5VKtqDp.d.cts → useTablePagination-CFb_FYA9.d.cts} +1 -1
- package/dist/{useTablePagination-C6LSlt3w.d.mts → useTablePagination-_-bzuXJO.d.mts} +1 -1
- package/dist/useTransition-C1F7MuHO.d.mts +42 -0
- package/dist/useTransition-DAQd1PX3.cjs +83 -0
- package/dist/useTransition-DP1k0irI.mjs +78 -0
- package/dist/useTransition-l9dv83-Y.d.cts +42 -0
- package/dist/useTransitionChild-CikpU0Yh.cjs +54 -0
- package/dist/useTransitionChild-Dvg9hO-F.mjs +49 -0
- package/package.json +194 -4
- package/dist/index-DBteSahY.d.cts +0 -1
- package/dist/index-_G1osn09.d.mts +0 -1
- package/dist/inputVariantStyles-BBkkYQtE.cjs +0 -32
- package/dist/inputVariantStyles-CcqpGfuP.mjs +0 -28
package/dist/TextInput.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { a as src_exports, i as props, o as styled, t as createShouldForwardProp } from "./src-DLGYOJMh.mjs";
|
|
2
|
+
import { r as useTheme } from "./theme-oBfFhJm9.mjs";
|
|
2
3
|
import { t as themeDefault } from "./themeDefault-Z3KmyIbm.mjs";
|
|
3
|
-
import { r as
|
|
4
|
+
import { n as getFocusRing, r as getInputMinWidth, t as inputVariantStyles } from "./inputVariantStyles-q_cZsCJg.mjs";
|
|
4
5
|
import { useFormControl } from "./FormControl.mjs";
|
|
5
|
-
import { t as inputVariantStyles } from "./inputVariantStyles-CcqpGfuP.mjs";
|
|
6
6
|
import { forwardRef, useCallback, useLayoutEffect, useRef } from "react";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
//#region src/TextInput/TextAreaAutoResize.tsx
|
|
@@ -63,10 +63,10 @@ const baseStyle = {
|
|
|
63
63
|
alignItems: "center",
|
|
64
64
|
transition: "border-color 0.15s ease"
|
|
65
65
|
};
|
|
66
|
-
const backgroundStyle = ({ theme, textColor = themeDefault(theme, "
|
|
66
|
+
const backgroundStyle = ({ theme, textColor, color = themeDefault(theme, "color", "primary") }) => {
|
|
67
67
|
return {
|
|
68
68
|
backgroundColor: (0, src_exports.get)(theme, `background.${themeDefault(theme, "inputBg", "terminal")}`),
|
|
69
|
-
color: (0, src_exports.get)(theme, `text.${textColor}`),
|
|
69
|
+
color: textColor ? (0, src_exports.get)(theme, `text.${textColor}`) : (0, src_exports.get)(theme, `palette.${color}.main`),
|
|
70
70
|
fontFamily: (0, src_exports.get)(theme, "fonts.body"),
|
|
71
71
|
fontSize: (0, src_exports.get)(theme, "fontSizes.1"),
|
|
72
72
|
lineHeight: (0, src_exports.get)(theme, "lineHeights.base")
|
|
@@ -75,18 +75,14 @@ const backgroundStyle = ({ theme, textColor = themeDefault(theme, "accentTextCol
|
|
|
75
75
|
const colorBorder = ({ theme, color = themeDefault(theme, "color", "primary"), error }) => {
|
|
76
76
|
return { borderColor: error ? (0, src_exports.get)(theme, "palette.error.main") : (0, src_exports.get)(theme, `palette.${color}.light`) };
|
|
77
77
|
};
|
|
78
|
-
const focusVisibleRing = ({ theme }) => {
|
|
79
|
-
return { "&:has(:focus-visible)": {
|
|
80
|
-
outline: `2px solid ${(0, src_exports.get)(theme, `palette.${themeDefault(theme, "color", "primary")}.main`)}`,
|
|
81
|
-
outlineOffset: "2px"
|
|
82
|
-
} };
|
|
83
|
-
};
|
|
78
|
+
const focusVisibleRing = ({ theme, color = themeDefault(theme, "color", "primary"), error }) => ({ "&:has(:focus-visible)": getFocusRing(theme, color, error) });
|
|
84
79
|
const focusWithinColor = ({ theme, color = themeDefault(theme, "color", "primary"), error }) => ({ "&:focus-within": { borderColor: error ? (0, src_exports.get)(theme, "palette.error.main") : (0, src_exports.get)(theme, `palette.${color}.main`) } });
|
|
85
80
|
const borderRadiusStyle = ({ variant: v = "default", borderRadius, theme }) => {
|
|
86
81
|
if (v === "underline" || v === "text" || !borderRadius) return {};
|
|
87
82
|
return { borderRadius: (0, src_exports.get)(theme, `radii.${borderRadius}`) };
|
|
88
83
|
};
|
|
89
|
-
const layoutStyles = ({ fullWidth, disabled }) => ({
|
|
84
|
+
const layoutStyles = ({ theme, fullWidth, disabled }) => ({
|
|
85
|
+
minWidth: getInputMinWidth(theme),
|
|
90
86
|
...fullWidth ? {
|
|
91
87
|
display: "flex",
|
|
92
88
|
width: "100%"
|
|
@@ -176,7 +172,7 @@ function TextInput({ autoComplete, autoFocus, borderRadius, classes, components,
|
|
|
176
172
|
const { id, error, disabled, required, size, fullWidth } = fc;
|
|
177
173
|
const theme = useTheme();
|
|
178
174
|
const color = fc.color ?? themeDefault(theme, "color", "primary");
|
|
179
|
-
const textColor = fc.textColor
|
|
175
|
+
const textColor = fc.textColor;
|
|
180
176
|
const variant = variantProp ?? themeDefault(theme, "inputVariant", "default");
|
|
181
177
|
const isAutoResize = resize;
|
|
182
178
|
const isMultiline = multiline || rows !== void 0 && Number(rows) > 1;
|
|
@@ -203,14 +199,18 @@ function TextInput({ autoComplete, autoFocus, borderRadius, classes, components,
|
|
|
203
199
|
};
|
|
204
200
|
let inputElement = /* @__PURE__ */ jsx(StyledInput, {
|
|
205
201
|
inputComponent: resolvedInputComponent,
|
|
206
|
-
inputSize,
|
|
202
|
+
inputSize: inputSize ?? (resolvedInputComponent ? void 0 : 1),
|
|
207
203
|
...inputElProps
|
|
208
204
|
});
|
|
209
205
|
if (isTextarea) inputElement = isAutoResize ? /* @__PURE__ */ jsx(StyledAutoResizeTextarea, {
|
|
210
206
|
...inputElProps,
|
|
207
|
+
cols: 1,
|
|
211
208
|
minRows: minRows ?? rows,
|
|
212
209
|
maxRows
|
|
213
|
-
}) : /* @__PURE__ */ jsx(StyledTextarea, {
|
|
210
|
+
}) : /* @__PURE__ */ jsx(StyledTextarea, {
|
|
211
|
+
...inputElProps,
|
|
212
|
+
cols: 1
|
|
213
|
+
});
|
|
214
214
|
return /* @__PURE__ */ jsx(TextInputRoot, {
|
|
215
215
|
as: components?.Root,
|
|
216
216
|
color,
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_src = require("../src-DU81aGy9.cjs");
|
|
3
|
-
const require_themeDefault = require("../themeDefault-Cebi08Cv.cjs");
|
|
4
3
|
const require_utils = require("../utils.cjs");
|
|
5
|
-
const require_theme = require("../theme-
|
|
4
|
+
const require_theme = require("../theme-DzfwuzMZ.cjs");
|
|
5
|
+
const require_themeDefault = require("../themeDefault-Cebi08Cv.cjs");
|
|
6
6
|
const require_ButtonGroupContext = require("../ButtonGroupContext-NtkVeDVE.cjs");
|
|
7
7
|
const require_Button = require("../Button.cjs");
|
|
8
8
|
const require_ToggleButtonGroupContext = require("../ToggleButtonGroupContext-Ewc5Ixas.cjs");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as ButtonProps } from "../index-
|
|
1
|
+
import { i as ButtonProps } from "../index-BQge4W7L.cjs";
|
|
2
2
|
import { r as ToggleButtonValue } from "../ToggleButtonGroupContext-10jEsQdg.cjs";
|
|
3
3
|
//#region src/ToggleButton/ToggleButton/ToggleButton.d.ts
|
|
4
4
|
interface ToggleButtonProps extends Omit<ButtonProps, 'variant' | 'href' | 'target' | 'rel' | 'value' | 'onChange'> {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { i as ButtonProps } from "../index-
|
|
1
|
+
import { i as ButtonProps } from "../index-DK3zgGPe.mjs";
|
|
2
2
|
import { r as ToggleButtonValue } from "../ToggleButtonGroupContext-10jEsQdg.mjs";
|
|
3
3
|
//#region src/ToggleButton/ToggleButton/ToggleButton.d.ts
|
|
4
4
|
interface ToggleButtonProps extends Omit<ButtonProps, 'variant' | 'href' | 'target' | 'rel' | 'value' | 'onChange'> {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { a as src_exports, o as styled } from "../src-DLGYOJMh.mjs";
|
|
2
|
-
import { t as themeDefault } from "../themeDefault-Z3KmyIbm.mjs";
|
|
3
2
|
import { alpha } from "../utils.mjs";
|
|
4
|
-
import { r as useTheme } from "../theme-
|
|
3
|
+
import { r as useTheme } from "../theme-oBfFhJm9.mjs";
|
|
4
|
+
import { t as themeDefault } from "../themeDefault-Z3KmyIbm.mjs";
|
|
5
5
|
import { t as ButtonGroupContext } from "../ButtonGroupContext-DS-kl9lG.mjs";
|
|
6
6
|
import { Button } from "../Button.mjs";
|
|
7
7
|
import { t as ToggleButtonGroupContext } from "../ToggleButtonGroupContext-DxIyy8ze.mjs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_src = require("../src-DU81aGy9.cjs");
|
|
3
|
+
const require_theme = require("../theme-DzfwuzMZ.cjs");
|
|
3
4
|
const require_themeDefault = require("../themeDefault-Cebi08Cv.cjs");
|
|
4
|
-
const require_theme = require("../theme-BxXuXRgQ.cjs");
|
|
5
5
|
const require_ButtonGroup = require("../ButtonGroup.cjs");
|
|
6
6
|
const require_ToggleButtonGroupContext = require("../ToggleButtonGroupContext-Ewc5Ixas.cjs");
|
|
7
7
|
let react = require("react");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as ButtonGroupProps } from "../index-
|
|
1
|
+
import { a as ButtonGroupProps } from "../index-Dk4KuTPB.cjs";
|
|
2
2
|
import { r as ToggleButtonValue } from "../ToggleButtonGroupContext-10jEsQdg.cjs";
|
|
3
3
|
//#region src/ToggleButton/ToggleButtonGroup/ToggleButtonGroup.d.ts
|
|
4
4
|
interface ToggleButtonGroupProps extends Omit<ButtonGroupProps, 'variant' | 'onChange'> {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as ButtonGroupProps } from "../index-
|
|
1
|
+
import { a as ButtonGroupProps } from "../index-MWUGpG-Y.mjs";
|
|
2
2
|
import { r as ToggleButtonValue } from "../ToggleButtonGroupContext-10jEsQdg.mjs";
|
|
3
3
|
//#region src/ToggleButton/ToggleButtonGroup/ToggleButtonGroup.d.ts
|
|
4
4
|
interface ToggleButtonGroupProps extends Omit<ButtonGroupProps, 'variant' | 'onChange'> {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { o as styled } from "../src-DLGYOJMh.mjs";
|
|
2
|
+
import { r as useTheme } from "../theme-oBfFhJm9.mjs";
|
|
2
3
|
import { t as themeDefault } from "../themeDefault-Z3KmyIbm.mjs";
|
|
3
|
-
import { r as useTheme } from "../theme-Z9_QludW.mjs";
|
|
4
4
|
import { ButtonGroup } from "../ButtonGroup.mjs";
|
|
5
5
|
import { t as ToggleButtonGroupContext } from "../ToggleButtonGroupContext-DxIyy8ze.mjs";
|
|
6
6
|
import { useMemo } from "react";
|
package/dist/Tooltip.cjs
ADDED
|
@@ -0,0 +1,270 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_src = require("./src-DU81aGy9.cjs");
|
|
3
|
+
const require_theme = require("./theme-DzfwuzMZ.cjs");
|
|
4
|
+
const require_themeDefault = require("./themeDefault-Cebi08Cv.cjs");
|
|
5
|
+
const require_getSurfaceRadius = require("./getSurfaceRadius-BTUV1E8H.cjs");
|
|
6
|
+
const require_useControlled = require("./useControlled-C666KpQ0.cjs");
|
|
7
|
+
const require_Portal = require("./Portal.cjs");
|
|
8
|
+
const require_useAnchoredPlacement = require("./useAnchoredPlacement-B1FyGoZV.cjs");
|
|
9
|
+
const require_useMergedRefs = require("./useMergedRefs-2zTDXgPO.cjs");
|
|
10
|
+
const require_getTooltipOrigins = require("./getTooltipOrigins-B_7XXtQq.cjs");
|
|
11
|
+
let react = require("react");
|
|
12
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
13
|
+
let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
|
|
14
|
+
//#region src/Tooltip/hooks/useTooltip.ts
|
|
15
|
+
const isKeyboardFocus = (event) => {
|
|
16
|
+
try {
|
|
17
|
+
return event.target.matches(":focus-visible");
|
|
18
|
+
} catch {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* The state of a tooltip: whether it is open (its own, or its owner's), the timers that open and
|
|
24
|
+
* close it, and the handlers its child and the tooltip itself take. Opening and closing are
|
|
25
|
+
* delayed; moving from the child onto the tooltip does not close it, so its text can be read and
|
|
26
|
+
* selected (WCAG 1.4.13); Escape closes it at once.
|
|
27
|
+
*/
|
|
28
|
+
function useTooltip({ isOpen: isOpenProp, defaultOpen, onOpen, onClose, enterDelay, leaveDelay, enterTouchDelay, leaveTouchDelay, shouldOpenOnHover, shouldOpenOnFocus, shouldOpenOnTouch }) {
|
|
29
|
+
const [isOpen, setIsOpen] = require_useControlled.useControlled({
|
|
30
|
+
controlled: isOpenProp,
|
|
31
|
+
default: defaultOpen
|
|
32
|
+
});
|
|
33
|
+
const timer = (0, react.useRef)(void 0);
|
|
34
|
+
const latest = (0, react.useRef)({
|
|
35
|
+
isOpen,
|
|
36
|
+
isOpenProp,
|
|
37
|
+
onOpen,
|
|
38
|
+
onClose
|
|
39
|
+
});
|
|
40
|
+
(0, react.useEffect)(() => {
|
|
41
|
+
latest.current = {
|
|
42
|
+
isOpen,
|
|
43
|
+
isOpenProp,
|
|
44
|
+
onOpen,
|
|
45
|
+
onClose
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
const clear = (0, react.useCallback)(() => window.clearTimeout(timer.current), []);
|
|
49
|
+
const ask = (0, react.useCallback)((next, event, delay) => {
|
|
50
|
+
clear();
|
|
51
|
+
timer.current = window.setTimeout(() => {
|
|
52
|
+
const current = latest.current;
|
|
53
|
+
if (current.isOpen === next) return;
|
|
54
|
+
if (current.isOpenProp === void 0) setIsOpen(next);
|
|
55
|
+
(next ? current.onOpen : current.onClose)?.(event);
|
|
56
|
+
}, delay);
|
|
57
|
+
}, [clear, setIsOpen]);
|
|
58
|
+
(0, react.useEffect)(() => clear, [clear]);
|
|
59
|
+
(0, react.useEffect)(() => {
|
|
60
|
+
if (!isOpen) return void 0;
|
|
61
|
+
const handleKeyDown = (event) => {
|
|
62
|
+
if (event.key === "Escape") ask(false, event, 0);
|
|
63
|
+
};
|
|
64
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
65
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
66
|
+
}, [isOpen, ask]);
|
|
67
|
+
return {
|
|
68
|
+
isOpen,
|
|
69
|
+
childHandlers: {
|
|
70
|
+
onMouseEnter: (event) => {
|
|
71
|
+
if (shouldOpenOnHover) ask(true, event, enterDelay);
|
|
72
|
+
},
|
|
73
|
+
onMouseLeave: (event) => {
|
|
74
|
+
if (shouldOpenOnHover) ask(false, event, leaveDelay);
|
|
75
|
+
},
|
|
76
|
+
onFocus: (event) => {
|
|
77
|
+
if (shouldOpenOnFocus && isKeyboardFocus(event)) ask(true, event, enterDelay);
|
|
78
|
+
},
|
|
79
|
+
onBlur: (event) => {
|
|
80
|
+
if (shouldOpenOnFocus) ask(false, event, leaveDelay);
|
|
81
|
+
},
|
|
82
|
+
onTouchStart: (event) => {
|
|
83
|
+
if (shouldOpenOnTouch) ask(true, event, enterTouchDelay);
|
|
84
|
+
},
|
|
85
|
+
onTouchEnd: (event) => {
|
|
86
|
+
if (shouldOpenOnTouch) ask(false, event, leaveTouchDelay);
|
|
87
|
+
},
|
|
88
|
+
onTouchCancel: (event) => {
|
|
89
|
+
if (shouldOpenOnTouch) ask(false, event, leaveTouchDelay);
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
surfaceHandlers: {
|
|
93
|
+
onMouseEnter: () => {
|
|
94
|
+
if (shouldOpenOnHover) clear();
|
|
95
|
+
},
|
|
96
|
+
onMouseLeave: (event) => {
|
|
97
|
+
if (shouldOpenOnHover) ask(false, event, leaveDelay);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
//#endregion
|
|
103
|
+
//#region src/Tooltip/Tooltip.tsx
|
|
104
|
+
const MARGIN = 8;
|
|
105
|
+
const GAP = 8;
|
|
106
|
+
const ARROW = 8;
|
|
107
|
+
const TooltipSurface = require_src.styled("div", {
|
|
108
|
+
name: "Tooltip",
|
|
109
|
+
label: "Tooltip",
|
|
110
|
+
shouldForwardProp: (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)([
|
|
111
|
+
"layer",
|
|
112
|
+
"borderRadius",
|
|
113
|
+
"bg",
|
|
114
|
+
"textColor"
|
|
115
|
+
])
|
|
116
|
+
})(({ theme, layer, borderRadius, bg, textColor }) => ({
|
|
117
|
+
position: "fixed",
|
|
118
|
+
top: 0,
|
|
119
|
+
left: 0,
|
|
120
|
+
visibility: "hidden",
|
|
121
|
+
zIndex: theme.zOrder[layer],
|
|
122
|
+
boxSizing: "border-box",
|
|
123
|
+
maxWidth: "20rem",
|
|
124
|
+
padding: `${theme.space[.5]} ${theme.space[1]}`,
|
|
125
|
+
borderRadius: require_getSurfaceRadius.getSurfaceRadius(theme, borderRadius),
|
|
126
|
+
boxShadow: theme.shadows[4],
|
|
127
|
+
backgroundColor: (0, require_src.src_exports.get)(theme, `background.${bg ?? "modal"}`),
|
|
128
|
+
color: (0, require_src.src_exports.get)(theme, `text.${textColor ?? require_themeDefault.themeDefault(theme, "textColor", "initial")}`),
|
|
129
|
+
fontFamily: (0, require_src.src_exports.get)(theme, "fonts.body"),
|
|
130
|
+
fontSize: theme.fontSizes[0],
|
|
131
|
+
lineHeight: (0, require_src.src_exports.get)(theme, "lineHeights.base"),
|
|
132
|
+
overflowWrap: "break-word"
|
|
133
|
+
}));
|
|
134
|
+
const TooltipArrow = require_src.styled("span", {
|
|
135
|
+
name: "Tooltip",
|
|
136
|
+
slot: "arrow",
|
|
137
|
+
label: "TooltipArrow"
|
|
138
|
+
})({
|
|
139
|
+
position: "absolute",
|
|
140
|
+
width: ARROW,
|
|
141
|
+
height: ARROW,
|
|
142
|
+
backgroundColor: "inherit",
|
|
143
|
+
transform: "rotate(45deg)",
|
|
144
|
+
pointerEvents: "none"
|
|
145
|
+
});
|
|
146
|
+
const getArrow = ({ anchorRect, surfaceSize, top, left }) => {
|
|
147
|
+
const { width, height } = surfaceSize;
|
|
148
|
+
if (top + height <= anchorRect.top + 1 || top >= anchorRect.bottom - 1) {
|
|
149
|
+
const side = top + height <= anchorRect.top + 1 ? "top" : "bottom";
|
|
150
|
+
const middle = anchorRect.left + anchorRect.width / 2 - left;
|
|
151
|
+
return {
|
|
152
|
+
side,
|
|
153
|
+
offset: Math.min(Math.max(middle, ARROW), width - ARROW)
|
|
154
|
+
};
|
|
155
|
+
}
|
|
156
|
+
const side = left + width <= anchorRect.left + 1 ? "left" : "right";
|
|
157
|
+
const middle = anchorRect.top + anchorRect.height / 2 - top;
|
|
158
|
+
return {
|
|
159
|
+
side,
|
|
160
|
+
offset: Math.min(Math.max(middle, ARROW), height - ARROW)
|
|
161
|
+
};
|
|
162
|
+
};
|
|
163
|
+
const isSameArrow = (a, b) => a !== null && a.side === b.side && a.offset === b.offset;
|
|
164
|
+
const getArrowStyle = ({ side, offset }) => {
|
|
165
|
+
const half = ARROW / 2;
|
|
166
|
+
if (side === "top") return {
|
|
167
|
+
bottom: -4,
|
|
168
|
+
left: offset - half
|
|
169
|
+
};
|
|
170
|
+
if (side === "bottom") return {
|
|
171
|
+
top: -4,
|
|
172
|
+
left: offset - half
|
|
173
|
+
};
|
|
174
|
+
if (side === "left") return {
|
|
175
|
+
right: -4,
|
|
176
|
+
top: offset - half
|
|
177
|
+
};
|
|
178
|
+
return {
|
|
179
|
+
left: -4,
|
|
180
|
+
top: offset - half
|
|
181
|
+
};
|
|
182
|
+
};
|
|
183
|
+
/**
|
|
184
|
+
* @description A short description of one child, shown on hover, keyboard focus and a long touch -
|
|
185
|
+
* a `role="tooltip"` in a `Portal`, placed beside its child and flipped for want of room. The
|
|
186
|
+
* child is named by it (`aria-label`) or described by it (`aria-describedby`, with
|
|
187
|
+
* `shouldDescribeChild`). It opens and closes after their delays, stays open while the pointer is
|
|
188
|
+
* on the tooltip itself, closes on Escape, and never takes or traps the focus.
|
|
189
|
+
*/
|
|
190
|
+
function Tooltip({ children, title, placement: placementProp, hasArrow: hasArrowProp, enterDelay: enterDelayProp, leaveDelay: leaveDelayProp, enterTouchDelay: enterTouchDelayProp, leaveTouchDelay: leaveTouchDelayProp, shouldDescribeChild: shouldDescribeChildProp, isOpen: isOpenProp, defaultOpen = false, onOpen, onClose, shouldOpenOnHover: shouldOpenOnHoverProp, shouldOpenOnFocus: shouldOpenOnFocusProp, shouldOpenOnTouch: shouldOpenOnTouchProp, slots, slotProps, layer: layerProp, borderRadius: borderRadiusProp, bg: bgProp, textColor: textColorProp, className, "data-testid": dataTestid }) {
|
|
191
|
+
const dp = require_theme.useDefaultProps("Tooltip");
|
|
192
|
+
const placement = placementProp ?? dp.placement ?? "top";
|
|
193
|
+
const hasArrow = hasArrowProp ?? dp.hasArrow ?? false;
|
|
194
|
+
const shouldDescribeChild = shouldDescribeChildProp ?? dp.shouldDescribeChild ?? false;
|
|
195
|
+
const layer = layerProp ?? dp.layer ?? "tooltip";
|
|
196
|
+
const borderRadius = borderRadiusProp ?? dp.borderRadius;
|
|
197
|
+
const bg = bgProp ?? dp.bg;
|
|
198
|
+
const textColor = textColorProp ?? dp.textColor;
|
|
199
|
+
const id = (0, react.useId)();
|
|
200
|
+
const { isOpen, childHandlers, surfaceHandlers } = useTooltip({
|
|
201
|
+
isOpen: isOpenProp,
|
|
202
|
+
defaultOpen,
|
|
203
|
+
onOpen,
|
|
204
|
+
onClose,
|
|
205
|
+
enterDelay: enterDelayProp ?? dp.enterDelay ?? 100,
|
|
206
|
+
leaveDelay: leaveDelayProp ?? dp.leaveDelay ?? 0,
|
|
207
|
+
enterTouchDelay: enterTouchDelayProp ?? dp.enterTouchDelay ?? 700,
|
|
208
|
+
leaveTouchDelay: leaveTouchDelayProp ?? dp.leaveTouchDelay ?? 1500,
|
|
209
|
+
shouldOpenOnHover: shouldOpenOnHoverProp ?? dp.shouldOpenOnHover ?? true,
|
|
210
|
+
shouldOpenOnFocus: shouldOpenOnFocusProp ?? dp.shouldOpenOnFocus ?? true,
|
|
211
|
+
shouldOpenOnTouch: shouldOpenOnTouchProp ?? dp.shouldOpenOnTouch ?? true
|
|
212
|
+
});
|
|
213
|
+
const isShown = isOpen && title !== void 0 && title !== null && title !== "";
|
|
214
|
+
const anchorRef = (0, react.useRef)(null);
|
|
215
|
+
const surfaceRef = (0, react.useRef)(null);
|
|
216
|
+
const own = children.props;
|
|
217
|
+
const ref = require_useMergedRefs.useMergedRefs(anchorRef, own.ref);
|
|
218
|
+
const [arrow, setArrow] = (0, react.useState)(null);
|
|
219
|
+
const getOrigins = (0, react.useCallback)((context) => require_getTooltipOrigins.getTooltipOrigins(require_getTooltipOrigins.resolveTooltipPlacement(placement, context), context.isRtl), [placement]);
|
|
220
|
+
const onPlaced = (0, react.useCallback)((placed) => {
|
|
221
|
+
if (!hasArrow) return;
|
|
222
|
+
const next = getArrow(placed);
|
|
223
|
+
setArrow((current) => isSameArrow(current, next) ? current : next);
|
|
224
|
+
}, [hasArrow]);
|
|
225
|
+
require_useAnchoredPlacement.useAnchoredPlacement({
|
|
226
|
+
isOpen: isShown,
|
|
227
|
+
anchorRef,
|
|
228
|
+
surfaceRef,
|
|
229
|
+
getOrigins,
|
|
230
|
+
margin: MARGIN,
|
|
231
|
+
gap: GAP,
|
|
232
|
+
onPlaced
|
|
233
|
+
});
|
|
234
|
+
const handlers = Object.fromEntries(Object.entries(childHandlers).map(([name, handler]) => [name, (event) => {
|
|
235
|
+
own[name]?.(event);
|
|
236
|
+
handler(event);
|
|
237
|
+
}]));
|
|
238
|
+
const ownDescription = own["aria-describedby"];
|
|
239
|
+
const names = typeof title === "string" && own["aria-label"] === void 0 && own["aria-labelledby"] === void 0 ? { "aria-label": title } : {};
|
|
240
|
+
const ariaProps = shouldDescribeChild ? { "aria-describedby": isShown ? [ownDescription, id].filter(Boolean).join(" ") : ownDescription } : names;
|
|
241
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react.cloneElement)(children, {
|
|
242
|
+
...handlers,
|
|
243
|
+
...ariaProps,
|
|
244
|
+
ref
|
|
245
|
+
}), isShown && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Portal.Portal, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(TooltipSurface, {
|
|
246
|
+
...slotProps?.root,
|
|
247
|
+
as: slots?.root,
|
|
248
|
+
ref: surfaceRef,
|
|
249
|
+
id,
|
|
250
|
+
role: "tooltip",
|
|
251
|
+
layer,
|
|
252
|
+
borderRadius,
|
|
253
|
+
bg,
|
|
254
|
+
textColor,
|
|
255
|
+
className: [slotProps?.root?.className, className].filter(Boolean).join(" ") || void 0,
|
|
256
|
+
"data-testid": dataTestid ?? slotProps?.root?.["data-testid"],
|
|
257
|
+
...surfaceHandlers,
|
|
258
|
+
children: [title, hasArrow && arrow ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TooltipArrow, {
|
|
259
|
+
...slotProps?.arrow,
|
|
260
|
+
as: slots?.arrow,
|
|
261
|
+
style: {
|
|
262
|
+
...slotProps?.arrow?.style,
|
|
263
|
+
...getArrowStyle(arrow)
|
|
264
|
+
},
|
|
265
|
+
"aria-hidden": "true"
|
|
266
|
+
}) : null]
|
|
267
|
+
}) })] });
|
|
268
|
+
}
|
|
269
|
+
//#endregion
|
|
270
|
+
exports.Tooltip = Tooltip;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { nt as Theme } from "./index-XN4-ZqTB.cjs";
|
|
2
|
+
import { ElementType, HTMLAttributes, ReactElement, ReactNode, SyntheticEvent } from "react";
|
|
3
|
+
//#region src/Tooltip/utils/getTooltipOrigins.d.ts
|
|
4
|
+
/** A side of its child a tooltip sits on - and, after the dash, which end of that side it lines up with. */
|
|
5
|
+
type FixedTooltipPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
|
|
6
|
+
/** A fixed placement, or `auto` - the side with the most room, chosen as it is placed. */
|
|
7
|
+
type TooltipPlacement = FixedTooltipPlacement | 'auto' | 'auto-start' | 'auto-end';
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/Tooltip/Tooltip.d.ts
|
|
10
|
+
interface TooltipSlots {
|
|
11
|
+
root?: ElementType;
|
|
12
|
+
arrow?: ElementType;
|
|
13
|
+
}
|
|
14
|
+
type SlotProps = HTMLAttributes<HTMLElement> & {
|
|
15
|
+
'data-testid'?: string;
|
|
16
|
+
};
|
|
17
|
+
interface TooltipSlotProps {
|
|
18
|
+
root?: SlotProps;
|
|
19
|
+
arrow?: SlotProps;
|
|
20
|
+
}
|
|
21
|
+
interface TooltipProps {
|
|
22
|
+
/** The one element the tooltip is about - it holds a `ref` and takes the handlers. */
|
|
23
|
+
children: ReactElement;
|
|
24
|
+
/** What the tooltip says. Nothing says no tooltip. */
|
|
25
|
+
title?: ReactNode;
|
|
26
|
+
/** The side of the child it sits on, and the end it lines up with; `auto` takes the side with the most room. Flips for want of room. Default: `'top'`. */
|
|
27
|
+
placement?: TooltipPlacement;
|
|
28
|
+
/** Swaps the element a part is drawn as - it keeps its styles. `root` is the surface. */
|
|
29
|
+
slots?: TooltipSlots;
|
|
30
|
+
/** Props for a part: they are put first, so the tooltip's own `ref`, `id`, `role`, pointer handlers and the arrow's position win. */
|
|
31
|
+
slotProps?: TooltipSlotProps;
|
|
32
|
+
/** Draws an arrow towards the child. Default: `false`. */
|
|
33
|
+
hasArrow?: boolean;
|
|
34
|
+
/** How long the pointer or focus rests on the child before it opens, in milliseconds. Default: `100`. */
|
|
35
|
+
enterDelay?: number;
|
|
36
|
+
/** How long after they leave before it closes. Default: `0`. */
|
|
37
|
+
leaveDelay?: number;
|
|
38
|
+
/** How long a touch is held before it opens. Default: `700`. */
|
|
39
|
+
enterTouchDelay?: number;
|
|
40
|
+
/** How long after a touch ends before it closes. Default: `1500`. */
|
|
41
|
+
leaveTouchDelay?: number;
|
|
42
|
+
/** Describes the child (`aria-describedby`, while open) instead of naming it (`aria-label`). Default: `false`. */
|
|
43
|
+
shouldDescribeChild?: boolean;
|
|
44
|
+
/** Whether it is shown. Controlled with `onOpen` and `onClose`. */
|
|
45
|
+
isOpen?: boolean;
|
|
46
|
+
/** Whether it is shown at first, when uncontrolled. Default: `false`. */
|
|
47
|
+
defaultOpen?: boolean;
|
|
48
|
+
/** Fired when it asks to open. */
|
|
49
|
+
onOpen?: (event: Event | SyntheticEvent) => void;
|
|
50
|
+
/** Fired when it asks to close. */
|
|
51
|
+
onClose?: (event: Event | SyntheticEvent) => void;
|
|
52
|
+
/** Opens on hover. Default: `true`. */
|
|
53
|
+
shouldOpenOnHover?: boolean;
|
|
54
|
+
/** Opens on keyboard focus. Default: `true`. */
|
|
55
|
+
shouldOpenOnFocus?: boolean;
|
|
56
|
+
/** Opens on a long touch. Default: `true`. */
|
|
57
|
+
shouldOpenOnTouch?: boolean;
|
|
58
|
+
/** Corner radius, resolves against `theme.radii`. Default: `theme.defaults.surfaceRadius`, else square. */
|
|
59
|
+
borderRadius?: keyof Theme['radii'];
|
|
60
|
+
/** Background, resolves against `theme.background`. Default: `'modal'`. */
|
|
61
|
+
bg?: keyof Theme['background'];
|
|
62
|
+
/** Text color, resolves against `theme.text`. Default: `theme.defaults.textColor`, else `'initial'`. */
|
|
63
|
+
textColor?: keyof Theme['text'];
|
|
64
|
+
/** Stacking layer from `theme.zOrder`. Default: `'tooltip'`. */
|
|
65
|
+
layer?: keyof Theme['zOrder'];
|
|
66
|
+
className?: string;
|
|
67
|
+
'data-testid'?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @description A short description of one child, shown on hover, keyboard focus and a long touch -
|
|
71
|
+
* a `role="tooltip"` in a `Portal`, placed beside its child and flipped for want of room. The
|
|
72
|
+
* child is named by it (`aria-label`) or described by it (`aria-describedby`, with
|
|
73
|
+
* `shouldDescribeChild`). It opens and closes after their delays, stays open while the pointer is
|
|
74
|
+
* on the tooltip itself, closes on Escape, and never takes or traps the focus.
|
|
75
|
+
*/
|
|
76
|
+
declare function Tooltip({ children, title, placement: placementProp, hasArrow: hasArrowProp, enterDelay: enterDelayProp, leaveDelay: leaveDelayProp, enterTouchDelay: enterTouchDelayProp, leaveTouchDelay: leaveTouchDelayProp, shouldDescribeChild: shouldDescribeChildProp, isOpen: isOpenProp, defaultOpen, onOpen, onClose, shouldOpenOnHover: shouldOpenOnHoverProp, shouldOpenOnFocus: shouldOpenOnFocusProp, shouldOpenOnTouch: shouldOpenOnTouchProp, slots, slotProps, layer: layerProp, borderRadius: borderRadiusProp, bg: bgProp, textColor: textColorProp, className, 'data-testid': dataTestid }: Readonly<TooltipProps>): import("react").JSX.Element;
|
|
77
|
+
//#endregion
|
|
78
|
+
export { Tooltip, type TooltipPlacement, TooltipProps, TooltipSlotProps, TooltipSlots };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { nt as Theme } from "./index-CRQ7XLri.mjs";
|
|
2
|
+
import { ElementType, HTMLAttributes, ReactElement, ReactNode, SyntheticEvent } from "react";
|
|
3
|
+
//#region src/Tooltip/utils/getTooltipOrigins.d.ts
|
|
4
|
+
/** A side of its child a tooltip sits on - and, after the dash, which end of that side it lines up with. */
|
|
5
|
+
type FixedTooltipPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
|
|
6
|
+
/** A fixed placement, or `auto` - the side with the most room, chosen as it is placed. */
|
|
7
|
+
type TooltipPlacement = FixedTooltipPlacement | 'auto' | 'auto-start' | 'auto-end';
|
|
8
|
+
//#endregion
|
|
9
|
+
//#region src/Tooltip/Tooltip.d.ts
|
|
10
|
+
interface TooltipSlots {
|
|
11
|
+
root?: ElementType;
|
|
12
|
+
arrow?: ElementType;
|
|
13
|
+
}
|
|
14
|
+
type SlotProps = HTMLAttributes<HTMLElement> & {
|
|
15
|
+
'data-testid'?: string;
|
|
16
|
+
};
|
|
17
|
+
interface TooltipSlotProps {
|
|
18
|
+
root?: SlotProps;
|
|
19
|
+
arrow?: SlotProps;
|
|
20
|
+
}
|
|
21
|
+
interface TooltipProps {
|
|
22
|
+
/** The one element the tooltip is about - it holds a `ref` and takes the handlers. */
|
|
23
|
+
children: ReactElement;
|
|
24
|
+
/** What the tooltip says. Nothing says no tooltip. */
|
|
25
|
+
title?: ReactNode;
|
|
26
|
+
/** The side of the child it sits on, and the end it lines up with; `auto` takes the side with the most room. Flips for want of room. Default: `'top'`. */
|
|
27
|
+
placement?: TooltipPlacement;
|
|
28
|
+
/** Swaps the element a part is drawn as - it keeps its styles. `root` is the surface. */
|
|
29
|
+
slots?: TooltipSlots;
|
|
30
|
+
/** Props for a part: they are put first, so the tooltip's own `ref`, `id`, `role`, pointer handlers and the arrow's position win. */
|
|
31
|
+
slotProps?: TooltipSlotProps;
|
|
32
|
+
/** Draws an arrow towards the child. Default: `false`. */
|
|
33
|
+
hasArrow?: boolean;
|
|
34
|
+
/** How long the pointer or focus rests on the child before it opens, in milliseconds. Default: `100`. */
|
|
35
|
+
enterDelay?: number;
|
|
36
|
+
/** How long after they leave before it closes. Default: `0`. */
|
|
37
|
+
leaveDelay?: number;
|
|
38
|
+
/** How long a touch is held before it opens. Default: `700`. */
|
|
39
|
+
enterTouchDelay?: number;
|
|
40
|
+
/** How long after a touch ends before it closes. Default: `1500`. */
|
|
41
|
+
leaveTouchDelay?: number;
|
|
42
|
+
/** Describes the child (`aria-describedby`, while open) instead of naming it (`aria-label`). Default: `false`. */
|
|
43
|
+
shouldDescribeChild?: boolean;
|
|
44
|
+
/** Whether it is shown. Controlled with `onOpen` and `onClose`. */
|
|
45
|
+
isOpen?: boolean;
|
|
46
|
+
/** Whether it is shown at first, when uncontrolled. Default: `false`. */
|
|
47
|
+
defaultOpen?: boolean;
|
|
48
|
+
/** Fired when it asks to open. */
|
|
49
|
+
onOpen?: (event: Event | SyntheticEvent) => void;
|
|
50
|
+
/** Fired when it asks to close. */
|
|
51
|
+
onClose?: (event: Event | SyntheticEvent) => void;
|
|
52
|
+
/** Opens on hover. Default: `true`. */
|
|
53
|
+
shouldOpenOnHover?: boolean;
|
|
54
|
+
/** Opens on keyboard focus. Default: `true`. */
|
|
55
|
+
shouldOpenOnFocus?: boolean;
|
|
56
|
+
/** Opens on a long touch. Default: `true`. */
|
|
57
|
+
shouldOpenOnTouch?: boolean;
|
|
58
|
+
/** Corner radius, resolves against `theme.radii`. Default: `theme.defaults.surfaceRadius`, else square. */
|
|
59
|
+
borderRadius?: keyof Theme['radii'];
|
|
60
|
+
/** Background, resolves against `theme.background`. Default: `'modal'`. */
|
|
61
|
+
bg?: keyof Theme['background'];
|
|
62
|
+
/** Text color, resolves against `theme.text`. Default: `theme.defaults.textColor`, else `'initial'`. */
|
|
63
|
+
textColor?: keyof Theme['text'];
|
|
64
|
+
/** Stacking layer from `theme.zOrder`. Default: `'tooltip'`. */
|
|
65
|
+
layer?: keyof Theme['zOrder'];
|
|
66
|
+
className?: string;
|
|
67
|
+
'data-testid'?: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* @description A short description of one child, shown on hover, keyboard focus and a long touch -
|
|
71
|
+
* a `role="tooltip"` in a `Portal`, placed beside its child and flipped for want of room. The
|
|
72
|
+
* child is named by it (`aria-label`) or described by it (`aria-describedby`, with
|
|
73
|
+
* `shouldDescribeChild`). It opens and closes after their delays, stays open while the pointer is
|
|
74
|
+
* on the tooltip itself, closes on Escape, and never takes or traps the focus.
|
|
75
|
+
*/
|
|
76
|
+
declare function Tooltip({ children, title, placement: placementProp, hasArrow: hasArrowProp, enterDelay: enterDelayProp, leaveDelay: leaveDelayProp, enterTouchDelay: enterTouchDelayProp, leaveTouchDelay: leaveTouchDelayProp, shouldDescribeChild: shouldDescribeChildProp, isOpen: isOpenProp, defaultOpen, onOpen, onClose, shouldOpenOnHover: shouldOpenOnHoverProp, shouldOpenOnFocus: shouldOpenOnFocusProp, shouldOpenOnTouch: shouldOpenOnTouchProp, slots, slotProps, layer: layerProp, borderRadius: borderRadiusProp, bg: bgProp, textColor: textColorProp, className, 'data-testid': dataTestid }: Readonly<TooltipProps>): import("react").JSX.Element;
|
|
77
|
+
//#endregion
|
|
78
|
+
export { Tooltip, type TooltipPlacement, TooltipProps, TooltipSlotProps, TooltipSlots };
|