@iit/precision-ui 0.1.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.
Files changed (70) hide show
  1. package/README.md +27 -0
  2. package/dist/Adapters.d.ts +21 -0
  3. package/dist/Adapters.d.ts.map +1 -0
  4. package/dist/components/card/card.d.ts +7 -0
  5. package/dist/components/card/card.d.ts.map +1 -0
  6. package/dist/components/card/index.d.ts +2 -0
  7. package/dist/components/card/index.d.ts.map +1 -0
  8. package/dist/components/ui/Image.d.ts +11 -0
  9. package/dist/components/ui/Image.d.ts.map +1 -0
  10. package/dist/components/ui/Link.d.ts +15 -0
  11. package/dist/components/ui/Link.d.ts.map +1 -0
  12. package/dist/components/ui/alert.d.ts +9 -0
  13. package/dist/components/ui/alert.d.ts.map +1 -0
  14. package/dist/components/ui/button/ButtonIcon.d.ts +17 -0
  15. package/dist/components/ui/button/ButtonIcon.d.ts.map +1 -0
  16. package/dist/components/ui/button/ButtonPrimary.d.ts +24 -0
  17. package/dist/components/ui/button/ButtonPrimary.d.ts.map +1 -0
  18. package/dist/components/ui/button/ButtonSecondary.d.ts +15 -0
  19. package/dist/components/ui/button/ButtonSecondary.d.ts.map +1 -0
  20. package/dist/components/ui/button/ButtonText.d.ts +21 -0
  21. package/dist/components/ui/button/ButtonText.d.ts.map +1 -0
  22. package/dist/components/ui/button/ButtonUnique.d.ts +15 -0
  23. package/dist/components/ui/button/ButtonUnique.d.ts.map +1 -0
  24. package/dist/components/ui/button/button.d.ts +13 -0
  25. package/dist/components/ui/button/button.d.ts.map +1 -0
  26. package/dist/components/ui/button/index.d.ts +1 -0
  27. package/dist/components/ui/button/index.d.ts.map +1 -0
  28. package/dist/components/ui/icon.d.ts +5 -0
  29. package/dist/components/ui/icon.d.ts.map +1 -0
  30. package/dist/decorators/LinkWrapper.d.ts +10 -0
  31. package/dist/decorators/LinkWrapper.d.ts.map +1 -0
  32. package/dist/index.d.ts +19 -0
  33. package/dist/index.d.ts.map +1 -0
  34. package/dist/index.es.js +23 -0
  35. package/dist/index.es.js.map +1 -0
  36. package/dist/index.es10.js +50 -0
  37. package/dist/index.es10.js.map +1 -0
  38. package/dist/index.es11.js +9 -0
  39. package/dist/index.es11.js.map +1 -0
  40. package/dist/index.es12.js +25 -0
  41. package/dist/index.es12.js.map +1 -0
  42. package/dist/index.es2.js +46 -0
  43. package/dist/index.es2.js.map +1 -0
  44. package/dist/index.es3.js +32 -0
  45. package/dist/index.es3.js.map +1 -0
  46. package/dist/index.es4.js +76 -0
  47. package/dist/index.es4.js.map +1 -0
  48. package/dist/index.es5.js +40 -0
  49. package/dist/index.es5.js.map +1 -0
  50. package/dist/index.es6.js +70 -0
  51. package/dist/index.es6.js.map +1 -0
  52. package/dist/index.es7.js +54 -0
  53. package/dist/index.es7.js.map +1 -0
  54. package/dist/index.es8.js +41 -0
  55. package/dist/index.es8.js.map +1 -0
  56. package/dist/index.es9.js +13 -0
  57. package/dist/index.es9.js.map +1 -0
  58. package/dist/lib/utils/cn.d.ts +4 -0
  59. package/dist/lib/utils/cn.d.ts.map +1 -0
  60. package/dist/setupTests.d.ts +2 -0
  61. package/dist/setupTests.d.ts.map +1 -0
  62. package/dist/stories/Button.d.ts +16 -0
  63. package/dist/stories/Button.d.ts.map +1 -0
  64. package/dist/stories/Header.d.ts +13 -0
  65. package/dist/stories/Header.d.ts.map +1 -0
  66. package/dist/stories/Page.d.ts +4 -0
  67. package/dist/stories/Page.d.ts.map +1 -0
  68. package/dist/styles.css +730 -0
  69. package/dist/vite.svg +1 -0
  70. package/package.json +101 -0
