@iit/precision-ui 0.2.0 → 0.4.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 (104) hide show
  1. package/dist/Adapters.d.ts +0 -7
  2. package/dist/Adapters.d.ts.map +1 -1
  3. package/dist/components/GridIterator.d.ts.map +1 -1
  4. package/dist/components/core/typography/Heading.d.ts +1 -0
  5. package/dist/components/core/typography/Heading.d.ts.map +1 -1
  6. package/dist/components/ui/checkbox/CheckboxWithLabel.d.ts.map +1 -1
  7. package/dist/components/ui/form.d.ts +24 -0
  8. package/dist/components/ui/form.d.ts.map +1 -0
  9. package/dist/components/ui/textarea/Textarea.d.ts +10 -0
  10. package/dist/components/ui/textarea/Textarea.d.ts.map +1 -0
  11. package/dist/components/ui/textarea/TextareaWithLabel.d.ts +11 -0
  12. package/dist/components/ui/textarea/TextareaWithLabel.d.ts.map +1 -0
  13. package/dist/components/ui/textarea/index.d.ts +5 -0
  14. package/dist/components/ui/textarea/index.d.ts.map +1 -0
  15. package/dist/decorators/CarouselWrapper.d.ts +4 -4
  16. package/dist/decorators/CarouselWrapper.d.ts.map +1 -1
  17. package/dist/index.d.ts +5 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.es.js +55 -41
  20. package/dist/index.es.js.map +1 -1
  21. package/dist/index.es10.js +1 -1
  22. package/dist/index.es11.js +1 -1
  23. package/dist/index.es12.js +13 -14
  24. package/dist/index.es12.js.map +1 -1
  25. package/dist/index.es13.js +27 -24
  26. package/dist/index.es13.js.map +1 -1
  27. package/dist/index.es14.js +28 -73
  28. package/dist/index.es14.js.map +1 -1
  29. package/dist/index.es15.js +15 -23
  30. package/dist/index.es15.js.map +1 -1
  31. package/dist/index.es16.js +23 -31
  32. package/dist/index.es16.js.map +1 -1
  33. package/dist/index.es17.js +71 -28
  34. package/dist/index.es17.js.map +1 -1
  35. package/dist/index.es18.js +33 -26
  36. package/dist/index.es18.js.map +1 -1
  37. package/dist/index.es19.js +25 -176
  38. package/dist/index.es19.js.map +1 -1
  39. package/dist/index.es2.js +1 -1
  40. package/dist/index.es20.js +29 -51
  41. package/dist/index.es20.js.map +1 -1
  42. package/dist/index.es21.js +25 -54
  43. package/dist/index.es21.js.map +1 -1
  44. package/dist/index.es22.js +178 -54
  45. package/dist/index.es22.js.map +1 -1
  46. package/dist/index.es23.js +50 -17
  47. package/dist/index.es23.js.map +1 -1
  48. package/dist/index.es24.js +56 -18
  49. package/dist/index.es24.js.map +1 -1
  50. package/dist/index.es25.js +59 -6
  51. package/dist/index.es25.js.map +1 -1
  52. package/dist/index.es26.js +19 -21
  53. package/dist/index.es26.js.map +1 -1
  54. package/dist/index.es27.js +18 -26
  55. package/dist/index.es27.js.map +1 -1
  56. package/dist/index.es28.js +88 -2
  57. package/dist/index.es28.js.map +1 -1
  58. package/dist/index.es29.js +6 -20
  59. package/dist/index.es29.js.map +1 -1
  60. package/dist/index.es3.js +2 -2
  61. package/dist/index.es30.js +21 -19
  62. package/dist/index.es30.js.map +1 -1
  63. package/dist/index.es31.js +18 -9
  64. package/dist/index.es31.js.map +1 -1
  65. package/dist/index.es32.js +19 -84
  66. package/dist/index.es32.js.map +1 -1
  67. package/dist/index.es33.js +10 -18
  68. package/dist/index.es33.js.map +1 -1
  69. package/dist/index.es34.js +77 -38
  70. package/dist/index.es34.js.map +1 -1
  71. package/dist/index.es35.js +15 -41
  72. package/dist/index.es35.js.map +1 -1
  73. package/dist/index.es36.js +42 -33
  74. package/dist/index.es36.js.map +1 -1
  75. package/dist/index.es37.js +40 -51
  76. package/dist/index.es37.js.map +1 -1
  77. package/dist/index.es38.js +33 -88
  78. package/dist/index.es38.js.map +1 -1
  79. package/dist/index.es39.js +37 -79
  80. package/dist/index.es39.js.map +1 -1
  81. package/dist/index.es4.js +1 -1
  82. package/dist/index.es40.js +86 -21
  83. package/dist/index.es40.js.map +1 -1
  84. package/dist/index.es41.js +97 -15
  85. package/dist/index.es41.js.map +1 -1
  86. package/dist/index.es42.js +27 -4
  87. package/dist/index.es42.js.map +1 -1
  88. package/dist/index.es43.js +48 -0
  89. package/dist/index.es43.js.map +1 -0
  90. package/dist/index.es44.js +19 -0
  91. package/dist/index.es44.js.map +1 -0
  92. package/dist/index.es45.js +225 -0
  93. package/dist/index.es45.js.map +1 -0
  94. package/dist/index.es46.js +7 -0
  95. package/dist/index.es46.js.map +1 -0
  96. package/dist/index.es5.js +1 -1
  97. package/dist/index.es6.js +1 -1
  98. package/dist/index.es7.js +1 -1
  99. package/dist/index.es8.js +1 -1
  100. package/dist/index.es9.js.map +1 -1
  101. package/dist/styles.css +35 -2
  102. package/package.json +18 -4
  103. package/dist/utils/unique.d.ts +0 -2
  104. package/dist/utils/unique.d.ts.map +0 -1
