message: fix: added merging function for cascaded props
diff: @@ -167,6 +167,39 @@ const simplifyProps = (
  specificityMap: any = {},
  priority: number
  ) => {
  + const mergePsuedoProps = (property: string, propertySpecity: object) => {
  + if (compareSpecificity(specificityMap[property], propertySpecity, false)) {
  + if (process.env.NODE_ENV === 'development' && props.debug) {
  + /* eslint-disable-next-line */
  + console.log(
  + `%c ${property}`,
  + 'color: #818cf8;',
  + 'updated as internal prop with higher specificity'
  + );
  + }
  + specificityMap[property] = propertySpecity;
  + // merging internal props (like, _text, _stack ...)
  + flattenProps[property] = merge(
  + {},
  + flattenProps[property],
  + props[property]
  + );
  + } else {
  + if (process.env.NODE_ENV === 'development' && props.debug) {
  + /* eslint-disable-next-line */
  + console.log(
  + `%c ${property}`,
  + 'color: #818cf8;',
  + 'updated as internal prop with lower specificity'
  + );
  + }
  + flattenProps[property] = merge(
  + {},
  + props[property],
  + flattenProps[property]
  + );
  + }
  + };
  for (const property in props) {
  // NOTE: the order is important here. Keep in mind while specificity breakpoints.
  const propertySpecity = currentSpecificity
  @@ -213,39 +246,7 @@ const simplifyProps = (
  } else if (pseudoPropsMap[property] === undefined) {
  if (property.startsWith('_')) {
  // NOTE: Handling (internal) props like _text, _stack, ....
  - if (
  - compareSpecificity(specificityMap[property], propertySpecity, false)
  - ) {
  - if (process.env.NODE_ENV === 'development' && props.debug) {
  - /* eslint-disable-next-line */
  - console.log(
  - `%c ${property}`,
  - 'color: #818cf8;',
  - 'updated as internal prop with higher specificity'
  - );
  - }
  - specificityMap[property] = propertySpecity;
  - // merging internal props (like, _text, _stack ...)
  - flattenProps[property] = merge(
  - {},
  - flattenProps[property],
  - props[property]
  - );
  - } else {
  - if (process.env.NODE_ENV === 'development' && props.debug) {
  - /* eslint-disable-next-line */
  - console.log(
  - `%c ${property}`,
  - 'color: #818cf8;',
  - 'updated as internal prop with lower specificity'
  - );
  - }
  - flattenProps[property] = merge(
  - {},
  - props[property],
  - flattenProps[property]
  - );
  - }
  + mergePsuedoProps(property, propertySpecity);
  } else {
  if (
  compareSpecificity(specificityMap[property], propertySpecity, false)
  @@ -277,13 +278,14 @@ const simplifyProps = (
  console.log(`%c ${property}`, 'color: #818cf8;', 'deleted');
  }
  } else {
  - specificityMap[property] = propertySpecity;
  - flattenProps[property] = props[property];
  + // specificityMap[property] = propertySpecity;
  + // flattenProps[property] = props[property];
  if (process.env.NODE_ENV === 'development' && props.debug) {
  /* eslint-disable-next-line */
  console.log(`%c ${property}`, 'color: #818cf8;', 'cascaded');
  }
  + mergePsuedoProps(property, propertySpecity);
  }
  }
  }
  