@fanvue/ui 1.1.0 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,6 +23,12 @@ function _interopNamespaceDefault(e) {
23
23
  return Object.freeze(n);
24
24
  }
25
25
  const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
26
+ const CLOSE_BUTTON_CLASSES = {
27
+ info: "hover:bg-info-500/10 text-info-500",
28
+ success: "hover:bg-success-500/10 text-success-500",
29
+ warning: "hover:bg-warning-500/10 text-warning-500",
30
+ error: "hover:bg-error-500/10 text-error-500"
31
+ };
26
32
  const Alert = React__namespace.forwardRef(
27
33
  ({ className, variant = "info", title, icon, closable = false, onClose, children, ...props }, ref) => {
28
34
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -57,7 +63,7 @@ const Alert = React__namespace.forwardRef(
57
63
  variant: "tertiary",
58
64
  size: "24",
59
65
  onClick: onClose,
60
- className: "self-start",
66
+ className: cn.cn("self-start", CLOSE_BUTTON_CLASSES[variant]),
61
67
  "aria-label": "Close alert",
62
68
  children: /* @__PURE__ */ jsxRuntime.jsx(CrossIcon.CrossIcon, {})
63
69
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.cjs","sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Button } from \"../Button/Button\";\nimport { CrossIcon } from \"../Icons/CrossIcon\";\n\nexport type AlertVariant = \"info\" | \"success\" | \"warning\" | \"error\";\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Visual style variant of the alert (matches Figma \"Variant\" property) */\n variant?: AlertVariant;\n /** Optional title text (bold) */\n title?: string;\n /** Left icon element */\n icon?: React.ReactNode;\n /** Show close button */\n closable?: boolean;\n /** Callback when close button is clicked */\n onClose?: () => void;\n}\n\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\n (\n { className, variant = \"info\", title, icon, closable = false, onClose, children, ...props },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n role=\"alert\"\n data-testid=\"alert\"\n className={cn(\n \"grid gap-x-3 rounded-lg p-4 text-sm leading-[18px]\",\n icon && closable && \"grid-cols-[auto_1fr_auto]\",\n icon && !closable && \"grid-cols-[auto_1fr]\",\n !icon && closable && \"grid-cols-[1fr_auto]\",\n !icon && !closable && \"grid-cols-[1fr]\",\n title && children ? \"items-start\" : \"items-center\",\n variant === \"info\" && \"bg-info-50 text-info-500\",\n variant === \"success\" && \"bg-success-50 text-success-500\",\n variant === \"warning\" && \"bg-warning-50 text-warning-500\",\n variant === \"error\" && \"bg-error-50 text-error-500\",\n className,\n )}\n {...props}\n >\n {icon && (\n <span className=\"flex shrink-0 items-start\" aria-hidden=\"true\">\n {icon}\n </span>\n )}\n\n <div className=\"flex min-w-0 flex-col gap-2\">\n {title && <div className=\"typography-body-2-semibold text-body-100\">{title}</div>}\n <div className=\"typography-body-2-regular text-body-200\">{children}</div>\n </div>\n\n {closable && (\n <Button\n variant=\"tertiary\"\n size=\"24\"\n onClick={onClose}\n className=\"self-start\"\n aria-label=\"Close alert\"\n >\n <CrossIcon />\n </Button>\n )}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n"],"names":["React","jsxs","cn","jsx","Button","CrossIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,MAAM,QAAQA,iBAAM;AAAA,EACzB,CACE,EAAE,WAAW,UAAU,QAAQ,OAAO,MAAM,WAAW,OAAO,SAAS,UAAU,GAAG,MAAA,GACpF,QACG;AACH,WACEC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAWC,GAAAA;AAAAA,UACT;AAAA,UACA,QAAQ,YAAY;AAAA,UACpB,QAAQ,CAAC,YAAY;AAAA,UACrB,CAAC,QAAQ,YAAY;AAAA,UACrB,CAAC,QAAQ,CAAC,YAAY;AAAA,UACtB,SAAS,WAAW,gBAAgB;AAAA,UACpC,YAAY,UAAU;AAAA,UACtB,YAAY,aAAa;AAAA,UACzB,YAAY,aAAa;AAAA,UACzB,YAAY,WAAW;AAAA,UACvB;AAAA,QAAA;AAAA,QAED,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,uCACE,QAAA,EAAK,WAAU,6BAA4B,eAAY,QACrD,UAAA,MACH;AAAA,UAGFD,2BAAAA,KAAC,OAAA,EAAI,WAAU,+BACZ,UAAA;AAAA,YAAA,SAASE,2BAAAA,IAAC,OAAA,EAAI,WAAU,4CAA4C,UAAA,OAAM;AAAA,YAC3EA,2BAAAA,IAAC,OAAA,EAAI,WAAU,2CAA2C,SAAA,CAAS;AAAA,UAAA,GACrE;AAAA,UAEC,YACCA,2BAAAA;AAAAA,YAACC,OAAAA;AAAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAU;AAAA,cACV,cAAW;AAAA,cAEX,yCAACC,UAAAA,WAAA,CAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACb;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEA,MAAM,cAAc;;"}
1
+ {"version":3,"file":"Alert.cjs","sources":["../../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Button } from \"../Button/Button\";\nimport { CrossIcon } from \"../Icons/CrossIcon\";\n\nexport type AlertVariant = \"info\" | \"success\" | \"warning\" | \"error\";\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Visual style variant of the alert (matches Figma \"Variant\" property) */\n variant?: AlertVariant;\n /** Optional title text (bold) */\n title?: string;\n /** Left icon element */\n icon?: React.ReactNode;\n /** Show close button */\n closable?: boolean;\n /** Callback when close button is clicked */\n onClose?: () => void;\n}\n\nconst CLOSE_BUTTON_CLASSES: Record<AlertVariant, string> = {\n info: \"hover:bg-info-500/10 text-info-500\",\n success: \"hover:bg-success-500/10 text-success-500\",\n warning: \"hover:bg-warning-500/10 text-warning-500\",\n error: \"hover:bg-error-500/10 text-error-500\",\n};\n\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\n (\n { className, variant = \"info\", title, icon, closable = false, onClose, children, ...props },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n role=\"alert\"\n data-testid=\"alert\"\n className={cn(\n \"grid gap-x-3 rounded-lg p-4 text-sm leading-[18px]\",\n icon && closable && \"grid-cols-[auto_1fr_auto]\",\n icon && !closable && \"grid-cols-[auto_1fr]\",\n !icon && closable && \"grid-cols-[1fr_auto]\",\n !icon && !closable && \"grid-cols-[1fr]\",\n title && children ? \"items-start\" : \"items-center\",\n variant === \"info\" && \"bg-info-50 text-info-500\",\n variant === \"success\" && \"bg-success-50 text-success-500\",\n variant === \"warning\" && \"bg-warning-50 text-warning-500\",\n variant === \"error\" && \"bg-error-50 text-error-500\",\n className,\n )}\n {...props}\n >\n {icon && (\n <span className=\"flex shrink-0 items-start\" aria-hidden=\"true\">\n {icon}\n </span>\n )}\n\n <div className=\"flex min-w-0 flex-col gap-2\">\n {title && <div className=\"typography-body-2-semibold text-body-100\">{title}</div>}\n <div className=\"typography-body-2-regular text-body-200\">{children}</div>\n </div>\n\n {closable && (\n <Button\n variant=\"tertiary\"\n size=\"24\"\n onClick={onClose}\n className={cn(\"self-start\", CLOSE_BUTTON_CLASSES[variant])}\n aria-label=\"Close alert\"\n >\n <CrossIcon />\n </Button>\n )}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n"],"names":["React","jsxs","cn","jsx","Button","CrossIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,MAAM,uBAAqD;AAAA,EACzD,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AACT;AAEO,MAAM,QAAQA,iBAAM;AAAA,EACzB,CACE,EAAE,WAAW,UAAU,QAAQ,OAAO,MAAM,WAAW,OAAO,SAAS,UAAU,GAAG,MAAA,GACpF,QACG;AACH,WACEC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAWC,GAAAA;AAAAA,UACT;AAAA,UACA,QAAQ,YAAY;AAAA,UACpB,QAAQ,CAAC,YAAY;AAAA,UACrB,CAAC,QAAQ,YAAY;AAAA,UACrB,CAAC,QAAQ,CAAC,YAAY;AAAA,UACtB,SAAS,WAAW,gBAAgB;AAAA,UACpC,YAAY,UAAU;AAAA,UACtB,YAAY,aAAa;AAAA,UACzB,YAAY,aAAa;AAAA,UACzB,YAAY,WAAW;AAAA,UACvB;AAAA,QAAA;AAAA,QAED,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,uCACE,QAAA,EAAK,WAAU,6BAA4B,eAAY,QACrD,UAAA,MACH;AAAA,UAGFD,2BAAAA,KAAC,OAAA,EAAI,WAAU,+BACZ,UAAA;AAAA,YAAA,SAASE,2BAAAA,IAAC,OAAA,EAAI,WAAU,4CAA4C,UAAA,OAAM;AAAA,YAC3EA,2BAAAA,IAAC,OAAA,EAAI,WAAU,2CAA2C,SAAA,CAAS;AAAA,UAAA,GACrE;AAAA,UAEC,YACCA,2BAAAA;AAAAA,YAACC,OAAAA;AAAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAWF,GAAAA,GAAG,cAAc,qBAAqB,OAAO,CAAC;AAAA,cACzD,cAAW;AAAA,cAEX,yCAACG,UAAAA,WAAA,CAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACb;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEA,MAAM,cAAc;;"}
@@ -4,6 +4,12 @@ import * as React from "react";
4
4
  import { cn } from "../../utils/cn.mjs";
5
5
  import { Button } from "../Button/Button.mjs";
6
6
  import { CrossIcon } from "../Icons/CrossIcon.mjs";
7
+ const CLOSE_BUTTON_CLASSES = {
8
+ info: "hover:bg-info-500/10 text-info-500",
9
+ success: "hover:bg-success-500/10 text-success-500",
10
+ warning: "hover:bg-warning-500/10 text-warning-500",
11
+ error: "hover:bg-error-500/10 text-error-500"
12
+ };
7
13
  const Alert = React.forwardRef(
8
14
  ({ className, variant = "info", title, icon, closable = false, onClose, children, ...props }, ref) => {
9
15
  return /* @__PURE__ */ jsxs(
@@ -38,7 +44,7 @@ const Alert = React.forwardRef(
38
44
  variant: "tertiary",
39
45
  size: "24",
40
46
  onClick: onClose,
41
- className: "self-start",
47
+ className: cn("self-start", CLOSE_BUTTON_CLASSES[variant]),
42
48
  "aria-label": "Close alert",
43
49
  children: /* @__PURE__ */ jsx(CrossIcon, {})
44
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.mjs","sources":["../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Button } from \"../Button/Button\";\nimport { CrossIcon } from \"../Icons/CrossIcon\";\n\nexport type AlertVariant = \"info\" | \"success\" | \"warning\" | \"error\";\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Visual style variant of the alert (matches Figma \"Variant\" property) */\n variant?: AlertVariant;\n /** Optional title text (bold) */\n title?: string;\n /** Left icon element */\n icon?: React.ReactNode;\n /** Show close button */\n closable?: boolean;\n /** Callback when close button is clicked */\n onClose?: () => void;\n}\n\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\n (\n { className, variant = \"info\", title, icon, closable = false, onClose, children, ...props },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n role=\"alert\"\n data-testid=\"alert\"\n className={cn(\n \"grid gap-x-3 rounded-lg p-4 text-sm leading-[18px]\",\n icon && closable && \"grid-cols-[auto_1fr_auto]\",\n icon && !closable && \"grid-cols-[auto_1fr]\",\n !icon && closable && \"grid-cols-[1fr_auto]\",\n !icon && !closable && \"grid-cols-[1fr]\",\n title && children ? \"items-start\" : \"items-center\",\n variant === \"info\" && \"bg-info-50 text-info-500\",\n variant === \"success\" && \"bg-success-50 text-success-500\",\n variant === \"warning\" && \"bg-warning-50 text-warning-500\",\n variant === \"error\" && \"bg-error-50 text-error-500\",\n className,\n )}\n {...props}\n >\n {icon && (\n <span className=\"flex shrink-0 items-start\" aria-hidden=\"true\">\n {icon}\n </span>\n )}\n\n <div className=\"flex min-w-0 flex-col gap-2\">\n {title && <div className=\"typography-body-2-semibold text-body-100\">{title}</div>}\n <div className=\"typography-body-2-regular text-body-200\">{children}</div>\n </div>\n\n {closable && (\n <Button\n variant=\"tertiary\"\n size=\"24\"\n onClick={onClose}\n className=\"self-start\"\n aria-label=\"Close alert\"\n >\n <CrossIcon />\n </Button>\n )}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n"],"names":[],"mappings":";;;;;;AAoBO,MAAM,QAAQ,MAAM;AAAA,EACzB,CACE,EAAE,WAAW,UAAU,QAAQ,OAAO,MAAM,WAAW,OAAO,SAAS,UAAU,GAAG,MAAA,GACpF,QACG;AACH,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAW;AAAA,UACT;AAAA,UACA,QAAQ,YAAY;AAAA,UACpB,QAAQ,CAAC,YAAY;AAAA,UACrB,CAAC,QAAQ,YAAY;AAAA,UACrB,CAAC,QAAQ,CAAC,YAAY;AAAA,UACtB,SAAS,WAAW,gBAAgB;AAAA,UACpC,YAAY,UAAU;AAAA,UACtB,YAAY,aAAa;AAAA,UACzB,YAAY,aAAa;AAAA,UACzB,YAAY,WAAW;AAAA,UACvB;AAAA,QAAA;AAAA,QAED,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,4BACE,QAAA,EAAK,WAAU,6BAA4B,eAAY,QACrD,UAAA,MACH;AAAA,UAGF,qBAAC,OAAA,EAAI,WAAU,+BACZ,UAAA;AAAA,YAAA,SAAS,oBAAC,OAAA,EAAI,WAAU,4CAA4C,UAAA,OAAM;AAAA,YAC3E,oBAAC,OAAA,EAAI,WAAU,2CAA2C,SAAA,CAAS;AAAA,UAAA,GACrE;AAAA,UAEC,YACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAU;AAAA,cACV,cAAW;AAAA,cAEX,8BAAC,WAAA,CAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACb;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEA,MAAM,cAAc;"}
1
+ {"version":3,"file":"Alert.mjs","sources":["../../../src/components/Alert/Alert.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Button } from \"../Button/Button\";\nimport { CrossIcon } from \"../Icons/CrossIcon\";\n\nexport type AlertVariant = \"info\" | \"success\" | \"warning\" | \"error\";\n\nexport interface AlertProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Visual style variant of the alert (matches Figma \"Variant\" property) */\n variant?: AlertVariant;\n /** Optional title text (bold) */\n title?: string;\n /** Left icon element */\n icon?: React.ReactNode;\n /** Show close button */\n closable?: boolean;\n /** Callback when close button is clicked */\n onClose?: () => void;\n}\n\nconst CLOSE_BUTTON_CLASSES: Record<AlertVariant, string> = {\n info: \"hover:bg-info-500/10 text-info-500\",\n success: \"hover:bg-success-500/10 text-success-500\",\n warning: \"hover:bg-warning-500/10 text-warning-500\",\n error: \"hover:bg-error-500/10 text-error-500\",\n};\n\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\n (\n { className, variant = \"info\", title, icon, closable = false, onClose, children, ...props },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n role=\"alert\"\n data-testid=\"alert\"\n className={cn(\n \"grid gap-x-3 rounded-lg p-4 text-sm leading-[18px]\",\n icon && closable && \"grid-cols-[auto_1fr_auto]\",\n icon && !closable && \"grid-cols-[auto_1fr]\",\n !icon && closable && \"grid-cols-[1fr_auto]\",\n !icon && !closable && \"grid-cols-[1fr]\",\n title && children ? \"items-start\" : \"items-center\",\n variant === \"info\" && \"bg-info-50 text-info-500\",\n variant === \"success\" && \"bg-success-50 text-success-500\",\n variant === \"warning\" && \"bg-warning-50 text-warning-500\",\n variant === \"error\" && \"bg-error-50 text-error-500\",\n className,\n )}\n {...props}\n >\n {icon && (\n <span className=\"flex shrink-0 items-start\" aria-hidden=\"true\">\n {icon}\n </span>\n )}\n\n <div className=\"flex min-w-0 flex-col gap-2\">\n {title && <div className=\"typography-body-2-semibold text-body-100\">{title}</div>}\n <div className=\"typography-body-2-regular text-body-200\">{children}</div>\n </div>\n\n {closable && (\n <Button\n variant=\"tertiary\"\n size=\"24\"\n onClick={onClose}\n className={cn(\"self-start\", CLOSE_BUTTON_CLASSES[variant])}\n aria-label=\"Close alert\"\n >\n <CrossIcon />\n </Button>\n )}\n </div>\n );\n },\n);\n\nAlert.displayName = \"Alert\";\n"],"names":[],"mappings":";;;;;;AAoBA,MAAM,uBAAqD;AAAA,EACzD,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,OAAO;AACT;AAEO,MAAM,QAAQ,MAAM;AAAA,EACzB,CACE,EAAE,WAAW,UAAU,QAAQ,OAAO,MAAM,WAAW,OAAO,SAAS,UAAU,GAAG,MAAA,GACpF,QACG;AACH,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,MAAK;AAAA,QACL,eAAY;AAAA,QACZ,WAAW;AAAA,UACT;AAAA,UACA,QAAQ,YAAY;AAAA,UACpB,QAAQ,CAAC,YAAY;AAAA,UACrB,CAAC,QAAQ,YAAY;AAAA,UACrB,CAAC,QAAQ,CAAC,YAAY;AAAA,UACtB,SAAS,WAAW,gBAAgB;AAAA,UACpC,YAAY,UAAU;AAAA,UACtB,YAAY,aAAa;AAAA,UACzB,YAAY,aAAa;AAAA,UACzB,YAAY,WAAW;AAAA,UACvB;AAAA,QAAA;AAAA,QAED,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,4BACE,QAAA,EAAK,WAAU,6BAA4B,eAAY,QACrD,UAAA,MACH;AAAA,UAGF,qBAAC,OAAA,EAAI,WAAU,+BACZ,UAAA;AAAA,YAAA,SAAS,oBAAC,OAAA,EAAI,WAAU,4CAA4C,UAAA,OAAM;AAAA,YAC3E,oBAAC,OAAA,EAAI,WAAU,2CAA2C,SAAA,CAAS;AAAA,UAAA,GACrE;AAAA,UAEC,YACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,MAAK;AAAA,cACL,SAAS;AAAA,cACT,WAAW,GAAG,cAAc,qBAAqB,OAAO,CAAC;AAAA,cACzD,cAAW;AAAA,cAEX,8BAAC,WAAA,CAAA,CAAU;AAAA,YAAA;AAAA,UAAA;AAAA,QACb;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEA,MAAM,cAAc;"}
@@ -287,7 +287,7 @@
287
287
 
288
288
  }
289
289
 
290
- .typography-body-1-regular {
290
+ @utility typography-body-1-regular {
291
291
  font-size: 16px;
292
292
  text-decoration: none;
293
293
  font-family: Inter;
@@ -301,7 +301,7 @@
301
301
  text-case: none;
302
302
  }
303
303
 
304
- .typography-body-1-medium {
304
+ @utility typography-body-1-medium {
305
305
  font-size: 16px;
306
306
  text-decoration: none;
307
307
  font-family: Inter;
@@ -315,7 +315,7 @@
315
315
  text-case: none;
316
316
  }
317
317
 
318
- .typography-body-1-semibold {
318
+ @utility typography-body-1-semibold {
319
319
  font-size: 16px;
320
320
  text-decoration: none;
321
321
  font-family: Inter;
@@ -329,7 +329,7 @@
329
329
  text-case: none;
330
330
  }
331
331
 
332
- .typography-body-2-regular {
332
+ @utility typography-body-2-regular {
333
333
  font-size: 14px;
334
334
  text-decoration: none;
335
335
  font-family: Inter;
@@ -343,7 +343,7 @@
343
343
  text-case: none;
344
344
  }
345
345
 
346
- .typography-body-2-medium {
346
+ @utility typography-body-2-medium {
347
347
  font-size: 14px;
348
348
  text-decoration: none;
349
349
  font-family: Inter;
@@ -357,7 +357,7 @@
357
357
  text-case: none;
358
358
  }
359
359
 
360
- .typography-body-2-semibold {
360
+ @utility typography-body-2-semibold {
361
361
  font-size: 14px;
362
362
  text-decoration: none;
363
363
  font-family: Inter;
@@ -371,7 +371,7 @@
371
371
  text-case: none;
372
372
  }
373
373
 
374
- .typography-button-large {
374
+ @utility typography-button-large {
375
375
  font-size: 18px;
376
376
  text-decoration: none;
377
377
  font-family: Inter;
@@ -385,7 +385,7 @@
385
385
  text-case: none;
386
386
  }
387
387
 
388
- .typography-button-small {
388
+ @utility typography-button-small {
389
389
  font-size: 16px;
390
390
  text-decoration: none;
391
391
  font-family: Inter;
@@ -399,7 +399,7 @@
399
399
  text-case: none;
400
400
  }
401
401
 
402
- .typography-link-large {
402
+ @utility typography-link-large {
403
403
  font-size: 16px;
404
404
  text-decoration: underline;
405
405
  font-family: Inter;
@@ -413,7 +413,7 @@
413
413
  text-case: none;
414
414
  }
415
415
 
416
- .typography-link-small {
416
+ @utility typography-link-small {
417
417
  font-size: 14px;
418
418
  text-decoration: underline;
419
419
  font-family: Inter;
@@ -427,7 +427,7 @@
427
427
  text-case: none;
428
428
  }
429
429
 
430
- .typography-link-x-small {
430
+ @utility typography-link-x-small {
431
431
  font-size: 12px;
432
432
  text-decoration: underline;
433
433
  font-family: Inter;
@@ -441,7 +441,7 @@
441
441
  text-case: none;
442
442
  }
443
443
 
444
- .typography-caption-regular {
444
+ @utility typography-caption-regular {
445
445
  font-size: 12px;
446
446
  text-decoration: none;
447
447
  font-family: Inter;
@@ -455,7 +455,7 @@
455
455
  text-case: none;
456
456
  }
457
457
 
458
- .typography-caption-semibold {
458
+ @utility typography-caption-semibold {
459
459
  font-size: 12px;
460
460
  text-decoration: none;
461
461
  font-family: Inter;
@@ -469,7 +469,7 @@
469
469
  text-case: none;
470
470
  }
471
471
 
472
- .typography-subtitle {
472
+ @utility typography-subtitle {
473
473
  font-size: 18px;
474
474
  text-decoration: none;
475
475
  font-family: Inter;
@@ -483,7 +483,7 @@
483
483
  text-case: none;
484
484
  }
485
485
 
486
- .typography-heading-4 {
486
+ @utility typography-heading-4 {
487
487
  font-size: 20px;
488
488
  text-decoration: none;
489
489
  font-family: Inter;
@@ -497,7 +497,7 @@
497
497
  text-case: none;
498
498
  }
499
499
 
500
- .typography-heading-3 {
500
+ @utility typography-heading-3 {
501
501
  font-size: 24px;
502
502
  text-decoration: none;
503
503
  font-family: Inter;
@@ -511,7 +511,7 @@
511
511
  text-case: none;
512
512
  }
513
513
 
514
- .typography-heading-32 {
514
+ @utility typography-heading-32 {
515
515
  font-size: 32px;
516
516
  text-decoration: none;
517
517
  font-family: Inter;
@@ -525,7 +525,7 @@
525
525
  text-case: none;
526
526
  }
527
527
 
528
- .typography-heading-2 {
528
+ @utility typography-heading-2 {
529
529
  font-size: 40px;
530
530
  text-decoration: none;
531
531
  font-family: Inter;
@@ -539,7 +539,7 @@
539
539
  text-case: none;
540
540
  }
541
541
 
542
- .typography-heading-1 {
542
+ @utility typography-heading-1 {
543
543
  font-size: 48px;
544
544
  text-decoration: none;
545
545
  font-family: Inter;
@@ -553,7 +553,7 @@
553
553
  text-case: none;
554
554
  }
555
555
 
556
- .typography-hero {
556
+ @utility typography-hero {
557
557
  font-size: 64px;
558
558
  text-decoration: none;
559
559
  font-family: Inter;
@@ -567,7 +567,7 @@
567
567
  text-case: none;
568
568
  }
569
569
 
570
- .typography-badge {
570
+ @utility typography-badge {
571
571
  font-size: 9px;
572
572
  text-decoration: none;
573
573
  font-family: Inter;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fanvue/ui",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "React component library built with Tailwind CSS for Fanvue ecosystem",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org",