@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
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { nt as Theme } from "./index-CRQ7XLri.mjs";
|
|
2
|
+
import { LayoutProps, SpaceProps } from "@soroush.tech/styled-system";
|
|
3
|
+
import { ReactNode, Ref } from "react";
|
|
4
|
+
//#region src/ScrollArea/hooks/useScrollThumb.d.ts
|
|
5
|
+
/** Which way a thumb runs: down the right edge, or along the bottom. */
|
|
6
|
+
type ScrollAxis = 'y' | 'x';
|
|
7
|
+
//#endregion
|
|
8
|
+
//#region src/ScrollArea/ScrollArea.d.ts
|
|
9
|
+
/** Which ways it scrolls. */
|
|
10
|
+
type ScrollAxes = ScrollAxis | 'both';
|
|
11
|
+
interface ScrollAreaProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, 'width' | 'minWidth' | 'maxWidth' | 'height' | 'minHeight' | 'maxHeight'> {
|
|
12
|
+
/** What scrolls. */
|
|
13
|
+
children: ReactNode;
|
|
14
|
+
/** Which ways it scrolls. Default: `'y'`. */
|
|
15
|
+
axes?: ScrollAxes;
|
|
16
|
+
/** The scrolling element - for code that reads or sets its scroll. */
|
|
17
|
+
viewportRef?: Ref<HTMLDivElement>;
|
|
18
|
+
/**
|
|
19
|
+
* `0` puts the scrolling box in the tab order, so the keys scroll it - for content with nothing
|
|
20
|
+
* focusable in it. Default: none.
|
|
21
|
+
*/
|
|
22
|
+
tabIndex?: 0;
|
|
23
|
+
/** Names the scrolling box, as a `region`. */
|
|
24
|
+
'aria-label'?: string;
|
|
25
|
+
'aria-labelledby'?: string;
|
|
26
|
+
className?: string;
|
|
27
|
+
'data-testid'?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* @description A scrolling area whose scrollbars are drawn over its content rather than beside
|
|
31
|
+
* it - so a rounded panel keeps its corner clean - and show only while the pointer is over it or
|
|
32
|
+
* focus is inside. Scrolling itself stays native: the wheel, the keyboard and touch work as they
|
|
33
|
+
* do anywhere. Each axis that overflows gets a track, down the right edge or along the bottom,
|
|
34
|
+
* whose thumb drags and whose track pages. It grows to its content and no further than its
|
|
35
|
+
* container, or `maxHeight`, allows. Colors come from `theme.background.scrollbar` and
|
|
36
|
+
* `scrollbarTrack`, its size from `theme.space`.
|
|
37
|
+
*/
|
|
38
|
+
declare function ScrollArea({ children, axes: axesProp, viewportRef, tabIndex, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, className, 'data-testid': dataTestid, ...rest }: Readonly<ScrollAreaProps>): import("react").JSX.Element;
|
|
39
|
+
//#endregion
|
|
40
|
+
export { ScrollArea, ScrollAreaProps, ScrollAxes };
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { a as src_exports, i as props, o as styled, t as createShouldForwardProp } from "./src-DLGYOJMh.mjs";
|
|
2
|
+
import { n as useDefaultProps } from "./theme-oBfFhJm9.mjs";
|
|
3
|
+
import { t as useMergedRefs } from "./useMergedRefs-BfBckwRY.mjs";
|
|
4
|
+
import { useEffect, useRef, useState } from "react";
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
/**
|
|
7
|
+
* The thumb for a box scrolled to `offset`, or `null` when nothing overflows. Its size is the
|
|
8
|
+
* share of the content in view, never under `MIN_THUMB_PX`; it travels the rest of the track as
|
|
9
|
+
* the box travels its scroll range, so the thumb end meets the track end at the end.
|
|
10
|
+
*/
|
|
11
|
+
const getThumb = ({ offset, content, view }) => {
|
|
12
|
+
const range = content - view;
|
|
13
|
+
if (range <= 0 || view <= 0) return null;
|
|
14
|
+
const size = Math.min(100, Math.max(view / content, 24 / view) * 100);
|
|
15
|
+
return {
|
|
16
|
+
start: Math.min(1, Math.max(0, offset / range)) * (100 - size),
|
|
17
|
+
size
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The scroll offset a thumb dragged `by` pixels from `from` asks for: the drag covers the thumb
|
|
22
|
+
* travel, which maps onto the whole scroll range of the box.
|
|
23
|
+
*/
|
|
24
|
+
const getScrollForDrag = (from, by, metrics) => {
|
|
25
|
+
const thumb = getThumb(metrics);
|
|
26
|
+
if (thumb === null) return from;
|
|
27
|
+
const travel = metrics.view * (1 - thumb.size / 100);
|
|
28
|
+
const range = metrics.content - metrics.view;
|
|
29
|
+
return Math.min(range, Math.max(0, from + by * range / travel));
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/ScrollArea/hooks/useScrollThumb.ts
|
|
33
|
+
const getMetrics = (box, axis) => axis === "y" ? {
|
|
34
|
+
offset: box.scrollTop,
|
|
35
|
+
content: box.scrollHeight,
|
|
36
|
+
view: box.clientHeight
|
|
37
|
+
} : {
|
|
38
|
+
offset: box.scrollLeft,
|
|
39
|
+
content: box.scrollWidth,
|
|
40
|
+
view: box.clientWidth
|
|
41
|
+
};
|
|
42
|
+
const scrollTo = (box, axis, offset) => {
|
|
43
|
+
if (axis === "y") box.scrollTop = offset;
|
|
44
|
+
else box.scrollLeft = offset;
|
|
45
|
+
};
|
|
46
|
+
/**
|
|
47
|
+
* Follows the box `ref` holds along `axis`: its thumb is measured again when it scrolls and when
|
|
48
|
+
* it or its content changes size. A press on the thumb drags it, with the pointer captured so the
|
|
49
|
+
* drag goes on wherever the pointer goes; a press on the track pages toward it, as a native track.
|
|
50
|
+
*/
|
|
51
|
+
function useScrollThumb(ref, axis) {
|
|
52
|
+
const [thumb, setThumb] = useState(null);
|
|
53
|
+
const [isDragging, setIsDragging] = useState(false);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
const box = ref.current;
|
|
56
|
+
const measure = () => setThumb(getThumb(getMetrics(box, axis)));
|
|
57
|
+
measure();
|
|
58
|
+
box.addEventListener("scroll", measure, { passive: true });
|
|
59
|
+
const observer = typeof ResizeObserver === "undefined" ? null : new ResizeObserver(measure);
|
|
60
|
+
observer?.observe(box);
|
|
61
|
+
for (const child of box.children) observer?.observe(child);
|
|
62
|
+
return () => {
|
|
63
|
+
box.removeEventListener("scroll", measure);
|
|
64
|
+
observer?.disconnect();
|
|
65
|
+
};
|
|
66
|
+
}, [ref, axis]);
|
|
67
|
+
const stopDrag = useRef(null);
|
|
68
|
+
useEffect(() => () => stopDrag.current?.(), []);
|
|
69
|
+
const startDrag = (event, box) => {
|
|
70
|
+
const target = event.currentTarget;
|
|
71
|
+
const origin = axis === "y" ? event.clientY : event.clientX;
|
|
72
|
+
const from = getMetrics(box, axis).offset;
|
|
73
|
+
const handleMove = (moved) => {
|
|
74
|
+
const by = (axis === "y" ? moved.clientY : moved.clientX) - origin;
|
|
75
|
+
scrollTo(box, axis, getScrollForDrag(from, by, getMetrics(box, axis)));
|
|
76
|
+
};
|
|
77
|
+
const end = () => {
|
|
78
|
+
target.removeEventListener("pointermove", handleMove);
|
|
79
|
+
target.removeEventListener("pointerup", end);
|
|
80
|
+
target.removeEventListener("pointercancel", end);
|
|
81
|
+
stopDrag.current = null;
|
|
82
|
+
setIsDragging(false);
|
|
83
|
+
};
|
|
84
|
+
target.setPointerCapture(event.pointerId);
|
|
85
|
+
target.addEventListener("pointermove", handleMove);
|
|
86
|
+
target.addEventListener("pointerup", end);
|
|
87
|
+
target.addEventListener("pointercancel", end);
|
|
88
|
+
stopDrag.current = end;
|
|
89
|
+
setIsDragging(true);
|
|
90
|
+
};
|
|
91
|
+
const onTrackPointerDown = (event) => {
|
|
92
|
+
const box = ref.current;
|
|
93
|
+
if (thumb === null || event.button !== 0) return;
|
|
94
|
+
event.preventDefault();
|
|
95
|
+
const track = event.currentTarget.getBoundingClientRect();
|
|
96
|
+
const at = axis === "y" ? (event.clientY - track.top) / track.height * 100 : (event.clientX - track.left) / track.width * 100;
|
|
97
|
+
if (at >= thumb.start && at <= thumb.start + thumb.size) {
|
|
98
|
+
startDrag(event, box);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const page = getMetrics(box, axis).view * (at < thumb.start ? -1 : 1);
|
|
102
|
+
box.scrollBy(axis === "y" ? { top: page } : { left: page });
|
|
103
|
+
};
|
|
104
|
+
return {
|
|
105
|
+
thumb,
|
|
106
|
+
onTrackPointerDown,
|
|
107
|
+
isDragging
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
//#endregion
|
|
111
|
+
//#region src/ScrollArea/ScrollArea.tsx
|
|
112
|
+
const layoutSystem = (0, src_exports.system)({
|
|
113
|
+
width: true,
|
|
114
|
+
minWidth: true,
|
|
115
|
+
maxWidth: true,
|
|
116
|
+
height: true,
|
|
117
|
+
minHeight: true,
|
|
118
|
+
maxHeight: true
|
|
119
|
+
});
|
|
120
|
+
const ScrollAreaRoot = styled("div", {
|
|
121
|
+
name: "ScrollArea",
|
|
122
|
+
label: "ScrollArea",
|
|
123
|
+
shouldForwardProp: createShouldForwardProp([...props]),
|
|
124
|
+
systemProps: [src_exports.space, layoutSystem]
|
|
125
|
+
})({
|
|
126
|
+
position: "relative",
|
|
127
|
+
display: "flex",
|
|
128
|
+
flex: "1 1 auto",
|
|
129
|
+
minWidth: 0,
|
|
130
|
+
minHeight: 0,
|
|
131
|
+
"&:hover > [data-scroll-track] > [data-scroll-thumb], &:focus-within > [data-scroll-track] > [data-scroll-thumb]": { opacity: 1 }
|
|
132
|
+
});
|
|
133
|
+
const ScrollAreaViewport = styled("div", {
|
|
134
|
+
name: "ScrollArea",
|
|
135
|
+
slot: "viewport",
|
|
136
|
+
label: "ScrollAreaViewport",
|
|
137
|
+
shouldForwardProp: createShouldForwardProp(["axes"])
|
|
138
|
+
})(({ axes }) => ({
|
|
139
|
+
flex: 1,
|
|
140
|
+
minWidth: 0,
|
|
141
|
+
minHeight: 0,
|
|
142
|
+
overflowX: axes === "y" ? "hidden" : "auto",
|
|
143
|
+
overflowY: axes === "x" ? "hidden" : "auto",
|
|
144
|
+
overscrollBehaviorX: axes === "y" ? "auto" : "none",
|
|
145
|
+
overscrollBehaviorY: axes === "x" ? "auto" : "none",
|
|
146
|
+
scrollbarWidth: "none",
|
|
147
|
+
"&::-webkit-scrollbar": { display: "none" }
|
|
148
|
+
}));
|
|
149
|
+
const ScrollAreaTrack = styled("div", {
|
|
150
|
+
name: "ScrollArea",
|
|
151
|
+
slot: "track",
|
|
152
|
+
label: "ScrollAreaTrack",
|
|
153
|
+
shouldForwardProp: createShouldForwardProp(["isDragging", "axis"])
|
|
154
|
+
})(({ theme, isDragging, axis }) => {
|
|
155
|
+
const line = `${theme.borderWidths.thin} solid ${isDragging ? (0, src_exports.get)(theme, "border.default") : "transparent"}`;
|
|
156
|
+
return {
|
|
157
|
+
position: "absolute",
|
|
158
|
+
...axis === "y" ? {
|
|
159
|
+
top: 0,
|
|
160
|
+
right: 0,
|
|
161
|
+
bottom: 0,
|
|
162
|
+
width: theme.space[1.25],
|
|
163
|
+
borderLeft: line
|
|
164
|
+
} : {
|
|
165
|
+
left: 0,
|
|
166
|
+
right: 0,
|
|
167
|
+
bottom: 0,
|
|
168
|
+
height: theme.space[1.25],
|
|
169
|
+
borderTop: line
|
|
170
|
+
},
|
|
171
|
+
backgroundColor: isDragging ? (0, src_exports.get)(theme, "background.scrollbarTrack") : "transparent",
|
|
172
|
+
"&:hover": {
|
|
173
|
+
borderColor: (0, src_exports.get)(theme, "border.default"),
|
|
174
|
+
backgroundColor: (0, src_exports.get)(theme, "background.scrollbarTrack")
|
|
175
|
+
}
|
|
176
|
+
};
|
|
177
|
+
});
|
|
178
|
+
const ScrollAreaThumb = styled("div", {
|
|
179
|
+
name: "ScrollArea",
|
|
180
|
+
slot: "thumb",
|
|
181
|
+
label: "ScrollAreaThumb",
|
|
182
|
+
shouldForwardProp: createShouldForwardProp(["isShown", "axis"])
|
|
183
|
+
})(({ theme, isShown, axis }) => {
|
|
184
|
+
const inset = `calc((${theme.space[1.25]} - ${theme.space[.75]}) / 2 - ${theme.borderWidths.thin})`;
|
|
185
|
+
return {
|
|
186
|
+
position: "absolute",
|
|
187
|
+
...axis === "y" ? {
|
|
188
|
+
left: inset,
|
|
189
|
+
width: theme.space[.75]
|
|
190
|
+
} : {
|
|
191
|
+
top: inset,
|
|
192
|
+
height: theme.space[.75]
|
|
193
|
+
},
|
|
194
|
+
borderRadius: "9999px",
|
|
195
|
+
backgroundColor: (0, src_exports.get)(theme, "background.scrollbar"),
|
|
196
|
+
opacity: isShown ? 1 : 0,
|
|
197
|
+
transition: `opacity ${theme.transitions.duration.short}ms`,
|
|
198
|
+
"@media (prefers-reduced-motion: reduce)": { transition: "none" }
|
|
199
|
+
};
|
|
200
|
+
});
|
|
201
|
+
function ScrollBar({ box, axis }) {
|
|
202
|
+
const { thumb, onTrackPointerDown, isDragging } = useScrollThumb(box, axis);
|
|
203
|
+
if (thumb === null) return null;
|
|
204
|
+
const place = axis === "y" ? {
|
|
205
|
+
top: `${thumb.start}%`,
|
|
206
|
+
height: `${thumb.size}%`
|
|
207
|
+
} : {
|
|
208
|
+
left: `${thumb.start}%`,
|
|
209
|
+
width: `${thumb.size}%`
|
|
210
|
+
};
|
|
211
|
+
return /* @__PURE__ */ jsx(ScrollAreaTrack, {
|
|
212
|
+
"aria-hidden": true,
|
|
213
|
+
"data-scroll-track": axis,
|
|
214
|
+
axis,
|
|
215
|
+
isDragging,
|
|
216
|
+
onPointerDown: onTrackPointerDown,
|
|
217
|
+
children: /* @__PURE__ */ jsx(ScrollAreaThumb, {
|
|
218
|
+
"data-scroll-thumb": true,
|
|
219
|
+
axis,
|
|
220
|
+
isShown: isDragging,
|
|
221
|
+
style: place
|
|
222
|
+
})
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* @description A scrolling area whose scrollbars are drawn over its content rather than beside
|
|
227
|
+
* it - so a rounded panel keeps its corner clean - and show only while the pointer is over it or
|
|
228
|
+
* focus is inside. Scrolling itself stays native: the wheel, the keyboard and touch work as they
|
|
229
|
+
* do anywhere. Each axis that overflows gets a track, down the right edge or along the bottom,
|
|
230
|
+
* whose thumb drags and whose track pages. It grows to its content and no further than its
|
|
231
|
+
* container, or `maxHeight`, allows. Colors come from `theme.background.scrollbar` and
|
|
232
|
+
* `scrollbarTrack`, its size from `theme.space`.
|
|
233
|
+
*/
|
|
234
|
+
function ScrollArea({ children, axes: axesProp, viewportRef, tabIndex, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, className, "data-testid": dataTestid, ...rest }) {
|
|
235
|
+
const dp = useDefaultProps("ScrollArea");
|
|
236
|
+
const axes = axesProp ?? dp.axes ?? "y";
|
|
237
|
+
const box = useRef(null);
|
|
238
|
+
const mergedRef = useMergedRefs(box, viewportRef);
|
|
239
|
+
return /* @__PURE__ */ jsxs(ScrollAreaRoot, {
|
|
240
|
+
className,
|
|
241
|
+
"data-testid": dataTestid,
|
|
242
|
+
...rest,
|
|
243
|
+
children: [
|
|
244
|
+
/* @__PURE__ */ jsx(ScrollAreaViewport, {
|
|
245
|
+
ref: mergedRef,
|
|
246
|
+
axes,
|
|
247
|
+
"data-scroll-viewport": true,
|
|
248
|
+
tabIndex,
|
|
249
|
+
role: ariaLabel || ariaLabelledby ? "region" : void 0,
|
|
250
|
+
"aria-label": ariaLabel,
|
|
251
|
+
"aria-labelledby": ariaLabelledby,
|
|
252
|
+
children
|
|
253
|
+
}),
|
|
254
|
+
axes !== "x" && /* @__PURE__ */ jsx(ScrollBar, {
|
|
255
|
+
box,
|
|
256
|
+
axis: "y"
|
|
257
|
+
}),
|
|
258
|
+
axes !== "y" && /* @__PURE__ */ jsx(ScrollBar, {
|
|
259
|
+
box,
|
|
260
|
+
axis: "x"
|
|
261
|
+
})
|
|
262
|
+
]
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
//#endregion
|
|
266
|
+
export { ScrollArea };
|
package/dist/Select.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
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
|
|
5
|
-
const
|
|
5
|
+
const require_Icon = require("./Icon-BE7bRsqR.cjs");
|
|
6
|
+
const require_inputVariantStyles = require("./inputVariantStyles-BUK_62Ra.cjs");
|
|
6
7
|
const require_FormControl = require("./FormControl.cjs");
|
|
7
|
-
const require_inputVariantStyles = require("./inputVariantStyles-BBkkYQtE.cjs");
|
|
8
8
|
const require_NativeSelect = require("./NativeSelect.cjs");
|
|
9
|
-
const require_Popover = require("./Popover-
|
|
9
|
+
const require_Popover = require("./Popover-xyJTSjZy.cjs");
|
|
10
10
|
let react = require("react");
|
|
11
11
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
12
12
|
let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
|
|
@@ -137,14 +137,10 @@ const borderRadiusStyle = ({ variant: v, borderRadius, theme }) => {
|
|
|
137
137
|
const colorBorder = ({ color, error, theme }) => ({ borderColor: error ? (0, require_src.src_exports.get)(theme, "palette.error.main") : (0, require_src.src_exports.get)(theme, `palette.${color}.light`) });
|
|
138
138
|
const activeBorder = ({ color, error, open, theme }) => {
|
|
139
139
|
const activeColor = error ? (0, require_src.src_exports.get)(theme, "palette.error.main") : (0, require_src.src_exports.get)(theme, `palette.${color}.main`);
|
|
140
|
-
const focusColor = (0, require_src.src_exports.get)(theme, `palette.${require_themeDefault.themeDefault(theme, "color", "primary")}.main`);
|
|
141
140
|
return {
|
|
142
141
|
...open ? { borderColor: activeColor } : {},
|
|
143
142
|
"&:focus": { borderColor: activeColor },
|
|
144
|
-
"&:focus-visible":
|
|
145
|
-
outline: `2px solid ${focusColor}`,
|
|
146
|
-
outlineOffset: "2px"
|
|
147
|
-
}
|
|
143
|
+
"&:focus-visible": require_inputVariantStyles.getFocusRing(theme, color, error)
|
|
148
144
|
};
|
|
149
145
|
};
|
|
150
146
|
const backgroundStyle = ({ color, textColor, bg, variant: v, theme }) => ({
|
|
@@ -164,7 +160,8 @@ const sizeVariants = ({ theme, sizeToken }) => {
|
|
|
164
160
|
fontSize: theme.fontSizes[s.fontSize]
|
|
165
161
|
};
|
|
166
162
|
};
|
|
167
|
-
const layoutStyles = ({ fullWidth, disabled }) => ({
|
|
163
|
+
const layoutStyles = ({ theme, fullWidth, disabled }) => ({
|
|
164
|
+
minWidth: require_inputVariantStyles.getInputMinWidth(theme),
|
|
168
165
|
...fullWidth ? {
|
|
169
166
|
display: "flex",
|
|
170
167
|
width: "100%"
|
|
@@ -230,7 +227,7 @@ const ListBox = require_src.styled("ul", {
|
|
|
230
227
|
overflowY: "auto",
|
|
231
228
|
listStyle: "none"
|
|
232
229
|
}));
|
|
233
|
-
function Select({ children, native = false, multiple = false, autoWidth = false, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId, "aria-label": ariaLabel, className, "data-testid": dataTestid, ...spaceProps }) {
|
|
230
|
+
function Select({ children, native = false, multiple = false, autoWidth = false, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId: labelIdProp, "aria-label": ariaLabel, className, "data-testid": dataTestid, ...spaceProps }) {
|
|
234
231
|
const fc = require_FormControl.useFormControl({
|
|
235
232
|
id: idProp,
|
|
236
233
|
error: errorProp,
|
|
@@ -242,6 +239,7 @@ function Select({ children, native = false, multiple = false, autoWidth = false,
|
|
|
242
239
|
textColor: textColorProp
|
|
243
240
|
});
|
|
244
241
|
const { id, error, disabled, required, size, fullWidth } = fc;
|
|
242
|
+
const labelId = labelIdProp ?? fc.labelId;
|
|
245
243
|
const theme = require_theme.useTheme();
|
|
246
244
|
const color = fc.color ?? require_themeDefault.themeDefault(theme, "color", "primary");
|
|
247
245
|
const bg = bgProp ?? require_themeDefault.themeDefault(theme, "inputBg", "terminal");
|
|
@@ -462,8 +460,8 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
|
|
|
462
460
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TriggerValue, { children: showPlaceholder ? placeholder ?? "" : display })]
|
|
463
461
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
|
|
464
462
|
name: iconName ?? (open ? "expand_less" : "expand_more"),
|
|
465
|
-
size
|
|
466
|
-
color: "
|
|
463
|
+
size,
|
|
464
|
+
color: "inherit",
|
|
467
465
|
...iconProps
|
|
468
466
|
})]
|
|
469
467
|
}),
|
package/dist/Select.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as IconProps, r as IconName } from "./index-
|
|
1
|
+
import { nt as Theme } from "./index-XN4-ZqTB.cjs";
|
|
2
|
+
import { n as IconProps, r as IconName } from "./index-05VGk0y_.cjs";
|
|
3
3
|
import { ReactNode } from "react";
|
|
4
4
|
import { LayoutProps, SpaceProps } from "@soroush.tech/styled-system";
|
|
5
5
|
//#region src/Select/utils/isOptionSelected.d.ts
|
|
@@ -64,6 +64,6 @@ interface SelectProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, 'width
|
|
|
64
64
|
className?: string;
|
|
65
65
|
'data-testid'?: string;
|
|
66
66
|
}
|
|
67
|
-
declare function Select({ children, native, multiple, autoWidth, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId, 'aria-label': ariaLabel, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<SelectProps>): import("react").JSX.Element;
|
|
67
|
+
declare function Select({ children, native, multiple, autoWidth, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId: labelIdProp, 'aria-label': ariaLabel, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<SelectProps>): import("react").JSX.Element;
|
|
68
68
|
//#endregion
|
|
69
69
|
export { Select, SelectBackgroundToken, SelectColor, SelectProps, SelectSize, SelectTextColor, type SelectValue, SelectVariant };
|
package/dist/Select.d.mts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as IconProps, r as IconName } from "./index-
|
|
1
|
+
import { nt as Theme } from "./index-CRQ7XLri.mjs";
|
|
2
|
+
import { n as IconProps, r as IconName } from "./index-DNj5P2NH.mjs";
|
|
3
3
|
import { LayoutProps, SpaceProps } from "@soroush.tech/styled-system";
|
|
4
4
|
import { ReactNode } from "react";
|
|
5
5
|
//#region src/Select/utils/isOptionSelected.d.ts
|
|
@@ -64,6 +64,6 @@ interface SelectProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, 'width
|
|
|
64
64
|
className?: string;
|
|
65
65
|
'data-testid'?: string;
|
|
66
66
|
}
|
|
67
|
-
declare function Select({ children, native, multiple, autoWidth, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId, 'aria-label': ariaLabel, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<SelectProps>): import("react").JSX.Element;
|
|
67
|
+
declare function Select({ children, native, multiple, autoWidth, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId: labelIdProp, 'aria-label': ariaLabel, className, 'data-testid': dataTestid, ...spaceProps }: Readonly<SelectProps>): import("react").JSX.Element;
|
|
68
68
|
//#endregion
|
|
69
69
|
export { Select, SelectBackgroundToken, SelectColor, SelectProps, SelectSize, SelectTextColor, type SelectValue, SelectVariant };
|
package/dist/Select.mjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
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 {
|
|
4
|
-
import { t as
|
|
4
|
+
import { t as Icon } from "./Icon-0hPpk-WZ.mjs";
|
|
5
|
+
import { n as getFocusRing, r as getInputMinWidth, t as inputVariantStyles } from "./inputVariantStyles-q_cZsCJg.mjs";
|
|
5
6
|
import { useFormControl } from "./FormControl.mjs";
|
|
6
|
-
import { t as inputVariantStyles } from "./inputVariantStyles-CcqpGfuP.mjs";
|
|
7
7
|
import { NativeSelect } from "./NativeSelect.mjs";
|
|
8
|
-
import { t as Popover } from "./Popover-
|
|
8
|
+
import { t as Popover } from "./Popover-Neeqs_7l.mjs";
|
|
9
9
|
import { Children, cloneElement, isValidElement, useCallback, useId, useState } from "react";
|
|
10
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
//#region src/Select/hooks/useSelectPopover.ts
|
|
12
12
|
/**
|
|
13
13
|
* Owns `Select`'s open state (controlled or uncontrolled) and fires the open/close
|
|
@@ -135,14 +135,10 @@ const borderRadiusStyle = ({ variant: v, borderRadius, theme }) => {
|
|
|
135
135
|
const colorBorder = ({ color, error, theme }) => ({ borderColor: error ? (0, src_exports.get)(theme, "palette.error.main") : (0, src_exports.get)(theme, `palette.${color}.light`) });
|
|
136
136
|
const activeBorder = ({ color, error, open, theme }) => {
|
|
137
137
|
const activeColor = error ? (0, src_exports.get)(theme, "palette.error.main") : (0, src_exports.get)(theme, `palette.${color}.main`);
|
|
138
|
-
const focusColor = (0, src_exports.get)(theme, `palette.${themeDefault(theme, "color", "primary")}.main`);
|
|
139
138
|
return {
|
|
140
139
|
...open ? { borderColor: activeColor } : {},
|
|
141
140
|
"&:focus": { borderColor: activeColor },
|
|
142
|
-
"&:focus-visible":
|
|
143
|
-
outline: `2px solid ${focusColor}`,
|
|
144
|
-
outlineOffset: "2px"
|
|
145
|
-
}
|
|
141
|
+
"&:focus-visible": getFocusRing(theme, color, error)
|
|
146
142
|
};
|
|
147
143
|
};
|
|
148
144
|
const backgroundStyle = ({ color, textColor, bg, variant: v, theme }) => ({
|
|
@@ -162,7 +158,8 @@ const sizeVariants = ({ theme, sizeToken }) => {
|
|
|
162
158
|
fontSize: theme.fontSizes[s.fontSize]
|
|
163
159
|
};
|
|
164
160
|
};
|
|
165
|
-
const layoutStyles = ({ fullWidth, disabled }) => ({
|
|
161
|
+
const layoutStyles = ({ theme, fullWidth, disabled }) => ({
|
|
162
|
+
minWidth: getInputMinWidth(theme),
|
|
166
163
|
...fullWidth ? {
|
|
167
164
|
display: "flex",
|
|
168
165
|
width: "100%"
|
|
@@ -228,7 +225,7 @@ const ListBox = styled("ul", {
|
|
|
228
225
|
overflowY: "auto",
|
|
229
226
|
listStyle: "none"
|
|
230
227
|
}));
|
|
231
|
-
function Select({ children, native = false, multiple = false, autoWidth = false, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId, "aria-label": ariaLabel, className, "data-testid": dataTestid, ...spaceProps }) {
|
|
228
|
+
function Select({ children, native = false, multiple = false, autoWidth = false, value: valueProp, defaultValue, onChange, open: openProp, defaultOpen, onOpen, onClose, placeholder, renderValue, borderRadius, color: colorProp, textColor: textColorProp, bg: bgProp, disabled: disabledProp, error: errorProp, fullWidth: fullWidthProp, required: requiredProp, size: sizeProp, variant: variantProp, iconName, iconProps, id: idProp, name, labelId: labelIdProp, "aria-label": ariaLabel, className, "data-testid": dataTestid, ...spaceProps }) {
|
|
232
229
|
const fc = useFormControl({
|
|
233
230
|
id: idProp,
|
|
234
231
|
error: errorProp,
|
|
@@ -240,6 +237,7 @@ function Select({ children, native = false, multiple = false, autoWidth = false,
|
|
|
240
237
|
textColor: textColorProp
|
|
241
238
|
});
|
|
242
239
|
const { id, error, disabled, required, size, fullWidth } = fc;
|
|
240
|
+
const labelId = labelIdProp ?? fc.labelId;
|
|
243
241
|
const theme = useTheme();
|
|
244
242
|
const color = fc.color ?? themeDefault(theme, "color", "primary");
|
|
245
243
|
const bg = bgProp ?? themeDefault(theme, "inputBg", "terminal");
|
|
@@ -420,7 +418,7 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
|
|
|
420
418
|
onSelect: selectValue
|
|
421
419
|
});
|
|
422
420
|
});
|
|
423
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
421
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
424
422
|
/* @__PURE__ */ jsxs(Trigger, {
|
|
425
423
|
ref: setAnchorEl,
|
|
426
424
|
role: "combobox",
|
|
@@ -460,8 +458,8 @@ function NonNativeSelect({ children, options, value, autoWidth, onChangeValue, m
|
|
|
460
458
|
}), /* @__PURE__ */ jsx(TriggerValue, { children: showPlaceholder ? placeholder ?? "" : display })]
|
|
461
459
|
}), /* @__PURE__ */ jsx(Icon, {
|
|
462
460
|
name: iconName ?? (open ? "expand_less" : "expand_more"),
|
|
463
|
-
size
|
|
464
|
-
color: "
|
|
461
|
+
size,
|
|
462
|
+
color: "inherit",
|
|
465
463
|
...iconProps
|
|
466
464
|
})]
|
|
467
465
|
}),
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { dn as FlexProps } from "../index-XN4-ZqTB.cjs";
|
|
2
2
|
import { i as SidebarItemVariant, t as SidebarAnchor } from "../SidebarContext-B1lWrt77.cjs";
|
|
3
3
|
import { ElementType, ReactNode } from "react";
|
|
4
4
|
//#region src/Sidebar/Sidebar/Sidebar.d.ts
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { dn as FlexProps } from "../index-CRQ7XLri.mjs";
|
|
2
2
|
import { i as SidebarItemVariant, t as SidebarAnchor } from "../SidebarContext-B1lWrt77.mjs";
|
|
3
3
|
import { ElementType, ReactNode } from "react";
|
|
4
4
|
//#region src/Sidebar/Sidebar/Sidebar.d.ts
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_src = require("../src-DU81aGy9.cjs");
|
|
3
|
-
const require_Flex = require("../Flex.cjs");
|
|
4
3
|
const require_utils = require("../utils.cjs");
|
|
5
4
|
const require_Typography = require("../Typography.cjs");
|
|
6
|
-
const require_Icon = require("../Icon-
|
|
5
|
+
const require_Icon = require("../Icon-BE7bRsqR.cjs");
|
|
6
|
+
const require_Flex = require("../Flex.cjs");
|
|
7
7
|
const require_Portal = require("../Portal.cjs");
|
|
8
8
|
const require_Pressable = require("../Pressable.cjs");
|
|
9
9
|
const require_SidebarContext = require("../SidebarContext-jG6OioC-.cjs");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as IconName } from "../index-
|
|
3
|
-
import { i as PressableProps } from "../index-
|
|
1
|
+
import { nt as Theme } from "../index-XN4-ZqTB.cjs";
|
|
2
|
+
import { r as IconName } from "../index-05VGk0y_.cjs";
|
|
3
|
+
import { i as PressableProps } from "../index-BUeqNHjb.cjs";
|
|
4
4
|
import { i as SidebarItemVariant } from "../SidebarContext-B1lWrt77.cjs";
|
|
5
5
|
import { ReactNode } from "react";
|
|
6
6
|
//#region src/Sidebar/SidebarItem/SidebarItem.d.ts
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { r as IconName } from "../index-
|
|
3
|
-
import { i as PressableProps } from "../index-
|
|
1
|
+
import { nt as Theme } from "../index-CRQ7XLri.mjs";
|
|
2
|
+
import { r as IconName } from "../index-DNj5P2NH.mjs";
|
|
3
|
+
import { i as PressableProps } from "../index-CWPvdEjP.mjs";
|
|
4
4
|
import { i as SidebarItemVariant } from "../SidebarContext-B1lWrt77.mjs";
|
|
5
5
|
import { ReactNode } from "react";
|
|
6
6
|
//#region src/Sidebar/SidebarItem/SidebarItem.d.ts
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { a as src_exports, o as styled } from "../src-DLGYOJMh.mjs";
|
|
2
|
-
import { Flex } from "../Flex.mjs";
|
|
3
2
|
import { alpha } from "../utils.mjs";
|
|
4
3
|
import { Typography } from "../Typography.mjs";
|
|
5
|
-
import { t as Icon } from "../Icon-
|
|
4
|
+
import { t as Icon } from "../Icon-0hPpk-WZ.mjs";
|
|
5
|
+
import { Flex } from "../Flex.mjs";
|
|
6
6
|
import { Portal } from "../Portal.mjs";
|
|
7
7
|
import { Pressable } from "../Pressable.mjs";
|
|
8
8
|
import { t as SidebarContext } from "../SidebarContext-DgSLwjur.mjs";
|
|
9
9
|
import { useContext, useEffect } from "react";
|
|
10
|
-
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
11
11
|
//#region src/Sidebar/SidebarItem/SidebarItem.tsx
|
|
12
12
|
const densityStyles = ({ theme, size }) => {
|
|
13
13
|
const s = theme.sizes[size];
|
|
@@ -83,7 +83,7 @@ function SidebarItem({ icon, label, variant, size = "sm", color = "primary", chi
|
|
|
83
83
|
onClick?.(event);
|
|
84
84
|
onSelect?.();
|
|
85
85
|
};
|
|
86
|
-
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SidebarItemRoot, {
|
|
86
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx(SidebarItemRoot, {
|
|
87
87
|
feedback: resolvedVariant === "plain" ? "none" : "highlight",
|
|
88
88
|
color,
|
|
89
89
|
size,
|
package/dist/Skeleton.d.cts
CHANGED
package/dist/Skeleton.d.mts
CHANGED
package/dist/Slide.cjs
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
+
const require_isRtl = require("./isRtl-DTkYHRPo.cjs");
|
|
3
|
+
const require_useTransitionChild = require("./useTransitionChild-CikpU0Yh.cjs");
|
|
4
|
+
let react = require("react");
|
|
5
|
+
//#region src/Slide/Slide.tsx
|
|
6
|
+
const mirrored = {
|
|
7
|
+
up: "up",
|
|
8
|
+
down: "down",
|
|
9
|
+
left: "right",
|
|
10
|
+
right: "left"
|
|
11
|
+
};
|
|
12
|
+
const getOffset = (node, direction) => {
|
|
13
|
+
const rect = node.getBoundingClientRect();
|
|
14
|
+
const toward = require_isRtl.isRtl(node) ? mirrored[direction] : direction;
|
|
15
|
+
if (toward === "left") return `translateX(${-(rect.left + rect.width)}px)`;
|
|
16
|
+
if (toward === "right") return `translateX(${window.innerWidth - rect.left}px)`;
|
|
17
|
+
if (toward === "up") return `translateY(${-(rect.top + rect.height)}px)`;
|
|
18
|
+
return `translateY(${window.innerHeight - rect.top}px)`;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* @description Slides one child in from an edge of the window and back out. The child holds a
|
|
22
|
+
* `ref` and takes a `style`; out, it is hidden. Its way out is measured as it starts, so it
|
|
23
|
+
* leaves the window from wherever it sits. A user who asked for less motion sees it change at
|
|
24
|
+
* once.
|
|
25
|
+
*/
|
|
26
|
+
function Slide({ direction = "down", ...props }) {
|
|
27
|
+
const offset = (0, react.useRef)("");
|
|
28
|
+
const measure = (node) => {
|
|
29
|
+
const { transform } = node.style;
|
|
30
|
+
node.style.transform = "none";
|
|
31
|
+
offset.current = getOffset(node, direction);
|
|
32
|
+
node.style.transform = transform;
|
|
33
|
+
};
|
|
34
|
+
return require_useTransitionChild.useTransitionChild(props, ({ status, duration, easing }) => ({
|
|
35
|
+
transform: status === "entering" || status === "entered" ? "none" : offset.current || void 0,
|
|
36
|
+
transition: `transform ${duration}ms ${easing}`,
|
|
37
|
+
visibility: status === "exited" ? "hidden" : void 0
|
|
38
|
+
}), {
|
|
39
|
+
onEnter: (node) => {
|
|
40
|
+
measure(node);
|
|
41
|
+
const { transition } = node.style;
|
|
42
|
+
node.style.transition = "none";
|
|
43
|
+
node.style.transform = offset.current;
|
|
44
|
+
node.getBoundingClientRect();
|
|
45
|
+
node.style.transition = transition;
|
|
46
|
+
},
|
|
47
|
+
onExit: measure
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
exports.Slide = Slide;
|
package/dist/Slide.d.cts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { n as TransitionProps } from "./useTransition-l9dv83-Y.cjs";
|
|
2
|
+
//#region src/Slide/Slide.d.ts
|
|
3
|
+
/** The edge of the window the child slides in from. */
|
|
4
|
+
type SlideDirection = 'up' | 'down' | 'left' | 'right';
|
|
5
|
+
interface SlideProps extends TransitionProps {
|
|
6
|
+
/** The edge it slides in from - and out to. Mirrored in right-to-left pages. Default: `'down'`. */
|
|
7
|
+
direction?: SlideDirection;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* @description Slides one child in from an edge of the window and back out. The child holds a
|
|
11
|
+
* `ref` and takes a `style`; out, it is hidden. Its way out is measured as it starts, so it
|
|
12
|
+
* leaves the window from wherever it sits. A user who asked for less motion sees it change at
|
|
13
|
+
* once.
|
|
14
|
+
*/
|
|
15
|
+
declare function Slide({ direction, ...props }: Readonly<SlideProps>): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>> | null;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { Slide, SlideDirection, SlideProps };
|