@iit/precision-ui 0.5.5 → 0.6.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 (45) hide show
  1. package/dist/Adapters.d.ts +1 -0
  2. package/dist/Adapters.d.ts.map +1 -1
  3. package/dist/components/GridIterator.d.ts +3 -2
  4. package/dist/components/GridIterator.d.ts.map +1 -1
  5. package/dist/components/cards/FeaturedCard.d.ts +1 -1
  6. package/dist/components/cards/FeaturedCard.d.ts.map +1 -1
  7. package/dist/components/ui/Link.d.ts +1 -1
  8. package/dist/components/ui/Link.d.ts.map +1 -1
  9. package/dist/components/ui/button/ButtonText.d.ts +1 -0
  10. package/dist/components/ui/button/ButtonText.d.ts.map +1 -1
  11. package/dist/components/ui/carousel.d.ts +5 -1
  12. package/dist/components/ui/carousel.d.ts.map +1 -1
  13. package/dist/components/ui/input/SearchInput.d.ts +1 -0
  14. package/dist/components/ui/input/SearchInput.d.ts.map +1 -1
  15. package/dist/decorators/CarouselWrapper.d.ts +3 -2
  16. package/dist/decorators/CarouselWrapper.d.ts.map +1 -1
  17. package/dist/index.es22.js +97 -70
  18. package/dist/index.es22.js.map +1 -1
  19. package/dist/index.es25.js +2 -2
  20. package/dist/index.es25.js.map +1 -1
  21. package/dist/index.es35.js +1 -1
  22. package/dist/index.es39.js +18 -10
  23. package/dist/index.es39.js.map +1 -1
  24. package/dist/index.es40.js +14 -12
  25. package/dist/index.es40.js.map +1 -1
  26. package/dist/index.es42.js +26 -26
  27. package/dist/index.es42.js.map +1 -1
  28. package/dist/index.es43.js +1 -1
  29. package/dist/index.es43.js.map +1 -1
  30. package/dist/index.es45.js +21 -19
  31. package/dist/index.es45.js.map +1 -1
  32. package/dist/index.es46.js +240 -14
  33. package/dist/index.es46.js.map +1 -1
  34. package/dist/index.es47.js +14 -214
  35. package/dist/index.es47.js.map +1 -1
  36. package/dist/index.es6.js +35 -30
  37. package/dist/index.es6.js.map +1 -1
  38. package/dist/index.es8.js +10 -9
  39. package/dist/index.es8.js.map +1 -1
  40. package/dist/index.es9.js.map +1 -1
  41. package/dist/sections/CardsGridSection.d.ts +2 -2
  42. package/dist/sections/Hero.d.ts +2 -0
  43. package/dist/sections/Hero.d.ts.map +1 -1
  44. package/dist/styles.css +132 -17
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.es39.js","sources":["../src/components/cards/FeaturedCard.tsx"],"sourcesContent":["import { Tag, TagItemProps } from '../ui/Tag'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { cva } from 'class-variance-authority'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nexport interface FeaturedCardProps {\r\n size: 1 | 2 | 3\r\n tags: TagItemProps[]\r\n link: string\r\n title: string\r\n desc?: string\r\n className?: string\r\n showDivider?: boolean\r\n price?: string\r\n oldPrice?: string\r\n detailsText?: string\r\n}\r\n\r\nconst FeaturedCard: React.FC<FeaturedCardProps> = ({\r\n size,\r\n tags,\r\n link,\r\n title,\r\n desc,\r\n className,\r\n showDivider,\r\n price,\r\n oldPrice,\r\n detailsText,\r\n}) => {\r\n const cardStyles = cva(\r\n 'p-6 pb-4 bg-whitish rounded-lg transition-all bottom-0 transform duration-300 hover:scale1-[1.015] border border-transparent hover:border-sapphire1 relative hover:bottom-1 cursor-pointer col-span-1 flex flex-col justify-between items-start sm:min-h-[264px] h-full',\r\n {\r\n variants: {\r\n size: {\r\n 1: 'sm:col-span-1',\r\n 2: 'sm:col-span-2',\r\n 3: 'sm:col-span-3',\r\n },\r\n },\r\n defaultVariants: {\r\n size: 1,\r\n },\r\n }\r\n )\r\n\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n return (\r\n <LinkWrapper href={link} className={cn(cardStyles({ size, className }))}>\r\n <div data-test-id=\"content-container\">\r\n <div className=\"flex space-x-2\">\r\n {tags.map((tag, index) => (\r\n <Tag key={index} variant={tag.color}>\r\n {tag.title}\r\n </Tag>\r\n ))}\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Heading level={5} className=\"mt-6\" as={'div'}>\r\n {title}\r\n </Heading>\r\n {desc && (\r\n <Text variant=\"small-body\" className=\"text-navy-opacity-60\">\r\n {desc}\r\n </Text>\r\n )}\r\n </div>\r\n </div>\r\n {/* TODO: here is the button, should be a link */}\r\n <div className=\"mt-2 sm:mt-6 space-y-6 w-full\">\r\n {showDivider && <div className=\"border-t border-navy-opacity-16\"></div>}\r\n <div className=\"flex space-x-4 items-baseline\">\r\n {oldPrice && (\r\n <Text\r\n variant=\"caption\"\r\n className=\"text-navy-opacity-40 line-through\"\r\n >\r\n {oldPrice}\r\n </Text>\r\n )}\r\n <Heading level={4} as={'div'}>\r\n {price}\r\n </Heading>\r\n </div>\r\n <ButtonText icon=\"arrowRight\">{detailsText || 'Подробнее'}</ButtonText>\r\n </div>\r\n </LinkWrapper>\r\n )\r\n}\r\n\r\nexport default FeaturedCard\r\n"],"names":["FeaturedCard","size","tags","link","title","desc","className","showDivider","price","oldPrice","detailsText","cardStyles","cva","LinkWrapper","getAdapter","cn","React","tag","index","Tag","Heading","Text","ButtonText"],"mappings":";;;;;;;;AAuBA,MAAMA,IAA4C,CAAC;AAAA,EACjD,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AACF,MAAM;AACJ,QAAMC,IAAaC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,UAAU;AAAA,QACR,MAAM;AAAA,UACJ,GAAG;AAAA,UACH,GAAG;AAAA,UACH,GAAG;AAAA,QACL;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EAAA,GAGIC,IAAcC,EAAW,aAAa;AAE5C,yCACGD,GAAY,EAAA,MAAMV,GAAM,WAAWY,EAAGJ,EAAW,EAAE,MAAAV,GAAM,WAAAK,EAAW,CAAA,CAAC,EAAA,GACnEU,gBAAAA,EAAA,cAAA,OAAA,EAAI,gBAAa,oBAChB,GAAAA,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,oBACZd,EAAK,IAAI,CAACe,GAAKC,MACbF,gBAAAA,EAAA,cAAAG,GAAA,EAAI,KAAKD,GAAO,SAASD,EAAI,MAAA,GAC3BA,EAAI,KACP,CACD,CACH,GACCD,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,eACbA,gBAAAA,EAAA,cAACI,GAAQ,EAAA,OAAO,GAAG,WAAU,QAAO,IAAI,MAAA,GACrChB,CACH,GACCC,KACEW,gBAAAA,EAAA,cAAAK,GAAA,EAAK,SAAQ,cAAa,WAAU,uBAClC,GAAAhB,CACH,CAEJ,CACF,GAECW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,gCACZ,GAAAT,KAAgBS,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,mCAAkC,mCAChE,OAAI,EAAA,WAAU,mCACZP,KACCO,gBAAAA,EAAA;AAAA,IAACK;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,IAETZ;AAAA,EAAA,GAGJO,gBAAAA,EAAA,cAAAI,GAAA,EAAQ,OAAO,GAAG,IAAI,MACpB,GAAAZ,CACH,CACF,mCACCc,GAAW,EAAA,MAAK,gBAAcZ,KAAe,WAAY,CAC5D,CACF;AAEJ;"}
1
+ {"version":3,"file":"index.es39.js","sources":["../src/components/cards/FeaturedCard.tsx"],"sourcesContent":["import { Tag, TagItemProps } from '../ui/Tag'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { cva } from 'class-variance-authority'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nexport interface FeaturedCardProps {\r\n size: 1 | 2 | 3 | 4\r\n tags: TagItemProps[]\r\n link: string\r\n title: string\r\n desc?: string\r\n className?: string\r\n showDivider?: boolean\r\n price?: string\r\n oldPrice?: string\r\n detailsText?: string\r\n}\r\n\r\nconst FeaturedCard: React.FC<FeaturedCardProps> = ({\r\n size,\r\n tags,\r\n link,\r\n title,\r\n desc,\r\n className,\r\n showDivider,\r\n price,\r\n oldPrice,\r\n detailsText,\r\n}) => {\r\n const cardStyles = cva(\r\n 'p-6 pb-4 bg-whitish rounded-lg transition-all bottom-0 transform duration-300 hover:scale1-[1.015] border border-transparent hover:border-sapphire1 relative hover:bottom-1 cursor-pointer col-span-1 flex flex-col justify-between items-start sm:min-h-[264px] h-full',\r\n {\r\n variants: {\r\n size: {\r\n 1: 'sm:col-span-1',\r\n 2: 'sm:col-span-2',\r\n 3: 'sm:col-span-3',\r\n 4: 'sm:col-span-4',\r\n },\r\n },\r\n defaultVariants: {\r\n size: 1,\r\n },\r\n }\r\n )\r\n\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n return (\r\n <LinkWrapper href={link} className={cn(cardStyles({ size, className }))}>\r\n <div data-test-id=\"content-container\">\r\n <div className=\"flex space-x-2\">\r\n {tags.map((tag, index) => (\r\n <Tag key={index} variant={tag.color}>\r\n {tag.title}\r\n </Tag>\r\n ))}\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Heading level={5} className=\"mt-6 lg:max-w-sm\" as={'div'}>\r\n {title}\r\n </Heading>\r\n {desc && (\r\n <Text\r\n variant=\"small-body\"\r\n className=\"text-navy-opacity-60 lg:max-w-sm\"\r\n >\r\n {desc}\r\n </Text>\r\n )}\r\n </div>\r\n </div>\r\n {/* TODO: here is the button, should be a link */}\r\n <div className=\"mt-2 sm:mt-6 space-y-6 w-full\">\r\n {showDivider && <div className=\"border-t border-navy-opacity-16\"></div>}\r\n <div className=\"flex space-x-4 items-baseline\">\r\n {oldPrice && (\r\n <Text\r\n variant=\"caption\"\r\n className=\"text-navy-opacity-40 line-through\"\r\n >\r\n {oldPrice}\r\n </Text>\r\n )}\r\n <Heading level={4} as={'div'}>\r\n {price}\r\n </Heading>\r\n </div>\r\n <ButtonText icon=\"arrowRight\">{detailsText || 'Подробнее'}</ButtonText>\r\n </div>\r\n </LinkWrapper>\r\n )\r\n}\r\n\r\nexport default FeaturedCard\r\n"],"names":["FeaturedCard","size","tags","link","title","desc","className","showDivider","price","oldPrice","detailsText","cardStyles","cva","LinkWrapper","getAdapter","React","cn","tag","index","Tag","Heading","Text","ButtonText"],"mappings":";;;;;;;;AAuBA,MAAMA,IAA4C,CAAC;AAAA,EACjD,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC;AAAA,EACA,aAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC;AACF,MAAM;AACJ,QAAMC,IAAaC;AAAA,IACjB;AAAA,IACA;AAAA,MACE,UAAU;AAAA,QACR,MAAM;AAAA,UACJ,GAAG;AAAA,UACH,GAAG;AAAA,UACH,GAAG;AAAA,UACH,GAAG;AAAA,QACL;AAAA,MACF;AAAA,MACA,iBAAiB;AAAA,QACf,MAAM;AAAA,MACR;AAAA,IACF;AAAA,EAAA,GAGIC,IAAcC,EAAW,aAAa;AAG1C,SAAAC,gBAAAA,EAAA,cAACF,GAAY,EAAA,MAAMV,GAAM,WAAWa,EAAGL,EAAW,EAAE,MAAAV,GAAM,WAAAK,EAAW,CAAA,CAAC,KACnES,gBAAAA,EAAA,cAAA,OAAA,EAAI,gBAAa,oBAAA,GACfA,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,iBACZ,GAAAb,EAAK,IAAI,CAACe,GAAKC,sCACbC,GAAI,EAAA,KAAKD,GAAO,SAASD,EAAI,MAAA,GAC3BA,EAAI,KACP,CACD,CACH,GACCF,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,YACb,GAAAA,gBAAAA,EAAA,cAACK,GAAQ,EAAA,OAAO,GAAG,WAAU,oBAAmB,IAAI,MAAA,GACjDhB,CACH,GACCC,KACCU,gBAAAA,EAAA;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,IAEThB;AAAA,EAGP,CAAA,CACF,GAECU,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,mCACZR,KAAgBQ,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,kCAAkC,CAAA,mCAChE,OAAI,EAAA,WAAU,mCACZN,KACCM,gBAAAA,EAAA;AAAA,IAACM;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,IAETZ;AAAA,EAAA,GAGJM,gBAAAA,EAAA,cAAAK,GAAA,EAAQ,OAAO,GAAG,IAAI,MACpB,GAAAZ,CACH,CACF,mCACCc,GAAW,EAAA,MAAK,gBAAcZ,KAAe,WAAY,CAC5D,CACF;AAEJ;"}
@@ -1,16 +1,17 @@
1
- import { CarouselWrapper as m } from "./index.es45.js";
1
+ import { CarouselWrapper as o } from "./index.es45.js";
2
2
  import r from "react";
