@contentful/f36-badge 4.18.0 → 4.19.2
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/CHANGELOG.md +23 -0
- package/dist/esm/index.js +9 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/index.js +7 -7
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
- package/dist/index.mjs +0 -9
- package/dist/index.mjs.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,28 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 4.19.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies []:
|
|
8
|
+
- @contentful/f36-core@4.19.2
|
|
9
|
+
|
|
10
|
+
## 4.19.1
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- [#2209](https://github.com/contentful/forma-36/pull/2209) [`42f0c321`](https://github.com/contentful/forma-36/commit/42f0c3218965137191842f492fe5dbf4bd10784c) Thanks [@denkristoffer](https://github.com/denkristoffer)! - build: build ESM to JS file - legacy output
|
|
15
|
+
fix(notification): use type imports
|
|
16
|
+
- Updated dependencies []:
|
|
17
|
+
- @contentful/f36-core@4.19.1
|
|
18
|
+
|
|
19
|
+
## 4.19.0
|
|
20
|
+
|
|
21
|
+
### Patch Changes
|
|
22
|
+
|
|
23
|
+
- Updated dependencies []:
|
|
24
|
+
- @contentful/f36-core@4.19.0
|
|
25
|
+
|
|
3
26
|
## 4.18.0
|
|
4
27
|
|
|
5
28
|
### Patch Changes
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import d from 'react';
|
|
2
|
+
import { cx, css } from 'emotion';
|
|
3
|
+
import { Box } from '@contentful/f36-core';
|
|
4
|
+
import e from '@contentful/f36-tokens';
|
|
5
|
+
|
|
6
|
+
var y=({variant:t})=>{switch(t){case"positive":return {color:e.green600,backgroundColor:e.green200};case"primary":return {color:e.blue600,backgroundColor:e.blue200};case"negative":return {color:e.red600,backgroundColor:e.red200};case"warning":return {color:e.orange600,backgroundColor:e.orange200};case"secondary":return {color:e.gray700,backgroundColor:e.gray200};case"primary-filled":return {color:e.colorWhite,backgroundColor:e.blue600};case"featured":return {color:e.purple600,backgroundColor:e.purple200};default:return {}}},f=({size:t})=>{switch(t){case"small":return {padding:`3px ${e.spacing2Xs}`,fontSize:"0.625rem",lineHeight:"0.625rem",maxHeight:"16px"};default:return {padding:`0 ${e.spacingXs}`,fontSize:`calc(1rem * (12 / ${e.fontBaseDefault}))`,lineHeight:"20px",maxHeight:"20px"}}},s=({variant:t,size:r})=>css({fontFamily:e.fontStackPrimary,fontWeight:e.fontWeightDemiBold,textTransform:"uppercase",letterSpacing:"0.06rem",borderRadius:`${e.borderRadiusSmall}`,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",verticalAlign:"middle",...y({variant:t}),...f({size:r})});var o=d.forwardRef((t,r)=>{let{children:a,variant:i="primary",size:n="default",testId:l="cf-ui-badge",className:c,...m}=t;return d.createElement(Box,{as:"div",testId:l,display:"inline-block",className:cx(s({variant:i,size:n}),c),...m,ref:r},a)});o.displayName="Badge";var x={published:"positive",draft:"warning",archived:"negative",changed:"primary",deleted:"negative",new:"primary-filled"};function g(t,r){let{entityStatus:a,...i}=t,n=x[a];return d.createElement(o,{...i,variant:n,ref:r},a)}g.displayName="EntityStatusBadge";var E=d.forwardRef(g);
|
|
7
|
+
|
|
8
|
+
export { o as Badge, E as EntityStatusBadge };
|
|
9
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/Badge/Badge.tsx","../../src/Badge/Badge.styles.ts","../../src/EntityStatusBadge/EntityStatusBadge.tsx"],"names":["React","cx","Box","tokens","css","variantToStyles","variant","sizeToStyles","size","getBadgeStyles","Badge","props","ref","children","testId","className","otherProps","statusMap","EntityStatusBadge","entityStatus","_EntityStatusBadge"],"mappings":"AAAA,OAAOA,MAAW,QAClB,OAAS,MAAAC,MAAU,UACnB,OACE,OAAAC,MAIK,uBCPP,OAAOC,MAAY,yBACnB,OAAS,OAAAC,MAAW,UAIpB,IAAMC,EAAkB,CAAC,CAAE,QAAAC,CAAQ,IAA4C,CAC7E,OAAQA,OACD,WACH,MAAO,CACL,MAAOH,EAAO,SACd,gBAAiBA,EAAO,QAC1B,MACG,UACH,MAAO,CACL,MAAOA,EAAO,QACd,gBAAiBA,EAAO,OAC1B,MACG,WACH,MAAO,CACL,MAAOA,EAAO,OACd,gBAAiBA,EAAO,MAC1B,MACG,UACH,MAAO,CACL,MAAOA,EAAO,UACd,gBAAiBA,EAAO,SAC1B,MACG,YACH,MAAO,CACL,MAAOA,EAAO,QACd,gBAAiBA,EAAO,OAC1B,MACG,iBACH,MAAO,CACL,MAAOA,EAAO,WACd,gBAAiBA,EAAO,OAC1B,MACG,WACH,MAAO,CACL,MAAOA,EAAO,UACd,gBAAiBA,EAAO,SAC1B,UAEA,MAAO,CAAC,EAEd,EAEMI,EAAe,CAAC,CAAE,KAAAC,CAAK,IAAsC,CACjE,OAAQA,OACD,QACH,MAAO,CACL,QAAS,OAAOL,EAAO,aACvB,SAAU,WACV,WAAY,WACZ,UAAW,MACb,UAEA,MAAO,CACL,QAAS,KAAKA,EAAO,YACrB,SAAU,qBAAqBA,EAAO,oBACtC,WAAY,OACZ,UAAW,MACb,EAEN,EAEaM,EAAiB,CAAC,CAC7B,QAAAH,EACA,KAAAE,CACF,IAISJ,EAAI,CACT,WAAYD,EAAO,iBACnB,WAAYA,EAAO,mBAEnB,cAAe,YACf,cACE,UACF,aAAc,GAAGA,EAAO,oBACxB,WAAY,SACZ,SAAU,SACV,aAAc,WACd,cAAe,SACf,GAAGE,EAAgB,CAAE,QAAAC,CAAQ,CAAC,EAC9B,GAAGC,EAAa,CAAE,KAAAC,CAAK,CAAC,CAC1B,CAAC,ED1DI,IAAME,EAAQV,EAAM,WACzB,CAACW,EAAOC,IAAQ,CACd,GAAM,CACJ,SAAAC,EACA,QAAAP,EAAU,UACV,KAAAE,EAAO,UACP,OAAAM,EAAS,cACT,UAAAC,KACGC,CACL,EAAIL,EAEJ,OACEX,EAAA,cAACE,EAAA,CACC,GAAG,MACH,OAAQY,EACR,QAAQ,eACR,UAAWb,EAAGQ,EAAe,CAAE,QAAAH,EAAS,KAAAE,CAAK,CAAC,EAAGO,CAAS,EACzD,GAAGC,EACJ,IAAKJ,GAEJC,CACH,CAEJ,CACF,EAEAH,EAAM,YAAc,QEvDpB,OAAOV,MAAW,QAMlB,IAAMiB,EAAqD,CACzD,UAAW,WACX,MAAO,UACP,SAAU,WACV,QAAS,UACT,QAAS,WACT,IAAK,gBACP,EAQA,SAASC,EACPP,EACAC,EACA,CACA,GAAM,CAAE,aAAAO,KAAiBH,CAAW,EAAIL,EAClCL,EAAUW,EAAUE,GAC1B,OACEnB,EAAA,cAACU,EAAA,CAAO,GAAGM,EAAY,QAASV,EAAS,IAAKM,GAC3CO,CACH,CAEJ,CAEAD,EAAkB,YAAc,oBAEhC,IAAME,EAAqBpB,EAAM,WAG/BkB,CAAiB","sourcesContent":["import React from 'react';\nimport { cx } from 'emotion';\nimport {\n Box,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\n\nimport type { BadgeSize, BadgeVariant } from '../types';\nimport { getBadgeStyles } from './Badge.styles';\n\nexport interface BadgeInternalProps extends CommonProps {\n /**\n * Sets the size of the component\n * @default default\n */\n size?: BadgeSize;\n /**\n * Determines the variation of the component\n * @default primary\n */\n variant?: BadgeVariant;\n\n children: React.ReactNode;\n}\n\nexport type BadgeProps = PropsWithHTMLElement<BadgeInternalProps, 'div'>;\n\nexport const Badge = React.forwardRef<HTMLDivElement, ExpandProps<BadgeProps>>(\n (props, ref) => {\n const {\n children,\n variant = 'primary',\n size = 'default',\n testId = 'cf-ui-badge',\n className,\n ...otherProps\n } = props;\n\n return (\n <Box\n as=\"div\"\n testId={testId}\n display=\"inline-block\"\n className={cx(getBadgeStyles({ variant, size }), className)}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Box>\n );\n },\n);\n\nBadge.displayName = 'Badge';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\nimport type { BadgeVariant, BadgeSize } from '../types';\nimport type { CSSObject } from '@emotion/serialize';\n\nconst variantToStyles = ({ variant }: { variant: BadgeVariant }): CSSObject => {\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 }): CSSObject => {\n switch (size) {\n case 'small':\n return {\n padding: `3px ${tokens.spacing2Xs}`,\n fontSize: '0.625rem',\n lineHeight: '0.625rem',\n maxHeight: '16px',\n };\n default:\n return {\n padding: `0 ${tokens.spacingXs}`,\n fontSize: `calc(1rem * (12 / ${tokens.fontBaseDefault}))`,\n lineHeight: '20px',\n maxHeight: '20px',\n };\n }\n};\n\nexport const getBadgeStyles = ({\n variant,\n size,\n}: {\n variant: BadgeVariant;\n size: BadgeSize;\n}) => {\n return css({\n fontFamily: tokens.fontStackPrimary,\n fontWeight: tokens.fontWeightDemiBold,\n\n textTransform: 'uppercase',\n letterSpacing:\n '0.06rem' /*move to tokens or update wide letter spacing token*/,\n borderRadius: `${tokens.borderRadiusSmall}`,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n verticalAlign: 'middle',\n ...variantToStyles({ variant }),\n ...sizeToStyles({ size }),\n });\n};\n","import React from 'react';\nimport type { EntityStatus, ExpandProps } from '@contentful/f36-core';\n\nimport { Badge, type BadgeProps } from '../Badge/Badge';\nimport type { BadgeVariant, BadgeSize } from '../types';\n\nconst statusMap: { [key in EntityStatus]: BadgeVariant } = {\n published: 'positive',\n draft: 'warning',\n archived: 'negative',\n changed: 'primary',\n deleted: 'negative',\n new: 'primary-filled',\n};\n\nexport interface EntityStatusBadgeProps\n extends Omit<BadgeProps, 'variant' | 'children'> {\n size?: BadgeSize;\n entityStatus: EntityStatus;\n}\n\nfunction EntityStatusBadge(\n props: EntityStatusBadgeProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const { entityStatus, ...otherProps } = props;\n const variant = statusMap[entityStatus];\n return (\n <Badge {...otherProps} variant={variant} ref={ref}>\n {entityStatus}\n </Badge>\n );\n}\n\nEntityStatusBadge.displayName = 'EntityStatusBadge';\n\nconst _EntityStatusBadge = React.forwardRef<\n HTMLDivElement,\n ExpandProps<EntityStatusBadgeProps>\n>(EntityStatusBadge);\nexport { _EntityStatusBadge as EntityStatusBadge };\n"]}
|
package/dist/index.js
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var d = require('react');
|
|
6
6
|
var emotion = require('emotion');
|
|
7
7
|
var f36Core = require('@contentful/f36-core');
|
|
8
|
-
var
|
|
8
|
+
var e = require('@contentful/f36-tokens');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
11
|
|
|
12
|
-
var
|
|
13
|
-
var
|
|
12
|
+
var d__default = /*#__PURE__*/_interopDefaultLegacy(d);
|
|
13
|
+
var e__default = /*#__PURE__*/_interopDefaultLegacy(e);
|
|
14
14
|
|
|
15
|
-
var
|
|
15
|
+
var y=({variant:t})=>{switch(t){case"positive":return {color:e__default["default"].green600,backgroundColor:e__default["default"].green200};case"primary":return {color:e__default["default"].blue600,backgroundColor:e__default["default"].blue200};case"negative":return {color:e__default["default"].red600,backgroundColor:e__default["default"].red200};case"warning":return {color:e__default["default"].orange600,backgroundColor:e__default["default"].orange200};case"secondary":return {color:e__default["default"].gray700,backgroundColor:e__default["default"].gray200};case"primary-filled":return {color:e__default["default"].colorWhite,backgroundColor:e__default["default"].blue600};case"featured":return {color:e__default["default"].purple600,backgroundColor:e__default["default"].purple200};default:return {}}},f=({size:t})=>{switch(t){case"small":return {padding:`3px ${e__default["default"].spacing2Xs}`,fontSize:"0.625rem",lineHeight:"0.625rem",maxHeight:"16px"};default:return {padding:`0 ${e__default["default"].spacingXs}`,fontSize:`calc(1rem * (12 / ${e__default["default"].fontBaseDefault}))`,lineHeight:"20px",maxHeight:"20px"}}},s=({variant:t,size:r})=>emotion.css({fontFamily:e__default["default"].fontStackPrimary,fontWeight:e__default["default"].fontWeightDemiBold,textTransform:"uppercase",letterSpacing:"0.06rem",borderRadius:`${e__default["default"].borderRadiusSmall}`,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",verticalAlign:"middle",...y({variant:t}),...f({size:r})});var o=d__default["default"].forwardRef((t,r)=>{let{children:a,variant:i="primary",size:n="default",testId:l="cf-ui-badge",className:c,...m}=t;return d__default["default"].createElement(f36Core.Box,{as:"div",testId:l,display:"inline-block",className:emotion.cx(s({variant:i,size:n}),c),...m,ref:r},a)});o.displayName="Badge";var x={published:"positive",draft:"warning",archived:"negative",changed:"primary",deleted:"negative",new:"primary-filled"};function g(t,r){let{entityStatus:a,...i}=t,n=x[a];return d__default["default"].createElement(o,{...i,variant:n,ref:r},a)}g.displayName="EntityStatusBadge";var E=d__default["default"].forwardRef(g);
|
|
16
16
|
|
|
17
|
-
exports.Badge =
|
|
18
|
-
exports.EntityStatusBadge =
|
|
17
|
+
exports.Badge = o;
|
|
18
|
+
exports.EntityStatusBadge = E;
|
|
19
19
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Badge/Badge.tsx","../src/Badge/Badge.styles.ts","../src/EntityStatusBadge/EntityStatusBadge.tsx"],"names":["React","cx","Box","tokens","css","variantToStyles","variant","sizeToStyles","size","getBadgeStyles","
|
|
1
|
+
{"version":3,"sources":["../src/Badge/Badge.tsx","../src/Badge/Badge.styles.ts","../src/EntityStatusBadge/EntityStatusBadge.tsx"],"names":["React","cx","Box","tokens","css","variantToStyles","variant","sizeToStyles","size","getBadgeStyles","Badge","props","ref","children","testId","className","otherProps","statusMap","EntityStatusBadge","entityStatus","_EntityStatusBadge"],"mappings":"AAAA,OAAOA,MAAW,QAClB,OAAS,MAAAC,MAAU,UACnB,OACE,OAAAC,MAIK,uBCPP,OAAOC,MAAY,yBACnB,OAAS,OAAAC,MAAW,UAIpB,IAAMC,EAAkB,CAAC,CAAE,QAAAC,CAAQ,IAA4C,CAC7E,OAAQA,OACD,WACH,MAAO,CACL,MAAOH,EAAO,SACd,gBAAiBA,EAAO,QAC1B,MACG,UACH,MAAO,CACL,MAAOA,EAAO,QACd,gBAAiBA,EAAO,OAC1B,MACG,WACH,MAAO,CACL,MAAOA,EAAO,OACd,gBAAiBA,EAAO,MAC1B,MACG,UACH,MAAO,CACL,MAAOA,EAAO,UACd,gBAAiBA,EAAO,SAC1B,MACG,YACH,MAAO,CACL,MAAOA,EAAO,QACd,gBAAiBA,EAAO,OAC1B,MACG,iBACH,MAAO,CACL,MAAOA,EAAO,WACd,gBAAiBA,EAAO,OAC1B,MACG,WACH,MAAO,CACL,MAAOA,EAAO,UACd,gBAAiBA,EAAO,SAC1B,UAEA,MAAO,CAAC,EAEd,EAEMI,EAAe,CAAC,CAAE,KAAAC,CAAK,IAAsC,CACjE,OAAQA,OACD,QACH,MAAO,CACL,QAAS,OAAOL,EAAO,aACvB,SAAU,WACV,WAAY,WACZ,UAAW,MACb,UAEA,MAAO,CACL,QAAS,KAAKA,EAAO,YACrB,SAAU,qBAAqBA,EAAO,oBACtC,WAAY,OACZ,UAAW,MACb,EAEN,EAEaM,EAAiB,CAAC,CAC7B,QAAAH,EACA,KAAAE,CACF,IAISJ,EAAI,CACT,WAAYD,EAAO,iBACnB,WAAYA,EAAO,mBAEnB,cAAe,YACf,cACE,UACF,aAAc,GAAGA,EAAO,oBACxB,WAAY,SACZ,SAAU,SACV,aAAc,WACd,cAAe,SACf,GAAGE,EAAgB,CAAE,QAAAC,CAAQ,CAAC,EAC9B,GAAGC,EAAa,CAAE,KAAAC,CAAK,CAAC,CAC1B,CAAC,ED1DI,IAAME,EAAQV,EAAM,WACzB,CAACW,EAAOC,IAAQ,CACd,GAAM,CACJ,SAAAC,EACA,QAAAP,EAAU,UACV,KAAAE,EAAO,UACP,OAAAM,EAAS,cACT,UAAAC,KACGC,CACL,EAAIL,EAEJ,OACEX,EAAA,cAACE,EAAA,CACC,GAAG,MACH,OAAQY,EACR,QAAQ,eACR,UAAWb,EAAGQ,EAAe,CAAE,QAAAH,EAAS,KAAAE,CAAK,CAAC,EAAGO,CAAS,EACzD,GAAGC,EACJ,IAAKJ,GAEJC,CACH,CAEJ,CACF,EAEAH,EAAM,YAAc,QEvDpB,OAAOV,MAAW,QAMlB,IAAMiB,EAAqD,CACzD,UAAW,WACX,MAAO,UACP,SAAU,WACV,QAAS,UACT,QAAS,WACT,IAAK,gBACP,EAQA,SAASC,EACPP,EACAC,EACA,CACA,GAAM,CAAE,aAAAO,KAAiBH,CAAW,EAAIL,EAClCL,EAAUW,EAAUE,GAC1B,OACEnB,EAAA,cAACU,EAAA,CAAO,GAAGM,EAAY,QAASV,EAAS,IAAKM,GAC3CO,CACH,CAEJ,CAEAD,EAAkB,YAAc,oBAEhC,IAAME,EAAqBpB,EAAM,WAG/BkB,CAAiB","sourcesContent":["import React from 'react';\nimport { cx } from 'emotion';\nimport {\n Box,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\n\nimport type { BadgeSize, BadgeVariant } from '../types';\nimport { getBadgeStyles } from './Badge.styles';\n\nexport interface BadgeInternalProps extends CommonProps {\n /**\n * Sets the size of the component\n * @default default\n */\n size?: BadgeSize;\n /**\n * Determines the variation of the component\n * @default primary\n */\n variant?: BadgeVariant;\n\n children: React.ReactNode;\n}\n\nexport type BadgeProps = PropsWithHTMLElement<BadgeInternalProps, 'div'>;\n\nexport const Badge = React.forwardRef<HTMLDivElement, ExpandProps<BadgeProps>>(\n (props, ref) => {\n const {\n children,\n variant = 'primary',\n size = 'default',\n testId = 'cf-ui-badge',\n className,\n ...otherProps\n } = props;\n\n return (\n <Box\n as=\"div\"\n testId={testId}\n display=\"inline-block\"\n className={cx(getBadgeStyles({ variant, size }), className)}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Box>\n );\n },\n);\n\nBadge.displayName = 'Badge';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\nimport type { BadgeVariant, BadgeSize } from '../types';\nimport type { CSSObject } from '@emotion/serialize';\n\nconst variantToStyles = ({ variant }: { variant: BadgeVariant }): CSSObject => {\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 }): CSSObject => {\n switch (size) {\n case 'small':\n return {\n padding: `3px ${tokens.spacing2Xs}`,\n fontSize: '0.625rem',\n lineHeight: '0.625rem',\n maxHeight: '16px',\n };\n default:\n return {\n padding: `0 ${tokens.spacingXs}`,\n fontSize: `calc(1rem * (12 / ${tokens.fontBaseDefault}))`,\n lineHeight: '20px',\n maxHeight: '20px',\n };\n }\n};\n\nexport const getBadgeStyles = ({\n variant,\n size,\n}: {\n variant: BadgeVariant;\n size: BadgeSize;\n}) => {\n return css({\n fontFamily: tokens.fontStackPrimary,\n fontWeight: tokens.fontWeightDemiBold,\n\n textTransform: 'uppercase',\n letterSpacing:\n '0.06rem' /*move to tokens or update wide letter spacing token*/,\n borderRadius: `${tokens.borderRadiusSmall}`,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n verticalAlign: 'middle',\n ...variantToStyles({ variant }),\n ...sizeToStyles({ size }),\n });\n};\n","import React from 'react';\nimport type { EntityStatus, ExpandProps } from '@contentful/f36-core';\n\nimport { Badge, type BadgeProps } from '../Badge/Badge';\nimport type { BadgeVariant, BadgeSize } from '../types';\n\nconst statusMap: { [key in EntityStatus]: BadgeVariant } = {\n published: 'positive',\n draft: 'warning',\n archived: 'negative',\n changed: 'primary',\n deleted: 'negative',\n new: 'primary-filled',\n};\n\nexport interface EntityStatusBadgeProps\n extends Omit<BadgeProps, 'variant' | 'children'> {\n size?: BadgeSize;\n entityStatus: EntityStatus;\n}\n\nfunction EntityStatusBadge(\n props: EntityStatusBadgeProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const { entityStatus, ...otherProps } = props;\n const variant = statusMap[entityStatus];\n return (\n <Badge {...otherProps} variant={variant} ref={ref}>\n {entityStatus}\n </Badge>\n );\n}\n\nEntityStatusBadge.displayName = 'EntityStatusBadge';\n\nconst _EntityStatusBadge = React.forwardRef<\n HTMLDivElement,\n ExpandProps<EntityStatusBadgeProps>\n>(EntityStatusBadge);\nexport { _EntityStatusBadge as EntityStatusBadge };\n"]}
|
package/package.json
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@contentful/f36-badge",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.19.2",
|
|
4
4
|
"description": "Forma 36: Badge React Component",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"files": [
|
|
7
7
|
"dist"
|
|
8
8
|
],
|
|
9
9
|
"main": "dist/index.js",
|
|
10
|
-
"module": "dist/index.
|
|
10
|
+
"module": "dist/esm/index.js",
|
|
11
11
|
"types": "dist/index.d.ts",
|
|
12
12
|
"source": "src/index.ts",
|
|
13
13
|
"sideEffects": false,
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
},
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@babel/runtime": "^7.6.2",
|
|
24
|
-
"@contentful/f36-core": "^4.
|
|
24
|
+
"@contentful/f36-core": "^4.19.2",
|
|
25
25
|
"@contentful/f36-tokens": "^4.0.1",
|
|
26
26
|
"emotion": "^10.0.17"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"@contentful/f36-typography": "^4.
|
|
29
|
+
"@contentful/f36-typography": "^4.19.2"
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"react": ">=16.8"
|
package/dist/index.mjs
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import B from 'react';
|
|
2
|
-
import { cx, css } from 'emotion';
|
|
3
|
-
import { Box } from '@contentful/f36-core';
|
|
4
|
-
import r from '@contentful/f36-tokens';
|
|
5
|
-
|
|
6
|
-
var P=Object.defineProperty,h=Object.defineProperties;var b=Object.getOwnPropertyDescriptors;var s=Object.getOwnPropertySymbols;var u=Object.prototype.hasOwnProperty,y=Object.prototype.propertyIsEnumerable;var m=(e,t,a)=>t in e?P(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a,i=(e,t)=>{for(var a in t||(t={}))u.call(t,a)&&m(e,a,t[a]);if(s)for(var a of s(t))y.call(t,a)&&m(e,a,t[a]);return e},d=(e,t)=>h(e,b(t));var p=(e,t)=>{var a={};for(var o in e)u.call(e,o)&&t.indexOf(o)<0&&(a[o]=e[o]);if(e!=null&&s)for(var o of s(e))t.indexOf(o)<0&&y.call(e,o)&&(a[o]=e[o]);return a};var C=({variant:e})=>{switch(e){case"positive":return {color:r.green600,backgroundColor:r.green200};case"primary":return {color:r.blue600,backgroundColor:r.blue200};case"negative":return {color:r.red600,backgroundColor:r.red200};case"warning":return {color:r.orange600,backgroundColor:r.orange200};case"secondary":return {color:r.gray700,backgroundColor:r.gray200};case"primary-filled":return {color:r.colorWhite,backgroundColor:r.blue600};case"featured":return {color:r.purple600,backgroundColor:r.purple200};default:return {}}},k=({size:e})=>{switch(e){case"small":return {padding:`3px ${r.spacing2Xs}`,fontSize:"0.625rem",lineHeight:"0.625rem",maxHeight:"16px"};default:return {padding:`0 ${r.spacingXs}`,fontSize:`calc(1rem * (12 / ${r.fontBaseDefault}))`,lineHeight:"20px",maxHeight:"20px"}}},f=({variant:e,size:t})=>css(i(i({fontFamily:r.fontStackPrimary,fontWeight:r.fontWeightDemiBold,textTransform:"uppercase",letterSpacing:"0.06rem",borderRadius:`${r.borderRadiusSmall}`,whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",verticalAlign:"middle"},C({variant:e})),k({size:t})));var g=B.forwardRef((e,t)=>{let c=e,{children:a,variant:o="primary",size:l="default",testId:n="cf-ui-badge",className:E}=c,v=p(c,["children","variant","size","testId","className"]);return B.createElement(Box,d(i({as:"div",testId:n,display:"inline-block",className:cx(f({variant:o,size:l}),E)},v),{ref:t}),a)});g.displayName="Badge";var R={published:"positive",draft:"warning",archived:"negative",changed:"primary",deleted:"negative",new:"primary-filled"};function x(e,t){let n=e,{entityStatus:a}=n,o=p(n,["entityStatus"]),l=R[a];return B.createElement(g,d(i({},o),{variant:l,ref:t}),a)}x.displayName="EntityStatusBadge";var T=B.forwardRef(x);
|
|
7
|
-
|
|
8
|
-
export { g as Badge, T as EntityStatusBadge };
|
|
9
|
-
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/Badge/Badge.tsx","../src/Badge/Badge.styles.ts","../src/EntityStatusBadge/EntityStatusBadge.tsx"],"names":["React","cx","Box","tokens","css","variantToStyles","variant","sizeToStyles","size","getBadgeStyles","__spreadValues","Badge","props","ref","_a","children","testId","className","otherProps","__objRest","__spreadProps","statusMap","EntityStatusBadge","entityStatus","_EntityStatusBadge"],"mappings":"+kBAAA,OAAOA,MAAW,QAClB,OAAS,MAAAC,MAAU,UACnB,OACE,OAAAC,MAIK,uBCPP,OAAOC,MAAY,yBACnB,OAAS,OAAAC,MAAW,UAIpB,IAAMC,EAAkB,CAAC,CAAE,QAAAC,CAAQ,IAA4C,CAC7E,OAAQA,OACD,WACH,MAAO,CACL,MAAOH,EAAO,SACd,gBAAiBA,EAAO,QAC1B,MACG,UACH,MAAO,CACL,MAAOA,EAAO,QACd,gBAAiBA,EAAO,OAC1B,MACG,WACH,MAAO,CACL,MAAOA,EAAO,OACd,gBAAiBA,EAAO,MAC1B,MACG,UACH,MAAO,CACL,MAAOA,EAAO,UACd,gBAAiBA,EAAO,SAC1B,MACG,YACH,MAAO,CACL,MAAOA,EAAO,QACd,gBAAiBA,EAAO,OAC1B,MACG,iBACH,MAAO,CACL,MAAOA,EAAO,WACd,gBAAiBA,EAAO,OAC1B,MACG,WACH,MAAO,CACL,MAAOA,EAAO,UACd,gBAAiBA,EAAO,SAC1B,UAEA,MAAO,CAAC,EAEd,EAEMI,EAAe,CAAC,CAAE,KAAAC,CAAK,IAAsC,CACjE,OAAQA,OACD,QACH,MAAO,CACL,QAAS,OAAOL,EAAO,aACvB,SAAU,WACV,WAAY,WACZ,UAAW,MACb,UAEA,MAAO,CACL,QAAS,KAAKA,EAAO,YACrB,SAAU,qBAAqBA,EAAO,oBACtC,WAAY,OACZ,UAAW,MACb,EAEN,EAEaM,EAAiB,CAAC,CAC7B,QAAAH,EACA,KAAAE,CACF,IAISJ,EAAIM,IAAA,CACT,WAAYP,EAAO,iBACnB,WAAYA,EAAO,mBAEnB,cAAe,YACf,cACE,UACF,aAAc,GAAGA,EAAO,oBACxB,WAAY,SACZ,SAAU,SACV,aAAc,WACd,cAAe,UACZE,EAAgB,CAAE,QAAAC,CAAQ,CAAC,GAC3BC,EAAa,CAAE,KAAAC,CAAK,CAAC,EACzB,ED1DI,IAAMG,EAAQX,EAAM,WACzB,CAACY,EAAOC,IAAQ,CACd,IAOIC,EAAAF,EANF,UAAAG,EACA,QAAAT,EAAU,UACV,KAAAE,EAAO,UACP,OAAAQ,EAAS,cACT,UAAAC,CApCN,EAsCQH,EADCI,EAAAC,EACDL,EADC,CALH,WACA,UACA,OACA,SACA,cAIF,OACEd,EAAA,cAACE,EAAAkB,EAAAV,EAAA,CACC,GAAG,MACH,OAAQM,EACR,QAAQ,eACR,UAAWf,EAAGQ,EAAe,CAAE,QAAAH,EAAS,KAAAE,CAAK,CAAC,EAAGS,CAAS,GACtDC,GALL,CAMC,IAAKL,IAEJE,CACH,CAEJ,CACF,EAEAJ,EAAM,YAAc,QEvDpB,OAAOX,MAAW,QAMlB,IAAMqB,EAAqD,CACzD,UAAW,WACX,MAAO,UACP,SAAU,WACV,QAAS,UACT,QAAS,WACT,IAAK,gBACP,EAQA,SAASC,EACPV,EACAC,EACA,CACA,IAAwCC,EAAAF,EAAhC,cAAAW,CAzBV,EAyB0CT,EAAfI,EAAAC,EAAeL,EAAf,CAAjB,iBACFR,EAAUe,EAAUE,GAC1B,OACEvB,EAAA,cAACW,EAAAS,EAAAV,EAAA,GAAUQ,GAAV,CAAsB,QAASZ,EAAS,IAAKO,IAC3CU,CACH,CAEJ,CAEAD,EAAkB,YAAc,oBAEhC,IAAME,EAAqBxB,EAAM,WAG/BsB,CAAiB","sourcesContent":["import React from 'react';\nimport { cx } from 'emotion';\nimport {\n Box,\n type CommonProps,\n type PropsWithHTMLElement,\n type ExpandProps,\n} from '@contentful/f36-core';\n\nimport type { BadgeSize, BadgeVariant } from '../types';\nimport { getBadgeStyles } from './Badge.styles';\n\nexport interface BadgeInternalProps extends CommonProps {\n /**\n * Sets the size of the component\n * @default default\n */\n size?: BadgeSize;\n /**\n * Determines the variation of the component\n * @default primary\n */\n variant?: BadgeVariant;\n\n children: React.ReactNode;\n}\n\nexport type BadgeProps = PropsWithHTMLElement<BadgeInternalProps, 'div'>;\n\nexport const Badge = React.forwardRef<HTMLDivElement, ExpandProps<BadgeProps>>(\n (props, ref) => {\n const {\n children,\n variant = 'primary',\n size = 'default',\n testId = 'cf-ui-badge',\n className,\n ...otherProps\n } = props;\n\n return (\n <Box\n as=\"div\"\n testId={testId}\n display=\"inline-block\"\n className={cx(getBadgeStyles({ variant, size }), className)}\n {...otherProps}\n ref={ref}\n >\n {children}\n </Box>\n );\n },\n);\n\nBadge.displayName = 'Badge';\n","import tokens from '@contentful/f36-tokens';\nimport { css } from 'emotion';\nimport type { BadgeVariant, BadgeSize } from '../types';\nimport type { CSSObject } from '@emotion/serialize';\n\nconst variantToStyles = ({ variant }: { variant: BadgeVariant }): CSSObject => {\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 }): CSSObject => {\n switch (size) {\n case 'small':\n return {\n padding: `3px ${tokens.spacing2Xs}`,\n fontSize: '0.625rem',\n lineHeight: '0.625rem',\n maxHeight: '16px',\n };\n default:\n return {\n padding: `0 ${tokens.spacingXs}`,\n fontSize: `calc(1rem * (12 / ${tokens.fontBaseDefault}))`,\n lineHeight: '20px',\n maxHeight: '20px',\n };\n }\n};\n\nexport const getBadgeStyles = ({\n variant,\n size,\n}: {\n variant: BadgeVariant;\n size: BadgeSize;\n}) => {\n return css({\n fontFamily: tokens.fontStackPrimary,\n fontWeight: tokens.fontWeightDemiBold,\n\n textTransform: 'uppercase',\n letterSpacing:\n '0.06rem' /*move to tokens or update wide letter spacing token*/,\n borderRadius: `${tokens.borderRadiusSmall}`,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n verticalAlign: 'middle',\n ...variantToStyles({ variant }),\n ...sizeToStyles({ size }),\n });\n};\n","import React from 'react';\nimport type { EntityStatus, ExpandProps } from '@contentful/f36-core';\n\nimport { Badge, type BadgeProps } from '../Badge/Badge';\nimport type { BadgeVariant, BadgeSize } from '../types';\n\nconst statusMap: { [key in EntityStatus]: BadgeVariant } = {\n published: 'positive',\n draft: 'warning',\n archived: 'negative',\n changed: 'primary',\n deleted: 'negative',\n new: 'primary-filled',\n};\n\nexport interface EntityStatusBadgeProps\n extends Omit<BadgeProps, 'variant' | 'children'> {\n size?: BadgeSize;\n entityStatus: EntityStatus;\n}\n\nfunction EntityStatusBadge(\n props: EntityStatusBadgeProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const { entityStatus, ...otherProps } = props;\n const variant = statusMap[entityStatus];\n return (\n <Badge {...otherProps} variant={variant} ref={ref}>\n {entityStatus}\n </Badge>\n );\n}\n\nEntityStatusBadge.displayName = 'EntityStatusBadge';\n\nconst _EntityStatusBadge = React.forwardRef<\n HTMLDivElement,\n ExpandProps<EntityStatusBadgeProps>\n>(EntityStatusBadge);\nexport { _EntityStatusBadge as EntityStatusBadge };\n"]}
|