@mirohq/design-system-callout 1.4.37-reactdismissablelayer.0 → 1.5.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/dist/main.js +97 -19
- package/dist/main.js.map +1 -1
- package/dist/module.js +97 -19
- package/dist/module.js.map +1 -1
- package/dist/types.d.ts +16 -1
- package/package.json +7 -5
package/dist/main.js
CHANGED
|
@@ -4,6 +4,8 @@ var jsxRuntime = require('react/jsx-runtime');
|
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var designSystemPrimitive = require('@mirohq/design-system-primitive');
|
|
6
6
|
var designSystemStitches = require('@mirohq/design-system-stitches');
|
|
7
|
+
var designSystemButton = require('@mirohq/design-system-button');
|
|
8
|
+
var designSystemUtils = require('@mirohq/design-system-utils');
|
|
7
9
|
var designSystemIcons = require('@mirohq/design-system-icons');
|
|
8
10
|
var designSystemTypography = require('@mirohq/design-system-typography');
|
|
9
11
|
var designSystemIconButton = require('@mirohq/design-system-icon-button');
|
|
@@ -14,7 +16,7 @@ const StyledCallout = designSystemStitches.styled(designSystemPrimitive.Primitiv
|
|
|
14
16
|
padding: "$200",
|
|
15
17
|
borderWidth: "$sm",
|
|
16
18
|
borderStyle: "solid",
|
|
17
|
-
borderRadius: "$
|
|
19
|
+
borderRadius: "$notification",
|
|
18
20
|
display: "grid",
|
|
19
21
|
justifyContent: "center",
|
|
20
22
|
gridTemplateColumns: "auto 1fr",
|
|
@@ -49,7 +51,7 @@ const StyledCallout = designSystemStitches.styled(designSystemPrimitive.Primitiv
|
|
|
49
51
|
},
|
|
50
52
|
dismissible: {
|
|
51
53
|
true: {
|
|
52
|
-
padding: "$200 $
|
|
54
|
+
padding: "$200 $500 $200 $200"
|
|
53
55
|
},
|
|
54
56
|
false: {
|
|
55
57
|
gridTemplateColumns: "auto 1fr",
|
|
@@ -59,6 +61,87 @@ const StyledCallout = designSystemStitches.styled(designSystemPrimitive.Primitiv
|
|
|
59
61
|
}
|
|
60
62
|
});
|
|
61
63
|
|
|
64
|
+
const CalloutContext = React.createContext({});
|
|
65
|
+
const CalloutProvider = ({
|
|
66
|
+
children,
|
|
67
|
+
...restProps
|
|
68
|
+
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
69
|
+
CalloutContext.Provider,
|
|
70
|
+
{
|
|
71
|
+
value: {
|
|
72
|
+
...restProps
|
|
73
|
+
},
|
|
74
|
+
children
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
const useCalloutContext = () => React.useContext(CalloutContext);
|
|
78
|
+
|
|
79
|
+
const PRIMARY_ACTION_COLORS = {
|
|
80
|
+
information: {
|
|
81
|
+
background: "$button-background-info",
|
|
82
|
+
backgroundHover: "$button-background-info-hover",
|
|
83
|
+
backgroundPressed: "$button-background-info-pressed",
|
|
84
|
+
text: "$text-on-static-dark"
|
|
85
|
+
},
|
|
86
|
+
warning: {
|
|
87
|
+
background: "$button-background-warning",
|
|
88
|
+
backgroundHover: "$button-background-warning-hover",
|
|
89
|
+
backgroundPressed: "$button-background-warning-pressed",
|
|
90
|
+
text: "$text-on-static-dark"
|
|
91
|
+
},
|
|
92
|
+
danger: {
|
|
93
|
+
background: "$button-background-danger",
|
|
94
|
+
backgroundHover: "$button-background-danger-hover",
|
|
95
|
+
backgroundPressed: "$button-background-danger-pressed",
|
|
96
|
+
text: "$button-text-on-danger"
|
|
97
|
+
}
|
|
98
|
+
};
|
|
99
|
+
const primaryActionColorVariants = designSystemUtils.mapKeysToVariants(
|
|
100
|
+
PRIMARY_ACTION_COLORS,
|
|
101
|
+
(key) => {
|
|
102
|
+
const colors = PRIMARY_ACTION_COLORS[key];
|
|
103
|
+
if (colors == null) {
|
|
104
|
+
return {};
|
|
105
|
+
}
|
|
106
|
+
return {
|
|
107
|
+
backgroundColor: colors.background,
|
|
108
|
+
color: colors.text,
|
|
109
|
+
"&:hover, &[data-hovered]": {
|
|
110
|
+
backgroundColor: colors.backgroundHover,
|
|
111
|
+
color: colors.text
|
|
112
|
+
},
|
|
113
|
+
"&:active, &[data-pressed]": {
|
|
114
|
+
backgroundColor: colors.backgroundPressed,
|
|
115
|
+
color: colors.text
|
|
116
|
+
}
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
|
|
121
|
+
const StyledAction = designSystemStitches.styled(designSystemButton.Button, {
|
|
122
|
+
variants: {
|
|
123
|
+
color: primaryActionColorVariants
|
|
124
|
+
}
|
|
125
|
+
});
|
|
126
|
+
const Action = React.forwardRef(
|
|
127
|
+
({ variant = "primary", size = "medium", ...props }, forwardRef) => {
|
|
128
|
+
const { variant: calloutVariant } = useCalloutContext();
|
|
129
|
+
const isPrimary = variant === "primary";
|
|
130
|
+
const color = isPrimary && typeof calloutVariant === "string" && calloutVariant in primaryActionColorVariants ? calloutVariant : void 0;
|
|
131
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
132
|
+
StyledAction,
|
|
133
|
+
{
|
|
134
|
+
...props,
|
|
135
|
+
ref: forwardRef,
|
|
136
|
+
size,
|
|
137
|
+
variant: isPrimary ? "primary" : "ghost",
|
|
138
|
+
color
|
|
139
|
+
}
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
);
|
|
143
|
+
Action.displayName = "Callout.Action";
|
|
144
|
+
|
|
62
145
|
const Content = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
|
|
63
146
|
display: "flex",
|
|
64
147
|
flexDirection: "column",
|
|
@@ -76,21 +159,6 @@ const Description = designSystemStitches.styled(designSystemPrimitive.Primitive.
|
|
|
76
159
|
});
|
|
77
160
|
Description.displayName = "Callout.Description";
|
|
78
161
|
|
|
79
|
-
const CalloutContext = React.createContext({});
|
|
80
|
-
const CalloutProvider = ({
|
|
81
|
-
children,
|
|
82
|
-
...restProps
|
|
83
|
-
}) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
84
|
-
CalloutContext.Provider,
|
|
85
|
-
{
|
|
86
|
-
value: {
|
|
87
|
-
...restProps
|
|
88
|
-
},
|
|
89
|
-
children
|
|
90
|
-
}
|
|
91
|
-
);
|
|
92
|
-
const useCalloutContext = () => React.useContext(CalloutContext);
|
|
93
|
-
|
|
94
162
|
const StyledIconSlot = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
|
|
95
163
|
variants: {
|
|
96
164
|
variant: {
|
|
@@ -131,6 +199,14 @@ const IconSlot = React.forwardRef(({ children, ...restProps }, forwardRef) => {
|
|
|
131
199
|
return /* @__PURE__ */ jsxRuntime.jsx(StyledIconSlot, { ...restProps, ref: forwardRef, variant, children: formattedChildren });
|
|
132
200
|
});
|
|
133
201
|
|
|
202
|
+
const TagSlot = designSystemStitches.styled(designSystemPrimitive.Primitive.div, {
|
|
203
|
+
display: "flex",
|
|
204
|
+
alignItems: "center",
|
|
205
|
+
gap: "$50",
|
|
206
|
+
marginBottom: "$75"
|
|
207
|
+
});
|
|
208
|
+
TagSlot.displayName = "Callout.TagSlot";
|
|
209
|
+
|
|
134
210
|
const StyledTitle = designSystemStitches.styled(designSystemTypography.Heading, { lineHeight: "$300" });
|
|
135
211
|
const Title = React.forwardRef(
|
|
136
212
|
({ level = 4, ...props }, forwardRef) => /* @__PURE__ */ jsxRuntime.jsx(StyledTitle, { ...props, ref: forwardRef, level, styledAs: "h4" })
|
|
@@ -147,8 +223,8 @@ Actions.displayName = "Callout.Actions";
|
|
|
147
223
|
|
|
148
224
|
const StyledDismissButton = designSystemStitches.styled(designSystemIconButton.IconButton, {
|
|
149
225
|
position: "absolute",
|
|
150
|
-
right: "$
|
|
151
|
-
top: "$
|
|
226
|
+
right: "$100",
|
|
227
|
+
top: "$100"
|
|
152
228
|
});
|
|
153
229
|
const DismissButton = (props) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
154
230
|
StyledDismissButton,
|
|
@@ -205,9 +281,11 @@ const Callout = React.forwardRef(
|
|
|
205
281
|
) });
|
|
206
282
|
}
|
|
207
283
|
);
|
|
284
|
+
Callout.Action = Action;
|
|
208
285
|
Callout.Content = Content;
|
|
209
286
|
Callout.Description = Description;
|
|
210
287
|
Callout.IconSlot = IconSlot;
|
|
288
|
+
Callout.TagSlot = TagSlot;
|
|
211
289
|
Callout.Title = Title;
|
|
212
290
|
Callout.Actions = Actions;
|
|
213
291
|
|
package/dist/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sources":["../src/callout.styled.tsx","../src/partials/content.tsx","../src/partials/description.tsx","../src/hooks/use-callout-context.tsx","../src/partials/icon-slot.styled.ts","../src/partials/icon-slot.tsx","../src/partials/title.tsx","../src/partials/actions.tsx","../src/partials/dismiss-button.tsx","../src/callout.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCallout = styled(Primitive.div, {\n position: 'relative',\n gap: '$150',\n padding: '$200',\n borderWidth: '$sm',\n borderStyle: 'solid',\n borderRadius: '$75',\n display: 'grid',\n justifyContent: 'center',\n gridTemplateColumns: 'auto 1fr',\n gridTemplateAreas: `'icon content'`,\n variants: {\n variant: {\n information: {\n backgroundColor: '$status-background-info',\n borderColor: '$status-border-info',\n color: '$status-text-on-info',\n },\n warning: {\n backgroundColor: '$status-background-warning',\n borderColor: '$status-border-warning',\n color: '$status-text-on-warning',\n },\n danger: {\n backgroundColor: '$status-background-error',\n borderColor: '$status-border-error',\n color: '$status-text-on-error',\n },\n success: {\n backgroundColor: '$status-background-success',\n borderColor: '$status-border-success',\n color: '$status-text-on-success',\n },\n neutral: {\n backgroundColor: '$background-surface',\n borderColor: '$border-default',\n color: '$text-default',\n },\n },\n dismissible: {\n true: {\n padding: '$200 $400 $200 $200',\n },\n false: {\n gridTemplateColumns: 'auto 1fr',\n gridTemplateAreas: `'icon content'`,\n },\n },\n },\n})\n\nexport type StyledCalloutProps = ComponentPropsWithRef<typeof StyledCallout>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Content = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n gap: '$25',\n maxWidth: '48em',\n gridArea: 'content',\n})\n\nContent.displayName = 'Callout.Content'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Description = styled(Primitive.div, {\n color: 'inherit',\n fontSize: '$175',\n lineHeight: '$400',\n marginTop: '$25',\n})\n\nDescription.displayName = 'Callout.Description'\n","import { createContext, useContext } from 'react'\n\nimport type { StyledCalloutProps } from '../callout.styled'\n\ninterface CalloutProps {\n variant?: StyledCalloutProps['variant']\n}\n\ninterface CalloutContextProps extends CalloutProps {}\n\nexport interface CalloutProviderProps extends CalloutContextProps {\n children: React.ReactNode\n}\n\nconst CalloutContext = createContext<CalloutContextProps>({} as any)\n\nexport const CalloutProvider = ({\n children,\n ...restProps\n}: CalloutProviderProps): JSX.Element => (\n <CalloutContext.Provider\n value={{\n ...restProps,\n }}\n >\n {children}\n </CalloutContext.Provider>\n)\n\nexport const useCalloutContext = (): CalloutContextProps =>\n useContext(CalloutContext)\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n variants: {\n variant: {\n information: {\n color: '$status-icon-on-info',\n },\n warning: {\n color: '$status-icon-on-warning',\n },\n danger: {\n color: '$status-icon-on-error',\n },\n success: {\n color: '$status-icon-on-success',\n },\n neutral: {\n color: '$icon-default',\n },\n },\n },\n})\n","import React from 'react'\nimport type { ElementRef, ComponentPropsWithRef } from 'react'\nimport {\n IconCheckMark,\n IconExclamationPointCircle,\n IconInformationMarkCircle,\n} from '@mirohq/design-system-icons'\n\nimport { useCalloutContext } from '../hooks/use-callout-context'\nimport { StyledIconSlot } from './icon-slot.styled'\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n\nexport interface IconSlotProps extends StyledIconSlotProps {\n /**\n * The icon.\n */\n children?: React.ReactNode\n}\n\nconst iconVariant = {\n success: <IconCheckMark />,\n warning: <IconExclamationPointCircle />,\n danger: <IconExclamationPointCircle />,\n information: <IconInformationMarkCircle />,\n neutral: <IconInformationMarkCircle />,\n default: <IconCheckMark />,\n}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n IconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const { variant } = useCalloutContext()\n\n let formattedChildren = children\n if (React.Children.count(children) < 1) {\n formattedChildren =\n iconVariant[variant as keyof typeof iconVariant] ?? iconVariant.default\n }\n\n return (\n <StyledIconSlot {...restProps} ref={forwardRef} variant={variant}>\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Heading } from '@mirohq/design-system-typography'\nimport type { HeadingProps } from '@mirohq/design-system-typography'\n\nconst StyledTitle = styled(Heading, { lineHeight: '$300' })\n\nexport interface TitleProps extends Omit<HeadingProps, 'level' | 'styledAs'> {\n level?: HeadingProps['level']\n}\n\nexport const Title = React.forwardRef<ElementRef<typeof Heading>, TitleProps>(\n ({ level = 4, ...props }, forwardRef) => (\n <StyledTitle {...props} ref={forwardRef} level={level} styledAs='h4' />\n )\n)\n\nTitle.displayName = 'Callout.Title'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Actions = styled(Primitive.div, {\n gridColumn: 'content',\n gridRow: -1,\n display: 'flex',\n gap: '$100',\n})\n\nActions.displayName = 'Callout.Actions'\n","import { styled } from '@mirohq/design-system-stitches'\nimport { IconButton } from '@mirohq/design-system-icon-button'\nimport type { IconButtonProps } from '@mirohq/design-system-icon-button'\nimport { IconCross } from '@mirohq/design-system-icons'\n\nconst StyledDismissButton = styled(IconButton, {\n position: 'absolute',\n right: '$50',\n top: '$50',\n})\n\nexport const DismissButton = (props: IconButtonProps): React.ReactNode => (\n <StyledDismissButton\n variant='ghost'\n size='medium'\n data-testid='dismiss-button'\n {...props}\n >\n <IconCross />\n </StyledDismissButton>\n)\n\nDismissButton.displayName = 'Callout.DismissButton'\n","import React, { useState } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { StyledCallout } from './callout.styled'\nimport type { StyledCalloutProps } from './callout.styled'\nimport { Content } from './partials/content'\nimport { Description } from './partials/description'\nimport { IconSlot } from './partials/icon-slot'\nimport { Title } from './partials/title'\nimport { Actions } from './partials/actions'\nimport { CalloutProvider } from './hooks/use-callout-context'\nimport { DismissButton } from './partials/dismiss-button'\n\ninterface DismissibleProps {\n /**\n * Whether or not the component is dismissed (hidden)\n */\n dismissed?: boolean\n\n /**\n * Callback invoked once dismiss button is clicked\n */\n onDismiss?: () => void\n\n /**\n * aria-label for the dismiss button\n */\n dismissLabel: string\n}\n\nexport type CalloutProps = (Omit<StyledCalloutProps, 'dismissible'> & {\n /**\n * Change the component style.\n */\n variant: StyledCalloutProps['variant']\n\n /**\n * Whether or not the component should display dismiss button\n * @default true\n */\n dismissible?: boolean\n}) &\n (\n | DismissibleProps // uncontrolled\n | Required<DismissibleProps> // controlled\n | ({ dismissible?: false } & { [K in keyof DismissibleProps]?: never })\n )\n\nexport const Callout = React.forwardRef<\n ElementRef<typeof StyledCallout>,\n CalloutProps\n>(\n (\n {\n dismissed,\n dismissible = true,\n onDismiss,\n dismissLabel,\n children,\n variant,\n role,\n ...props\n },\n forwardRef\n ) => {\n const [internalDismissed, setInternalDismissed] = useState<boolean>(\n dismissed ?? false\n )\n\n if (dismissed ?? internalDismissed) {\n return null\n }\n\n const handleDismissed = (): void => {\n setInternalDismissed(true)\n onDismiss?.()\n }\n\n return (\n <CalloutProvider variant={variant}>\n <StyledCallout\n {...props}\n ref={forwardRef}\n variant={variant}\n dismissible={dismissible}\n role={role ?? 'alert'}\n >\n {children}\n {dismissible && onDismiss != null && dismissLabel?.length > 0 && (\n <DismissButton\n aria-label={dismissLabel}\n onPress={handleDismissed}\n />\n )}\n </StyledCallout>\n </CalloutProvider>\n )\n }\n) as ForwardRefExoticComponent<CalloutProps> & Partials\n\nexport interface Partials {\n Content: typeof Content\n Description: typeof Description\n IconSlot: typeof IconSlot\n Title: typeof Title\n Actions: typeof Actions\n}\n\nCallout.Content = Content\nCallout.Description = Description\nCallout.IconSlot = IconSlot\nCallout.Title = Title\nCallout.Actions = Actions\n"],"names":["styled","Primitive","createContext","jsx","useContext","IconCheckMark","IconExclamationPointCircle","IconInformationMarkCircle","Heading","IconButton","IconCross","useState","jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sources":["../src/callout.styled.tsx","../src/hooks/use-callout-context.tsx","../src/callout.colors.ts","../src/partials/action.tsx","../src/partials/content.tsx","../src/partials/description.tsx","../src/partials/icon-slot.styled.ts","../src/partials/icon-slot.tsx","../src/partials/tag-slot.tsx","../src/partials/title.tsx","../src/partials/actions.tsx","../src/partials/dismiss-button.tsx","../src/callout.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCallout = styled(Primitive.div, {\n position: 'relative',\n gap: '$150',\n padding: '$200',\n borderWidth: '$sm',\n borderStyle: 'solid',\n borderRadius: '$notification',\n display: 'grid',\n justifyContent: 'center',\n gridTemplateColumns: 'auto 1fr',\n gridTemplateAreas: `'icon content'`,\n variants: {\n variant: {\n information: {\n backgroundColor: '$status-background-info',\n borderColor: '$status-border-info',\n color: '$status-text-on-info',\n },\n warning: {\n backgroundColor: '$status-background-warning',\n borderColor: '$status-border-warning',\n color: '$status-text-on-warning',\n },\n danger: {\n backgroundColor: '$status-background-error',\n borderColor: '$status-border-error',\n color: '$status-text-on-error',\n },\n success: {\n backgroundColor: '$status-background-success',\n borderColor: '$status-border-success',\n color: '$status-text-on-success',\n },\n neutral: {\n backgroundColor: '$background-surface',\n borderColor: '$border-default',\n color: '$text-default',\n },\n },\n dismissible: {\n true: {\n padding: '$200 $500 $200 $200',\n },\n false: {\n gridTemplateColumns: 'auto 1fr',\n gridTemplateAreas: `'icon content'`,\n },\n },\n },\n})\n\nexport type StyledCalloutProps = ComponentPropsWithRef<typeof StyledCallout>\n\n// Plain string union of the styled `variant` variants, mirroring BannerVariant:\n// `Extract<…, string>` drops the stitches responsive-object form.\nexport type CalloutVariant = Extract<StyledCalloutProps['variant'], string>\n","import { createContext, useContext } from 'react'\n\nimport type { StyledCalloutProps } from '../callout.styled'\n\ninterface CalloutProps {\n variant?: StyledCalloutProps['variant']\n}\n\ninterface CalloutContextProps extends CalloutProps {}\n\nexport interface CalloutProviderProps extends CalloutContextProps {\n children: React.ReactNode\n}\n\nconst CalloutContext = createContext<CalloutContextProps>({} as any)\n\nexport const CalloutProvider = ({\n children,\n ...restProps\n}: CalloutProviderProps): JSX.Element => (\n <CalloutContext.Provider\n value={{\n ...restProps,\n }}\n >\n {children}\n </CalloutContext.Provider>\n)\n\nexport const useCalloutContext = (): CalloutContextProps =>\n useContext(CalloutContext)\n","import { mapKeysToVariants } from '@mirohq/design-system-utils'\n\nimport type { CalloutVariant } from './callout.styled'\n\ninterface ActionColorSet {\n background: string\n backgroundHover: string\n backgroundPressed: string\n text: string\n}\n\n// Per-variant overrides agreed with the MDS team: Button-level status variants\n// are deferred until after the C26 token cleanup (NOTI-5461), so the colors\n// live here instead of in MDS Button.\nconst PRIMARY_ACTION_COLORS: Partial<Record<CalloutVariant, ActionColorSet>> = {\n information: {\n background: '$button-background-info',\n backgroundHover: '$button-background-info-hover',\n backgroundPressed: '$button-background-info-pressed',\n text: '$text-on-static-dark',\n },\n warning: {\n background: '$button-background-warning',\n backgroundHover: '$button-background-warning-hover',\n backgroundPressed: '$button-background-warning-pressed',\n text: '$text-on-static-dark',\n },\n danger: {\n background: '$button-background-danger',\n backgroundHover: '$button-background-danger-hover',\n backgroundPressed: '$button-background-danger-pressed',\n text: '$button-text-on-danger',\n },\n}\n\nexport const primaryActionColorVariants = mapKeysToVariants(\n PRIMARY_ACTION_COLORS,\n key => {\n const colors = PRIMARY_ACTION_COLORS[key]\n if (colors == null) {\n return {}\n }\n\n return {\n backgroundColor: colors.background,\n color: colors.text,\n '&:hover, &[data-hovered]': {\n backgroundColor: colors.backgroundHover,\n color: colors.text,\n },\n '&:active, &[data-pressed]': {\n backgroundColor: colors.backgroundPressed,\n color: colors.text,\n },\n }\n }\n)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Button } from '@mirohq/design-system-button'\nimport type { ButtonProps } from '@mirohq/design-system-button'\nimport { styled } from '@mirohq/design-system-stitches'\n\nimport { useCalloutContext } from '../hooks/use-callout-context'\nimport { primaryActionColorVariants } from '../callout.colors'\n\nconst StyledAction = styled(Button, {\n variants: {\n color: primaryActionColorVariants,\n },\n})\n\nexport interface ActionProps extends Omit<ButtonProps, 'variant'> {\n /**\n * Visual prominence of the action.\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary'\n}\n\nexport const Action = React.forwardRef<ElementRef<typeof Button>, ActionProps>(\n ({ variant = 'primary', size = 'medium', ...props }, forwardRef) => {\n const { variant: calloutVariant } = useCalloutContext()\n const isPrimary = variant === 'primary'\n const color =\n isPrimary &&\n typeof calloutVariant === 'string' &&\n calloutVariant in primaryActionColorVariants\n ? (calloutVariant as keyof typeof primaryActionColorVariants)\n : undefined\n\n return (\n <StyledAction\n {...props}\n ref={forwardRef}\n size={size}\n variant={isPrimary ? 'primary' : 'ghost'}\n color={color}\n />\n )\n }\n)\n\nAction.displayName = 'Callout.Action'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Content = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n gap: '$25',\n maxWidth: '48em',\n gridArea: 'content',\n})\n\nContent.displayName = 'Callout.Content'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Description = styled(Primitive.div, {\n color: 'inherit',\n fontSize: '$175',\n lineHeight: '$400',\n marginTop: '$25',\n})\n\nDescription.displayName = 'Callout.Description'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n variants: {\n variant: {\n information: {\n color: '$status-icon-on-info',\n },\n warning: {\n color: '$status-icon-on-warning',\n },\n danger: {\n color: '$status-icon-on-error',\n },\n success: {\n color: '$status-icon-on-success',\n },\n neutral: {\n color: '$icon-default',\n },\n },\n },\n})\n","import React from 'react'\nimport type { ElementRef, ComponentPropsWithRef } from 'react'\nimport {\n IconCheckMark,\n IconExclamationPointCircle,\n IconInformationMarkCircle,\n} from '@mirohq/design-system-icons'\n\nimport { useCalloutContext } from '../hooks/use-callout-context'\nimport { StyledIconSlot } from './icon-slot.styled'\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n\nexport interface IconSlotProps extends StyledIconSlotProps {\n /**\n * The icon.\n */\n children?: React.ReactNode\n}\n\nconst iconVariant = {\n success: <IconCheckMark />,\n warning: <IconExclamationPointCircle />,\n danger: <IconExclamationPointCircle />,\n information: <IconInformationMarkCircle />,\n neutral: <IconInformationMarkCircle />,\n default: <IconCheckMark />,\n}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n IconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const { variant } = useCalloutContext()\n\n let formattedChildren = children\n if (React.Children.count(children) < 1) {\n formattedChildren =\n iconVariant[variant as keyof typeof iconVariant] ?? iconVariant.default\n }\n\n return (\n <StyledIconSlot {...restProps} ref={forwardRef} variant={variant}>\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\n// 6px margin + the 2px Content column gap = 8px between tag and title, per design.\nexport const TagSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n gap: '$50',\n marginBottom: '$75',\n})\n\nTagSlot.displayName = 'Callout.TagSlot'\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Heading } from '@mirohq/design-system-typography'\nimport type { HeadingProps } from '@mirohq/design-system-typography'\n\nconst StyledTitle = styled(Heading, { lineHeight: '$300' })\n\nexport interface TitleProps extends Omit<HeadingProps, 'level' | 'styledAs'> {\n level?: HeadingProps['level']\n}\n\nexport const Title = React.forwardRef<ElementRef<typeof Heading>, TitleProps>(\n ({ level = 4, ...props }, forwardRef) => (\n <StyledTitle {...props} ref={forwardRef} level={level} styledAs='h4' />\n )\n)\n\nTitle.displayName = 'Callout.Title'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Actions = styled(Primitive.div, {\n gridColumn: 'content',\n gridRow: -1,\n display: 'flex',\n gap: '$100',\n})\n\nActions.displayName = 'Callout.Actions'\n","import { styled } from '@mirohq/design-system-stitches'\nimport { IconButton } from '@mirohq/design-system-icon-button'\nimport type { IconButtonProps } from '@mirohq/design-system-icon-button'\nimport { IconCross } from '@mirohq/design-system-icons'\n\nconst StyledDismissButton = styled(IconButton, {\n position: 'absolute',\n right: '$100',\n top: '$100',\n})\n\nexport const DismissButton = (props: IconButtonProps): React.ReactNode => (\n <StyledDismissButton\n variant='ghost'\n size='medium'\n data-testid='dismiss-button'\n {...props}\n >\n <IconCross />\n </StyledDismissButton>\n)\n\nDismissButton.displayName = 'Callout.DismissButton'\n","import React, { useState } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { StyledCallout } from './callout.styled'\nimport type { StyledCalloutProps } from './callout.styled'\nimport { Action } from './partials/action'\nimport { Content } from './partials/content'\nimport { Description } from './partials/description'\nimport { IconSlot } from './partials/icon-slot'\nimport { TagSlot } from './partials/tag-slot'\nimport { Title } from './partials/title'\nimport { Actions } from './partials/actions'\nimport { CalloutProvider } from './hooks/use-callout-context'\nimport { DismissButton } from './partials/dismiss-button'\n\ninterface DismissibleProps {\n /**\n * Whether or not the component is dismissed (hidden)\n */\n dismissed?: boolean\n\n /**\n * Callback invoked once dismiss button is clicked\n */\n onDismiss?: () => void\n\n /**\n * aria-label for the dismiss button\n */\n dismissLabel: string\n}\n\nexport type CalloutProps = (Omit<StyledCalloutProps, 'dismissible'> & {\n /**\n * Change the component style.\n */\n variant: StyledCalloutProps['variant']\n\n /**\n * Whether or not the component should display dismiss button\n * @default true\n */\n dismissible?: boolean\n}) &\n (\n | DismissibleProps // uncontrolled\n | Required<DismissibleProps> // controlled\n | ({ dismissible?: false } & { [K in keyof DismissibleProps]?: never })\n )\n\nexport const Callout = React.forwardRef<\n ElementRef<typeof StyledCallout>,\n CalloutProps\n>(\n (\n {\n dismissed,\n dismissible = true,\n onDismiss,\n dismissLabel,\n children,\n variant,\n role,\n ...props\n },\n forwardRef\n ) => {\n const [internalDismissed, setInternalDismissed] = useState<boolean>(\n dismissed ?? false\n )\n\n if (dismissed ?? internalDismissed) {\n return null\n }\n\n const handleDismissed = (): void => {\n setInternalDismissed(true)\n onDismiss?.()\n }\n\n return (\n <CalloutProvider variant={variant}>\n <StyledCallout\n {...props}\n ref={forwardRef}\n variant={variant}\n dismissible={dismissible}\n role={role ?? 'alert'}\n >\n {children}\n {dismissible && onDismiss != null && dismissLabel?.length > 0 && (\n <DismissButton\n aria-label={dismissLabel}\n onPress={handleDismissed}\n />\n )}\n </StyledCallout>\n </CalloutProvider>\n )\n }\n) as ForwardRefExoticComponent<CalloutProps> & Partials\n\nexport interface Partials {\n Action: typeof Action\n Content: typeof Content\n Description: typeof Description\n IconSlot: typeof IconSlot\n TagSlot: typeof TagSlot\n Title: typeof Title\n Actions: typeof Actions\n}\n\nCallout.Action = Action\nCallout.Content = Content\nCallout.Description = Description\nCallout.IconSlot = IconSlot\nCallout.TagSlot = TagSlot\nCallout.Title = Title\nCallout.Actions = Actions\n"],"names":["styled","Primitive","createContext","jsx","useContext","mapKeysToVariants","Button","IconCheckMark","IconExclamationPointCircle","IconInformationMarkCircle","Heading","IconButton","IconCross","useState","jsxs"],"mappings":"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"}
|
package/dist/module.js
CHANGED
|
@@ -2,6 +2,8 @@ import { jsx, jsxs } from 'react/jsx-runtime';
|
|
|
2
2
|
import React, { createContext, useContext, useState } from 'react';
|
|
3
3
|
import { Primitive } from '@mirohq/design-system-primitive';
|
|
4
4
|
import { styled } from '@mirohq/design-system-stitches';
|
|
5
|
+
import { Button } from '@mirohq/design-system-button';
|
|
6
|
+
import { mapKeysToVariants } from '@mirohq/design-system-utils';
|
|
5
7
|
import { IconCheckMark, IconInformationMarkCircle, IconExclamationPointCircle, IconCross } from '@mirohq/design-system-icons';
|
|
6
8
|
import { Heading } from '@mirohq/design-system-typography';
|
|
7
9
|
import { IconButton } from '@mirohq/design-system-icon-button';
|
|
@@ -12,7 +14,7 @@ const StyledCallout = styled(Primitive.div, {
|
|
|
12
14
|
padding: "$200",
|
|
13
15
|
borderWidth: "$sm",
|
|
14
16
|
borderStyle: "solid",
|
|
15
|
-
borderRadius: "$
|
|
17
|
+
borderRadius: "$notification",
|
|
16
18
|
display: "grid",
|
|
17
19
|
justifyContent: "center",
|
|
18
20
|
gridTemplateColumns: "auto 1fr",
|
|
@@ -47,7 +49,7 @@ const StyledCallout = styled(Primitive.div, {
|
|
|
47
49
|
},
|
|
48
50
|
dismissible: {
|
|
49
51
|
true: {
|
|
50
|
-
padding: "$200 $
|
|
52
|
+
padding: "$200 $500 $200 $200"
|
|
51
53
|
},
|
|
52
54
|
false: {
|
|
53
55
|
gridTemplateColumns: "auto 1fr",
|
|
@@ -57,6 +59,87 @@ const StyledCallout = styled(Primitive.div, {
|
|
|
57
59
|
}
|
|
58
60
|
});
|
|
59
61
|
|
|
62
|
+
const CalloutContext = createContext({});
|
|
63
|
+
const CalloutProvider = ({
|
|
64
|
+
children,
|
|
65
|
+
...restProps
|
|
66
|
+
}) => /* @__PURE__ */ jsx(
|
|
67
|
+
CalloutContext.Provider,
|
|
68
|
+
{
|
|
69
|
+
value: {
|
|
70
|
+
...restProps
|
|
71
|
+
},
|
|
72
|
+
children
|
|
73
|
+
}
|
|
74
|
+
);
|
|
75
|
+
const useCalloutContext = () => useContext(CalloutContext);
|
|
76
|
+
|
|
77
|
+
const PRIMARY_ACTION_COLORS = {
|
|
78
|
+
information: {
|
|
79
|
+
background: "$button-background-info",
|
|
80
|
+
backgroundHover: "$button-background-info-hover",
|
|
81
|
+
backgroundPressed: "$button-background-info-pressed",
|
|
82
|
+
text: "$text-on-static-dark"
|
|
83
|
+
},
|
|
84
|
+
warning: {
|
|
85
|
+
background: "$button-background-warning",
|
|
86
|
+
backgroundHover: "$button-background-warning-hover",
|
|
87
|
+
backgroundPressed: "$button-background-warning-pressed",
|
|
88
|
+
text: "$text-on-static-dark"
|
|
89
|
+
},
|
|
90
|
+
danger: {
|
|
91
|
+
background: "$button-background-danger",
|
|
92
|
+
backgroundHover: "$button-background-danger-hover",
|
|
93
|
+
backgroundPressed: "$button-background-danger-pressed",
|
|
94
|
+
text: "$button-text-on-danger"
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
const primaryActionColorVariants = mapKeysToVariants(
|
|
98
|
+
PRIMARY_ACTION_COLORS,
|
|
99
|
+
(key) => {
|
|
100
|
+
const colors = PRIMARY_ACTION_COLORS[key];
|
|
101
|
+
if (colors == null) {
|
|
102
|
+
return {};
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
backgroundColor: colors.background,
|
|
106
|
+
color: colors.text,
|
|
107
|
+
"&:hover, &[data-hovered]": {
|
|
108
|
+
backgroundColor: colors.backgroundHover,
|
|
109
|
+
color: colors.text
|
|
110
|
+
},
|
|
111
|
+
"&:active, &[data-pressed]": {
|
|
112
|
+
backgroundColor: colors.backgroundPressed,
|
|
113
|
+
color: colors.text
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
|
|
119
|
+
const StyledAction = styled(Button, {
|
|
120
|
+
variants: {
|
|
121
|
+
color: primaryActionColorVariants
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
const Action = React.forwardRef(
|
|
125
|
+
({ variant = "primary", size = "medium", ...props }, forwardRef) => {
|
|
126
|
+
const { variant: calloutVariant } = useCalloutContext();
|
|
127
|
+
const isPrimary = variant === "primary";
|
|
128
|
+
const color = isPrimary && typeof calloutVariant === "string" && calloutVariant in primaryActionColorVariants ? calloutVariant : void 0;
|
|
129
|
+
return /* @__PURE__ */ jsx(
|
|
130
|
+
StyledAction,
|
|
131
|
+
{
|
|
132
|
+
...props,
|
|
133
|
+
ref: forwardRef,
|
|
134
|
+
size,
|
|
135
|
+
variant: isPrimary ? "primary" : "ghost",
|
|
136
|
+
color
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
);
|
|
141
|
+
Action.displayName = "Callout.Action";
|
|
142
|
+
|
|
60
143
|
const Content = styled(Primitive.div, {
|
|
61
144
|
display: "flex",
|
|
62
145
|
flexDirection: "column",
|
|
@@ -74,21 +157,6 @@ const Description = styled(Primitive.div, {
|
|
|
74
157
|
});
|
|
75
158
|
Description.displayName = "Callout.Description";
|
|
76
159
|
|
|
77
|
-
const CalloutContext = createContext({});
|
|
78
|
-
const CalloutProvider = ({
|
|
79
|
-
children,
|
|
80
|
-
...restProps
|
|
81
|
-
}) => /* @__PURE__ */ jsx(
|
|
82
|
-
CalloutContext.Provider,
|
|
83
|
-
{
|
|
84
|
-
value: {
|
|
85
|
-
...restProps
|
|
86
|
-
},
|
|
87
|
-
children
|
|
88
|
-
}
|
|
89
|
-
);
|
|
90
|
-
const useCalloutContext = () => useContext(CalloutContext);
|
|
91
|
-
|
|
92
160
|
const StyledIconSlot = styled(Primitive.div, {
|
|
93
161
|
variants: {
|
|
94
162
|
variant: {
|
|
@@ -129,6 +197,14 @@ const IconSlot = React.forwardRef(({ children, ...restProps }, forwardRef) => {
|
|
|
129
197
|
return /* @__PURE__ */ jsx(StyledIconSlot, { ...restProps, ref: forwardRef, variant, children: formattedChildren });
|
|
130
198
|
});
|
|
131
199
|
|
|
200
|
+
const TagSlot = styled(Primitive.div, {
|
|
201
|
+
display: "flex",
|
|
202
|
+
alignItems: "center",
|
|
203
|
+
gap: "$50",
|
|
204
|
+
marginBottom: "$75"
|
|
205
|
+
});
|
|
206
|
+
TagSlot.displayName = "Callout.TagSlot";
|
|
207
|
+
|
|
132
208
|
const StyledTitle = styled(Heading, { lineHeight: "$300" });
|
|
133
209
|
const Title = React.forwardRef(
|
|
134
210
|
({ level = 4, ...props }, forwardRef) => /* @__PURE__ */ jsx(StyledTitle, { ...props, ref: forwardRef, level, styledAs: "h4" })
|
|
@@ -145,8 +221,8 @@ Actions.displayName = "Callout.Actions";
|
|
|
145
221
|
|
|
146
222
|
const StyledDismissButton = styled(IconButton, {
|
|
147
223
|
position: "absolute",
|
|
148
|
-
right: "$
|
|
149
|
-
top: "$
|
|
224
|
+
right: "$100",
|
|
225
|
+
top: "$100"
|
|
150
226
|
});
|
|
151
227
|
const DismissButton = (props) => /* @__PURE__ */ jsx(
|
|
152
228
|
StyledDismissButton,
|
|
@@ -203,9 +279,11 @@ const Callout = React.forwardRef(
|
|
|
203
279
|
) });
|
|
204
280
|
}
|
|
205
281
|
);
|
|
282
|
+
Callout.Action = Action;
|
|
206
283
|
Callout.Content = Content;
|
|
207
284
|
Callout.Description = Description;
|
|
208
285
|
Callout.IconSlot = IconSlot;
|
|
286
|
+
Callout.TagSlot = TagSlot;
|
|
209
287
|
Callout.Title = Title;
|
|
210
288
|
Callout.Actions = Actions;
|
|
211
289
|
|
package/dist/module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sources":["../src/callout.styled.tsx","../src/partials/content.tsx","../src/partials/description.tsx","../src/hooks/use-callout-context.tsx","../src/partials/icon-slot.styled.ts","../src/partials/icon-slot.tsx","../src/partials/title.tsx","../src/partials/actions.tsx","../src/partials/dismiss-button.tsx","../src/callout.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCallout = styled(Primitive.div, {\n position: 'relative',\n gap: '$150',\n padding: '$200',\n borderWidth: '$sm',\n borderStyle: 'solid',\n borderRadius: '$75',\n display: 'grid',\n justifyContent: 'center',\n gridTemplateColumns: 'auto 1fr',\n gridTemplateAreas: `'icon content'`,\n variants: {\n variant: {\n information: {\n backgroundColor: '$status-background-info',\n borderColor: '$status-border-info',\n color: '$status-text-on-info',\n },\n warning: {\n backgroundColor: '$status-background-warning',\n borderColor: '$status-border-warning',\n color: '$status-text-on-warning',\n },\n danger: {\n backgroundColor: '$status-background-error',\n borderColor: '$status-border-error',\n color: '$status-text-on-error',\n },\n success: {\n backgroundColor: '$status-background-success',\n borderColor: '$status-border-success',\n color: '$status-text-on-success',\n },\n neutral: {\n backgroundColor: '$background-surface',\n borderColor: '$border-default',\n color: '$text-default',\n },\n },\n dismissible: {\n true: {\n padding: '$200 $400 $200 $200',\n },\n false: {\n gridTemplateColumns: 'auto 1fr',\n gridTemplateAreas: `'icon content'`,\n },\n },\n },\n})\n\nexport type StyledCalloutProps = ComponentPropsWithRef<typeof StyledCallout>\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Content = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n gap: '$25',\n maxWidth: '48em',\n gridArea: 'content',\n})\n\nContent.displayName = 'Callout.Content'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Description = styled(Primitive.div, {\n color: 'inherit',\n fontSize: '$175',\n lineHeight: '$400',\n marginTop: '$25',\n})\n\nDescription.displayName = 'Callout.Description'\n","import { createContext, useContext } from 'react'\n\nimport type { StyledCalloutProps } from '../callout.styled'\n\ninterface CalloutProps {\n variant?: StyledCalloutProps['variant']\n}\n\ninterface CalloutContextProps extends CalloutProps {}\n\nexport interface CalloutProviderProps extends CalloutContextProps {\n children: React.ReactNode\n}\n\nconst CalloutContext = createContext<CalloutContextProps>({} as any)\n\nexport const CalloutProvider = ({\n children,\n ...restProps\n}: CalloutProviderProps): JSX.Element => (\n <CalloutContext.Provider\n value={{\n ...restProps,\n }}\n >\n {children}\n </CalloutContext.Provider>\n)\n\nexport const useCalloutContext = (): CalloutContextProps =>\n useContext(CalloutContext)\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n variants: {\n variant: {\n information: {\n color: '$status-icon-on-info',\n },\n warning: {\n color: '$status-icon-on-warning',\n },\n danger: {\n color: '$status-icon-on-error',\n },\n success: {\n color: '$status-icon-on-success',\n },\n neutral: {\n color: '$icon-default',\n },\n },\n },\n})\n","import React from 'react'\nimport type { ElementRef, ComponentPropsWithRef } from 'react'\nimport {\n IconCheckMark,\n IconExclamationPointCircle,\n IconInformationMarkCircle,\n} from '@mirohq/design-system-icons'\n\nimport { useCalloutContext } from '../hooks/use-callout-context'\nimport { StyledIconSlot } from './icon-slot.styled'\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n\nexport interface IconSlotProps extends StyledIconSlotProps {\n /**\n * The icon.\n */\n children?: React.ReactNode\n}\n\nconst iconVariant = {\n success: <IconCheckMark />,\n warning: <IconExclamationPointCircle />,\n danger: <IconExclamationPointCircle />,\n information: <IconInformationMarkCircle />,\n neutral: <IconInformationMarkCircle />,\n default: <IconCheckMark />,\n}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n IconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const { variant } = useCalloutContext()\n\n let formattedChildren = children\n if (React.Children.count(children) < 1) {\n formattedChildren =\n iconVariant[variant as keyof typeof iconVariant] ?? iconVariant.default\n }\n\n return (\n <StyledIconSlot {...restProps} ref={forwardRef} variant={variant}>\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Heading } from '@mirohq/design-system-typography'\nimport type { HeadingProps } from '@mirohq/design-system-typography'\n\nconst StyledTitle = styled(Heading, { lineHeight: '$300' })\n\nexport interface TitleProps extends Omit<HeadingProps, 'level' | 'styledAs'> {\n level?: HeadingProps['level']\n}\n\nexport const Title = React.forwardRef<ElementRef<typeof Heading>, TitleProps>(\n ({ level = 4, ...props }, forwardRef) => (\n <StyledTitle {...props} ref={forwardRef} level={level} styledAs='h4' />\n )\n)\n\nTitle.displayName = 'Callout.Title'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Actions = styled(Primitive.div, {\n gridColumn: 'content',\n gridRow: -1,\n display: 'flex',\n gap: '$100',\n})\n\nActions.displayName = 'Callout.Actions'\n","import { styled } from '@mirohq/design-system-stitches'\nimport { IconButton } from '@mirohq/design-system-icon-button'\nimport type { IconButtonProps } from '@mirohq/design-system-icon-button'\nimport { IconCross } from '@mirohq/design-system-icons'\n\nconst StyledDismissButton = styled(IconButton, {\n position: 'absolute',\n right: '$50',\n top: '$50',\n})\n\nexport const DismissButton = (props: IconButtonProps): React.ReactNode => (\n <StyledDismissButton\n variant='ghost'\n size='medium'\n data-testid='dismiss-button'\n {...props}\n >\n <IconCross />\n </StyledDismissButton>\n)\n\nDismissButton.displayName = 'Callout.DismissButton'\n","import React, { useState } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { StyledCallout } from './callout.styled'\nimport type { StyledCalloutProps } from './callout.styled'\nimport { Content } from './partials/content'\nimport { Description } from './partials/description'\nimport { IconSlot } from './partials/icon-slot'\nimport { Title } from './partials/title'\nimport { Actions } from './partials/actions'\nimport { CalloutProvider } from './hooks/use-callout-context'\nimport { DismissButton } from './partials/dismiss-button'\n\ninterface DismissibleProps {\n /**\n * Whether or not the component is dismissed (hidden)\n */\n dismissed?: boolean\n\n /**\n * Callback invoked once dismiss button is clicked\n */\n onDismiss?: () => void\n\n /**\n * aria-label for the dismiss button\n */\n dismissLabel: string\n}\n\nexport type CalloutProps = (Omit<StyledCalloutProps, 'dismissible'> & {\n /**\n * Change the component style.\n */\n variant: StyledCalloutProps['variant']\n\n /**\n * Whether or not the component should display dismiss button\n * @default true\n */\n dismissible?: boolean\n}) &\n (\n | DismissibleProps // uncontrolled\n | Required<DismissibleProps> // controlled\n | ({ dismissible?: false } & { [K in keyof DismissibleProps]?: never })\n )\n\nexport const Callout = React.forwardRef<\n ElementRef<typeof StyledCallout>,\n CalloutProps\n>(\n (\n {\n dismissed,\n dismissible = true,\n onDismiss,\n dismissLabel,\n children,\n variant,\n role,\n ...props\n },\n forwardRef\n ) => {\n const [internalDismissed, setInternalDismissed] = useState<boolean>(\n dismissed ?? false\n )\n\n if (dismissed ?? internalDismissed) {\n return null\n }\n\n const handleDismissed = (): void => {\n setInternalDismissed(true)\n onDismiss?.()\n }\n\n return (\n <CalloutProvider variant={variant}>\n <StyledCallout\n {...props}\n ref={forwardRef}\n variant={variant}\n dismissible={dismissible}\n role={role ?? 'alert'}\n >\n {children}\n {dismissible && onDismiss != null && dismissLabel?.length > 0 && (\n <DismissButton\n aria-label={dismissLabel}\n onPress={handleDismissed}\n />\n )}\n </StyledCallout>\n </CalloutProvider>\n )\n }\n) as ForwardRefExoticComponent<CalloutProps> & Partials\n\nexport interface Partials {\n Content: typeof Content\n Description: typeof Description\n IconSlot: typeof IconSlot\n Title: typeof Title\n Actions: typeof Actions\n}\n\nCallout.Content = Content\nCallout.Description = Description\nCallout.IconSlot = IconSlot\nCallout.Title = Title\nCallout.Actions = Actions\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"module.js","sources":["../src/callout.styled.tsx","../src/hooks/use-callout-context.tsx","../src/callout.colors.ts","../src/partials/action.tsx","../src/partials/content.tsx","../src/partials/description.tsx","../src/partials/icon-slot.styled.ts","../src/partials/icon-slot.tsx","../src/partials/tag-slot.tsx","../src/partials/title.tsx","../src/partials/actions.tsx","../src/partials/dismiss-button.tsx","../src/callout.tsx"],"sourcesContent":["import type { ComponentPropsWithRef } from 'react'\nimport { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledCallout = styled(Primitive.div, {\n position: 'relative',\n gap: '$150',\n padding: '$200',\n borderWidth: '$sm',\n borderStyle: 'solid',\n borderRadius: '$notification',\n display: 'grid',\n justifyContent: 'center',\n gridTemplateColumns: 'auto 1fr',\n gridTemplateAreas: `'icon content'`,\n variants: {\n variant: {\n information: {\n backgroundColor: '$status-background-info',\n borderColor: '$status-border-info',\n color: '$status-text-on-info',\n },\n warning: {\n backgroundColor: '$status-background-warning',\n borderColor: '$status-border-warning',\n color: '$status-text-on-warning',\n },\n danger: {\n backgroundColor: '$status-background-error',\n borderColor: '$status-border-error',\n color: '$status-text-on-error',\n },\n success: {\n backgroundColor: '$status-background-success',\n borderColor: '$status-border-success',\n color: '$status-text-on-success',\n },\n neutral: {\n backgroundColor: '$background-surface',\n borderColor: '$border-default',\n color: '$text-default',\n },\n },\n dismissible: {\n true: {\n padding: '$200 $500 $200 $200',\n },\n false: {\n gridTemplateColumns: 'auto 1fr',\n gridTemplateAreas: `'icon content'`,\n },\n },\n },\n})\n\nexport type StyledCalloutProps = ComponentPropsWithRef<typeof StyledCallout>\n\n// Plain string union of the styled `variant` variants, mirroring BannerVariant:\n// `Extract<…, string>` drops the stitches responsive-object form.\nexport type CalloutVariant = Extract<StyledCalloutProps['variant'], string>\n","import { createContext, useContext } from 'react'\n\nimport type { StyledCalloutProps } from '../callout.styled'\n\ninterface CalloutProps {\n variant?: StyledCalloutProps['variant']\n}\n\ninterface CalloutContextProps extends CalloutProps {}\n\nexport interface CalloutProviderProps extends CalloutContextProps {\n children: React.ReactNode\n}\n\nconst CalloutContext = createContext<CalloutContextProps>({} as any)\n\nexport const CalloutProvider = ({\n children,\n ...restProps\n}: CalloutProviderProps): JSX.Element => (\n <CalloutContext.Provider\n value={{\n ...restProps,\n }}\n >\n {children}\n </CalloutContext.Provider>\n)\n\nexport const useCalloutContext = (): CalloutContextProps =>\n useContext(CalloutContext)\n","import { mapKeysToVariants } from '@mirohq/design-system-utils'\n\nimport type { CalloutVariant } from './callout.styled'\n\ninterface ActionColorSet {\n background: string\n backgroundHover: string\n backgroundPressed: string\n text: string\n}\n\n// Per-variant overrides agreed with the MDS team: Button-level status variants\n// are deferred until after the C26 token cleanup (NOTI-5461), so the colors\n// live here instead of in MDS Button.\nconst PRIMARY_ACTION_COLORS: Partial<Record<CalloutVariant, ActionColorSet>> = {\n information: {\n background: '$button-background-info',\n backgroundHover: '$button-background-info-hover',\n backgroundPressed: '$button-background-info-pressed',\n text: '$text-on-static-dark',\n },\n warning: {\n background: '$button-background-warning',\n backgroundHover: '$button-background-warning-hover',\n backgroundPressed: '$button-background-warning-pressed',\n text: '$text-on-static-dark',\n },\n danger: {\n background: '$button-background-danger',\n backgroundHover: '$button-background-danger-hover',\n backgroundPressed: '$button-background-danger-pressed',\n text: '$button-text-on-danger',\n },\n}\n\nexport const primaryActionColorVariants = mapKeysToVariants(\n PRIMARY_ACTION_COLORS,\n key => {\n const colors = PRIMARY_ACTION_COLORS[key]\n if (colors == null) {\n return {}\n }\n\n return {\n backgroundColor: colors.background,\n color: colors.text,\n '&:hover, &[data-hovered]': {\n backgroundColor: colors.backgroundHover,\n color: colors.text,\n },\n '&:active, &[data-pressed]': {\n backgroundColor: colors.backgroundPressed,\n color: colors.text,\n },\n }\n }\n)\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { Button } from '@mirohq/design-system-button'\nimport type { ButtonProps } from '@mirohq/design-system-button'\nimport { styled } from '@mirohq/design-system-stitches'\n\nimport { useCalloutContext } from '../hooks/use-callout-context'\nimport { primaryActionColorVariants } from '../callout.colors'\n\nconst StyledAction = styled(Button, {\n variants: {\n color: primaryActionColorVariants,\n },\n})\n\nexport interface ActionProps extends Omit<ButtonProps, 'variant'> {\n /**\n * Visual prominence of the action.\n * @default 'primary'\n */\n variant?: 'primary' | 'secondary'\n}\n\nexport const Action = React.forwardRef<ElementRef<typeof Button>, ActionProps>(\n ({ variant = 'primary', size = 'medium', ...props }, forwardRef) => {\n const { variant: calloutVariant } = useCalloutContext()\n const isPrimary = variant === 'primary'\n const color =\n isPrimary &&\n typeof calloutVariant === 'string' &&\n calloutVariant in primaryActionColorVariants\n ? (calloutVariant as keyof typeof primaryActionColorVariants)\n : undefined\n\n return (\n <StyledAction\n {...props}\n ref={forwardRef}\n size={size}\n variant={isPrimary ? 'primary' : 'ghost'}\n color={color}\n />\n )\n }\n)\n\nAction.displayName = 'Callout.Action'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Content = styled(Primitive.div, {\n display: 'flex',\n flexDirection: 'column',\n gap: '$25',\n maxWidth: '48em',\n gridArea: 'content',\n})\n\nContent.displayName = 'Callout.Content'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Description = styled(Primitive.div, {\n color: 'inherit',\n fontSize: '$175',\n lineHeight: '$400',\n marginTop: '$25',\n})\n\nDescription.displayName = 'Callout.Description'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const StyledIconSlot = styled(Primitive.div, {\n variants: {\n variant: {\n information: {\n color: '$status-icon-on-info',\n },\n warning: {\n color: '$status-icon-on-warning',\n },\n danger: {\n color: '$status-icon-on-error',\n },\n success: {\n color: '$status-icon-on-success',\n },\n neutral: {\n color: '$icon-default',\n },\n },\n },\n})\n","import React from 'react'\nimport type { ElementRef, ComponentPropsWithRef } from 'react'\nimport {\n IconCheckMark,\n IconExclamationPointCircle,\n IconInformationMarkCircle,\n} from '@mirohq/design-system-icons'\n\nimport { useCalloutContext } from '../hooks/use-callout-context'\nimport { StyledIconSlot } from './icon-slot.styled'\n\nexport type StyledIconSlotProps = ComponentPropsWithRef<typeof StyledIconSlot>\n\nexport interface IconSlotProps extends StyledIconSlotProps {\n /**\n * The icon.\n */\n children?: React.ReactNode\n}\n\nconst iconVariant = {\n success: <IconCheckMark />,\n warning: <IconExclamationPointCircle />,\n danger: <IconExclamationPointCircle />,\n information: <IconInformationMarkCircle />,\n neutral: <IconInformationMarkCircle />,\n default: <IconCheckMark />,\n}\n\nexport const IconSlot = React.forwardRef<\n ElementRef<typeof StyledIconSlot>,\n IconSlotProps\n>(({ children, ...restProps }, forwardRef) => {\n const { variant } = useCalloutContext()\n\n let formattedChildren = children\n if (React.Children.count(children) < 1) {\n formattedChildren =\n iconVariant[variant as keyof typeof iconVariant] ?? iconVariant.default\n }\n\n return (\n <StyledIconSlot {...restProps} ref={forwardRef} variant={variant}>\n {formattedChildren}\n </StyledIconSlot>\n )\n})\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\n// 6px margin + the 2px Content column gap = 8px between tag and title, per design.\nexport const TagSlot = styled(Primitive.div, {\n display: 'flex',\n alignItems: 'center',\n gap: '$50',\n marginBottom: '$75',\n})\n\nTagSlot.displayName = 'Callout.TagSlot'\n","import React from 'react'\nimport type { ElementRef } from 'react'\nimport { styled } from '@mirohq/design-system-stitches'\nimport { Heading } from '@mirohq/design-system-typography'\nimport type { HeadingProps } from '@mirohq/design-system-typography'\n\nconst StyledTitle = styled(Heading, { lineHeight: '$300' })\n\nexport interface TitleProps extends Omit<HeadingProps, 'level' | 'styledAs'> {\n level?: HeadingProps['level']\n}\n\nexport const Title = React.forwardRef<ElementRef<typeof Heading>, TitleProps>(\n ({ level = 4, ...props }, forwardRef) => (\n <StyledTitle {...props} ref={forwardRef} level={level} styledAs='h4' />\n )\n)\n\nTitle.displayName = 'Callout.Title'\n","import { Primitive } from '@mirohq/design-system-primitive'\nimport { styled } from '@mirohq/design-system-stitches'\n\nexport const Actions = styled(Primitive.div, {\n gridColumn: 'content',\n gridRow: -1,\n display: 'flex',\n gap: '$100',\n})\n\nActions.displayName = 'Callout.Actions'\n","import { styled } from '@mirohq/design-system-stitches'\nimport { IconButton } from '@mirohq/design-system-icon-button'\nimport type { IconButtonProps } from '@mirohq/design-system-icon-button'\nimport { IconCross } from '@mirohq/design-system-icons'\n\nconst StyledDismissButton = styled(IconButton, {\n position: 'absolute',\n right: '$100',\n top: '$100',\n})\n\nexport const DismissButton = (props: IconButtonProps): React.ReactNode => (\n <StyledDismissButton\n variant='ghost'\n size='medium'\n data-testid='dismiss-button'\n {...props}\n >\n <IconCross />\n </StyledDismissButton>\n)\n\nDismissButton.displayName = 'Callout.DismissButton'\n","import React, { useState } from 'react'\nimport type { ElementRef, ForwardRefExoticComponent } from 'react'\n\nimport { StyledCallout } from './callout.styled'\nimport type { StyledCalloutProps } from './callout.styled'\nimport { Action } from './partials/action'\nimport { Content } from './partials/content'\nimport { Description } from './partials/description'\nimport { IconSlot } from './partials/icon-slot'\nimport { TagSlot } from './partials/tag-slot'\nimport { Title } from './partials/title'\nimport { Actions } from './partials/actions'\nimport { CalloutProvider } from './hooks/use-callout-context'\nimport { DismissButton } from './partials/dismiss-button'\n\ninterface DismissibleProps {\n /**\n * Whether or not the component is dismissed (hidden)\n */\n dismissed?: boolean\n\n /**\n * Callback invoked once dismiss button is clicked\n */\n onDismiss?: () => void\n\n /**\n * aria-label for the dismiss button\n */\n dismissLabel: string\n}\n\nexport type CalloutProps = (Omit<StyledCalloutProps, 'dismissible'> & {\n /**\n * Change the component style.\n */\n variant: StyledCalloutProps['variant']\n\n /**\n * Whether or not the component should display dismiss button\n * @default true\n */\n dismissible?: boolean\n}) &\n (\n | DismissibleProps // uncontrolled\n | Required<DismissibleProps> // controlled\n | ({ dismissible?: false } & { [K in keyof DismissibleProps]?: never })\n )\n\nexport const Callout = React.forwardRef<\n ElementRef<typeof StyledCallout>,\n CalloutProps\n>(\n (\n {\n dismissed,\n dismissible = true,\n onDismiss,\n dismissLabel,\n children,\n variant,\n role,\n ...props\n },\n forwardRef\n ) => {\n const [internalDismissed, setInternalDismissed] = useState<boolean>(\n dismissed ?? false\n )\n\n if (dismissed ?? internalDismissed) {\n return null\n }\n\n const handleDismissed = (): void => {\n setInternalDismissed(true)\n onDismiss?.()\n }\n\n return (\n <CalloutProvider variant={variant}>\n <StyledCallout\n {...props}\n ref={forwardRef}\n variant={variant}\n dismissible={dismissible}\n role={role ?? 'alert'}\n >\n {children}\n {dismissible && onDismiss != null && dismissLabel?.length > 0 && (\n <DismissButton\n aria-label={dismissLabel}\n onPress={handleDismissed}\n />\n )}\n </StyledCallout>\n </CalloutProvider>\n )\n }\n) as ForwardRefExoticComponent<CalloutProps> & Partials\n\nexport interface Partials {\n Action: typeof Action\n Content: typeof Content\n Description: typeof Description\n IconSlot: typeof IconSlot\n TagSlot: typeof TagSlot\n Title: typeof Title\n Actions: typeof Actions\n}\n\nCallout.Action = Action\nCallout.Content = Content\nCallout.Description = Description\nCallout.IconSlot = IconSlot\nCallout.TagSlot = TagSlot\nCallout.Title = Title\nCallout.Actions = Actions\n"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as react from 'react';
|
|
|
2
2
|
import react__default, { ComponentPropsWithRef, ForwardRefExoticComponent } from 'react';
|
|
3
3
|
import * as _mirohq_design_system_stitches from '@mirohq/design-system-stitches';
|
|
4
4
|
import * as _mirohq_design_system_primitive from '@mirohq/design-system-primitive';
|
|
5
|
+
import { ButtonProps } from '@mirohq/design-system-button';
|
|
5
6
|
import { HeadingProps } from '@mirohq/design-system-typography';
|
|
6
7
|
|
|
7
8
|
/* Utilities */
|
|
@@ -32,6 +33,16 @@ declare const StyledCallout: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_d
|
|
|
32
33
|
dismissible?: boolean | "true" | "false" | undefined;
|
|
33
34
|
}, {}>;
|
|
34
35
|
type StyledCalloutProps = ComponentPropsWithRef<typeof StyledCallout>;
|
|
36
|
+
type CalloutVariant = Extract<StyledCalloutProps['variant'], string>;
|
|
37
|
+
|
|
38
|
+
interface ActionProps extends Omit<ButtonProps, 'variant'> {
|
|
39
|
+
/**
|
|
40
|
+
* Visual prominence of the action.
|
|
41
|
+
* @default 'primary'
|
|
42
|
+
*/
|
|
43
|
+
variant?: 'primary' | 'secondary';
|
|
44
|
+
}
|
|
45
|
+
declare const Action: react__default.ForwardRefExoticComponent<Omit<ActionProps, "ref"> & react__default.RefAttributes<HTMLButtonElement>>;
|
|
35
46
|
|
|
36
47
|
declare const Content: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"div">>>, never> & TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLDivElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"div">>, {}, {}>;
|
|
37
48
|
|
|
@@ -52,6 +63,8 @@ interface IconSlotProps extends StyledIconSlotProps {
|
|
|
52
63
|
}
|
|
53
64
|
declare const IconSlot: react__default.ForwardRefExoticComponent<Omit<IconSlotProps, "ref"> & react__default.RefAttributes<HTMLDivElement>>;
|
|
54
65
|
|
|
66
|
+
declare const TagSlot: react.ForwardRefExoticComponent<Omit<Omit<_mirohq_design_system_stitches.StyledComponentProps<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"div">>>, never> & TransformProps<{}, {}> & _mirohq_design_system_stitches.CustomStylesProps, "ref"> & react.RefAttributes<HTMLDivElement>> & _mirohq_design_system_stitches.StitchesInternals<react.ForwardRefExoticComponent<_mirohq_design_system_primitive.PrimitiveProps<"div">>, {}, {}>;
|
|
67
|
+
|
|
55
68
|
interface TitleProps extends Omit<HeadingProps, 'level' | 'styledAs'> {
|
|
56
69
|
level?: HeadingProps['level'];
|
|
57
70
|
}
|
|
@@ -90,12 +103,14 @@ type CalloutProps = (Omit<StyledCalloutProps, 'dismissible'> & {
|
|
|
90
103
|
}));
|
|
91
104
|
declare const Callout: ForwardRefExoticComponent<CalloutProps> & Partials;
|
|
92
105
|
interface Partials {
|
|
106
|
+
Action: typeof Action;
|
|
93
107
|
Content: typeof Content;
|
|
94
108
|
Description: typeof Description;
|
|
95
109
|
IconSlot: typeof IconSlot;
|
|
110
|
+
TagSlot: typeof TagSlot;
|
|
96
111
|
Title: typeof Title;
|
|
97
112
|
Actions: typeof Actions;
|
|
98
113
|
}
|
|
99
114
|
|
|
100
115
|
export { Callout };
|
|
101
|
-
export type { CalloutProps };
|
|
116
|
+
export type { ActionProps as CalloutActionProps, CalloutProps, CalloutVariant };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mirohq/design-system-callout",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "Miro",
|
|
6
6
|
"source": "src/index.ts",
|
|
@@ -26,11 +26,13 @@
|
|
|
26
26
|
"react": "^16.14 || ^17 || ^18 || ^19"
|
|
27
27
|
},
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@mirohq/design-system-
|
|
30
|
-
"@mirohq/design-system-
|
|
31
|
-
"@mirohq/design-system-
|
|
29
|
+
"@mirohq/design-system-button": "^5.3.14",
|
|
30
|
+
"@mirohq/design-system-icon-button": "^4.2.39",
|
|
31
|
+
"@mirohq/design-system-icons": "^1.45.0",
|
|
32
|
+
"@mirohq/design-system-primitive": "^2.2.1",
|
|
32
33
|
"@mirohq/design-system-stitches": "^3.3.32",
|
|
33
|
-
"@mirohq/design-system-typography": "^1.3.
|
|
34
|
+
"@mirohq/design-system-typography": "^1.3.34",
|
|
35
|
+
"@mirohq/design-system-utils": "^1.3.0"
|
|
34
36
|
},
|
|
35
37
|
"scripts": {
|
|
36
38
|
"build": "rollup -c ../../../rollup.config.js",
|