@@ -1,22 +1,55 @@
1
- import m, { forwardRef as c } from "react";
2
- import { typeVariants as f } from "./index.es40.js";
3
- const e = c(
4
- ({ level: a, as: n, className: t = "", children: r, ...o }, i) => {
5
- const s = n || `h${a}`, d = f({ variant: `h${a}` });
6
- return /* @__PURE__ */ m.createElement(
7
- s,
1
+ import i from "./index.es24.js";
2
+ import p from "./index.es26.js";
3
+ import e from "react";
4
+ import r from "./index.es27.js";
5
+ import { getAdapter as d } from "./index.es9.js";
6
+ const g = [
7
+ "/partners/rostelekom.svg",
8
+ "/partners/mts.svg",
9
+ "/partners/uralsib.svg",
10
+ "/partners/sberbank.svg",
11
+ "/partners/rosbank.svg",
12
+ "/partners/pochtabank.svg",
13
+ "/partners/vtb.svg",
14
+ "/partners/alfa.svg",
15
+ "/partners/otkrytie.svg"
16
+ // "МТС",
17
+ // "Уралсиб",
18
+ // "Сбербанк",
19
+ // "Росбанк",
20
+ // "Почта Банк",
21
+ // "ВТБ",
22
+ // "РосБанк",
23
+ // "Открытие",
24
+ ], v = ({
25
+ variant: a,
26
+ withoutTopPadding: s,
27
+ withoutBottomPadding: n,
28
+ withTopMargin: l,
29
+ withBottomMargin: o
30
+ }) => {
31
+ const c = d("ImageWrapper");
32
+ return /* @__PURE__ */ e.createElement(
33
+ i,
34
+ {
35
+ title: "",
36
+ variant: a,
37
+ withoutTopPadding: s,
38
+ withoutBottomPadding: n,
39
+ withTopMargin: l,
40
+ withBottomMargin: o
41
+ },
42
+ /* @__PURE__ */ e.createElement("div", { className: "grid grid-cols-2 auto-rows-[222px] sm:grid-cols-3 lg:grid-cols-6 gap-3 mt-4" }, /* @__PURE__ */ e.createElement("div", { className: "p-6 bg-whitish rounded-lg col-span-3 row-start-1 row-end-3 flex flex-col justify-between" }, /* @__PURE__ */ e.createElement(p, { level: 2 }, "Более 500", " ", /* @__PURE__ */ e.createElement("span", { className: "text-navy-opacity-40" }, "компаний работают с нами")), /* @__PURE__ */ e.createElement(r, { variant: "body", className: "w-[87.5%]" }, "Среди наших клиентов — крупнейшие холдинги, государственные учреждения, финансовые и производственные компании, а также более 50 000 представителей малого и среднего бизнеса.")), g.map((t, m) => /* @__PURE__ */ e.createElement(
43
+ "div",
8
44
  {
9
- ref: i,
10
- className: `${d}${t ? ` ${t}` : ""}`,
11
- ...o
45
+ key: m,
46
+ className: "rounded-lg border border-navy-opacity-16 flex align-middle justify-center"
12
47
  },
13
- r
14
- );
15
- }
16
- );
17
- e.displayName = "Heading";
18
- const g = e;
48
+ /* @__PURE__ */ e.createElement(c, { src: t, width: 160, height: 64, alt: t })
49
+ )), /* @__PURE__ */ e.createElement("div", { className: "bg-whitish rounded-lg flex items-center justify-center" }, /* @__PURE__ */ e.createElement(r, { variant: "body", className: "text-navy-opacity-40" }, "500+")))
50
+ );
51
+ }, x = v;
19
52
  export {
20
- g as default
53
+ x as default
21
54
  };
22
55
  //# sourceMappingURL=index.es23.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es23.js","sources":["../src/components/core/typography/Heading.tsx"],"sourcesContent":["import React, { ElementType, ReactNode, forwardRef } from \"react\";\r\n\r\nimport { typeVariants } from \"./typeVariants\";\r\n\r\ninterface HeadingProps {\r\n level: 1 | 2 | 3 | 4 | 5 | 6;\r\n as?: ElementType;\r\n className?: string;\r\n children: ReactNode;\r\n}\r\n\r\nconst Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\r\n ({ level, as, className = \"\", children, ...props }, ref) => {\r\n const Component = as || `h${level}`;\r\n const variantClass = typeVariants({ variant: `h${level}` });\r\n\r\n return (\r\n <Component\r\n ref={ref}\r\n className={`${variantClass}${className ? ` ${className}` : \"\"}`}\r\n {...props}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n }\r\n);\r\n\r\nHeading.displayName = \"Heading\";\r\n\r\nexport default Heading;\r\n"],"names":["Heading","forwardRef","level","as","className","children","props","ref","Component","variantClass","typeVariants","React","Heading$1"],"mappings":";;AAWA,MAAMA,IAAUC;AAAA,EACd,CAAC,EAAE,OAAAC,GAAO,IAAAC,GAAI,WAAAC,IAAY,IAAI,UAAAC,GAAU,GAAGC,EAAM,GAAGC,MAAQ;AACpD,UAAAC,IAAYL,KAAM,IAAID,CAAK,IAC3BO,IAAeC,EAAa,EAAE,SAAS,IAAIR,CAAK,IAAI;AAGxD,WAAAS,gBAAAA,EAAA;AAAA,MAACH;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,WAAW,GAAGE,CAAY,GAAGL,IAAY,IAAIA,CAAS,KAAK,EAAE;AAAA,QAC5D,GAAGE;AAAA,MAAA;AAAA,MAEHD;AAAA,IAAA;AAAA,EAGP;AACF;AAEAL,EAAQ,cAAc;AAEtB,MAAAY,IAAeZ;"}
