@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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"}