@khanacademy/wonder-blocks-typography 3.2.4 → 4.0.0
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 +13 -0
- package/dist/components/body-text.d.ts +8 -0
- package/dist/components/heading.d.ts +9 -0
- package/dist/es/index.js +6 -2
- package/dist/index.d.ts +6 -4
- package/dist/index.js +7 -1
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# @khanacademy/wonder-blocks-typography
|
|
2
2
|
|
|
3
|
+
## 4.0.0
|
|
4
|
+
|
|
5
|
+
### Major Changes
|
|
6
|
+
|
|
7
|
+
- dd76e7c: - Add new Heading and BodyText Typography components with themable font and other styles.
|
|
8
|
+
- Change exported `Heading` and `BodyText` types for Typography component collections to free those names up for new components.
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies [dd76e7c]
|
|
13
|
+
- @khanacademy/wonder-blocks-tokens@10.3.0
|
|
14
|
+
- @khanacademy/wonder-blocks-core@12.3.0
|
|
15
|
+
|
|
3
16
|
## 3.2.4
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { PropsFor, Text } from "@khanacademy/wonder-blocks-core";
|
|
3
|
+
type Props = PropsFor<typeof Text> & {
|
|
4
|
+
size?: "xsmall" | "small" | "medium";
|
|
5
|
+
weight?: "medium" | "semi" | "bold";
|
|
6
|
+
};
|
|
7
|
+
declare const BodyText: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<unknown>>;
|
|
8
|
+
export default BodyText;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { PropsFor, Text } from "@khanacademy/wonder-blocks-core";
|
|
3
|
+
type Props = PropsFor<typeof Text> & {
|
|
4
|
+
size?: "small" | "medium" | "large" | "xlarge" | "xxlarge";
|
|
5
|
+
tag?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6";
|
|
6
|
+
weight?: "semi" | "bold";
|
|
7
|
+
};
|
|
8
|
+
declare const Heading: React.ForwardRefExoticComponent<Omit<Props, "ref"> & React.RefAttributes<unknown>>;
|
|
9
|
+
export default Heading;
|
package/dist/es/index.js
CHANGED
|
@@ -4,10 +4,12 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
4
4
|
import * as React from 'react';
|
|
5
5
|
import { Text } from '@khanacademy/wonder-blocks-core';
|
|
6
6
|
|
|
7
|
-
const common={display:"block"};const styles=StyleSheet.create({Title:{...common,fontFamily:font.family.sans,fontWeight:font.weight.black,[breakpoint.mediaQuery.xl]:{fontSize:font.size.xxxLarge,lineHeight:font.lineHeight.xxxLarge},[breakpoint.mediaQuery.mdOrSmaller]:{fontSize:font.size.xxLarge,lineHeight:font.lineHeight.xxLarge}},Tagline:{...common,fontFamily:font.family.sans,fontWeight:font.weight.
|
|
7
|
+
const common={display:"block"};const styles=StyleSheet.create({Title:{...common,fontFamily:font.family.sans,fontWeight:font.weight.black,[breakpoint.mediaQuery.xl]:{fontSize:font.size.xxxLarge,lineHeight:font.lineHeight.xxxLarge},[breakpoint.mediaQuery.mdOrSmaller]:{fontSize:font.size.xxLarge,lineHeight:font.lineHeight.xxLarge}},Tagline:{...common,fontFamily:font.family.sans,fontWeight:font.weight.medium,fontSize:font.size.large,lineHeight:font.lineHeight.large},Heading:{...common,fontFamily:font.family.sans},BodyText:{...common,fontFamily:font.family.sans},HeadingLarge:{...common,fontFamily:font.family.sans,fontWeight:font.weight.bold,[breakpoint.mediaQuery.xl]:{fontSize:font.size.xxLarge,lineHeight:font.lineHeight.xxLarge},[breakpoint.mediaQuery.mdOrSmaller]:{fontSize:font.size.xLarge,lineHeight:font.lineHeight.xLarge}},HeadingMedium:{...common,fontFamily:font.family.sans,fontWeight:font.weight.bold,[breakpoint.mediaQuery.xl]:{fontSize:font.size.xLarge,lineHeight:font.lineHeight.xLarge},[breakpoint.mediaQuery.mdOrSmaller]:{fontSize:"2.2rem",lineHeight:"2.6rem"}},HeadingSmall:{...common,fontFamily:font.family.sans,fontWeight:font.weight.bold,fontSize:font.size.large,lineHeight:font.lineHeight.large},HeadingXSmall:{...common,fontFamily:font.family.sans,fontWeight:font.weight.bold,fontSize:font.size.xSmall,lineHeight:font.lineHeight.xSmall,letterSpacing:.6,textTransform:"uppercase"},BodySerifBlock:{...common,fontFamily:font.family.serif,fontWeight:font.weight.medium,fontSize:font.size.large,lineHeight:font.lineHeight.large},BodySerif:{...common,fontFamily:font.family.serif,fontWeight:font.weight.medium,fontSize:font.size.medium,lineHeight:font.size.medium},BodyMonospace:{...common,fontFamily:font.family.mono,fontWeight:font.weight.medium,fontSize:font.size.medium,lineHeight:font.lineHeight.medium},Body:{...common,fontFamily:font.family.sans,fontWeight:font.weight.medium,fontSize:font.size.medium,lineHeight:font.lineHeight.xMedium},LabelLarge:{...common,fontFamily:font.family.sans,fontWeight:font.weight.bold,fontSize:font.size.medium,lineHeight:font.lineHeight.medium},LabelMedium:{...common,fontFamily:font.family.sans,fontWeight:font.weight.medium,fontSize:font.size.medium,lineHeight:font.lineHeight.medium},LabelSmall:{...common,fontFamily:font.family.sans,fontWeight:font.weight.medium,fontSize:font.size.small,lineHeight:font.lineHeight.small},LabelXSmall:{...common,fontFamily:font.family.sans,fontWeight:font.weight.medium,fontSize:font.size.xSmall,lineHeight:font.lineHeight.xSmall},Caption:{...common,fontFamily:font.family.sans,fontWeight:font.weight.medium,fontSize:font.size.small,lineHeight:font.lineHeight.medium},Footnote:{...common,fontFamily:font.family.sans,fontWeight:font.weight.medium,fontSize:font.size.xSmall,lineHeight:font.lineHeight.small}});
|
|
8
8
|
|
|
9
9
|
const Title=React.forwardRef(function Title({style,children,tag="h1",...otherProps},ref){return jsx(Text,{...otherProps,tag:tag,style:[styles.Title,style],ref:ref,children:children})});
|
|
10
10
|
|
|
11
|
+
const Heading=React.forwardRef(function Heading({size="large",weight="bold",style,children,tag="h2",...otherProps},ref){const themeHeading={fontSize:font.heading.size[size],fontWeight:font.weight[weight],lineHeight:font.heading.lineHeight[size]};return jsx(Text,{...otherProps,tag:tag,style:[styles.Heading,themeHeading,style],ref:ref,children:children})});
|
|
12
|
+
|
|
11
13
|
const HeadingLarge=React.forwardRef(function HeadingLarge({style,children,tag="h2",...otherProps},ref){return jsx(Text,{...otherProps,tag:tag,style:[styles.HeadingLarge,style],ref:ref,children:children})});
|
|
12
14
|
|
|
13
15
|
const HeadingMedium=React.forwardRef(function HeadingMedium({style,children,tag="h3",...otherProps},ref){return jsx(Text,{...otherProps,tag:tag,style:[styles.HeadingMedium,style],ref:ref,children:children})});
|
|
@@ -16,6 +18,8 @@ const HeadingSmall=React.forwardRef(function HeadingSmall({style,children,tag="h
|
|
|
16
18
|
|
|
17
19
|
const HeadingXSmall=React.forwardRef(function HeadingXSmall({style,children,tag="h4",...otherProps},ref){return jsx(Text,{...otherProps,tag:tag,style:[styles.HeadingXSmall,style],ref:ref,children:children})});
|
|
18
20
|
|
|
21
|
+
const BodyText=React.forwardRef(function BodyText({size="small",weight="semi",style,children,tag="p",...otherProps},ref){const themeBodyText={fontSize:font.body.size[size],fontWeight:font.weight[weight],lineHeight:font.body.lineHeight[size]};return jsx(Text,{...otherProps,tag:tag,style:[styles.BodyText,themeBodyText,style],ref:ref,children:children})});
|
|
22
|
+
|
|
19
23
|
const BodySerifBlock=React.forwardRef(function BodySerifBlock({style,children,tag="span",...otherProps},ref){return jsx(Text,{...otherProps,tag:tag,style:[styles.BodySerifBlock,style],ref:ref,children:children})});
|
|
20
24
|
|
|
21
25
|
const BodySerif=React.forwardRef(function BodySerif({style,children,tag="span",...otherProps},ref){return jsx(Text,{...otherProps,tag:tag,style:[styles.BodySerif,style],ref:ref,children:children})});
|
|
@@ -38,4 +42,4 @@ const Caption=React.forwardRef(function Caption({style,children,tag="span",...ot
|
|
|
38
42
|
|
|
39
43
|
const Footnote=React.forwardRef(function Footnote({style,children,tag="span",...otherProps},ref){return jsx(Text,{...otherProps,tag:tag,style:[styles.Footnote,style],ref:ref,children:children})});
|
|
40
44
|
|
|
41
|
-
export { Body, BodyMonospace, BodySerif, BodySerifBlock, Caption, Footnote, HeadingLarge, HeadingMedium, HeadingSmall, HeadingXSmall, LabelLarge, LabelMedium, LabelSmall, LabelXSmall, Tagline, Title, styles };
|
|
45
|
+
export { Body, BodyMonospace, BodySerif, BodySerifBlock, BodyText, Caption, Footnote, Heading, HeadingLarge, HeadingMedium, HeadingSmall, HeadingXSmall, LabelLarge, LabelMedium, LabelSmall, LabelXSmall, Tagline, Title, styles };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import styles from "./util/styles";
|
|
2
2
|
import Title from "./components/title";
|
|
3
|
+
import Heading from "./components/heading";
|
|
3
4
|
import HeadingLarge from "./components/heading-large";
|
|
4
5
|
import HeadingMedium from "./components/heading-medium";
|
|
5
6
|
import HeadingSmall from "./components/heading-small";
|
|
6
7
|
import HeadingXSmall from "./components/heading-xsmall";
|
|
8
|
+
import BodyText from "./components/body-text";
|
|
7
9
|
import BodySerifBlock from "./components/body-serif-block";
|
|
8
10
|
import BodySerif from "./components/body-serif";
|
|
9
11
|
import BodyMonospace from "./components/body-monospace";
|
|
@@ -18,11 +20,11 @@ import Footnote from "./components/footnote";
|
|
|
18
20
|
/**
|
|
19
21
|
* Typography components for headings or titles.
|
|
20
22
|
*/
|
|
21
|
-
export type
|
|
23
|
+
export type HeadingComponents = typeof Title | typeof Heading | typeof HeadingLarge | typeof HeadingMedium | typeof HeadingSmall | typeof HeadingXSmall;
|
|
22
24
|
/**
|
|
23
25
|
* Typography components for representing body text.
|
|
24
26
|
*/
|
|
25
|
-
export type
|
|
27
|
+
export type BodyComponents = typeof Body | typeof BodyText | typeof BodySerif | typeof BodySerifBlock | typeof BodyMonospace;
|
|
26
28
|
/**
|
|
27
29
|
* Typography components for labels.
|
|
28
30
|
*/
|
|
@@ -30,5 +32,5 @@ export type Label = typeof LabelLarge | typeof LabelMedium | typeof LabelSmall |
|
|
|
30
32
|
/**
|
|
31
33
|
* All typography components.
|
|
32
34
|
*/
|
|
33
|
-
export type Typography =
|
|
34
|
-
export { Title, HeadingLarge, HeadingMedium, HeadingSmall, HeadingXSmall, BodySerifBlock, BodySerif, BodyMonospace, Body, LabelLarge, LabelMedium, LabelSmall, LabelXSmall, Tagline, Caption, Footnote, styles, };
|
|
35
|
+
export type Typography = HeadingComponents | BodyComponents | Label | typeof Tagline | typeof Caption | typeof Footnote;
|
|
36
|
+
export { Title, Heading, HeadingLarge, HeadingMedium, HeadingSmall, HeadingXSmall, BodyText, BodySerifBlock, BodySerif, BodyMonospace, Body, LabelLarge, LabelMedium, LabelSmall, LabelXSmall, Tagline, Caption, Footnote, styles, };
|
package/dist/index.js
CHANGED
|
@@ -28,10 +28,12 @@ function _interopNamespace(e) {
|
|
|
28
28
|
|
|
29
29
|
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
30
30
|
|
|
31
|
-
const common={display:"block"};const styles=aphrodite.StyleSheet.create({Title:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.black,[wonderBlocksTokens.breakpoint.mediaQuery.xl]:{fontSize:wonderBlocksTokens.font.size.xxxLarge,lineHeight:wonderBlocksTokens.font.lineHeight.xxxLarge},[wonderBlocksTokens.breakpoint.mediaQuery.mdOrSmaller]:{fontSize:wonderBlocksTokens.font.size.xxLarge,lineHeight:wonderBlocksTokens.font.lineHeight.xxLarge}},Tagline:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.
|
|
31
|
+
const common={display:"block"};const styles=aphrodite.StyleSheet.create({Title:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.black,[wonderBlocksTokens.breakpoint.mediaQuery.xl]:{fontSize:wonderBlocksTokens.font.size.xxxLarge,lineHeight:wonderBlocksTokens.font.lineHeight.xxxLarge},[wonderBlocksTokens.breakpoint.mediaQuery.mdOrSmaller]:{fontSize:wonderBlocksTokens.font.size.xxLarge,lineHeight:wonderBlocksTokens.font.lineHeight.xxLarge}},Tagline:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.medium,fontSize:wonderBlocksTokens.font.size.large,lineHeight:wonderBlocksTokens.font.lineHeight.large},Heading:{...common,fontFamily:wonderBlocksTokens.font.family.sans},BodyText:{...common,fontFamily:wonderBlocksTokens.font.family.sans},HeadingLarge:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.bold,[wonderBlocksTokens.breakpoint.mediaQuery.xl]:{fontSize:wonderBlocksTokens.font.size.xxLarge,lineHeight:wonderBlocksTokens.font.lineHeight.xxLarge},[wonderBlocksTokens.breakpoint.mediaQuery.mdOrSmaller]:{fontSize:wonderBlocksTokens.font.size.xLarge,lineHeight:wonderBlocksTokens.font.lineHeight.xLarge}},HeadingMedium:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.bold,[wonderBlocksTokens.breakpoint.mediaQuery.xl]:{fontSize:wonderBlocksTokens.font.size.xLarge,lineHeight:wonderBlocksTokens.font.lineHeight.xLarge},[wonderBlocksTokens.breakpoint.mediaQuery.mdOrSmaller]:{fontSize:"2.2rem",lineHeight:"2.6rem"}},HeadingSmall:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.bold,fontSize:wonderBlocksTokens.font.size.large,lineHeight:wonderBlocksTokens.font.lineHeight.large},HeadingXSmall:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.bold,fontSize:wonderBlocksTokens.font.size.xSmall,lineHeight:wonderBlocksTokens.font.lineHeight.xSmall,letterSpacing:.6,textTransform:"uppercase"},BodySerifBlock:{...common,fontFamily:wonderBlocksTokens.font.family.serif,fontWeight:wonderBlocksTokens.font.weight.medium,fontSize:wonderBlocksTokens.font.size.large,lineHeight:wonderBlocksTokens.font.lineHeight.large},BodySerif:{...common,fontFamily:wonderBlocksTokens.font.family.serif,fontWeight:wonderBlocksTokens.font.weight.medium,fontSize:wonderBlocksTokens.font.size.medium,lineHeight:wonderBlocksTokens.font.size.medium},BodyMonospace:{...common,fontFamily:wonderBlocksTokens.font.family.mono,fontWeight:wonderBlocksTokens.font.weight.medium,fontSize:wonderBlocksTokens.font.size.medium,lineHeight:wonderBlocksTokens.font.lineHeight.medium},Body:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.medium,fontSize:wonderBlocksTokens.font.size.medium,lineHeight:wonderBlocksTokens.font.lineHeight.xMedium},LabelLarge:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.bold,fontSize:wonderBlocksTokens.font.size.medium,lineHeight:wonderBlocksTokens.font.lineHeight.medium},LabelMedium:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.medium,fontSize:wonderBlocksTokens.font.size.medium,lineHeight:wonderBlocksTokens.font.lineHeight.medium},LabelSmall:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.medium,fontSize:wonderBlocksTokens.font.size.small,lineHeight:wonderBlocksTokens.font.lineHeight.small},LabelXSmall:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.medium,fontSize:wonderBlocksTokens.font.size.xSmall,lineHeight:wonderBlocksTokens.font.lineHeight.xSmall},Caption:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.medium,fontSize:wonderBlocksTokens.font.size.small,lineHeight:wonderBlocksTokens.font.lineHeight.medium},Footnote:{...common,fontFamily:wonderBlocksTokens.font.family.sans,fontWeight:wonderBlocksTokens.font.weight.medium,fontSize:wonderBlocksTokens.font.size.xSmall,lineHeight:wonderBlocksTokens.font.lineHeight.small}});
|
|
32
32
|
|
|
33
33
|
const Title=React__namespace.forwardRef(function Title({style,children,tag="h1",...otherProps},ref){return jsxRuntime.jsx(wonderBlocksCore.Text,{...otherProps,tag:tag,style:[styles.Title,style],ref:ref,children:children})});
|
|
34
34
|
|
|
35
|
+
const Heading=React__namespace.forwardRef(function Heading({size="large",weight="bold",style,children,tag="h2",...otherProps},ref){const themeHeading={fontSize:wonderBlocksTokens.font.heading.size[size],fontWeight:wonderBlocksTokens.font.weight[weight],lineHeight:wonderBlocksTokens.font.heading.lineHeight[size]};return jsxRuntime.jsx(wonderBlocksCore.Text,{...otherProps,tag:tag,style:[styles.Heading,themeHeading,style],ref:ref,children:children})});
|
|
36
|
+
|
|
35
37
|
const HeadingLarge=React__namespace.forwardRef(function HeadingLarge({style,children,tag="h2",...otherProps},ref){return jsxRuntime.jsx(wonderBlocksCore.Text,{...otherProps,tag:tag,style:[styles.HeadingLarge,style],ref:ref,children:children})});
|
|
36
38
|
|
|
37
39
|
const HeadingMedium=React__namespace.forwardRef(function HeadingMedium({style,children,tag="h3",...otherProps},ref){return jsxRuntime.jsx(wonderBlocksCore.Text,{...otherProps,tag:tag,style:[styles.HeadingMedium,style],ref:ref,children:children})});
|
|
@@ -40,6 +42,8 @@ const HeadingSmall=React__namespace.forwardRef(function HeadingSmall({style,chil
|
|
|
40
42
|
|
|
41
43
|
const HeadingXSmall=React__namespace.forwardRef(function HeadingXSmall({style,children,tag="h4",...otherProps},ref){return jsxRuntime.jsx(wonderBlocksCore.Text,{...otherProps,tag:tag,style:[styles.HeadingXSmall,style],ref:ref,children:children})});
|
|
42
44
|
|
|
45
|
+
const BodyText=React__namespace.forwardRef(function BodyText({size="small",weight="semi",style,children,tag="p",...otherProps},ref){const themeBodyText={fontSize:wonderBlocksTokens.font.body.size[size],fontWeight:wonderBlocksTokens.font.weight[weight],lineHeight:wonderBlocksTokens.font.body.lineHeight[size]};return jsxRuntime.jsx(wonderBlocksCore.Text,{...otherProps,tag:tag,style:[styles.BodyText,themeBodyText,style],ref:ref,children:children})});
|
|
46
|
+
|
|
43
47
|
const BodySerifBlock=React__namespace.forwardRef(function BodySerifBlock({style,children,tag="span",...otherProps},ref){return jsxRuntime.jsx(wonderBlocksCore.Text,{...otherProps,tag:tag,style:[styles.BodySerifBlock,style],ref:ref,children:children})});
|
|
44
48
|
|
|
45
49
|
const BodySerif=React__namespace.forwardRef(function BodySerif({style,children,tag="span",...otherProps},ref){return jsxRuntime.jsx(wonderBlocksCore.Text,{...otherProps,tag:tag,style:[styles.BodySerif,style],ref:ref,children:children})});
|
|
@@ -66,8 +70,10 @@ exports.Body = Body;
|
|
|
66
70
|
exports.BodyMonospace = BodyMonospace;
|
|
67
71
|
exports.BodySerif = BodySerif;
|
|
68
72
|
exports.BodySerifBlock = BodySerifBlock;
|
|
73
|
+
exports.BodyText = BodyText;
|
|
69
74
|
exports.Caption = Caption;
|
|
70
75
|
exports.Footnote = Footnote;
|
|
76
|
+
exports.Heading = Heading;
|
|
71
77
|
exports.HeadingLarge = HeadingLarge;
|
|
72
78
|
exports.HeadingMedium = HeadingMedium;
|
|
73
79
|
exports.HeadingSmall = HeadingSmall;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@khanacademy/wonder-blocks-typography",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.0",
|
|
4
4
|
"design": "v2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -13,14 +13,14 @@
|
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"dependencies": {
|
|
15
15
|
"@khanacademy/wonder-blocks-core": "12.3.0",
|
|
16
|
-
"@khanacademy/wonder-blocks-tokens": "10.
|
|
16
|
+
"@khanacademy/wonder-blocks-tokens": "10.3.0"
|
|
17
17
|
},
|
|
18
18
|
"peerDependencies": {
|
|
19
19
|
"aphrodite": "^1.2.5",
|
|
20
20
|
"react": "18.2.0"
|
|
21
21
|
},
|
|
22
22
|
"devDependencies": {
|
|
23
|
-
"@khanacademy/wb-dev-build-settings": "3.
|
|
23
|
+
"@khanacademy/wb-dev-build-settings": "3.2.0"
|
|
24
24
|
},
|
|
25
25
|
"scripts": {
|
|
26
26
|
"test": "echo \"Error: no test specified\" && exit 1"
|