1
+ {"version":3,"file":"index.es23.js","sources":["../src/sections/Partners.tsx"],"sourcesContent":["import Section, { SectionProps } from './Section'\r\n\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '@/components/core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst partners = [\r\n '/partners/rostelekom.svg',\r\n '/partners/mts.svg',\r\n '/partners/uralsib.svg',\r\n '/partners/sberbank.svg',\r\n '/partners/rosbank.svg',\r\n '/partners/pochtabank.svg',\r\n '/partners/vtb.svg',\r\n '/partners/alfa.svg',\r\n '/partners/otkrytie.svg',\r\n // \"МТС\",\r\n // \"Уралсиб\",\r\n // \"Сбербанк\",\r\n // \"Росбанк\",\r\n // \"Почта Банк\",\r\n // \"ВТБ\",\r\n // \"РосБанк\",\r\n // \"Открытие\",\r\n]\r\n\r\nexport interface PartnersProps {\r\n variant?: SectionProps['variant']\r\n withoutTopPadding?: boolean\r\n withoutBottomPadding?: boolean\r\n withTopMargin?: boolean\r\n withBottomMargin?: boolean\r\n}\r\n\r\nconst Partners: React.FC<PartnersProps> = ({\r\n variant,\r\n withoutTopPadding,\r\n withoutBottomPadding,\r\n withTopMargin,\r\n withBottomMargin,\r\n}) => {\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n return (\r\n <Section\r\n title=\"\"\r\n variant={variant}\r\n withoutTopPadding={withoutTopPadding}\r\n withoutBottomPadding={withoutBottomPadding}\r\n withTopMargin={withTopMargin}\r\n withBottomMargin={withBottomMargin}\r\n >\r\n <div className=\"grid grid-cols-2 auto-rows-[222px] sm:grid-cols-3 lg:grid-cols-6 gap-3 mt-4\">\r\n <div className=\"p-6 bg-whitish rounded-lg col-span-3 row-start-1 row-end-3 flex flex-col justify-between\">\r\n <Heading level={2}>\r\n Более 500{' '}\r\n <span className=\"text-navy-opacity-40\">\r\n компаний работают с нами\r\n </span>\r\n </Heading>\r\n\r\n <Text variant=\"body\" className=\"w-[87.5%]\">\r\n Среди наших клиентов — крупнейшие холдинги, государственные\r\n учреждения, финансовые и производственные компании, а также более 50\r\n 000 представителей малого и среднего бизнеса.\r\n </Text>\r\n </div>\r\n {partners.map((partner, index) => (\r\n <div\r\n key={index}\r\n className=\"rounded-lg border border-navy-opacity-16 flex align-middle justify-center\"\r\n >\r\n <ImageWrapper src={partner} width={160} height={64} alt={partner} />\r\n </div>\r\n ))}\r\n <div className=\"bg-whitish rounded-lg flex items-center justify-center\">\r\n <Text variant=\"body\" className=\"text-navy-opacity-40\">\r\n 500+\r\n </Text>\r\n </div>\r\n </div>\r\n </Section>\r\n )\r\n}\r\n\r\nexport default Partners\r\n"],"names":["partners","Partners","variant","withoutTopPadding","withoutBottomPadding","withTopMargin","withBottomMargin","ImageWrapper","getAdapter","React","Section","Heading","Text","partner","index","Partners$1"],"mappings":";;;;;AAOA,MAAMA,IAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AASF,GAUMC,IAAoC,CAAC;AAAA,EACzC,SAAAC;AAAA,EACA,mBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,kBAAAC;AACF,MAAM;AACE,QAAAC,IAAeC,EAAW,cAAc;AAG5C,SAAAC,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAM;AAAA,MACN,SAAAR;AAAA,MACA,mBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,eAAAC;AAAA,MACA,kBAAAC;AAAA,IAAA;AAAA,IAECG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,8EAAA,mCACZ,OAAI,EAAA,WAAU,8FACbA,gBAAAA,EAAA,cAACE,KAAQ,OAAO,KAAG,aACP,qCACT,QAAK,EAAA,WAAU,uBAAuB,GAAA,0BAEvC,CACF,GAECF,gBAAAA,EAAA,cAAAG,GAAA,EAAK,SAAQ,QAAO,WAAU,YAAY,GAAA,gLAI3C,CACF,GACCZ,EAAS,IAAI,CAACa,GAASC,MACtBL,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,KAAKK;AAAA,QACL,WAAU;AAAA,MAAA;AAAA,MAEVL,gBAAAA,EAAA,cAACF,KAAa,KAAKM,GAAS,OAAO,KAAK,QAAQ,IAAI,KAAKA,EAAS,CAAA;AAAA,IAAA,CAErE,GACAJ,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,yDACb,GAAAA,gBAAAA,EAAA,cAACG,GAAK,EAAA,SAAQ,QAAO,WAAU,uBAAuB,GAAA,MAEtD,CACF,CACF;AAAA,EAAA;AAGN,GAEAG,IAAed;"}
@@ -1,22 +1,60 @@
1
- import c, { forwardRef as f } from "react";
2
- import { typeVariants as d } from "./index.es40.js";
3
- const e = f(
4
- ({ variant: a = "body", as: o, className: t = "", children: r, ...n }, s) => {
5
- const m = o || "p", p = d({ variant: a });
6
- return /* @__PURE__ */ c.createElement(
7
- m,
8
- {
9
- ref: s,
10
- className: `${p}${t ? ` ${t}` : ""}`,
11
- ...n
12
- },
13
- r
14
- );
1
+ import e from "react";
2
+ import { cva as u } from "class-variance-authority";
3
+ import { cn as y } from "./index.es29.js";
4
+ import v from "./index.es26.js";
5
+ import E from "./index.es27.js";
6
+ import N from "./index.es4.js";
7
+ const b = u("space-y-12", {
8
+ variants: {
9
+ variant: {
10
+ default: "py-[120px]",
11
+ muted: "bg-grey-2 py-[88px] px-6"
12
+ },
13
+ corners: {
14
+ default: "rounded-2xl",
15
+ onlyTop: "rounded-t-2xl",
16
+ onlyBottom: "rounded-b-2xl"
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ variant: "default",
21
+ corners: "default"
15
22
  }
16
- );
17
- e.displayName = "Text";
18
- const x = e;
23
+ }), g = ({
24
+ title: t,
25
+ desc: a,
26
+ children: n,
27
+ moreLink: r,
28
+ moreText: l = "Подробнее",
29
+ withTopMargin: o = !1,
30
+ withBottomMargin: s = !1,
31
+ withoutTopPadding: c = !1,
32
+ withoutBottomPadding: m = !1,
33
+ variant: i,
34
+ corners: f,
35
+ className: p
36
+ }) => {
37
+ const d = [
38
+ "container",
39
+ o && "mt-6",
40
+ s && "mb-6"
41
+ ].filter(Boolean).map((x) => x).join(" ").trim();
42
+ return /* @__PURE__ */ e.createElement("section", { className: d }, /* @__PURE__ */ e.createElement(
43
+ "div",
44
+ {
45
+ className: y(
46
+ b({ variant: i, corners: f }),
47
+ c && "pt-0",
48
+ m && "pb-0",
49
+ p
50
+ )
51
+ },
52
+ t && /* @__PURE__ */ e.createElement("div", { className: "space-y-4 flex flex-col items-center" }, /* @__PURE__ */ e.createElement(v, { level: 2, className: "text-center max-w-[900px]" }, t), a && /* @__PURE__ */ e.createElement(E, { className: "text-center max-w-6xl" }, a)),
53
+ n,
54
+ r && /* @__PURE__ */ e.createElement("div", { className: "flex justify-center" }, /* @__PURE__ */ e.createElement(N, { href: r }, l))
55
+ ));
56
+ }, _ = g;
19
57
  export {
20
- x as default
58
+ _ as default
21
59
  };
22
60
  //# sourceMappingURL=index.es24.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es24.js","sources":["../src/components/core/typography/Text.tsx"],"sourcesContent":["import React, { ElementType, ReactNode, forwardRef } from \"react\";\r\n\r\nimport { typeVariants } from \"./typeVariants\";\r\n\r\ninterface TextProps {\r\n variant?:\r\n | \"factoid\"\r\n | \"subtitle-1\"\r\n | \"subtitle-2\"\r\n | \"overline\"\r\n | \"lead-text\"\r\n | \"body\"\r\n | \"small-body\"\r\n | \"caption\"\r\n | \"button\"\r\n | \"link\";\r\n as?: ElementType;\r\n className?: string;\r\n children: ReactNode;\r\n}\r\n\r\nconst Text = forwardRef<HTMLParagraphElement, TextProps>(\r\n ({ variant = \"body\", as, className = \"\", children, ...props }, ref) => {\r\n const Component = as || \"p\";\r\n const variantClass = typeVariants({ variant });\r\n\r\n return (\r\n <Component\r\n ref={ref}\r\n className={`${variantClass}${className ? ` ${className}` : \"\"}`}\r\n {...props}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n }\r\n);\r\n\r\nText.displayName = \"Text\";\r\n\r\nexport default Text;\r\n"],"names":["Text","forwardRef","variant","as","className","children","props","ref","Component","variantClass","typeVariants","React","Text$1"],"mappings":";;AAqBA,MAAMA,IAAOC;AAAA,EACX,CAAC,EAAE,SAAAC,IAAU,QAAQ,IAAAC,GAAI,WAAAC,IAAY,IAAI,UAAAC,GAAU,GAAGC,EAAM,GAAGC,MAAQ;AACrE,UAAMC,IAAYL,KAAM,KAClBM,IAAeC,EAAa,EAAE,SAAAR,EAAS,CAAA;AAG3C,WAAAS,gBAAAA,EAAA;AAAA,MAACH;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,WAAW,GAAGE,CAAY,GAAGL,IAAY,IAAIA,CAAS,KAAK,EAAE;AAAA,QAC5D,GAAGE;AAAA,MAAA;AAAA,MAEHD;AAAA,IAAA;AAAA,EAGP;AACF;AAEAL,EAAK,cAAc;AAEnB,MAAAY,IAAeZ;"}
1
+ {"version":3,"file":"index.es24.js","sources":["../src/sections/Section.tsx"],"sourcesContent":["import React from 'react'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport Text from '@/components/core/typography/Text'\r\nimport ButtonPrimary from '@/components/ui/button/ButtonPrimary'\r\n\r\nconst sectionVariants = cva('space-y-12', {\r\n variants: {\r\n variant: {\r\n default: 'py-[120px]',\r\n muted: 'bg-grey-2 py-[88px] px-6',\r\n },\r\n corners: {\r\n default: 'rounded-2xl',\r\n onlyTop: 'rounded-t-2xl',\r\n onlyBottom: 'rounded-b-2xl',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n corners: 'default',\r\n },\r\n})\r\n\r\nexport interface SectionProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof sectionVariants> {\r\n title: string\r\n desc?: string\r\n children?: React.ReactNode\r\n moreLink?: string\r\n moreText?: string\r\n withTopMargin?: boolean\r\n withBottomMargin?: boolean\r\n withoutTopPadding?: boolean\r\n withoutBottomPadding?: boolean\r\n className?: string\r\n}\r\n\r\nconst Section: React.FC<SectionProps> = ({\r\n title,\r\n desc,\r\n children,\r\n moreLink,\r\n moreText = 'Подробнее',\r\n withTopMargin = false,\r\n withBottomMargin = false,\r\n withoutTopPadding = false,\r\n withoutBottomPadding = false,\r\n variant,\r\n corners,\r\n className,\r\n}) => {\r\n const sectionClasses = [\r\n 'container',\r\n withTopMargin && 'mt-6',\r\n withBottomMargin && 'mb-6',\r\n ]\r\n .filter(Boolean)\r\n .map((item) => item)\r\n .join(' ')\r\n .trim()\r\n\r\n return (\r\n <section className={sectionClasses}>\r\n <div\r\n className={cn(\r\n sectionVariants({ variant, corners }),\r\n withoutTopPadding && 'pt-0',\r\n withoutBottomPadding && 'pb-0',\r\n className\r\n )}\r\n >\r\n {title && (\r\n <div className=\"space-y-4 flex flex-col items-center\">\r\n <Heading level={2} className=\"text-center max-w-[900px]\">\r\n {title}\r\n </Heading>\r\n {desc && <Text className=\"text-center max-w-6xl\">{desc}</Text>}\r\n </div>\r\n )}\r\n {children}\r\n {moreLink && (\r\n <div className=\"flex justify-center\">\r\n <ButtonPrimary href={moreLink}>{moreText}</ButtonPrimary>\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default Section\r\n"],"names":["sectionVariants","cva","Section","title","desc","children","moreLink","moreText","withTopMargin","withBottomMargin","withoutTopPadding","withoutBottomPadding","variant","corners","className","sectionClasses","item","React","cn","Heading","Text","ButtonPrimary","Section$1"],"mappings":";;;;;;AAOA,MAAMA,IAAkBC,EAAI,cAAc;AAAA,EACxC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,YAAY;AAAA,IACd;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,IACT,SAAS;AAAA,EACX;AACF,CAAC,GAiBKC,IAAkC,CAAC;AAAA,EACvC,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,eAAAC,IAAgB;AAAA,EAChB,kBAAAC,IAAmB;AAAA,EACnB,mBAAAC,IAAoB;AAAA,EACpB,sBAAAC,IAAuB;AAAA,EACvB,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AACF,MAAM;AACJ,QAAMC,IAAiB;AAAA,IACrB;AAAA,IACAP,KAAiB;AAAA,IACjBC,KAAoB;AAAA,EAEnB,EAAA,OAAO,OAAO,EACd,IAAI,CAACO,MAASA,CAAI,EAClB,KAAK,GAAG,EACR,KAAK;AAGN,SAAAC,gBAAAA,EAAA,cAAC,WAAQ,EAAA,WAAWF,EAClB,GAAAE,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACTlB,EAAgB,EAAE,SAAAY,GAAS,SAAAC,GAAS;AAAA,QACpCH,KAAqB;AAAA,QACrBC,KAAwB;AAAA,QACxBG;AAAA,MACF;AAAA,IAAA;AAAA,IAECX,KACEc,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,uCACb,GAAAA,gBAAAA,EAAA,cAACE,KAAQ,OAAO,GAAG,WAAU,4BAC1B,GAAAhB,CACH,GACCC,KAAQa,gBAAAA,EAAA,cAACG,KAAK,WAAU,wBAAA,GAAyBhB,CAAK,CACzD;AAAA,IAEDC;AAAA,IACAC,KACEW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,sBAAA,mCACZI,GAAc,EAAA,MAAMf,EAAW,GAAAC,CAAS,CAC3C;AAAA,EAAA,CAGN;AAEJ,GAEAe,IAAepB;"}
@@ -1,9 +1,62 @@
1
- import { clsx as o } from "clsx";
2
- import { twMerge as t } from "tailwind-merge";
3
- function n(...r) {
4
- return t(o(r));
5
- }
1
+ import A from "./index.es24.js";
2
+ import e from "./index.es35.js";
3
+ import E from "./index.es36.js";
4
+ import G from "./index.es37.js";
5
+ import R from "./index.es38.js";
6
+ import S from "./index.es39.js";
7
+ import I from "./index.es40.js";
8
+ import _ from "./index.es41.js";
9
+ import t from "react";
10
+ const k = {
11
+ Advantage: e,
12
+ Advantage2: E,
13
+ Rate: _,
14
+ Product: I,
15
+ FeaturedCard: G,
16
+ Plate: S
17
+ }, x = ({
18
+ title: r,
19
+ desc: o,
20
+ items: a,
21
+ component: m = "Advantage",
22
+ withoutTopPadding: n = !1,
23
+ withTopMargin: d = !1,
24
+ withBottomMargin: f = !1,
25
+ withoutBottomPadding: i = !1,
26
+ variant: c,
27
+ corners: p,
28
+ columns: l,
29
+ showControlsOnDesktop: s,
30
+ withoutCarousel: C,
31
+ footnote: u
32
+ }) => {
33
+ const P = k[m] || e;
34
+ return /* @__PURE__ */ t.createElement(
35
+ A,
36
+ {
37
+ title: r,
38
+ desc: o,
39
+ variant: c,
40
+ corners: p,
41
+ withoutTopPadding: n,
42
+ withTopMargin: d,
43
+ withBottomMargin: f,
44
+ withoutBottomPadding: i
45
+ },
46
+ /* @__PURE__ */ t.createElement(
47
+ R,
48
+ {
49
+ items: a,
50
+ columns: l,
51
+ showControlsOnDesktop: s,
52
+ withoutCarousel: C,
53
+ renderItem: (g, v) => /* @__PURE__ */ t.createElement(P, { key: v, ...g }),
54
+ footnote: u
55
+ }
56
+ )
57
+ );
58
+ }, z = x;
6
59
  export {
7
- n as cn
60
+ z as default
8
61
  };
9
62
  //# sourceMappingURL=index.es25.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es25.js","sources":["../src/lib/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx'\r\nimport { twMerge } from 'tailwind-merge'\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}\r\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":";;AAGO,SAASA,KAAMC,GAAsB;AACnC,SAAAC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;"}
1
+ {"version":3,"file":"index.es25.js","sources":["../src/sections/CardsGridSection.tsx"],"sourcesContent":["import Section, { SectionProps } from './Section'\r\n\r\nimport Advantage from '@/components/cards/Advantage'\r\nimport Advantage2 from '@/components/cards/Advantage2'\r\nimport FeaturedCard from '@/components/cards/FeaturedCard'\r\nimport GridIterator from '@/components/GridIterator'\r\nimport Plate from '@/components/cards/Plate'\r\nimport Product from '@/components/cards/Product'\r\nimport Rate from '@/components/cards/Rate'\r\nimport React from 'react'\r\n\r\n// Map component names to actual components\r\nconst componentMap: { [key: string]: React.ElementType } = {\r\n Advantage,\r\n Advantage2,\r\n Rate,\r\n Product,\r\n FeaturedCard,\r\n Plate,\r\n}\r\n\r\ninterface CardsGridSectionProps<T> {\r\n title: string\r\n desc?: string\r\n items: T[]\r\n component?: string\r\n withoutTopPadding?: boolean\r\n withoutBottomPadding?: boolean\r\n withTopMargin?: boolean\r\n withBottomMargin?: boolean\r\n variant?: SectionProps['variant']\r\n corners?: SectionProps['corners']\r\n columns?: number\r\n showControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n}\r\n\r\nconst CardsGridSection = <T,>({\r\n title,\r\n desc,\r\n items,\r\n component = 'Advantage',\r\n withoutTopPadding = false,\r\n withTopMargin = false,\r\n withBottomMargin = false,\r\n withoutBottomPadding = false,\r\n variant,\r\n corners,\r\n columns,\r\n showControlsOnDesktop,\r\n withoutCarousel,\r\n footnote,\r\n}: CardsGridSectionProps<T>) => {\r\n const Component = componentMap[component] || Advantage\r\n\r\n return (\r\n <Section\r\n title={title}\r\n desc={desc}\r\n variant={variant}\r\n corners={corners}\r\n withoutTopPadding={withoutTopPadding}\r\n withTopMargin={withTopMargin}\r\n withBottomMargin={withBottomMargin}\r\n withoutBottomPadding={withoutBottomPadding}\r\n >\r\n <GridIterator\r\n items={items}\r\n columns={columns}\r\n showControlsOnDesktop={showControlsOnDesktop}\r\n withoutCarousel={withoutCarousel}\r\n renderItem={(item, index) => <Component key={index} {...item} />}\r\n footnote={footnote}\r\n />\r\n </Section>\r\n )\r\n}\r\n\r\nexport default CardsGridSection\r\n"],"names":["componentMap","Advantage","Advantage2","Rate","Product","FeaturedCard","Plate","CardsGridSection","title","desc","items","component","withoutTopPadding","withTopMargin","withBottomMargin","withoutBottomPadding","variant","corners","columns","showControlsOnDesktop","withoutCarousel","footnote","Component","React","Section","GridIterator","item","index","CardsGridSection$1"],"mappings":";;;;;;;;;AAYA,MAAMA,IAAqD;AAAA,EACzD,WAAAC;AAAA,EACA,YAAAC;AAAA,EAAA,MACAC;AAAAA,EAAA,SACAC;AAAAA,EACA,cAAAC;AAAA,EAAA,OACAC;AACF,GAmBMC,IAAmB,CAAK;AAAA,EAC5B,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,mBAAAC,IAAoB;AAAA,EACpB,eAAAC,IAAgB;AAAA,EAChB,kBAAAC,IAAmB;AAAA,EACnB,sBAAAC,IAAuB;AAAA,EACvB,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,SAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,UAAAC;AACF,MAAgC;AACxB,QAAAC,IAAYtB,EAAaW,CAAS,KAAKV;AAG3C,SAAAsB,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,OAAAhB;AAAA,MACA,MAAAC;AAAA,MACA,SAAAO;AAAA,MACA,SAAAC;AAAA,MACA,mBAAAL;AAAA,MACA,eAAAC;AAAA,MACA,kBAAAC;AAAA,MACA,sBAAAC;AAAA,IAAA;AAAA,IAEAQ,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,OAAAf;AAAA,QACA,SAAAQ;AAAA,QACA,uBAAAC;AAAA,QACA,iBAAAC;AAAA,QACA,YAAY,CAACM,GAAMC,sCAAWL,GAAU,EAAA,KAAKK,GAAQ,GAAGD,EAAM,CAAA;AAAA,QAC9D,UAAAL;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAGN,GAEAO,IAAerB;"}
@@ -1,25 +1,23 @@
1
- import { ArrowSliderPrev16X16 as s, ArrowSliderNext16X16 as m, MoreLink16X16 as l, LessLink16X16 as u } from "@iit/precision-ui-icons";
2
- import { ThumbsUp as f, ThumbsDown as p } from "lucide-react";
3
- import o from "react";
4
- const i = "1em", a = (e) => Object.keys(e).reduce((r, t) => (r[t] = ({
5
- width: n = i,
6
- height: c = i
7
- }) => o.createElement(e[t], { width: n, height: c }), r), {}), d = {
8
- chevronLeft: s,
9
- chevronRight: m,
10
- plus: l,
11
- minus: u,
12
- like: f,
13
- dislike: p
14
- }, h = a(d), I = (e, r, t) => {
15
- if (e) {
16
- const n = h[e];
17
- if (n)
18
- return n({ width: r, height: t });
1
+ import c, { forwardRef as f } from "react";
2
+ import { typeVariants as p } from "./index.es42.js";
3
+ const e = f(
4
+ ({ level: a, as: n, className: t = "", children: r, id: o, ...i }, s) => {
5
+ const d = n || `h${a}`, m = p({ variant: `h${a}` });
6
+ return /* @__PURE__ */ c.createElement(
7
+ d,
8
+ {
9
+ ref: s,
10
+ id: o,
11
+ className: `${m}${t ? ` ${t}` : ""}`,
12
+ ...i
13
+ },
14
+ r
15
+ );
19
16
  }
20
- return /* @__PURE__ */ o.createElement(o.Fragment, null);
21
- };
17
+ );
18
+ e.displayName = "Heading";
19
+ const l = e;
22
20
  export {
23
- I as iconDefiner
21
+ l as default
24
22
  };
25
23
  //# sourceMappingURL=index.es26.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es26.js","sources":["../src/components/ui/icon.tsx"],"sourcesContent":["import {\r\n ArrowSliderNext16X16,\r\n ArrowSliderPrev16X16,\r\n LessLink16X16,\r\n MoreLink16X16,\r\n} from '@iit/precision-ui-icons'\r\nimport { ThumbsDown, ThumbsUp } from 'lucide-react'\r\n\r\nimport React from 'react'\r\n\r\nconst DEFAULT_ICON_SIZE = '1em'\r\n\r\nexport type IconName =\r\n | 'chevronLeft'\r\n | 'chevronRight'\r\n | 'plus'\r\n | 'minus'\r\n | 'like'\r\n | 'dislike'\r\n\r\n// TODO: move to separate file\r\n// type IconMap = {\r\n// [key in IconName]: (props: {\r\n// width?: number | string\r\n// height?: number | string\r\n// }) => React.ReactElement\r\n// }\r\n\r\ninterface IconProps {\r\n width?: number | string\r\n height?: number | string\r\n}\r\n\r\nconst generateIconMap = (\r\n icons: Record<IconName, React.ComponentType<React.SVGProps<SVGSVGElement>>>\r\n) => {\r\n return Object.keys(icons).reduce<\r\n Record<IconName, (props: IconProps) => React.ReactElement>\r\n >((acc, key) => {\r\n acc[key as IconName] = ({\r\n width = DEFAULT_ICON_SIZE,\r\n height = DEFAULT_ICON_SIZE,\r\n }: IconProps) =>\r\n React.createElement(icons[key as IconName], { width, height })\r\n return acc\r\n }, {} as Record<IconName, (props: IconProps) => React.ReactElement>)\r\n}\r\n\r\nconst icons: Record<\r\n IconName,\r\n React.ComponentType<React.SVGProps<SVGSVGElement>>\r\n> = {\r\n chevronLeft: ArrowSliderPrev16X16,\r\n chevronRight: ArrowSliderNext16X16,\r\n plus: MoreLink16X16,\r\n minus: LessLink16X16,\r\n like: ThumbsUp,\r\n dislike: ThumbsDown,\r\n}\r\n\r\nconst iconMap = generateIconMap(icons)\r\nexport const iconDefiner = (\r\n icon?: IconName,\r\n width?: number | string,\r\n height?: number | string\r\n): React.ReactElement => {\r\n if (icon) {\r\n const selectedIcon = iconMap[icon]\r\n if (selectedIcon) {\r\n return selectedIcon({ width, height })\r\n }\r\n }\r\n return <></>\r\n}\r\n"],"names":["DEFAULT_ICON_SIZE","generateIconMap","icons","acc","key","width","height","React","ArrowSliderPrev16X16","ArrowSliderNext16X16","MoreLink16X16","LessLink16X16","ThumbsUp","ThumbsDown","iconMap","iconDefiner","icon","selectedIcon"],"mappings":";;;AAUA,MAAMA,IAAoB,OAuBpBC,IAAkB,CACtBC,MAEO,OAAO,KAAKA,CAAK,EAAE,OAExB,CAACC,GAAKC,OACFD,EAAAC,CAAe,IAAI,CAAC;AAAA,EACtB,OAAAC,IAAQL;AAAA,EACR,QAAAM,IAASN;AAAA,MAETO,EAAM,cAAcL,EAAME,CAAe,GAAG,EAAE,OAAAC,GAAO,QAAAC,EAAA,CAAQ,GACxDH,IACN,CAAgE,CAAA,GAG/DD,IAGF;AAAA,EACF,aAAaM;AAAA,EACb,cAAcC;AAAA,EACd,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,MAAMC;AAAA,EACN,SAASC;AACX,GAEMC,IAAUb,EAAgBC,CAAK,GACxBa,IAAc,CACzBC,GACAX,GACAC,MACuB;AACvB,MAAIU,GAAM;AACF,UAAAC,IAAeH,EAAQE,CAAI;AACjC,QAAIC;AACF,aAAOA,EAAa,EAAE,OAAAZ,GAAO,QAAAC,EAAQ,CAAA;AAAA,EAEzC;AACA,SAASC,gBAAAA,EAAA,cAAAA,EAAA,UAAA,IAAA;AACX;"}
1
+ {"version":3,"file":"index.es26.js","sources":["../src/components/core/typography/Heading.tsx"],"sourcesContent":["import React, { ElementType, ReactNode, forwardRef } from \"react\";\r\n\r\nimport { typeVariants } from \"./typeVariants\";\r\n\r\ninterface HeadingProps {\r\n level: 1 | 2 | 3 | 4 | 5 | 6;\r\n as?: ElementType;\r\n className?: string;\r\n children: ReactNode;\r\n id?: string;\r\n}\r\n\r\nconst Heading = forwardRef<HTMLHeadingElement, HeadingProps>(\r\n ({ level, as, className = \"\", children, id, ...props }, ref) => {\r\n const Component = as || `h${level}`;\r\n const variantClass = typeVariants({ variant: `h${level}` });\r\n\r\n return (\r\n <Component\r\n ref={ref}\r\n id={id}\r\n className={`${variantClass}${className ? ` ${className}` : \"\"}`}\r\n {...props}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n }\r\n);\r\n\r\nHeading.displayName = \"Heading\";\r\n\r\nexport default Heading;\r\n"],"names":["Heading","forwardRef","level","as","className","children","id","props","ref","Component","variantClass","typeVariants","React","Heading$1"],"mappings":";;AAYA,MAAMA,IAAUC;AAAA,EACd,CAAC,EAAE,OAAAC,GAAO,IAAAC,GAAI,WAAAC,IAAY,IAAI,UAAAC,GAAU,IAAAC,GAAI,GAAGC,EAAM,GAAGC,MAAQ;AACxD,UAAAC,IAAYN,KAAM,IAAID,CAAK,IAC3BQ,IAAeC,EAAa,EAAE,SAAS,IAAIT,CAAK,IAAI;AAGxD,WAAAU,gBAAAA,EAAA;AAAA,MAACH;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,IAAAF;AAAA,QACA,WAAW,GAAGI,CAAY,GAAGN,IAAY,IAAIA,CAAS,KAAK,EAAE;AAAA,QAC5D,GAAGG;AAAA,MAAA;AAAA,MAEHF;AAAA,IAAA;AAAA,EAGP;AACF;AAEAL,EAAQ,cAAc;AAEtB,MAAAa,IAAeb;"}
@@ -1,30 +1,22 @@
1
- import * as a from "react";
2
- import * as t from "@radix-ui/react-label";
3
- import { cva as l } from "class-variance-authority";
4
- import { cn as n } from "./index.es25.js";
5
- const s = l(
6
- "typo_variant_h6 leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 duration-200",
7
- {
8
- variants: {
9
- variant: {
10
- default: "text-navy",
11
- blue: "text-whitish"
12
- }
13
- },
14
- defaultVariants: {
15
- variant: "default"
16
- }
1
+ import c, { forwardRef as f } from "react";
2
+ import { typeVariants as d } from "./index.es42.js";
3
+ const e = f(
4
+ ({ variant: a = "body", as: o, className: t = "", children: r, ...n }, s) => {
5
+ const m = o || "p", p = d({ variant: a });
6
+ return /* @__PURE__ */ c.createElement(
7
+ m,
8
+ {
9
+ ref: s,
10
+ className: `${p}${t ? ` ${t}` : ""}`,
11
+ ...n
12
+ },
13
+ r
14
+ );
17
15
  }
18
- ), d = a.forwardRef(({ className: e, variant: r, ...o }, i) => /* @__PURE__ */ a.createElement(
19
- t.Root,
20
- {
21
- ref: i,
22
- className: n(s({ variant: r }), e),
23
- ...o
24
- }
25
- ));
26
- d.displayName = t.Root.displayName;
16
+ );
17
+ e.displayName = "Text";
18
+ const x = e;
27
19
  export {
28
- d as Label
20
+ x as default
29
21
  };
30
22
  //# sourceMappingURL=index.es27.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es27.js","sources":["../src/components/ui/label.tsx"],"sourcesContent":["import * as React from 'react'\nimport * as LabelPrimitive from '@radix-ui/react-label'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '@/lib/utils/cn'\n\nconst labelVariants = cva(\n 'typo_variant_h6 leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 duration-200',\n {\n variants: {\n variant: {\n default: 'text-navy',\n blue: 'text-whitish',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n }\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, variant, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants({ variant }), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n"],"names":["labelVariants","cva","Label","React","className","variant","props","ref","LabelPrimitive","cn"],"mappings":";;;;AAMA,MAAMA,IAAgBC;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF,GAEMC,IAAQC,EAAM,WAIlB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,GAAGC,EAAM,GAAGC,MACnC,gBAAAJ,EAAA;AAAA,EAACK,EAAe;AAAA,EAAf;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAGT,EAAc,EAAE,SAAAK,EAAS,CAAA,GAAGD,CAAS;AAAA,IAClD,GAAGE;AAAA,EAAA;AACN,CACD;AACDJ,EAAM,cAAcM,EAAe,KAAK;"}
1
+ {"version":3,"file":"index.es27.js","sources":["../src/components/core/typography/Text.tsx"],"sourcesContent":["import React, { ElementType, ReactNode, forwardRef } from \"react\";\r\n\r\nimport { typeVariants } from \"./typeVariants\";\r\n\r\ninterface TextProps {\r\n variant?:\r\n | \"factoid\"\r\n | \"subtitle-1\"\r\n | \"subtitle-2\"\r\n | \"overline\"\r\n | \"lead-text\"\r\n | \"body\"\r\n | \"small-body\"\r\n | \"caption\"\r\n | \"button\"\r\n | \"link\";\r\n as?: ElementType;\r\n className?: string;\r\n children: ReactNode;\r\n}\r\n\r\nconst Text = forwardRef<HTMLParagraphElement, TextProps>(\r\n ({ variant = \"body\", as, className = \"\", children, ...props }, ref) => {\r\n const Component = as || \"p\";\r\n const variantClass = typeVariants({ variant });\r\n\r\n return (\r\n <Component\r\n ref={ref}\r\n className={`${variantClass}${className ? ` ${className}` : \"\"}`}\r\n {...props}\r\n >\r\n {children}\r\n </Component>\r\n );\r\n }\r\n);\r\n\r\nText.displayName = \"Text\";\r\n\r\nexport default Text;\r\n"],"names":["Text","forwardRef","variant","as","className","children","props","ref","Component","variantClass","typeVariants","React","Text$1"],"mappings":";;AAqBA,MAAMA,IAAOC;AAAA,EACX,CAAC,EAAE,SAAAC,IAAU,QAAQ,IAAAC,GAAI,WAAAC,IAAY,IAAI,UAAAC,GAAU,GAAGC,EAAM,GAAGC,MAAQ;AACrE,UAAMC,IAAYL,KAAM,KAClBM,IAAeC,EAAa,EAAE,SAAAR,EAAS,CAAA;AAG3C,WAAAS,gBAAAA,EAAA;AAAA,MAACH;AAAA,MAAA;AAAA,QACC,KAAAD;AAAA,QACA,WAAW,GAAGE,CAAY,GAAGL,IAAY,IAAIA,CAAS,KAAK,EAAE;AAAA,QAC5D,GAAGE;AAAA,MAAA;AAAA,MAEHD;AAAA,IAAA;AAAA,EAGP;AACF;AAEAL,EAAK,cAAc;AAEnB,MAAAY,IAAeZ;"}
@@ -1,5 +1,91 @@
1
- const t = () => "_" + Math.random().toString(36).substr(2, 9);
1
+ import * as e from "react";
2
+ import { FormProvider as f, useFormContext as l } from "react-hook-form";
3
+ import { Label as F } from "./index.es15.js";
4
+ import { Slot as u } from "@radix-ui/react-slot";
5
+ import { cn as a } from "./index.es29.js";
6
+ const E = f, p = e.createContext(
7
+ {}
8
+ ), i = () => {
9
+ const t = e.useContext(p), o = e.useContext(c), { getFieldState: r, formState: m } = l(), s = r(t.name, m);
10
+ if (!t)
11
+ throw new Error("useFormField should be used within <FormField>");
12
+ const { id: n } = o;
13
+ return {
14
+ id: n,
15
+ name: t.name,
16
+ formItemId: `${n}-form-item`,
17
+ formDescriptionId: `${n}-form-item-description`,
18
+ formMessageId: `${n}-form-item-message`,
19
+ ...s
20
+ };
21
+ }, c = e.createContext(
22
+ {}
23
+ ), I = e.forwardRef(({ className: t, ...o }, r) => {
24
+ const m = e.useId();
25
+ return /* @__PURE__ */ e.createElement(c.Provider, { value: { id: m } }, /* @__PURE__ */ e.createElement("div", { ref: r, className: a("space-y-2", t), ...o }));
26
+ });
27
+ I.displayName = "FormItem";
28
+ const x = e.forwardRef(({ className: t, ...o }, r) => {
29
+ const { error: m, formItemId: s } = i();
30
+ return /* @__PURE__ */ e.createElement(
31
+ F,
32
+ {
33
+ ref: r,
34
+ className: a(m && "text-destructive", t),
35
+ htmlFor: s,
36
+ ...o
37
+ }
38
+ );
39
+ });
40
+ x.displayName = "FormLabel";
41
+ const C = e.forwardRef(({ ...t }, o) => {
42
+ const { error: r, formItemId: m, formDescriptionId: s, formMessageId: n } = i();
43
+ return /* @__PURE__ */ e.createElement(
44
+ u,
45
+ {
46
+ ref: o,
47
+ id: m,
48
+ "aria-describedby": r ? `${s} ${n}` : `${s}`,
49
+ "aria-invalid": !!r,
50
+ ...t
51
+ }
52
+ );
53
+ });
54
+ C.displayName = "FormControl";
55
+ const g = e.forwardRef(({ className: t, ...o }, r) => {
56
+ const { formDescriptionId: m } = i();
57
+ return /* @__PURE__ */ e.createElement(
58
+ "p",
59
+ {
60
+ ref: r,
61
+ id: m,
62
+ className: a("text-sm text-muted-foreground", t),
63
+ ...o
64
+ }
65
+ );
66
+ });
67
+ g.displayName = "FormDescription";
68
+ const N = e.forwardRef(({ className: t, children: o, ...r }, m) => {
69
+ const { error: s, formMessageId: n } = i(), d = s ? String(s?.message) : o;
70
+ return d ? /* @__PURE__ */ e.createElement(
71
+ "p",
72
+ {
73
+ ref: m,
74
+ id: n,
75
+ className: a("text-sm font-medium text-destructive", t),
76
+ ...r
77
+ },
78
+ d
79
+ ) : null;
80
+ });
81
+ N.displayName = "FormMessage";
2
82
  export {
3
- t as uniqueId
83
+ E as Form,
84
+ C as FormControl,
85
+ g as FormDescription,
86
+ I as FormItem,
87
+ x as FormLabel,
88
+ N as FormMessage,
89
+ i as useFormField
4
90
  };
5
91
  //# sourceMappingURL=index.es28.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es28.js","sources":["../src/utils/unique.ts"],"sourcesContent":["export const uniqueId = () => '_' + Math.random().toString(36).substr(2, 9)\r\n"],"names":["uniqueId"],"mappings":"AAAa,MAAAA,IAAW,MAAM,MAAM,KAAK,OAAA,EAAS,SAAS,EAAE,EAAE,OAAO,GAAG,CAAC;"}
1
+ {"version":3,"file":"index.es28.js","sources":["../src/components/ui/form.tsx"],"sourcesContent":["import * as LabelPrimitive from '@radix-ui/react-label'\nimport * as React from 'react'\n\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from 'react-hook-form'\n\nimport { Label } from '@/components/ui/label'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cn } from '@/lib/utils/cn'\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>')\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn('space-y-2', className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = 'FormItem'\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && 'text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = 'FormLabel'\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = 'FormControl'\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn('text-sm text-muted-foreground', className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = 'FormDescription'\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn('text-sm font-medium text-destructive', className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = 'FormMessage'\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n"],"names":["Form","FormProvider","FormFieldContext","React","useFormField","fieldContext","itemContext","FormItemContext","getFieldState","formState","useFormContext","fieldState","id","FormItem","className","props","ref","cn","FormLabel","error","formItemId","Label","FormControl","formDescriptionId","formMessageId","Slot","FormDescription","FormMessage","children","body"],"mappings":"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"}
@@ -1,23 +1,9 @@
1
- import * as t from "@radix-ui/react-popover";
2
- import * as e from "react";
3
- import { cn as i } from "./index.es25.js";
4
- const p = t.Root, l = t.Trigger, s = e.forwardRef(({ className: o, align: a = "center", sideOffset: r = 4, ...d }, n) => /* @__PURE__ */ e.createElement(t.Portal, null, /* @__PURE__ */ e.createElement(
5
- t.Content,
6
- {
7
- ref: n,
8
- align: a,
9
- sideOffset: r,
10
- className: i(
11
- "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
12
- o
13
- ),
14
- ...d
15
- }
16
- )));
17
- s.displayName = t.Content.displayName;
1
+ import { clsx as o } from "clsx";
2
+ import { twMerge as t } from "tailwind-merge";
3
+ function n(...r) {
4
+ return t(o(r));
5
+ }
18
6
  export {
19
- p as Popover,
20
- s as PopoverContent,
21
- l as PopoverTrigger
7
+ n as cn
22
8
  };
23
9
  //# sourceMappingURL=index.es29.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es29.js","sources":["../src/components/ui/popover.tsx"],"sourcesContent":["import * as PopoverPrimitive from '@radix-ui/react-popover'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils/cn'\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent }\n"],"names":["Popover","PopoverPrimitive","PopoverTrigger","PopoverContent","React","className","align","sideOffset","props","ref","cn"],"mappings":";;;AAKA,MAAMA,IAAUC,EAAiB,MAE3BC,IAAiBD,EAAiB,SAElCE,IAAiBC,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,OAAAC,IAAQ,UAAU,YAAAC,IAAa,GAAG,GAAGC,KAASC,MAC3D,gBAAAL,EAAA,cAAAH,EAAiB,QAAjB,MACC,gBAAAG,EAAA;AAAA,EAACH,EAAiB;AAAA,EAAjB;AAAA,IACC,KAAAQ;AAAA,IACA,OAAAH;AAAA,IACA,YAAAC;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACAL;AAAA,IACF;AAAA,IACC,GAAGG;AAAA,EAAA;AACN,CACF,CACD;AACDL,EAAe,cAAcF,EAAiB,QAAQ;"}
1
+ {"version":3,"file":"index.es29.js","sources":["../src/lib/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx'\r\nimport { twMerge } from 'tailwind-merge'\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}\r\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":";;AAGO,SAASA,KAAMC,GAAsB;AACnC,SAAAC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;"}
package/dist/index.es3.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import e, { Fragment as c } from "react";
2
2
  import { Button as h } from "./index.es2.js";
3
3
  import { cva as l } from "class-variance-authority";
4
- import { cn as u } from "./index.es25.js";
5
- import { iconDefiner as d } from "./index.es26.js";
4
+ import { cn as u } from "./index.es29.js";
5
+ import { iconDefiner as d } from "./index.es30.js";
6
6
  const m = l(
7
7
  "rounded-lg p-[10px] transition-all hover:rounded-[24px]",
8
8
  {