@@ -0,0 +1,76 @@
1
+ import t from "react";
2
+ import { Button as c } from "./index.es2.js";
3
+ import { ArrowRight16X16 as u } from "@iit/precision-ui-icons";
4
+ import { cva as h } from "class-variance-authority";
5
+ import { cn as a } from "./index.es11.js";
6
+ const p = h(
7
+ "bg-white text-navy hover:bg-whitish-opacity-80 cursor-pointer",
8
+ {
9
+ variants: {
10
+ theme: {
11
+ default: "",
12
+ opacity: "bg-whitish-opacity-16 text-white hover:bg-whitish-opacity-24",
13
+ sapphire: "bg-sapphire text-white hover:bg-sapphire-hover"
14
+ },
15
+ size: {
16
+ default: "h-14 px-8 py-4 pr-2 gap-8 group",
17
+ defaultWithoutIcon: "h-14 px-4 py-4"
18
+ }
19
+ },
20
+ defaultVariants: {
21
+ theme: "default",
22
+ size: "default"
23
+ }
24
+ }
25
+ ), m = h(
26
+ "rounded-full bg-navy-opacity-4 h-10 w-10 inline-flex items-center justify-center group-hover:bg-transparent duration-200",
27
+ {
28
+ variants: {
29
+ theme: {
30
+ default: "",
31
+ opacity: "bg-whitish-opacity-8",
32
+ sapphire: "bg-whitish-opacity-32"
33
+ },
34
+ iconDirection: {
35
+ default: "",
36
+ down: "rotate-90"
37
+ }
38
+ },
39
+ defaultVariants: {
40
+ theme: "default",
41
+ iconDirection: "default"
42
+ }
43
+ }
44
+ ), d = ({
45
+ className: r,
46
+ linkClassName: f,
47
+ children: i,
48
+ theme: e,
49
+ iconDirection: n,
50
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
51
+ size: y,
52
+ href: o,
53
+ // asChild = false,
54
+ ...s
55
+ }) => {
56
+ const l = "flex justify-between items-center gap-8 w-full";
57
+ return o ? /* @__PURE__ */ t.createElement("a", { href: o, className: f }, /* @__PURE__ */ t.createElement(c, { className: a(p({ theme: e, className: r })), ...s }, /* @__PURE__ */ t.createElement("div", { className: l }, i, /* @__PURE__ */ t.createElement(
58
+ "div",
59
+ {
60
+ className: a(m({ theme: e, iconDirection: n }))
61
+ },
62
+ /* @__PURE__ */ t.createElement(u, null)
63
+ )))) : /* @__PURE__ */ t.createElement(
64
+ c,
65
+ {
66
+ className: a(p({ theme: e, className: r })),
67
+ asChild: !0,
68
+ ...s
69
+ },
70
+ /* @__PURE__ */ t.createElement("div", { className: l }, i, /* @__PURE__ */ t.createElement("div", { className: a(m({ theme: e, iconDirection: n })) }, /* @__PURE__ */ t.createElement(u, null)))
71
+ );
72
+ }, x = d;
73
+ export {
74
+ x as default
75
+ };
76
+ //# sourceMappingURL=index.es4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es4.js","sources":["../src/components/ui/button/ButtonPrimary.tsx"],"sourcesContent":["import React from 'react'\r\nimport { Button } from './button'\r\nimport { ArrowRight16X16 } from '@iit/precision-ui-icons'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst buttonVariants = cva(\r\n 'bg-white text-navy hover:bg-whitish-opacity-80 cursor-pointer',\r\n {\r\n variants: {\r\n theme: {\r\n default: '',\r\n opacity: 'bg-whitish-opacity-16 text-white hover:bg-whitish-opacity-24',\r\n sapphire: 'bg-sapphire text-white hover:bg-sapphire-hover',\r\n },\r\n size: {\r\n default: 'h-14 px-8 py-4 pr-2 gap-8 group',\r\n defaultWithoutIcon: 'h-14 px-4 py-4',\r\n },\r\n },\r\n defaultVariants: {\r\n theme: 'default',\r\n size: 'default',\r\n },\r\n }\r\n)\r\n\r\nconst arrowContainerVariants = cva(\r\n 'rounded-full bg-navy-opacity-4 h-10 w-10 inline-flex items-center justify-center group-hover:bg-transparent duration-200',\r\n {\r\n variants: {\r\n theme: {\r\n default: '',\r\n opacity: 'bg-whitish-opacity-8',\r\n sapphire: 'bg-whitish-opacity-32',\r\n },\r\n iconDirection: {\r\n default: '',\r\n down: 'rotate-90',\r\n },\r\n },\r\n defaultVariants: {\r\n theme: 'default',\r\n iconDirection: 'default',\r\n },\r\n }\r\n)\r\n\r\ninterface ArrowContainerPropsToButton {\r\n iconDirection?: VariantProps<typeof arrowContainerVariants>['iconDirection']\r\n}\r\n\r\nexport interface ButtonPrimaryProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n VariantProps<typeof buttonVariants>,\r\n ArrowContainerPropsToButton {\r\n className?: string\r\n linkClassName?: string\r\n children?: React.ReactNode\r\n // as?: 'button' | 'a'\r\n href?: string\r\n asChild?: boolean\r\n}\r\n\r\nconst ButtonPrimary: React.FC<ButtonPrimaryProps> = ({\r\n className,\r\n linkClassName,\r\n children,\r\n theme,\r\n iconDirection,\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n size,\r\n href,\r\n // asChild = false,\r\n ...props\r\n}) => {\r\n const containerStyles = 'flex justify-between items-center gap-8 w-full'\r\n if (href) {\r\n return (\r\n <a href={href} className={linkClassName}>\r\n <Button className={cn(buttonVariants({ theme, className }))} {...props}>\r\n <div className={containerStyles}>\r\n {children}\r\n <div\r\n className={cn(arrowContainerVariants({ theme, iconDirection }))}\r\n >\r\n <ArrowRight16X16 />\r\n </div>\r\n </div>\r\n </Button>\r\n </a>\r\n )\r\n }\r\n\r\n return (\r\n <Button\r\n className={cn(buttonVariants({ theme, className }))}\r\n asChild\r\n {...props}\r\n >\r\n <div className={containerStyles}>\r\n {children}\r\n <div className={cn(arrowContainerVariants({ theme, iconDirection }))}>\r\n <ArrowRight16X16 />\r\n </div>\r\n </div>\r\n </Button>\r\n )\r\n}\r\n\r\nexport default ButtonPrimary\r\n"],"names":["buttonVariants","cva","arrowContainerVariants","ButtonPrimary","className","linkClassName","children","theme","iconDirection","size","href","props","containerStyles","React","Button","cn","ArrowRight16X16","ButtonPrimary$1"],"mappings":";;;;;AAOA,MAAMA,IAAiBC;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,MACP,MAAM;AAAA,IACR;AAAA,EACF;AACF,GAEMC,IAAyBD;AAAA,EAC7B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,OAAO;AAAA,QACL,SAAS;AAAA,QACT,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA,eAAe;AAAA,QACb,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,OAAO;AAAA,MACP,eAAe;AAAA,IACjB;AAAA,EACF;AACF,GAkBME,IAA8C,CAAC;AAAA,EACnD,WAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAAC;AAAA;AAAA,EAEA,MAAAC;AAAA,EACA,MAAAC;AAAA;AAAA,EAEA,GAAGC;AACL,MAAM;AACJ,QAAMC,IAAkB;AACxB,SAAIF,IAEAG,gBAAAA,EAAA,cAAC,OAAE,MAAAH,GAAY,WAAWL,KACvBQ,gBAAAA,EAAA,cAAAC,GAAA,EAAO,WAAWC,EAAGf,EAAe,EAAE,OAAAO,GAAO,WAAAH,EAAU,CAAC,CAAC,GAAI,GAAGO,KAC9DE,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWD,EAAA,GACbN,GACDO,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWE,EAAGb,EAAuB,EAAE,OAAAK,GAAO,eAAAC,EAAe,CAAA,CAAC;AAAA,IAAA;AAAA,oCAE7DQ,GAAgB,IAAA;AAAA,EAErB,CAAA,CACF,CACF,IAKFH,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAGf,EAAe,EAAE,OAAAO,GAAO,WAAAH,EAAW,CAAA,CAAC;AAAA,MAClD,SAAO;AAAA,MACN,GAAGO;AAAA,IAAA;AAAA,oCAEH,OAAI,EAAA,WAAWC,KACbN,GACDO,gBAAAA,EAAA,cAAC,SAAI,WAAWE,EAAGb,EAAuB,EAAE,OAAAK,GAAO,eAAAC,GAAe,CAAC,KAChEK,gBAAAA,EAAA,cAAAG,GAAA,IAAgB,CACnB,CACF;AAAA,EAAA;AAGN,GAEAC,IAAed;"}
@@ -0,0 +1,40 @@
1
+ import t from "react";
2
+ import { Button as p } from "./index.es2.js";
3
+ import { cva as l } from "class-variance-authority";
4
+ import { cn as u } from "./index.es11.js";
5
+ const f = l(
6
+ "transition-all rounded-lg hover:rounded-[24px] border",
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: "bg-navy text-white",
11
+ white: "bg-white text-navy",
12
+ outline: "bg-transparent text-navy border border-solid border-navy-opacity-32",
13
+ outlineWhite: "bg-transparent text-white border border-solid border-whitish-opacity-32"
14
+ },
15
+ size: {
16
+ default: "px-[18px] py-[15px]",
17
+ sm: "px-[13.5px] py-[11px] hover:bg-white hover:text-navy"
18
+ }
19
+ },
20
+ defaultVariants: {
21
+ variant: "default",
22
+ size: "default"
23
+ }
24
+ }
25
+ ), e = t.forwardRef(({ className: r, children: a, variant: o, size: n, asChild: i = !1, ...d }, s) => /* @__PURE__ */ t.createElement(
26
+ p,
27
+ {
28
+ className: u(f({ variant: o, size: n, className: r })),
29
+ asChild: i,
30
+ ref: s,
31
+ ...d
32
+ },
33
+ a
34
+ ));
35
+ e.displayName = "ButtonSecondary";
36
+ const m = e;
37
+ export {
38
+ m as default
39
+ };
40
+ //# sourceMappingURL=index.es5.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es5.js","sources":["../src/components/ui/button/ButtonSecondary.tsx"],"sourcesContent":["import React from 'react'\r\nimport { Button } from './button'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst buttonVariants = cva(\r\n 'transition-all rounded-lg hover:rounded-[24px] border',\r\n {\r\n variants: {\r\n variant: {\r\n default: 'bg-navy text-white',\r\n white: 'bg-white text-navy',\r\n outline:\r\n 'bg-transparent text-navy border border-solid border-navy-opacity-32',\r\n outlineWhite:\r\n 'bg-transparent text-white border border-solid border-whitish-opacity-32',\r\n },\r\n size: {\r\n default: 'px-[18px] py-[15px]',\r\n sm: 'px-[13.5px] py-[11px] hover:bg-white hover:text-navy',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n size: 'default',\r\n },\r\n }\r\n)\r\n\r\nexport interface ButtonSecondaryProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n VariantProps<typeof buttonVariants> {\r\n className?: string\r\n children?: React.ReactNode\r\n asChild?: boolean\r\n}\r\n\r\nconst ButtonSecondary = React.forwardRef<\r\n HTMLButtonElement,\r\n ButtonSecondaryProps\r\n>(({ className, children, variant, size, asChild = false, ...props }, ref) => {\r\n return (\r\n <Button\r\n className={cn(buttonVariants({ variant, size, className }))}\r\n asChild={asChild}\r\n ref={ref}\r\n {...props}\r\n >\r\n {children}\r\n </Button>\r\n )\r\n})\r\n\r\nButtonSecondary.displayName = 'ButtonSecondary'\r\n\r\nexport default ButtonSecondary\r\n"],"names":["buttonVariants","cva","ButtonSecondary","React","className","children","variant","size","asChild","props","ref","Button","cn","ButtonSecondary$1"],"mappings":";;;;AAKA,MAAMA,IAAiBC;AAAA,EACrB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,OAAO;AAAA,QACP,SACE;AAAA,QACF,cACE;AAAA,MACJ;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF,GAUMC,IAAkBC,EAAM,WAG5B,CAAC,EAAE,WAAAC,GAAW,UAAAC,GAAU,SAAAC,GAAS,MAAAC,GAAM,SAAAC,IAAU,IAAO,GAAGC,EAAA,GAASC,MAElEP,gBAAAA,EAAA;AAAA,EAACQ;AAAA,EAAA;AAAA,IACC,WAAWC,EAAGZ,EAAe,EAAE,SAAAM,GAAS,MAAAC,GAAM,WAAAH,EAAA,CAAW,CAAC;AAAA,IAC1D,SAAAI;AAAA,IACA,KAAAE;AAAA,IACC,GAAGD;AAAA,EAAA;AAAA,EAEHJ;AAAA,CAGN;AAEDH,EAAgB,cAAc;AAE9B,MAAAW,IAAeX;"}
@@ -0,0 +1,70 @@
1
+ import t from "react";
2
+ import { Button as s } from "./index.es2.js";
3
+ import { LessLink16X16 as c, MoreLink16X16 as u, ArrowLinkRight16X16 as m } from "@iit/precision-ui-icons";
4
+ import { cva as r } from "class-variance-authority";
5
+ import { cn as n } from "./index.es11.js";
6
+ import { ArrowDownToLine as d } from "lucide-react";
7
+ const f = r("bg-link-gradient-container hover:cursor-pointer", {
8
+ variants: {
9
+ variant: {
10
+ default: "text-navy",
11
+ white: "text-white"
12
+ }
13
+ },
14
+ defaultVariants: {
15
+ variant: "default"
16
+ }
17
+ }), p = r("rounded-full p-[5px]", {
18
+ variants: {
19
+ variant: {
20
+ default: "bg-navy-opacity-4",
21
+ // default: "bg-red-500",
22
+ white: "bg-whitish-opacity-8"
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ variant: "default"
27
+ }
28
+ }), v = r("", {
29
+ variants: {
30
+ variant: {
31
+ default: "bg-link-gradient",
32
+ white: "bg-link-white-gradient"
33
+ }
34
+ },
35
+ defaultVariants: {
36
+ variant: "default"
37
+ }
38
+ }), h = (e) => {
39
+ switch (e) {
40
+ case "arrowRight":
41
+ return /* @__PURE__ */ t.createElement(m, null);
42
+ case "plus":
43
+ return /* @__PURE__ */ t.createElement(u, null);
44
+ case "minus":
45
+ return /* @__PURE__ */ t.createElement(c, null);
46
+ case "download":
47
+ return /* @__PURE__ */ t.createElement(d, { size: 18 });
48
+ default:
49
+ return null;
50
+ }
51
+ }, w = ({
52
+ className: e,
53
+ children: l,
54
+ variant: a,
55
+ icon: i,
56
+ // asChild = false,
57
+ ...o
58
+ }) => /* @__PURE__ */ t.createElement(
59
+ s,
60
+ {
61
+ className: n(f({ variant: a, className: e })),
62
+ asChild: !0,
63
+ ...o
64
+ },
65
+ /* @__PURE__ */ t.createElement("div", { className: "gap-2 flex items-center" }, i && /* @__PURE__ */ t.createElement("div", { className: n(p({ variant: a })) }, h(i)), /* @__PURE__ */ t.createElement("div", { className: n(v({ variant: a })) }, l))
66
+ ), L = w;
67
+ export {
68
+ L as default
69
+ };
70
+ //# sourceMappingURL=index.es6.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es6.js","sources":["../src/components/ui/button/ButtonText.tsx"],"sourcesContent":["import React from 'react'\r\nimport { Button } from './button'\r\nimport {\r\n ArrowLinkRight16X16,\r\n MoreLink16X16,\r\n LessLink16X16,\r\n} from '@iit/precision-ui-icons'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { ArrowDownToLine } from 'lucide-react'\r\n\r\nconst buttonVariants = cva('bg-link-gradient-container hover:cursor-pointer', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy',\r\n white: 'text-white',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nconst iconContainerVariants = cva('rounded-full p-[5px]', {\r\n variants: {\r\n variant: {\r\n default: 'bg-navy-opacity-4',\r\n // default: \"bg-red-500\",\r\n white: 'bg-whitish-opacity-8',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nconst textContainerVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'bg-link-gradient',\r\n white: 'bg-link-white-gradient',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nexport type ButtonTextIconName = 'arrowRight' | 'plus' | 'minus' | 'download'\r\n\r\nconst iconDefiner = (icon?: ButtonTextIconName) => {\r\n switch (icon) {\r\n case 'arrowRight':\r\n return <ArrowLinkRight16X16 />\r\n\r\n case 'plus':\r\n return <MoreLink16X16 />\r\n\r\n case 'minus':\r\n return <LessLink16X16 />\r\n\r\n case 'download':\r\n return <ArrowDownToLine size={18} />\r\n\r\n default:\r\n return null\r\n }\r\n}\r\n\r\ninterface NewProps {\r\n className?: string\r\n children?: React.ReactNode\r\n icon?: ButtonTextIconName\r\n asChild?: boolean\r\n}\r\n\r\nexport interface ButtonTextProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n VariantProps<typeof buttonVariants>,\r\n NewProps {}\r\n\r\nexport interface ButtonTextPropsWithoutHTMLAttributes\r\n extends Omit<NewProps, 'children' | 'className'> {\r\n text: string\r\n}\r\n\r\nconst ButtonText: React.FC<ButtonTextProps> = ({\r\n className,\r\n children,\r\n variant,\r\n icon,\r\n // asChild = false,\r\n ...props\r\n}) => {\r\n return (\r\n <Button\r\n className={cn(buttonVariants({ variant, className }))}\r\n asChild\r\n {...props}\r\n >\r\n <div className=\"gap-2 flex items-center\">\r\n {icon && (\r\n <div className={cn(iconContainerVariants({ variant }))}>\r\n {iconDefiner(icon)}\r\n </div>\r\n )}\r\n <div className={cn(textContainerVariants({ variant }))}>{children}</div>\r\n </div>\r\n </Button>\r\n )\r\n}\r\n\r\nexport default ButtonText\r\n"],"names":["buttonVariants","cva","iconContainerVariants","textContainerVariants","iconDefiner","icon","ArrowLinkRight16X16","MoreLink16X16","LessLink16X16","React","ArrowDownToLine","ButtonText","className","children","variant","props","Button","cn","ButtonText$1"],"mappings":";;;;;;AAYA,MAAMA,IAAiBC,EAAI,mDAAmD;AAAA,EAC5E,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEKC,IAAwBD,EAAI,wBAAwB;AAAA,EACxD,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA;AAAA,MAET,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEKE,IAAwBF,EAAI,IAAI;AAAA,EACpC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAIKG,IAAc,CAACC,MAA8B;AACjD,UAAQA,GAAM;AAAA,IACZ,KAAK;AACH,6CAAQC,GAAoB,IAAA;AAAA,IAE9B,KAAK;AACH,6CAAQC,GAAc,IAAA;AAAA,IAExB,KAAK;AACH,6CAAQC,GAAc,IAAA;AAAA,IAExB,KAAK;AACI,aAAAC,gBAAAA,EAAA,cAACC,GAAgB,EAAA,MAAM,GAAI,CAAA;AAAA,IAEpC;AACS,aAAA;AAAA,EACX;AACF,GAmBMC,IAAwC,CAAC;AAAA,EAC7C,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAT;AAAA;AAAA,EAEA,GAAGU;AACL,MAEIN,gBAAAA,EAAA;AAAA,EAACO;AAAA,EAAA;AAAA,IACC,WAAWC,EAAGjB,EAAe,EAAE,SAAAc,GAAS,WAAAF,EAAW,CAAA,CAAC;AAAA,IACpD,SAAO;AAAA,IACN,GAAGG;AAAA,EAAA;AAAA,EAEHN,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,0BAAA,GACZJ,KACCI,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAWQ,EAAGf,EAAsB,EAAE,SAAAY,EAAS,CAAA,CAAC,EAAA,GAClDV,EAAYC,CAAI,CACnB,GAEDI,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWQ,EAAGd,EAAsB,EAAE,SAAAW,EAAS,CAAA,CAAC,EAAA,GAAID,CAAS,CACpE;AAAA,GAKNK,IAAeP;"}
@@ -0,0 +1,54 @@
1
+ import t from "react";
2
+ import { Button as s } from "./index.es2.js";
3
+ import { ServicesModal16X16 as u, Login16X16 as c } from "@iit/precision-ui-icons";
4
+ import { cva as i } from "class-variance-authority";
5
+ import { cn as n } from "./index.es11.js";
6
+ const m = i("bg-link-gradient-container group cursor-pointer", {
7
+ variants: {
8
+ variant: {
9
+ default: "text-navy",
10
+ white: "text-white"
11
+ }
12
+ },
13
+ defaultVariants: {
14
+ variant: "default"
15
+ }
16
+ }), d = i("", {
17
+ variants: {
18
+ variant: {
19
+ default: "bg-link-gradient",
20
+ white: "bg-link-white-gradient"
21
+ }
22
+ },
23
+ defaultVariants: {
24
+ variant: "default"
25
+ }
26
+ }), f = (e) => {
27
+ switch (e) {
28
+ case "login":
29
+ return /* @__PURE__ */ t.createElement(c, null);
30
+ case "services":
31
+ return /* @__PURE__ */ t.createElement(u, null);
32
+ default:
33
+ return null;
34
+ }
35
+ }, v = ({
36
+ className: e,
37
+ children: o,
38
+ variant: a,
39
+ icon: r,
40
+ // asChild = false,
41
+ ...l
42
+ }) => /* @__PURE__ */ t.createElement(
43
+ s,
44
+ {
45
+ className: n(m({ variant: a, className: e })),
46
+ asChild: !0,
47
+ ...l
48
+ },
49
+ /* @__PURE__ */ t.createElement("div", { className: "gap-2 flex items-center" }, r && /* @__PURE__ */ t.createElement("div", { className: "group-hover:transform group-hover:scale-125 duration-200" }, f(r)), /* @__PURE__ */ t.createElement("div", { className: n(d({ variant: a })) }, o))
50
+ ), x = v;
51
+ export {
52
+ x as default
53
+ };
54
+ //# sourceMappingURL=index.es7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es7.js","sources":["../src/components/ui/button/ButtonUnique.tsx"],"sourcesContent":["import React from 'react'\r\nimport { Button } from './button'\r\nimport { Login16X16, ServicesModal16X16 } from '@iit/precision-ui-icons'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst buttonVariants = cva('bg-link-gradient-container group cursor-pointer', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy',\r\n white: 'text-white',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nconst textContainerVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'bg-link-gradient',\r\n white: 'bg-link-white-gradient',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nconst iconDefiner = (icon?: string) => {\r\n switch (icon) {\r\n case 'login':\r\n return <Login16X16 />\r\n\r\n case 'services':\r\n return <ServicesModal16X16 />\r\n\r\n default:\r\n return null\r\n }\r\n}\r\n\r\nexport interface ButtonUniqueProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n VariantProps<typeof buttonVariants> {\r\n className?: string\r\n children?: React.ReactNode\r\n icon?: string\r\n asChild?: boolean\r\n}\r\n\r\nconst ButtonUnique: React.FC<ButtonUniqueProps> = ({\r\n className,\r\n children,\r\n variant,\r\n icon,\r\n // asChild = false,\r\n ...props\r\n}) => {\r\n return (\r\n <Button\r\n className={cn(buttonVariants({ variant, className }))}\r\n asChild\r\n {...props}\r\n >\r\n <div className=\"gap-2 flex items-center\">\r\n {icon && (\r\n <div className=\"group-hover:transform group-hover:scale-125 duration-200\">\r\n {iconDefiner(icon)}\r\n </div>\r\n )}\r\n <div className={cn(textContainerVariants({ variant }))}>{children}</div>\r\n </div>\r\n </Button>\r\n )\r\n}\r\n\r\nexport default ButtonUnique\r\n"],"names":["buttonVariants","cva","textContainerVariants","iconDefiner","icon","Login16X16","ServicesModal16X16","ButtonUnique","className","children","variant","props","React","Button","cn","ButtonUnique$1"],"mappings":";;;;;AAOA,MAAMA,IAAiBC,EAAI,mDAAmD;AAAA,EAC5E,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEKC,IAAwBD,EAAI,IAAI;AAAA,EACpC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAEKE,IAAc,CAACC,MAAkB;AACrC,UAAQA,GAAM;AAAA,IACZ,KAAK;AACH,6CAAQC,GAAW,IAAA;AAAA,IAErB,KAAK;AACH,6CAAQC,GAAmB,IAAA;AAAA,IAE7B;AACS,aAAA;AAAA,EACX;AACF,GAWMC,IAA4C,CAAC;AAAA,EACjD,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAN;AAAA;AAAA,EAEA,GAAGO;AACL,MAEIC,gBAAAA,EAAA;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,WAAWC,EAAGd,EAAe,EAAE,SAAAU,GAAS,WAAAF,EAAW,CAAA,CAAC;AAAA,IACpD,SAAO;AAAA,IACN,GAAGG;AAAA,EAAA;AAAA,EAEJC,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,0BACZ,GAAAR,qCACE,OAAI,EAAA,WAAU,2DACZ,GAAAD,EAAYC,CAAI,CACnB,GAEDQ,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWE,EAAGZ,EAAsB,EAAE,SAAAQ,GAAS,CAAC,EAAI,GAAAD,CAAS,CACpE;AAAA,GAKNM,IAAeR;"}
@@ -0,0 +1,41 @@
1
+ import l from "react";
2
+ import { cva as s } from "class-variance-authority";
3
+ import { cn as c } from "./index.es11.js";
4
+ import { getAdapter as f } from "./index.es9.js";
5
+ const m = s("duration-200 transition-colors", {
6
+ variants: {
7
+ variant: {
8
+ default: "text-turquoise link",
9
+ navy: "text-navy link_navy",
10
+ white: "text-white link_white"
11
+ }
12
+ },
13
+ defaultVariants: {
14
+ variant: "default"
15
+ }
16
+ }), k = ({
17
+ href: r,
18
+ children: n,
19
+ className: a,
20
+ variant: e,
21
+ target: t,
22
+ rel: i,
23
+ ...o
24
+ }) => {
25
+ const p = f("LinkWrapper");
26
+ return /* @__PURE__ */ l.createElement(
27
+ p,
28
+ {
29
+ href: r,
30
+ target: t,
31
+ rel: i || (t === "_blank" ? "noopener noreferrer" : void 0),
32
+ className: c(m({ variant: e, className: a })),
33
+ ...o
34
+ },
35
+ n
36
+ );
37
+ }, x = k;
38
+ export {
39
+ x as default
40
+ };
41
+ //# sourceMappingURL=index.es8.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es8.js","sources":["../src/components/ui/Link.tsx"],"sourcesContent":["import React from 'react'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst linkVariants = cva('duration-200 transition-colors', {\r\n variants: {\r\n variant: {\r\n default: 'text-turquoise link',\r\n navy: 'text-navy link_navy',\r\n white: 'text-white link_white',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\ninterface AppLinkProps\r\n extends React.HTMLAttributes<HTMLAnchorElement>,\r\n VariantProps<typeof linkVariants> {\r\n href: string\r\n children: React.ReactNode\r\n className?: string\r\n target?: string\r\n}\r\n\r\nconst AppLink: React.FC<AppLinkProps> = ({\r\n href,\r\n children,\r\n className,\r\n variant,\r\n target,\r\n rel,\r\n ...props\r\n}) => {\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n return (\r\n <LinkWrapper\r\n href={href}\r\n target={target}\r\n rel={rel || (target === '_blank' ? 'noopener noreferrer' : undefined)}\r\n className={cn(linkVariants({ variant, className }))}\r\n {...props}\r\n >\r\n {children}\r\n </LinkWrapper>\r\n )\r\n}\r\n\r\nexport default AppLink\r\n"],"names":["linkVariants","cva","AppLink","href","children","className","variant","target","rel","props","LinkWrapper","getAdapter","React","cn","AppLink$1"],"mappings":";;;;AAKA,MAAMA,IAAeC,EAAI,kCAAkC;AAAA,EACzD,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GAWKC,IAAkC,CAAC;AAAA,EACvC,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,QAAAC;AAAA,EACA,KAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACE,QAAAC,IAAcC,EAAW,aAAa;AAG1C,SAAAC,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,MAAAP;AAAA,MACA,QAAAI;AAAA,MACA,KAAKC,MAAQD,MAAW,WAAW,wBAAwB;AAAA,MAC3D,WAAWM,EAAGb,EAAa,EAAE,SAAAM,GAAS,WAAAD,EAAW,CAAA,CAAC;AAAA,MACjD,GAAGI;AAAA,IAAA;AAAA,IAEHL;AAAA,EAAA;AAGP,GAEAU,IAAeZ;"}
@@ -0,0 +1,13 @@
1
+ const e = {}, o = (r, t) => {
2
+ e[r] = t;
3
+ }, s = (r) => {
4
+ const t = e[r];
5
+ if (!t)
6
+ throw new Error(`Adapter for ${r} is not registered.`);
7
+ return t;
8
+ };
9
+ export {
10
+ s as getAdapter,
11
+ o as registerAdapter
12
+ };
13
+ //# sourceMappingURL=index.es9.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es9.js","sources":["../src/Adapters.tsx"],"sourcesContent":["type ComponentAdapter<TProps = unknown> = React.FC<TProps>\r\n\r\ninterface Adapters {\r\n LinkWrapper?: ComponentAdapter<{\r\n href: string\r\n children: React.ReactNode\r\n className?: string\r\n target?: string\r\n rel?: string\r\n }>\r\n ImageWrapper?: ComponentAdapter<{\r\n src: string\r\n alt: string\r\n width?: number\r\n height?: number\r\n className?: string\r\n }>\r\n}\r\n\r\nconst adapters: Adapters = {}\r\n\r\nexport const registerAdapter = <T extends keyof Adapters>(\r\n key: T,\r\n adapter: NonNullable<Adapters[T]>\r\n) => {\r\n adapters[key] = adapter\r\n}\r\n\r\nexport const getAdapter = <T extends keyof Adapters>(\r\n key: T\r\n): NonNullable<Adapters[T]> => {\r\n const adapter = adapters[key]\r\n if (!adapter) {\r\n throw new Error(`Adapter for ${key} is not registered.`)\r\n }\r\n return adapter\r\n}\r\n"],"names":["adapters","registerAdapter","key","adapter","getAdapter"],"mappings":"AAmBA,MAAMA,IAAqB,CAAA,GAEdC,IAAkB,CAC7BC,GACAC,MACG;AACH,EAAAH,EAASE,CAAG,IAAIC;AAClB,GAEaC,IAAa,CACxBF,MAC6B;AACvB,QAAAC,IAAUH,EAASE,CAAG;AAC5B,MAAI,CAACC;AACH,UAAM,IAAI,MAAM,eAAeD,CAAG,qBAAqB;AAElD,SAAAC;AACT;"}
@@ -0,0 +1,4 @@
1
+ import { ClassValue } from 'clsx';
2
+
3
+ export declare function cn(...inputs: ClassValue[]): string;
4
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/cn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAQ,MAAM,MAAM,CAAA;AAG5C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=setupTests.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setupTests.d.ts","sourceRoot":"","sources":["../src/setupTests.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+
2
+ export interface ButtonProps {
3
+ /** Is this the principal call to action on the page? */
4
+ primary?: boolean;
5
+ /** What background color to use */
6
+ backgroundColor?: string;
7
+ /** How large should the button be? */
8
+ size?: 'small' | 'medium' | 'large';
9
+ /** Button contents */
10
+ label: string;
11
+ /** Optional click handler */
12
+ onClick?: () => void;
13
+ }
14
+ /** Primary UI component for user interaction */
15
+ export declare const Button: ({ primary, size, backgroundColor, label, ...props }: ButtonProps) => import("react/jsx-dev-runtime").JSX.Element;
16
+ //# sourceMappingURL=Button.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/stories/Button.tsx"],"names":[],"mappings":"AAEA,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,sCAAsC;IACtC,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAED,gDAAgD;AAChD,eAAO,MAAM,MAAM,wDAMhB,WAAW,gDAYb,CAAC"}
@@ -0,0 +1,13 @@
1
+
2
+ type User = {
3
+ name: string;
4
+ };
5
+ export interface HeaderProps {
6
+ user?: User;
7
+ onLogin?: () => void;
8
+ onLogout?: () => void;
9
+ onCreateAccount?: () => void;
10
+ }
11
+ export declare const Header: ({ user, onLogin, onLogout, onCreateAccount }: HeaderProps) => import("react/jsx-dev-runtime").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=Header.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../src/stories/Header.tsx"],"names":[],"mappings":"AAGA,OAAO,cAAc,CAAC;AAEtB,KAAK,IAAI,GAAG;IACV,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAED,eAAO,MAAM,MAAM,iDAAkD,WAAW,gDAuC/E,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { default as React } from 'react';
2
+
3
+ export declare const Page: React.FC;
4
+ //# sourceMappingURL=Page.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../src/stories/Page.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,YAAY,CAAC;AAMpB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EA+DxB,CAAC"}