<commit_before>import * as React from 'react';
import {IconSize} from '../Icon/Icon.Props';

export interface INotificationIconProps extends React.HTMLProps<HTMLElement> {
  iconName?: string;
  className?: string;
  iconSize?: IconSize;
  width?: any;
  height?: any;
  containerClassName?: string;
  notificationNumber?: number;
  notificationBubbleStyleObject?: NotificationBubbleStyleObject;
  notificationBubbleClassName?: string;
  notificationNumberClassName?: string;
}

export interface NotificationBubbleStyleObject {
  containerStyleObject?: ContainerStyleObject;
  bubbleStyleObject?: BubbleStyleObject;
  numberStyleObject?: NumberStyleObject;
}

export interface ContainerStyleObject {
  width?: string;
  height?: string;
  position?: string;
  display?: string;
  alignItems?: string;
}

export interface BubbleStyleObject {
  position?: string;
  top?: string;
  right?: string;
  width?: string;
  height?: string;
  borderRadius?: string;
  backgroundColor?: string;
}

export interface NumberStyleObject {
  lineHeight?: string;
  fontWeight?: string;
  fontSize?: string;
  marginLeft?: string;
  marginRight?: string;
  color?: string;
}

export const DefaultIconNumberStyleObject = (iconSize: IconSize, numberOfCharacters: number) => {
  let styleObject : NotificationBubbleStyleObject = { 
  containerStyleObject: {
    position: 'relative',
    display: 'inline-flex',
    alignItems: 'flex-end'},
  bubbleStyleObject: {
    position: 'absolute',
    top: '0px',
    right: '0px',
    borderRadius: '50%',
    backgroundColor: 'red'
  },
  numberStyleObject: {
    fontWeight: 'bold',
    marginRight: '3px',
    color: 'white'}
  };
   
    switch (iconSize) {
    case IconSize.smallest:
        styleObject.containerStyleObject.width = '23px';
        styleObject.containerStyleObject.height = '23px';
        styleObject.bubbleStyleObject.height = '14px';
        styleObject.bubbleStyleObject.width = '14px';
        styleObject.numberStyleObject.fontSize = '10px';
        styleObject.numberStyleObject.lineHeight = '14px';
        styleObject.numberStyleObject.marginLeft = '4px';
        break;
    case IconSize.small:
        styleObject.containerStyleObject.width = '32px';
        styleObject.containerStyleObject.height = '32px';
        styleObject.bubbleStyleObject.height = '16px';<commit_msg>Color set up<commit_after>import * as React from 'react';
import {IconSize} from '../Icon/Icon.Props';

export interface INotificationIconProps extends React.HTMLProps<HTMLElement> {
  iconName?: string;
  className?: string;
  iconSize?: IconSize;
  width?: any;
  height?: any;
  containerClassName?: string;
  notificationNumber?: number;
  notificationBubbleStyleObject?: NotificationBubbleStyleObject;
  notificationBubbleClassName?: string;
  notificationNumberClassName?: string;
}

export interface NotificationBubbleStyleObject {
  containerStyleObject?: ContainerStyleObject;
  bubbleStyleObject?: BubbleStyleObject;
  numberStyleObject?: NumberStyleObject;
}

export interface ContainerStyleObject {
  width?: string;
  height?: string;
  position?: string;
  display?: string;
  alignItems?: string;
}

export interface BubbleStyleObject {
  position?: string;
  top?: string;
  right?: string;
  width?: string;
  height?: string;
  borderRadius?: string;
  backgroundColor?: string;
}

export interface NumberStyleObject {
  lineHeight?: string;
  fontWeight?: string;
  fontSize?: string;
  marginLeft?: string;
  marginRight?: string;
  color?: string;
}

export const DefaultIconNumberStyleObject = (iconSize: IconSize, numberOfCharacters: number) => {
  let styleObject : NotificationBubbleStyleObject = { 
  containerStyleObject: {
    position: 'relative',
    display: 'inline-flex',
    alignItems: 'flex-end'},
  bubbleStyleObject: {
    position: 'absolute',
    top: '0px',
    right: '0px',
    borderRadius: '50%',
    backgroundColor: '#FB6464'
  },
  numberStyleObject: {
    fontWeight: 'bold',
    marginRight: '3px',
    color: 'white'}
  };
   
    switch (iconSize) {
    case IconSize.smallest:
        styleObject.containerStyleObject.width = '23px';
        styleObject.containerStyleObject.height = '23px';
        styleObject.bubbleStyleObject.height = '14px';
        styleObject.bubbleStyleObject.width = '14px';
        styleObject.numberStyleObject.fontSize = '10px';
        styleObject.numberStyleObject.lineHeight = '14px';
        styleObject.numberStyleObject.marginLeft = '4px';
        break;
    case IconSize.small:
        styleObject.containerStyleObject.width = '32px';
        styleObject.containerStyleObject.height = '32px';
        styleObject.bubbleStyleObject.height = '16px';
{'fraction_non_alphanumeric': 0.11153928494968958, 'fraction_numerical': 0.011132519803040034, 'mean_word_length': 4.27909604519774, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 7, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4330028', 'n_tokens_mistral': 1359, 'n_tokens_neox': 1336, 'n_words': 301}