3
- import o from "./index.es27.js";
4
- const f = ({
3
+ import n from "./index.es27.js";
4
+ const E = ({
5
5
  items: t,
6
6
  renderItem: l,
7
7
  columns: s = 4,
8
- showControlsOnDesktop: d = !1,
9
- withoutCarousel: g = !0,
8
+ hideControlsOnDesktop: d = !1,
9
+ withoutCarousel: g = !1,
10
10
  // TODO: add to props chain
11
- footnote: c
11
+ footnote: c,
12
+ variant: i
12
13
  }) => {
13
- const i = (e) => {
14
+ const m = (e) => {
14
15
  switch (e) {
15
16
  case 1:
16
17
  return "grid grid-cols-1 gap-3";
@@ -24,17 +25,18 @@ const f = ({
24
25
  return "grid grid-cols-1 gap-3";
25
26
  }
26
27
  };
27
- return /* @__PURE__ */ r.createElement("div", null, g ? /* @__PURE__ */ r.createElement("div", { className: i(s) }, t.map((e, a) => /* @__PURE__ */ r.createElement(r.Fragment, { key: a }, l(e, a)))) : /* @__PURE__ */ r.createElement(
28
- m,
28
+ return /* @__PURE__ */ r.createElement("div", null, g ? /* @__PURE__ */ r.createElement("div", { className: m(s) }, t.map((e, a) => /* @__PURE__ */ r.createElement(r.Fragment, { key: a }, l(e, a)))) : /* @__PURE__ */ r.createElement(
29
+ o,
29
30
  {
30
31
  items: t,
31
32
  renderItem: (e, a) => l(e, a),
32
33
  columns: s,
33
- showControlsOnDesktop: d
34
+ hideControlsOnDesktop: d,
35
+ variant: i
34
36
  }
35
- ), c && /* @__PURE__ */ r.createElement("div", { className: "mt-6" }, /* @__PURE__ */ r.createElement(o, { variant: "small-body", as: "div" }, c)));
37
+ ), c && /* @__PURE__ */ r.createElement("div", { className: "mt-6" }, /* @__PURE__ */ r.createElement(n, { variant: "small-body", as: "div" }, c)));
36
38
  };
37
39
  export {
38
- f as default
40
+ E as default
39
41
  };
40
42
  //# sourceMappingURL=index.es40.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es40.js","sources":["../src/components/GridIterator.tsx"],"sourcesContent":["import { CarouselWrapper } from '@/decorators/CarouselWrapper'\r\nimport React from 'react'\r\nimport Text from './core/typography/Text'\r\n\r\n// import { getAdapter } from '@/Adapters'\r\n\r\ninterface GridIteratorProps<T> {\r\n items: T[]\r\n renderItem: (item: T, index: number) => React.ReactNode\r\n columns?: number\r\n showControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n}\r\n\r\nconst GridIterator = <T,>({\r\n items,\r\n renderItem,\r\n columns = 4,\r\n showControlsOnDesktop = false,\r\n withoutCarousel = true, // TODO: add to props chain\r\n footnote,\r\n}: GridIteratorProps<T>) => {\r\n const getGridClasses = (columns: number) => {\r\n switch (columns) {\r\n case 1:\r\n return 'grid grid-cols-1 gap-3'\r\n case 2:\r\n return 'grid grid-cols-1 sm:grid-cols-2 gap-3'\r\n case 3:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3'\r\n case 4:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3'\r\n default:\r\n return 'grid grid-cols-1 gap-3'\r\n }\r\n }\r\n // const CarouselWrapper = getAdapter('CarouselWrapper')\r\n\r\n return (\r\n <div>\r\n {withoutCarousel ? (\r\n <div className={getGridClasses(columns)}>\r\n {items.map((item, index) => (\r\n <React.Fragment key={index}>\r\n {renderItem(item, index)}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n ) : (\r\n <CarouselWrapper\r\n items={items}\r\n // renderItem={renderItem}\r\n renderItem={(item, index) => renderItem(item as T, index)}\r\n columns={columns}\r\n showControlsOnDesktop={showControlsOnDesktop}\r\n />\r\n )}\r\n\r\n {footnote && (\r\n <div className=\"mt-6\">\r\n <Text variant=\"small-body\" as=\"div\">\r\n {footnote}\r\n </Text>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default GridIterator\r\n"],"names":["GridIterator","items","renderItem","columns","showControlsOnDesktop","withoutCarousel","footnote","getGridClasses","React","item","index","CarouselWrapper","Text"],"mappings":";;;AAeA,MAAMA,IAAe,CAAK;AAAA,EACxB,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,uBAAAC,IAAwB;AAAA,EACxB,iBAAAC,IAAkB;AAAA;AAAA,EAClB,UAAAC;AACF,MAA4B;AACpB,QAAAC,IAAiB,CAACJ,MAAoB;AAC1C,YAAQA,GAAS;AAAA,MACf,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA;AAKA,SAAAK,gBAAAA,EAAA,cAAC,OACE,MAAAH,IACEG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWD,EAAeJ,CAAO,EAAA,GACnCF,EAAM,IAAI,CAACQ,GAAMC,MACfF,gBAAAA,EAAA,cAAAA,EAAM,UAAN,EAAe,KAAKE,EAAA,GAClBR,EAAWO,GAAMC,CAAK,CACzB,CACD,CACH,IAEAF,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,OAAAV;AAAA,MAEA,YAAY,CAACQ,GAAMC,MAAUR,EAAWO,GAAWC,CAAK;AAAA,MACxD,SAAAP;AAAA,MACA,uBAAAC;AAAA,IAAA;AAAA,EAAA,GAIHE,KACEE,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,OACb,GAAAA,gBAAAA,EAAA,cAACI,GAAK,EAAA,SAAQ,cAAa,IAAG,SAC3BN,CACH,CACF,CAEJ;AAEJ;"}
1
+ {"version":3,"file":"index.es40.js","sources":["../src/components/GridIterator.tsx"],"sourcesContent":["import { CarouselWrapper } from '@/decorators/CarouselWrapper'\r\nimport React from 'react'\r\nimport Text from './core/typography/Text'\r\n\r\n// import { getAdapter } from '@/Adapters'\r\n\r\ninterface GridIteratorProps<T> {\r\n items: T[]\r\n renderItem: (item: T, index: number) => React.ReactNode\r\n columns?: number\r\n hideControlsOnDesktop?: boolean\r\n withoutCarousel?: boolean\r\n footnote?: string\r\n variant?: 'default' | 'white'\r\n}\r\n\r\nconst GridIterator = <T,>({\r\n items,\r\n renderItem,\r\n columns = 4,\r\n hideControlsOnDesktop = false,\r\n withoutCarousel = false, // TODO: add to props chain\r\n footnote,\r\n variant,\r\n}: GridIteratorProps<T>) => {\r\n const getGridClasses = (columns: number) => {\r\n switch (columns) {\r\n case 1:\r\n return 'grid grid-cols-1 gap-3'\r\n case 2:\r\n return 'grid grid-cols-1 sm:grid-cols-2 gap-3'\r\n case 3:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3'\r\n case 4:\r\n return 'grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3'\r\n default:\r\n return 'grid grid-cols-1 gap-3'\r\n }\r\n }\r\n // const CarouselWrapper = getAdapter('CarouselWrapper')\r\n\r\n return (\r\n <div>\r\n {withoutCarousel ? (\r\n <div className={getGridClasses(columns)}>\r\n {items.map((item, index) => (\r\n <React.Fragment key={index}>\r\n {renderItem(item, index)}\r\n </React.Fragment>\r\n ))}\r\n </div>\r\n ) : (\r\n <CarouselWrapper\r\n items={items}\r\n // renderItem={renderItem}\r\n renderItem={(item, index) => renderItem(item as T, index)}\r\n columns={columns}\r\n hideControlsOnDesktop={hideControlsOnDesktop}\r\n variant={variant}\r\n />\r\n )}\r\n\r\n {footnote && (\r\n <div className=\"mt-6\">\r\n <Text variant=\"small-body\" as=\"div\">\r\n {footnote}\r\n </Text>\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n\r\nexport default GridIterator\r\n"],"names":["GridIterator","items","renderItem","columns","hideControlsOnDesktop","withoutCarousel","footnote","variant","getGridClasses","React","item","index","CarouselWrapper","Text"],"mappings":";;;AAgBA,MAAMA,IAAe,CAAK;AAAA,EACxB,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC,IAAU;AAAA,EACV,uBAAAC,IAAwB;AAAA,EACxB,iBAAAC,IAAkB;AAAA;AAAA,EAClB,UAAAC;AAAA,EACA,SAAAC;AACF,MAA4B;AACpB,QAAAC,IAAiB,CAACL,MAAoB;AAC1C,YAAQA,GAAS;AAAA,MACf,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA;AAKA,SAAAM,gBAAAA,EAAA,cAAC,OACE,MAAAJ,IACEI,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWD,EAAeL,CAAO,EAAA,GACnCF,EAAM,IAAI,CAACS,GAAMC,MACfF,gBAAAA,EAAA,cAAAA,EAAM,UAAN,EAAe,KAAKE,EAAA,GAClBT,EAAWQ,GAAMC,CAAK,CACzB,CACD,CACH,IAEAF,gBAAAA,EAAA;AAAA,IAACG;AAAA,IAAA;AAAA,MACC,OAAAX;AAAA,MAEA,YAAY,CAACS,GAAMC,MAAUT,EAAWQ,GAAWC,CAAK;AAAA,MACxD,SAAAR;AAAA,MACA,uBAAAC;AAAA,MACA,SAAAG;AAAA,IAAA;AAAA,EAAA,GAIHD,KACEG,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,OACb,GAAAA,gBAAAA,EAAA,cAACI,GAAK,EAAA,SAAQ,cAAa,IAAG,SAC3BP,CACH,CACF,CAEJ;AAEJ;"}
@@ -1,9 +1,9 @@
1
1
  import { cva as d } from "class-variance-authority";
2
- import c from "./index.es6.js";
3
- import g from "./index.es26.js";
2
+ import s from "./index.es6.js";
3
+ import y from "./index.es26.js";
4
4
  import e from "react";
5
- import u from "./index.es27.js";
6
- import { cn as o } from "./index.es31.js";
5
+ import g from "./index.es27.js";
6
+ import { cn as n } from "./index.es31.js";
7
7
  import { getAdapter as m } from "./index.es9.js";
8
8
  const x = d(
9
9
  "group p-6 rounded-lg min-h-[300px] flex flex-col justify-between gap-12 items-start relative hover:scale1-[1.005] h-full",
@@ -34,34 +34,34 @@ const x = d(
34
34
  defaultVariants: {
35
35
  variant: "default"
36
36
  }
37
- }), j = ({
38
- title: i,
37
+ }), _ = ({
38
+ title: o,
39
39
  desc: p,
40
- icon: v,
41
- link: l,
40
+ icon: f,
41
+ link: i,
42
42
  variant: t,
43
- size: s,
43
+ size: c,
44
44
  buttons: r
45
45
  }) => {
46
- const f = m("LinkWrapper"), h = m("ImageWrapper");
47
- let n = /* @__PURE__ */ e.createElement("div", { className: o(x({ variant: t, size: s })) }, /* @__PURE__ */ e.createElement("div", { className: "rounded-lg p-4 bg-turquoise-opacity-20" }, /* @__PURE__ */ e.createElement(
46
+ const v = m("LinkWrapper"), h = m("ImageWrapper");
47
+ let l = /* @__PURE__ */ e.createElement("div", { className: n(x({ variant: t, size: c }), "h-full") }, /* @__PURE__ */ e.createElement("div", { className: "rounded-lg p-4 bg-turquoise-opacity-20" }, /* @__PURE__ */ e.createElement(
48
48
  h,
49
49
  {
50
- src: v,
51
- alt: `Изображение для ${i}`,
50
+ src: f,
51
+ alt: `Изображение для ${o}`,
52
52
  width: 32,
53
53
  height: 32,
54
54
  className: "object-contain"
55
55
  }
56
- )), /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ e.createElement(g, { level: 5, className: "mt-4 mb-2" }, i), /* @__PURE__ */ e.createElement(u, { variant: "small-body", className: o(E({ variant: t })) }, p)), !(r && r.length) && /* @__PURE__ */ e.createElement(
57
- c,
56
+ )), /* @__PURE__ */ e.createElement("div", { className: "space-y-2" }, /* @__PURE__ */ e.createElement(y, { level: 5, className: "mt-4 mb-2" }, o), /* @__PURE__ */ e.createElement(g, { variant: "small-body", className: n(E({ variant: t })) }, p)), !(r && r.length) && /* @__PURE__ */ e.createElement(
57
+ s,
58
58
  {
59
59
  icon: "arrowRight",
60
60
  variant: t === "navy" ? "white" : "default"
61
61
  },
62
62
  "Подробнее"
63
- ), r && /* @__PURE__ */ e.createElement("div", { className: "flex space-x-3" }, r?.map((a, y) => /* @__PURE__ */ e.createElement("div", { key: y }, /* @__PURE__ */ e.createElement(
64
- c,
63
+ ), r && /* @__PURE__ */ e.createElement("div", { className: "flex space-x-3" }, r?.map((a, u) => /* @__PURE__ */ e.createElement("div", { key: u }, /* @__PURE__ */ e.createElement(
64
+ s,
65
65
  {
66
66
  variant: t === "navy" ? "white" : "default",
67
67
  icon: a.icon,
@@ -77,19 +77,19 @@ const x = d(
77
77
  a.text
78
78
  )
79
79
  )))));
80
- return l && (n = /* @__PURE__ */ e.createElement(
81
- f,
80
+ return i && (l = /* @__PURE__ */ e.createElement(
81
+ v,
82
82
  {
83
- href: l,
84
- className: o(
85
- "relative transition-all bottom-0 hover:bottom-2 transform duration-300 border border-transparent rounded-lg hover1:border-navy-opacity-16",
86
- s === 2 ? "sm:col-span-2" : "sm:col-span-1"
83
+ href: i,
84
+ className: n(
85
+ "block h-full relative transition-all bottom-0 hover:bottom-2 transform duration-300 border border-transparent rounded-lg hover1:border-navy-opacity-16",
86
+ c === 2 ? "sm:col-span-2" : "sm:col-span-1"
87
87
  )
88
88
  },
89
- n
90
- )), n;
89
+ l
90
+ )), l;
91
91
  };
92
92
  export {
93
- j as default
93
+ _ as default
94
94
  };
95
95
  //# sourceMappingURL=index.es42.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es42.js","sources":["../src/components/cards/Product.tsx"],"sourcesContent":["import {\r\n ButtonTextIconName,\r\n ButtonTextPropsWithoutHTMLAttributes,\r\n} from '../ui/button/ButtonText'\r\nimport { VariantProps, cva } from 'class-variance-authority'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst productCardVariants = cva(\r\n 'group p-6 rounded-lg min-h-[300px] flex flex-col justify-between gap-12 items-start relative hover:scale1-[1.005] h-full',\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'text-navy bg-whitish hover1:bg-navy-opacity-4 hover1:text-navy',\r\n // navy: \"text-whitish bg-gradient-to-b from-navy to-sapphire hover:from-sapphire hover:to-navy\",\r\n navy: 'text-whitish primary-gradient',\r\n },\r\n size: {\r\n 1: 'sm:col-span-1',\r\n 2: 'sm:col-span-2',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n size: 1,\r\n },\r\n }\r\n)\r\n\r\nconst descVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n navy: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nexport interface ProductCardButtonProps\r\n extends ButtonTextPropsWithoutHTMLAttributes {\r\n href?: string\r\n target?: '_blank' | '_self'\r\n icon?: ButtonTextIconName\r\n download?: boolean\r\n}\r\n\r\nexport interface ProductCardProps\r\n extends React.HTMLAttributes<HTMLAnchorElement>,\r\n VariantProps<typeof productCardVariants> {\r\n title: string\r\n desc: string\r\n icon: string\r\n link?: string\r\n size?: 1 | 2\r\n buttons?: ProductCardButtonProps[]\r\n}\r\n\r\nexport interface ProductCardPropsWithoutHtmlAttributes\r\n extends Omit<ProductCardProps, keyof React.HTMLAttributes<HTMLDivElement>> {\r\n title: string\r\n}\r\n\r\nconst ProductCard: React.FC<ProductCardProps> = ({\r\n title,\r\n desc,\r\n icon,\r\n link,\r\n variant,\r\n size,\r\n buttons,\r\n}) => {\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n let component = (\r\n <div className={cn(productCardVariants({ variant, size }))}>\r\n <div className=\"rounded-lg p-4 bg-turquoise-opacity-20\">\r\n <ImageWrapper\r\n src={icon}\r\n alt={`Изображение для ${title}`}\r\n width={32}\r\n height={32}\r\n className=\"object-contain\"\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Heading level={5} className=\"mt-4 mb-2\">\r\n {title}\r\n </Heading>\r\n <Text variant=\"small-body\" className={cn(descVariants({ variant }))}>\r\n {desc}\r\n </Text>\r\n </div>\r\n {/* TODO: here is the button, should be a link */}\r\n\r\n {!(buttons && buttons.length) && (\r\n <ButtonText\r\n icon=\"arrowRight\"\r\n variant={variant === 'navy' ? 'white' : 'default'}\r\n >\r\n Подробнее\r\n </ButtonText>\r\n )}\r\n\r\n {buttons && (\r\n <div className=\"flex space-x-3\">\r\n {buttons?.map((button, index) => (\r\n <div key={index}>\r\n <ButtonText\r\n variant={variant === 'navy' ? 'white' : 'default'}\r\n icon={button.icon}\r\n asChild\r\n >\r\n <a\r\n href={button.href}\r\n target={button.target || '_self'}\r\n download={button.download}\r\n >\r\n {button.text}\r\n </a>\r\n </ButtonText>\r\n {/* <ButtonSecondary asChild variant={\"outline\"}>\r\n <a href={button.href} target={button.target}>\r\n {button.text}\r\n </a>\r\n </ButtonSecondary> */}\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n\r\n if (link) {\r\n component = (\r\n <LinkWrapper\r\n href={link}\r\n className={cn(\r\n 'relative transition-all bottom-0 hover:bottom-2 transform duration-300 border border-transparent rounded-lg hover1:border-navy-opacity-16',\r\n size === 2 ? 'sm:col-span-2' : 'sm:col-span-1'\r\n )}\r\n >\r\n {component}\r\n </LinkWrapper>\r\n )\r\n }\r\n\r\n return component\r\n}\r\n\r\nexport default ProductCard\r\n"],"names":["productCardVariants","cva","descVariants","ProductCard","title","desc","icon","link","variant","size","buttons","LinkWrapper","getAdapter","ImageWrapper","component","React","cn","Heading","Text","ButtonText","button","index"],"mappings":";;;;;;;AAaA,MAAMA,IAAsBC;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA;AAAA,QAEF,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF,GAEMC,IAAeD,EAAI,IAAI;AAAA,EAC3B,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GA0BKE,IAA0C,CAAC;AAAA,EAC/C,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACE,QAAAC,IAAcC,EAAW,aAAa,GACtCC,IAAeD,EAAW,cAAc;AAE9C,MAAIE,IACFC,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAWC,EAAGhB,EAAoB,EAAE,SAAAQ,GAAS,MAAAC,EAAA,CAAM,CAAC,EAAA,GACtDM,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,4CACbA,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,KAAKP;AAAA,MACL,KAAK,mBAAmBF,CAAK;AAAA,MAC7B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,EAAA,CAEd,GACCW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,YACb,GAAAA,gBAAAA,EAAA,cAACE,GAAQ,EAAA,OAAO,GAAG,WAAU,YAC1B,GAAAb,CACH,GACCW,gBAAAA,EAAA,cAAAG,GAAA,EAAK,SAAQ,cAAa,WAAWF,EAAGd,EAAa,EAAE,SAAAM,EAAS,CAAA,CAAC,EAC/D,GAAAH,CACH,CACF,GAGC,EAAEK,KAAWA,EAAQ,WACpBK,gBAAAA,EAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAASX,MAAY,SAAS,UAAU;AAAA,IAAA;AAAA,IACzC;AAAA,EAAA,GAKFE,KACEK,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,oBACZL,GAAS,IAAI,CAACU,GAAQC,MACpBN,gBAAAA,EAAA,cAAA,OAAA,EAAI,KAAKM,KACRN,gBAAAA,EAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,SAASX,MAAY,SAAS,UAAU;AAAA,MACxC,MAAMY,EAAO;AAAA,MACb,SAAO;AAAA,IAAA;AAAA,IAEPL,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAMK,EAAO;AAAA,QACb,QAAQA,EAAO,UAAU;AAAA,QACzB,UAAUA,EAAO;AAAA,MAAA;AAAA,MAEhBA,EAAO;AAAA,IACV;AAAA,EAAA,CAOJ,CACD,CACH,CAEJ;AAGF,SAAIb,MAEAO,IAAAC,gBAAAA,EAAA;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,MAAMJ;AAAA,MACN,WAAWS;AAAA,QACT;AAAA,QACAP,MAAS,IAAI,kBAAkB;AAAA,MACjC;AAAA,IAAA;AAAA,IAECK;AAAA,EAAA,IAKAA;AACT;"}
1
+ {"version":3,"file":"index.es42.js","sources":["../src/components/cards/Product.tsx"],"sourcesContent":["import {\r\n ButtonTextIconName,\r\n ButtonTextPropsWithoutHTMLAttributes,\r\n} from '../ui/button/ButtonText'\r\nimport { VariantProps, cva } from 'class-variance-authority'\r\n\r\nimport { ButtonText } from '../ui/button'\r\nimport Heading from '../core/typography/Heading'\r\nimport React from 'react'\r\nimport Text from '../core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nconst productCardVariants = cva(\r\n 'group p-6 rounded-lg min-h-[300px] flex flex-col justify-between gap-12 items-start relative hover:scale1-[1.005] h-full',\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'text-navy bg-whitish hover1:bg-navy-opacity-4 hover1:text-navy',\r\n // navy: \"text-whitish bg-gradient-to-b from-navy to-sapphire hover:from-sapphire hover:to-navy\",\r\n navy: 'text-whitish primary-gradient',\r\n },\r\n size: {\r\n 1: 'sm:col-span-1',\r\n 2: 'sm:col-span-2',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n size: 1,\r\n },\r\n }\r\n)\r\n\r\nconst descVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n navy: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nexport interface ProductCardButtonProps\r\n extends ButtonTextPropsWithoutHTMLAttributes {\r\n href?: string\r\n target?: '_blank' | '_self'\r\n icon?: ButtonTextIconName\r\n download?: boolean\r\n}\r\n\r\nexport interface ProductCardProps\r\n extends React.HTMLAttributes<HTMLAnchorElement>,\r\n VariantProps<typeof productCardVariants> {\r\n title: string\r\n desc: string\r\n icon: string\r\n link?: string\r\n size?: 1 | 2\r\n buttons?: ProductCardButtonProps[]\r\n}\r\n\r\nexport interface ProductCardPropsWithoutHtmlAttributes\r\n extends Omit<ProductCardProps, keyof React.HTMLAttributes<HTMLDivElement>> {\r\n title: string\r\n}\r\n\r\nconst ProductCard: React.FC<ProductCardProps> = ({\r\n title,\r\n desc,\r\n icon,\r\n link,\r\n variant,\r\n size,\r\n buttons,\r\n}) => {\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n let component = (\r\n <div className={cn(productCardVariants({ variant, size }), 'h-full')}>\r\n <div className=\"rounded-lg p-4 bg-turquoise-opacity-20\">\r\n <ImageWrapper\r\n src={icon}\r\n alt={`Изображение для ${title}`}\r\n width={32}\r\n height={32}\r\n className=\"object-contain\"\r\n />\r\n </div>\r\n <div className=\"space-y-2\">\r\n <Heading level={5} className=\"mt-4 mb-2\">\r\n {title}\r\n </Heading>\r\n <Text variant=\"small-body\" className={cn(descVariants({ variant }))}>\r\n {desc}\r\n </Text>\r\n </div>\r\n {/* TODO: here is the button, should be a link */}\r\n\r\n {!(buttons && buttons.length) && (\r\n <ButtonText\r\n icon=\"arrowRight\"\r\n variant={variant === 'navy' ? 'white' : 'default'}\r\n >\r\n Подробнее\r\n </ButtonText>\r\n )}\r\n\r\n {buttons && (\r\n <div className=\"flex space-x-3\">\r\n {buttons?.map((button, index) => (\r\n <div key={index}>\r\n <ButtonText\r\n variant={variant === 'navy' ? 'white' : 'default'}\r\n icon={button.icon}\r\n asChild\r\n >\r\n <a\r\n href={button.href}\r\n target={button.target || '_self'}\r\n download={button.download}\r\n >\r\n {button.text}\r\n </a>\r\n </ButtonText>\r\n {/* <ButtonSecondary asChild variant={\"outline\"}>\r\n <a href={button.href} target={button.target}>\r\n {button.text}\r\n </a>\r\n </ButtonSecondary> */}\r\n </div>\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n\r\n if (link) {\r\n component = (\r\n <LinkWrapper\r\n href={link}\r\n className={cn(\r\n 'block h-full relative transition-all bottom-0 hover:bottom-2 transform duration-300 border border-transparent rounded-lg hover1:border-navy-opacity-16',\r\n size === 2 ? 'sm:col-span-2' : 'sm:col-span-1'\r\n )}\r\n >\r\n {component}\r\n </LinkWrapper>\r\n )\r\n }\r\n\r\n return component\r\n}\r\n\r\nexport default ProductCard\r\n"],"names":["productCardVariants","cva","descVariants","ProductCard","title","desc","icon","link","variant","size","buttons","LinkWrapper","getAdapter","ImageWrapper","component","React","cn","Heading","Text","ButtonText","button","index"],"mappings":";;;;;;;AAaA,MAAMA,IAAsBC;AAAA,EAC1B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA;AAAA,QAEF,MAAM;AAAA,MACR;AAAA,MACA,MAAM;AAAA,QACJ,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF,GAEMC,IAAeD,EAAI,IAAI;AAAA,EAC3B,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC,GA0BKE,IAA0C,CAAC;AAAA,EAC/C,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AACF,MAAM;AACE,QAAAC,IAAcC,EAAW,aAAa,GACtCC,IAAeD,EAAW,cAAc;AAE9C,MAAIE,IACDC,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAWC,EAAGhB,EAAoB,EAAE,SAAAQ,GAAS,MAAAC,EAAM,CAAA,GAAG,QAAQ,KAChEM,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,4CACbA,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,KAAKP;AAAA,MACL,KAAK,mBAAmBF,CAAK;AAAA,MAC7B,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,EAAA,CAEd,GACCW,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,YACb,GAAAA,gBAAAA,EAAA,cAACE,GAAQ,EAAA,OAAO,GAAG,WAAU,YAC1B,GAAAb,CACH,GACCW,gBAAAA,EAAA,cAAAG,GAAA,EAAK,SAAQ,cAAa,WAAWF,EAAGd,EAAa,EAAE,SAAAM,EAAS,CAAA,CAAC,EAC/D,GAAAH,CACH,CACF,GAGC,EAAEK,KAAWA,EAAQ,WACpBK,gBAAAA,EAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAASX,MAAY,SAAS,UAAU;AAAA,IAAA;AAAA,IACzC;AAAA,EAAA,GAKFE,KACEK,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,oBACZL,GAAS,IAAI,CAACU,GAAQC,MACpBN,gBAAAA,EAAA,cAAA,OAAA,EAAI,KAAKM,KACRN,gBAAAA,EAAA;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,SAASX,MAAY,SAAS,UAAU;AAAA,MACxC,MAAMY,EAAO;AAAA,MACb,SAAO;AAAA,IAAA;AAAA,IAEPL,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,MAAMK,EAAO;AAAA,QACb,QAAQA,EAAO,UAAU;AAAA,QACzB,UAAUA,EAAO;AAAA,MAAA;AAAA,MAEhBA,EAAO;AAAA,IACV;AAAA,EAAA,CAOJ,CACD,CACH,CAEJ;AAGF,SAAIb,MAEAO,IAAAC,gBAAAA,EAAA;AAAA,IAACJ;AAAA,IAAA;AAAA,MACC,MAAMJ;AAAA,MACN,WAAWS;AAAA,QACT;AAAA,QACAP,MAAS,IAAI,kBAAkB;AAAA,MACjC;AAAA,IAAA;AAAA,IAECK;AAAA,EAAA,IAKAA;AACT;"}
@@ -25,7 +25,7 @@ const k = o(
25
25
  ), V = o("w-full h-[1px]", {
26
26
  variants: {
27
27
  variant: {
28
- default: "bg-grey-1",
28
+ default: "bg-grey-3",
29
29
  navy: "bg-whitish-opacity-16"
30
30
  }
31
31
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.es43.js","sources":["../src/components/cards/Rate.tsx"],"sourcesContent":["import React from 'react'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport Heading from '../core/typography/Heading'\r\nimport Text from '../core/typography/Text'\r\nimport { ButtonSecondary } from '../ui/button'\r\nimport AppLink from '../ui/Link'\r\nimport { ButtonSecondaryProps } from '../ui/button/ButtonSecondary'\r\nimport { Tag, TagItemProps } from '../ui/Tag'\r\n\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\nimport { getAdapter } from '@/Adapters'\r\nimport Informer from '../Informer'\r\n\r\nconst rateCardVariants = cva(\r\n 'group p-6 rounded-lg min-h-[360px] flex flex-col justify-between h-full',\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'text-navy bg-whitish hover1:bg-navy-opacity-4 hover1:text-navy',\r\n navy: 'text-whitish bg-gradient-to-b from-navy to-sapphire hover1:from-sapphire hover1:to-navy',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n }\r\n)\r\n\r\nconst dividerVariants = cva('w-full h-[1px]', {\r\n variants: {\r\n variant: {\r\n default: 'bg-grey-1',\r\n navy: 'bg-whitish-opacity-16',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nconst descVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n navy: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nexport interface RateButtonProps {\r\n variant?: ButtonSecondaryProps['variant']\r\n title?: string\r\n link?: string\r\n isBuyButton?: boolean\r\n onClick?: () => void\r\n}\r\n\r\nexport const RateButton: React.FC<RateButtonProps> = ({\r\n variant,\r\n title,\r\n link,\r\n onClick,\r\n}) => {\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n const button = (\r\n <ButtonSecondary variant={variant} onClick={onClick}>\r\n {title || 'Подробнее'}\r\n </ButtonSecondary>\r\n )\r\n\r\n if (link) {\r\n return <LinkWrapper href={link}>{button}</LinkWrapper>\r\n }\r\n\r\n return button\r\n}\r\n\r\nexport interface RateCardProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof rateCardVariants> {\r\n className?: string\r\n title: string\r\n oldPrice?: string\r\n price: string\r\n desc: string\r\n link: string\r\n onClickBuyButton?: (title: string) => void\r\n buttons?: RateButtonProps[]\r\n tags?: TagItemProps[]\r\n titleInformer?: string\r\n}\r\n\r\nexport interface RateCardPropsWithoutHTMLAttributes\r\n extends Omit<RateCardProps, keyof React.HTMLAttributes<HTMLDivElement>> {\r\n className?: string\r\n title: string\r\n}\r\n\r\nconst RateCard: React.FC<RateCardProps> = ({\r\n variant,\r\n className,\r\n title,\r\n oldPrice,\r\n price,\r\n desc,\r\n link,\r\n onClickBuyButton,\r\n buttons,\r\n tags,\r\n titleInformer,\r\n}) => {\r\n return (\r\n <div className={cn(rateCardVariants({ variant, className }))}>\r\n <div>\r\n {tags && (\r\n <div className=\"flex space-x-2 mb-6\">\r\n {tags.map((tag, index) => (\r\n <Tag key={index} variant={tag.color}>\r\n {tag.title}\r\n </Tag>\r\n ))}\r\n </div>\r\n )}\r\n <div className=\"space-y-12 mb-6\">\r\n <div className=\"space-y-4\">\r\n <div className=\"flex space-x-2 items-center relative\">\r\n <AppLink\r\n href={link}\r\n variant={variant === 'navy' ? 'white' : 'navy'}\r\n >\r\n <Heading level={4} as={'span'}>\r\n {title}\r\n </Heading>\r\n </AppLink>\r\n {titleInformer && <Informer content={titleInformer} />}\r\n </div>\r\n <div className=\"flex space-x-4 items-baseline\">\r\n {oldPrice && (\r\n <Text\r\n variant=\"caption\"\r\n className=\"text-navy-opacity-40 line-through\"\r\n >\r\n {oldPrice}\r\n </Text>\r\n )}\r\n <Heading level={5} as={'div'}>\r\n {price}\r\n </Heading>\r\n </div>\r\n </div>\r\n <div className=\"space-y-4\">\r\n <div className={cn(dividerVariants({ variant }))}></div>\r\n <Text\r\n variant=\"small-body\"\r\n as=\"div\"\r\n className={cn(descVariants({ variant }), 'content')}\r\n >\r\n <SafeHtmlRenderer html={desc} />\r\n </Text>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"w-full gap-2 flex\">\r\n {buttons?.map((button, index) => (\r\n <RateButton\r\n key={index}\r\n variant={button.variant}\r\n title={button.title}\r\n link={button.link}\r\n onClick={() => button.isBuyButton && onClickBuyButton?.(title)}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default RateCard\r\n"],"names":["rateCardVariants","cva","dividerVariants","descVariants","RateButton","variant","title","link","onClick","LinkWrapper","getAdapter","button","React","ButtonSecondary","RateCard","className","oldPrice","price","desc","onClickBuyButton","buttons","tags","titleInformer","cn","tag","index","Tag","AppLink","Heading","Informer","Text","SafeHtmlRenderer"],"mappings":"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"}
1
+ {"version":3,"file":"index.es43.js","sources":["../src/components/cards/Rate.tsx"],"sourcesContent":["import React from 'react'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport Heading from '../core/typography/Heading'\r\nimport Text from '../core/typography/Text'\r\nimport { ButtonSecondary } from '../ui/button'\r\nimport AppLink from '../ui/Link'\r\nimport { ButtonSecondaryProps } from '../ui/button/ButtonSecondary'\r\nimport { Tag, TagItemProps } from '../ui/Tag'\r\n\r\nimport SafeHtmlRenderer from '../SafeHtml'\r\nimport { getAdapter } from '@/Adapters'\r\nimport Informer from '../Informer'\r\n\r\nconst rateCardVariants = cva(\r\n 'group p-6 rounded-lg min-h-[360px] flex flex-col justify-between h-full',\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'text-navy bg-whitish hover1:bg-navy-opacity-4 hover1:text-navy',\r\n navy: 'text-whitish bg-gradient-to-b from-navy to-sapphire hover1:from-sapphire hover1:to-navy',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n }\r\n)\r\n\r\nconst dividerVariants = cva('w-full h-[1px]', {\r\n variants: {\r\n variant: {\r\n default: 'bg-grey-3',\r\n navy: 'bg-whitish-opacity-16',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nconst descVariants = cva('', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n navy: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\nexport interface RateButtonProps {\r\n variant?: ButtonSecondaryProps['variant']\r\n title?: string\r\n link?: string\r\n isBuyButton?: boolean\r\n onClick?: () => void\r\n}\r\n\r\nexport const RateButton: React.FC<RateButtonProps> = ({\r\n variant,\r\n title,\r\n link,\r\n onClick,\r\n}) => {\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n const button = (\r\n <ButtonSecondary variant={variant} onClick={onClick}>\r\n {title || 'Подробнее'}\r\n </ButtonSecondary>\r\n )\r\n\r\n if (link) {\r\n return <LinkWrapper href={link}>{button}</LinkWrapper>\r\n }\r\n\r\n return button\r\n}\r\n\r\nexport interface RateCardProps\r\n extends React.HTMLAttributes<HTMLDivElement>,\r\n VariantProps<typeof rateCardVariants> {\r\n className?: string\r\n title: string\r\n oldPrice?: string\r\n price: string\r\n desc: string\r\n link: string\r\n onClickBuyButton?: (title: string) => void\r\n buttons?: RateButtonProps[]\r\n tags?: TagItemProps[]\r\n titleInformer?: string\r\n}\r\n\r\nexport interface RateCardPropsWithoutHTMLAttributes\r\n extends Omit<RateCardProps, keyof React.HTMLAttributes<HTMLDivElement>> {\r\n className?: string\r\n title: string\r\n}\r\n\r\nconst RateCard: React.FC<RateCardProps> = ({\r\n variant,\r\n className,\r\n title,\r\n oldPrice,\r\n price,\r\n desc,\r\n link,\r\n onClickBuyButton,\r\n buttons,\r\n tags,\r\n titleInformer,\r\n}) => {\r\n return (\r\n <div className={cn(rateCardVariants({ variant, className }))}>\r\n <div>\r\n {tags && (\r\n <div className=\"flex space-x-2 mb-6\">\r\n {tags.map((tag, index) => (\r\n <Tag key={index} variant={tag.color}>\r\n {tag.title}\r\n </Tag>\r\n ))}\r\n </div>\r\n )}\r\n <div className=\"space-y-12 mb-6\">\r\n <div className=\"space-y-4\">\r\n <div className=\"flex space-x-2 items-center relative\">\r\n <AppLink\r\n href={link}\r\n variant={variant === 'navy' ? 'white' : 'navy'}\r\n >\r\n <Heading level={4} as={'span'}>\r\n {title}\r\n </Heading>\r\n </AppLink>\r\n {titleInformer && <Informer content={titleInformer} />}\r\n </div>\r\n <div className=\"flex space-x-4 items-baseline\">\r\n {oldPrice && (\r\n <Text\r\n variant=\"caption\"\r\n className=\"text-navy-opacity-40 line-through\"\r\n >\r\n {oldPrice}\r\n </Text>\r\n )}\r\n <Heading level={5} as={'div'}>\r\n {price}\r\n </Heading>\r\n </div>\r\n </div>\r\n <div className=\"space-y-4\">\r\n <div className={cn(dividerVariants({ variant }))}></div>\r\n <Text\r\n variant=\"small-body\"\r\n as=\"div\"\r\n className={cn(descVariants({ variant }), 'content')}\r\n >\r\n <SafeHtmlRenderer html={desc} />\r\n </Text>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div className=\"w-full gap-2 flex\">\r\n {buttons?.map((button, index) => (\r\n <RateButton\r\n key={index}\r\n variant={button.variant}\r\n title={button.title}\r\n link={button.link}\r\n onClick={() => button.isBuyButton && onClickBuyButton?.(title)}\r\n />\r\n ))}\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\nexport default RateCard\r\n"],"names":["rateCardVariants","cva","dividerVariants","descVariants","RateButton","variant","title","link","onClick","LinkWrapper","getAdapter","button","React","ButtonSecondary","RateCard","className","oldPrice","price","desc","onClickBuyButton","buttons","tags","titleInformer","cn","tag","index","Tag","AppLink","Heading","Informer","Text","SafeHtmlRenderer"],"mappings":"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"}
@@ -1,15 +1,16 @@
1
- import { Carousel as c, CarouselContent as n, CarouselItem as i, CarouselPrevious as p, CarouselNext as f } from "./index.es47.js";
1
+ import { Carousel as n, CarouselContent as i, CarouselItem as p } from "./index.es46.js";
2
2
  import e from "react";
3
- import { cn as C } from "./index.es31.js";
4
- const d = ({
5
- items: s,
6
- renderItem: r,
3
+ import { cn as b } from "./index.es31.js";
4
+ const g = ({
5
+ items: r,
6
+ renderItem: t,
7
7
  columns: l,
8
- showControlsOnDesktop: o,
9
- className: m
8
+ hideControlsOnDesktop: m,
9
+ className: o,
10
+ variant: c
10
11
  }) => {
11
- const u = (a) => {
12
- switch (a ?? l) {
12
+ const u = (s) => {
13
+ switch (s ?? l) {
13
14
  case 2:
14
15
  return "md:basis-1/2 lg:basis-1/2";
15
16
  case 3:
@@ -21,28 +22,29 @@ const d = ({
21
22
  }
22
23
  };
23
24
  return /* @__PURE__ */ e.createElement(
24
- c,
25
+ n,
25
26
  {
26
27
  opts: {
27
28
  align: "start"
28
29
  },
29
- className: C("my-carousel w-full", m)
30
+ className: b("my-carousel w-full -mt-3", o),
31
+ hideControlsOnDesktop: m,
32
+ variant: c
30
33
  },
31
- /* @__PURE__ */ e.createElement(n, { className: "-ml-4" }, s.map((a, t) => /* @__PURE__ */ e.createElement(
32
- i,
34
+ /* @__PURE__ */ e.createElement(i, { className: "-ml-4 pt-3" }, r.map((s, a) => /* @__PURE__ */ e.createElement(
35
+ p,
33
36
  {
34
- key: t,
37
+ key: a,
35
38
  className: `pl-4 ${u(
36
- a.size
39
+ s.size
37
40
  // Safely access `size` property
38
41
  )}`
39
42
  },
40
- r(a, t)
41
- ))),
42
- o && /* @__PURE__ */ e.createElement("div", { className: "flex justify-center mt-4" }, /* @__PURE__ */ e.createElement(p, { className: "relative left-auto top-auto right-auto translate-y-0" }), /* @__PURE__ */ e.createElement(f, { className: "relative left-auto top-auto right-auto translate-y-0" }))
43
+ t(s, a)
44
+ )))
43
45
  );
44
46
  };
45
47
  export {
46
- d as CarouselWrapper
48
+ g as CarouselWrapper
47
49
  };
48
50
  //# sourceMappingURL=index.es45.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es45.js","sources":["../src/decorators/CarouselWrapper.tsx"],"sourcesContent":["import {\r\n Carousel,\r\n CarouselContent,\r\n CarouselItem,\r\n CarouselNext,\r\n CarouselPrevious,\r\n} from '@/components/ui/carousel'\r\n\r\nimport React from 'react'\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nexport const CarouselWrapper = <T,>({\r\n items,\r\n renderItem,\r\n columns,\r\n showControlsOnDesktop,\r\n className,\r\n}: {\r\n items: T[]\r\n renderItem: (item: T, index: number) => React.ReactNode\r\n columns: number\r\n showControlsOnDesktop: boolean\r\n className?: string\r\n}) => {\r\n const carouselColumnsClasses = (size?: number) => {\r\n switch (size ?? columns) {\r\n case 2:\r\n return 'md:basis-1/2 lg:basis-1/2'\r\n case 3:\r\n return 'md:basis-1/2 lg:basis-1/3'\r\n case 4:\r\n return 'md:basis-1/2 lg:basis-1/4'\r\n default:\r\n return 'md:basis-1/2 lg:basis-1/3'\r\n }\r\n }\r\n\r\n return (\r\n <Carousel\r\n opts={{\r\n align: 'start',\r\n }}\r\n className={cn('my-carousel w-full', className)}\r\n >\r\n <CarouselContent className=\"-ml-4\">\r\n {items.map((item, index) => (\r\n <CarouselItem\r\n key={index}\r\n className={`pl-4 ${carouselColumnsClasses(\r\n (item as { size?: number }).size // Safely access `size` property\r\n )}`}\r\n >\r\n {renderItem(item, index)}\r\n </CarouselItem>\r\n ))}\r\n </CarouselContent>\r\n\r\n {showControlsOnDesktop && (\r\n <div className=\"flex justify-center mt-4\">\r\n <CarouselPrevious className=\"relative left-auto top-auto right-auto translate-y-0\" />\r\n <CarouselNext className=\"relative left-auto top-auto right-auto translate-y-0\" />\r\n </div>\r\n )}\r\n </Carousel>\r\n )\r\n}\r\n"],"names":["CarouselWrapper","items","renderItem","columns","showControlsOnDesktop","className","carouselColumnsClasses","size","React","Carousel","cn","CarouselContent","item","index","CarouselItem","CarouselPrevious","CarouselNext"],"mappings":";;;AAWO,MAAMA,IAAkB,CAAK;AAAA,EAClC,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,WAAAC;AACF,MAMM;AACE,QAAAC,IAAyB,CAACC,MAAkB;AAChD,YAAQA,KAAQJ,GAAS;AAAA,MACvB,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA;AAIA,SAAAK,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAM;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA,WAAWC,EAAG,sBAAsBL,CAAS;AAAA,IAAA;AAAA,IAE7CG,gBAAAA,EAAA,cAACG,KAAgB,WAAU,QAAA,GACxBV,EAAM,IAAI,CAACW,GAAMC,MAChBL,gBAAAA,EAAA;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,KAAKD;AAAA,QACL,WAAW,QAAQP;AAAA,UAChBM,EAA2B;AAAA;AAAA,QAAA,CAC7B;AAAA,MAAA;AAAA,MAEAV,EAAWU,GAAMC,CAAK;AAAA,IAAA,CAE1B,CACH;AAAA,IAECT,KACCI,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,8BACZA,gBAAAA,EAAA,cAAAO,GAAA,EAAiB,WAAU,wDAAuD,GACnFP,gBAAAA,EAAA,cAACQ,GAAa,EAAA,WAAU,wDAAuD,CACjF;AAAA,EAAA;AAIR;"}
1
+ {"version":3,"file":"index.es45.js","sources":["../src/decorators/CarouselWrapper.tsx"],"sourcesContent":["import {\r\n Carousel,\r\n CarouselContent,\r\n CarouselItem,\r\n} from '@/components/ui/carousel'\r\n\r\nimport React from 'react'\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nexport const CarouselWrapper = <T,>({\r\n items,\r\n renderItem,\r\n columns,\r\n hideControlsOnDesktop,\r\n className,\r\n variant,\r\n}: {\r\n items: T[]\r\n renderItem: (item: T, index: number) => React.ReactNode\r\n columns: number\r\n hideControlsOnDesktop: boolean\r\n className?: string\r\n variant?: 'default' | 'white'\r\n}) => {\r\n const carouselColumnsClasses = (size?: number) => {\r\n switch (size ?? columns) {\r\n case 2:\r\n return 'md:basis-1/2 lg:basis-1/2'\r\n case 3:\r\n return 'md:basis-1/2 lg:basis-1/3'\r\n case 4:\r\n return 'md:basis-1/2 lg:basis-1/4'\r\n default:\r\n return 'md:basis-1/2 lg:basis-1/3'\r\n }\r\n }\r\n\r\n return (\r\n <Carousel\r\n opts={{\r\n align: 'start',\r\n }}\r\n className={cn('my-carousel w-full -mt-3', className)}\r\n hideControlsOnDesktop={hideControlsOnDesktop}\r\n variant={variant}\r\n >\r\n <CarouselContent className=\"-ml-4 pt-3\">\r\n {items.map((item, index) => (\r\n <CarouselItem\r\n key={index}\r\n className={`pl-4 ${carouselColumnsClasses(\r\n (item as { size?: number }).size // Safely access `size` property\r\n )}`}\r\n >\r\n {renderItem(item, index)}\r\n </CarouselItem>\r\n ))}\r\n </CarouselContent>\r\n </Carousel>\r\n )\r\n}\r\n"],"names":["CarouselWrapper","items","renderItem","columns","hideControlsOnDesktop","className","variant","carouselColumnsClasses","size","React","Carousel","cn","CarouselContent","item","index","CarouselItem"],"mappings":";;;AASO,MAAMA,IAAkB,CAAK;AAAA,EAClC,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,uBAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AACF,MAOM;AACE,QAAAC,IAAyB,CAACC,MAAkB;AAChD,YAAQA,KAAQL,GAAS;AAAA,MACvB,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT,KAAK;AACI,eAAA;AAAA,MACT;AACS,eAAA;AAAA,IACX;AAAA,EAAA;AAIA,SAAAM,gBAAAA,EAAA;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,MAAM;AAAA,QACJ,OAAO;AAAA,MACT;AAAA,MACA,WAAWC,EAAG,4BAA4BN,CAAS;AAAA,MACnD,uBAAAD;AAAA,MACA,SAAAE;AAAA,IAAA;AAAA,IAEAG,gBAAAA,EAAA,cAACG,KAAgB,WAAU,aAAA,GACxBX,EAAM,IAAI,CAACY,GAAMC,MAChBL,gBAAAA,EAAA;AAAA,MAACM;AAAA,MAAA;AAAA,QACC,KAAKD;AAAA,QACL,WAAW,QAAQP;AAAA,UAChBM,EAA2B;AAAA;AAAA,QAAA,CAC7B;AAAA,MAAA;AAAA,MAEAX,EAAWW,GAAMC,CAAK;AAAA,IAAA,CAE1B,CACH;AAAA,EAAA;AAGN;"}
@@ -1,19 +1,245 @@
1
- import t from "react";
2
- import a from "./index.es27.js";
3
- import { getAdapter as o } from "./index.es9.js";
4
- import i from "./index.es48.js";
5
- const l = ({ title: e, href: r }) => {
6
- const m = o("LinkWrapper");
7
- return r ? /* @__PURE__ */ t.createElement(a, { variant: "small-body", className: "text-whitish-opacity-32" }, /* @__PURE__ */ t.createElement(
8
- m,
1
+ import e from "react";
2
+ import D from "embla-carousel-react";
3
+ import { ChevronLeft as j, ChevronRight as B } from "lucide-react";
4
+ import { cn as i } from "./index.es31.js";
5
+ import { Slot as K } from "@radix-ui/react-slot";
6
+ import { cva as L } from "class-variance-authority";
7
+ const V = L(
8
+ "inline-flex items-center justify-center whitespace-nowrap rounded-full typo_variant_button ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 disabled:cursor-not-allowed border-none",
9
+ {
10
+ variants: {
11
+ variant: {
12
+ default: "bg-white text-navy hover:bg-navy-opacity-4",
13
+ destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
14
+ outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground",
15
+ ghost: "hover:bg-accent hover:text-accent-foreground",
16
+ link: "text-primary underline-offset-4 hover:underline"
17
+ },
18
+ size: {
19
+ default: "h-10 px-4 py-2",
20
+ sm: "h-9 rounded-md px-3",
21
+ lg: "h-11 rounded-md px-8",
22
+ icon: "h-10 w-10"
23
+ }
24
+ },
25
+ defaultVariants: {
26
+ // variant: "default",
27
+ // size: "default",
28
+ }
29
+ }
30
+ ), g = e.forwardRef(
31
+ ({ className: r, variant: o, size: l, asChild: a = !1, ...s }, u) => {
32
+ const c = a ? K : "button";
33
+ return /* @__PURE__ */ e.createElement(
34
+ c,
35
+ {
36
+ className: i(V({ variant: o, size: l }), r),
37
+ ref: u,
38
+ ...s
39
+ }
40
+ );
41
+ }
42
+ );
43
+ g.displayName = "Button";
44
+ const x = e.createContext(null);
45
+ function h() {
46
+ const r = e.useContext(x);
47
+ if (!r)
48
+ throw new Error("useCarousel must be used within a <Carousel />");
49
+ return r;
50
+ }
51
+ const $ = e.forwardRef(
52
+ ({
53
+ orientation: r = "horizontal",
54
+ opts: o,
55
+ setApi: l,
56
+ plugins: a,
57
+ className: s,
58
+ children: u,
59
+ hideControlsOnDesktop: c = !1,
60
+ variant: d = "default",
61
+ ...C
62
+ }, N) => {
63
+ const [E, t] = D(
64
+ {
65
+ ...o,
66
+ axis: r === "horizontal" ? "x" : "y"
67
+ },
68
+ a
69
+ ), [S, P] = e.useState(!1), [k, R] = e.useState(!1), [z, _] = e.useState(0), m = e.useCallback(() => {
70
+ if (!t)
71
+ return;
72
+ const n = t.scrollProgress();
73
+ console.log("progress", n), _(n * 100);
74
+ }, [t]), f = e.useCallback(
75
+ (n) => {
76
+ n && (P(n.canScrollPrev()), R(n.canScrollNext()), m());
77
+ },
78
+ [m]
79
+ ), v = e.useCallback(() => {
80
+ t?.scrollPrev();
81
+ }, [t]), b = e.useCallback(() => {
82
+ t?.scrollNext();
83
+ }, [t]), I = e.useCallback(
84
+ (n) => {
85
+ n.key === "ArrowLeft" ? (n.preventDefault(), v()) : n.key === "ArrowRight" && (n.preventDefault(), b());
86
+ },
87
+ [v, b]
88
+ );
89
+ e.useEffect(() => {
90
+ !t || !l || l(t);
91
+ }, [t, l]), e.useEffect(() => {
92
+ if (t)
93
+ return f(t), t.on("reInit", f), t.on("select", f), t.on("scroll", m), () => {
94
+ t?.off("reInit", f), t?.off("select", f), t?.off("scroll", m);
95
+ };
96
+ }, [t, f, m]);
97
+ const p = i(
98
+ "relative left-auto top-auto right-auto translate-y-0 border border-solid rounded-lg bg-transparent hover:rounded-[24px] transition-all duration-200 h-10 w-10",
99
+ d === "white" ? "hover:bg-whitish border-whitish-opacity-32" : "hover:bg-navy hover:text-white border-navy-opacity-32"
100
+ );
101
+ return /* @__PURE__ */ e.createElement(
102
+ x.Provider,
103
+ {
104
+ value: {
105
+ carouselRef: E,
106
+ api: t,
107
+ opts: o,
108
+ orientation: r || (o?.axis === "y" ? "vertical" : "horizontal"),
109
+ scrollPrev: v,
110
+ scrollNext: b,
111
+ canScrollPrev: S,
112
+ canScrollNext: k
113
+ }
114
+ },
115
+ /* @__PURE__ */ e.createElement(
116
+ "div",
117
+ {
118
+ ref: N,
119
+ onKeyDownCapture: I,
120
+ className: i("relative", s),
121
+ role: "region",
122
+ "aria-roledescription": "carousel",
123
+ ...C
124
+ },
125
+ u,
126
+ /* @__PURE__ */ e.createElement(
127
+ "div",
128
+ {
129
+ className: i(
130
+ "relative w-full mt-8 rounded-full overflow-hidden md:max-w-2xl mx-auto",
131
+ c ? "lg:hidden" : "",
132
+ d === "white" ? "bg-whitish-opacity-16 h-0.5" : "bg-gray-300 h-0.5"
133
+ )
134
+ },
135
+ /* @__PURE__ */ e.createElement(
136
+ "div",
137
+ {
138
+ className: i(
139
+ "absolute top-0 left-0 h-full w-full rounded-full transition-transform duration-0",
140
+ d === "white" ? "bg-whitish" : "bg-navy"
141
+ ),
142
+ style: {
143
+ transform: `translateX(${z - 100}%)`
144
+ }
145
+ }
146
+ )
147
+ ),
148
+ /* @__PURE__ */ e.createElement(
149
+ "div",
150
+ {
151
+ className: `embla__controls max-w-sm mx-auto mt-6 flex justify-center gap-4 ${c ? "lg:hidden" : ""}`
152
+ },
153
+ /* @__PURE__ */ e.createElement("div", { className: "embla__buttons space-x-2" }, /* @__PURE__ */ e.createElement(w, { className: p }), /* @__PURE__ */ e.createElement(y, { className: p }))
154
+ )
155
+ )
156
+ );
157
+ }
158
+ );
159
+ $.displayName = "Carousel";
160
+ const X = e.forwardRef(({ className: r, ...o }, l) => {
161
+ const { carouselRef: a, orientation: s } = h();
162
+ return /* @__PURE__ */ e.createElement("div", { ref: a, className: "overflow-hidden" }, /* @__PURE__ */ e.createElement(
163
+ "div",
164
+ {
165
+ ref: l,
166
+ className: i(
167
+ "flex",
168
+ s === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
169
+ r
170
+ ),
171
+ ...o
172
+ }
173
+ ));
174
+ });
175
+ X.displayName = "CarouselContent";
176
+ const q = e.forwardRef(({ className: r, ...o }, l) => {
177
+ const { orientation: a } = h();
178
+ return /* @__PURE__ */ e.createElement(
179
+ "div",
180
+ {
181
+ ref: l,
182
+ role: "group",
183
+ "aria-roledescription": "slide",
184
+ className: i(
185
+ "min-w-0 shrink-0 grow-0 basis-full",
186
+ a === "horizontal" ? "pl-4" : "pt-4",
187
+ r
188
+ ),
189
+ ...o
190
+ }
191
+ );
192
+ });
193
+ q.displayName = "CarouselItem";
194
+ const w = e.forwardRef(({ className: r, variant: o = "outline", size: l = "icon", ...a }, s) => {
195
+ const { orientation: u, scrollPrev: c, canScrollPrev: d } = h();
196
+ return /* @__PURE__ */ e.createElement(
197
+ g,
9
198
  {
10
- href: r,
11
- className: "breadcrumb hover:text-whitish-opacity-60 duration-200"
199
+ ref: s,
200
+ variant: o,
201
+ size: l,
202
+ className: i(
203
+ "absolute h-8 w-8 rounded-full",
204
+ u === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
205
+ r
206
+ ),
207
+ disabled: !d,
208
+ onClick: c,
209
+ ...a
12
210
  },
13
- i(e, 55)
14
- )) : /* @__PURE__ */ t.createElement(a, { variant: "link", className: "text-whitish breadcrumb" }, i(e, 55));
15
- };
211
+ /* @__PURE__ */ e.createElement(j, { className: "h-5 w-5" }),
212
+ /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Previous slide")
213
+ );
214
+ });
215
+ w.displayName = "CarouselPrevious";
216
+ const y = e.forwardRef(({ className: r, variant: o = "outline", size: l = "icon", ...a }, s) => {
217
+ const { orientation: u, scrollNext: c, canScrollNext: d } = h();
218
+ return /* @__PURE__ */ e.createElement(
219
+ g,
220
+ {
221
+ ref: s,
222
+ variant: o,
223
+ size: l,
224
+ className: i(
225
+ "absolute h-8 w-8 rounded-full",
226
+ u === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
227
+ r
228
+ ),
229
+ disabled: !d,
230
+ onClick: c,
231
+ ...a
232
+ },
233
+ /* @__PURE__ */ e.createElement(B, { className: "h-5 w-5" }),
234
+ /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Next slide")
235
+ );
236
+ });
237
+ y.displayName = "CarouselNext";
16
238
  export {
17
- l as default
239
+ $ as Carousel,
240
+ X as CarouselContent,
241
+ q as CarouselItem,
242
+ y as CarouselNext,
243
+ w as CarouselPrevious
18
244
  };
19
245
  //# sourceMappingURL=index.es46.js.map