shared.ts 1.1 KB

12345678910111213141516171819202122232425262728293031
  1. import { addColorAlpha, transformColorWithOpacity } from '@sa/color';
  2. import type { PageTabCssVars, PageTabCssVarsProps } from '../../types';
  3. /** The active color of the tab */
  4. export const ACTIVE_COLOR = '#1890ff';
  5. function createCssVars(props: PageTabCssVarsProps) {
  6. const cssVars: PageTabCssVars = {
  7. '--soy-primary-color': props.primaryColor,
  8. '--soy-primary-color1': props.primaryColor1,
  9. '--soy-primary-color2': props.primaryColor2,
  10. '--soy-primary-color-opacity1': props.primaryColorOpacity1,
  11. '--soy-primary-color-opacity2': props.primaryColorOpacity2,
  12. '--soy-primary-color-opacity3': props.primaryColorOpacity3
  13. };
  14. return cssVars;
  15. }
  16. export function createTabCssVars(primaryColor: string) {
  17. const cssProps: PageTabCssVarsProps = {
  18. primaryColor,
  19. primaryColor1: transformColorWithOpacity(primaryColor, 0.1, '#ffffff'),
  20. primaryColor2: transformColorWithOpacity(primaryColor, 0.3, '#000000'),
  21. primaryColorOpacity1: addColorAlpha(primaryColor, 0.1),
  22. primaryColorOpacity2: addColorAlpha(primaryColor, 0.15),
  23. primaryColorOpacity3: addColorAlpha(primaryColor, 0.3)
  24. };
  25. return createCssVars(cssProps);
  26. }