@contentful/f36-badge 6.3.2 → 6.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/esm/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import c from'react';import {cx,css}from'@emotion/css';import {Box}from'@contentful/f36-core';import a from'@contentful/f36-tokens';import {useDensity,getIconColorToken,iconColorByVariant}from'@contentful/f36-utils';import {ClockIcon}from'@contentful/f36-icons';var _=Object.defineProperty,ee=Object.defineProperties;var te=Object.getOwnPropertyDescriptors;var x=Object.getOwnPropertySymbols;var M=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable;var k=(e,r,t)=>r in e?_(e,r,{enumerable:true,configurable:true,writable:true,value:t}):e[r]=t,p=(e,r)=>{for(var t in r||(r={}))M.call(r,t)&&k(e,t,r[t]);if(x)for(var t of x(r))R.call(r,t)&&k(e,t,r[t]);return e},z=(e,r)=>ee(e,te(r));var C=(e,r)=>{var t={};for(var o in e)M.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&x)for(var o of x(e))r.indexOf(o)<0&&R.call(e,o)&&(t[o]=e[o]);return t};var oe=Object.defineProperty,ae=Object.defineProperties,ie=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,O=(e,r,t)=>r in e?oe(e,r,{enumerable:true,configurable:true,writable:true,value:t}):e[r]=t,h=(e,r)=>{for(var t in r||(r={}))X.call(r,t)&&O(e,t,r[t]);if(b)for(var t of b(r))L.call(r,t)&&O(e,t,r[t]);return e},u=(e,r)=>ae(e,ie(r)),y=(e,r)=>{var t={};for(var o in e)X.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&b)for(var o of b(e))r.indexOf(o)<0&&L.call(e,o)&&(t[o]=e[o]);return t},ne="span";function se(){return css({overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"})}function le(){return css({wordBreak:"break-word"})}function V(e,r){let t=e,{fontSize:o="fontSizeM",fontStack:i="fontStackPrimary",fontWeight:s="fontWeightNormal",fontColor:d="gray800",lineHeight:n="lineHeightM",letterSpacing:l="letterSpacingDefault",children:g,isTruncated:f,isWordBreak:N,as:v,className:H,margin:I="none",testId:Y="cf-ui-text"}=t,Z=y(t,["fontSize","fontStack","fontWeight","fontColor","lineHeight","letterSpacing","children","isTruncated","isWordBreak","as","className","margin","testId"]),Q=v||ne;return c.createElement(Box,u(h({},Z),{as:Q,testId:Y,className:cx(css({padding:0,fontFamily:a[i],fontWeight:a[s],color:a[d],fontSize:a[o],lineHeight:a[n],letterSpacing:a[l]}),f?se():null,N?le():null,H),margin:I,ref:r}),g)}V.displayName="Text";var S=c.forwardRef(V),de="span";function j(e,r){var t=e,{children:o,fontWeight:i="fontWeightNormal",testId:s="cf-ui-caption",as:d,fontColor:n="gray900"}=t,l=y(t,["children","fontWeight","testId","as","fontColor"]);let g=useDensity();return c.createElement(S,u(h({as:d||de,testId:s,fontSize:g==="high"?"fontSizeSHigh":"fontSizeS",lineHeight:g==="high"?"lineHeightSHigh":"lineHeightS",fontColor:n,fontWeight:i},l),{ref:r}),o)}j.displayName="Caption";var $=c.forwardRef(j),ge="h1";function A(e,r){var t=e,{children:o,testId:i="cf-ui-heading",as:s,fontColor:d="gray900",marginBottom:n="spacingM"}=t,l=y(t,["children","testId","as","fontColor","marginBottom"]);let g=useDensity();return c.createElement(S,u(h({as:s||ge,testId:i,marginBottom:n,fontWeight:"fontWeightDemiBold",fontColor:d,fontSize:g==="high"?"fontSizeXlHigh":"fontSizeXl",lineHeight:g==="high"?"lineHeightXlHigh":"lineHeightXl"},l),{ref:r}),o)}A.displayName="Heading";c.forwardRef(A);var ce="h3";function F(e,r){var t=e,{children:o,testId:i="cf-ui-subheading",as:s,fontColor:d="gray900"}=t,n=y(t,["children","testId","as","fontColor"]);let l=useDensity();return c.createElement(S,u(h({as:s||ce,testId:i,marginBottom:"spacingM",fontSize:l==="high"?"fontSizeLHigh":"fontSizeL",lineHeight:l==="high"?"lineHeightLHigh":"lineHeightL",fontWeight:"fontWeightDemiBold",fontColor:d},n),{ref:r}),o)}F.displayName="Subheading";c.forwardRef(F);var fe="h2";function G(e,r){var t=e,{children:o,size:i="default",testId:s="cf-ui-display-text",as:d,fontColor:n="gray900"}=t,l=y(t,["children","size","testId","as","fontColor"]);let g="fontSize2Xl",f="lineHeightXl";return i==="large"&&(g="fontSize3Xl",f="lineHeight3Xl"),c.createElement(S,u(h({as:d||fe,testId:s,marginBottom:i==="default"?"spacingL":"spacingXl",fontSize:g,lineHeight:f,fontColor:n,fontWeight:"fontWeightDemiBold"},l),{ref:r}),o)}G.displayName="DisplayText";c.forwardRef(G);var pe="h2";function U(e,r){var t=e,{children:o,className:i,testId:s="cf-ui-section-heading",as:d,fontColor:n="gray600",marginBottom:l="spacingL"}=t,g=y(t,["children","className","testId","as","fontColor","marginBottom"]);let f=useDensity();return c.createElement(S,u(h({as:d||pe,testId:s,marginBottom:l,fontWeight:"fontWeightMedium",fontColor:n,fontSize:f==="high"?"fontSizeSHigh":"fontSizeS",lineHeight:f==="high"?"lineHeightSHigh":"lineHeightS",className:cx(css({letterSpacing:a.letterSpacingDefault}),i)},g),{ref:r}),o)}U.displayName="SectionHeading";c.forwardRef(U);var me=c.forwardRef((e,r)=>{var t=e,{children:o,testId:i="cf-ui-paragraph",marginBottom:s="spacingM"}=t,d=y(t,["children","testId","marginBottom"]);let n=useDensity();return c.createElement(S,u(h({as:"p",testId:i,fontSize:n==="high"?"fontSizeMHigh":"fontSizeM",lineHeight:n==="high"?"lineHeightMHigh":"lineHeightM",marginBottom:s},d),{ref:r}),o)});me.displayName="Paragraph";var he=({variant:e})=>{switch(e){case "positive":return {color:a.green600,backgroundColor:a.green200};case "primary":return {color:a.blue600,backgroundColor:a.blue200};case "negative":return {color:a.red600,backgroundColor:a.red200};case "warning":return {color:a.orange600,backgroundColor:a.orange200};case "secondary":return {color:a.gray700,backgroundColor:a.gray200};case "primary-filled":return {color:a.colorWhite,backgroundColor:a.blue600};case "featured":return {color:a.purple600,backgroundColor:a.purple200};default:return {}}},ue=({size:e})=>e==="small"?{padding:`0 ${a.spacing2Xs}`,lineHeight:a.lineHeightS,maxHeight:a.lineHeightS}:{padding:`0 ${a.spacingXs}`,lineHeight:a.lineHeightM,maxHeight:a.lineHeightM},q=()=>({badge:({variant:e,size:r})=>css(p(p({columnGap:a.spacing2Xs,alignItems:"center",borderRadius:a.borderRadiusSmall,overflow:"hidden",verticalAlign:"middle"},he({variant:e})),ue({size:r}))),badgeIcon:css({flexShrink:0}),badgeIconCustomTiny:css({width:"0.875rem",height:"0.875rem"}),badgeText:({textTransform:e})=>css([{color:"currentcolor",lineHeight:"inherit"},e!=="none"&&{textTransform:"lowercase","&::first-letter":{textTransform:"uppercase"}}])});var w=c.forwardRef((e,r)=>{let t=q(),H=e,{children:o,variant:i="primary",size:s="default",testId:d="cf-ui-badge",startIcon:n,endIcon:l,className:g,textTransform:f=void 0}=H,N=C(H,["children","variant","size","testId","startIcon","endIcon","className","textTransform"]),v=I=>c.cloneElement(I,{size:"tiny",className:cx(t.badgeIcon,I.props.className,{[t.badgeIconCustomTiny]:s==="small"}),color:a[getIconColorToken(i,iconColorByVariant)]});return c.createElement(Box,z(p({as:"div",testId:d,display:"inline-flex",className:cx(t.badge({variant:i,size:s}),g)},N),{ref:r}),n&&v(n),c.createElement($,{fontWeight:"fontWeightMedium",isTruncated:true,className:t.badgeText({textTransform:f})},o),l&&v(l))});w.displayName="Badge";var Ie={published:"positive",draft:"warning",archived:"secondary",changed:"primary",deleted:"negative",new:"primary-filled"};function K(e,r){let l=e,{entityStatus:t,isScheduled:o=void 0,size:i="default"}=l,s=C(l,["entityStatus","isScheduled","size"]),d=o&&i==="default",n=Ie[t];return c.createElement(w,z(p(p({},s),d?{size:i,startIcon:c.createElement(ClockIcon,{testId:"schedule-icon"})}:{size:i}),{variant:n,ref:r}),t)}K.displayName="EntityStatusBadge";var xe=c.forwardRef(K);export{w as Badge,xe as EntityStatusBadge};//# sourceMappingURL=index.js.map
1
+ import c from'react';import {cx,css}from'@emotion/css';import {Box}from'@contentful/f36-core';import a from'@contentful/f36-tokens';import {useDensity,getIconColorToken,iconColorByVariant}from'@contentful/f36-utils';import {ClockIcon}from'@contentful/f36-icons';var _=Object.defineProperty,ee=Object.defineProperties;var te=Object.getOwnPropertyDescriptors;var x=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var M=(e,r,t)=>r in e?_(e,r,{enumerable:true,configurable:true,writable:true,value:t}):e[r]=t,p=(e,r)=>{for(var t in r||(r={}))R.call(r,t)&&M(e,t,r[t]);if(x)for(var t of x(r))O.call(r,t)&&M(e,t,r[t]);return e},z=(e,r)=>ee(e,te(r));var C=(e,r)=>{var t={};for(var o in e)R.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&x)for(var o of x(e))r.indexOf(o)<0&&O.call(e,o)&&(t[o]=e[o]);return t};var oe=Object.defineProperty,ae=Object.defineProperties,ie=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,D=(e,r,t)=>r in e?oe(e,r,{enumerable:true,configurable:true,writable:true,value:t}):e[r]=t,h=(e,r)=>{for(var t in r||(r={}))L.call(r,t)&&D(e,t,r[t]);if(b)for(var t of b(r))V.call(r,t)&&D(e,t,r[t]);return e},u=(e,r)=>ae(e,ie(r)),y=(e,r)=>{var t={};for(var o in e)L.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&b)for(var o of b(e))r.indexOf(o)<0&&V.call(e,o)&&(t[o]=e[o]);return t},ne="span";function se(){return css({overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"})}function le(){return css({wordBreak:"break-word"})}function j(e,r){let t=e,{fontSize:o="fontSizeM",fontStack:i="fontStackPrimary",fontWeight:s="fontWeightNormal",fontColor:d="gray800",lineHeight:n="lineHeightM",letterSpacing:l="letterSpacingDefault",children:g,isTruncated:f,isWordBreak:N,as:W,className:v,margin:H="none",testId:I="cf-ui-text"}=t,Z=y(t,["fontSize","fontStack","fontWeight","fontColor","lineHeight","letterSpacing","children","isTruncated","isWordBreak","as","className","margin","testId"]),Q=W||ne;return c.createElement(Box,u(h({},Z),{as:Q,testId:I,className:cx(css({padding:0,fontFamily:a[i],fontWeight:a[s],color:a[d],fontSize:a[o],lineHeight:a[n],letterSpacing:a[l]}),f?se():null,N?le():null,v),margin:H,ref:r}),g)}j.displayName="Text";var S=c.forwardRef(j),de="span";function $(e,r){var t=e,{children:o,fontWeight:i="fontWeightNormal",testId:s="cf-ui-caption",as:d,fontColor:n="gray900"}=t,l=y(t,["children","fontWeight","testId","as","fontColor"]);let g=useDensity();return c.createElement(S,u(h({as:d||de,testId:s,fontSize:g==="high"?"fontSizeSHigh":"fontSizeS",lineHeight:g==="high"?"lineHeightSHigh":"lineHeightS",fontColor:n,fontWeight:i},l),{ref:r}),o)}$.displayName="Caption";var A=c.forwardRef($),ge="h1";function F(e,r){var t=e,{children:o,testId:i="cf-ui-heading",as:s,fontColor:d="gray900",marginBottom:n="spacingM"}=t,l=y(t,["children","testId","as","fontColor","marginBottom"]);let g=useDensity();return c.createElement(S,u(h({as:s||ge,testId:i,marginBottom:n,fontWeight:"fontWeightDemiBold",fontColor:d,fontSize:g==="high"?"fontSizeXlHigh":"fontSizeXl",lineHeight:g==="high"?"lineHeightXlHigh":"lineHeightXl"},l),{ref:r}),o)}F.displayName="Heading";c.forwardRef(F);var ce="h3";function G(e,r){var t=e,{children:o,testId:i="cf-ui-subheading",as:s,fontColor:d="gray900"}=t,n=y(t,["children","testId","as","fontColor"]);let l=useDensity();return c.createElement(S,u(h({as:s||ce,testId:i,marginBottom:"spacingM",fontSize:l==="high"?"fontSizeLHigh":"fontSizeL",lineHeight:l==="high"?"lineHeightLHigh":"lineHeightL",fontWeight:"fontWeightDemiBold",fontColor:d},n),{ref:r}),o)}G.displayName="Subheading";c.forwardRef(G);var fe="h2";function U(e,r){var t=e,{children:o,size:i="default",testId:s="cf-ui-display-text",as:d,fontColor:n="gray900"}=t,l=y(t,["children","size","testId","as","fontColor"]);let g="fontSize2Xl",f="lineHeightXl";return i==="large"&&(g="fontSize3Xl",f="lineHeight3Xl"),c.createElement(S,u(h({as:d||fe,testId:s,marginBottom:i==="default"?"spacingL":"spacingXl",fontSize:g,lineHeight:f,fontColor:n,fontWeight:"fontWeightDemiBold"},l),{ref:r}),o)}U.displayName="DisplayText";c.forwardRef(U);var pe="h2";function q(e,r){var t=e,{children:o,className:i,testId:s="cf-ui-section-heading",as:d,fontColor:n="gray600",marginBottom:l="spacingL"}=t,g=y(t,["children","className","testId","as","fontColor","marginBottom"]);let f=useDensity();return c.createElement(S,u(h({as:d||pe,testId:s,marginBottom:l,fontWeight:"fontWeightMedium",fontColor:n,fontSize:f==="high"?"fontSizeSHigh":"fontSizeS",lineHeight:f==="high"?"lineHeightSHigh":"lineHeightS",className:cx(css({letterSpacing:a.letterSpacingDefault}),i)},g),{ref:r}),o)}q.displayName="SectionHeading";c.forwardRef(q);var me=c.forwardRef((e,r)=>{var t=e,{children:o,testId:i="cf-ui-paragraph",marginBottom:s="spacingM"}=t,d=y(t,["children","testId","marginBottom"]);let n=useDensity();return c.createElement(S,u(h({as:"p",testId:i,fontSize:n==="high"?"fontSizeMHigh":"fontSizeM",lineHeight:n==="high"?"lineHeightMHigh":"lineHeightM",marginBottom:s},d),{ref:r}),o)});me.displayName="Paragraph";var he=({variant:e})=>{switch(e){case "positive":return {color:a.green600,backgroundColor:a.green200};case "primary":return {color:a.blue600,backgroundColor:a.blue200};case "negative":return {color:a.red600,backgroundColor:a.red200};case "warning":return {color:a.orange600,backgroundColor:a.orange200};case "secondary":return {color:a.gray700,backgroundColor:a.gray200};case "primary-filled":return {color:a.colorWhite,backgroundColor:a.blue600};case "featured":return {color:a.purple600,backgroundColor:a.purple200};default:return {}}},ue=({size:e})=>e==="small"?{padding:`0 ${a.spacing2Xs}`,lineHeight:a.lineHeightS,maxHeight:a.lineHeightS}:{padding:`0 ${a.spacingXs}`,lineHeight:a.lineHeightM,maxHeight:a.lineHeightM},J=()=>({badge:({variant:e,size:r})=>css(p(p({columnGap:a.spacing2Xs,alignItems:"center",borderRadius:a.borderRadiusSmall,overflow:"hidden",verticalAlign:"middle"},he({variant:e})),ue({size:r}))),badgeIcon:css({flexShrink:0}),badgeIconCustomTiny:css({width:"0.875rem",height:"0.875rem"}),badgeText:({textTransform:e})=>css([{color:"currentcolor",lineHeight:"inherit"},e!=="none"&&{textTransform:"lowercase","&::first-letter":{textTransform:"uppercase"}}])});var w=c.forwardRef((e,r)=>{let t=J(),H=e,{children:o,variant:i="primary",size:s="default",testId:d="cf-ui-badge",startIcon:n,endIcon:l,className:g,textTransform:f=void 0,as:N="div"}=H,W=C(H,["children","variant","size","testId","startIcon","endIcon","className","textTransform","as"]),v=I=>c.cloneElement(I,{size:"tiny",className:cx(t.badgeIcon,I.props.className,{[t.badgeIconCustomTiny]:s==="small"}),color:a[getIconColorToken(i,iconColorByVariant)]});return c.createElement(Box,z(p({as:N,testId:d,display:"inline-flex",className:cx(t.badge({variant:i,size:s}),g)},W),{ref:r}),n&&v(n),c.createElement(A,{fontWeight:"fontWeightMedium",isTruncated:true,className:t.badgeText({textTransform:f})},o),l&&v(l))});w.displayName="Badge";var Ie={published:"positive",draft:"warning",archived:"secondary",changed:"primary",deleted:"negative",new:"primary-filled"};function Y(e,r){let l=e,{entityStatus:t,isScheduled:o=void 0,size:i="default"}=l,s=C(l,["entityStatus","isScheduled","size"]),d=o&&i==="default",n=Ie[t];return c.createElement(w,z(p(p({},s),d?{size:i,startIcon:c.createElement(ClockIcon,{testId:"schedule-icon"})}:{size:i}),{variant:n,ref:r}),t)}Y.displayName="EntityStatusBadge";var xe=c.forwardRef(Y);export{w as Badge,xe as EntityStatusBadge};//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Badge/Badge.tsx","../../../typography/src/Caption/Caption.tsx","../../../typography/src/Text/Text.tsx","../../../typography/src/Heading/Heading.tsx","../../../typography/src/Subheading/Subheading.tsx","../../../typography/src/DisplayText/DisplayText.tsx","../../../typography/src/SectionHeading/SectionHeading.tsx","../../../typography/src/Paragraph/Paragraph.tsx","../../src/Badge/Badge.styles.ts","../../src/EntityStatusBadge/EntityStatusBadge.tsx"],"names":["q","J","K","h","S","u","H","t","o","p","a","s","n","TEXT_DEFAULT_TAG","truncatedStyle","css","wordBreakStyle","TextBase","props","ref","_a","fontSize","fontStack","fontWeight","fontColor","lineHeight","letterSpacing","children","isTruncated","isWordBreak","as","className","margin","testId","otherProps","__objRest","Element","React","Box","__spreadProps","__spreadValues","cx","tokens","Text","CAPTION_DEFAULT_TAG","CaptionBase","_b","density","useDensity","Caption","HEADING_DEFAULT_TAG","HeadingBase","marginBottom","SUBHEADING_DEFAULT_TAG","SubheadingBase","DISPLAY_TEXT_DEFAULT_TAG","DisplayTextBase","size","SECTION_HEADING_DEFAULT_TAG","SectionHeadingBase","Paragraph","variantToStyles","variant","sizeToStyles","getBadgeStyles","textTransform","Badge","styles","startIcon","endIcon","iconContent","icon","getIconColorToken","iconColorByVariant","R","statusMap","EntityStatusBadgeBase","entityStatus","isScheduled","withClockIcon","ClockIcon","EntityStatusBadge"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\nimport { cx } from '@emotion/css';\nimport {\n Box,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { Caption } from '@contentful/f36-typography';\nimport tokens from '@contentful/f36-tokens';\nimport { getIconColorToken, iconColorByVariant } from '@contentful/f36-utils';\nimport type * as CSS from 'csstype';\n\nimport type { BadgeSize, BadgeVariant } from '../types';\nimport { getBadgeStyles } from './Badge.styles';\n\nexport type BadgeInternalProps = CommonProps & {\n /**\n * Determines the variation of the component\n * @default primary\n */\n variant?: BadgeVariant;\n children: React.ReactNode;\n /**\n * Sets the size of the component\n * @default default\n */\n size?: BadgeSize;\n /**\n * Expects any of the icon components. Renders the icon aligned to the start\n */\n startIcon?: React.ReactNode;\n /**\n * Expects any of the icon components. Renders the icon aligned to the end\n */\n endIcon?: React.ReactNode;\n /**\n * By default the Badge uses CSS to capitalize only the first letter of the\n * badge text. This CSS is hit by a bug in Firefox that results in the badge\n * being rendered slightly too wide. To avoid the bug, set this property to\n * `none` to disable the text transformation. Please be sure the initial\n * letter of the badge text is already capitalized!\n */\n textTransform?: Extract<CSS.Property.TextTransform, 'none'> | undefined;\n};\n\nexport type BadgeProps = PropsWithHTMLElement<BadgeInternalProps, 'div'>;\n\nexport const Badge = React.forwardRef<HTMLDivElement, ExpandProps<BadgeProps>>(\n (props, ref) => {\n const styles = getBadgeStyles();\n const {\n children,\n variant = 'primary',\n size = 'default',\n testId = 'cf-ui-badge',\n startIcon,\n endIcon,\n className,\n textTransform = undefined,\n ...otherProps\n } = props;\n\n const iconContent = (icon) =>\n React.cloneElement(icon, {\n size: 'tiny',\n className: cx(styles.badgeIcon, icon.props.className, {\n [styles.badgeIconCustomTiny]: size === 'small',\n }),\n color: tokens[getIconColorToken(variant, iconColorByVariant)],\n });\n\n return (\n <Box\n as=\"div\"\n testId={testId}\n display=\"inline-flex\"\n className={cx(styles.badge({ variant, size }), className)}\n {...otherProps}\n ref={ref}\n >\n {startIcon && iconContent(startIcon)}\n <Caption\n fontWeight=\"fontWeightMedium\"\n isTruncated\n className={styles.badgeText({ textTransform })}\n >\n {children}\n </Caption>\n {endIcon && iconContent(endIcon)}\n </Box>\n );\n },\n);\n\nBadge.displayName = 'Badge';\n","import React from 'react';\nimport { FontWeightTokens } from '@contentful/f36-tokens';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst CAPTION_DEFAULT_TAG = 'span';\n\nexport interface CaptionInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n fontWeight?: Extract<\n FontWeightTokens,\n 'fontWeightNormal' | 'fontWeightMedium'\n >;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type CaptionProps<\n E extends React.ElementType = typeof CAPTION_DEFAULT_TAG,\n> = PolymorphicProps<CaptionInternalProps, E>;\n\nfunction CaptionBase<E extends React.ElementType = typeof CAPTION_DEFAULT_TAG>(\n {\n children,\n fontWeight = 'fontWeightNormal',\n testId = 'cf-ui-caption',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: CaptionProps<E>,\n ref: React.Ref<HTMLElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || CAPTION_DEFAULT_TAG;\n return (\n <Text\n as={Element}\n testId={testId}\n fontSize={density === 'high' ? 'fontSizeSHigh' : 'fontSizeS'}\n lineHeight={density === 'high' ? 'lineHeightSHigh' : 'lineHeightS'}\n fontColor={fontColor}\n fontWeight={fontWeight}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nCaptionBase.displayName = 'Caption';\n\nexport const Caption = React.forwardRef(CaptionBase) as PolymorphicComponent<\n ExpandProps<CaptionInternalProps>,\n typeof CAPTION_DEFAULT_TAG\n>;\n","import React from 'react';\nimport tokens, {\n FontSizeTokens,\n LineHeightTokens,\n FontWeightTokens,\n FontStackTokens,\n ColorTokens,\n LetterSpacingTokens,\n} from '@contentful/f36-tokens';\nimport { css, cx } from '@emotion/css';\nimport {\n Box,\n type PolymorphicComponent,\n type CommonProps,\n type MarginProps,\n type PolymorphicProps,\n type ExpandProps,\n} from '@contentful/f36-core';\n\nexport interface TextInternalProps extends CommonProps, MarginProps {\n children?: React.ReactNode;\n fontSize?: FontSizeTokens;\n lineHeight?: LineHeightTokens;\n letterSpacing?: LetterSpacingTokens;\n fontStack?: FontStackTokens;\n fontWeight?: FontWeightTokens;\n fontColor?: ColorTokens;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nconst TEXT_DEFAULT_TAG = 'span';\n\nfunction truncatedStyle() {\n return css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: '100%',\n });\n}\n\nfunction wordBreakStyle() {\n return css({\n wordBreak: 'break-word',\n });\n}\n\nexport type TextProps<E extends React.ElementType = typeof TEXT_DEFAULT_TAG> =\n PolymorphicProps<TextInternalProps, E, 'color'>;\n\nfunction TextBase<E extends React.ElementType = typeof TEXT_DEFAULT_TAG>(\n props: TextProps<E>,\n // as this is a polymorphic base component we can not narrow down the type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref: React.Ref<any>,\n) {\n const {\n fontSize = 'fontSizeM',\n fontStack = 'fontStackPrimary',\n fontWeight = 'fontWeightNormal',\n fontColor = 'gray800',\n lineHeight = 'lineHeightM',\n letterSpacing = 'letterSpacingDefault',\n children,\n isTruncated,\n isWordBreak,\n as,\n className,\n margin = 'none',\n testId = 'cf-ui-text',\n ...otherProps\n } = props;\n const Element: React.ElementType = as || TEXT_DEFAULT_TAG;\n\n return (\n <Box\n {...otherProps}\n as={Element}\n testId={testId}\n className={cx(\n css({\n padding: 0,\n fontFamily: tokens[fontStack],\n fontWeight: tokens[fontWeight],\n color: tokens[fontColor],\n fontSize: tokens[fontSize],\n lineHeight: tokens[lineHeight],\n letterSpacing: tokens[letterSpacing],\n }),\n isTruncated ? truncatedStyle() : null,\n isWordBreak ? wordBreakStyle() : null,\n className,\n )}\n margin={margin}\n ref={ref}\n >\n {children}\n </Box>\n );\n}\n\nTextBase.displayName = 'Text';\n\nexport const Text = React.forwardRef(TextBase) as PolymorphicComponent<\n ExpandProps<TextInternalProps>,\n typeof TEXT_DEFAULT_TAG,\n 'color'\n>;\n","import React from 'react';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst HEADING_DEFAULT_TAG = 'h1';\n\nexport type HeadingElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport interface HeadingInternalProps extends Omit<TextProps, 'as'> {\n as?: HeadingElement;\n children?: React.ReactNode;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type HeadingProps<\n E extends React.ElementType = typeof HEADING_DEFAULT_TAG,\n> = PolymorphicProps<HeadingInternalProps, E>;\n\nfunction HeadingBase<E extends React.ElementType = typeof HEADING_DEFAULT_TAG>(\n {\n children,\n testId = 'cf-ui-heading',\n as,\n fontColor = 'gray900',\n marginBottom = 'spacingM',\n ...otherProps\n }: HeadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || HEADING_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={marginBottom}\n fontWeight=\"fontWeightDemiBold\"\n fontColor={fontColor}\n fontSize={density === 'high' ? 'fontSizeXlHigh' : 'fontSizeXl'}\n lineHeight={density === 'high' ? 'lineHeightXlHigh' : 'lineHeightXl'}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nHeadingBase.displayName = 'Heading';\n\nexport const Heading = React.forwardRef(HeadingBase) as PolymorphicComponent<\n ExpandProps<HeadingInternalProps>,\n typeof HEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport type { HeadingElement } from '../Heading';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst SUBHEADING_DEFAULT_TAG = 'h3';\n\nexport interface SubheadingInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type SubheadingProps<\n E extends React.ElementType = typeof SUBHEADING_DEFAULT_TAG,\n> = PolymorphicProps<SubheadingInternalProps, E>;\n\nfunction SubheadingBase<\n E extends React.ElementType = typeof SUBHEADING_DEFAULT_TAG,\n>(\n {\n children,\n testId = 'cf-ui-subheading',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: SubheadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || SUBHEADING_DEFAULT_TAG;\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom=\"spacingM\"\n fontSize={density === 'high' ? 'fontSizeLHigh' : 'fontSizeL'}\n lineHeight={density === 'high' ? 'lineHeightLHigh' : 'lineHeightL'}\n fontWeight=\"fontWeightDemiBold\"\n fontColor={fontColor}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nSubheadingBase.displayName = 'Subheading';\n\nexport const Subheading = React.forwardRef(\n SubheadingBase,\n) as PolymorphicComponent<\n ExpandProps<SubheadingInternalProps>,\n typeof SUBHEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport { FontSizeTokens, LineHeightTokens } from '@contentful/f36-tokens';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport type { HeadingElement } from '../Heading';\n\nconst DISPLAY_TEXT_DEFAULT_TAG = 'h2';\n\nexport interface DisplayTextInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n size?: 'default' | 'large';\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type DisplayTextProps<\n E extends React.ElementType = typeof DISPLAY_TEXT_DEFAULT_TAG,\n> = PolymorphicProps<DisplayTextInternalProps, E>;\n\nfunction DisplayTextBase<\n E extends React.ElementType = typeof DISPLAY_TEXT_DEFAULT_TAG,\n>(\n {\n children,\n size = 'default',\n testId = 'cf-ui-display-text',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: DisplayTextProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n let fontSize: FontSizeTokens = 'fontSize2Xl';\n let lineHeight: LineHeightTokens = 'lineHeightXl';\n\n if (size === 'large') {\n fontSize = 'fontSize3Xl';\n lineHeight = 'lineHeight3Xl';\n }\n const Element: React.ElementType = as || DISPLAY_TEXT_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={size === 'default' ? 'spacingL' : 'spacingXl'}\n fontSize={fontSize}\n lineHeight={lineHeight}\n fontColor={fontColor}\n fontWeight=\"fontWeightDemiBold\"\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nDisplayTextBase.displayName = 'DisplayText';\n\nexport const DisplayText = React.forwardRef(\n DisplayTextBase,\n) as PolymorphicComponent<\n ExpandProps<DisplayTextInternalProps>,\n typeof DISPLAY_TEXT_DEFAULT_TAG\n>;\n","import React from 'react';\nimport tokens from '@contentful/f36-tokens';\nimport { css, cx } from '@emotion/css';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport type { HeadingElement } from '../Heading';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst SECTION_HEADING_DEFAULT_TAG = 'h2';\n\nexport interface SectionHeadingInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type SectionHeadingProps<\n E extends React.ElementType = typeof SECTION_HEADING_DEFAULT_TAG,\n> = PolymorphicProps<SectionHeadingInternalProps, E>;\n\nfunction SectionHeadingBase<\n E extends React.ElementType = typeof SECTION_HEADING_DEFAULT_TAG,\n>(\n {\n children,\n className,\n testId = 'cf-ui-section-heading',\n as,\n fontColor = 'gray600',\n marginBottom = 'spacingL',\n ...otherProps\n }: SectionHeadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || SECTION_HEADING_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={marginBottom}\n fontWeight=\"fontWeightMedium\"\n fontColor={fontColor}\n fontSize={density === 'high' ? 'fontSizeSHigh' : 'fontSizeS'}\n lineHeight={density === 'high' ? 'lineHeightSHigh' : 'lineHeightS'}\n className={cx(\n css({\n letterSpacing: tokens.letterSpacingDefault,\n }),\n className,\n )}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nSectionHeadingBase.displayName = 'SectionHeading';\n\nexport const SectionHeading = React.forwardRef(\n SectionHeadingBase,\n) as PolymorphicComponent<\n ExpandProps<SectionHeadingInternalProps>,\n typeof SECTION_HEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport type { PropsWithHTMLElement, ExpandProps } from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nexport type ParagraphInternalProps = TextProps & {\n children: React.ReactNode;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n};\n\nexport type ParagraphProps = PropsWithHTMLElement<ParagraphInternalProps, 'p'>;\n\nexport const Paragraph = React.forwardRef<\n HTMLParagraphElement,\n ExpandProps<ParagraphProps>\n>(\n (\n {\n children,\n testId = 'cf-ui-paragraph',\n marginBottom = 'spacingM',\n ...otherProps\n },\n ref,\n ) => {\n const density = useDensity();\n\n return (\n <Text\n as=\"p\"\n testId={testId}\n fontSize={density === 'high' ? 'fontSizeMHigh' : 'fontSizeM'}\n lineHeight={density === 'high' ? 'lineHeightMHigh' : 'lineHeightM'}\n marginBottom={marginBottom}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n },\n);\n\nParagraph.displayName = 'Paragraph';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from '@emotion/css';\nimport type { BadgeVariant, BadgeSize, BadgeStylesProps } from '../types';\nimport type { BadgeInternalProps } from './Badge';\n\nconst variantToStyles = ({ variant }: { variant: BadgeVariant }) => {\n switch (variant) {\n case 'positive':\n return {\n color: tokens.green600,\n backgroundColor: tokens.green200,\n };\n case 'primary':\n return {\n color: tokens.blue600,\n backgroundColor: tokens.blue200,\n };\n case 'negative':\n return {\n color: tokens.red600,\n backgroundColor: tokens.red200,\n };\n case 'warning':\n return {\n color: tokens.orange600,\n backgroundColor: tokens.orange200,\n };\n case 'secondary':\n return {\n color: tokens.gray700,\n backgroundColor: tokens.gray200,\n };\n case 'primary-filled':\n return {\n color: tokens.colorWhite,\n backgroundColor: tokens.blue600,\n };\n case 'featured':\n return {\n color: tokens.purple600,\n backgroundColor: tokens.purple200,\n };\n default:\n return {};\n }\n};\n\nconst sizeToStyles = ({ size }: { size: BadgeSize }) => {\n switch (size) {\n case 'small':\n return {\n padding: `0 ${tokens.spacing2Xs}`,\n lineHeight: tokens.lineHeightS,\n maxHeight: tokens.lineHeightS,\n };\n default:\n return {\n padding: `0 ${tokens.spacingXs}`,\n lineHeight: tokens.lineHeightM,\n maxHeight: tokens.lineHeightM,\n };\n }\n};\n\nexport const getBadgeStyles = () => ({\n badge: ({ variant, size }: BadgeStylesProps) =>\n css({\n columnGap: tokens.spacing2Xs,\n alignItems: 'center',\n borderRadius: tokens.borderRadiusSmall,\n overflow: 'hidden',\n verticalAlign: 'middle',\n ...variantToStyles({ variant }),\n ...sizeToStyles({ size }),\n }),\n badgeIcon: css({\n flexShrink: 0,\n }),\n badgeIconCustomTiny: css({\n width: '0.875rem',\n height: '0.875rem',\n }),\n badgeText: ({\n textTransform,\n }: {\n textTransform: BadgeInternalProps['textTransform'];\n }) =>\n css([\n {\n color: 'currentcolor',\n lineHeight: 'inherit',\n },\n textTransform !== 'none' && {\n textTransform: 'lowercase',\n '&::first-letter': {\n textTransform: 'uppercase',\n },\n },\n ]),\n});\n","import React from 'react';\nimport type {\n EntityStatus,\n ExpandProps,\n PickUnion,\n} from '@contentful/f36-core';\nimport { ClockIcon } from '@contentful/f36-icons';\n\nimport { Badge, type BadgeProps } from '../Badge/Badge';\nimport type { BadgeSize, BadgeVariant } from '../types';\n\nconst statusMap: { [key in EntityStatus]: BadgeVariant } = {\n published: 'positive',\n draft: 'warning',\n archived: 'secondary',\n changed: 'primary',\n deleted: 'negative',\n new: 'primary-filled',\n};\n\ntype BadgeSizeWithIsScheduledProp =\n | {\n /**\n * Sets the size of the component\n * @default default\n */\n size?: Exclude<BadgeSize, 'small'>;\n /**\n * Indicates that the entity that the badge is related to has a scheduled action\n */\n isScheduled?: boolean;\n }\n | {\n /**\n * Sets the size of the component\n * @default default\n */\n size: PickUnion<BadgeSize, 'small'>;\n // We use discriminative union typing, so in case the size is set as small we don't allow isScheduled\n isScheduled?: never;\n };\n\nexport type EntityStatusBadgeProps = Omit<\n BadgeProps,\n 'children' | 'endIcon' | 'size' | 'startIcon' | 'variant'\n> &\n BadgeSizeWithIsScheduledProp & {\n entityStatus: EntityStatus;\n };\n\nfunction EntityStatusBadgeBase(\n props: EntityStatusBadgeProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {\n entityStatus,\n isScheduled = undefined,\n size = 'default',\n ...otherProps\n } = props;\n const withClockIcon = isScheduled && size === 'default';\n const variant = statusMap[entityStatus];\n\n return (\n <Badge\n {...otherProps}\n {...(withClockIcon\n ? { size, startIcon: <ClockIcon testId=\"schedule-icon\" /> }\n : { size })}\n variant={variant}\n ref={ref}\n >\n {entityStatus}\n </Badge>\n );\n}\n\nEntityStatusBadgeBase.displayName = 'EntityStatusBadge';\n\nconst EntityStatusBadge = React.forwardRef<\n HTMLDivElement,\n ExpandProps<EntityStatusBadgeProps>\n>(EntityStatusBadgeBase);\nexport { EntityStatusBadge };\n"]}
1
+ {"version":3,"sources":["../../src/Badge/Badge.tsx","../../../typography/src/Caption/Caption.tsx","../../../typography/src/Text/Text.tsx","../../../typography/src/Heading/Heading.tsx","../../../typography/src/Subheading/Subheading.tsx","../../../typography/src/DisplayText/DisplayText.tsx","../../../typography/src/SectionHeading/SectionHeading.tsx","../../../typography/src/Paragraph/Paragraph.tsx","../../src/Badge/Badge.styles.ts","../../src/EntityStatusBadge/EntityStatusBadge.tsx"],"names":["q","J","K","h","S","u","H","t","o","p","a","s","n","TEXT_DEFAULT_TAG","truncatedStyle","css","wordBreakStyle","TextBase","props","ref","_a","fontSize","fontStack","fontWeight","fontColor","lineHeight","letterSpacing","children","isTruncated","isWordBreak","as","className","margin","testId","otherProps","__objRest","Element","React","Box","__spreadProps","__spreadValues","cx","tokens","Text","CAPTION_DEFAULT_TAG","CaptionBase","_b","density","useDensity","Caption","HEADING_DEFAULT_TAG","HeadingBase","marginBottom","SUBHEADING_DEFAULT_TAG","SubheadingBase","DISPLAY_TEXT_DEFAULT_TAG","DisplayTextBase","size","SECTION_HEADING_DEFAULT_TAG","SectionHeadingBase","Paragraph","variantToStyles","variant","sizeToStyles","getBadgeStyles","textTransform","Badge","styles","startIcon","endIcon","iconContent","icon","getIconColorToken","iconColorByVariant","R","statusMap","EntityStatusBadgeBase","entityStatus","isScheduled","withClockIcon","ClockIcon","EntityStatusBadge"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\nimport { cx } from '@emotion/css';\nimport {\n Box,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { Caption } from '@contentful/f36-typography';\nimport tokens from '@contentful/f36-tokens';\nimport { getIconColorToken, iconColorByVariant } from '@contentful/f36-utils';\nimport type * as CSS from 'csstype';\n\nimport type { BadgeSize, BadgeVariant } from '../types';\nimport { getBadgeStyles } from './Badge.styles';\n\nexport type BadgeInternalProps = CommonProps & {\n /**\n * Determines the variation of the component\n * @default primary\n */\n variant?: BadgeVariant;\n children: React.ReactNode;\n /**\n * Sets the size of the component\n * @default default\n */\n size?: BadgeSize;\n /**\n * Expects any of the icon components. Renders the icon aligned to the start\n */\n startIcon?: React.ReactNode;\n /**\n * Expects any of the icon components. Renders the icon aligned to the end\n */\n endIcon?: React.ReactNode;\n /**\n * By default the Badge uses CSS to capitalize only the first letter of the\n * badge text. This CSS is hit by a bug in Firefox that results in the badge\n * being rendered slightly too wide. To avoid the bug, set this property to\n * `none` to disable the text transformation. Please be sure the initial\n * letter of the badge text is already capitalized!\n */\n textTransform?: Extract<CSS.Property.TextTransform, 'none'> | undefined;\n\n /**\n * HTML element used to wrap the target of the tooltip\n * @default 'div'\n */\n as?: React.ElementType;\n};\n\nexport type BadgeProps = PropsWithHTMLElement<BadgeInternalProps, 'div'>;\n\nexport const Badge = React.forwardRef<HTMLDivElement, ExpandProps<BadgeProps>>(\n (props, ref) => {\n const styles = getBadgeStyles();\n const {\n children,\n variant = 'primary',\n size = 'default',\n testId = 'cf-ui-badge',\n startIcon,\n endIcon,\n className,\n textTransform = undefined,\n as = 'div',\n ...otherProps\n } = props;\n\n const iconContent = (icon) =>\n React.cloneElement(icon, {\n size: 'tiny',\n className: cx(styles.badgeIcon, icon.props.className, {\n [styles.badgeIconCustomTiny]: size === 'small',\n }),\n color: tokens[getIconColorToken(variant, iconColorByVariant)],\n });\n\n return (\n <Box\n as={as}\n testId={testId}\n display=\"inline-flex\"\n className={cx(styles.badge({ variant, size }), className)}\n {...otherProps}\n ref={ref}\n >\n {startIcon && iconContent(startIcon)}\n <Caption\n fontWeight=\"fontWeightMedium\"\n isTruncated\n className={styles.badgeText({ textTransform })}\n >\n {children}\n </Caption>\n {endIcon && iconContent(endIcon)}\n </Box>\n );\n },\n);\n\nBadge.displayName = 'Badge';\n","import React from 'react';\nimport { FontWeightTokens } from '@contentful/f36-tokens';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst CAPTION_DEFAULT_TAG = 'span';\n\nexport interface CaptionInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n fontWeight?: Extract<\n FontWeightTokens,\n 'fontWeightNormal' | 'fontWeightMedium'\n >;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type CaptionProps<\n E extends React.ElementType = typeof CAPTION_DEFAULT_TAG,\n> = PolymorphicProps<CaptionInternalProps, E>;\n\nfunction CaptionBase<E extends React.ElementType = typeof CAPTION_DEFAULT_TAG>(\n {\n children,\n fontWeight = 'fontWeightNormal',\n testId = 'cf-ui-caption',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: CaptionProps<E>,\n ref: React.Ref<HTMLElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || CAPTION_DEFAULT_TAG;\n return (\n <Text\n as={Element}\n testId={testId}\n fontSize={density === 'high' ? 'fontSizeSHigh' : 'fontSizeS'}\n lineHeight={density === 'high' ? 'lineHeightSHigh' : 'lineHeightS'}\n fontColor={fontColor}\n fontWeight={fontWeight}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nCaptionBase.displayName = 'Caption';\n\nexport const Caption = React.forwardRef(CaptionBase) as PolymorphicComponent<\n ExpandProps<CaptionInternalProps>,\n typeof CAPTION_DEFAULT_TAG\n>;\n","import React from 'react';\nimport tokens, {\n FontSizeTokens,\n LineHeightTokens,\n FontWeightTokens,\n FontStackTokens,\n ColorTokens,\n LetterSpacingTokens,\n} from '@contentful/f36-tokens';\nimport { css, cx } from '@emotion/css';\nimport {\n Box,\n type PolymorphicComponent,\n type CommonProps,\n type MarginProps,\n type PolymorphicProps,\n type ExpandProps,\n} from '@contentful/f36-core';\n\nexport interface TextInternalProps extends CommonProps, MarginProps {\n children?: React.ReactNode;\n fontSize?: FontSizeTokens;\n lineHeight?: LineHeightTokens;\n letterSpacing?: LetterSpacingTokens;\n fontStack?: FontStackTokens;\n fontWeight?: FontWeightTokens;\n fontColor?: ColorTokens;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nconst TEXT_DEFAULT_TAG = 'span';\n\nfunction truncatedStyle() {\n return css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: '100%',\n });\n}\n\nfunction wordBreakStyle() {\n return css({\n wordBreak: 'break-word',\n });\n}\n\nexport type TextProps<E extends React.ElementType = typeof TEXT_DEFAULT_TAG> =\n PolymorphicProps<TextInternalProps, E, 'color'>;\n\nfunction TextBase<E extends React.ElementType = typeof TEXT_DEFAULT_TAG>(\n props: TextProps<E>,\n // as this is a polymorphic base component we can not narrow down the type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref: React.Ref<any>,\n) {\n const {\n fontSize = 'fontSizeM',\n fontStack = 'fontStackPrimary',\n fontWeight = 'fontWeightNormal',\n fontColor = 'gray800',\n lineHeight = 'lineHeightM',\n letterSpacing = 'letterSpacingDefault',\n children,\n isTruncated,\n isWordBreak,\n as,\n className,\n margin = 'none',\n testId = 'cf-ui-text',\n ...otherProps\n } = props;\n const Element: React.ElementType = as || TEXT_DEFAULT_TAG;\n\n return (\n <Box\n {...otherProps}\n as={Element}\n testId={testId}\n className={cx(\n css({\n padding: 0,\n fontFamily: tokens[fontStack],\n fontWeight: tokens[fontWeight],\n color: tokens[fontColor],\n fontSize: tokens[fontSize],\n lineHeight: tokens[lineHeight],\n letterSpacing: tokens[letterSpacing],\n }),\n isTruncated ? truncatedStyle() : null,\n isWordBreak ? wordBreakStyle() : null,\n className,\n )}\n margin={margin}\n ref={ref}\n >\n {children}\n </Box>\n );\n}\n\nTextBase.displayName = 'Text';\n\nexport const Text = React.forwardRef(TextBase) as PolymorphicComponent<\n ExpandProps<TextInternalProps>,\n typeof TEXT_DEFAULT_TAG,\n 'color'\n>;\n","import React from 'react';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst HEADING_DEFAULT_TAG = 'h1';\n\nexport type HeadingElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport interface HeadingInternalProps extends Omit<TextProps, 'as'> {\n as?: HeadingElement;\n children?: React.ReactNode;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type HeadingProps<\n E extends React.ElementType = typeof HEADING_DEFAULT_TAG,\n> = PolymorphicProps<HeadingInternalProps, E>;\n\nfunction HeadingBase<E extends React.ElementType = typeof HEADING_DEFAULT_TAG>(\n {\n children,\n testId = 'cf-ui-heading',\n as,\n fontColor = 'gray900',\n marginBottom = 'spacingM',\n ...otherProps\n }: HeadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || HEADING_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={marginBottom}\n fontWeight=\"fontWeightDemiBold\"\n fontColor={fontColor}\n fontSize={density === 'high' ? 'fontSizeXlHigh' : 'fontSizeXl'}\n lineHeight={density === 'high' ? 'lineHeightXlHigh' : 'lineHeightXl'}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nHeadingBase.displayName = 'Heading';\n\nexport const Heading = React.forwardRef(HeadingBase) as PolymorphicComponent<\n ExpandProps<HeadingInternalProps>,\n typeof HEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport type { HeadingElement } from '../Heading';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst SUBHEADING_DEFAULT_TAG = 'h3';\n\nexport interface SubheadingInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type SubheadingProps<\n E extends React.ElementType = typeof SUBHEADING_DEFAULT_TAG,\n> = PolymorphicProps<SubheadingInternalProps, E>;\n\nfunction SubheadingBase<\n E extends React.ElementType = typeof SUBHEADING_DEFAULT_TAG,\n>(\n {\n children,\n testId = 'cf-ui-subheading',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: SubheadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || SUBHEADING_DEFAULT_TAG;\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom=\"spacingM\"\n fontSize={density === 'high' ? 'fontSizeLHigh' : 'fontSizeL'}\n lineHeight={density === 'high' ? 'lineHeightLHigh' : 'lineHeightL'}\n fontWeight=\"fontWeightDemiBold\"\n fontColor={fontColor}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nSubheadingBase.displayName = 'Subheading';\n\nexport const Subheading = React.forwardRef(\n SubheadingBase,\n) as PolymorphicComponent<\n ExpandProps<SubheadingInternalProps>,\n typeof SUBHEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport { FontSizeTokens, LineHeightTokens } from '@contentful/f36-tokens';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport type { HeadingElement } from '../Heading';\n\nconst DISPLAY_TEXT_DEFAULT_TAG = 'h2';\n\nexport interface DisplayTextInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n size?: 'default' | 'large';\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type DisplayTextProps<\n E extends React.ElementType = typeof DISPLAY_TEXT_DEFAULT_TAG,\n> = PolymorphicProps<DisplayTextInternalProps, E>;\n\nfunction DisplayTextBase<\n E extends React.ElementType = typeof DISPLAY_TEXT_DEFAULT_TAG,\n>(\n {\n children,\n size = 'default',\n testId = 'cf-ui-display-text',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: DisplayTextProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n let fontSize: FontSizeTokens = 'fontSize2Xl';\n let lineHeight: LineHeightTokens = 'lineHeightXl';\n\n if (size === 'large') {\n fontSize = 'fontSize3Xl';\n lineHeight = 'lineHeight3Xl';\n }\n const Element: React.ElementType = as || DISPLAY_TEXT_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={size === 'default' ? 'spacingL' : 'spacingXl'}\n fontSize={fontSize}\n lineHeight={lineHeight}\n fontColor={fontColor}\n fontWeight=\"fontWeightDemiBold\"\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nDisplayTextBase.displayName = 'DisplayText';\n\nexport const DisplayText = React.forwardRef(\n DisplayTextBase,\n) as PolymorphicComponent<\n ExpandProps<DisplayTextInternalProps>,\n typeof DISPLAY_TEXT_DEFAULT_TAG\n>;\n","import React from 'react';\nimport tokens from '@contentful/f36-tokens';\nimport { css, cx } from '@emotion/css';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport type { HeadingElement } from '../Heading';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst SECTION_HEADING_DEFAULT_TAG = 'h2';\n\nexport interface SectionHeadingInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type SectionHeadingProps<\n E extends React.ElementType = typeof SECTION_HEADING_DEFAULT_TAG,\n> = PolymorphicProps<SectionHeadingInternalProps, E>;\n\nfunction SectionHeadingBase<\n E extends React.ElementType = typeof SECTION_HEADING_DEFAULT_TAG,\n>(\n {\n children,\n className,\n testId = 'cf-ui-section-heading',\n as,\n fontColor = 'gray600',\n marginBottom = 'spacingL',\n ...otherProps\n }: SectionHeadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || SECTION_HEADING_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={marginBottom}\n fontWeight=\"fontWeightMedium\"\n fontColor={fontColor}\n fontSize={density === 'high' ? 'fontSizeSHigh' : 'fontSizeS'}\n lineHeight={density === 'high' ? 'lineHeightSHigh' : 'lineHeightS'}\n className={cx(\n css({\n letterSpacing: tokens.letterSpacingDefault,\n }),\n className,\n )}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nSectionHeadingBase.displayName = 'SectionHeading';\n\nexport const SectionHeading = React.forwardRef(\n SectionHeadingBase,\n) as PolymorphicComponent<\n ExpandProps<SectionHeadingInternalProps>,\n typeof SECTION_HEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport type { PropsWithHTMLElement, ExpandProps } from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nexport type ParagraphInternalProps = TextProps & {\n children: React.ReactNode;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n};\n\nexport type ParagraphProps = PropsWithHTMLElement<ParagraphInternalProps, 'p'>;\n\nexport const Paragraph = React.forwardRef<\n HTMLParagraphElement,\n ExpandProps<ParagraphProps>\n>(\n (\n {\n children,\n testId = 'cf-ui-paragraph',\n marginBottom = 'spacingM',\n ...otherProps\n },\n ref,\n ) => {\n const density = useDensity();\n\n return (\n <Text\n as=\"p\"\n testId={testId}\n fontSize={density === 'high' ? 'fontSizeMHigh' : 'fontSizeM'}\n lineHeight={density === 'high' ? 'lineHeightMHigh' : 'lineHeightM'}\n marginBottom={marginBottom}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n },\n);\n\nParagraph.displayName = 'Paragraph';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from '@emotion/css';\nimport type { BadgeVariant, BadgeSize, BadgeStylesProps } from '../types';\nimport type { BadgeInternalProps } from './Badge';\n\nconst variantToStyles = ({ variant }: { variant: BadgeVariant }) => {\n switch (variant) {\n case 'positive':\n return {\n color: tokens.green600,\n backgroundColor: tokens.green200,\n };\n case 'primary':\n return {\n color: tokens.blue600,\n backgroundColor: tokens.blue200,\n };\n case 'negative':\n return {\n color: tokens.red600,\n backgroundColor: tokens.red200,\n };\n case 'warning':\n return {\n color: tokens.orange600,\n backgroundColor: tokens.orange200,\n };\n case 'secondary':\n return {\n color: tokens.gray700,\n backgroundColor: tokens.gray200,\n };\n case 'primary-filled':\n return {\n color: tokens.colorWhite,\n backgroundColor: tokens.blue600,\n };\n case 'featured':\n return {\n color: tokens.purple600,\n backgroundColor: tokens.purple200,\n };\n default:\n return {};\n }\n};\n\nconst sizeToStyles = ({ size }: { size: BadgeSize }) => {\n switch (size) {\n case 'small':\n return {\n padding: `0 ${tokens.spacing2Xs}`,\n lineHeight: tokens.lineHeightS,\n maxHeight: tokens.lineHeightS,\n };\n default:\n return {\n padding: `0 ${tokens.spacingXs}`,\n lineHeight: tokens.lineHeightM,\n maxHeight: tokens.lineHeightM,\n };\n }\n};\n\nexport const getBadgeStyles = () => ({\n badge: ({ variant, size }: BadgeStylesProps) =>\n css({\n columnGap: tokens.spacing2Xs,\n alignItems: 'center',\n borderRadius: tokens.borderRadiusSmall,\n overflow: 'hidden',\n verticalAlign: 'middle',\n ...variantToStyles({ variant }),\n ...sizeToStyles({ size }),\n }),\n badgeIcon: css({\n flexShrink: 0,\n }),\n badgeIconCustomTiny: css({\n width: '0.875rem',\n height: '0.875rem',\n }),\n badgeText: ({\n textTransform,\n }: {\n textTransform: BadgeInternalProps['textTransform'];\n }) =>\n css([\n {\n color: 'currentcolor',\n lineHeight: 'inherit',\n },\n textTransform !== 'none' && {\n textTransform: 'lowercase',\n '&::first-letter': {\n textTransform: 'uppercase',\n },\n },\n ]),\n});\n","import React from 'react';\nimport type {\n EntityStatus,\n ExpandProps,\n PickUnion,\n} from '@contentful/f36-core';\nimport { ClockIcon } from '@contentful/f36-icons';\n\nimport { Badge, type BadgeProps } from '../Badge/Badge';\nimport type { BadgeSize, BadgeVariant } from '../types';\n\nconst statusMap: { [key in EntityStatus]: BadgeVariant } = {\n published: 'positive',\n draft: 'warning',\n archived: 'secondary',\n changed: 'primary',\n deleted: 'negative',\n new: 'primary-filled',\n};\n\ntype BadgeSizeWithIsScheduledProp =\n | {\n /**\n * Sets the size of the component\n * @default default\n */\n size?: Exclude<BadgeSize, 'small'>;\n /**\n * Indicates that the entity that the badge is related to has a scheduled action\n */\n isScheduled?: boolean;\n }\n | {\n /**\n * Sets the size of the component\n * @default default\n */\n size: PickUnion<BadgeSize, 'small'>;\n // We use discriminative union typing, so in case the size is set as small we don't allow isScheduled\n isScheduled?: never;\n };\n\nexport type EntityStatusBadgeProps = Omit<\n BadgeProps,\n 'children' | 'endIcon' | 'size' | 'startIcon' | 'variant'\n> &\n BadgeSizeWithIsScheduledProp & {\n entityStatus: EntityStatus;\n };\n\nfunction EntityStatusBadgeBase(\n props: EntityStatusBadgeProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {\n entityStatus,\n isScheduled = undefined,\n size = 'default',\n ...otherProps\n } = props;\n const withClockIcon = isScheduled && size === 'default';\n const variant = statusMap[entityStatus];\n\n return (\n <Badge\n {...otherProps}\n {...(withClockIcon\n ? { size, startIcon: <ClockIcon testId=\"schedule-icon\" /> }\n : { size })}\n variant={variant}\n ref={ref}\n >\n {entityStatus}\n </Badge>\n );\n}\n\nEntityStatusBadgeBase.displayName = 'EntityStatusBadge';\n\nconst EntityStatusBadge = React.forwardRef<\n HTMLDivElement,\n ExpandProps<EntityStatusBadgeProps>\n>(EntityStatusBadgeBase);\nexport { EntityStatusBadge };\n"]}
package/dist/index.d.mts CHANGED
@@ -33,9 +33,14 @@ type BadgeInternalProps = CommonProps & {
33
33
  * letter of the badge text is already capitalized!
34
34
  */
35
35
  textTransform?: Extract<CSS.Property.TextTransform, 'none'> | undefined;
36
+ /**
37
+ * HTML element used to wrap the target of the tooltip
38
+ * @default 'div'
39
+ */
40
+ as?: React.ElementType;
36
41
  };
37
42
  type BadgeProps = PropsWithHTMLElement<BadgeInternalProps, 'div'>;
38
- declare const Badge: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, never>, "variant" | "size" | "textTransform" | "children" | keyof CommonProps | "startIcon" | "endIcon"> & CommonProps & {
43
+ declare const Badge: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, never>, "variant" | "size" | "textTransform" | "children" | keyof CommonProps | "startIcon" | "endIcon" | "as"> & CommonProps & {
39
44
  /**
40
45
  * Determines the variation of the component
41
46
  * @default primary
@@ -63,6 +68,11 @@ declare const Badge: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.Detail
63
68
  * letter of the badge text is already capitalized!
64
69
  */
65
70
  textTransform?: Extract<CSS.Property.TextTransform, "none"> | undefined;
71
+ /**
72
+ * HTML element used to wrap the target of the tooltip
73
+ * @default 'div'
74
+ */
75
+ as?: React.ElementType;
66
76
  } & React.RefAttributes<HTMLDivElement>>;
67
77
 
68
78
  type BadgeSizeWithIsScheduledProp = {
package/dist/index.d.ts CHANGED
@@ -33,9 +33,14 @@ type BadgeInternalProps = CommonProps & {
33
33
  * letter of the badge text is already capitalized!
34
34
  */
35
35
  textTransform?: Extract<CSS.Property.TextTransform, 'none'> | undefined;
36
+ /**
37
+ * HTML element used to wrap the target of the tooltip
38
+ * @default 'div'
39
+ */
40
+ as?: React.ElementType;
36
41
  };
37
42
  type BadgeProps = PropsWithHTMLElement<BadgeInternalProps, 'div'>;
38
- declare const Badge: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, never>, "variant" | "size" | "textTransform" | "children" | keyof CommonProps | "startIcon" | "endIcon"> & CommonProps & {
43
+ declare const Badge: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, never>, "variant" | "size" | "textTransform" | "children" | keyof CommonProps | "startIcon" | "endIcon" | "as"> & CommonProps & {
39
44
  /**
40
45
  * Determines the variation of the component
41
46
  * @default primary
@@ -63,6 +68,11 @@ declare const Badge: React.ForwardRefExoticComponent<Omit<Omit<Omit<React.Detail
63
68
  * letter of the badge text is already capitalized!
64
69
  */
65
70
  textTransform?: Extract<CSS.Property.TextTransform, "none"> | undefined;
71
+ /**
72
+ * HTML element used to wrap the target of the tooltip
73
+ * @default 'div'
74
+ */
75
+ as?: React.ElementType;
66
76
  } & React.RefAttributes<HTMLDivElement>>;
67
77
 
68
78
  type BadgeSizeWithIsScheduledProp = {
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- 'use strict';var c=require('react'),css=require('@emotion/css'),f36Core=require('@contentful/f36-core'),a=require('@contentful/f36-tokens'),f36Utils=require('@contentful/f36-utils'),f36Icons=require('@contentful/f36-icons');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var c__default=/*#__PURE__*/_interopDefault(c);var a__default=/*#__PURE__*/_interopDefault(a);var _=Object.defineProperty,ee=Object.defineProperties;var te=Object.getOwnPropertyDescriptors;var x=Object.getOwnPropertySymbols;var M=Object.prototype.hasOwnProperty,R=Object.prototype.propertyIsEnumerable;var k=(e,r,t)=>r in e?_(e,r,{enumerable:true,configurable:true,writable:true,value:t}):e[r]=t,p=(e,r)=>{for(var t in r||(r={}))M.call(r,t)&&k(e,t,r[t]);if(x)for(var t of x(r))R.call(r,t)&&k(e,t,r[t]);return e},z=(e,r)=>ee(e,te(r));var C=(e,r)=>{var t={};for(var o in e)M.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&x)for(var o of x(e))r.indexOf(o)<0&&R.call(e,o)&&(t[o]=e[o]);return t};var oe=Object.defineProperty,ae=Object.defineProperties,ie=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,X=Object.prototype.hasOwnProperty,L=Object.prototype.propertyIsEnumerable,O=(e,r,t)=>r in e?oe(e,r,{enumerable:true,configurable:true,writable:true,value:t}):e[r]=t,h=(e,r)=>{for(var t in r||(r={}))X.call(r,t)&&O(e,t,r[t]);if(b)for(var t of b(r))L.call(r,t)&&O(e,t,r[t]);return e},u=(e,r)=>ae(e,ie(r)),y=(e,r)=>{var t={};for(var o in e)X.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&b)for(var o of b(e))r.indexOf(o)<0&&L.call(e,o)&&(t[o]=e[o]);return t},ne="span";function se(){return css.css({overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"})}function le(){return css.css({wordBreak:"break-word"})}function V(e,r){let t=e,{fontSize:o="fontSizeM",fontStack:i="fontStackPrimary",fontWeight:s="fontWeightNormal",fontColor:d="gray800",lineHeight:n="lineHeightM",letterSpacing:l="letterSpacingDefault",children:g,isTruncated:f,isWordBreak:N,as:v,className:H,margin:I="none",testId:Y="cf-ui-text"}=t,Z=y(t,["fontSize","fontStack","fontWeight","fontColor","lineHeight","letterSpacing","children","isTruncated","isWordBreak","as","className","margin","testId"]),Q=v||ne;return c__default.default.createElement(f36Core.Box,u(h({},Z),{as:Q,testId:Y,className:css.cx(css.css({padding:0,fontFamily:a__default.default[i],fontWeight:a__default.default[s],color:a__default.default[d],fontSize:a__default.default[o],lineHeight:a__default.default[n],letterSpacing:a__default.default[l]}),f?se():null,N?le():null,H),margin:I,ref:r}),g)}V.displayName="Text";var S=c__default.default.forwardRef(V),de="span";function j(e,r){var t=e,{children:o,fontWeight:i="fontWeightNormal",testId:s="cf-ui-caption",as:d,fontColor:n="gray900"}=t,l=y(t,["children","fontWeight","testId","as","fontColor"]);let g=f36Utils.useDensity();return c__default.default.createElement(S,u(h({as:d||de,testId:s,fontSize:g==="high"?"fontSizeSHigh":"fontSizeS",lineHeight:g==="high"?"lineHeightSHigh":"lineHeightS",fontColor:n,fontWeight:i},l),{ref:r}),o)}j.displayName="Caption";var $=c__default.default.forwardRef(j),ge="h1";function A(e,r){var t=e,{children:o,testId:i="cf-ui-heading",as:s,fontColor:d="gray900",marginBottom:n="spacingM"}=t,l=y(t,["children","testId","as","fontColor","marginBottom"]);let g=f36Utils.useDensity();return c__default.default.createElement(S,u(h({as:s||ge,testId:i,marginBottom:n,fontWeight:"fontWeightDemiBold",fontColor:d,fontSize:g==="high"?"fontSizeXlHigh":"fontSizeXl",lineHeight:g==="high"?"lineHeightXlHigh":"lineHeightXl"},l),{ref:r}),o)}A.displayName="Heading";c__default.default.forwardRef(A);var ce="h3";function F(e,r){var t=e,{children:o,testId:i="cf-ui-subheading",as:s,fontColor:d="gray900"}=t,n=y(t,["children","testId","as","fontColor"]);let l=f36Utils.useDensity();return c__default.default.createElement(S,u(h({as:s||ce,testId:i,marginBottom:"spacingM",fontSize:l==="high"?"fontSizeLHigh":"fontSizeL",lineHeight:l==="high"?"lineHeightLHigh":"lineHeightL",fontWeight:"fontWeightDemiBold",fontColor:d},n),{ref:r}),o)}F.displayName="Subheading";c__default.default.forwardRef(F);var fe="h2";function G(e,r){var t=e,{children:o,size:i="default",testId:s="cf-ui-display-text",as:d,fontColor:n="gray900"}=t,l=y(t,["children","size","testId","as","fontColor"]);let g="fontSize2Xl",f="lineHeightXl";return i==="large"&&(g="fontSize3Xl",f="lineHeight3Xl"),c__default.default.createElement(S,u(h({as:d||fe,testId:s,marginBottom:i==="default"?"spacingL":"spacingXl",fontSize:g,lineHeight:f,fontColor:n,fontWeight:"fontWeightDemiBold"},l),{ref:r}),o)}G.displayName="DisplayText";c__default.default.forwardRef(G);var pe="h2";function U(e,r){var t=e,{children:o,className:i,testId:s="cf-ui-section-heading",as:d,fontColor:n="gray600",marginBottom:l="spacingL"}=t,g=y(t,["children","className","testId","as","fontColor","marginBottom"]);let f=f36Utils.useDensity();return c__default.default.createElement(S,u(h({as:d||pe,testId:s,marginBottom:l,fontWeight:"fontWeightMedium",fontColor:n,fontSize:f==="high"?"fontSizeSHigh":"fontSizeS",lineHeight:f==="high"?"lineHeightSHigh":"lineHeightS",className:css.cx(css.css({letterSpacing:a__default.default.letterSpacingDefault}),i)},g),{ref:r}),o)}U.displayName="SectionHeading";c__default.default.forwardRef(U);var me=c__default.default.forwardRef((e,r)=>{var t=e,{children:o,testId:i="cf-ui-paragraph",marginBottom:s="spacingM"}=t,d=y(t,["children","testId","marginBottom"]);let n=f36Utils.useDensity();return c__default.default.createElement(S,u(h({as:"p",testId:i,fontSize:n==="high"?"fontSizeMHigh":"fontSizeM",lineHeight:n==="high"?"lineHeightMHigh":"lineHeightM",marginBottom:s},d),{ref:r}),o)});me.displayName="Paragraph";var he=({variant:e})=>{switch(e){case "positive":return {color:a__default.default.green600,backgroundColor:a__default.default.green200};case "primary":return {color:a__default.default.blue600,backgroundColor:a__default.default.blue200};case "negative":return {color:a__default.default.red600,backgroundColor:a__default.default.red200};case "warning":return {color:a__default.default.orange600,backgroundColor:a__default.default.orange200};case "secondary":return {color:a__default.default.gray700,backgroundColor:a__default.default.gray200};case "primary-filled":return {color:a__default.default.colorWhite,backgroundColor:a__default.default.blue600};case "featured":return {color:a__default.default.purple600,backgroundColor:a__default.default.purple200};default:return {}}},ue=({size:e})=>e==="small"?{padding:`0 ${a__default.default.spacing2Xs}`,lineHeight:a__default.default.lineHeightS,maxHeight:a__default.default.lineHeightS}:{padding:`0 ${a__default.default.spacingXs}`,lineHeight:a__default.default.lineHeightM,maxHeight:a__default.default.lineHeightM},q=()=>({badge:({variant:e,size:r})=>css.css(p(p({columnGap:a__default.default.spacing2Xs,alignItems:"center",borderRadius:a__default.default.borderRadiusSmall,overflow:"hidden",verticalAlign:"middle"},he({variant:e})),ue({size:r}))),badgeIcon:css.css({flexShrink:0}),badgeIconCustomTiny:css.css({width:"0.875rem",height:"0.875rem"}),badgeText:({textTransform:e})=>css.css([{color:"currentcolor",lineHeight:"inherit"},e!=="none"&&{textTransform:"lowercase","&::first-letter":{textTransform:"uppercase"}}])});var w=c__default.default.forwardRef((e,r)=>{let t=q(),H=e,{children:o,variant:i="primary",size:s="default",testId:d="cf-ui-badge",startIcon:n,endIcon:l,className:g,textTransform:f=void 0}=H,N=C(H,["children","variant","size","testId","startIcon","endIcon","className","textTransform"]),v=I=>c__default.default.cloneElement(I,{size:"tiny",className:css.cx(t.badgeIcon,I.props.className,{[t.badgeIconCustomTiny]:s==="small"}),color:a__default.default[f36Utils.getIconColorToken(i,f36Utils.iconColorByVariant)]});return c__default.default.createElement(f36Core.Box,z(p({as:"div",testId:d,display:"inline-flex",className:css.cx(t.badge({variant:i,size:s}),g)},N),{ref:r}),n&&v(n),c__default.default.createElement($,{fontWeight:"fontWeightMedium",isTruncated:true,className:t.badgeText({textTransform:f})},o),l&&v(l))});w.displayName="Badge";var Ie={published:"positive",draft:"warning",archived:"secondary",changed:"primary",deleted:"negative",new:"primary-filled"};function K(e,r){let l=e,{entityStatus:t,isScheduled:o=void 0,size:i="default"}=l,s=C(l,["entityStatus","isScheduled","size"]),d=o&&i==="default",n=Ie[t];return c__default.default.createElement(w,z(p(p({},s),d?{size:i,startIcon:c__default.default.createElement(f36Icons.ClockIcon,{testId:"schedule-icon"})}:{size:i}),{variant:n,ref:r}),t)}K.displayName="EntityStatusBadge";var xe=c__default.default.forwardRef(K);exports.Badge=w;exports.EntityStatusBadge=xe;//# sourceMappingURL=index.js.map
1
+ 'use strict';var c=require('react'),css=require('@emotion/css'),f36Core=require('@contentful/f36-core'),a=require('@contentful/f36-tokens'),f36Utils=require('@contentful/f36-utils'),f36Icons=require('@contentful/f36-icons');function _interopDefault(e){return e&&e.__esModule?e:{default:e}}var c__default=/*#__PURE__*/_interopDefault(c);var a__default=/*#__PURE__*/_interopDefault(a);var _=Object.defineProperty,ee=Object.defineProperties;var te=Object.getOwnPropertyDescriptors;var x=Object.getOwnPropertySymbols;var R=Object.prototype.hasOwnProperty,O=Object.prototype.propertyIsEnumerable;var M=(e,r,t)=>r in e?_(e,r,{enumerable:true,configurable:true,writable:true,value:t}):e[r]=t,p=(e,r)=>{for(var t in r||(r={}))R.call(r,t)&&M(e,t,r[t]);if(x)for(var t of x(r))O.call(r,t)&&M(e,t,r[t]);return e},z=(e,r)=>ee(e,te(r));var C=(e,r)=>{var t={};for(var o in e)R.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&x)for(var o of x(e))r.indexOf(o)<0&&O.call(e,o)&&(t[o]=e[o]);return t};var oe=Object.defineProperty,ae=Object.defineProperties,ie=Object.getOwnPropertyDescriptors,b=Object.getOwnPropertySymbols,L=Object.prototype.hasOwnProperty,V=Object.prototype.propertyIsEnumerable,D=(e,r,t)=>r in e?oe(e,r,{enumerable:true,configurable:true,writable:true,value:t}):e[r]=t,h=(e,r)=>{for(var t in r||(r={}))L.call(r,t)&&D(e,t,r[t]);if(b)for(var t of b(r))V.call(r,t)&&D(e,t,r[t]);return e},u=(e,r)=>ae(e,ie(r)),y=(e,r)=>{var t={};for(var o in e)L.call(e,o)&&r.indexOf(o)<0&&(t[o]=e[o]);if(e!=null&&b)for(var o of b(e))r.indexOf(o)<0&&V.call(e,o)&&(t[o]=e[o]);return t},ne="span";function se(){return css.css({overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"100%"})}function le(){return css.css({wordBreak:"break-word"})}function j(e,r){let t=e,{fontSize:o="fontSizeM",fontStack:i="fontStackPrimary",fontWeight:s="fontWeightNormal",fontColor:d="gray800",lineHeight:n="lineHeightM",letterSpacing:l="letterSpacingDefault",children:g,isTruncated:f,isWordBreak:N,as:W,className:v,margin:H="none",testId:I="cf-ui-text"}=t,Z=y(t,["fontSize","fontStack","fontWeight","fontColor","lineHeight","letterSpacing","children","isTruncated","isWordBreak","as","className","margin","testId"]),Q=W||ne;return c__default.default.createElement(f36Core.Box,u(h({},Z),{as:Q,testId:I,className:css.cx(css.css({padding:0,fontFamily:a__default.default[i],fontWeight:a__default.default[s],color:a__default.default[d],fontSize:a__default.default[o],lineHeight:a__default.default[n],letterSpacing:a__default.default[l]}),f?se():null,N?le():null,v),margin:H,ref:r}),g)}j.displayName="Text";var S=c__default.default.forwardRef(j),de="span";function $(e,r){var t=e,{children:o,fontWeight:i="fontWeightNormal",testId:s="cf-ui-caption",as:d,fontColor:n="gray900"}=t,l=y(t,["children","fontWeight","testId","as","fontColor"]);let g=f36Utils.useDensity();return c__default.default.createElement(S,u(h({as:d||de,testId:s,fontSize:g==="high"?"fontSizeSHigh":"fontSizeS",lineHeight:g==="high"?"lineHeightSHigh":"lineHeightS",fontColor:n,fontWeight:i},l),{ref:r}),o)}$.displayName="Caption";var A=c__default.default.forwardRef($),ge="h1";function F(e,r){var t=e,{children:o,testId:i="cf-ui-heading",as:s,fontColor:d="gray900",marginBottom:n="spacingM"}=t,l=y(t,["children","testId","as","fontColor","marginBottom"]);let g=f36Utils.useDensity();return c__default.default.createElement(S,u(h({as:s||ge,testId:i,marginBottom:n,fontWeight:"fontWeightDemiBold",fontColor:d,fontSize:g==="high"?"fontSizeXlHigh":"fontSizeXl",lineHeight:g==="high"?"lineHeightXlHigh":"lineHeightXl"},l),{ref:r}),o)}F.displayName="Heading";c__default.default.forwardRef(F);var ce="h3";function G(e,r){var t=e,{children:o,testId:i="cf-ui-subheading",as:s,fontColor:d="gray900"}=t,n=y(t,["children","testId","as","fontColor"]);let l=f36Utils.useDensity();return c__default.default.createElement(S,u(h({as:s||ce,testId:i,marginBottom:"spacingM",fontSize:l==="high"?"fontSizeLHigh":"fontSizeL",lineHeight:l==="high"?"lineHeightLHigh":"lineHeightL",fontWeight:"fontWeightDemiBold",fontColor:d},n),{ref:r}),o)}G.displayName="Subheading";c__default.default.forwardRef(G);var fe="h2";function U(e,r){var t=e,{children:o,size:i="default",testId:s="cf-ui-display-text",as:d,fontColor:n="gray900"}=t,l=y(t,["children","size","testId","as","fontColor"]);let g="fontSize2Xl",f="lineHeightXl";return i==="large"&&(g="fontSize3Xl",f="lineHeight3Xl"),c__default.default.createElement(S,u(h({as:d||fe,testId:s,marginBottom:i==="default"?"spacingL":"spacingXl",fontSize:g,lineHeight:f,fontColor:n,fontWeight:"fontWeightDemiBold"},l),{ref:r}),o)}U.displayName="DisplayText";c__default.default.forwardRef(U);var pe="h2";function q(e,r){var t=e,{children:o,className:i,testId:s="cf-ui-section-heading",as:d,fontColor:n="gray600",marginBottom:l="spacingL"}=t,g=y(t,["children","className","testId","as","fontColor","marginBottom"]);let f=f36Utils.useDensity();return c__default.default.createElement(S,u(h({as:d||pe,testId:s,marginBottom:l,fontWeight:"fontWeightMedium",fontColor:n,fontSize:f==="high"?"fontSizeSHigh":"fontSizeS",lineHeight:f==="high"?"lineHeightSHigh":"lineHeightS",className:css.cx(css.css({letterSpacing:a__default.default.letterSpacingDefault}),i)},g),{ref:r}),o)}q.displayName="SectionHeading";c__default.default.forwardRef(q);var me=c__default.default.forwardRef((e,r)=>{var t=e,{children:o,testId:i="cf-ui-paragraph",marginBottom:s="spacingM"}=t,d=y(t,["children","testId","marginBottom"]);let n=f36Utils.useDensity();return c__default.default.createElement(S,u(h({as:"p",testId:i,fontSize:n==="high"?"fontSizeMHigh":"fontSizeM",lineHeight:n==="high"?"lineHeightMHigh":"lineHeightM",marginBottom:s},d),{ref:r}),o)});me.displayName="Paragraph";var he=({variant:e})=>{switch(e){case "positive":return {color:a__default.default.green600,backgroundColor:a__default.default.green200};case "primary":return {color:a__default.default.blue600,backgroundColor:a__default.default.blue200};case "negative":return {color:a__default.default.red600,backgroundColor:a__default.default.red200};case "warning":return {color:a__default.default.orange600,backgroundColor:a__default.default.orange200};case "secondary":return {color:a__default.default.gray700,backgroundColor:a__default.default.gray200};case "primary-filled":return {color:a__default.default.colorWhite,backgroundColor:a__default.default.blue600};case "featured":return {color:a__default.default.purple600,backgroundColor:a__default.default.purple200};default:return {}}},ue=({size:e})=>e==="small"?{padding:`0 ${a__default.default.spacing2Xs}`,lineHeight:a__default.default.lineHeightS,maxHeight:a__default.default.lineHeightS}:{padding:`0 ${a__default.default.spacingXs}`,lineHeight:a__default.default.lineHeightM,maxHeight:a__default.default.lineHeightM},J=()=>({badge:({variant:e,size:r})=>css.css(p(p({columnGap:a__default.default.spacing2Xs,alignItems:"center",borderRadius:a__default.default.borderRadiusSmall,overflow:"hidden",verticalAlign:"middle"},he({variant:e})),ue({size:r}))),badgeIcon:css.css({flexShrink:0}),badgeIconCustomTiny:css.css({width:"0.875rem",height:"0.875rem"}),badgeText:({textTransform:e})=>css.css([{color:"currentcolor",lineHeight:"inherit"},e!=="none"&&{textTransform:"lowercase","&::first-letter":{textTransform:"uppercase"}}])});var w=c__default.default.forwardRef((e,r)=>{let t=J(),H=e,{children:o,variant:i="primary",size:s="default",testId:d="cf-ui-badge",startIcon:n,endIcon:l,className:g,textTransform:f=void 0,as:N="div"}=H,W=C(H,["children","variant","size","testId","startIcon","endIcon","className","textTransform","as"]),v=I=>c__default.default.cloneElement(I,{size:"tiny",className:css.cx(t.badgeIcon,I.props.className,{[t.badgeIconCustomTiny]:s==="small"}),color:a__default.default[f36Utils.getIconColorToken(i,f36Utils.iconColorByVariant)]});return c__default.default.createElement(f36Core.Box,z(p({as:N,testId:d,display:"inline-flex",className:css.cx(t.badge({variant:i,size:s}),g)},W),{ref:r}),n&&v(n),c__default.default.createElement(A,{fontWeight:"fontWeightMedium",isTruncated:true,className:t.badgeText({textTransform:f})},o),l&&v(l))});w.displayName="Badge";var Ie={published:"positive",draft:"warning",archived:"secondary",changed:"primary",deleted:"negative",new:"primary-filled"};function Y(e,r){let l=e,{entityStatus:t,isScheduled:o=void 0,size:i="default"}=l,s=C(l,["entityStatus","isScheduled","size"]),d=o&&i==="default",n=Ie[t];return c__default.default.createElement(w,z(p(p({},s),d?{size:i,startIcon:c__default.default.createElement(f36Icons.ClockIcon,{testId:"schedule-icon"})}:{size:i}),{variant:n,ref:r}),t)}Y.displayName="EntityStatusBadge";var xe=c__default.default.forwardRef(Y);exports.Badge=w;exports.EntityStatusBadge=xe;//# sourceMappingURL=index.js.map
2
2
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/Badge/Badge.tsx","../../typography/src/Caption/Caption.tsx","../../typography/src/Text/Text.tsx","../../typography/src/Heading/Heading.tsx","../../typography/src/Subheading/Subheading.tsx","../../typography/src/DisplayText/DisplayText.tsx","../../typography/src/SectionHeading/SectionHeading.tsx","../../typography/src/Paragraph/Paragraph.tsx","../src/Badge/Badge.styles.ts","../src/EntityStatusBadge/EntityStatusBadge.tsx"],"names":["q","J","K","h","S","u","H","t","o","p","a","s","n","TEXT_DEFAULT_TAG","truncatedStyle","css","wordBreakStyle","TextBase","props","ref","_a","fontSize","fontStack","fontWeight","fontColor","lineHeight","letterSpacing","children","isTruncated","isWordBreak","as","className","margin","testId","otherProps","__objRest","Element","React","Box","__spreadProps","__spreadValues","cx","tokens","Text","CAPTION_DEFAULT_TAG","CaptionBase","_b","density","useDensity","Caption","HEADING_DEFAULT_TAG","HeadingBase","marginBottom","SUBHEADING_DEFAULT_TAG","SubheadingBase","DISPLAY_TEXT_DEFAULT_TAG","DisplayTextBase","size","SECTION_HEADING_DEFAULT_TAG","SectionHeadingBase","Paragraph","variantToStyles","variant","sizeToStyles","getBadgeStyles","textTransform","Badge","styles","startIcon","endIcon","iconContent","icon","getIconColorToken","iconColorByVariant","R","statusMap","EntityStatusBadgeBase","entityStatus","isScheduled","withClockIcon","ClockIcon","EntityStatusBadge"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\nimport { cx } from '@emotion/css';\nimport {\n Box,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { Caption } from '@contentful/f36-typography';\nimport tokens from '@contentful/f36-tokens';\nimport { getIconColorToken, iconColorByVariant } from '@contentful/f36-utils';\nimport type * as CSS from 'csstype';\n\nimport type { BadgeSize, BadgeVariant } from '../types';\nimport { getBadgeStyles } from './Badge.styles';\n\nexport type BadgeInternalProps = CommonProps & {\n /**\n * Determines the variation of the component\n * @default primary\n */\n variant?: BadgeVariant;\n children: React.ReactNode;\n /**\n * Sets the size of the component\n * @default default\n */\n size?: BadgeSize;\n /**\n * Expects any of the icon components. Renders the icon aligned to the start\n */\n startIcon?: React.ReactNode;\n /**\n * Expects any of the icon components. Renders the icon aligned to the end\n */\n endIcon?: React.ReactNode;\n /**\n * By default the Badge uses CSS to capitalize only the first letter of the\n * badge text. This CSS is hit by a bug in Firefox that results in the badge\n * being rendered slightly too wide. To avoid the bug, set this property to\n * `none` to disable the text transformation. Please be sure the initial\n * letter of the badge text is already capitalized!\n */\n textTransform?: Extract<CSS.Property.TextTransform, 'none'> | undefined;\n};\n\nexport type BadgeProps = PropsWithHTMLElement<BadgeInternalProps, 'div'>;\n\nexport const Badge = React.forwardRef<HTMLDivElement, ExpandProps<BadgeProps>>(\n (props, ref) => {\n const styles = getBadgeStyles();\n const {\n children,\n variant = 'primary',\n size = 'default',\n testId = 'cf-ui-badge',\n startIcon,\n endIcon,\n className,\n textTransform = undefined,\n ...otherProps\n } = props;\n\n const iconContent = (icon) =>\n React.cloneElement(icon, {\n size: 'tiny',\n className: cx(styles.badgeIcon, icon.props.className, {\n [styles.badgeIconCustomTiny]: size === 'small',\n }),\n color: tokens[getIconColorToken(variant, iconColorByVariant)],\n });\n\n return (\n <Box\n as=\"div\"\n testId={testId}\n display=\"inline-flex\"\n className={cx(styles.badge({ variant, size }), className)}\n {...otherProps}\n ref={ref}\n >\n {startIcon && iconContent(startIcon)}\n <Caption\n fontWeight=\"fontWeightMedium\"\n isTruncated\n className={styles.badgeText({ textTransform })}\n >\n {children}\n </Caption>\n {endIcon && iconContent(endIcon)}\n </Box>\n );\n },\n);\n\nBadge.displayName = 'Badge';\n","import React from 'react';\nimport { FontWeightTokens } from '@contentful/f36-tokens';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst CAPTION_DEFAULT_TAG = 'span';\n\nexport interface CaptionInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n fontWeight?: Extract<\n FontWeightTokens,\n 'fontWeightNormal' | 'fontWeightMedium'\n >;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type CaptionProps<\n E extends React.ElementType = typeof CAPTION_DEFAULT_TAG,\n> = PolymorphicProps<CaptionInternalProps, E>;\n\nfunction CaptionBase<E extends React.ElementType = typeof CAPTION_DEFAULT_TAG>(\n {\n children,\n fontWeight = 'fontWeightNormal',\n testId = 'cf-ui-caption',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: CaptionProps<E>,\n ref: React.Ref<HTMLElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || CAPTION_DEFAULT_TAG;\n return (\n <Text\n as={Element}\n testId={testId}\n fontSize={density === 'high' ? 'fontSizeSHigh' : 'fontSizeS'}\n lineHeight={density === 'high' ? 'lineHeightSHigh' : 'lineHeightS'}\n fontColor={fontColor}\n fontWeight={fontWeight}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nCaptionBase.displayName = 'Caption';\n\nexport const Caption = React.forwardRef(CaptionBase) as PolymorphicComponent<\n ExpandProps<CaptionInternalProps>,\n typeof CAPTION_DEFAULT_TAG\n>;\n","import React from 'react';\nimport tokens, {\n FontSizeTokens,\n LineHeightTokens,\n FontWeightTokens,\n FontStackTokens,\n ColorTokens,\n LetterSpacingTokens,\n} from '@contentful/f36-tokens';\nimport { css, cx } from '@emotion/css';\nimport {\n Box,\n type PolymorphicComponent,\n type CommonProps,\n type MarginProps,\n type PolymorphicProps,\n type ExpandProps,\n} from '@contentful/f36-core';\n\nexport interface TextInternalProps extends CommonProps, MarginProps {\n children?: React.ReactNode;\n fontSize?: FontSizeTokens;\n lineHeight?: LineHeightTokens;\n letterSpacing?: LetterSpacingTokens;\n fontStack?: FontStackTokens;\n fontWeight?: FontWeightTokens;\n fontColor?: ColorTokens;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nconst TEXT_DEFAULT_TAG = 'span';\n\nfunction truncatedStyle() {\n return css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: '100%',\n });\n}\n\nfunction wordBreakStyle() {\n return css({\n wordBreak: 'break-word',\n });\n}\n\nexport type TextProps<E extends React.ElementType = typeof TEXT_DEFAULT_TAG> =\n PolymorphicProps<TextInternalProps, E, 'color'>;\n\nfunction TextBase<E extends React.ElementType = typeof TEXT_DEFAULT_TAG>(\n props: TextProps<E>,\n // as this is a polymorphic base component we can not narrow down the type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref: React.Ref<any>,\n) {\n const {\n fontSize = 'fontSizeM',\n fontStack = 'fontStackPrimary',\n fontWeight = 'fontWeightNormal',\n fontColor = 'gray800',\n lineHeight = 'lineHeightM',\n letterSpacing = 'letterSpacingDefault',\n children,\n isTruncated,\n isWordBreak,\n as,\n className,\n margin = 'none',\n testId = 'cf-ui-text',\n ...otherProps\n } = props;\n const Element: React.ElementType = as || TEXT_DEFAULT_TAG;\n\n return (\n <Box\n {...otherProps}\n as={Element}\n testId={testId}\n className={cx(\n css({\n padding: 0,\n fontFamily: tokens[fontStack],\n fontWeight: tokens[fontWeight],\n color: tokens[fontColor],\n fontSize: tokens[fontSize],\n lineHeight: tokens[lineHeight],\n letterSpacing: tokens[letterSpacing],\n }),\n isTruncated ? truncatedStyle() : null,\n isWordBreak ? wordBreakStyle() : null,\n className,\n )}\n margin={margin}\n ref={ref}\n >\n {children}\n </Box>\n );\n}\n\nTextBase.displayName = 'Text';\n\nexport const Text = React.forwardRef(TextBase) as PolymorphicComponent<\n ExpandProps<TextInternalProps>,\n typeof TEXT_DEFAULT_TAG,\n 'color'\n>;\n","import React from 'react';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst HEADING_DEFAULT_TAG = 'h1';\n\nexport type HeadingElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport interface HeadingInternalProps extends Omit<TextProps, 'as'> {\n as?: HeadingElement;\n children?: React.ReactNode;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type HeadingProps<\n E extends React.ElementType = typeof HEADING_DEFAULT_TAG,\n> = PolymorphicProps<HeadingInternalProps, E>;\n\nfunction HeadingBase<E extends React.ElementType = typeof HEADING_DEFAULT_TAG>(\n {\n children,\n testId = 'cf-ui-heading',\n as,\n fontColor = 'gray900',\n marginBottom = 'spacingM',\n ...otherProps\n }: HeadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || HEADING_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={marginBottom}\n fontWeight=\"fontWeightDemiBold\"\n fontColor={fontColor}\n fontSize={density === 'high' ? 'fontSizeXlHigh' : 'fontSizeXl'}\n lineHeight={density === 'high' ? 'lineHeightXlHigh' : 'lineHeightXl'}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nHeadingBase.displayName = 'Heading';\n\nexport const Heading = React.forwardRef(HeadingBase) as PolymorphicComponent<\n ExpandProps<HeadingInternalProps>,\n typeof HEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport type { HeadingElement } from '../Heading';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst SUBHEADING_DEFAULT_TAG = 'h3';\n\nexport interface SubheadingInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type SubheadingProps<\n E extends React.ElementType = typeof SUBHEADING_DEFAULT_TAG,\n> = PolymorphicProps<SubheadingInternalProps, E>;\n\nfunction SubheadingBase<\n E extends React.ElementType = typeof SUBHEADING_DEFAULT_TAG,\n>(\n {\n children,\n testId = 'cf-ui-subheading',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: SubheadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || SUBHEADING_DEFAULT_TAG;\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom=\"spacingM\"\n fontSize={density === 'high' ? 'fontSizeLHigh' : 'fontSizeL'}\n lineHeight={density === 'high' ? 'lineHeightLHigh' : 'lineHeightL'}\n fontWeight=\"fontWeightDemiBold\"\n fontColor={fontColor}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nSubheadingBase.displayName = 'Subheading';\n\nexport const Subheading = React.forwardRef(\n SubheadingBase,\n) as PolymorphicComponent<\n ExpandProps<SubheadingInternalProps>,\n typeof SUBHEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport { FontSizeTokens, LineHeightTokens } from '@contentful/f36-tokens';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport type { HeadingElement } from '../Heading';\n\nconst DISPLAY_TEXT_DEFAULT_TAG = 'h2';\n\nexport interface DisplayTextInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n size?: 'default' | 'large';\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type DisplayTextProps<\n E extends React.ElementType = typeof DISPLAY_TEXT_DEFAULT_TAG,\n> = PolymorphicProps<DisplayTextInternalProps, E>;\n\nfunction DisplayTextBase<\n E extends React.ElementType = typeof DISPLAY_TEXT_DEFAULT_TAG,\n>(\n {\n children,\n size = 'default',\n testId = 'cf-ui-display-text',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: DisplayTextProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n let fontSize: FontSizeTokens = 'fontSize2Xl';\n let lineHeight: LineHeightTokens = 'lineHeightXl';\n\n if (size === 'large') {\n fontSize = 'fontSize3Xl';\n lineHeight = 'lineHeight3Xl';\n }\n const Element: React.ElementType = as || DISPLAY_TEXT_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={size === 'default' ? 'spacingL' : 'spacingXl'}\n fontSize={fontSize}\n lineHeight={lineHeight}\n fontColor={fontColor}\n fontWeight=\"fontWeightDemiBold\"\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nDisplayTextBase.displayName = 'DisplayText';\n\nexport const DisplayText = React.forwardRef(\n DisplayTextBase,\n) as PolymorphicComponent<\n ExpandProps<DisplayTextInternalProps>,\n typeof DISPLAY_TEXT_DEFAULT_TAG\n>;\n","import React from 'react';\nimport tokens from '@contentful/f36-tokens';\nimport { css, cx } from '@emotion/css';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport type { HeadingElement } from '../Heading';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst SECTION_HEADING_DEFAULT_TAG = 'h2';\n\nexport interface SectionHeadingInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type SectionHeadingProps<\n E extends React.ElementType = typeof SECTION_HEADING_DEFAULT_TAG,\n> = PolymorphicProps<SectionHeadingInternalProps, E>;\n\nfunction SectionHeadingBase<\n E extends React.ElementType = typeof SECTION_HEADING_DEFAULT_TAG,\n>(\n {\n children,\n className,\n testId = 'cf-ui-section-heading',\n as,\n fontColor = 'gray600',\n marginBottom = 'spacingL',\n ...otherProps\n }: SectionHeadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || SECTION_HEADING_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={marginBottom}\n fontWeight=\"fontWeightMedium\"\n fontColor={fontColor}\n fontSize={density === 'high' ? 'fontSizeSHigh' : 'fontSizeS'}\n lineHeight={density === 'high' ? 'lineHeightSHigh' : 'lineHeightS'}\n className={cx(\n css({\n letterSpacing: tokens.letterSpacingDefault,\n }),\n className,\n )}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nSectionHeadingBase.displayName = 'SectionHeading';\n\nexport const SectionHeading = React.forwardRef(\n SectionHeadingBase,\n) as PolymorphicComponent<\n ExpandProps<SectionHeadingInternalProps>,\n typeof SECTION_HEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport type { PropsWithHTMLElement, ExpandProps } from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nexport type ParagraphInternalProps = TextProps & {\n children: React.ReactNode;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n};\n\nexport type ParagraphProps = PropsWithHTMLElement<ParagraphInternalProps, 'p'>;\n\nexport const Paragraph = React.forwardRef<\n HTMLParagraphElement,\n ExpandProps<ParagraphProps>\n>(\n (\n {\n children,\n testId = 'cf-ui-paragraph',\n marginBottom = 'spacingM',\n ...otherProps\n },\n ref,\n ) => {\n const density = useDensity();\n\n return (\n <Text\n as=\"p\"\n testId={testId}\n fontSize={density === 'high' ? 'fontSizeMHigh' : 'fontSizeM'}\n lineHeight={density === 'high' ? 'lineHeightMHigh' : 'lineHeightM'}\n marginBottom={marginBottom}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n },\n);\n\nParagraph.displayName = 'Paragraph';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from '@emotion/css';\nimport type { BadgeVariant, BadgeSize, BadgeStylesProps } from '../types';\nimport type { BadgeInternalProps } from './Badge';\n\nconst variantToStyles = ({ variant }: { variant: BadgeVariant }) => {\n switch (variant) {\n case 'positive':\n return {\n color: tokens.green600,\n backgroundColor: tokens.green200,\n };\n case 'primary':\n return {\n color: tokens.blue600,\n backgroundColor: tokens.blue200,\n };\n case 'negative':\n return {\n color: tokens.red600,\n backgroundColor: tokens.red200,\n };\n case 'warning':\n return {\n color: tokens.orange600,\n backgroundColor: tokens.orange200,\n };\n case 'secondary':\n return {\n color: tokens.gray700,\n backgroundColor: tokens.gray200,\n };\n case 'primary-filled':\n return {\n color: tokens.colorWhite,\n backgroundColor: tokens.blue600,\n };\n case 'featured':\n return {\n color: tokens.purple600,\n backgroundColor: tokens.purple200,\n };\n default:\n return {};\n }\n};\n\nconst sizeToStyles = ({ size }: { size: BadgeSize }) => {\n switch (size) {\n case 'small':\n return {\n padding: `0 ${tokens.spacing2Xs}`,\n lineHeight: tokens.lineHeightS,\n maxHeight: tokens.lineHeightS,\n };\n default:\n return {\n padding: `0 ${tokens.spacingXs}`,\n lineHeight: tokens.lineHeightM,\n maxHeight: tokens.lineHeightM,\n };\n }\n};\n\nexport const getBadgeStyles = () => ({\n badge: ({ variant, size }: BadgeStylesProps) =>\n css({\n columnGap: tokens.spacing2Xs,\n alignItems: 'center',\n borderRadius: tokens.borderRadiusSmall,\n overflow: 'hidden',\n verticalAlign: 'middle',\n ...variantToStyles({ variant }),\n ...sizeToStyles({ size }),\n }),\n badgeIcon: css({\n flexShrink: 0,\n }),\n badgeIconCustomTiny: css({\n width: '0.875rem',\n height: '0.875rem',\n }),\n badgeText: ({\n textTransform,\n }: {\n textTransform: BadgeInternalProps['textTransform'];\n }) =>\n css([\n {\n color: 'currentcolor',\n lineHeight: 'inherit',\n },\n textTransform !== 'none' && {\n textTransform: 'lowercase',\n '&::first-letter': {\n textTransform: 'uppercase',\n },\n },\n ]),\n});\n","import React from 'react';\nimport type {\n EntityStatus,\n ExpandProps,\n PickUnion,\n} from '@contentful/f36-core';\nimport { ClockIcon } from '@contentful/f36-icons';\n\nimport { Badge, type BadgeProps } from '../Badge/Badge';\nimport type { BadgeSize, BadgeVariant } from '../types';\n\nconst statusMap: { [key in EntityStatus]: BadgeVariant } = {\n published: 'positive',\n draft: 'warning',\n archived: 'secondary',\n changed: 'primary',\n deleted: 'negative',\n new: 'primary-filled',\n};\n\ntype BadgeSizeWithIsScheduledProp =\n | {\n /**\n * Sets the size of the component\n * @default default\n */\n size?: Exclude<BadgeSize, 'small'>;\n /**\n * Indicates that the entity that the badge is related to has a scheduled action\n */\n isScheduled?: boolean;\n }\n | {\n /**\n * Sets the size of the component\n * @default default\n */\n size: PickUnion<BadgeSize, 'small'>;\n // We use discriminative union typing, so in case the size is set as small we don't allow isScheduled\n isScheduled?: never;\n };\n\nexport type EntityStatusBadgeProps = Omit<\n BadgeProps,\n 'children' | 'endIcon' | 'size' | 'startIcon' | 'variant'\n> &\n BadgeSizeWithIsScheduledProp & {\n entityStatus: EntityStatus;\n };\n\nfunction EntityStatusBadgeBase(\n props: EntityStatusBadgeProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {\n entityStatus,\n isScheduled = undefined,\n size = 'default',\n ...otherProps\n } = props;\n const withClockIcon = isScheduled && size === 'default';\n const variant = statusMap[entityStatus];\n\n return (\n <Badge\n {...otherProps}\n {...(withClockIcon\n ? { size, startIcon: <ClockIcon testId=\"schedule-icon\" /> }\n : { size })}\n variant={variant}\n ref={ref}\n >\n {entityStatus}\n </Badge>\n );\n}\n\nEntityStatusBadgeBase.displayName = 'EntityStatusBadge';\n\nconst EntityStatusBadge = React.forwardRef<\n HTMLDivElement,\n ExpandProps<EntityStatusBadgeProps>\n>(EntityStatusBadgeBase);\nexport { EntityStatusBadge };\n"]}
1
+ {"version":3,"sources":["../src/Badge/Badge.tsx","../../typography/src/Caption/Caption.tsx","../../typography/src/Text/Text.tsx","../../typography/src/Heading/Heading.tsx","../../typography/src/Subheading/Subheading.tsx","../../typography/src/DisplayText/DisplayText.tsx","../../typography/src/SectionHeading/SectionHeading.tsx","../../typography/src/Paragraph/Paragraph.tsx","../src/Badge/Badge.styles.ts","../src/EntityStatusBadge/EntityStatusBadge.tsx"],"names":["q","J","K","h","S","u","H","t","o","p","a","s","n","TEXT_DEFAULT_TAG","truncatedStyle","css","wordBreakStyle","TextBase","props","ref","_a","fontSize","fontStack","fontWeight","fontColor","lineHeight","letterSpacing","children","isTruncated","isWordBreak","as","className","margin","testId","otherProps","__objRest","Element","React","Box","__spreadProps","__spreadValues","cx","tokens","Text","CAPTION_DEFAULT_TAG","CaptionBase","_b","density","useDensity","Caption","HEADING_DEFAULT_TAG","HeadingBase","marginBottom","SUBHEADING_DEFAULT_TAG","SubheadingBase","DISPLAY_TEXT_DEFAULT_TAG","DisplayTextBase","size","SECTION_HEADING_DEFAULT_TAG","SectionHeadingBase","Paragraph","variantToStyles","variant","sizeToStyles","getBadgeStyles","textTransform","Badge","styles","startIcon","endIcon","iconContent","icon","getIconColorToken","iconColorByVariant","R","statusMap","EntityStatusBadgeBase","entityStatus","isScheduled","withClockIcon","ClockIcon","EntityStatusBadge"],"mappings":"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","file":"index.js","sourcesContent":["import React from 'react';\nimport { cx } from '@emotion/css';\nimport {\n Box,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\nimport { Caption } from '@contentful/f36-typography';\nimport tokens from '@contentful/f36-tokens';\nimport { getIconColorToken, iconColorByVariant } from '@contentful/f36-utils';\nimport type * as CSS from 'csstype';\n\nimport type { BadgeSize, BadgeVariant } from '../types';\nimport { getBadgeStyles } from './Badge.styles';\n\nexport type BadgeInternalProps = CommonProps & {\n /**\n * Determines the variation of the component\n * @default primary\n */\n variant?: BadgeVariant;\n children: React.ReactNode;\n /**\n * Sets the size of the component\n * @default default\n */\n size?: BadgeSize;\n /**\n * Expects any of the icon components. Renders the icon aligned to the start\n */\n startIcon?: React.ReactNode;\n /**\n * Expects any of the icon components. Renders the icon aligned to the end\n */\n endIcon?: React.ReactNode;\n /**\n * By default the Badge uses CSS to capitalize only the first letter of the\n * badge text. This CSS is hit by a bug in Firefox that results in the badge\n * being rendered slightly too wide. To avoid the bug, set this property to\n * `none` to disable the text transformation. Please be sure the initial\n * letter of the badge text is already capitalized!\n */\n textTransform?: Extract<CSS.Property.TextTransform, 'none'> | undefined;\n\n /**\n * HTML element used to wrap the target of the tooltip\n * @default 'div'\n */\n as?: React.ElementType;\n};\n\nexport type BadgeProps = PropsWithHTMLElement<BadgeInternalProps, 'div'>;\n\nexport const Badge = React.forwardRef<HTMLDivElement, ExpandProps<BadgeProps>>(\n (props, ref) => {\n const styles = getBadgeStyles();\n const {\n children,\n variant = 'primary',\n size = 'default',\n testId = 'cf-ui-badge',\n startIcon,\n endIcon,\n className,\n textTransform = undefined,\n as = 'div',\n ...otherProps\n } = props;\n\n const iconContent = (icon) =>\n React.cloneElement(icon, {\n size: 'tiny',\n className: cx(styles.badgeIcon, icon.props.className, {\n [styles.badgeIconCustomTiny]: size === 'small',\n }),\n color: tokens[getIconColorToken(variant, iconColorByVariant)],\n });\n\n return (\n <Box\n as={as}\n testId={testId}\n display=\"inline-flex\"\n className={cx(styles.badge({ variant, size }), className)}\n {...otherProps}\n ref={ref}\n >\n {startIcon && iconContent(startIcon)}\n <Caption\n fontWeight=\"fontWeightMedium\"\n isTruncated\n className={styles.badgeText({ textTransform })}\n >\n {children}\n </Caption>\n {endIcon && iconContent(endIcon)}\n </Box>\n );\n },\n);\n\nBadge.displayName = 'Badge';\n","import React from 'react';\nimport { FontWeightTokens } from '@contentful/f36-tokens';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst CAPTION_DEFAULT_TAG = 'span';\n\nexport interface CaptionInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n fontWeight?: Extract<\n FontWeightTokens,\n 'fontWeightNormal' | 'fontWeightMedium'\n >;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type CaptionProps<\n E extends React.ElementType = typeof CAPTION_DEFAULT_TAG,\n> = PolymorphicProps<CaptionInternalProps, E>;\n\nfunction CaptionBase<E extends React.ElementType = typeof CAPTION_DEFAULT_TAG>(\n {\n children,\n fontWeight = 'fontWeightNormal',\n testId = 'cf-ui-caption',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: CaptionProps<E>,\n ref: React.Ref<HTMLElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || CAPTION_DEFAULT_TAG;\n return (\n <Text\n as={Element}\n testId={testId}\n fontSize={density === 'high' ? 'fontSizeSHigh' : 'fontSizeS'}\n lineHeight={density === 'high' ? 'lineHeightSHigh' : 'lineHeightS'}\n fontColor={fontColor}\n fontWeight={fontWeight}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nCaptionBase.displayName = 'Caption';\n\nexport const Caption = React.forwardRef(CaptionBase) as PolymorphicComponent<\n ExpandProps<CaptionInternalProps>,\n typeof CAPTION_DEFAULT_TAG\n>;\n","import React from 'react';\nimport tokens, {\n FontSizeTokens,\n LineHeightTokens,\n FontWeightTokens,\n FontStackTokens,\n ColorTokens,\n LetterSpacingTokens,\n} from '@contentful/f36-tokens';\nimport { css, cx } from '@emotion/css';\nimport {\n Box,\n type PolymorphicComponent,\n type CommonProps,\n type MarginProps,\n type PolymorphicProps,\n type ExpandProps,\n} from '@contentful/f36-core';\n\nexport interface TextInternalProps extends CommonProps, MarginProps {\n children?: React.ReactNode;\n fontSize?: FontSizeTokens;\n lineHeight?: LineHeightTokens;\n letterSpacing?: LetterSpacingTokens;\n fontStack?: FontStackTokens;\n fontWeight?: FontWeightTokens;\n fontColor?: ColorTokens;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nconst TEXT_DEFAULT_TAG = 'span';\n\nfunction truncatedStyle() {\n return css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n maxWidth: '100%',\n });\n}\n\nfunction wordBreakStyle() {\n return css({\n wordBreak: 'break-word',\n });\n}\n\nexport type TextProps<E extends React.ElementType = typeof TEXT_DEFAULT_TAG> =\n PolymorphicProps<TextInternalProps, E, 'color'>;\n\nfunction TextBase<E extends React.ElementType = typeof TEXT_DEFAULT_TAG>(\n props: TextProps<E>,\n // as this is a polymorphic base component we can not narrow down the type\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ref: React.Ref<any>,\n) {\n const {\n fontSize = 'fontSizeM',\n fontStack = 'fontStackPrimary',\n fontWeight = 'fontWeightNormal',\n fontColor = 'gray800',\n lineHeight = 'lineHeightM',\n letterSpacing = 'letterSpacingDefault',\n children,\n isTruncated,\n isWordBreak,\n as,\n className,\n margin = 'none',\n testId = 'cf-ui-text',\n ...otherProps\n } = props;\n const Element: React.ElementType = as || TEXT_DEFAULT_TAG;\n\n return (\n <Box\n {...otherProps}\n as={Element}\n testId={testId}\n className={cx(\n css({\n padding: 0,\n fontFamily: tokens[fontStack],\n fontWeight: tokens[fontWeight],\n color: tokens[fontColor],\n fontSize: tokens[fontSize],\n lineHeight: tokens[lineHeight],\n letterSpacing: tokens[letterSpacing],\n }),\n isTruncated ? truncatedStyle() : null,\n isWordBreak ? wordBreakStyle() : null,\n className,\n )}\n margin={margin}\n ref={ref}\n >\n {children}\n </Box>\n );\n}\n\nTextBase.displayName = 'Text';\n\nexport const Text = React.forwardRef(TextBase) as PolymorphicComponent<\n ExpandProps<TextInternalProps>,\n typeof TEXT_DEFAULT_TAG,\n 'color'\n>;\n","import React from 'react';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst HEADING_DEFAULT_TAG = 'h1';\n\nexport type HeadingElement = 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6';\n\nexport interface HeadingInternalProps extends Omit<TextProps, 'as'> {\n as?: HeadingElement;\n children?: React.ReactNode;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type HeadingProps<\n E extends React.ElementType = typeof HEADING_DEFAULT_TAG,\n> = PolymorphicProps<HeadingInternalProps, E>;\n\nfunction HeadingBase<E extends React.ElementType = typeof HEADING_DEFAULT_TAG>(\n {\n children,\n testId = 'cf-ui-heading',\n as,\n fontColor = 'gray900',\n marginBottom = 'spacingM',\n ...otherProps\n }: HeadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || HEADING_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={marginBottom}\n fontWeight=\"fontWeightDemiBold\"\n fontColor={fontColor}\n fontSize={density === 'high' ? 'fontSizeXlHigh' : 'fontSizeXl'}\n lineHeight={density === 'high' ? 'lineHeightXlHigh' : 'lineHeightXl'}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nHeadingBase.displayName = 'Heading';\n\nexport const Heading = React.forwardRef(HeadingBase) as PolymorphicComponent<\n ExpandProps<HeadingInternalProps>,\n typeof HEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport type { HeadingElement } from '../Heading';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst SUBHEADING_DEFAULT_TAG = 'h3';\n\nexport interface SubheadingInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type SubheadingProps<\n E extends React.ElementType = typeof SUBHEADING_DEFAULT_TAG,\n> = PolymorphicProps<SubheadingInternalProps, E>;\n\nfunction SubheadingBase<\n E extends React.ElementType = typeof SUBHEADING_DEFAULT_TAG,\n>(\n {\n children,\n testId = 'cf-ui-subheading',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: SubheadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || SUBHEADING_DEFAULT_TAG;\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom=\"spacingM\"\n fontSize={density === 'high' ? 'fontSizeLHigh' : 'fontSizeL'}\n lineHeight={density === 'high' ? 'lineHeightLHigh' : 'lineHeightL'}\n fontWeight=\"fontWeightDemiBold\"\n fontColor={fontColor}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nSubheadingBase.displayName = 'Subheading';\n\nexport const Subheading = React.forwardRef(\n SubheadingBase,\n) as PolymorphicComponent<\n ExpandProps<SubheadingInternalProps>,\n typeof SUBHEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport { FontSizeTokens, LineHeightTokens } from '@contentful/f36-tokens';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport type { HeadingElement } from '../Heading';\n\nconst DISPLAY_TEXT_DEFAULT_TAG = 'h2';\n\nexport interface DisplayTextInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n size?: 'default' | 'large';\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type DisplayTextProps<\n E extends React.ElementType = typeof DISPLAY_TEXT_DEFAULT_TAG,\n> = PolymorphicProps<DisplayTextInternalProps, E>;\n\nfunction DisplayTextBase<\n E extends React.ElementType = typeof DISPLAY_TEXT_DEFAULT_TAG,\n>(\n {\n children,\n size = 'default',\n testId = 'cf-ui-display-text',\n as,\n fontColor = 'gray900',\n ...otherProps\n }: DisplayTextProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n let fontSize: FontSizeTokens = 'fontSize2Xl';\n let lineHeight: LineHeightTokens = 'lineHeightXl';\n\n if (size === 'large') {\n fontSize = 'fontSize3Xl';\n lineHeight = 'lineHeight3Xl';\n }\n const Element: React.ElementType = as || DISPLAY_TEXT_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={size === 'default' ? 'spacingL' : 'spacingXl'}\n fontSize={fontSize}\n lineHeight={lineHeight}\n fontColor={fontColor}\n fontWeight=\"fontWeightDemiBold\"\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nDisplayTextBase.displayName = 'DisplayText';\n\nexport const DisplayText = React.forwardRef(\n DisplayTextBase,\n) as PolymorphicComponent<\n ExpandProps<DisplayTextInternalProps>,\n typeof DISPLAY_TEXT_DEFAULT_TAG\n>;\n","import React from 'react';\nimport tokens from '@contentful/f36-tokens';\nimport { css, cx } from '@emotion/css';\nimport type {\n PolymorphicComponent,\n PolymorphicProps,\n ExpandProps,\n} from '@contentful/f36-core';\nimport type { HeadingElement } from '../Heading';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nconst SECTION_HEADING_DEFAULT_TAG = 'h2';\n\nexport interface SectionHeadingInternalProps extends Omit<TextProps, 'as'> {\n children?: React.ReactNode;\n as?: HeadingElement;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n}\n\nexport type SectionHeadingProps<\n E extends React.ElementType = typeof SECTION_HEADING_DEFAULT_TAG,\n> = PolymorphicProps<SectionHeadingInternalProps, E>;\n\nfunction SectionHeadingBase<\n E extends React.ElementType = typeof SECTION_HEADING_DEFAULT_TAG,\n>(\n {\n children,\n className,\n testId = 'cf-ui-section-heading',\n as,\n fontColor = 'gray600',\n marginBottom = 'spacingL',\n ...otherProps\n }: SectionHeadingProps<E>,\n ref: React.Ref<HTMLHeadingElement>,\n) {\n const density = useDensity();\n const Element: React.ElementType = as || SECTION_HEADING_DEFAULT_TAG;\n\n return (\n <Text\n as={Element}\n testId={testId}\n marginBottom={marginBottom}\n fontWeight=\"fontWeightMedium\"\n fontColor={fontColor}\n fontSize={density === 'high' ? 'fontSizeSHigh' : 'fontSizeS'}\n lineHeight={density === 'high' ? 'lineHeightSHigh' : 'lineHeightS'}\n className={cx(\n css({\n letterSpacing: tokens.letterSpacingDefault,\n }),\n className,\n )}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n}\n\nSectionHeadingBase.displayName = 'SectionHeading';\n\nexport const SectionHeading = React.forwardRef(\n SectionHeadingBase,\n) as PolymorphicComponent<\n ExpandProps<SectionHeadingInternalProps>,\n typeof SECTION_HEADING_DEFAULT_TAG\n>;\n","import React from 'react';\nimport type { PropsWithHTMLElement, ExpandProps } from '@contentful/f36-core';\nimport { Text, type TextProps } from '../Text';\nimport { useDensity } from '@contentful/f36-utils';\n\nexport type ParagraphInternalProps = TextProps & {\n children: React.ReactNode;\n isTruncated?: boolean;\n isWordBreak?: boolean;\n};\n\nexport type ParagraphProps = PropsWithHTMLElement<ParagraphInternalProps, 'p'>;\n\nexport const Paragraph = React.forwardRef<\n HTMLParagraphElement,\n ExpandProps<ParagraphProps>\n>(\n (\n {\n children,\n testId = 'cf-ui-paragraph',\n marginBottom = 'spacingM',\n ...otherProps\n },\n ref,\n ) => {\n const density = useDensity();\n\n return (\n <Text\n as=\"p\"\n testId={testId}\n fontSize={density === 'high' ? 'fontSizeMHigh' : 'fontSizeM'}\n lineHeight={density === 'high' ? 'lineHeightMHigh' : 'lineHeightM'}\n marginBottom={marginBottom}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Text>\n );\n },\n);\n\nParagraph.displayName = 'Paragraph';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from '@emotion/css';\nimport type { BadgeVariant, BadgeSize, BadgeStylesProps } from '../types';\nimport type { BadgeInternalProps } from './Badge';\n\nconst variantToStyles = ({ variant }: { variant: BadgeVariant }) => {\n switch (variant) {\n case 'positive':\n return {\n color: tokens.green600,\n backgroundColor: tokens.green200,\n };\n case 'primary':\n return {\n color: tokens.blue600,\n backgroundColor: tokens.blue200,\n };\n case 'negative':\n return {\n color: tokens.red600,\n backgroundColor: tokens.red200,\n };\n case 'warning':\n return {\n color: tokens.orange600,\n backgroundColor: tokens.orange200,\n };\n case 'secondary':\n return {\n color: tokens.gray700,\n backgroundColor: tokens.gray200,\n };\n case 'primary-filled':\n return {\n color: tokens.colorWhite,\n backgroundColor: tokens.blue600,\n };\n case 'featured':\n return {\n color: tokens.purple600,\n backgroundColor: tokens.purple200,\n };\n default:\n return {};\n }\n};\n\nconst sizeToStyles = ({ size }: { size: BadgeSize }) => {\n switch (size) {\n case 'small':\n return {\n padding: `0 ${tokens.spacing2Xs}`,\n lineHeight: tokens.lineHeightS,\n maxHeight: tokens.lineHeightS,\n };\n default:\n return {\n padding: `0 ${tokens.spacingXs}`,\n lineHeight: tokens.lineHeightM,\n maxHeight: tokens.lineHeightM,\n };\n }\n};\n\nexport const getBadgeStyles = () => ({\n badge: ({ variant, size }: BadgeStylesProps) =>\n css({\n columnGap: tokens.spacing2Xs,\n alignItems: 'center',\n borderRadius: tokens.borderRadiusSmall,\n overflow: 'hidden',\n verticalAlign: 'middle',\n ...variantToStyles({ variant }),\n ...sizeToStyles({ size }),\n }),\n badgeIcon: css({\n flexShrink: 0,\n }),\n badgeIconCustomTiny: css({\n width: '0.875rem',\n height: '0.875rem',\n }),\n badgeText: ({\n textTransform,\n }: {\n textTransform: BadgeInternalProps['textTransform'];\n }) =>\n css([\n {\n color: 'currentcolor',\n lineHeight: 'inherit',\n },\n textTransform !== 'none' && {\n textTransform: 'lowercase',\n '&::first-letter': {\n textTransform: 'uppercase',\n },\n },\n ]),\n});\n","import React from 'react';\nimport type {\n EntityStatus,\n ExpandProps,\n PickUnion,\n} from '@contentful/f36-core';\nimport { ClockIcon } from '@contentful/f36-icons';\n\nimport { Badge, type BadgeProps } from '../Badge/Badge';\nimport type { BadgeSize, BadgeVariant } from '../types';\n\nconst statusMap: { [key in EntityStatus]: BadgeVariant } = {\n published: 'positive',\n draft: 'warning',\n archived: 'secondary',\n changed: 'primary',\n deleted: 'negative',\n new: 'primary-filled',\n};\n\ntype BadgeSizeWithIsScheduledProp =\n | {\n /**\n * Sets the size of the component\n * @default default\n */\n size?: Exclude<BadgeSize, 'small'>;\n /**\n * Indicates that the entity that the badge is related to has a scheduled action\n */\n isScheduled?: boolean;\n }\n | {\n /**\n * Sets the size of the component\n * @default default\n */\n size: PickUnion<BadgeSize, 'small'>;\n // We use discriminative union typing, so in case the size is set as small we don't allow isScheduled\n isScheduled?: never;\n };\n\nexport type EntityStatusBadgeProps = Omit<\n BadgeProps,\n 'children' | 'endIcon' | 'size' | 'startIcon' | 'variant'\n> &\n BadgeSizeWithIsScheduledProp & {\n entityStatus: EntityStatus;\n };\n\nfunction EntityStatusBadgeBase(\n props: EntityStatusBadgeProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {\n entityStatus,\n isScheduled = undefined,\n size = 'default',\n ...otherProps\n } = props;\n const withClockIcon = isScheduled && size === 'default';\n const variant = statusMap[entityStatus];\n\n return (\n <Badge\n {...otherProps}\n {...(withClockIcon\n ? { size, startIcon: <ClockIcon testId=\"schedule-icon\" /> }\n : { size })}\n variant={variant}\n ref={ref}\n >\n {entityStatus}\n </Badge>\n );\n}\n\nEntityStatusBadgeBase.displayName = 'EntityStatusBadge';\n\nconst EntityStatusBadge = React.forwardRef<\n HTMLDivElement,\n ExpandProps<EntityStatusBadgeProps>\n>(EntityStatusBadgeBase);\nexport { EntityStatusBadge };\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@contentful/f36-badge",
3
- "version": "6.3.2",
3
+ "version": "6.5.1",
4
4
  "description": "Forma 36: Badge React Component",
5
5
  "license": "MIT",
6
6
  "files": [
@@ -20,14 +20,14 @@
20
20
  "build": "tsup"
21
21
  },
22
22
  "dependencies": {
23
- "@contentful/f36-core": "^6.3.2",
24
- "@contentful/f36-icons": "^6.3.2",
23
+ "@contentful/f36-core": "^6.5.1",
24
+ "@contentful/f36-icons": "^6.5.1",
25
25
  "@contentful/f36-tokens": "^6.1.0",
26
26
  "@contentful/f36-utils": "^6.1.0",
27
27
  "@emotion/css": "^11.13.5"
28
28
  },
29
29
  "devDependencies": {
30
- "@contentful/f36-typography": "^6.3.2"
30
+ "@contentful/f36-typography": "^6.5.1"
31
31
  },
32
32
  "peerDependencies": {
33
33
  "react": ">=19.1.0",