@soroush.tech/design-system 2.0.0-rc.3 → 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 +54 -32
- 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 +5 -3
- package/dist/FormControl.d.cts +1 -1
- package/dist/FormControl.d.mts +1 -1
- package/dist/FormControl.mjs +5 -3
- 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 +4 -1
- package/dist/FormLabel.d.cts +1 -1
- package/dist/FormLabel.d.mts +1 -1
- package/dist/FormLabel.mjs +4 -1
- 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-BihOAP4u.mjs → Icon-0hPpk-WZ.mjs} +31 -1
- package/dist/{Icon-D-EWsBVg.cjs → Icon-BE7bRsqR.cjs} +31 -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-CrzHc_cn.mjs → Menu-CnG4ikZd.mjs} +6 -4
- package/dist/{Menu-Cgg-sX4W.cjs → Menu-DXLjR9ga.cjs} +6 -4
- 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-DUn4IZKK.mjs → MenuItem-C21eR7d6.mjs} +40 -79
- package/dist/{MenuItem-BTP7Ijwi.cjs → MenuItem-EJ4u73f0.cjs} +39 -78
- 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-DKUOhNyw.d.cts → MenuListContext-BWL5fM_L.d.mts} +2 -2
- package/dist/{MenuListContext-x-7lH4CH.d.mts → 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 +8 -12
- package/dist/NativeSelect.d.cts +2 -2
- package/dist/NativeSelect.d.mts +2 -2
- package/dist/NativeSelect.mjs +8 -12
- package/dist/{NumberField.cjs → NumberInput.cjs} +69 -43
- package/dist/{NumberField.d.cts → NumberInput.d.cts} +14 -9
- package/dist/{NumberField.d.mts → NumberInput.d.mts} +14 -9
- package/dist/{NumberField.mjs → NumberInput.mjs} +69 -43
- 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/{InputRange.cjs → RangeInput.cjs} +45 -43
- package/dist/{InputRange.d.mts → RangeInput.d.cts} +15 -15
- package/dist/{InputRange.d.cts → RangeInput.d.mts} +15 -15
- package/dist/{InputRange.mjs → RangeInput.mjs} +45 -43
- package/dist/Rating.cjs +3 -3
- package/dist/Rating.d.cts +1 -1
- package/dist/Rating.d.mts +1 -1
- package/dist/Rating.mjs +3 -3
- 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 +9 -12
- package/dist/Select.d.cts +2 -2
- package/dist/Select.d.mts +2 -2
- package/dist/Select.mjs +9 -12
- 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 +2 -2
- 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 +15 -5
- package/dist/Switch.d.cts +4 -2
- package/dist/Switch.d.mts +4 -2
- package/dist/Switch.mjs +15 -5
- 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/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-DhuRf6Wy.d.mts → TableContext-Be8tluYZ.d.cts} +1 -1
- package/dist/{TableContext-Duj1nVG7.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-D4tWCq78.cjs → Tabs-Croeq9s2.cjs} +11 -7
- package/dist/{Tabs-BTNOJx5v.mjs → Tabs-DMMP5aDj.mjs} +11 -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-B_XHbjcS.d.cts → TabsContext-BYeGjSZK.d.cts} +1 -1
- package/dist/{TabsContext-Dn2kqUwr.d.mts → TabsContext-D4YumTfD.d.mts} +1 -1
- package/dist/TextInput.cjs +11 -11
- package/dist/TextInput.d.cts +1 -1
- package/dist/TextInput.d.mts +1 -1
- package/dist/TextInput.mjs +11 -11
- 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 +14 -7
- package/dist/TransferList.d.cts +4 -2
- package/dist/TransferList.d.mts +4 -2
- package/dist/TransferList.mjs +14 -7
- 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 +932 -30
- package/dist/catalog.d.cts +1 -1
- package/dist/catalog.d.mts +1 -1
- package/dist/catalog.mjs +932 -30
- 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-Dv_fk1_F.d.cts → index-05VGk0y_.d.cts} +14 -2
- package/dist/{index-DtYjdBvO.d.cts → index-2x01drCL.d.mts} +2 -2
- package/dist/{index-B1RFybA_.d.mts → index-46mhlgP6.d.mts} +7 -3
- package/dist/{index-BQWjh4rK.d.mts → index-BCzI2Iqo.d.cts} +3 -3
- package/dist/{index-ClZyaZrR.d.mts → index-BDqIc6Gx.d.cts} +2 -2
- package/dist/{index-K5exjvnX.d.cts → index-BPh60KDs.d.mts} +2 -2
- package/dist/{index-DAwcmIjN.d.cts → index-BQge4W7L.d.cts} +2 -2
- package/dist/{index-B4TeaB7b.d.cts → index-BSGu9rPv.d.cts} +7 -3
- package/dist/{index-BelFIizY.d.cts → index-BThHG5QU.d.mts} +3 -3
- package/dist/{index-YKrfFC_I.d.cts → index-BUeqNHjb.d.cts} +2 -2
- package/dist/{index-BGbTuHP9.d.mts → index-BeqpkGV-.d.mts} +1 -1
- package/dist/{index-Bx0-6yeX.d.mts → index-Bfyz3MDc.d.mts} +1 -1
- package/dist/{index-CbFaWtjK.d.mts → index-BgLqA52S.d.cts} +2 -2
- package/dist/{index-DchHf5cF.d.cts → index-BhnLFsBv.d.cts} +1 -1
- package/dist/{index-KnXhlKMr.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-BkzZxHVj.d.mts → index-CO-XxjiZ.d.cts} +2 -2
- package/dist/{index-DYF8sRE-.d.cts → index-CR0akDlJ.d.cts} +2 -2
- package/dist/{index-CJhK7JND.d.mts → index-CRQ7XLri.d.mts} +193 -13
- package/dist/{index-CknoXDLQ.d.cts → index-CRn4fWwA.d.mts} +2 -2
- package/dist/{index-CUz2h5xY.d.mts → index-CWPvdEjP.d.mts} +2 -2
- package/dist/{index-nqUA_6J_.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-CE5JG1us.d.mts → index-CyLhEXYB.d.mts} +1 -1
- package/dist/{index-pTNq3iQn.d.mts → index-D05fSuF1.d.mts} +2 -2
- package/dist/{index-CG_1uPrD.d.mts → index-DK3zgGPe.d.mts} +2 -2
- package/dist/{index-ha1WjSZ5.d.mts → index-DNj5P2NH.d.mts} +14 -2
- package/dist/{index-ChXeKJCk.d.cts → index-DOH1xY0L.d.cts} +1 -1
- package/dist/{index-WHFhjfgy.d.cts → index-D_-DAAE7.d.mts} +14 -6
- package/dist/{index-BHKgEOZJ.d.cts → index-D_LT3QiH.d.mts} +3 -3
- package/dist/index-Db4L2hwa.d.cts +36 -0
- package/dist/{index-BrgwkY6z.d.mts → index-Dk4KuTPB.d.cts} +3 -3
- package/dist/{index-bpnLB_4K.d.mts → index-Ebjbrbsk.d.cts} +14 -6
- package/dist/{index-CQfJZADG.d.cts → index-MWUGpG-Y.d.mts} +3 -3
- package/dist/{index-DJ0f69wh.d.cts → index-XN4-ZqTB.d.cts} +195 -15
- package/dist/index-fPRELf0V.d.mts +1 -0
- package/dist/{index-DGnXJwLj.d.mts → index-fi-W3MOz.d.cts} +7 -5
- package/dist/{index-ByYxVl9O.d.mts → index-iTquH69S.d.cts} +3 -3
- package/dist/{index-DWjz5ZzG.d.cts → index-lGpLM144.d.mts} +7 -5
- package/dist/{index-h4dYtVrp.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/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/useMergedRefs-2zTDXgPO.cjs +27 -0
- package/dist/useMergedRefs-BfBckwRY.mjs +22 -0
- package/dist/{useTablePagination-C-u3ru4N.d.cts → useTablePagination-CFb_FYA9.d.cts} +1 -1
- package/dist/{useTablePagination-D-39ZmQh.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 +164 -14
- 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
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
2
2
|
const require_src = require("./src-DU81aGy9.cjs");
|
|
3
|
-
const require_themeDefault = require("./themeDefault-Cebi08Cv.cjs");
|
|
4
3
|
const require_utils = require("./utils.cjs");
|
|
5
|
-
const require_theme = require("./theme-
|
|
6
|
-
const
|
|
4
|
+
const require_theme = require("./theme-DzfwuzMZ.cjs");
|
|
5
|
+
const require_themeDefault = require("./themeDefault-Cebi08Cv.cjs");
|
|
6
|
+
const require_useControlled = require("./useControlled-C666KpQ0.cjs");
|
|
7
|
+
const require_Icon = require("./Icon-BE7bRsqR.cjs");
|
|
8
|
+
const require_inputVariantStyles = require("./inputVariantStyles-BUK_62Ra.cjs");
|
|
7
9
|
const require_FormControlContext = require("./FormControlContext-74gvPGFk.cjs");
|
|
8
10
|
const require_FormControl = require("./FormControl.cjs");
|
|
9
|
-
const require_useControlled = require("./useControlled-C666KpQ0.cjs");
|
|
10
11
|
const require_precision = require("./precision-B58cTPB2.cjs");
|
|
11
|
-
const require_inputVariantStyles = require("./inputVariantStyles-BBkkYQtE.cjs");
|
|
12
12
|
let react = require("react");
|
|
13
13
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
14
14
|
let _soroush_tech_styled_system_should_forward_prop = require("@soroush.tech/styled-system/should-forward-prop");
|
|
15
|
-
//#region src/
|
|
15
|
+
//#region src/NumberInput/hooks/useHoldRepeat.ts
|
|
16
16
|
/**
|
|
17
17
|
* Runs `action` at once on a press, then again and again while it is held - after a pause, so a
|
|
18
18
|
* tap is one step. `start` begins it, `stop` ends it, and it ends by itself when the component
|
|
@@ -47,7 +47,7 @@ function useHoldRepeat(action, { delay = 400, interval = 60 } = {}) {
|
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
//#endregion
|
|
50
|
-
//#region src/
|
|
50
|
+
//#region src/NumberInput/utils/number.ts
|
|
51
51
|
/** What a number is shown as unless told otherwise: all its digits, ungrouped, so typing round-trips. */
|
|
52
52
|
const DEFAULT_FORMAT = {
|
|
53
53
|
useGrouping: false,
|
|
@@ -101,14 +101,14 @@ function parseNumber(text, syntax) {
|
|
|
101
101
|
return syntax.isPercent ? Number((signed / 100).toFixed(require_precision.getDecimalPrecision(parsed) + 2)) : signed;
|
|
102
102
|
}
|
|
103
103
|
//#endregion
|
|
104
|
-
//#region src/
|
|
104
|
+
//#region src/NumberInput/hooks/useNumberInput.ts
|
|
105
105
|
const clampTo = (value, min, max) => require_utils.clamp(value, min ?? Number.NEGATIVE_INFINITY, max ?? Number.POSITIVE_INFINITY);
|
|
106
106
|
/**
|
|
107
107
|
* A number field's state: the number (controlled or not), the text the user is typing - which
|
|
108
108
|
* is theirs until it is committed on blur or Enter - and the steps by key and by button. A
|
|
109
109
|
* number typed is told at once; one outside the range is clamped when it is committed.
|
|
110
110
|
*/
|
|
111
|
-
function
|
|
111
|
+
function useNumberInput({ value: valueProp, defaultValue, onChange, onChangeCommitted, min, max, step, smallStep, largeStep, format, locale, shouldSnapOnStep, isFrozen }) {
|
|
112
112
|
const [value, setValue] = require_useControlled.useControlled({
|
|
113
113
|
controlled: valueProp,
|
|
114
114
|
default: defaultValue ?? null
|
|
@@ -178,7 +178,7 @@ function useNumberField({ value: valueProp, defaultValue, onChange, onChangeComm
|
|
|
178
178
|
};
|
|
179
179
|
}
|
|
180
180
|
//#endregion
|
|
181
|
-
//#region src/
|
|
181
|
+
//#region src/NumberInput/hooks/useWheelStep.ts
|
|
182
182
|
/**
|
|
183
183
|
* Steps a focused field by the mouse wheel - up for a wheel up. A native listener, since the
|
|
184
184
|
* page must not scroll as it turns, and a React one can't prevent that.
|
|
@@ -201,7 +201,7 @@ function useWheelStep(ref, isEnabled, onStep) {
|
|
|
201
201
|
}, [ref, isEnabled]);
|
|
202
202
|
}
|
|
203
203
|
//#endregion
|
|
204
|
-
//#region src/
|
|
204
|
+
//#region src/NumberInput/NumberInput.tsx
|
|
205
205
|
const widthStyles = (0, require_src.src_exports.system)({
|
|
206
206
|
width: true,
|
|
207
207
|
minWidth: true,
|
|
@@ -215,6 +215,7 @@ const frameStyle = ({ theme, color, textColor, isError, isDisabled, isFullWidth,
|
|
|
215
215
|
display: isFullWidth || isInField ? "flex" : "inline-flex",
|
|
216
216
|
...isFullWidth && { width: "100%" },
|
|
217
217
|
...isInField && !isFullWidth && { width: "fit-content" },
|
|
218
|
+
minWidth: require_inputVariantStyles.getInputMinWidth(theme),
|
|
218
219
|
alignItems: "stretch",
|
|
219
220
|
transition: "border-color 0.15s ease",
|
|
220
221
|
backgroundColor: (0, require_src.src_exports.get)(theme, `background.${require_themeDefault.themeDefault(theme, "inputBg", "terminal")}`),
|
|
@@ -223,10 +224,7 @@ const frameStyle = ({ theme, color, textColor, isError, isDisabled, isFullWidth,
|
|
|
223
224
|
lineHeight: (0, require_src.src_exports.get)(theme, "lineHeights.base"),
|
|
224
225
|
borderColor: border,
|
|
225
226
|
"&:focus-within": { borderColor: focusBorder },
|
|
226
|
-
"&:has(
|
|
227
|
-
outline: `2px solid ${main}`,
|
|
228
|
-
outlineOffset: "2px"
|
|
229
|
-
},
|
|
227
|
+
"&:has(:focus-visible)": require_inputVariantStyles.getFocusRing(theme, color, isError),
|
|
230
228
|
...isDisabled && {
|
|
231
229
|
opacity: .5,
|
|
232
230
|
cursor: "not-allowed",
|
|
@@ -234,9 +232,9 @@ const frameStyle = ({ theme, color, textColor, isError, isDisabled, isFullWidth,
|
|
|
234
232
|
}
|
|
235
233
|
};
|
|
236
234
|
};
|
|
237
|
-
const
|
|
238
|
-
name: "
|
|
239
|
-
label: "
|
|
235
|
+
const NumberInputRoot = require_src.styled("div", {
|
|
236
|
+
name: "NumberInput",
|
|
237
|
+
label: "NumberInput",
|
|
240
238
|
shouldForwardProp: (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)([
|
|
241
239
|
..._soroush_tech_styled_system_should_forward_prop.props,
|
|
242
240
|
"color",
|
|
@@ -249,17 +247,17 @@ const NumberFieldRoot = require_src.styled("div", {
|
|
|
249
247
|
]),
|
|
250
248
|
systemProps: [require_src.src_exports.space, widthStyles]
|
|
251
249
|
})(require_inputVariantStyles.inputVariantStyles, frameStyle);
|
|
252
|
-
const
|
|
253
|
-
name: "
|
|
250
|
+
const NumberInputInput = require_src.styled("input", {
|
|
251
|
+
name: "NumberInput",
|
|
254
252
|
slot: "input",
|
|
255
|
-
label: "
|
|
253
|
+
label: "NumberInputInput",
|
|
256
254
|
shouldForwardProp: (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)(["sizeToken", "isCentered"])
|
|
257
255
|
})(({ theme, sizeToken, isCentered }) => {
|
|
258
256
|
const s = theme.sizes[sizeToken];
|
|
259
257
|
return {
|
|
260
|
-
flex: 1,
|
|
258
|
+
flex: "1 1 0",
|
|
261
259
|
minWidth: 0,
|
|
262
|
-
width:
|
|
260
|
+
width: 0,
|
|
263
261
|
border: "none",
|
|
264
262
|
outline: "none",
|
|
265
263
|
background: "transparent",
|
|
@@ -279,10 +277,26 @@ const NumberFieldInput = require_src.styled("input", {
|
|
|
279
277
|
"&:disabled": { cursor: "not-allowed" }
|
|
280
278
|
};
|
|
281
279
|
});
|
|
282
|
-
const
|
|
283
|
-
name: "
|
|
280
|
+
const NumberInputContent = require_src.styled("span", {
|
|
281
|
+
name: "NumberInput",
|
|
282
|
+
slot: "content",
|
|
283
|
+
label: "NumberInputContent",
|
|
284
|
+
shouldForwardProp: (0, _soroush_tech_styled_system_should_forward_prop.createShouldForwardProp)(["edge", "sizeToken"])
|
|
285
|
+
})(({ theme, edge, sizeToken }) => {
|
|
286
|
+
const s = theme.sizes[sizeToken];
|
|
287
|
+
return {
|
|
288
|
+
display: "inline-flex",
|
|
289
|
+
alignItems: "center",
|
|
290
|
+
flexShrink: 0,
|
|
291
|
+
gap: theme.space[.5],
|
|
292
|
+
color: "inherit",
|
|
293
|
+
...edge === "start" ? { paddingInlineStart: theme.space[s.paddingLeft] } : { paddingInlineEnd: theme.space[s.paddingRight] }
|
|
294
|
+
};
|
|
295
|
+
});
|
|
296
|
+
const NumberInputSpinButtons = require_src.styled("span", {
|
|
297
|
+
name: "NumberInput",
|
|
284
298
|
slot: "spinButtons",
|
|
285
|
-
label: "
|
|
299
|
+
label: "NumberInputSpinButtons"
|
|
286
300
|
})(({ theme }) => ({
|
|
287
301
|
display: "flex",
|
|
288
302
|
flexDirection: "column",
|
|
@@ -295,7 +309,8 @@ const spinStyle = ({ theme, color, isSide }) => {
|
|
|
295
309
|
appearance: "none",
|
|
296
310
|
display: "grid",
|
|
297
311
|
placeItems: "center",
|
|
298
|
-
flex: isSide ? "0 0 auto" : 1,
|
|
312
|
+
flex: isSide ? "0 0 auto" : "1 1 0px",
|
|
313
|
+
...!isSide && { minHeight: 0 },
|
|
299
314
|
minWidth: isSide ? theme.space[5] : theme.icon.lg,
|
|
300
315
|
padding: 0,
|
|
301
316
|
border: "none",
|
|
@@ -316,29 +331,29 @@ const sideDivider = (edge) => {
|
|
|
316
331
|
borderColor: "inherit"
|
|
317
332
|
} : {};
|
|
318
333
|
};
|
|
319
|
-
const
|
|
320
|
-
name: "
|
|
334
|
+
const NumberInputIncrement = require_src.styled("button", {
|
|
335
|
+
name: "NumberInput",
|
|
321
336
|
slot: "increment",
|
|
322
|
-
label: "
|
|
337
|
+
label: "NumberInputIncrement",
|
|
323
338
|
shouldForwardProp: spinProps
|
|
324
339
|
})(spinStyle, sideDivider("borderInlineStart"));
|
|
325
|
-
const
|
|
326
|
-
name: "
|
|
340
|
+
const NumberInputDecrement = require_src.styled("button", {
|
|
341
|
+
name: "NumberInput",
|
|
327
342
|
slot: "decrement",
|
|
328
|
-
label: "
|
|
343
|
+
label: "NumberInputDecrement",
|
|
329
344
|
shouldForwardProp: spinProps
|
|
330
345
|
})(spinStyle, sideDivider("borderInlineEnd"));
|
|
331
346
|
const getSpinIcon = (direction, isSide) => {
|
|
332
347
|
if (isSide) return direction === 1 ? "add" : "remove";
|
|
333
348
|
return direction === 1 ? "expand_less" : "expand_more";
|
|
334
349
|
};
|
|
335
|
-
function SpinButton({ direction, label, isSide, isDisabled, color, onStep }) {
|
|
350
|
+
function SpinButton({ direction, label, isSide, isDisabled, color, size, onStep }) {
|
|
336
351
|
const hold = useHoldRepeat(() => onStep(direction));
|
|
337
352
|
const { stop } = hold;
|
|
338
353
|
(0, react.useEffect)(() => {
|
|
339
354
|
if (isDisabled) stop();
|
|
340
355
|
}, [isDisabled, stop]);
|
|
341
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(direction === 1 ?
|
|
356
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(direction === 1 ? NumberInputIncrement : NumberInputDecrement, {
|
|
342
357
|
type: "button",
|
|
343
358
|
tabIndex: -1,
|
|
344
359
|
"aria-label": label,
|
|
@@ -353,7 +368,7 @@ function SpinButton({ direction, label, isSide, isDisabled, color, onStep }) {
|
|
|
353
368
|
onClick: (event) => event.detail === 0 && onStep(direction),
|
|
354
369
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
|
|
355
370
|
name: getSpinIcon(direction, isSide),
|
|
356
|
-
size
|
|
371
|
+
size,
|
|
357
372
|
color: "inherit"
|
|
358
373
|
})
|
|
359
374
|
});
|
|
@@ -366,9 +381,9 @@ function SpinButton({ direction, label, isSide, isDisabled, color, onStep }) {
|
|
|
366
381
|
* number to a form. In a `FormControl` it takes the field's size, color, error, disabled and
|
|
367
382
|
* required state, and its `FormLabel` targets the field.
|
|
368
383
|
*/
|
|
369
|
-
function
|
|
384
|
+
function NumberInput({ value, defaultValue, onChange, onChangeCommitted, min, max, step: stepProp, smallStep: smallStepProp, largeStep: largeStepProp, format, locale, shouldSnapOnStep: shouldSnapProp, shouldScrubOnWheel: shouldScrubProp, spinButtons: spinButtonsProp, incrementLabel: incrementLabelProp, decrementLabel: decrementLabelProp, variant: variantProp, size: sizeProp, color: colorProp, textColor: textColorProp, error: errorProp, disabled: disabledProp, readOnly = false, required: requiredProp, fullWidth: fullWidthProp, name, id: idProp, placeholder, autoFocus, startContent, endContent, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, "data-testid": dataTestid, ...rest }) {
|
|
370
385
|
const theme = require_theme.useTheme();
|
|
371
|
-
const dp = require_theme.useDefaultProps("
|
|
386
|
+
const dp = require_theme.useDefaultProps("NumberInput");
|
|
372
387
|
const isInField = (0, react.useContext)(require_FormControlContext.FormControlContext) !== null;
|
|
373
388
|
const fc = require_FormControl.useFormControl({
|
|
374
389
|
id: idProp,
|
|
@@ -386,7 +401,7 @@ function NumberField({ value, defaultValue, onChange, onChangeCommitted, min, ma
|
|
|
386
401
|
const spinButtons = spinButtonsProp ?? dp.spinButtons ?? "stacked";
|
|
387
402
|
const step = stepProp ?? dp.step ?? 1;
|
|
388
403
|
const isFrozen = fc.disabled || readOnly;
|
|
389
|
-
const field =
|
|
404
|
+
const field = useNumberInput({
|
|
390
405
|
value,
|
|
391
406
|
defaultValue,
|
|
392
407
|
onChange,
|
|
@@ -407,6 +422,7 @@ function NumberField({ value, defaultValue, onChange, onChangeCommitted, min, ma
|
|
|
407
422
|
const buttonProps = {
|
|
408
423
|
isSide,
|
|
409
424
|
color,
|
|
425
|
+
size: fc.size,
|
|
410
426
|
onStep: field.stepBy
|
|
411
427
|
};
|
|
412
428
|
const decrement = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SpinButton, {
|
|
@@ -422,7 +438,7 @@ function NumberField({ value, defaultValue, onChange, onChangeCommitted, min, ma
|
|
|
422
438
|
...buttonProps
|
|
423
439
|
});
|
|
424
440
|
const inputMode = (min ?? -1) >= 0 && Number.isInteger(step) ? "numeric" : "decimal";
|
|
425
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(
|
|
441
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(NumberInputRoot, {
|
|
426
442
|
color,
|
|
427
443
|
textColor,
|
|
428
444
|
variant,
|
|
@@ -435,7 +451,12 @@ function NumberField({ value, defaultValue, onChange, onChangeCommitted, min, ma
|
|
|
435
451
|
...rest,
|
|
436
452
|
children: [
|
|
437
453
|
isSide && decrement,
|
|
438
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
454
|
+
startContent != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NumberInputContent, {
|
|
455
|
+
edge: "start",
|
|
456
|
+
sizeToken: fc.size,
|
|
457
|
+
children: startContent
|
|
458
|
+
}),
|
|
459
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(NumberInputInput, {
|
|
439
460
|
ref: inputRef,
|
|
440
461
|
type: "text",
|
|
441
462
|
role: "spinbutton",
|
|
@@ -467,10 +488,15 @@ function NumberField({ value, defaultValue, onChange, onChangeCommitted, min, ma
|
|
|
467
488
|
value: field.value ?? "",
|
|
468
489
|
disabled: fc.disabled
|
|
469
490
|
}),
|
|
470
|
-
|
|
491
|
+
endContent != null && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NumberInputContent, {
|
|
492
|
+
edge: "end",
|
|
493
|
+
sizeToken: fc.size,
|
|
494
|
+
children: endContent
|
|
495
|
+
}),
|
|
496
|
+
spinButtons === "stacked" && /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(NumberInputSpinButtons, { children: [increment, decrement] }),
|
|
471
497
|
isSide && increment
|
|
472
498
|
]
|
|
473
499
|
});
|
|
474
500
|
}
|
|
475
501
|
//#endregion
|
|
476
|
-
exports.
|
|
502
|
+
exports.NumberInput = NumberInput;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { nt as Theme } from "./index-XN4-ZqTB.cjs";
|
|
2
|
+
import { ReactNode } from "react";
|
|
2
3
|
import { LayoutProps, SpaceProps } from "@soroush.tech/styled-system";
|
|
3
|
-
//#region src/
|
|
4
|
-
type
|
|
5
|
-
type
|
|
6
|
-
interface
|
|
4
|
+
//#region src/NumberInput/NumberInput.d.ts
|
|
5
|
+
type NumberInputVariant = 'default' | 'outlined' | 'text' | 'underline';
|
|
6
|
+
type NumberInputSpinButtons = 'stacked' | 'sides' | 'none';
|
|
7
|
+
interface NumberInputProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, 'width' | 'minWidth' | 'maxWidth'> {
|
|
7
8
|
/** The number - `null` for none. Controlled with `onChange`. */
|
|
8
9
|
value?: number | null;
|
|
9
10
|
/** The number at first, when uncontrolled. */
|
|
@@ -31,13 +32,17 @@ interface NumberFieldProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, '
|
|
|
31
32
|
/** The mouse wheel steps the number while the field is focused. Default: `false`. */
|
|
32
33
|
shouldScrubOnWheel?: boolean;
|
|
33
34
|
/** Where the step buttons are: stacked at the end, either side of the field, or none. Default: `'stacked'`. */
|
|
34
|
-
spinButtons?:
|
|
35
|
+
spinButtons?: NumberInputSpinButtons;
|
|
35
36
|
/** Names the increase button - no built-in text; a theme gives it through `defaultProps`. */
|
|
36
37
|
incrementLabel?: string;
|
|
37
38
|
/** Names the decrease button. */
|
|
38
39
|
decrementLabel?: string;
|
|
40
|
+
/** Content inside the frame before the number - an icon, a label. */
|
|
41
|
+
startContent?: ReactNode;
|
|
42
|
+
/** Content inside the frame after the number, before the step buttons - a unit such as `px` or `%`, a button. */
|
|
43
|
+
endContent?: ReactNode;
|
|
39
44
|
/** The frame: a box, an outline, an underline or none. Default: `theme.defaults.inputVariant`. */
|
|
40
|
-
variant?:
|
|
45
|
+
variant?: NumberInputVariant;
|
|
41
46
|
/** Resolves against `theme.sizes`. Default: its `FormControl`'s, else `'md'`. */
|
|
42
47
|
size?: keyof Theme['sizes'];
|
|
43
48
|
/** The focus border color - resolves to `theme.palette`. Default: `'primary'`. */
|
|
@@ -69,6 +74,6 @@ interface NumberFieldProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, '
|
|
|
69
74
|
* number to a form. In a `FormControl` it takes the field's size, color, error, disabled and
|
|
70
75
|
* required state, and its `FormLabel` targets the field.
|
|
71
76
|
*/
|
|
72
|
-
declare function
|
|
77
|
+
declare function NumberInput({ value, defaultValue, onChange, onChangeCommitted, min, max, step: stepProp, smallStep: smallStepProp, largeStep: largeStepProp, format, locale, shouldSnapOnStep: shouldSnapProp, shouldScrubOnWheel: shouldScrubProp, spinButtons: spinButtonsProp, incrementLabel: incrementLabelProp, decrementLabel: decrementLabelProp, variant: variantProp, size: sizeProp, color: colorProp, textColor: textColorProp, error: errorProp, disabled: disabledProp, readOnly, required: requiredProp, fullWidth: fullWidthProp, name, id: idProp, placeholder, autoFocus, startContent, endContent, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, 'aria-describedby': ariaDescribedby, 'data-testid': dataTestid, ...rest }: Readonly<NumberInputProps>): import("react").JSX.Element;
|
|
73
78
|
//#endregion
|
|
74
|
-
export {
|
|
79
|
+
export { NumberInput, NumberInputProps, NumberInputSpinButtons, NumberInputVariant };
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { nt as Theme } from "./index-CRQ7XLri.mjs";
|
|
2
2
|
import { LayoutProps, SpaceProps } from "@soroush.tech/styled-system";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
type
|
|
6
|
-
|
|
3
|
+
import { ReactNode } from "react";
|
|
4
|
+
//#region src/NumberInput/NumberInput.d.ts
|
|
5
|
+
type NumberInputVariant = 'default' | 'outlined' | 'text' | 'underline';
|
|
6
|
+
type NumberInputSpinButtons = 'stacked' | 'sides' | 'none';
|
|
7
|
+
interface NumberInputProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, 'width' | 'minWidth' | 'maxWidth'> {
|
|
7
8
|
/** The number - `null` for none. Controlled with `onChange`. */
|
|
8
9
|
value?: number | null;
|
|
9
10
|
/** The number at first, when uncontrolled. */
|
|
@@ -31,13 +32,17 @@ interface NumberFieldProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, '
|
|
|
31
32
|
/** The mouse wheel steps the number while the field is focused. Default: `false`. */
|
|
32
33
|
shouldScrubOnWheel?: boolean;
|
|
33
34
|
/** Where the step buttons are: stacked at the end, either side of the field, or none. Default: `'stacked'`. */
|
|
34
|
-
spinButtons?:
|
|
35
|
+
spinButtons?: NumberInputSpinButtons;
|
|
35
36
|
/** Names the increase button - no built-in text; a theme gives it through `defaultProps`. */
|
|
36
37
|
incrementLabel?: string;
|
|
37
38
|
/** Names the decrease button. */
|
|
38
39
|
decrementLabel?: string;
|
|
40
|
+
/** Content inside the frame before the number - an icon, a label. */
|
|
41
|
+
startContent?: ReactNode;
|
|
42
|
+
/** Content inside the frame after the number, before the step buttons - a unit such as `px` or `%`, a button. */
|
|
43
|
+
endContent?: ReactNode;
|
|
39
44
|
/** The frame: a box, an outline, an underline or none. Default: `theme.defaults.inputVariant`. */
|
|
40
|
-
variant?:
|
|
45
|
+
variant?: NumberInputVariant;
|
|
41
46
|
/** Resolves against `theme.sizes`. Default: its `FormControl`'s, else `'md'`. */
|
|
42
47
|
size?: keyof Theme['sizes'];
|
|
43
48
|
/** The focus border color - resolves to `theme.palette`. Default: `'primary'`. */
|
|
@@ -69,6 +74,6 @@ interface NumberFieldProps extends SpaceProps<Theme>, Pick<LayoutProps<Theme>, '
|
|
|
69
74
|
* number to a form. In a `FormControl` it takes the field's size, color, error, disabled and
|
|
70
75
|
* required state, and its `FormLabel` targets the field.
|
|
71
76
|
*/
|
|
72
|
-
declare function
|
|
77
|
+
declare function NumberInput({ value, defaultValue, onChange, onChangeCommitted, min, max, step: stepProp, smallStep: smallStepProp, largeStep: largeStepProp, format, locale, shouldSnapOnStep: shouldSnapProp, shouldScrubOnWheel: shouldScrubProp, spinButtons: spinButtonsProp, incrementLabel: incrementLabelProp, decrementLabel: decrementLabelProp, variant: variantProp, size: sizeProp, color: colorProp, textColor: textColorProp, error: errorProp, disabled: disabledProp, readOnly, required: requiredProp, fullWidth: fullWidthProp, name, id: idProp, placeholder, autoFocus, startContent, endContent, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, 'aria-describedby': ariaDescribedby, 'data-testid': dataTestid, ...rest }: Readonly<NumberInputProps>): import("react").JSX.Element;
|
|
73
78
|
//#endregion
|
|
74
|
-
export {
|
|
79
|
+
export { NumberInput, NumberInputProps, NumberInputSpinButtons, NumberInputVariant };
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { a as src_exports, i as props, o as styled, t as createShouldForwardProp } from "./src-DLGYOJMh.mjs";
|
|
2
|
-
import { t as themeDefault } from "./themeDefault-Z3KmyIbm.mjs";
|
|
3
2
|
import { clamp } from "./utils.mjs";
|
|
4
|
-
import { n as useDefaultProps, r as useTheme } from "./theme-
|
|
5
|
-
import { t as
|
|
3
|
+
import { n as useDefaultProps, r as useTheme } from "./theme-oBfFhJm9.mjs";
|
|
4
|
+
import { t as themeDefault } from "./themeDefault-Z3KmyIbm.mjs";
|
|
5
|
+
import { t as useControlled } from "./useControlled-CBRLsO-H.mjs";
|
|
6
|
+
import { t as Icon } from "./Icon-0hPpk-WZ.mjs";
|
|
7
|
+
import { n as getFocusRing, r as getInputMinWidth, t as inputVariantStyles } from "./inputVariantStyles-q_cZsCJg.mjs";
|
|
6
8
|
import { t as FormControlContext } from "./FormControlContext-CC2kToms.mjs";
|
|
7
9
|
import { useFormControl } from "./FormControl.mjs";
|
|
8
|
-
import { t as useControlled } from "./useControlled-CBRLsO-H.mjs";
|
|
9
10
|
import { i as snapToStep, n as getDecimalPrecision, t as addExact } from "./precision-B1lhxnnO.mjs";
|
|
10
|
-
import { t as inputVariantStyles } from "./inputVariantStyles-CcqpGfuP.mjs";
|
|
11
11
|
import { useCallback, useContext, useEffect, useMemo, useRef, useState } from "react";
|
|
12
12
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
-
//#region src/
|
|
13
|
+
//#region src/NumberInput/hooks/useHoldRepeat.ts
|
|
14
14
|
/**
|
|
15
15
|
* Runs `action` at once on a press, then again and again while it is held - after a pause, so a
|
|
16
16
|
* tap is one step. `start` begins it, `stop` ends it, and it ends by itself when the component
|
|
@@ -45,7 +45,7 @@ function useHoldRepeat(action, { delay = 400, interval = 60 } = {}) {
|
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
47
|
//#endregion
|
|
48
|
-
//#region src/
|
|
48
|
+
//#region src/NumberInput/utils/number.ts
|
|
49
49
|
/** What a number is shown as unless told otherwise: all its digits, ungrouped, so typing round-trips. */
|
|
50
50
|
const DEFAULT_FORMAT = {
|
|
51
51
|
useGrouping: false,
|
|
@@ -99,14 +99,14 @@ function parseNumber(text, syntax) {
|
|
|
99
99
|
return syntax.isPercent ? Number((signed / 100).toFixed(getDecimalPrecision(parsed) + 2)) : signed;
|
|
100
100
|
}
|
|
101
101
|
//#endregion
|
|
102
|
-
//#region src/
|
|
102
|
+
//#region src/NumberInput/hooks/useNumberInput.ts
|
|
103
103
|
const clampTo = (value, min, max) => clamp(value, min ?? Number.NEGATIVE_INFINITY, max ?? Number.POSITIVE_INFINITY);
|
|
104
104
|
/**
|
|
105
105
|
* A number field's state: the number (controlled or not), the text the user is typing - which
|
|
106
106
|
* is theirs until it is committed on blur or Enter - and the steps by key and by button. A
|
|
107
107
|
* number typed is told at once; one outside the range is clamped when it is committed.
|
|
108
108
|
*/
|
|
109
|
-
function
|
|
109
|
+
function useNumberInput({ value: valueProp, defaultValue, onChange, onChangeCommitted, min, max, step, smallStep, largeStep, format, locale, shouldSnapOnStep, isFrozen }) {
|
|
110
110
|
const [value, setValue] = useControlled({
|
|
111
111
|
controlled: valueProp,
|
|
112
112
|
default: defaultValue ?? null
|
|
@@ -176,7 +176,7 @@ function useNumberField({ value: valueProp, defaultValue, onChange, onChangeComm
|
|
|
176
176
|
};
|
|
177
177
|
}
|
|
178
178
|
//#endregion
|
|
179
|
-
//#region src/
|
|
179
|
+
//#region src/NumberInput/hooks/useWheelStep.ts
|
|
180
180
|
/**
|
|
181
181
|
* Steps a focused field by the mouse wheel - up for a wheel up. A native listener, since the
|
|
182
182
|
* page must not scroll as it turns, and a React one can't prevent that.
|
|
@@ -199,7 +199,7 @@ function useWheelStep(ref, isEnabled, onStep) {
|
|
|
199
199
|
}, [ref, isEnabled]);
|
|
200
200
|
}
|
|
201
201
|
//#endregion
|
|
202
|
-
//#region src/
|
|
202
|
+
//#region src/NumberInput/NumberInput.tsx
|
|
203
203
|
const widthStyles = (0, src_exports.system)({
|
|
204
204
|
width: true,
|
|
205
205
|
minWidth: true,
|
|
@@ -213,6 +213,7 @@ const frameStyle = ({ theme, color, textColor, isError, isDisabled, isFullWidth,
|
|
|
213
213
|
display: isFullWidth || isInField ? "flex" : "inline-flex",
|
|
214
214
|
...isFullWidth && { width: "100%" },
|
|
215
215
|
...isInField && !isFullWidth && { width: "fit-content" },
|
|
216
|
+
minWidth: getInputMinWidth(theme),
|
|
216
217
|
alignItems: "stretch",
|
|
217
218
|
transition: "border-color 0.15s ease",
|
|
218
219
|
backgroundColor: (0, src_exports.get)(theme, `background.${themeDefault(theme, "inputBg", "terminal")}`),
|
|
@@ -221,10 +222,7 @@ const frameStyle = ({ theme, color, textColor, isError, isDisabled, isFullWidth,
|
|
|
221
222
|
lineHeight: (0, src_exports.get)(theme, "lineHeights.base"),
|
|
222
223
|
borderColor: border,
|
|
223
224
|
"&:focus-within": { borderColor: focusBorder },
|
|
224
|
-
"&:has(
|
|
225
|
-
outline: `2px solid ${main}`,
|
|
226
|
-
outlineOffset: "2px"
|
|
227
|
-
},
|
|
225
|
+
"&:has(:focus-visible)": getFocusRing(theme, color, isError),
|
|
228
226
|
...isDisabled && {
|
|
229
227
|
opacity: .5,
|
|
230
228
|
cursor: "not-allowed",
|
|
@@ -232,9 +230,9 @@ const frameStyle = ({ theme, color, textColor, isError, isDisabled, isFullWidth,
|
|
|
232
230
|
}
|
|
233
231
|
};
|
|
234
232
|
};
|
|
235
|
-
const
|
|
236
|
-
name: "
|
|
237
|
-
label: "
|
|
233
|
+
const NumberInputRoot = styled("div", {
|
|
234
|
+
name: "NumberInput",
|
|
235
|
+
label: "NumberInput",
|
|
238
236
|
shouldForwardProp: createShouldForwardProp([
|
|
239
237
|
...props,
|
|
240
238
|
"color",
|
|
@@ -247,17 +245,17 @@ const NumberFieldRoot = styled("div", {
|
|
|
247
245
|
]),
|
|
248
246
|
systemProps: [src_exports.space, widthStyles]
|
|
249
247
|
})(inputVariantStyles, frameStyle);
|
|
250
|
-
const
|
|
251
|
-
name: "
|
|
248
|
+
const NumberInputInput = styled("input", {
|
|
249
|
+
name: "NumberInput",
|
|
252
250
|
slot: "input",
|
|
253
|
-
label: "
|
|
251
|
+
label: "NumberInputInput",
|
|
254
252
|
shouldForwardProp: createShouldForwardProp(["sizeToken", "isCentered"])
|
|
255
253
|
})(({ theme, sizeToken, isCentered }) => {
|
|
256
254
|
const s = theme.sizes[sizeToken];
|
|
257
255
|
return {
|
|
258
|
-
flex: 1,
|
|
256
|
+
flex: "1 1 0",
|
|
259
257
|
minWidth: 0,
|
|
260
|
-
width:
|
|
258
|
+
width: 0,
|
|
261
259
|
border: "none",
|
|
262
260
|
outline: "none",
|
|
263
261
|
background: "transparent",
|
|
@@ -277,10 +275,26 @@ const NumberFieldInput = styled("input", {
|
|
|
277
275
|
"&:disabled": { cursor: "not-allowed" }
|
|
278
276
|
};
|
|
279
277
|
});
|
|
280
|
-
const
|
|
281
|
-
name: "
|
|
278
|
+
const NumberInputContent = styled("span", {
|
|
279
|
+
name: "NumberInput",
|
|
280
|
+
slot: "content",
|
|
281
|
+
label: "NumberInputContent",
|
|
282
|
+
shouldForwardProp: createShouldForwardProp(["edge", "sizeToken"])
|
|
283
|
+
})(({ theme, edge, sizeToken }) => {
|
|
284
|
+
const s = theme.sizes[sizeToken];
|
|
285
|
+
return {
|
|
286
|
+
display: "inline-flex",
|
|
287
|
+
alignItems: "center",
|
|
288
|
+
flexShrink: 0,
|
|
289
|
+
gap: theme.space[.5],
|
|
290
|
+
color: "inherit",
|
|
291
|
+
...edge === "start" ? { paddingInlineStart: theme.space[s.paddingLeft] } : { paddingInlineEnd: theme.space[s.paddingRight] }
|
|
292
|
+
};
|
|
293
|
+
});
|
|
294
|
+
const NumberInputSpinButtons = styled("span", {
|
|
295
|
+
name: "NumberInput",
|
|
282
296
|
slot: "spinButtons",
|
|
283
|
-
label: "
|
|
297
|
+
label: "NumberInputSpinButtons"
|
|
284
298
|
})(({ theme }) => ({
|
|
285
299
|
display: "flex",
|
|
286
300
|
flexDirection: "column",
|
|
@@ -293,7 +307,8 @@ const spinStyle = ({ theme, color, isSide }) => {
|
|
|
293
307
|
appearance: "none",
|
|
294
308
|
display: "grid",
|
|
295
309
|
placeItems: "center",
|
|
296
|
-
flex: isSide ? "0 0 auto" : 1,
|
|
310
|
+
flex: isSide ? "0 0 auto" : "1 1 0px",
|
|
311
|
+
...!isSide && { minHeight: 0 },
|
|
297
312
|
minWidth: isSide ? theme.space[5] : theme.icon.lg,
|
|
298
313
|
padding: 0,
|
|
299
314
|
border: "none",
|
|
@@ -314,29 +329,29 @@ const sideDivider = (edge) => {
|
|
|
314
329
|
borderColor: "inherit"
|
|
315
330
|
} : {};
|
|
316
331
|
};
|
|
317
|
-
const
|
|
318
|
-
name: "
|
|
332
|
+
const NumberInputIncrement = styled("button", {
|
|
333
|
+
name: "NumberInput",
|
|
319
334
|
slot: "increment",
|
|
320
|
-
label: "
|
|
335
|
+
label: "NumberInputIncrement",
|
|
321
336
|
shouldForwardProp: spinProps
|
|
322
337
|
})(spinStyle, sideDivider("borderInlineStart"));
|
|
323
|
-
const
|
|
324
|
-
name: "
|
|
338
|
+
const NumberInputDecrement = styled("button", {
|
|
339
|
+
name: "NumberInput",
|
|
325
340
|
slot: "decrement",
|
|
326
|
-
label: "
|
|
341
|
+
label: "NumberInputDecrement",
|
|
327
342
|
shouldForwardProp: spinProps
|
|
328
343
|
})(spinStyle, sideDivider("borderInlineEnd"));
|
|
329
344
|
const getSpinIcon = (direction, isSide) => {
|
|
330
345
|
if (isSide) return direction === 1 ? "add" : "remove";
|
|
331
346
|
return direction === 1 ? "expand_less" : "expand_more";
|
|
332
347
|
};
|
|
333
|
-
function SpinButton({ direction, label, isSide, isDisabled, color, onStep }) {
|
|
348
|
+
function SpinButton({ direction, label, isSide, isDisabled, color, size, onStep }) {
|
|
334
349
|
const hold = useHoldRepeat(() => onStep(direction));
|
|
335
350
|
const { stop } = hold;
|
|
336
351
|
useEffect(() => {
|
|
337
352
|
if (isDisabled) stop();
|
|
338
353
|
}, [isDisabled, stop]);
|
|
339
|
-
return /* @__PURE__ */ jsx(direction === 1 ?
|
|
354
|
+
return /* @__PURE__ */ jsx(direction === 1 ? NumberInputIncrement : NumberInputDecrement, {
|
|
340
355
|
type: "button",
|
|
341
356
|
tabIndex: -1,
|
|
342
357
|
"aria-label": label,
|
|
@@ -351,7 +366,7 @@ function SpinButton({ direction, label, isSide, isDisabled, color, onStep }) {
|
|
|
351
366
|
onClick: (event) => event.detail === 0 && onStep(direction),
|
|
352
367
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
353
368
|
name: getSpinIcon(direction, isSide),
|
|
354
|
-
size
|
|
369
|
+
size,
|
|
355
370
|
color: "inherit"
|
|
356
371
|
})
|
|
357
372
|
});
|
|
@@ -364,9 +379,9 @@ function SpinButton({ direction, label, isSide, isDisabled, color, onStep }) {
|
|
|
364
379
|
* number to a form. In a `FormControl` it takes the field's size, color, error, disabled and
|
|
365
380
|
* required state, and its `FormLabel` targets the field.
|
|
366
381
|
*/
|
|
367
|
-
function
|
|
382
|
+
function NumberInput({ value, defaultValue, onChange, onChangeCommitted, min, max, step: stepProp, smallStep: smallStepProp, largeStep: largeStepProp, format, locale, shouldSnapOnStep: shouldSnapProp, shouldScrubOnWheel: shouldScrubProp, spinButtons: spinButtonsProp, incrementLabel: incrementLabelProp, decrementLabel: decrementLabelProp, variant: variantProp, size: sizeProp, color: colorProp, textColor: textColorProp, error: errorProp, disabled: disabledProp, readOnly = false, required: requiredProp, fullWidth: fullWidthProp, name, id: idProp, placeholder, autoFocus, startContent, endContent, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, "data-testid": dataTestid, ...rest }) {
|
|
368
383
|
const theme = useTheme();
|
|
369
|
-
const dp = useDefaultProps("
|
|
384
|
+
const dp = useDefaultProps("NumberInput");
|
|
370
385
|
const isInField = useContext(FormControlContext) !== null;
|
|
371
386
|
const fc = useFormControl({
|
|
372
387
|
id: idProp,
|
|
@@ -384,7 +399,7 @@ function NumberField({ value, defaultValue, onChange, onChangeCommitted, min, ma
|
|
|
384
399
|
const spinButtons = spinButtonsProp ?? dp.spinButtons ?? "stacked";
|
|
385
400
|
const step = stepProp ?? dp.step ?? 1;
|
|
386
401
|
const isFrozen = fc.disabled || readOnly;
|
|
387
|
-
const field =
|
|
402
|
+
const field = useNumberInput({
|
|
388
403
|
value,
|
|
389
404
|
defaultValue,
|
|
390
405
|
onChange,
|
|
@@ -405,6 +420,7 @@ function NumberField({ value, defaultValue, onChange, onChangeCommitted, min, ma
|
|
|
405
420
|
const buttonProps = {
|
|
406
421
|
isSide,
|
|
407
422
|
color,
|
|
423
|
+
size: fc.size,
|
|
408
424
|
onStep: field.stepBy
|
|
409
425
|
};
|
|
410
426
|
const decrement = /* @__PURE__ */ jsx(SpinButton, {
|
|
@@ -420,7 +436,7 @@ function NumberField({ value, defaultValue, onChange, onChangeCommitted, min, ma
|
|
|
420
436
|
...buttonProps
|
|
421
437
|
});
|
|
422
438
|
const inputMode = (min ?? -1) >= 0 && Number.isInteger(step) ? "numeric" : "decimal";
|
|
423
|
-
return /* @__PURE__ */ jsxs(
|
|
439
|
+
return /* @__PURE__ */ jsxs(NumberInputRoot, {
|
|
424
440
|
color,
|
|
425
441
|
textColor,
|
|
426
442
|
variant,
|
|
@@ -433,7 +449,12 @@ function NumberField({ value, defaultValue, onChange, onChangeCommitted, min, ma
|
|
|
433
449
|
...rest,
|
|
434
450
|
children: [
|
|
435
451
|
isSide && decrement,
|
|
436
|
-
/* @__PURE__ */ jsx(
|
|
452
|
+
startContent != null && /* @__PURE__ */ jsx(NumberInputContent, {
|
|
453
|
+
edge: "start",
|
|
454
|
+
sizeToken: fc.size,
|
|
455
|
+
children: startContent
|
|
456
|
+
}),
|
|
457
|
+
/* @__PURE__ */ jsx(NumberInputInput, {
|
|
437
458
|
ref: inputRef,
|
|
438
459
|
type: "text",
|
|
439
460
|
role: "spinbutton",
|
|
@@ -465,10 +486,15 @@ function NumberField({ value, defaultValue, onChange, onChangeCommitted, min, ma
|
|
|
465
486
|
value: field.value ?? "",
|
|
466
487
|
disabled: fc.disabled
|
|
467
488
|
}),
|
|
468
|
-
|
|
489
|
+
endContent != null && /* @__PURE__ */ jsx(NumberInputContent, {
|
|
490
|
+
edge: "end",
|
|
491
|
+
sizeToken: fc.size,
|
|
492
|
+
children: endContent
|
|
493
|
+
}),
|
|
494
|
+
spinButtons === "stacked" && /* @__PURE__ */ jsxs(NumberInputSpinButtons, { children: [increment, decrement] }),
|
|
469
495
|
isSide && increment
|
|
470
496
|
]
|
|
471
497
|
});
|
|
472
498
|
}
|
|
473
499
|
//#endregion
|
|
474
|
-
export {
|
|
500
|
+
export { NumberInput };
|