@astral/ui 0.37.0 → 0.40.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ActionCell/ActionCell.js +7 -6
- package/ActionCell/index.js +5 -1
- package/Autocomplete/Autocomplete.js +4 -4
- package/Autocomplete/index.js +5 -1
- package/Badge/Badge.js +1 -1
- package/Badge/index.js +5 -1
- package/Badge/styled.d.ts +3 -3
- package/Badge/styled.js +24 -12
- package/Button/Button.d.ts +1 -1
- package/Button/Button.js +3 -2
- package/Button/index.js +5 -1
- package/ButtonBase/ButtonBase.d.ts +1 -1
- package/ButtonBase/ButtonBase.js +1 -1
- package/ButtonBase/index.js +5 -1
- package/ButtonBase/styled.js +9 -3
- package/Checkbox/Checkbox.js +2 -2
- package/Checkbox/icons.js +3 -3
- package/Checkbox/index.js +5 -1
- package/CircularProgress/CircularProgress.d.ts +1 -1
- package/CircularProgress/CircularProgress.js +1 -1
- package/CircularProgress/CircularProgressStory.js +1 -1
- package/CircularProgress/CircularProgressStoryTemplate.js +1 -1
- package/CircularProgress/index.js +5 -1
- package/Collapse/index.js +5 -1
- package/ContentState/ContentState.js +10 -8
- package/ContentState/index.js +5 -1
- package/ContentState/styles.d.ts +5 -0
- package/ContentState/styles.js +10 -0
- package/DashboardLayout/DashboardLayout.js +1 -1
- package/DashboardLayout/DashboardLayoutStory.js +1 -1
- package/DashboardLayout/DashboardLayoutStoryTemplate.js +1 -1
- package/DashboardLayout/Header/Header.js +1 -1
- package/DashboardLayout/Header/index.js +5 -1
- package/DashboardLayout/Main/Main.js +1 -1
- package/DashboardLayout/Main/index.js +5 -1
- package/DashboardLayout/Sidebar/Sidebar.js +1 -1
- package/DashboardLayout/Sidebar/index.js +5 -1
- package/DashboardLayout/Sidebar/styled.d.ts +1 -1
- package/DashboardLayout/index.js +5 -1
- package/DataGrid/DataGrid.d.ts +73 -3
- package/DataGrid/DataGrid.js +7 -5
- package/DataGrid/DataGridBody/DataGridBody.d.ts +14 -3
- package/DataGrid/DataGridBody/DataGridBody.js +10 -5
- package/DataGrid/DataGridBody/index.js +5 -1
- package/DataGrid/DataGridBody/styled.d.ts +1 -1
- package/DataGrid/DataGridCell/DataGridCell.d.ts +8 -3
- package/DataGrid/DataGridCell/DataGridCell.js +7 -4
- package/DataGrid/DataGridCell/index.js +5 -1
- package/DataGrid/DataGridHead/DataGridHead.d.ts +12 -3
- package/DataGrid/DataGridHead/DataGridHead.js +5 -5
- package/DataGrid/DataGridHead/index.d.ts +0 -1
- package/DataGrid/DataGridHead/index.js +5 -2
- package/DataGrid/DataGridHeadColumn/DataGridHeadColumn.d.ts +13 -3
- package/DataGrid/DataGridHeadColumn/DataGridHeadColumn.js +12 -7
- package/DataGrid/DataGridHeadColumn/index.d.ts +0 -1
- package/DataGrid/DataGridHeadColumn/index.js +5 -2
- package/DataGrid/DataGridHeadColumn/styled.d.ts +3 -3
- package/DataGrid/DataGridHeadColumn/styled.js +3 -3
- package/DataGrid/DataGridLoader/DataGridLoader.d.ts +3 -1
- package/DataGrid/DataGridLoader/DataGridLoader.js +1 -1
- package/DataGrid/DataGridLoader/index.d.ts +0 -1
- package/DataGrid/DataGridLoader/index.js +5 -2
- package/DataGrid/DataGridLoader/styled.d.ts +3 -3
- package/DataGrid/index.js +5 -1
- package/DataGrid/styled.d.ts +1 -1
- package/DataGrid/types.d.ts +48 -23
- package/DataGridPagination/DataGridPagination.js +1 -1
- package/DataGridPagination/index.js +5 -1
- package/DataGridPagination/styled.d.ts +1 -1
- package/DatePicker/DatePicker.js +3 -3
- package/DatePicker/DatePickerDay/DatePickerDay.js +1 -1
- package/DatePicker/DatePickerDay/styled.d.ts +1 -1
- package/DatePicker/DatePickerHeader/DatePickerHeader.js +1 -1
- package/DatePicker/DatePickerHeader/styled.d.ts +1 -1
- package/DatePicker/index.js +5 -1
- package/DatePickerProvider/DatePickerProvider.js +1 -1
- package/DatePickerProvider/index.js +5 -1
- package/Dialog/Dialog.js +3 -2
- package/Dialog/index.js +5 -1
- package/DialogActions/DialogActions.js +1 -1
- package/DialogActions/index.js +5 -1
- package/DialogContent/index.js +5 -1
- package/DialogContentText/index.js +5 -1
- package/DialogTitle/DialogTitle.js +6 -3
- package/DialogTitle/index.js +5 -1
- package/Divider/index.js +5 -1
- package/DropdownButton/DropdownButton.d.ts +1 -1
- package/DropdownButton/DropdownButton.js +1 -1
- package/DropdownButton/index.js +5 -1
- package/DropdownButton/styles.d.ts +1 -1
- package/FormControlLabel/FormControlLabel.js +1 -1
- package/FormControlLabel/index.js +5 -1
- package/FormHelperText/FormHelperText.js +3 -3
- package/FormHelperText/index.js +5 -1
- package/FormHelperText/styled.d.ts +2 -6
- package/GlobalStyles/GlobalStyles.js +2 -2
- package/GlobalStyles/index.js +5 -1
- package/Grid/Grid.js +1 -1
- package/Grid/index.js +5 -1
- package/Grid/styled.d.ts +2 -2
- package/IconButton/IconButton.d.ts +1 -1
- package/IconButton/IconButton.js +1 -1
- package/IconButton/index.js +5 -1
- package/IconButton/styled.d.ts +1 -1
- package/IconButton/styled.js +2 -1
- package/IconDropdownButton/IconDropdownButton.d.ts +1 -1
- package/IconDropdownButton/IconDropdownButton.js +1 -1
- package/IconDropdownButton/index.js +5 -1
- package/List/List.js +1 -1
- package/List/index.js +5 -1
- package/List/styled.d.ts +2 -2
- package/ListItem/ListItem.js +1 -1
- package/ListItem/index.js +5 -1
- package/ListItem/styled.d.ts +6 -6
- package/ListItem/styled.js +8 -4
- package/ListItemAvatar/index.js +5 -1
- package/ListItemButton/ListItemButton.js +1 -1
- package/ListItemButton/index.js +5 -1
- package/ListItemButton/styled.d.ts +2 -2
- package/ListItemButton/styled.js +6 -3
- package/ListItemIcon/ListItemIcon.js +1 -1
- package/ListItemIcon/index.js +5 -1
- package/ListItemSecondaryAction/index.js +5 -1
- package/ListItemText/ListItemText.js +1 -1
- package/ListItemText/index.js +5 -1
- package/ListProvider/index.js +5 -1
- package/ListSubheader/index.js +5 -1
- package/LocalizationProvider/LocalizationProvider.js +1 -1
- package/LocalizationProvider/index.js +5 -1
- package/MaskField/MaskField.js +2 -2
- package/MaskField/index.js +5 -1
- package/Menu/index.js +5 -1
- package/MenuGroup/MenuGroup.js +1 -1
- package/MenuGroup/index.js +5 -1
- package/MenuGroup/stories/Icons.js +7 -7
- package/MenuGroup/stories/styled.d.ts +3 -3
- package/MenuGroup/styled.d.ts +1 -1
- package/MenuItem/MenuItem.js +1 -1
- package/MenuItem/index.js +5 -1
- package/MenuItem/styled.d.ts +2 -2
- package/MenuList/MenuList.js +1 -1
- package/MenuList/index.js +5 -1
- package/MenuList/styled.d.ts +2 -2
- package/Notification/NotificationContainer/NotificationContainer.js +1 -1
- package/Notification/NotificationContainer/index.js +5 -1
- package/Notification/NotificationTemplate/NotificationTemplate.js +3 -3
- package/Notification/NotificationTemplate/index.js +5 -1
- package/Notification/NotificationTemplate/styled.d.ts +3 -5
- package/Notification/NotificationTemplate/utils/getActionsDirection/index.js +5 -1
- package/Notification/NotificationTemplate/utils/getNotificationTemplateStyles/getNotificationTemplateStyles.js +2 -1
- package/Notification/NotificationTemplate/utils/getNotificationTemplateStyles/index.js +5 -1
- package/Notification/NotificationTemplate/utils/index.js +5 -1
- package/Notification/constants/index.js +5 -1
- package/Notification/constants/notificationVariant.js +4 -4
- package/Notification/index.js +5 -1
- package/Notification/styled.d.ts +4 -12
- package/Notification/utils/getNotificationIconByVariant/getNotificationIconByVariant.d.ts +1 -0
- package/Notification/utils/getNotificationIconByVariant/getNotificationIconByVariant.js +4 -4
- package/Notification/utils/getNotificationIconByVariant/index.js +5 -1
- package/Notification/utils/index.js +5 -1
- package/Notification/utils/notificationTemplatePropsCreator/index.js +5 -1
- package/Pagination/Pagination.js +1 -1
- package/Pagination/index.js +5 -1
- package/Placeholder/Placeholder.js +1 -1
- package/Placeholder/index.js +5 -1
- package/Placeholder/styled.d.ts +2 -2
- package/Product/Product.d.ts +1 -1
- package/Product/Product.js +1 -1
- package/Product/index.js +5 -1
- package/Profile/Profile.js +1 -1
- package/Profile/index.js +5 -1
- package/Profile/styled.d.ts +2 -4
- package/Radio/Icon.js +2 -2
- package/Radio/Radio.d.ts +1 -1
- package/Radio/Radio.js +2 -2
- package/Radio/index.js +5 -1
- package/RadioGroup/index.js +5 -1
- package/Select/Select.js +2 -2
- package/Select/index.js +5 -1
- package/Select/styled.d.ts +2 -2
- package/SideDialog/SideDialog.js +1 -1
- package/SideDialog/index.js +5 -1
- package/SideDialogActions/index.js +5 -1
- package/SideDialogContent/index.js +5 -1
- package/SideDialogContentText/index.js +5 -1
- package/SideDialogTitle/index.js +5 -1
- package/Table/Table.js +1 -1
- package/Table/TableBody/index.js +5 -1
- package/Table/TableCell/index.js +5 -1
- package/Table/TableContainer/index.js +5 -1
- package/Table/TableFooter/index.js +5 -1
- package/Table/TableHead/index.js +5 -1
- package/Table/TableRow/index.js +5 -1
- package/Table/TableSortLabel/index.js +5 -1
- package/Table/index.js +5 -1
- package/Tag/Tag.js +1 -1
- package/Tag/index.js +5 -1
- package/Tag/styled.d.ts +3 -3
- package/Tag/styled.js +6 -3
- package/TextArea/TextArea.d.ts +1 -1
- package/TextArea/TextArea.js +1 -1
- package/TextArea/index.js +5 -1
- package/TextField/TextField.d.ts +1 -1
- package/TextField/TextField.js +6 -5
- package/TextField/index.js +5 -1
- package/ThemeProvider/ThemeProvider.js +1 -1
- package/ThemeProvider/index.js +5 -1
- package/Tooltip/Tooltip.d.ts +1 -1
- package/Tooltip/Tooltip.js +1 -1
- package/Tooltip/index.js +5 -1
- package/Tooltip/styled.js +1 -1
- package/Typography/index.js +5 -1
- package/esm/ActionCell/ActionCell.js +7 -6
- package/esm/Autocomplete/Autocomplete.js +4 -4
- package/esm/Badge/Badge.js +1 -1
- package/esm/Badge/styled.d.ts +3 -3
- package/esm/Badge/styled.js +24 -12
- package/esm/Button/Button.d.ts +1 -1
- package/esm/Button/Button.js +3 -2
- package/esm/ButtonBase/ButtonBase.d.ts +1 -1
- package/esm/ButtonBase/ButtonBase.js +1 -1
- package/esm/ButtonBase/styled.js +4 -2
- package/esm/Checkbox/Checkbox.js +2 -2
- package/esm/Checkbox/icons.js +3 -3
- package/esm/CircularProgress/CircularProgress.d.ts +1 -1
- package/esm/CircularProgress/CircularProgress.js +1 -1
- package/esm/CircularProgress/CircularProgressStory.js +1 -1
- package/esm/CircularProgress/CircularProgressStoryTemplate.js +1 -1
- package/esm/ContentState/ContentState.js +11 -9
- package/esm/ContentState/styles.d.ts +5 -0
- package/esm/ContentState/styles.js +7 -0
- package/esm/DashboardLayout/DashboardLayout.js +1 -1
- package/esm/DashboardLayout/DashboardLayoutStory.js +1 -1
- package/esm/DashboardLayout/DashboardLayoutStoryTemplate.js +1 -1
- package/esm/DashboardLayout/Header/Header.js +1 -1
- package/esm/DashboardLayout/Main/Main.js +1 -1
- package/esm/DashboardLayout/Sidebar/Sidebar.js +1 -1
- package/esm/DashboardLayout/Sidebar/styled.d.ts +1 -1
- package/esm/DataGrid/DataGrid.d.ts +73 -3
- package/esm/DataGrid/DataGrid.js +7 -5
- package/esm/DataGrid/DataGridBody/DataGridBody.d.ts +14 -3
- package/esm/DataGrid/DataGridBody/DataGridBody.js +10 -5
- package/esm/DataGrid/DataGridBody/styled.d.ts +1 -1
- package/esm/DataGrid/DataGridCell/DataGridCell.d.ts +8 -3
- package/esm/DataGrid/DataGridCell/DataGridCell.js +8 -5
- package/esm/DataGrid/DataGridHead/DataGridHead.d.ts +12 -3
- package/esm/DataGrid/DataGridHead/DataGridHead.js +5 -5
- package/esm/DataGrid/DataGridHead/index.d.ts +0 -1
- package/esm/DataGrid/DataGridHead/index.js +0 -1
- package/esm/DataGrid/DataGridHeadColumn/DataGridHeadColumn.d.ts +13 -3
- package/esm/DataGrid/DataGridHeadColumn/DataGridHeadColumn.js +12 -7
- package/esm/DataGrid/DataGridHeadColumn/index.d.ts +0 -1
- package/esm/DataGrid/DataGridHeadColumn/index.js +0 -1
- package/esm/DataGrid/DataGridHeadColumn/styled.d.ts +3 -3
- package/esm/DataGrid/DataGridHeadColumn/styled.js +3 -3
- package/esm/DataGrid/DataGridLoader/DataGridLoader.d.ts +3 -1
- package/esm/DataGrid/DataGridLoader/DataGridLoader.js +1 -1
- package/esm/DataGrid/DataGridLoader/index.d.ts +0 -1
- package/esm/DataGrid/DataGridLoader/index.js +0 -1
- package/esm/DataGrid/DataGridLoader/styled.d.ts +3 -3
- package/esm/DataGrid/styled.d.ts +1 -1
- package/esm/DataGrid/types.d.ts +48 -23
- package/esm/DataGridPagination/DataGridPagination.js +1 -1
- package/esm/DataGridPagination/styled.d.ts +1 -1
- package/esm/DatePicker/DatePicker.js +3 -3
- package/esm/DatePicker/DatePickerDay/DatePickerDay.js +1 -1
- package/esm/DatePicker/DatePickerDay/styled.d.ts +1 -1
- package/esm/DatePicker/DatePickerHeader/DatePickerHeader.js +1 -1
- package/esm/DatePicker/DatePickerHeader/styled.d.ts +1 -1
- package/esm/DatePickerProvider/DatePickerProvider.js +1 -1
- package/esm/Dialog/Dialog.js +3 -2
- package/esm/DialogActions/DialogActions.js +1 -1
- package/esm/DialogTitle/DialogTitle.js +6 -3
- package/esm/DropdownButton/DropdownButton.d.ts +1 -1
- package/esm/DropdownButton/DropdownButton.js +1 -1
- package/esm/DropdownButton/styles.d.ts +1 -1
- package/esm/FormControlLabel/FormControlLabel.js +1 -1
- package/esm/FormHelperText/FormHelperText.js +5 -5
- package/esm/FormHelperText/styled.d.ts +2 -6
- package/esm/GlobalStyles/GlobalStyles.js +2 -2
- package/esm/Grid/Grid.js +1 -1
- package/esm/Grid/styled.d.ts +2 -2
- package/esm/IconButton/IconButton.d.ts +1 -1
- package/esm/IconButton/IconButton.js +1 -1
- package/esm/IconButton/styled.d.ts +1 -1
- package/esm/IconButton/styled.js +2 -1
- package/esm/IconDropdownButton/IconDropdownButton.d.ts +1 -1
- package/esm/IconDropdownButton/IconDropdownButton.js +1 -1
- package/esm/List/List.js +1 -1
- package/esm/List/styled.d.ts +2 -2
- package/esm/ListItem/ListItem.js +1 -1
- package/esm/ListItem/styled.d.ts +6 -6
- package/esm/ListItem/styled.js +8 -4
- package/esm/ListItemButton/ListItemButton.js +1 -1
- package/esm/ListItemButton/styled.d.ts +2 -2
- package/esm/ListItemButton/styled.js +6 -3
- package/esm/ListItemIcon/ListItemIcon.js +1 -1
- package/esm/ListItemText/ListItemText.js +1 -1
- package/esm/LocalizationProvider/LocalizationProvider.js +1 -1
- package/esm/MaskField/MaskField.js +2 -2
- package/esm/MenuGroup/MenuGroup.js +1 -1
- package/esm/MenuGroup/stories/Icons.js +7 -7
- package/esm/MenuGroup/stories/styled.d.ts +3 -3
- package/esm/MenuGroup/styled.d.ts +1 -1
- package/esm/MenuItem/MenuItem.js +1 -1
- package/esm/MenuItem/styled.d.ts +2 -2
- package/esm/MenuList/MenuList.js +1 -1
- package/esm/MenuList/styled.d.ts +2 -2
- package/esm/Notification/NotificationContainer/NotificationContainer.js +1 -1
- package/esm/Notification/NotificationTemplate/NotificationTemplate.js +3 -3
- package/esm/Notification/NotificationTemplate/styled.d.ts +3 -5
- package/esm/Notification/NotificationTemplate/utils/getNotificationTemplateStyles/getNotificationTemplateStyles.js +2 -1
- package/esm/Notification/constants/notificationVariant.js +4 -4
- package/esm/Notification/styled.d.ts +4 -12
- package/esm/Notification/utils/getNotificationIconByVariant/getNotificationIconByVariant.d.ts +1 -0
- package/esm/Notification/utils/getNotificationIconByVariant/getNotificationIconByVariant.js +4 -4
- package/esm/Pagination/Pagination.js +1 -1
- package/esm/Placeholder/Placeholder.js +1 -1
- package/esm/Placeholder/styled.d.ts +2 -2
- package/esm/Product/Product.d.ts +1 -1
- package/esm/Product/Product.js +1 -1
- package/esm/Profile/Profile.js +3 -3
- package/esm/Profile/styled.d.ts +2 -4
- package/esm/Radio/Icon.js +2 -2
- package/esm/Radio/Radio.d.ts +1 -1
- package/esm/Radio/Radio.js +2 -2
- package/esm/Select/Select.js +2 -2
- package/esm/Select/styled.d.ts +2 -2
- package/esm/SideDialog/SideDialog.js +1 -1
- package/esm/Table/Table.js +1 -1
- package/esm/Tag/Tag.js +1 -1
- package/esm/Tag/styled.d.ts +3 -3
- package/esm/Tag/styled.js +6 -3
- package/esm/TextArea/TextArea.d.ts +1 -1
- package/esm/TextArea/TextArea.js +1 -1
- package/esm/TextField/TextField.d.ts +1 -1
- package/esm/TextField/TextField.js +8 -7
- package/esm/ThemeProvider/ThemeProvider.js +1 -1
- package/esm/Tooltip/Tooltip.d.ts +1 -1
- package/esm/Tooltip/Tooltip.js +1 -1
- package/esm/Tooltip/styled.js +1 -1
- package/esm/hooks/useMenu.js +2 -1
- package/esm/theme/components/MuiOutlinedInput.js +1 -2
- package/esm/theme/components/MuiTableRow.d.ts +3 -0
- package/esm/theme/components/MuiTableRow.js +13 -0
- package/esm/theme/components/components.js +2 -6
- package/esm/theme/palette/palette.js +1 -1
- package/hooks/index.js +5 -1
- package/hooks/useMenu.js +2 -1
- package/index.js +5 -1
- package/package.json +7 -7
- package/server/index.js +5 -1
- package/theme/components/MuiOutlinedInput.js +1 -2
- package/theme/components/MuiTableRow.d.ts +3 -0
- package/theme/components/{MuiYearPicker.js → MuiTableRow.js} +5 -5
- package/theme/components/components.js +2 -6
- package/theme/components/index.js +5 -1
- package/theme/hooks/index.js +5 -1
- package/theme/index.js +5 -1
- package/theme/palette/index.js +5 -1
- package/theme/palette/palette.js +1 -1
- package/DataGrid/DataGridBody/types.d.ts +0 -11
- package/DataGrid/DataGridBody/types.js +0 -2
- package/DataGrid/DataGridCell/types.d.ts +0 -5
- package/DataGrid/DataGridCell/types.js +0 -2
- package/DataGrid/DataGridHead/types.d.ts +0 -11
- package/DataGrid/DataGridHead/types.js +0 -2
- package/DataGrid/DataGridHeadColumn/types.d.ts +0 -11
- package/DataGrid/DataGridHeadColumn/types.js +0 -2
- package/DataGrid/DataGridLoader/types.d.ts +0 -3
- package/DataGrid/DataGridLoader/types.js +0 -2
- package/esm/DataGrid/DataGridBody/types.d.ts +0 -11
- package/esm/DataGrid/DataGridBody/types.js +0 -1
- package/esm/DataGrid/DataGridCell/types.d.ts +0 -5
- package/esm/DataGrid/DataGridCell/types.js +0 -1
- package/esm/DataGrid/DataGridHead/types.d.ts +0 -11
- package/esm/DataGrid/DataGridHead/types.js +0 -1
- package/esm/DataGrid/DataGridHeadColumn/types.d.ts +0 -11
- package/esm/DataGrid/DataGridHeadColumn/types.js +0 -1
- package/esm/DataGrid/DataGridLoader/types.d.ts +0 -3
- package/esm/DataGrid/DataGridLoader/types.js +0 -1
- package/esm/theme/components/MuiCalendarPicker.d.ts +0 -2
- package/esm/theme/components/MuiCalendarPicker.js +0 -16
- package/esm/theme/components/MuiPickersDay.d.ts +0 -2
- package/esm/theme/components/MuiPickersDay.js +0 -46
- package/esm/theme/components/MuiYearPicker.d.ts +0 -2
- package/esm/theme/components/MuiYearPicker.js +0 -13
- package/theme/components/MuiCalendarPicker.d.ts +0 -2
- package/theme/components/MuiCalendarPicker.js +0 -19
- package/theme/components/MuiPickersDay.d.ts +0 -2
- package/theme/components/MuiPickersDay.js +0 -49
- package/theme/components/MuiYearPicker.d.ts +0 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { CircularProgressProps } from './types';
|
|
3
|
-
export declare const CircularProgress: import("react").ForwardRefExoticComponent<Pick<CircularProgressProps, "tabIndex" | "className" | "slot" | "style" | "title" | "
|
|
3
|
+
export declare const CircularProgress: import("react").ForwardRefExoticComponent<Pick<CircularProgressProps, "tabIndex" | "className" | "slot" | "style" | "title" | "value" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "variant" | "size" | "classes" | "sx" | "disableShrink" | "thickness"> & import("react").RefAttributes<HTMLElement>>;
|
|
4
4
|
export default CircularProgress;
|
|
@@ -28,6 +28,6 @@ export var CircularProgress = forwardRef(function (props, ref) {
|
|
|
28
28
|
var size = useMemo(function () {
|
|
29
29
|
return sizeProp === 'small' ? 16 : 24;
|
|
30
30
|
}, [sizeProp]);
|
|
31
|
-
return (_jsx(MuiCircularProgress, __assign({ ref: ref }, restProps, { size: size, color: "inherit", "data-color": color })
|
|
31
|
+
return (_jsx(MuiCircularProgress, __assign({ ref: ref }, restProps, { size: size, color: "inherit", "data-color": color })));
|
|
32
32
|
});
|
|
33
33
|
export default CircularProgress;
|
|
@@ -2,6 +2,6 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { CircularProgress } from '../CircularProgress';
|
|
3
3
|
export var CircularProgressStory = function (props) {
|
|
4
4
|
var size = props.size, color = props.color;
|
|
5
|
-
return _jsx(CircularProgress, { size: size, color: color }
|
|
5
|
+
return _jsx(CircularProgress, { size: size, color: color });
|
|
6
6
|
};
|
|
7
7
|
export default CircularProgressStory;
|
|
@@ -12,6 +12,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
import { CircularProgressStory } from './CircularProgressStory';
|
|
14
14
|
export var CircularProgressStoryTemplate = function (args) {
|
|
15
|
-
return _jsx(CircularProgressStory, __assign({}, args)
|
|
15
|
+
return _jsx(CircularProgressStory, __assign({}, args));
|
|
16
16
|
};
|
|
17
17
|
export default CircularProgressStoryTemplate;
|
|
@@ -9,21 +9,23 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
13
|
import { Fragment } from 'react';
|
|
14
14
|
import { Button, CircularProgress, Placeholder, Typography } from '..';
|
|
15
|
+
import { LoadingContainer } from './styles';
|
|
15
16
|
export var ContentState = function (props) {
|
|
16
|
-
var isLoading = props.isLoading, _a = props.loadingContent, LoadingContent = _a === void 0 ? _jsx(CircularProgress, { color: "primary" }
|
|
17
|
-
if (isLoading)
|
|
18
|
-
return _jsx(
|
|
17
|
+
var isLoading = props.isLoading, _a = props.loadingContent, LoadingContent = _a === void 0 ? _jsx(CircularProgress, { color: "primary" }) : _a, isError = props.isError, errorState = props.errorState, isCustom = props.isCustom, customState = props.customState, children = props.children;
|
|
18
|
+
if (isLoading) {
|
|
19
|
+
return _jsx(LoadingContainer, { children: LoadingContent });
|
|
20
|
+
}
|
|
19
21
|
if (isCustom && customState) {
|
|
20
|
-
return _jsx(Placeholder, __assign({}, customState)
|
|
22
|
+
return _jsx(Placeholder, __assign({}, customState));
|
|
21
23
|
}
|
|
22
24
|
if (isError && errorState) {
|
|
23
|
-
var _b = errorState.title, title = _b === void 0 ? 'Произошла ошибка' : _b, imgAlt = errorState.imgAlt, imgSrc = errorState.imgSrc, errorList = errorState.errorList, onRetry = errorState.onRetry, _c = errorState.actions, actions = _c === void 0 ? _jsx(Button, __assign({ onClick: onRetry }, { children: "\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430" })
|
|
24
|
-
var description = errorList.map(function (item, index) { return (_jsxs(Fragment, { children: [_jsx(Typography, __assign({ component: "span" }, { children: item })
|
|
25
|
-
return (_jsx(Placeholder, { title: title, description: description, imgAlt: imgAlt, imgSrc: imgSrc, Actions: actions }
|
|
25
|
+
var _b = errorState.title, title = _b === void 0 ? 'Произошла ошибка' : _b, imgAlt = errorState.imgAlt, imgSrc = errorState.imgSrc, errorList = errorState.errorList, onRetry = errorState.onRetry, _c = errorState.actions, actions = _c === void 0 ? _jsx(Button, __assign({ onClick: onRetry }, { children: "\u041F\u043E\u043F\u0440\u043E\u0431\u043E\u0432\u0430\u0442\u044C \u0441\u043D\u043E\u0432\u0430" })) : _c;
|
|
26
|
+
var description = errorList.map(function (item, index) { return (_jsxs(Fragment, { children: [_jsx(Typography, __assign({ component: "span" }, { children: item })), _jsx("br", {})] }, index)); });
|
|
27
|
+
return (_jsx(Placeholder, { title: title, description: description, imgAlt: imgAlt, imgSrc: imgSrc, Actions: actions }));
|
|
26
28
|
}
|
|
27
|
-
return _jsx(
|
|
29
|
+
return _jsx(_Fragment, { children: children });
|
|
28
30
|
};
|
|
29
31
|
export default ContentState;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
export declare const LoadingContainer: import("@emotion/styled").StyledComponent<{
|
|
3
|
+
theme?: import("@emotion/react").Theme | undefined;
|
|
4
|
+
as?: import("react").ElementType<any> | undefined;
|
|
5
|
+
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
+
return cooked;
|
|
4
|
+
};
|
|
5
|
+
import { styled } from '../styles';
|
|
6
|
+
export var LoadingContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n"])));
|
|
7
|
+
var templateObject_1;
|
|
@@ -5,7 +5,7 @@ import { Main } from './Main';
|
|
|
5
5
|
import { DashboardLayoutRoot } from './styled';
|
|
6
6
|
export var DashboardLayout = function (props) {
|
|
7
7
|
var children = props.children;
|
|
8
|
-
return _jsx(DashboardLayoutRoot, { children: children }
|
|
8
|
+
return _jsx(DashboardLayoutRoot, { children: children });
|
|
9
9
|
};
|
|
10
10
|
DashboardLayout.Header = Header;
|
|
11
11
|
DashboardLayout.Sidebar = Sidebar;
|
|
@@ -18,6 +18,6 @@ import { ListItemText } from '../ListItemText';
|
|
|
18
18
|
import { DashboardLayout } from '../DashboardLayout';
|
|
19
19
|
export var DashboardLayoutStory = function (props) {
|
|
20
20
|
var header = props.header;
|
|
21
|
-
return (_jsxs(DashboardLayout, { children: [_jsx(DashboardLayout.Header, __assign({}, header)
|
|
21
|
+
return (_jsxs(DashboardLayout, { children: [_jsx(DashboardLayout.Header, __assign({}, header)), _jsx(DashboardLayout.Sidebar, { children: _jsxs(List, { children: [_jsxs(ListItemButton, { children: [_jsx(ListItemIcon, { children: _jsx(ProfileOutlineMd, {}) }), _jsx(ListItemText, { children: "\u0413\u043B\u0430\u0432\u043D\u0430\u044F" })] }), _jsxs(ListItemButton, { children: [_jsx(ListItemIcon, { children: _jsx(CompanyOutlineMd, {}) }), _jsx(ListItemText, { children: "\u0414\u043E\u043A\u0443\u043C\u0435\u043D\u0442\u044B" })] }), _jsxs(ListItemButton, { children: [_jsx(ListItemIcon, { children: _jsx(SettingsFillMd, {}) }), _jsx(ListItemText, { children: "\u041A\u043E\u043D\u0442\u0440\u0430\u0433\u0435\u043D\u0442\u044B" })] })] }) }), _jsx(DashboardLayout.Main, { children: "main-content" })] }));
|
|
22
22
|
};
|
|
23
23
|
export default DashboardLayoutStory;
|
|
@@ -12,6 +12,6 @@ var __assign = (this && this.__assign) || function () {
|
|
|
12
12
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
13
|
import { DashboardLayoutStory } from './DashboardLayoutStory';
|
|
14
14
|
export var DashboardLayoutStoryTemplate = function (args) {
|
|
15
|
-
return _jsx(DashboardLayoutStory, __assign({}, args)
|
|
15
|
+
return _jsx(DashboardLayoutStory, __assign({}, args));
|
|
16
16
|
};
|
|
17
17
|
export default DashboardLayoutStoryTemplate;
|
|
@@ -19,6 +19,6 @@ export var Header = forwardRef(function (props, ref) {
|
|
|
19
19
|
var ProductSwitcher = props.productSwitcher, product = props.product,
|
|
20
20
|
// menu: Menu,
|
|
21
21
|
profile = props.profile;
|
|
22
|
-
return (_jsxs(HeaderRoot, __assign({ ref: ref }, { children: [_jsxs(HeaderNav, { children: [ProductSwitcher && _jsx(ProductSwitcher, {}
|
|
22
|
+
return (_jsxs(HeaderRoot, __assign({ ref: ref }, { children: [_jsxs(HeaderNav, { children: [ProductSwitcher && _jsx(ProductSwitcher, {}), _jsx(Product, __assign({}, product))] }), _jsx(Profile, __assign({}, profile))] })));
|
|
23
23
|
});
|
|
24
24
|
export default Header;
|
|
@@ -14,6 +14,6 @@ import { forwardRef } from 'react';
|
|
|
14
14
|
import { MainRoot } from './styled';
|
|
15
15
|
export var Main = forwardRef(function (_a, ref) {
|
|
16
16
|
var children = _a.children;
|
|
17
|
-
return _jsx(MainRoot, __assign({ ref: ref }, { children: children })
|
|
17
|
+
return _jsx(MainRoot, __assign({ ref: ref }, { children: children }));
|
|
18
18
|
});
|
|
19
19
|
export default Main;
|
|
@@ -14,6 +14,6 @@ import { forwardRef } from 'react';
|
|
|
14
14
|
import { SidebarRoot, SidebarToggler } from './styled';
|
|
15
15
|
export var Sidebar = forwardRef(function (_a, ref) {
|
|
16
16
|
var children = _a.children;
|
|
17
|
-
return (_jsxs(SidebarRoot, __assign({ ref: ref }, { children: [_jsx("nav", { children: children }
|
|
17
|
+
return (_jsxs(SidebarRoot, __assign({ ref: ref }, { children: [_jsx("nav", { children: children }), _jsx(SidebarToggler, __assign({ variant: "text" }, { children: "\u0421\u0432\u0435\u0440\u043D\u0443\u0442\u044C \u043C\u0435\u043D\u044E" }))] })));
|
|
18
18
|
});
|
|
19
19
|
export default Sidebar;
|
|
@@ -3,6 +3,6 @@ export declare const SidebarRoot: import("@emotion/styled").StyledComponent<{
|
|
|
3
3
|
theme?: import("@emotion/react").Theme | undefined;
|
|
4
4
|
as?: import("react").ElementType<any> | undefined;
|
|
5
5
|
}, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLElement>, HTMLElement>, {}>;
|
|
6
|
-
export declare const SidebarToggler: import("@emotion/styled").StyledComponent<Pick<import("../../Button").ButtonProps, "disabled" | "
|
|
6
|
+
export declare const SidebarToggler: import("@emotion/styled").StyledComponent<Pick<import("../../Button").ButtonProps, "disabled" | "href" | "onFocusVisible" | "tabIndex" | "type" | "action" | "children" | "form" | "slot" | "title" | "key" | "css" | "autoFocus" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "name" | "value" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "variant" | "size" | "component" | "selected" | keyof import("@mui/material/OverridableComponent").CommonProps | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "focusVisibleClassName" | "LinkComponent" | "sx" | "TouchRippleProps" | "touchRippleRef" | "disableElevation" | "disableFocusRipple" | "endIcon" | "fullWidth" | "startIcon" | "loading" | "loadingIndicator" | "loadingPosition"> & import("react").RefAttributes<HTMLButtonElement> & {
|
|
7
7
|
theme?: import("@emotion/react").Theme | undefined;
|
|
8
8
|
}, {}, {}>;
|
|
@@ -1,3 +1,73 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
export declare
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DataGridColumns, DataGridRow, DataGridSort } from './types';
|
|
3
|
+
export declare type DataGridProps<Data = DataGridRow, SortField extends keyof Data = keyof Data> = {
|
|
4
|
+
/**
|
|
5
|
+
* @example <DataGrid rows={[{name: 'test'}]} />
|
|
6
|
+
* Массив данных для таблицы
|
|
7
|
+
*/
|
|
8
|
+
rows: Data[];
|
|
9
|
+
/**
|
|
10
|
+
* @example <DataGrid columns={[
|
|
11
|
+
* {
|
|
12
|
+
* field: 'test',
|
|
13
|
+
* label: 'Тестовая колонка',
|
|
14
|
+
* sortable: true,
|
|
15
|
+
* }]} />
|
|
16
|
+
* Конфигурация колонок для таблицы
|
|
17
|
+
*/
|
|
18
|
+
columns: DataGridColumns<Data>[];
|
|
19
|
+
keyId: keyof DataGridRow;
|
|
20
|
+
/**
|
|
21
|
+
* @example <DataGrid onRowClick={(row) => console.log('clicked')} />
|
|
22
|
+
* Обработчик клика строки таблицы
|
|
23
|
+
*/
|
|
24
|
+
onRowClick?: (row: Data) => void;
|
|
25
|
+
/**
|
|
26
|
+
* @example <DataGrid selectedRows={[{name: 'test'}]} />
|
|
27
|
+
* Массив выбранных строк
|
|
28
|
+
*/
|
|
29
|
+
selectedRows?: Array<Data>;
|
|
30
|
+
/**
|
|
31
|
+
* @example <DataGrid onSelectRow={(row) => console.log(select)} />
|
|
32
|
+
* Обработчик выбора строки
|
|
33
|
+
*/
|
|
34
|
+
onSelectRow?: (row: Data[]) => void;
|
|
35
|
+
/**
|
|
36
|
+
* @example <DataGrid sorting={[{fieldId: 'test', sort: 'asc'}]} />
|
|
37
|
+
* Массив сортируемых колонок
|
|
38
|
+
*/
|
|
39
|
+
sorting?: DataGridSort<SortField>[];
|
|
40
|
+
/**
|
|
41
|
+
* @example <DataGrid onSort={({fieldId: 'test', sort: 'asc'}) => console.log('sorted')} />
|
|
42
|
+
* Обработчик сортировки
|
|
43
|
+
*/
|
|
44
|
+
onSort: (sorting: DataGridSort<SortField>[]) => void;
|
|
45
|
+
/**
|
|
46
|
+
* @example <DataGrid Footer={<DataGridPagination />} />
|
|
47
|
+
* Компонент кастомного футера (н-р Pagination)
|
|
48
|
+
*/
|
|
49
|
+
Footer?: ReactNode;
|
|
50
|
+
/**
|
|
51
|
+
* @example <DataGrid maxHeight={900} />
|
|
52
|
+
* Максимальная высота для таблицы
|
|
53
|
+
*/
|
|
54
|
+
maxHeight?: number;
|
|
55
|
+
/**
|
|
56
|
+
* @example <DataGrid loading={true} />
|
|
57
|
+
* Флажок загрузки данных
|
|
58
|
+
*/
|
|
59
|
+
loading?: boolean;
|
|
60
|
+
/**
|
|
61
|
+
* @default '-'
|
|
62
|
+
* @example <DataGrid emptyCellValue{'Нет данных'} />
|
|
63
|
+
* Заглушка для пустых ячеек (если отсутствует field и filter и renderCell)
|
|
64
|
+
*/
|
|
65
|
+
emptyCellValue?: ReactNode;
|
|
66
|
+
/**
|
|
67
|
+
* @default 10
|
|
68
|
+
* @example <DataGrid minDisplayRows{10} />
|
|
69
|
+
* используется для отображения переданного кол-ва строк при отсутствии данных
|
|
70
|
+
*/
|
|
71
|
+
minDisplayRows?: number;
|
|
72
|
+
};
|
|
73
|
+
export declare function DataGrid<Data extends object, SortField extends keyof Data>({ columns, rows, selectedRows, sorting, maxHeight, minDisplayRows, onRowClick, onSelectRow, Footer, loading, onSort, keyId, emptyCellValue, }: DataGridProps<Data, SortField>): JSX.Element;
|
package/esm/DataGrid/DataGrid.js
CHANGED
|
@@ -26,11 +26,12 @@ import { DataGridBody } from './DataGridBody';
|
|
|
26
26
|
import DataGridLoader from './DataGridLoader/DataGridLoader';
|
|
27
27
|
import { DataGridContainer, StyledTableContainer } from './styled';
|
|
28
28
|
export function DataGrid(_a) {
|
|
29
|
-
var columns = _a.columns, _b = _a.rows, rows = _b === void 0 ? [] : _b, _c = _a.selectedRows, selectedRows = _c === void 0 ? [] : _c, _d = _a.sorting, sorting = _d === void 0 ? [] : _d, maxHeight = _a.maxHeight, _e = _a.minDisplayRows, minDisplayRows = _e === void 0 ? 10 : _e, onSelectRow = _a.onSelectRow, Footer = _a.Footer, loading = _a.loading, onSort = _a.onSort, keyId = _a.keyId;
|
|
29
|
+
var columns = _a.columns, _b = _a.rows, rows = _b === void 0 ? [] : _b, _c = _a.selectedRows, selectedRows = _c === void 0 ? [] : _c, _d = _a.sorting, sorting = _d === void 0 ? [] : _d, maxHeight = _a.maxHeight, _e = _a.minDisplayRows, minDisplayRows = _e === void 0 ? 10 : _e, onRowClick = _a.onRowClick, onSelectRow = _a.onSelectRow, Footer = _a.Footer, loading = _a.loading, onSort = _a.onSort, keyId = _a.keyId, emptyCellValue = _a.emptyCellValue;
|
|
30
30
|
var selectable = Boolean(onSelectRow);
|
|
31
31
|
var handleSelectAllRows = function (event) {
|
|
32
|
-
if (!onSelectRow)
|
|
32
|
+
if (!onSelectRow) {
|
|
33
33
|
return;
|
|
34
|
+
}
|
|
34
35
|
if (event.target.checked) {
|
|
35
36
|
var mergedSelectedRows = __spreadArray(__spreadArray([], selectedRows, true), rows, true);
|
|
36
37
|
return onSelectRow(mergedSelectedRows);
|
|
@@ -40,18 +41,19 @@ export function DataGrid(_a) {
|
|
|
40
41
|
};
|
|
41
42
|
var handleSelectRow = useCallback(function (row) {
|
|
42
43
|
return function (event) {
|
|
43
|
-
if (!onSelectRow)
|
|
44
|
+
if (!onSelectRow) {
|
|
44
45
|
return;
|
|
46
|
+
}
|
|
45
47
|
if (event.target.checked) {
|
|
46
48
|
return onSelectRow(__spreadArray(__spreadArray([], selectedRows, true), [row], false));
|
|
47
49
|
}
|
|
48
50
|
return onSelectRow(selectedRows.filter(function (selectedRow) { return selectedRow[keyId] !== row[keyId]; }));
|
|
49
51
|
};
|
|
50
|
-
}, [selectedRows, onSelectRow]);
|
|
52
|
+
}, [selectedRows, onSelectRow, keyId]);
|
|
51
53
|
var uncheckedRowsCount = useMemo(function () {
|
|
52
54
|
return rows.filter(function (row) {
|
|
53
55
|
return !selectedRows.find(function (selectedRow) { return selectedRow[keyId] === row[keyId]; });
|
|
54
56
|
}).length;
|
|
55
57
|
}, [rows, selectedRows, keyId]);
|
|
56
|
-
return (_jsxs(DataGridContainer, { children: [_jsxs(StyledTableContainer, __assign({ maxHeight: maxHeight }, { children: [_jsxs(Table, __assign({ stickyHeader: true }, { children: [_jsx(DataGridHead, { onSort: onSort, rowsCount: rows.length, uncheckedRowsCount: uncheckedRowsCount, onSelectAllRows: handleSelectAllRows, selectable: selectable, sorting: sorting, columns: columns }
|
|
58
|
+
return (_jsxs(DataGridContainer, { children: [_jsxs(StyledTableContainer, __assign({ maxHeight: maxHeight }, { children: [_jsxs(Table, __assign({ stickyHeader: true }, { children: [_jsx(DataGridHead, { onSort: onSort, rowsCount: rows.length, uncheckedRowsCount: uncheckedRowsCount, onSelectAllRows: handleSelectAllRows, selectable: selectable, sorting: sorting, columns: columns }), _jsx(DataGridBody, { keyId: keyId, selectedRows: selectedRows, minDisplayRows: minDisplayRows, onRowClick: onRowClick, onSelectRow: handleSelectRow, selectable: selectable, rows: rows, columns: columns, emptyCellValue: emptyCellValue })] })), _jsx(DataGridLoader, { loading: loading })] })), Footer] }));
|
|
57
59
|
}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
export declare
|
|
1
|
+
import { ChangeEvent, ReactNode } from 'react';
|
|
2
|
+
import { DataGridColumns, DataGridRow } from '../types';
|
|
3
|
+
export declare type DataGridBodyProps<Data> = {
|
|
4
|
+
columns: DataGridColumns<Data>[];
|
|
5
|
+
keyId: keyof DataGridRow;
|
|
6
|
+
onRowClick?: (row: Data) => void;
|
|
7
|
+
selectable?: boolean;
|
|
8
|
+
selectedRows?: Array<Data>;
|
|
9
|
+
rows: Data[];
|
|
10
|
+
onSelectRow: (row: Data) => (event: ChangeEvent<HTMLInputElement>) => void;
|
|
11
|
+
minDisplayRows: number;
|
|
12
|
+
emptyCellValue?: ReactNode;
|
|
13
|
+
};
|
|
14
|
+
export declare function DataGridBody<Data>({ rows, columns, selectable, onRowClick, onSelectRow, selectedRows, minDisplayRows, keyId, emptyCellValue, }: DataGridBodyProps<Data>): JSX.Element;
|
|
@@ -16,20 +16,25 @@ import { DataGridCell } from '../DataGridCell';
|
|
|
16
16
|
import { Checkbox } from '../../Checkbox';
|
|
17
17
|
import { StyledTableBody } from './styled';
|
|
18
18
|
export function DataGridBody(_a) {
|
|
19
|
-
var rows = _a.rows, columns = _a.columns, selectable = _a.selectable, onSelectRow = _a.onSelectRow, _b = _a.selectedRows, selectedRows = _b === void 0 ? [] : _b, minDisplayRows = _a.minDisplayRows, keyId = _a.keyId;
|
|
19
|
+
var rows = _a.rows, columns = _a.columns, selectable = _a.selectable, onRowClick = _a.onRowClick, onSelectRow = _a.onSelectRow, _b = _a.selectedRows, selectedRows = _b === void 0 ? [] : _b, minDisplayRows = _a.minDisplayRows, keyId = _a.keyId, emptyCellValue = _a.emptyCellValue;
|
|
20
20
|
var renderCells = useCallback(function (row, rowId) {
|
|
21
21
|
return columns.map(function (cell, index) {
|
|
22
22
|
var cellId = "".concat(rowId, "-").concat(index);
|
|
23
|
-
return _jsx(DataGridCell, { row: row, cell: cell }, cellId);
|
|
23
|
+
return (_jsx(DataGridCell, { row: row, cell: cell, emptyCellValue: emptyCellValue }, cellId));
|
|
24
24
|
});
|
|
25
25
|
}, [columns]);
|
|
26
|
+
var handleRowClick = function (row) { return function () {
|
|
27
|
+
if (onRowClick) {
|
|
28
|
+
onRowClick(row);
|
|
29
|
+
}
|
|
30
|
+
}; };
|
|
26
31
|
var renderedRows = useMemo(function () {
|
|
27
32
|
return rows.map(function (row) {
|
|
28
33
|
var rowId = row[keyId];
|
|
29
34
|
var checked = selectable &&
|
|
30
35
|
Boolean(selectedRows.find(function (selectedRow) { return selectedRow[keyId] === rowId; }));
|
|
31
|
-
return (_jsxs(TableRow, { children: [selectable && (_jsx(TableCell, __assign({ padding: "checkbox" }, { children: _jsx(Checkbox, { checked: checked, onChange: onSelectRow(row) }
|
|
36
|
+
return (_jsxs(TableRow, __assign({ hover: Boolean(onRowClick), onClick: handleRowClick(row) }, { children: [selectable && (_jsx(TableCell, __assign({ padding: "checkbox", onClick: function (event) { return event.stopPropagation(); } }, { children: _jsx(Checkbox, { checked: checked, onChange: onSelectRow(row) }) }))), renderCells(row, rowId)] }), rowId));
|
|
32
37
|
});
|
|
33
|
-
}, [rows, keyId, selectable, selectedRows, onSelectRow, columns]);
|
|
34
|
-
return (_jsx(StyledTableBody, __assign({ empty: !rows.length, minDisplayRows: minDisplayRows }, { children: renderedRows })
|
|
38
|
+
}, [rows, keyId, selectable, selectedRows, onSelectRow, onRowClick, columns]);
|
|
39
|
+
return (_jsx(StyledTableBody, __assign({ empty: !rows.length, minDisplayRows: minDisplayRows }, { children: renderedRows })));
|
|
35
40
|
}
|
|
@@ -3,7 +3,7 @@ export declare const StyledTableBody: import("@emotion/styled").StyledComponent<
|
|
|
3
3
|
children?: import("react").ReactNode;
|
|
4
4
|
classes?: Partial<import("@mui/material").TableBodyClasses> | undefined;
|
|
5
5
|
sx?: import("@mui/system").SxProps<import("@mui/material").Theme> | undefined;
|
|
6
|
-
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "
|
|
6
|
+
} & import("@mui/material/OverridableComponent").CommonProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableSectionElement>, HTMLTableSectionElement>, "key" | "css" | keyof import("react").HTMLAttributes<HTMLTableSectionElement>> & {
|
|
7
7
|
ref?: ((instance: HTMLTableSectionElement | null) => void) | import("react").RefObject<HTMLTableSectionElement> | null | undefined;
|
|
8
8
|
}, "children" | keyof import("@mui/material/OverridableComponent").CommonProps | "sx"> & {
|
|
9
9
|
theme?: import("@emotion/react").Theme | undefined;
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
export declare
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DataGridColumns } from '../types';
|
|
3
|
+
export declare type CellProps<Data> = {
|
|
4
|
+
row: Data;
|
|
5
|
+
cell: DataGridColumns<Data>;
|
|
6
|
+
emptyCellValue?: ReactNode;
|
|
7
|
+
};
|
|
8
|
+
export declare function DataGridCell<Data>({ row, cell: { field, renderCell, format, align }, emptyCellValue, }: CellProps<Data>): JSX.Element;
|
|
@@ -9,17 +9,20 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
12
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
13
|
import { useMemo } from 'react';
|
|
14
14
|
import { TableCell } from '../../Table';
|
|
15
15
|
import { Typography } from '../../Typography';
|
|
16
16
|
export function DataGridCell(_a) {
|
|
17
|
-
var row = _a.row, _b = _a.cell, field = _b.field, renderCell = _b.renderCell, format = _b.format, _c = _b.align, align = _c === void 0 ? 'left' : _c;
|
|
17
|
+
var row = _a.row, _b = _a.cell, field = _b.field, renderCell = _b.renderCell, format = _b.format, _c = _b.align, align = _c === void 0 ? 'left' : _c, _d = _a.emptyCellValue, emptyCellValue = _d === void 0 ? '-' : _d;
|
|
18
18
|
var formattedValue = useMemo(function () {
|
|
19
19
|
if (format) {
|
|
20
20
|
return format(row);
|
|
21
21
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
if (field) {
|
|
23
|
+
return row[field];
|
|
24
|
+
}
|
|
25
|
+
return emptyCellValue;
|
|
26
|
+
}, [field, format, row, emptyCellValue]);
|
|
27
|
+
return (_jsxs(TableCell, __assign({ align: align }, { children: [renderCell && renderCell(row), !renderCell && (_jsx(Typography, { children: _jsx(_Fragment, { children: formattedValue }) }))] })));
|
|
25
28
|
}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
export declare
|
|
1
|
+
import { ChangeEvent } from 'react';
|
|
2
|
+
import { DataGridColumns, DataGridRow, DataGridSort } from '../types';
|
|
3
|
+
export declare type DataGridHeadProps<Data = DataGridRow, SortField extends keyof Data = keyof Data> = {
|
|
4
|
+
columns: DataGridColumns<Data>[];
|
|
5
|
+
selectable: boolean;
|
|
6
|
+
onSelectAllRows: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
7
|
+
sorting: DataGridSort<SortField>[];
|
|
8
|
+
onSort: (sorting: DataGridSort<SortField>[]) => void;
|
|
9
|
+
uncheckedRowsCount: number;
|
|
10
|
+
rowsCount: number;
|
|
11
|
+
};
|
|
12
|
+
export declare function DataGridHead<Data, SortField extends keyof Data>({ columns, selectable, onSelectAllRows, rowsCount, onSort, sorting, uncheckedRowsCount, }: DataGridHeadProps<Data, SortField>): JSX.Element;
|
|
@@ -29,7 +29,7 @@ export function DataGridHead(_a) {
|
|
|
29
29
|
var columns = _a.columns, selectable = _a.selectable, onSelectAllRows = _a.onSelectAllRows, rowsCount = _a.rowsCount, onSort = _a.onSort, _b = _a.sorting, sorting = _b === void 0 ? [] : _b, uncheckedRowsCount = _a.uncheckedRowsCount;
|
|
30
30
|
var checked = useMemo(function () { return !Boolean(uncheckedRowsCount) && rowsCount > 0; }, [uncheckedRowsCount, rowsCount]);
|
|
31
31
|
var indeterminate = useMemo(function () { return uncheckedRowsCount > 0 && uncheckedRowsCount < rowsCount; }, [uncheckedRowsCount, rowsCount]);
|
|
32
|
-
var handleSort = useCallback(function (field, sortable) {
|
|
32
|
+
var handleSort = useCallback(function (field, sortable) {
|
|
33
33
|
if (sortable) {
|
|
34
34
|
var currentSort = sorting.find(function (_a) {
|
|
35
35
|
var fieldId = _a.fieldId;
|
|
@@ -56,12 +56,12 @@ export function DataGridHead(_a) {
|
|
|
56
56
|
// если для выбранного столбца нет сортировки - добавляем сортировку ASC
|
|
57
57
|
onSort(__spreadArray(__spreadArray([], sorting, true), [{ fieldId: field, sort: SortStates.ASC }], false));
|
|
58
58
|
}
|
|
59
|
-
}
|
|
59
|
+
}, [sorting, onSort]);
|
|
60
60
|
var renderColumns = useMemo(function () {
|
|
61
61
|
return columns.map(function (_a) {
|
|
62
|
-
var field = _a.field, label = _a.label, sortable = _a.sortable, align = _a.align,
|
|
63
|
-
return (_jsx(DataGridHeadColumn, { sorting: sorting,
|
|
62
|
+
var field = _a.field, label = _a.label, sortable = _a.sortable, align = _a.align, width = _a.width;
|
|
63
|
+
return (_jsx(DataGridHeadColumn, { sorting: sorting, field: field, onSort: handleSort, label: label, sortable: sortable, align: align, width: width }, label));
|
|
64
64
|
});
|
|
65
65
|
}, [columns, handleSort, sorting]);
|
|
66
|
-
return (_jsx(TableHead, { children: _jsxs(TableRow, { children: [selectable && (_jsx(TableCell, __assign({ padding: "checkbox" }, { children: _jsx(Checkbox, { checked: checked, indeterminate: indeterminate, onChange: onSelectAllRows }
|
|
66
|
+
return (_jsx(TableHead, { children: _jsxs(TableRow, { children: [selectable && (_jsx(TableCell, __assign({ padding: "checkbox" }, { children: _jsx(Checkbox, { checked: checked, indeterminate: indeterminate, onChange: onSelectAllRows }) }))), renderColumns] }) }));
|
|
67
67
|
}
|
|
@@ -1,3 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { CSSProperties } from 'react';
|
|
2
|
+
import { TableCellProps } from '@mui/material';
|
|
3
|
+
import { DataGridRow, DataGridSort } from '../types';
|
|
4
|
+
export declare type DataGridHeadColumnProps<Data = DataGridRow, SortField extends keyof Data = keyof Data> = {
|
|
5
|
+
onSort: (field: SortField, sortable?: boolean) => void;
|
|
6
|
+
sorting: DataGridSort<SortField>[];
|
|
7
|
+
label?: string;
|
|
8
|
+
sortable?: boolean;
|
|
9
|
+
align?: TableCellProps['align'];
|
|
10
|
+
field?: keyof Data;
|
|
11
|
+
width?: CSSProperties['width'];
|
|
12
|
+
};
|
|
13
|
+
export declare function DataGridHeadColumn<Data, SortField extends keyof Data>({ onSort, field, sortable, align, label, sorting, width, }: DataGridHeadColumnProps<Data, SortField>): JSX.Element;
|
|
@@ -10,17 +10,22 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
12
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { useMemo } from 'react';
|
|
13
14
|
import { Typography } from '../../Typography/Typography';
|
|
14
15
|
import { SortStates } from '../constants';
|
|
15
16
|
import { StyledTableCell, StyledTableSortLabel } from './styled';
|
|
16
17
|
export function DataGridHeadColumn(_a) {
|
|
17
|
-
var onSort = _a.onSort, field = _a.field, sortable = _a.sortable, align = _a.align, label = _a.label, sorting = _a.sorting,
|
|
18
|
-
var sortParams = sorting.find(function (_a) {
|
|
18
|
+
var onSort = _a.onSort, field = _a.field, sortable = _a.sortable, align = _a.align, label = _a.label, sorting = _a.sorting, width = _a.width;
|
|
19
|
+
var sortParams = useMemo(function () { return sorting.find(function (_a) {
|
|
19
20
|
var fieldId = _a.fieldId;
|
|
20
21
|
return field === fieldId;
|
|
21
|
-
});
|
|
22
|
-
var hideSortIcon = !Boolean(sortParams);
|
|
23
|
-
var sortDirection = sortParams ? sortParams.sort : SortStates.ASC;
|
|
24
|
-
var
|
|
25
|
-
|
|
22
|
+
}); }, [sorting, field]);
|
|
23
|
+
var hideSortIcon = useMemo(function () { return !Boolean(sortParams); }, [sortParams]);
|
|
24
|
+
var sortDirection = useMemo(function () { return (sortParams ? sortParams.sort : SortStates.ASC); }, [sortParams]);
|
|
25
|
+
var handleSortClick = function () {
|
|
26
|
+
if (field) {
|
|
27
|
+
onSort(field, sortable);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
return (_jsxs(StyledTableCell, __assign({ onClick: handleSortClick, align: align, width: width }, { children: [_jsx(Typography, __assign({ variant: "pointer" }, { children: label })), sortable && (_jsx(StyledTableSortLabel, { hideSortIcon: hideSortIcon, direction: sortDirection, active: true }))] })));
|
|
26
31
|
}
|