@soroush.tech/design-system 2.0.0-rc.3 → 2.0.0-rc.5
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 +55 -32
- package/dist/Accordion/Accordion.cjs +99 -0
- package/dist/Accordion/Accordion.d.cts +39 -0
- package/dist/Accordion/Accordion.d.mts +39 -0
- package/dist/Accordion/Accordion.mjs +97 -0
- package/dist/Accordion/AccordionActions.cjs +28 -0
- package/dist/Accordion/AccordionActions.d.cts +10 -0
- package/dist/Accordion/AccordionActions.d.mts +10 -0
- package/dist/Accordion/AccordionActions.mjs +26 -0
- package/dist/Accordion/AccordionDetails.cjs +22 -0
- package/dist/Accordion/AccordionDetails.d.cts +10 -0
- package/dist/Accordion/AccordionDetails.d.mts +10 -0
- package/dist/Accordion/AccordionDetails.mjs +20 -0
- package/dist/Accordion/AccordionGroup.cjs +78 -0
- package/dist/Accordion/AccordionGroup.d.cts +22 -0
- package/dist/Accordion/AccordionGroup.d.mts +22 -0
- package/dist/Accordion/AccordionGroup.mjs +76 -0
- package/dist/Accordion/AccordionSummary.cjs +98 -0
- package/dist/Accordion/AccordionSummary.d.cts +19 -0
- package/dist/Accordion/AccordionSummary.d.mts +19 -0
- package/dist/Accordion/AccordionSummary.mjs +96 -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-CBiu9CIa.mjs +14 -0
- package/dist/AccordionContext-CpSLhcF6.cjs +43 -0
- package/dist/Alert/Alert.cjs +153 -0
- package/dist/Alert/Alert.d.cts +35 -0
- package/dist/Alert/Alert.d.mts +35 -0
- package/dist/Alert/Alert.mjs +151 -0
- package/dist/Alert/AlertTitle.cjs +20 -0
- package/dist/Alert/AlertTitle.d.cts +10 -0
- package/dist/Alert/AlertTitle.d.mts +10 -0
- package/dist/Alert/AlertTitle.mjs +19 -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 +3 -4
- package/dist/AppBar.d.cts +1 -3
- package/dist/AppBar.d.mts +1 -3
- package/dist/AppBar.mjs +3 -4
- package/dist/Autocomplete.cjs +664 -0
- package/dist/Autocomplete.d.cts +93 -0
- package/dist/Autocomplete.d.mts +93 -0
- package/dist/Autocomplete.mjs +662 -0
- package/dist/Avatar.cjs +4 -5
- package/dist/Avatar.d.cts +1 -3
- package/dist/Avatar.d.mts +1 -3
- package/dist/Avatar.mjs +4 -5
- package/dist/Backdrop.cjs +2 -3
- package/dist/Backdrop.d.cts +1 -3
- package/dist/Backdrop.d.mts +1 -3
- package/dist/Backdrop.mjs +2 -3
- package/dist/Badge.cjs +129 -0
- package/dist/Badge.d.cts +43 -0
- package/dist/Badge.d.mts +43 -0
- package/dist/Badge.mjs +127 -0
- package/dist/Breadcrumbs.cjs +5 -6
- package/dist/Breadcrumbs.d.cts +3 -5
- package/dist/Breadcrumbs.d.mts +3 -5
- package/dist/Breadcrumbs.mjs +5 -6
- package/dist/Button.cjs +9 -7
- package/dist/Button.d.cts +1 -1
- package/dist/Button.d.mts +1 -1
- package/dist/Button.mjs +9 -7
- package/dist/ButtonGroup.cjs +4 -5
- package/dist/ButtonGroup.d.cts +1 -1
- package/dist/ButtonGroup.d.mts +1 -1
- package/dist/ButtonGroup.mjs +4 -5
- package/dist/{ButtonGroupContext-DS-kl9lG.mjs → ButtonGroupContext-DK9whWFt.mjs} +1 -2
- package/dist/{ButtonGroupContext-NtkVeDVE.cjs → ButtonGroupContext-n0wa0q6H.cjs} +1 -2
- package/dist/Card.cjs +5 -6
- package/dist/Card.d.cts +4 -6
- package/dist/Card.d.mts +4 -6
- package/dist/Card.mjs +5 -6
- package/dist/Checkbox.cjs +16 -7
- package/dist/Checkbox.d.cts +4 -4
- package/dist/Checkbox.d.mts +4 -4
- package/dist/Checkbox.mjs +16 -7
- package/dist/Chip.cjs +193 -0
- package/dist/Chip.d.cts +47 -0
- package/dist/Chip.d.mts +47 -0
- package/dist/Chip.mjs +191 -0
- package/dist/CircularProgress.cjs +3 -4
- package/dist/CircularProgress.d.cts +2 -4
- package/dist/CircularProgress.d.mts +2 -4
- package/dist/CircularProgress.mjs +3 -4
- package/dist/Collapse.cjs +125 -0
- package/dist/Collapse.d.cts +2 -0
- package/dist/Collapse.d.mts +2 -0
- package/dist/Collapse.mjs +123 -0
- package/dist/Drawer.cjs +3 -5
- package/dist/Drawer.d.cts +3 -7
- package/dist/Drawer.d.mts +3 -7
- package/dist/Drawer.mjs +3 -5
- package/dist/Fab.cjs +113 -0
- package/dist/Fab.d.cts +2 -0
- package/dist/Fab.d.mts +2 -0
- package/dist/Fab.mjs +112 -0
- package/dist/FabMenu/FabMenu.cjs +3 -0
- package/dist/FabMenu/FabMenu.d.cts +51 -0
- package/dist/FabMenu/FabMenu.d.mts +51 -0
- package/dist/FabMenu/FabMenu.mjs +1 -0
- package/dist/FabMenu/FabMenuItem.cjs +27 -0
- package/dist/FabMenu/FabMenuItem.d.cts +17 -0
- package/dist/FabMenu/FabMenuItem.d.mts +17 -0
- package/dist/FabMenu/FabMenuItem.mjs +26 -0
- package/dist/FabMenu-BqBhZs0S.mjs +271 -0
- package/dist/FabMenu-fQGSZCjr.cjs +277 -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-C86bOvTe.cjs +21 -0
- package/dist/FabMenuContext-CiCWgAmf.mjs +10 -0
- package/dist/Fade.cjs +16 -0
- package/dist/Fade.d.cts +9 -0
- package/dist/Fade.d.mts +9 -0
- package/dist/Fade.mjs +15 -0
- package/dist/Flex.cjs +2 -3
- package/dist/Flex.d.cts +1 -1
- package/dist/Flex.d.mts +1 -1
- package/dist/Flex.mjs +2 -3
- package/dist/FocusTrap.cjs +2 -3
- package/dist/FocusTrap.d.cts +0 -2
- package/dist/FocusTrap.d.mts +0 -2
- package/dist/FocusTrap.mjs +2 -3
- package/dist/Form.cjs +3 -4
- package/dist/Form.d.cts +1 -5
- package/dist/Form.d.mts +1 -5
- package/dist/Form.mjs +3 -4
- package/dist/{FormContext-LrjAGe6U.mjs → FormContext-BTm-7WM6.mjs} +1 -2
- package/dist/{FormContext-BGCsWAFc.cjs → FormContext-C2C49AJK.cjs} +1 -2
- package/dist/FormControl.cjs +11 -11
- package/dist/FormControl.d.cts +1 -7
- package/dist/FormControl.d.mts +1 -7
- package/dist/FormControl.mjs +11 -11
- package/dist/{FormControlContext-CC2kToms.mjs → FormControlContext-Dg_ommiF.mjs} +1 -2
- package/dist/{FormControlContext-74gvPGFk.cjs → FormControlContext-DvEyxrdM.cjs} +1 -2
- package/dist/FormHelperText.cjs +5 -6
- package/dist/FormHelperText.d.cts +1 -3
- package/dist/FormHelperText.d.mts +1 -3
- package/dist/FormHelperText.mjs +5 -6
- package/dist/FormLabel.cjs +8 -6
- package/dist/FormLabel.d.cts +1 -3
- package/dist/FormLabel.d.mts +1 -3
- package/dist/FormLabel.mjs +8 -6
- package/dist/Grid.cjs +2 -3
- package/dist/Grid.d.cts +1 -3
- package/dist/Grid.d.mts +1 -3
- package/dist/Grid.mjs +2 -3
- package/dist/Grow.cjs +20 -0
- package/dist/Grow.d.cts +9 -0
- package/dist/Grow.d.mts +9 -0
- package/dist/Grow.mjs +19 -0
- package/dist/{Icon-D-EWsBVg.cjs → Icon-C5Iz5ekp.cjs} +175 -131
- package/dist/{Icon-BihOAP4u.mjs → Icon-XpXU-SuF.mjs} +175 -131
- 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 -2
- package/dist/Image.cjs +2 -3
- package/dist/Image.d.cts +1 -3
- package/dist/Image.d.mts +1 -3
- package/dist/Image.mjs +2 -3
- package/dist/LinearProgress.cjs +3 -4
- package/dist/LinearProgress.d.cts +2 -4
- package/dist/LinearProgress.d.mts +2 -4
- package/dist/LinearProgress.mjs +3 -4
- package/dist/Link.cjs +6 -7
- package/dist/Link.d.cts +1 -3
- package/dist/Link.d.mts +1 -3
- package/dist/Link.mjs +6 -7
- package/dist/Menu/ContextMenu.cjs +8 -7
- package/dist/Menu/ContextMenu.d.cts +8 -8
- package/dist/Menu/ContextMenu.d.mts +8 -8
- package/dist/Menu/ContextMenu.mjs +8 -7
- 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 -2
- package/dist/Menu/MenuDivider.cjs +2 -3
- package/dist/Menu/MenuDivider.d.cts +0 -2
- package/dist/Menu/MenuDivider.d.mts +0 -2
- package/dist/Menu/MenuDivider.mjs +2 -3
- package/dist/Menu/MenuItems.cjs +2 -3
- package/dist/Menu/MenuItems.d.cts +1 -1
- package/dist/Menu/MenuItems.d.mts +1 -1
- package/dist/Menu/MenuItems.mjs +2 -3
- package/dist/Menu/MenuList.cjs +1 -1
- package/dist/Menu/MenuList.d.cts +2 -4
- package/dist/Menu/MenuList.d.mts +2 -4
- package/dist/Menu/MenuList.mjs +1 -2
- package/dist/{Menu-Cgg-sX4W.cjs → Menu-Bx9jaHOy.cjs} +10 -10
- package/dist/{Menu-CrzHc_cn.mjs → Menu-D4AIpdJv.mjs} +10 -10
- 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-BTP7Ijwi.cjs → MenuItem-DXRw3Yca.cjs} +50 -97
- package/dist/{MenuItem-DUn4IZKK.mjs → MenuItem-vXHGPK8g.mjs} +51 -98
- 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 -2
- package/dist/{MenuList-B7msJ1IG.mjs → MenuList-CGZgfBno.mjs} +9 -15
- package/dist/{MenuList-D4imLXAa.cjs → MenuList-DsJmxNPu.cjs} +9 -15
- package/dist/{MenuListContext-DKUOhNyw.d.cts → MenuListContext-BwgQHUu9.d.cts} +2 -4
- package/dist/{MenuListContext-x-7lH4CH.d.mts → MenuListContext-DbnAoUdJ.d.mts} +2 -4
- package/dist/{Modal-BcsyrrpH.mjs → Modal-DR4TRQSH.mjs} +11 -37
- package/dist/{Modal-CM3osOqj.cjs → Modal-gQcAJAKH.cjs} +11 -37
- 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 -2
- package/dist/NativeSelect.cjs +11 -16
- package/dist/NativeSelect.d.cts +2 -4
- package/dist/NativeSelect.d.mts +2 -4
- package/dist/NativeSelect.mjs +11 -16
- package/dist/NavTree/NavGroup.cjs +93 -0
- package/dist/NavTree/NavGroup.d.cts +21 -0
- package/dist/NavTree/NavGroup.d.mts +21 -0
- package/dist/NavTree/NavGroup.mjs +92 -0
- package/dist/NavTree/NavLink.cjs +78 -0
- package/dist/NavTree/NavLink.d.cts +24 -0
- package/dist/NavTree/NavLink.d.mts +24 -0
- package/dist/NavTree/NavLink.mjs +76 -0
- package/dist/NavTree/NavTree.cjs +29 -0
- package/dist/NavTree/NavTree.d.cts +14 -0
- package/dist/NavTree/NavTree.d.mts +14 -0
- package/dist/NavTree/NavTree.mjs +28 -0
- package/dist/NavTree.cjs +7 -0
- package/dist/NavTree.d.cts +4 -0
- package/dist/NavTree.d.mts +4 -0
- package/dist/NavTree.mjs +4 -0
- package/dist/NavTreeContext-Cs0zC5hK.mjs +4 -0
- package/dist/NavTreeContext-DrxNyII8.cjs +8 -0
- package/dist/{NumberField.cjs → NumberInput.cjs} +72 -51
- package/dist/{NumberField.d.cts → NumberInput.d.cts} +13 -10
- package/dist/{NumberField.d.mts → NumberInput.d.mts} +13 -10
- package/dist/{NumberField.mjs → NumberInput.mjs} +72 -51
- package/dist/Pagination/PaginationItem.cjs +4 -5
- package/dist/Pagination/PaginationItem.d.cts +1 -1
- package/dist/Pagination/PaginationItem.d.mts +1 -1
- package/dist/Pagination/PaginationItem.mjs +4 -5
- package/dist/Pagination.cjs +3 -5
- package/dist/Pagination.d.cts +2 -2
- package/dist/Pagination.d.mts +2 -2
- package/dist/Pagination.mjs +3 -5
- package/dist/Paper.cjs +4 -5
- package/dist/Paper.d.cts +2 -2
- package/dist/Paper.d.mts +2 -2
- package/dist/Paper.mjs +4 -5
- package/dist/{Popover-CiZfgiKE.cjs → Popover-BniabG7D.cjs} +6 -8
- package/dist/{Popover-QjM5Z1CR.mjs → Popover-Dnmeo0Av.mjs} +6 -8
- package/dist/Popover.cjs +1 -1
- package/dist/Popover.d.cts +3 -11
- package/dist/Popover.d.mts +3 -11
- package/dist/Popover.mjs +1 -2
- package/dist/Portal.cjs +1 -2
- package/dist/Portal.d.cts +1 -17
- package/dist/Portal.d.mts +1 -17
- package/dist/Portal.mjs +1 -2
- package/dist/Pressable.cjs +19 -16
- package/dist/Pressable.d.cts +1 -1
- package/dist/Pressable.d.mts +1 -1
- package/dist/Pressable.mjs +19 -16
- package/dist/Quote.cjs +2 -3
- package/dist/Quote.d.cts +2 -4
- package/dist/Quote.d.mts +2 -4
- package/dist/Quote.mjs +2 -3
- package/dist/Radio.cjs +16 -7
- package/dist/Radio.d.cts +4 -4
- package/dist/Radio.d.mts +4 -4
- package/dist/Radio.mjs +16 -7
- package/dist/{InputRange.cjs → RangeInput.cjs} +48 -49
- package/dist/{InputRange.d.cts → RangeInput.d.cts} +11 -17
- package/dist/{InputRange.d.mts → RangeInput.d.mts} +11 -17
- package/dist/{InputRange.mjs → RangeInput.mjs} +48 -49
- package/dist/Rating.cjs +10 -13
- package/dist/Rating.d.cts +1 -3
- package/dist/Rating.d.mts +1 -3
- package/dist/Rating.mjs +10 -13
- package/dist/ScrollArea.cjs +265 -0
- package/dist/ScrollArea.d.cts +36 -0
- package/dist/ScrollArea.d.mts +36 -0
- package/dist/ScrollArea.mjs +263 -0
- package/dist/Select.cjs +18 -28
- package/dist/Select.d.cts +2 -6
- package/dist/Select.d.mts +2 -6
- package/dist/Select.mjs +18 -28
- package/dist/Sidebar/Sidebar.cjs +44 -28
- package/dist/Sidebar/Sidebar.d.cts +21 -8
- package/dist/Sidebar/Sidebar.d.mts +21 -8
- package/dist/Sidebar/Sidebar.mjs +44 -28
- package/dist/Sidebar/SidebarItem.cjs +81 -14
- package/dist/Sidebar/SidebarItem.d.cts +9 -7
- package/dist/Sidebar/SidebarItem.d.mts +9 -7
- package/dist/Sidebar/SidebarItem.mjs +81 -14
- package/dist/Sidebar.cjs +1 -1
- package/dist/Sidebar.d.cts +2 -2
- package/dist/Sidebar.d.mts +2 -2
- package/dist/Sidebar.mjs +1 -1
- package/dist/{SidebarContext-B1lWrt77.d.cts → SidebarContext-Bod_oUMi.d.cts} +12 -5
- package/dist/{SidebarContext-B1lWrt77.d.mts → SidebarContext-Bod_oUMi.d.mts} +12 -5
- package/dist/{SidebarContext-DgSLwjur.mjs → SidebarContext-D3bF-Q4N.mjs} +2 -2
- package/dist/{SidebarContext-jG6OioC-.cjs → SidebarContext-mXrB4z8v.cjs} +2 -2
- package/dist/Skeleton.cjs +2 -3
- package/dist/Skeleton.d.cts +1 -3
- package/dist/Skeleton.d.mts +1 -3
- package/dist/Skeleton.mjs +2 -3
- package/dist/Slide.cjs +50 -0
- package/dist/Slide.d.cts +15 -0
- package/dist/Slide.d.mts +15 -0
- package/dist/Slide.mjs +49 -0
- package/dist/Snackbar.cjs +203 -0
- package/dist/Snackbar.d.cts +60 -0
- package/dist/Snackbar.d.mts +60 -0
- package/dist/Snackbar.mjs +201 -0
- package/dist/Switch.cjs +17 -8
- package/dist/Switch.d.cts +4 -4
- package/dist/Switch.d.mts +4 -4
- package/dist/Switch.mjs +17 -8
- package/dist/Table/Table.cjs +3 -4
- package/dist/Table/Table.d.cts +2 -4
- package/dist/Table/Table.d.mts +2 -4
- package/dist/Table/Table.mjs +3 -4
- package/dist/Table/TableBody.cjs +3 -4
- package/dist/Table/TableBody.d.cts +1 -3
- package/dist/Table/TableBody.d.mts +1 -3
- package/dist/Table/TableBody.mjs +3 -4
- package/dist/Table/TableCell.cjs +5 -6
- package/dist/Table/TableCell.d.cts +1 -1
- package/dist/Table/TableCell.d.mts +1 -1
- package/dist/Table/TableCell.mjs +5 -6
- package/dist/Table/TableContainer.cjs +2 -3
- package/dist/Table/TableContainer.d.cts +1 -3
- package/dist/Table/TableContainer.d.mts +1 -3
- package/dist/Table/TableContainer.mjs +2 -3
- package/dist/Table/TableControl.cjs +1 -2
- package/dist/Table/TableControl.d.cts +1 -3
- package/dist/Table/TableControl.d.mts +1 -3
- package/dist/Table/TableControl.mjs +1 -2
- package/dist/Table/TableFooter.cjs +3 -4
- package/dist/Table/TableFooter.d.cts +1 -3
- package/dist/Table/TableFooter.d.mts +1 -3
- package/dist/Table/TableFooter.mjs +3 -4
- package/dist/Table/TableHead.cjs +3 -4
- package/dist/Table/TableHead.d.cts +1 -3
- package/dist/Table/TableHead.d.mts +1 -3
- package/dist/Table/TableHead.mjs +3 -4
- package/dist/Table/TablePagination.cjs +3 -3
- package/dist/Table/TablePagination.d.cts +2 -4
- package/dist/Table/TablePagination.d.mts +2 -4
- package/dist/Table/TablePagination.mjs +3 -3
- package/dist/Table/TablePaginationActions.cjs +4 -5
- package/dist/Table/TablePaginationActions.d.cts +1 -1
- package/dist/Table/TablePaginationActions.d.mts +1 -1
- package/dist/Table/TablePaginationActions.mjs +4 -5
- package/dist/Table/TableRow.cjs +4 -5
- package/dist/Table/TableRow.d.cts +1 -3
- package/dist/Table/TableRow.d.mts +1 -3
- package/dist/Table/TableRow.mjs +4 -5
- package/dist/Table/TableSortLabel.cjs +4 -5
- package/dist/Table/TableSortLabel.d.cts +1 -1
- package/dist/Table/TableSortLabel.d.mts +1 -1
- package/dist/Table/TableSortLabel.mjs +4 -5
- package/dist/Table/hooks.cjs +3 -6
- package/dist/Table/hooks.d.cts +1 -3
- package/dist/Table/hooks.d.mts +1 -3
- package/dist/Table/hooks.mjs +3 -6
- package/dist/Table.cjs +2 -2
- package/dist/Table.d.cts +5 -5
- package/dist/Table.d.mts +5 -5
- package/dist/Table.mjs +2 -2
- package/dist/{TableContext-DhuRf6Wy.d.mts → TableContext-0hifLOKH.d.mts} +1 -3
- package/dist/{TableContext-Dyr89h_k.mjs → TableContext-BBzwHtLn.mjs} +1 -2
- package/dist/{TableContext-Bfg1C3Sr.cjs → TableContext-CK5ALcd9.cjs} +1 -2
- package/dist/{TableContext-Duj1nVG7.d.cts → TableContext-fIyMD_Bj.d.cts} +1 -3
- package/dist/{TableSectionContext-meIG4lFZ.mjs → TableSectionContext-CT6xhPDd.mjs} +1 -2
- package/dist/{TableSectionContext-pYlJ-duI.cjs → TableSectionContext-D25fE10g.cjs} +1 -2
- package/dist/Tabs/Tab.cjs +36 -17
- package/dist/Tabs/Tab.d.cts +2 -4
- package/dist/Tabs/Tab.d.mts +2 -4
- package/dist/Tabs/Tab.mjs +36 -17
- package/dist/Tabs/TabContext.cjs +2 -3
- package/dist/Tabs/TabContext.d.cts +1 -3
- package/dist/Tabs/TabContext.d.mts +1 -3
- package/dist/Tabs/TabContext.mjs +2 -3
- package/dist/Tabs/TabList.cjs +3 -4
- package/dist/Tabs/TabList.d.cts +1 -3
- package/dist/Tabs/TabList.d.mts +1 -3
- package/dist/Tabs/TabList.mjs +3 -4
- package/dist/Tabs/TabPanel.cjs +5 -6
- package/dist/Tabs/TabPanel.d.cts +2 -4
- package/dist/Tabs/TabPanel.d.mts +2 -4
- package/dist/Tabs/TabPanel.mjs +5 -6
- package/dist/Tabs/TabScrollButton.cjs +5 -6
- package/dist/Tabs/TabScrollButton.d.cts +1 -1
- package/dist/Tabs/TabScrollButton.d.mts +1 -1
- package/dist/Tabs/TabScrollButton.mjs +5 -6
- 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 -2
- package/dist/{Tabs-D4tWCq78.cjs → Tabs-BsbX0jFL.cjs} +29 -25
- package/dist/{Tabs-BTNOJx5v.mjs → Tabs-JvjuCU8m.mjs} +29 -25
- 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-B_XHbjcS.d.cts → TabsContext-0ZtedNyH.d.mts} +1 -3
- package/dist/{TabsContext-Dn2kqUwr.d.mts → TabsContext-MpMEEVuB.d.cts} +1 -3
- package/dist/{TabsValueContext-DvL3inf7.mjs → TabsValueContext-C0vG9V7s.mjs} +1 -2
- package/dist/{TabsValueContext-D40zGCpE.cjs → TabsValueContext-DklTSPKh.cjs} +1 -2
- package/dist/TextInput.cjs +15 -17
- package/dist/TextInput.d.cts +1 -3
- package/dist/TextInput.d.mts +1 -3
- package/dist/TextInput.mjs +15 -17
- package/dist/ToggleButton/ToggleButton.cjs +6 -7
- package/dist/ToggleButton/ToggleButton.d.cts +2 -4
- package/dist/ToggleButton/ToggleButton.d.mts +2 -4
- package/dist/ToggleButton/ToggleButton.mjs +6 -7
- package/dist/ToggleButton/ToggleButtonGroup.cjs +5 -6
- package/dist/ToggleButton/ToggleButtonGroup.d.cts +2 -4
- package/dist/ToggleButton/ToggleButtonGroup.d.mts +2 -4
- package/dist/ToggleButton/ToggleButtonGroup.mjs +5 -6
- package/dist/ToggleButton.cjs +1 -1
- package/dist/ToggleButton.d.cts +1 -1
- package/dist/ToggleButton.d.mts +1 -1
- package/dist/ToggleButton.mjs +1 -1
- package/dist/{ToggleButtonGroupContext-DxIyy8ze.mjs → ToggleButtonGroupContext-C0owas90.mjs} +1 -2
- package/dist/{ToggleButtonGroupContext-10jEsQdg.d.cts → ToggleButtonGroupContext-CA-4EgZL.d.cts} +0 -2
- package/dist/{ToggleButtonGroupContext-10jEsQdg.d.mts → ToggleButtonGroupContext-CA-4EgZL.d.mts} +0 -2
- package/dist/{ToggleButtonGroupContext-Ewc5Ixas.cjs → ToggleButtonGroupContext-CHA83ShW.cjs} +1 -2
- package/dist/Tooltip.cjs +268 -0
- package/dist/Tooltip.d.cts +74 -0
- package/dist/Tooltip.d.mts +74 -0
- package/dist/Tooltip.mjs +266 -0
- package/dist/TransferList.cjs +17 -12
- package/dist/TransferList.d.cts +4 -6
- package/dist/TransferList.d.mts +4 -6
- package/dist/TransferList.mjs +17 -12
- package/dist/Typography.cjs +3 -4
- package/dist/Typography.d.cts +2 -2
- package/dist/Typography.d.mts +2 -2
- package/dist/Typography.mjs +3 -4
- package/dist/View.cjs +2 -3
- package/dist/View.d.cts +1 -1
- package/dist/View.d.mts +1 -1
- package/dist/View.mjs +2 -3
- package/dist/Zoom.cjs +15 -0
- package/dist/Zoom.d.cts +8 -0
- package/dist/Zoom.d.mts +8 -0
- package/dist/Zoom.mjs +14 -0
- package/dist/catalog.cjs +1081 -160
- package/dist/catalog.d.cts +1 -5
- package/dist/catalog.d.mts +1 -5
- package/dist/catalog.mjs +1081 -160
- package/dist/{computePopoverPosition-DiyEOHnU.cjs → computePopoverPosition-C2W1FcYE.cjs} +3 -6
- package/dist/{computePopoverPosition-BIprs_xo.mjs → computePopoverPosition-qii46Z6p.mjs} +3 -6
- package/dist/{dividerLine-FahY-M6_.mjs → dividerLine-BC8E38Ed.mjs} +3 -5
- package/dist/{dividerLine-BNljcGlv.cjs → dividerLine-DFuLn1zU.cjs} +3 -5
- package/dist/{emotion-BAyqVw0c.mjs → emotion-E3pBNlXd.mjs} +1 -2
- package/dist/{emotion-DviPkkGL.cjs → emotion-sEV-zb6P.cjs} +1 -2
- package/dist/engine.cjs +4 -6
- package/dist/engine.d.cts +2 -8
- package/dist/engine.d.mts +1 -7
- package/dist/engine.mjs +3 -5
- package/dist/getAnchorRel-BLYap7aE.mjs +7 -0
- package/dist/getAnchorRel-DFMc_uIR.cjs +12 -0
- package/dist/getShapeRadius-C2xXOKCl.cjs +16 -0
- package/dist/getShapeRadius-CdCQb8OT.d.cts +3 -0
- package/dist/getShapeRadius-CdCQb8OT.d.mts +3 -0
- package/dist/getShapeRadius-DVQRARis.mjs +11 -0
- package/dist/getSurfaceRadius-B1QE_VLa.mjs +5 -0
- package/dist/getSurfaceRadius-DwOn3ALC.cjs +10 -0
- package/dist/getTooltipOrigins-8b5zQafY.cjs +103 -0
- package/dist/getTooltipOrigins-D0bLLXwY.mjs +86 -0
- package/dist/index-1Xzj0iAs.d.mts +1 -0
- package/dist/index-323PrYLR.d.cts +1 -0
- package/dist/{index-nqUA_6J_.d.cts → index-4maWM1H8.d.mts} +1 -7
- package/dist/{index-pTNq3iQn.d.mts → index-76zijQoi.d.mts} +2 -4
- package/dist/index-B3Bdupj3.d.mts +34 -0
- package/dist/{index-DGnXJwLj.d.mts → index-BAzMLTVi.d.mts} +7 -9
- package/dist/{index-Bx0-6yeX.d.mts → index-BC9S8Fpr.d.cts} +1 -7
- package/dist/{index-CG_1uPrD.d.mts → index-BChRNCld.d.mts} +2 -4
- package/dist/index-BV5BvdeN.d.mts +30 -0
- package/dist/{index-BHKgEOZJ.d.cts → index-BXlBouWV.d.mts} +3 -5
- package/dist/{index-WHFhjfgy.d.cts → index-Bo45R0nD.d.cts} +14 -8
- package/dist/index-BuAKhHMs.d.cts +30 -0
- package/dist/{index-B1RFybA_.d.mts → index-Byk1_ms9.d.cts} +7 -5
- package/dist/{index-DAwcmIjN.d.cts → index-BzQze7eY.d.cts} +2 -4
- package/dist/{index-ClZyaZrR.d.mts → index-C2a-5yop.d.mts} +1 -3
- package/dist/{index-DtYjdBvO.d.cts → index-C2tTbEBS.d.mts} +2 -4
- package/dist/{index-CbFaWtjK.d.mts → index-C7EUYyom.d.cts} +2 -4
- package/dist/{index-Dv_fk1_F.d.cts → index-CAt0-L4i.d.cts} +26 -130
- package/dist/{index-h4dYtVrp.d.mts → index-CF_pl72E.d.mts} +1 -13
- package/dist/{index-K5exjvnX.d.cts → index-CGyIuCRh.d.cts} +1 -3
- package/dist/{index-BkzZxHVj.d.mts → index-CJYWGPVO.d.mts} +2 -4
- package/dist/{index-BGbTuHP9.d.mts → index-CKywwIep.d.mts} +1 -5
- package/dist/index-CLTFsCYC.d.cts +34 -0
- package/dist/{index-KnXhlKMr.d.cts → index-CQeTS_zL.d.cts} +1 -3
- package/dist/{index-CJhK7JND.d.mts → index-CR8qkP8U.d.mts} +198 -28
- package/dist/{index-CE5JG1us.d.mts → index-C_J58B_n.d.mts} +1 -3
- package/dist/{index-DchHf5cF.d.cts → index-CfB7OceY.d.cts} +1 -13
- package/dist/{index-YKrfFC_I.d.cts → index-Cjh607-v.d.cts} +2 -4
- package/dist/{index-CUz2h5xY.d.mts → index-CnVvfG9_.d.mts} +2 -4
- package/dist/{index-ha1WjSZ5.d.mts → index-D48qVo1X.d.mts} +26 -130
- package/dist/{index-BelFIizY.d.cts → index-D4PcgL-c.d.cts} +2 -6
- package/dist/{index-BQWjh4rK.d.mts → index-DBF5n3ey.d.cts} +3 -5
- package/dist/{index-CknoXDLQ.d.cts → index-DbgrItbx.d.cts} +2 -4
- package/dist/{index-DWjz5ZzG.d.cts → index-Dm7vQHor.d.cts} +7 -9
- package/dist/{index-B4TeaB7b.d.cts → index-Dt274Ngt.d.mts} +7 -5
- package/dist/{index-ChXeKJCk.d.cts → index-Dxu6Ks2A.d.cts} +1 -5
- package/dist/{index-DJ0f69wh.d.cts → index-Lsm4v8fB.d.cts} +200 -30
- package/dist/{index-DYF8sRE-.d.cts → index-RaDENVX_.d.cts} +2 -4
- package/dist/{index-bpnLB_4K.d.mts → index-SotXsXXb.d.mts} +14 -8
- package/dist/{index-ByYxVl9O.d.mts → index-UiyZAKID.d.mts} +2 -6
- package/dist/index-UloRwym_.d.cts +16 -0
- package/dist/index-UloRwym_.d.mts +16 -0
- package/dist/{index-BrgwkY6z.d.mts → index-hoHPfsc1.d.cts} +3 -7
- package/dist/{index-CQfJZADG.d.cts → index-tOrd12AJ.d.mts} +3 -7
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.mjs +1 -2
- package/dist/inputVariantStyles-DCGRUY9c.mjs +42 -0
- package/dist/inputVariantStyles-DhClkDHY.cjs +59 -0
- package/dist/{isRtl-BJDtm86G.mjs → isRtl-DN-EdUlg.mjs} +1 -2
- package/dist/{isRtl-DTkYHRPo.cjs → isRtl-Dl6QQWib.cjs} +1 -2
- package/dist/{precision-B58cTPB2.cjs → precision-DbF9gToz.cjs} +1 -2
- package/dist/{precision-B1lhxnnO.mjs → precision-DrmFmgMd.mjs} +1 -2
- package/dist/{rolldown-runtime-BloeesfJ.cjs → rolldown-runtime-CiKaZLfC.cjs} +1 -2
- package/dist/{src-DLGYOJMh.mjs → src-B-rNjHIL.mjs} +3 -6
- package/dist/{src-DU81aGy9.cjs → src-yC1f5WR2.cjs} +3 -5
- package/dist/style.cjs +4 -7
- package/dist/style.d.cts +2 -8
- package/dist/style.d.mts +2 -8
- package/dist/style.mjs +5 -8
- package/dist/{surfaceSystem-D8TbmKy3.mjs → surfaceSystem-4XDqbvf4.mjs} +3 -5
- package/dist/{surfaceSystem-BGQBoXv_.cjs → surfaceSystem-DI6bqK5F.cjs} +3 -5
- package/dist/testing.cjs +1 -2
- package/dist/testing.d.cts +0 -2
- package/dist/testing.d.mts +0 -2
- package/dist/testing.mjs +1 -2
- package/dist/{theme-Z9_QludW.mjs → theme-DyyZQFzQ.mjs} +8 -14
- package/dist/{theme-BxXuXRgQ.cjs → theme-XJvMdOnY.cjs} +7 -13
- package/dist/theme.cjs +4 -3
- package/dist/theme.d.cts +3 -3
- package/dist/theme.d.mts +3 -3
- package/dist/theme.mjs +4 -4
- package/dist/{themeDefault-Z3KmyIbm.mjs → themeDefault-BeZJzqJj.mjs} +1 -2
- package/dist/{themeDefault-Cebi08Cv.cjs → themeDefault-DbPHBbNO.cjs} +1 -2
- package/dist/{themes-gd6tcmqS.cjs → themes-C2oyu8gK.cjs} +28 -8
- package/dist/{themes-L-dE7_ck.mjs → themes-D-knykK0.mjs} +23 -9
- package/dist/tonalRadius-CU9GHoHx.cjs +9 -0
- package/dist/tonalRadius-CvXRueqT.mjs +4 -0
- package/dist/useAnchoredPlacement-COrXZxhm.mjs +105 -0
- package/dist/useAnchoredPlacement-ee6KzG3t.cjs +110 -0
- package/dist/{useControlled-CBRLsO-H.mjs → useControlled-B4uQ9Bj6.mjs} +1 -2
- package/dist/{useControlled-C666KpQ0.cjs → useControlled-CzCxM4J3.cjs} +1 -2
- package/dist/useMergedRefs-BtctsnmX.cjs +26 -0
- package/dist/useMergedRefs-CdfwtmUd.mjs +21 -0
- package/dist/{useTablePagination-D-39ZmQh.d.mts → useTablePagination-BlD8mK8k.d.mts} +1 -5
- package/dist/{useTablePagination-C-u3ru4N.d.cts → useTablePagination-CGjb_jPX.d.cts} +1 -5
- package/dist/useTransition-3EoagwIe.d.mts +40 -0
- package/dist/useTransition-B0V2fAq5.cjs +82 -0
- package/dist/useTransition-C89K0mS7.d.cts +40 -0
- package/dist/useTransition-CWxiEqtC.mjs +77 -0
- package/dist/useTransitionChild-CFhlMm65.mjs +48 -0
- package/dist/useTransitionChild-COlRozbU.cjs +53 -0
- package/dist/utils.cjs +4 -8
- package/dist/utils.d.cts +0 -8
- package/dist/utils.d.mts +0 -8
- package/dist/utils.mjs +4 -8
- package/package.json +192 -32
- package/dist/index-BxVTIMnB.d.cts +0 -1
- package/dist/index-DaIIo5QU.d.mts +0 -1
- package/dist/inputVariantStyles-BBkkYQtE.cjs +0 -32
- package/dist/inputVariantStyles-CcqpGfuP.mjs +0 -28
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { nt as Theme } from "./index-CR8qkP8U.mjs";
|
|
2
|
+
import { ElementType, HTMLAttributes, ReactElement, ReactNode, SyntheticEvent } from "react";
|
|
3
|
+
/** A side of its child a tooltip sits on - and, after the dash, which end of that side it lines up with. */
|
|
4
|
+
type FixedTooltipPlacement = 'top' | 'top-start' | 'top-end' | 'bottom' | 'bottom-start' | 'bottom-end' | 'left' | 'left-start' | 'left-end' | 'right' | 'right-start' | 'right-end';
|
|
5
|
+
/** A fixed placement, or `auto` - the side with the most room, chosen as it is placed. */
|
|
6
|
+
type TooltipPlacement = FixedTooltipPlacement | 'auto' | 'auto-start' | 'auto-end';
|
|
7
|
+
interface TooltipSlots {
|
|
8
|
+
root?: ElementType;
|
|
9
|
+
arrow?: ElementType;
|
|
10
|
+
}
|
|
11
|
+
type SlotProps = HTMLAttributes<HTMLElement> & {
|
|
12
|
+
'data-testid'?: string;
|
|
13
|
+
};
|
|
14
|
+
interface TooltipSlotProps {
|
|
15
|
+
root?: SlotProps;
|
|
16
|
+
arrow?: SlotProps;
|
|
17
|
+
}
|
|
18
|
+
interface TooltipProps {
|
|
19
|
+
/** The one element the tooltip is about - it holds a `ref` and takes the handlers. */
|
|
20
|
+
children: ReactElement;
|
|
21
|
+
/** What the tooltip says. Nothing says no tooltip. */
|
|
22
|
+
title?: ReactNode;
|
|
23
|
+
/** 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'`. */
|
|
24
|
+
placement?: TooltipPlacement;
|
|
25
|
+
/** Swaps the element a part is drawn as - it keeps its styles. `root` is the surface. */
|
|
26
|
+
slots?: TooltipSlots;
|
|
27
|
+
/** Props for a part: they are put first, so the tooltip's own `ref`, `id`, `role`, pointer handlers and the arrow's position win. */
|
|
28
|
+
slotProps?: TooltipSlotProps;
|
|
29
|
+
/** Draws an arrow towards the child. Default: `false`. */
|
|
30
|
+
hasArrow?: boolean;
|
|
31
|
+
/** How long the pointer or focus rests on the child before it opens, in milliseconds. Default: `100`. */
|
|
32
|
+
enterDelay?: number;
|
|
33
|
+
/** How long after they leave before it closes. Default: `0`. */
|
|
34
|
+
leaveDelay?: number;
|
|
35
|
+
/** How long a touch is held before it opens. Default: `700`. */
|
|
36
|
+
enterTouchDelay?: number;
|
|
37
|
+
/** How long after a touch ends before it closes. Default: `1500`. */
|
|
38
|
+
leaveTouchDelay?: number;
|
|
39
|
+
/** Describes the child (`aria-describedby`, while open) instead of naming it (`aria-label`). Default: `false`. */
|
|
40
|
+
shouldDescribeChild?: boolean;
|
|
41
|
+
/** Whether it is shown. Controlled with `onOpen` and `onClose`. */
|
|
42
|
+
isOpen?: boolean;
|
|
43
|
+
/** Whether it is shown at first, when uncontrolled. Default: `false`. */
|
|
44
|
+
defaultOpen?: boolean;
|
|
45
|
+
/** Fired when it asks to open. */
|
|
46
|
+
onOpen?: (event: Event | SyntheticEvent) => void;
|
|
47
|
+
/** Fired when it asks to close. */
|
|
48
|
+
onClose?: (event: Event | SyntheticEvent) => void;
|
|
49
|
+
/** Opens on hover. Default: `true`. */
|
|
50
|
+
shouldOpenOnHover?: boolean;
|
|
51
|
+
/** Opens on keyboard focus. Default: `true`. */
|
|
52
|
+
shouldOpenOnFocus?: boolean;
|
|
53
|
+
/** Opens on a long touch. Default: `true`. */
|
|
54
|
+
shouldOpenOnTouch?: boolean;
|
|
55
|
+
/** Corner radius, resolves against `theme.radii`. Default: `theme.defaults.surfaceRadius`, else square. */
|
|
56
|
+
borderRadius?: keyof Theme['radii'];
|
|
57
|
+
/** Background, resolves against `theme.background`. Default: `'modal'`. */
|
|
58
|
+
bg?: keyof Theme['background'];
|
|
59
|
+
/** Text color, resolves against `theme.text`. Default: `theme.defaults.textColor`, else `'initial'`. */
|
|
60
|
+
textColor?: keyof Theme['text'];
|
|
61
|
+
/** Stacking layer from `theme.zOrder`. Default: `'tooltip'`. */
|
|
62
|
+
layer?: keyof Theme['zOrder'];
|
|
63
|
+
className?: string;
|
|
64
|
+
'data-testid'?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @description A short description of one child, shown on hover, keyboard focus and a long touch -
|
|
68
|
+
* a `role="tooltip"` in a `Portal`, placed beside its child and flipped for want of room. The
|
|
69
|
+
* child is named by it (`aria-label`) or described by it (`aria-describedby`, with
|
|
70
|
+
* `shouldDescribeChild`). It opens and closes after their delays, stays open while the pointer is
|
|
71
|
+
* on the tooltip itself, closes on Escape, and never takes or traps the focus.
|
|
72
|
+
*/
|
|
73
|
+
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;
|
|
74
|
+
export { Tooltip, type TooltipPlacement, TooltipProps, TooltipSlotProps, TooltipSlots };
|
package/dist/Tooltip.mjs
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
import { a as src_exports, o as styled, t as createShouldForwardProp } from "./src-B-rNjHIL.mjs";
|
|
2
|
+
import { n as useDefaultProps } from "./theme-DyyZQFzQ.mjs";
|
|
3
|
+
import { t as themeDefault } from "./themeDefault-BeZJzqJj.mjs";
|
|
4
|
+
import { t as getSurfaceRadius } from "./getSurfaceRadius-B1QE_VLa.mjs";
|
|
5
|
+
import { t as useControlled } from "./useControlled-B4uQ9Bj6.mjs";
|
|
6
|
+
import { Portal } from "./Portal.mjs";
|
|
7
|
+
import { t as useAnchoredPlacement } from "./useAnchoredPlacement-COrXZxhm.mjs";
|
|
8
|
+
import { t as useMergedRefs } from "./useMergedRefs-CdfwtmUd.mjs";
|
|
9
|
+
import { n as resolveTooltipPlacement, t as getTooltipOrigins } from "./getTooltipOrigins-D0bLLXwY.mjs";
|
|
10
|
+
import { cloneElement, useCallback, useEffect, useId, useRef, useState } from "react";
|
|
11
|
+
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
+
// src/Tooltip/hooks/useTooltip.ts
|
|
13
|
+
const isKeyboardFocus = (event) => {
|
|
14
|
+
try {
|
|
15
|
+
return event.target.matches(":focus-visible");
|
|
16
|
+
} catch {
|
|
17
|
+
return true;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* The state of a tooltip: whether it is open (its own, or its owner's), the timers that open and
|
|
22
|
+
* close it, and the handlers its child and the tooltip itself take. Opening and closing are
|
|
23
|
+
* delayed; moving from the child onto the tooltip does not close it, so its text can be read and
|
|
24
|
+
* selected (WCAG 1.4.13); Escape closes it at once.
|
|
25
|
+
*/
|
|
26
|
+
function useTooltip({ isOpen: isOpenProp, defaultOpen, onOpen, onClose, enterDelay, leaveDelay, enterTouchDelay, leaveTouchDelay, shouldOpenOnHover, shouldOpenOnFocus, shouldOpenOnTouch }) {
|
|
27
|
+
const [isOpen, setIsOpen] = useControlled({
|
|
28
|
+
controlled: isOpenProp,
|
|
29
|
+
default: defaultOpen
|
|
30
|
+
});
|
|
31
|
+
const timer = useRef(void 0);
|
|
32
|
+
const latest = useRef({
|
|
33
|
+
isOpen,
|
|
34
|
+
isOpenProp,
|
|
35
|
+
onOpen,
|
|
36
|
+
onClose
|
|
37
|
+
});
|
|
38
|
+
useEffect(() => {
|
|
39
|
+
latest.current = {
|
|
40
|
+
isOpen,
|
|
41
|
+
isOpenProp,
|
|
42
|
+
onOpen,
|
|
43
|
+
onClose
|
|
44
|
+
};
|
|
45
|
+
});
|
|
46
|
+
const clear = useCallback(() => window.clearTimeout(timer.current), []);
|
|
47
|
+
const ask = useCallback((next, event, delay) => {
|
|
48
|
+
clear();
|
|
49
|
+
timer.current = window.setTimeout(() => {
|
|
50
|
+
const current = latest.current;
|
|
51
|
+
if (current.isOpen === next) return;
|
|
52
|
+
if (current.isOpenProp === void 0) setIsOpen(next);
|
|
53
|
+
(next ? current.onOpen : current.onClose)?.(event);
|
|
54
|
+
}, delay);
|
|
55
|
+
}, [clear, setIsOpen]);
|
|
56
|
+
useEffect(() => clear, [clear]);
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
if (!isOpen) return void 0;
|
|
59
|
+
const handleKeyDown = (event) => {
|
|
60
|
+
if (event.key === "Escape") ask(false, event, 0);
|
|
61
|
+
};
|
|
62
|
+
document.addEventListener("keydown", handleKeyDown);
|
|
63
|
+
return () => document.removeEventListener("keydown", handleKeyDown);
|
|
64
|
+
}, [isOpen, ask]);
|
|
65
|
+
return {
|
|
66
|
+
isOpen,
|
|
67
|
+
childHandlers: {
|
|
68
|
+
onMouseEnter: (event) => {
|
|
69
|
+
if (shouldOpenOnHover) ask(true, event, enterDelay);
|
|
70
|
+
},
|
|
71
|
+
onMouseLeave: (event) => {
|
|
72
|
+
if (shouldOpenOnHover) ask(false, event, leaveDelay);
|
|
73
|
+
},
|
|
74
|
+
onFocus: (event) => {
|
|
75
|
+
if (shouldOpenOnFocus && isKeyboardFocus(event)) ask(true, event, enterDelay);
|
|
76
|
+
},
|
|
77
|
+
onBlur: (event) => {
|
|
78
|
+
if (shouldOpenOnFocus) ask(false, event, leaveDelay);
|
|
79
|
+
},
|
|
80
|
+
onTouchStart: (event) => {
|
|
81
|
+
if (shouldOpenOnTouch) ask(true, event, enterTouchDelay);
|
|
82
|
+
},
|
|
83
|
+
onTouchEnd: (event) => {
|
|
84
|
+
if (shouldOpenOnTouch) ask(false, event, leaveTouchDelay);
|
|
85
|
+
},
|
|
86
|
+
onTouchCancel: (event) => {
|
|
87
|
+
if (shouldOpenOnTouch) ask(false, event, leaveTouchDelay);
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
surfaceHandlers: {
|
|
91
|
+
onMouseEnter: () => {
|
|
92
|
+
if (shouldOpenOnHover) clear();
|
|
93
|
+
},
|
|
94
|
+
onMouseLeave: (event) => {
|
|
95
|
+
if (shouldOpenOnHover) ask(false, event, leaveDelay);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
// src/Tooltip/Tooltip.tsx
|
|
101
|
+
const MARGIN = 8;
|
|
102
|
+
const GAP = 8;
|
|
103
|
+
const ARROW = 8;
|
|
104
|
+
const TooltipSurface = styled("div", {
|
|
105
|
+
name: "Tooltip",
|
|
106
|
+
label: "Tooltip",
|
|
107
|
+
shouldForwardProp: createShouldForwardProp([
|
|
108
|
+
"layer",
|
|
109
|
+
"borderRadius",
|
|
110
|
+
"bg",
|
|
111
|
+
"textColor"
|
|
112
|
+
])
|
|
113
|
+
})(({ theme, layer, borderRadius, bg, textColor }) => ({
|
|
114
|
+
position: "fixed",
|
|
115
|
+
top: 0,
|
|
116
|
+
left: 0,
|
|
117
|
+
visibility: "hidden",
|
|
118
|
+
zIndex: theme.zOrder[layer],
|
|
119
|
+
boxSizing: "border-box",
|
|
120
|
+
maxWidth: "20rem",
|
|
121
|
+
padding: `${theme.space[.5]} ${theme.space[1]}`,
|
|
122
|
+
borderRadius: getSurfaceRadius(theme, borderRadius),
|
|
123
|
+
boxShadow: theme.shadows[4],
|
|
124
|
+
backgroundColor: (0, src_exports.get)(theme, `background.${bg ?? "modal"}`),
|
|
125
|
+
color: (0, src_exports.get)(theme, `text.${textColor ?? themeDefault(theme, "textColor", "initial")}`),
|
|
126
|
+
fontFamily: (0, src_exports.get)(theme, "fonts.body"),
|
|
127
|
+
fontSize: theme.fontSizes[0],
|
|
128
|
+
lineHeight: (0, src_exports.get)(theme, "lineHeights.base"),
|
|
129
|
+
overflowWrap: "break-word"
|
|
130
|
+
}));
|
|
131
|
+
const TooltipArrow = styled("span", {
|
|
132
|
+
name: "Tooltip",
|
|
133
|
+
slot: "arrow",
|
|
134
|
+
label: "TooltipArrow"
|
|
135
|
+
})({
|
|
136
|
+
position: "absolute",
|
|
137
|
+
width: ARROW,
|
|
138
|
+
height: ARROW,
|
|
139
|
+
backgroundColor: "inherit",
|
|
140
|
+
transform: "rotate(45deg)",
|
|
141
|
+
pointerEvents: "none"
|
|
142
|
+
});
|
|
143
|
+
const getArrow = ({ anchorRect, surfaceSize, top, left }) => {
|
|
144
|
+
const { width, height } = surfaceSize;
|
|
145
|
+
if (top + height <= anchorRect.top + 1 || top >= anchorRect.bottom - 1) {
|
|
146
|
+
const side = top + height <= anchorRect.top + 1 ? "top" : "bottom";
|
|
147
|
+
const middle = anchorRect.left + anchorRect.width / 2 - left;
|
|
148
|
+
return {
|
|
149
|
+
side,
|
|
150
|
+
offset: Math.min(Math.max(middle, ARROW), width - ARROW)
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
const side = left + width <= anchorRect.left + 1 ? "left" : "right";
|
|
154
|
+
const middle = anchorRect.top + anchorRect.height / 2 - top;
|
|
155
|
+
return {
|
|
156
|
+
side,
|
|
157
|
+
offset: Math.min(Math.max(middle, ARROW), height - ARROW)
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
const isSameArrow = (a, b) => a !== null && a.side === b.side && a.offset === b.offset;
|
|
161
|
+
const getArrowStyle = ({ side, offset }) => {
|
|
162
|
+
const half = ARROW / 2;
|
|
163
|
+
if (side === "top") return {
|
|
164
|
+
bottom: -4,
|
|
165
|
+
left: offset - half
|
|
166
|
+
};
|
|
167
|
+
if (side === "bottom") return {
|
|
168
|
+
top: -4,
|
|
169
|
+
left: offset - half
|
|
170
|
+
};
|
|
171
|
+
if (side === "left") return {
|
|
172
|
+
right: -4,
|
|
173
|
+
top: offset - half
|
|
174
|
+
};
|
|
175
|
+
return {
|
|
176
|
+
left: -4,
|
|
177
|
+
top: offset - half
|
|
178
|
+
};
|
|
179
|
+
};
|
|
180
|
+
/**
|
|
181
|
+
* @description A short description of one child, shown on hover, keyboard focus and a long touch -
|
|
182
|
+
* a `role="tooltip"` in a `Portal`, placed beside its child and flipped for want of room. The
|
|
183
|
+
* child is named by it (`aria-label`) or described by it (`aria-describedby`, with
|
|
184
|
+
* `shouldDescribeChild`). It opens and closes after their delays, stays open while the pointer is
|
|
185
|
+
* on the tooltip itself, closes on Escape, and never takes or traps the focus.
|
|
186
|
+
*/
|
|
187
|
+
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 }) {
|
|
188
|
+
const dp = useDefaultProps("Tooltip");
|
|
189
|
+
const placement = placementProp ?? dp.placement ?? "top";
|
|
190
|
+
const hasArrow = hasArrowProp ?? dp.hasArrow ?? false;
|
|
191
|
+
const shouldDescribeChild = shouldDescribeChildProp ?? dp.shouldDescribeChild ?? false;
|
|
192
|
+
const layer = layerProp ?? dp.layer ?? "tooltip";
|
|
193
|
+
const borderRadius = borderRadiusProp ?? dp.borderRadius;
|
|
194
|
+
const bg = bgProp ?? dp.bg;
|
|
195
|
+
const textColor = textColorProp ?? dp.textColor;
|
|
196
|
+
const id = useId();
|
|
197
|
+
const { isOpen, childHandlers, surfaceHandlers } = useTooltip({
|
|
198
|
+
isOpen: isOpenProp,
|
|
199
|
+
defaultOpen,
|
|
200
|
+
onOpen,
|
|
201
|
+
onClose,
|
|
202
|
+
enterDelay: enterDelayProp ?? dp.enterDelay ?? 100,
|
|
203
|
+
leaveDelay: leaveDelayProp ?? dp.leaveDelay ?? 0,
|
|
204
|
+
enterTouchDelay: enterTouchDelayProp ?? dp.enterTouchDelay ?? 700,
|
|
205
|
+
leaveTouchDelay: leaveTouchDelayProp ?? dp.leaveTouchDelay ?? 1500,
|
|
206
|
+
shouldOpenOnHover: shouldOpenOnHoverProp ?? dp.shouldOpenOnHover ?? true,
|
|
207
|
+
shouldOpenOnFocus: shouldOpenOnFocusProp ?? dp.shouldOpenOnFocus ?? true,
|
|
208
|
+
shouldOpenOnTouch: shouldOpenOnTouchProp ?? dp.shouldOpenOnTouch ?? true
|
|
209
|
+
});
|
|
210
|
+
const isShown = isOpen && title !== void 0 && title !== null && title !== "";
|
|
211
|
+
const anchorRef = useRef(null);
|
|
212
|
+
const surfaceRef = useRef(null);
|
|
213
|
+
const own = children.props;
|
|
214
|
+
const ref = useMergedRefs(anchorRef, own.ref);
|
|
215
|
+
const [arrow, setArrow] = useState(null);
|
|
216
|
+
const getOrigins = useCallback((context) => getTooltipOrigins(resolveTooltipPlacement(placement, context), context.isRtl), [placement]);
|
|
217
|
+
const onPlaced = useCallback((placed) => {
|
|
218
|
+
if (!hasArrow) return;
|
|
219
|
+
const next = getArrow(placed);
|
|
220
|
+
setArrow((current) => isSameArrow(current, next) ? current : next);
|
|
221
|
+
}, [hasArrow]);
|
|
222
|
+
useAnchoredPlacement({
|
|
223
|
+
isOpen: isShown,
|
|
224
|
+
anchorRef,
|
|
225
|
+
surfaceRef,
|
|
226
|
+
getOrigins,
|
|
227
|
+
margin: MARGIN,
|
|
228
|
+
gap: GAP,
|
|
229
|
+
onPlaced
|
|
230
|
+
});
|
|
231
|
+
const handlers = Object.fromEntries(Object.entries(childHandlers).map(([name, handler]) => [name, (event) => {
|
|
232
|
+
own[name]?.(event);
|
|
233
|
+
handler(event);
|
|
234
|
+
}]));
|
|
235
|
+
const ownDescription = own["aria-describedby"];
|
|
236
|
+
const names = typeof title === "string" && own["aria-label"] === void 0 && own["aria-labelledby"] === void 0 ? { "aria-label": title } : {};
|
|
237
|
+
const ariaProps = shouldDescribeChild ? { "aria-describedby": isShown ? [ownDescription, id].filter(Boolean).join(" ") : ownDescription } : names;
|
|
238
|
+
return /* @__PURE__ */ jsxs(Fragment$1, { children: [cloneElement(children, {
|
|
239
|
+
...handlers,
|
|
240
|
+
...ariaProps,
|
|
241
|
+
ref
|
|
242
|
+
}), isShown && /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsxs(TooltipSurface, {
|
|
243
|
+
...slotProps?.root,
|
|
244
|
+
as: slots?.root,
|
|
245
|
+
ref: surfaceRef,
|
|
246
|
+
id,
|
|
247
|
+
role: "tooltip",
|
|
248
|
+
layer,
|
|
249
|
+
borderRadius,
|
|
250
|
+
bg,
|
|
251
|
+
textColor,
|
|
252
|
+
className: [slotProps?.root?.className, className].filter(Boolean).join(" ") || void 0,
|
|
253
|
+
"data-testid": dataTestid ?? slotProps?.root?.["data-testid"],
|
|
254
|
+
...surfaceHandlers,
|
|
255
|
+
children: [title, hasArrow && arrow ? /* @__PURE__ */ jsx(TooltipArrow, {
|
|
256
|
+
...slotProps?.arrow,
|
|
257
|
+
as: slots?.arrow,
|
|
258
|
+
style: {
|
|
259
|
+
...slotProps?.arrow?.style,
|
|
260
|
+
...getArrowStyle(arrow)
|
|
261
|
+
},
|
|
262
|
+
"aria-hidden": "true"
|
|
263
|
+
}) : null]
|
|
264
|
+
}) })] });
|
|
265
|
+
}
|
|
266
|
+
export { Tooltip };
|
package/dist/TransferList.cjs
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_src = require("./src-
|
|
3
|
-
const require_theme = require("./theme-
|
|
2
|
+
const require_src = require("./src-yC1f5WR2.cjs");
|
|
3
|
+
const require_theme = require("./theme-XJvMdOnY.cjs");
|
|
4
|
+
const require_useControlled = require("./useControlled-CzCxM4J3.cjs");
|
|
4
5
|
const require_Typography = require("./Typography.cjs");
|
|
5
|
-
const require_Icon = require("./Icon-
|
|
6
|
+
const require_Icon = require("./Icon-C5Iz5ekp.cjs");
|
|
7
|
+
const require_FormControl = require("./FormControl.cjs");
|
|
6
8
|
const require_Button = require("./Button.cjs");
|
|
7
9
|
const require_Paper = require("./Paper.cjs");
|
|
8
|
-
const require_FormControl = require("./FormControl.cjs");
|
|
9
10
|
const require_Checkbox = require("./Checkbox.cjs");
|
|
10
|
-
const require_useControlled = require("./useControlled-C666KpQ0.cjs");
|
|
11
11
|
let react = require("react");
|
|
12
12
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
13
13
|
let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
|
|
14
|
-
|
|
14
|
+
// src/TransferList/hooks/useTransferList.ts
|
|
15
15
|
const isEnabled = (item) => !item.disabled;
|
|
16
16
|
/**
|
|
17
17
|
* A transfer list's state: which items are on the right (controlled or not), which are checked,
|
|
@@ -69,8 +69,7 @@ function useTransferList({ items, value, defaultValue, onChange }) {
|
|
|
69
69
|
moveAllLeft: () => move("left", getEnabled("right"))
|
|
70
70
|
};
|
|
71
71
|
}
|
|
72
|
-
|
|
73
|
-
//#region src/TransferList/TransferList.tsx
|
|
72
|
+
// src/TransferList/TransferList.tsx
|
|
74
73
|
const TransferListRoot = require_src.styled("div", {
|
|
75
74
|
name: "TransferList",
|
|
76
75
|
label: "TransferList",
|
|
@@ -79,6 +78,7 @@ const TransferListRoot = require_src.styled("div", {
|
|
|
79
78
|
})(({ theme, isDisabled }) => ({
|
|
80
79
|
display: "flex",
|
|
81
80
|
alignItems: "stretch",
|
|
81
|
+
alignSelf: "stretch",
|
|
82
82
|
gap: theme.space[2],
|
|
83
83
|
...isDisabled && { opacity: .5 }
|
|
84
84
|
}));
|
|
@@ -162,7 +162,7 @@ const TransferListIcon = require_src.styled("span", {
|
|
|
162
162
|
"[dir=\"rtl\"] &": { transform: "scaleX(-1)" },
|
|
163
163
|
"& > :nth-of-type(2)": { marginInlineStart: "-0.5em" }
|
|
164
164
|
});
|
|
165
|
-
function List({ side, title, baseId, state, hasSelectAll, getCountLabel, size, color, disabled, isError }) {
|
|
165
|
+
function List({ side, title, baseId, state, hasSelectAll, getCountLabel, size, color, textColor, disabled, isError }) {
|
|
166
166
|
const items = state[side];
|
|
167
167
|
const titleId = `${baseId}-${side}-title`;
|
|
168
168
|
const enabledCount = state.getEnabled(side).length;
|
|
@@ -189,11 +189,13 @@ function List({ side, title, baseId, state, hasSelectAll, getCountLabel, size, c
|
|
|
189
189
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
|
|
190
190
|
variant: "subtitle2",
|
|
191
191
|
as: "span",
|
|
192
|
+
color: textColor,
|
|
192
193
|
children: title
|
|
193
194
|
})
|
|
194
195
|
}),
|
|
195
196
|
hasSelectAll && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TransferListCount, { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
|
|
196
197
|
variant: "caption",
|
|
198
|
+
color: textColor,
|
|
197
199
|
children: getCountLabel(checkedCount, items.length)
|
|
198
200
|
}) })
|
|
199
201
|
] }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(TransferListItems, {
|
|
@@ -216,6 +218,7 @@ function List({ side, title, baseId, state, hasSelectAll, getCountLabel, size, c
|
|
|
216
218
|
variant: "body2",
|
|
217
219
|
as: "span",
|
|
218
220
|
id: labelId,
|
|
221
|
+
color: textColor,
|
|
219
222
|
children: item.label
|
|
220
223
|
})
|
|
221
224
|
})
|
|
@@ -232,14 +235,15 @@ function List({ side, title, baseId, state, hasSelectAll, getCountLabel, size, c
|
|
|
232
235
|
* is the app's, so it carries no language of its own. In a `FormControl` it takes the field's
|
|
233
236
|
* size, color, error and disabled state, and its `FormLabel` names the group.
|
|
234
237
|
*/
|
|
235
|
-
function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLabel, moveAllRightLabel: moveAllRightLabelProp, moveRightLabel: moveRightLabelProp, moveLeftLabel: moveLeftLabelProp, moveAllLeftLabel: moveAllLeftLabelProp, shouldShowMoveAll: shouldShowMoveAllProp, hasSelectAll: hasSelectAllProp, getCountLabel = (checked, total) => `${checked}/${total}`, size: sizeProp, color: colorProp, disabled: disabledProp, error: errorProp, id: idProp, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, "data-testid": dataTestid, ...spaceProps }) {
|
|
238
|
+
function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLabel, moveAllRightLabel: moveAllRightLabelProp, moveRightLabel: moveRightLabelProp, moveLeftLabel: moveLeftLabelProp, moveAllLeftLabel: moveAllLeftLabelProp, shouldShowMoveAll: shouldShowMoveAllProp, hasSelectAll: hasSelectAllProp, getCountLabel = (checked, total) => `${checked}/${total}`, size: sizeProp, color: colorProp, textColor: textColorProp, disabled: disabledProp, error: errorProp, id: idProp, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, "data-testid": dataTestid, ...spaceProps }) {
|
|
236
239
|
const dp = require_theme.useDefaultProps("TransferList");
|
|
237
240
|
const fc = require_FormControl.useFormControl({
|
|
238
241
|
id: idProp,
|
|
239
242
|
error: errorProp,
|
|
240
243
|
disabled: disabledProp,
|
|
241
244
|
size: sizeProp ?? dp.size,
|
|
242
|
-
color: colorProp ?? dp.color
|
|
245
|
+
color: colorProp ?? dp.color,
|
|
246
|
+
textColor: textColorProp
|
|
243
247
|
});
|
|
244
248
|
const baseId = (0, react.useId)();
|
|
245
249
|
const moveAllRightLabel = moveAllRightLabelProp ?? dp.moveAllRightLabel;
|
|
@@ -280,6 +284,7 @@ function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLa
|
|
|
280
284
|
getCountLabel,
|
|
281
285
|
size: fc.size,
|
|
282
286
|
color: fc.color,
|
|
287
|
+
textColor: fc.textColor,
|
|
283
288
|
disabled: fc.disabled,
|
|
284
289
|
isError: fc.error
|
|
285
290
|
}),
|
|
@@ -346,11 +351,11 @@ function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLa
|
|
|
346
351
|
getCountLabel,
|
|
347
352
|
size: fc.size,
|
|
348
353
|
color: fc.color,
|
|
354
|
+
textColor: fc.textColor,
|
|
349
355
|
disabled: fc.disabled,
|
|
350
356
|
isError: fc.error
|
|
351
357
|
})
|
|
352
358
|
]
|
|
353
359
|
});
|
|
354
360
|
}
|
|
355
|
-
//#endregion
|
|
356
361
|
exports.TransferList = TransferList;
|
package/dist/TransferList.d.cts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { nt as Theme } from "./index-Lsm4v8fB.cjs";
|
|
2
2
|
import { SpaceProps } from "@soroush.tech/styled-system";
|
|
3
|
-
//#region src/TransferList/hooks/useTransferList.d.ts
|
|
4
3
|
type TransferListValue = string | number;
|
|
5
4
|
interface TransferListItem {
|
|
6
5
|
/** What `value` holds for it - unique among the items. */
|
|
@@ -10,8 +9,6 @@ interface TransferListItem {
|
|
|
10
9
|
/** Stays where it is and can't be checked. */
|
|
11
10
|
disabled?: boolean;
|
|
12
11
|
}
|
|
13
|
-
//#endregion
|
|
14
|
-
//#region src/TransferList/TransferList.d.ts
|
|
15
12
|
interface TransferListProps extends SpaceProps<Theme> {
|
|
16
13
|
/** Every item, on either side. */
|
|
17
14
|
items: readonly TransferListItem[];
|
|
@@ -43,6 +40,8 @@ interface TransferListProps extends SpaceProps<Theme> {
|
|
|
43
40
|
size?: keyof Theme['sizes'];
|
|
44
41
|
/** The checkboxes' and buttons' color - resolves to `theme.palette`. Default: its `FormControl`'s. */
|
|
45
42
|
color?: keyof Theme['palette'];
|
|
43
|
+
/** The text color of the titles - resolves to `theme.text`. Default: its `FormControl`'s or `Form`'s. */
|
|
44
|
+
textColor?: keyof Theme['text'];
|
|
46
45
|
disabled?: boolean;
|
|
47
46
|
/** The lists take the error color. */
|
|
48
47
|
error?: boolean;
|
|
@@ -62,6 +61,5 @@ interface TransferListProps extends SpaceProps<Theme> {
|
|
|
62
61
|
* is the app's, so it carries no language of its own. In a `FormControl` it takes the field's
|
|
63
62
|
* size, color, error and disabled state, and its `FormLabel` names the group.
|
|
64
63
|
*/
|
|
65
|
-
declare function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLabel, moveAllRightLabel: moveAllRightLabelProp, moveRightLabel: moveRightLabelProp, moveLeftLabel: moveLeftLabelProp, moveAllLeftLabel: moveAllLeftLabelProp, shouldShowMoveAll: shouldShowMoveAllProp, hasSelectAll: hasSelectAllProp, getCountLabel, size: sizeProp, color: colorProp, disabled: disabledProp, error: errorProp, id: idProp, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, 'aria-describedby': ariaDescribedby, 'data-testid': dataTestid, ...spaceProps }: Readonly<TransferListProps>): import("react").JSX.Element;
|
|
66
|
-
//#endregion
|
|
64
|
+
declare function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLabel, moveAllRightLabel: moveAllRightLabelProp, moveRightLabel: moveRightLabelProp, moveLeftLabel: moveLeftLabelProp, moveAllLeftLabel: moveAllLeftLabelProp, shouldShowMoveAll: shouldShowMoveAllProp, hasSelectAll: hasSelectAllProp, getCountLabel, size: sizeProp, color: colorProp, textColor: textColorProp, disabled: disabledProp, error: errorProp, id: idProp, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, 'aria-describedby': ariaDescribedby, 'data-testid': dataTestid, ...spaceProps }: Readonly<TransferListProps>): import("react").JSX.Element;
|
|
67
65
|
export { TransferList, type TransferListItem, TransferListProps, type TransferListValue };
|
package/dist/TransferList.d.mts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { nt as Theme } from "./index-CR8qkP8U.mjs";
|
|
2
2
|
import { SpaceProps } from "@soroush.tech/styled-system";
|
|
3
|
-
//#region src/TransferList/hooks/useTransferList.d.ts
|
|
4
3
|
type TransferListValue = string | number;
|
|
5
4
|
interface TransferListItem {
|
|
6
5
|
/** What `value` holds for it - unique among the items. */
|
|
@@ -10,8 +9,6 @@ interface TransferListItem {
|
|
|
10
9
|
/** Stays where it is and can't be checked. */
|
|
11
10
|
disabled?: boolean;
|
|
12
11
|
}
|
|
13
|
-
//#endregion
|
|
14
|
-
//#region src/TransferList/TransferList.d.ts
|
|
15
12
|
interface TransferListProps extends SpaceProps<Theme> {
|
|
16
13
|
/** Every item, on either side. */
|
|
17
14
|
items: readonly TransferListItem[];
|
|
@@ -43,6 +40,8 @@ interface TransferListProps extends SpaceProps<Theme> {
|
|
|
43
40
|
size?: keyof Theme['sizes'];
|
|
44
41
|
/** The checkboxes' and buttons' color - resolves to `theme.palette`. Default: its `FormControl`'s. */
|
|
45
42
|
color?: keyof Theme['palette'];
|
|
43
|
+
/** The text color of the titles - resolves to `theme.text`. Default: its `FormControl`'s or `Form`'s. */
|
|
44
|
+
textColor?: keyof Theme['text'];
|
|
46
45
|
disabled?: boolean;
|
|
47
46
|
/** The lists take the error color. */
|
|
48
47
|
error?: boolean;
|
|
@@ -62,6 +61,5 @@ interface TransferListProps extends SpaceProps<Theme> {
|
|
|
62
61
|
* is the app's, so it carries no language of its own. In a `FormControl` it takes the field's
|
|
63
62
|
* size, color, error and disabled state, and its `FormLabel` names the group.
|
|
64
63
|
*/
|
|
65
|
-
declare function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLabel, moveAllRightLabel: moveAllRightLabelProp, moveRightLabel: moveRightLabelProp, moveLeftLabel: moveLeftLabelProp, moveAllLeftLabel: moveAllLeftLabelProp, shouldShowMoveAll: shouldShowMoveAllProp, hasSelectAll: hasSelectAllProp, getCountLabel, size: sizeProp, color: colorProp, disabled: disabledProp, error: errorProp, id: idProp, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, 'aria-describedby': ariaDescribedby, 'data-testid': dataTestid, ...spaceProps }: Readonly<TransferListProps>): import("react").JSX.Element;
|
|
66
|
-
//#endregion
|
|
64
|
+
declare function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLabel, moveAllRightLabel: moveAllRightLabelProp, moveRightLabel: moveRightLabelProp, moveLeftLabel: moveLeftLabelProp, moveAllLeftLabel: moveAllLeftLabelProp, shouldShowMoveAll: shouldShowMoveAllProp, hasSelectAll: hasSelectAllProp, getCountLabel, size: sizeProp, color: colorProp, textColor: textColorProp, disabled: disabledProp, error: errorProp, id: idProp, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, 'aria-describedby': ariaDescribedby, 'data-testid': dataTestid, ...spaceProps }: Readonly<TransferListProps>): import("react").JSX.Element;
|
|
67
65
|
export { TransferList, type TransferListItem, TransferListProps, type TransferListValue };
|
package/dist/TransferList.mjs
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import { a as src_exports, i as props, o as styled, t as createShouldForwardProp } from "./src-
|
|
2
|
-
import { n as useDefaultProps } from "./theme-
|
|
1
|
+
import { a as src_exports, i as props, o as styled, t as createShouldForwardProp } from "./src-B-rNjHIL.mjs";
|
|
2
|
+
import { n as useDefaultProps } from "./theme-DyyZQFzQ.mjs";
|
|
3
|
+
import { t as useControlled } from "./useControlled-B4uQ9Bj6.mjs";
|
|
3
4
|
import { Typography } from "./Typography.mjs";
|
|
4
|
-
import { t as Icon } from "./Icon-
|
|
5
|
+
import { t as Icon } from "./Icon-XpXU-SuF.mjs";
|
|
6
|
+
import { useFormControl } from "./FormControl.mjs";
|
|
5
7
|
import { Button } from "./Button.mjs";
|
|
6
8
|
import { Paper } from "./Paper.mjs";
|
|
7
|
-
import { useFormControl } from "./FormControl.mjs";
|
|
8
9
|
import { Checkbox } from "./Checkbox.mjs";
|
|
9
|
-
import { t as useControlled } from "./useControlled-CBRLsO-H.mjs";
|
|
10
10
|
import { useId, useState } from "react";
|
|
11
11
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
12
|
-
|
|
12
|
+
// src/TransferList/hooks/useTransferList.ts
|
|
13
13
|
const isEnabled = (item) => !item.disabled;
|
|
14
14
|
/**
|
|
15
15
|
* A transfer list's state: which items are on the right (controlled or not), which are checked,
|
|
@@ -67,8 +67,7 @@ function useTransferList({ items, value, defaultValue, onChange }) {
|
|
|
67
67
|
moveAllLeft: () => move("left", getEnabled("right"))
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
|
-
|
|
71
|
-
//#region src/TransferList/TransferList.tsx
|
|
70
|
+
// src/TransferList/TransferList.tsx
|
|
72
71
|
const TransferListRoot = styled("div", {
|
|
73
72
|
name: "TransferList",
|
|
74
73
|
label: "TransferList",
|
|
@@ -77,6 +76,7 @@ const TransferListRoot = styled("div", {
|
|
|
77
76
|
})(({ theme, isDisabled }) => ({
|
|
78
77
|
display: "flex",
|
|
79
78
|
alignItems: "stretch",
|
|
79
|
+
alignSelf: "stretch",
|
|
80
80
|
gap: theme.space[2],
|
|
81
81
|
...isDisabled && { opacity: .5 }
|
|
82
82
|
}));
|
|
@@ -160,7 +160,7 @@ const TransferListIcon = styled("span", {
|
|
|
160
160
|
"[dir=\"rtl\"] &": { transform: "scaleX(-1)" },
|
|
161
161
|
"& > :nth-of-type(2)": { marginInlineStart: "-0.5em" }
|
|
162
162
|
});
|
|
163
|
-
function List({ side, title, baseId, state, hasSelectAll, getCountLabel, size, color, disabled, isError }) {
|
|
163
|
+
function List({ side, title, baseId, state, hasSelectAll, getCountLabel, size, color, textColor, disabled, isError }) {
|
|
164
164
|
const items = state[side];
|
|
165
165
|
const titleId = `${baseId}-${side}-title`;
|
|
166
166
|
const enabledCount = state.getEnabled(side).length;
|
|
@@ -187,11 +187,13 @@ function List({ side, title, baseId, state, hasSelectAll, getCountLabel, size, c
|
|
|
187
187
|
children: /* @__PURE__ */ jsx(Typography, {
|
|
188
188
|
variant: "subtitle2",
|
|
189
189
|
as: "span",
|
|
190
|
+
color: textColor,
|
|
190
191
|
children: title
|
|
191
192
|
})
|
|
192
193
|
}),
|
|
193
194
|
hasSelectAll && /* @__PURE__ */ jsx(TransferListCount, { children: /* @__PURE__ */ jsx(Typography, {
|
|
194
195
|
variant: "caption",
|
|
196
|
+
color: textColor,
|
|
195
197
|
children: getCountLabel(checkedCount, items.length)
|
|
196
198
|
}) })
|
|
197
199
|
] }), /* @__PURE__ */ jsx(TransferListItems, {
|
|
@@ -214,6 +216,7 @@ function List({ side, title, baseId, state, hasSelectAll, getCountLabel, size, c
|
|
|
214
216
|
variant: "body2",
|
|
215
217
|
as: "span",
|
|
216
218
|
id: labelId,
|
|
219
|
+
color: textColor,
|
|
217
220
|
children: item.label
|
|
218
221
|
})
|
|
219
222
|
})
|
|
@@ -230,14 +233,15 @@ function List({ side, title, baseId, state, hasSelectAll, getCountLabel, size, c
|
|
|
230
233
|
* is the app's, so it carries no language of its own. In a `FormControl` it takes the field's
|
|
231
234
|
* size, color, error and disabled state, and its `FormLabel` names the group.
|
|
232
235
|
*/
|
|
233
|
-
function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLabel, moveAllRightLabel: moveAllRightLabelProp, moveRightLabel: moveRightLabelProp, moveLeftLabel: moveLeftLabelProp, moveAllLeftLabel: moveAllLeftLabelProp, shouldShowMoveAll: shouldShowMoveAllProp, hasSelectAll: hasSelectAllProp, getCountLabel = (checked, total) => `${checked}/${total}`, size: sizeProp, color: colorProp, disabled: disabledProp, error: errorProp, id: idProp, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, "data-testid": dataTestid, ...spaceProps }) {
|
|
236
|
+
function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLabel, moveAllRightLabel: moveAllRightLabelProp, moveRightLabel: moveRightLabelProp, moveLeftLabel: moveLeftLabelProp, moveAllLeftLabel: moveAllLeftLabelProp, shouldShowMoveAll: shouldShowMoveAllProp, hasSelectAll: hasSelectAllProp, getCountLabel = (checked, total) => `${checked}/${total}`, size: sizeProp, color: colorProp, textColor: textColorProp, disabled: disabledProp, error: errorProp, id: idProp, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, "data-testid": dataTestid, ...spaceProps }) {
|
|
234
237
|
const dp = useDefaultProps("TransferList");
|
|
235
238
|
const fc = useFormControl({
|
|
236
239
|
id: idProp,
|
|
237
240
|
error: errorProp,
|
|
238
241
|
disabled: disabledProp,
|
|
239
242
|
size: sizeProp ?? dp.size,
|
|
240
|
-
color: colorProp ?? dp.color
|
|
243
|
+
color: colorProp ?? dp.color,
|
|
244
|
+
textColor: textColorProp
|
|
241
245
|
});
|
|
242
246
|
const baseId = useId();
|
|
243
247
|
const moveAllRightLabel = moveAllRightLabelProp ?? dp.moveAllRightLabel;
|
|
@@ -278,6 +282,7 @@ function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLa
|
|
|
278
282
|
getCountLabel,
|
|
279
283
|
size: fc.size,
|
|
280
284
|
color: fc.color,
|
|
285
|
+
textColor: fc.textColor,
|
|
281
286
|
disabled: fc.disabled,
|
|
282
287
|
isError: fc.error
|
|
283
288
|
}),
|
|
@@ -344,11 +349,11 @@ function TransferList({ items, value, defaultValue, onChange, leftLabel, rightLa
|
|
|
344
349
|
getCountLabel,
|
|
345
350
|
size: fc.size,
|
|
346
351
|
color: fc.color,
|
|
352
|
+
textColor: fc.textColor,
|
|
347
353
|
disabled: fc.disabled,
|
|
348
354
|
isError: fc.error
|
|
349
355
|
})
|
|
350
356
|
]
|
|
351
357
|
});
|
|
352
358
|
}
|
|
353
|
-
//#endregion
|
|
354
359
|
export { TransferList };
|
package/dist/Typography.cjs
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
|
-
const require_src = require("./src-
|
|
3
|
-
const require_theme = require("./theme-
|
|
2
|
+
const require_src = require("./src-yC1f5WR2.cjs");
|
|
3
|
+
const require_theme = require("./theme-XJvMdOnY.cjs");
|
|
4
4
|
require("react");
|
|
5
5
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
6
6
|
let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
|
|
7
|
-
|
|
7
|
+
// src/Typography/Typography.tsx
|
|
8
8
|
const shouldForwardProp = (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)([
|
|
9
9
|
..._soroush_tech_styled_system_should_forward_prop.props,
|
|
10
10
|
"noWrap",
|
|
@@ -60,5 +60,4 @@ function Typography({ variant = "body1", as, ...rest }) {
|
|
|
60
60
|
...rest
|
|
61
61
|
});
|
|
62
62
|
}
|
|
63
|
-
//#endregion
|
|
64
63
|
exports.Typography = Typography;
|
package/dist/Typography.d.cts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as TypographyProps, i as TypographyAlign, n as TextColorToken, r as Typography, t as BackgroundToken } from "./index-
|
|
1
|
+
import { jt as TypographyVariant } from "./index-Lsm4v8fB.cjs";
|
|
2
|
+
import { a as TypographyProps, i as TypographyAlign, n as TextColorToken, r as Typography, t as BackgroundToken } from "./index-CGyIuCRh.cjs";
|
|
3
3
|
export { BackgroundToken, TextColorToken, Typography, TypographyAlign, TypographyProps, type TypographyVariant };
|
package/dist/Typography.d.mts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { a as TypographyProps, i as TypographyAlign, n as TextColorToken, r as Typography, t as BackgroundToken } from "./index-
|
|
1
|
+
import { jt as TypographyVariant } from "./index-CR8qkP8U.mjs";
|
|
2
|
+
import { a as TypographyProps, i as TypographyAlign, n as TextColorToken, r as Typography, t as BackgroundToken } from "./index-C2a-5yop.mjs";
|
|
3
3
|
export { BackgroundToken, TextColorToken, Typography, TypographyAlign, TypographyProps, type TypographyVariant };
|