{"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,\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    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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"}