@grafana/ui
Version:
Grafana Components Library
1 lines • 18.2 kB
Source Map (JSON)
{"version":3,"file":"styles.mjs","sources":["../../../../../src/components/Table/TableRT/styles.ts"],"sourcesContent":["import { css } from '@emotion/css';\n\nimport { GrafanaTheme2 } from '@grafana/data';\nimport { TableCellHeight } from '@grafana/schema';\n\nexport function useTableStyles(theme: GrafanaTheme2, cellHeightOption: TableCellHeight) {\n const borderColor = theme.colors.border.weak;\n const resizerColor = theme.colors.primary.border;\n const cellPadding = 6;\n const cellHeight = getCellHeight(theme, cellHeightOption, cellPadding);\n const rowHeight = cellHeight + 2;\n const headerHeight = 28;\n\n const buildCellContainerStyle = (\n color?: string,\n background?: string,\n backgroundHover?: string,\n overflowOnHover?: boolean,\n asCellText?: boolean,\n textShouldWrap?: boolean,\n textWrapped?: boolean,\n rowStyled?: boolean,\n rowExpanded?: boolean\n ) => {\n return css({\n label: overflowOnHover ? 'cellContainerOverflow' : 'cellContainerNoOverflow',\n padding: `${cellPadding}px`,\n width: '100%',\n // Cell height need to account for row border\n height: rowExpanded ? 'auto !important' : `${rowHeight - 1}px`,\n wordBreak: textWrapped ? 'break-all' : 'inherit',\n\n display: 'flex',\n\n ...(asCellText\n ? {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n userSelect: 'text',\n whiteSpace: 'nowrap',\n }\n : {}),\n\n alignItems: 'center',\n borderRight: `1px solid ${borderColor}`,\n\n color: rowStyled ? 'inherit' : (color ?? undefined),\n background: rowStyled ? undefined : (background ?? undefined),\n backgroundClip: 'padding-box',\n\n '&:last-child:not(:only-child)': {\n borderRight: 'none',\n },\n\n '&:hover': {\n overflow: overflowOnHover && !textWrapped ? 'visible' : undefined,\n width: textShouldWrap || !overflowOnHover ? 'auto' : 'auto !important',\n height: (textShouldWrap || overflowOnHover) && !textWrapped ? 'auto !important' : `${rowHeight - 1}px`,\n minHeight: `${rowHeight - 1}px`,\n wordBreak: textShouldWrap ? 'break-word' : undefined,\n whiteSpace: textShouldWrap && overflowOnHover ? 'normal' : 'nowrap',\n boxShadow: overflowOnHover ? `0 0 2px ${theme.colors.primary.main}` : undefined,\n background: rowStyled ? 'inherit' : (backgroundHover ?? theme.colors.background.primary),\n zIndex: 1,\n '.cellActions': {\n background: theme.components.tooltip.background,\n color: theme.components.tooltip.text,\n visibility: 'visible',\n opacity: 1,\n width: 'auto',\n borderRadius: theme.shape.radius.default,\n },\n },\n\n a: {\n color: 'inherit',\n },\n\n '.cellActions': {\n display: 'flex',\n position: overflowOnHover ? undefined : 'absolute',\n top: overflowOnHover ? undefined : '1px',\n right: overflowOnHover ? undefined : 0,\n margin: overflowOnHover ? theme.spacing(0, 0, 0, 1) : 'auto',\n visibility: 'hidden',\n opacity: 0,\n width: 0,\n alignItems: 'center',\n height: '100%',\n padding: theme.spacing(0.5, 0, 0.5, 0.5),\n background: theme.components.tooltip.background,\n color: theme.components.tooltip.text,\n },\n\n '.cellActionsLeft': {\n right: 'auto !important',\n left: 0,\n },\n });\n };\n\n return {\n theme,\n cellHeight,\n buildCellContainerStyle,\n cellPadding,\n cellHeightInner: cellHeight - cellPadding * 2,\n rowHeight,\n table: css({\n height: '100%',\n width: '100%',\n overflow: 'auto',\n display: 'flex',\n flexDirection: 'column',\n }),\n thead: css({\n label: 'thead',\n height: `${headerHeight}px`,\n overflowY: 'auto',\n overflowX: 'hidden',\n position: 'relative',\n }),\n tfoot: css({\n label: 'tfoot',\n height: `${headerHeight}px`,\n borderTop: `1px solid ${borderColor}`,\n overflowY: 'auto',\n overflowX: 'hidden',\n position: 'relative',\n }),\n headerRow: css({\n label: 'row',\n borderBottom: `1px solid ${borderColor}`,\n }),\n headerCell: css({\n height: '100%',\n padding: `0 ${cellPadding}px`,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n display: 'flex',\n alignItems: 'center',\n fontWeight: theme.typography.fontWeightMedium,\n\n '&:last-child': {\n borderRight: 'none',\n },\n }),\n headerCellLabel: css({\n border: 'none',\n padding: 0,\n background: 'inherit',\n cursor: 'pointer',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n fontWeight: theme.typography.fontWeightMedium,\n display: 'flex',\n alignItems: 'center',\n marginRight: theme.spacing(0.5),\n\n '&:hover': {\n textDecoration: 'underline',\n color: theme.colors.text.link,\n },\n }),\n cellContainerText: buildCellContainerStyle(undefined, undefined, undefined, true, true),\n cellContainerTextNoOverflow: buildCellContainerStyle(undefined, undefined, undefined, false, true),\n\n cellContainer: buildCellContainerStyle(undefined, undefined, undefined, true, false),\n cellContainerNoOverflow: buildCellContainerStyle(undefined, undefined, undefined, false, false),\n cellText: css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n userSelect: 'text',\n whiteSpace: 'nowrap',\n cursor: 'text',\n }),\n sortIcon: css({\n marginLeft: theme.spacing(0.5),\n }),\n cellLink: css({\n cursor: 'pointer',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n userSelect: 'text',\n whiteSpace: 'nowrap',\n color: `${theme.colors.text.link} !important`,\n fontWeight: theme.typography.fontWeightMedium,\n paddingRight: theme.spacing(1.5),\n '&:hover': {\n textDecoration: 'underline',\n color: theme.colors.text.link,\n },\n }),\n cellLinkEmpty: css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n userSelect: 'text',\n whiteSpace: 'nowrap',\n fontWeight: theme.typography.fontWeightMedium,\n paddingRight: theme.spacing(1.5),\n }),\n cellLinkForColoredCell: css({\n cursor: 'pointer',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n userSelect: 'text',\n whiteSpace: 'nowrap',\n fontWeight: theme.typography.fontWeightMedium,\n textDecoration: 'underline',\n }),\n imageCellLink: css({\n cursor: 'pointer',\n overflow: 'hidden',\n height: '100%',\n }),\n headerFilter: css({\n background: 'transparent',\n border: 'none',\n label: 'headerFilter',\n padding: 0,\n }),\n paginationWrapper: css({\n display: 'flex',\n height: `${cellHeight}px`,\n justifyContent: 'center',\n alignItems: 'center',\n width: '100%',\n li: {\n marginBottom: 0,\n },\n }),\n paginationSummary: css({\n color: theme.colors.text.secondary,\n fontSize: theme.typography.bodySmall.fontSize,\n display: 'flex',\n justifyContent: 'flex-end',\n padding: theme.spacing(0, 1, 0, 2),\n }),\n\n tableContentWrapper: (totalColumnsWidth: number) => {\n const width = totalColumnsWidth !== undefined ? `${totalColumnsWidth}px` : '100%';\n\n return css({\n label: 'tableContentWrapper',\n width,\n display: 'flex',\n flexDirection: 'column',\n });\n },\n row: css({\n label: 'row',\n borderBottom: `1px solid ${borderColor}`,\n\n '&:hover': {\n backgroundColor: theme.components.table.rowHoverBackground,\n },\n\n '&:last-child': {\n borderBottom: 0,\n },\n }),\n imageCell: css({\n height: '100%',\n }),\n resizeHandle: css({\n label: 'resizeHandle',\n cursor: 'col-resize !important',\n display: 'inline-block',\n background: resizerColor,\n opacity: 0,\n [theme.transitions.handleMotion('no-preference', 'reduce')]: {\n transition: 'opacity 0.2s ease-in-out',\n },\n width: '8px',\n height: '100%',\n position: 'absolute',\n right: '-4px',\n borderRadius: theme.shape.radius.default,\n top: 0,\n touchAction: 'none',\n\n '&:hover': {\n opacity: 1,\n },\n }),\n typeIcon: css({\n marginRight: theme.spacing(1),\n color: theme.colors.text.secondary,\n }),\n noData: css({\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n justifyContent: 'center',\n width: '100%',\n }),\n expanderCell: css({\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n height: `${rowHeight}px`,\n cursor: 'pointer',\n }),\n };\n}\n\nexport type TableStyles = ReturnType<typeof useTableStyles>;\n\nfunction getCellHeight(theme: GrafanaTheme2, cellHeightOption: TableCellHeight, cellPadding: number) {\n const bodyFontSize = theme.typography.fontSize;\n const lineHeight = theme.typography.body.lineHeight;\n\n switch (cellHeightOption) {\n case 'md':\n return 42;\n case 'lg':\n return 48;\n case 'sm':\n default:\n return cellPadding * 2 + bodyFontSize * lineHeight;\n }\n}\n"],"names":[],"mappings":"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"}