@iit/precision-ui 0.1.0 → 0.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Adapters.d.ts +1 -0
- package/dist/Adapters.d.ts.map +1 -1
- package/dist/components/CarouselDotButton.d.ts +13 -0
- package/dist/components/CarouselDotButton.d.ts.map +1 -0
- package/dist/components/GridIterator.d.ts +13 -0
- package/dist/components/GridIterator.d.ts.map +1 -0
- package/dist/components/Informer.d.ts +6 -0
- package/dist/components/Informer.d.ts.map +1 -0
- package/dist/components/SafeHtml.d.ts +6 -0
- package/dist/components/SafeHtml.d.ts.map +1 -0
- package/dist/components/breadcrumbs/Breadcrumb.d.ts +9 -0
- package/dist/components/breadcrumbs/Breadcrumb.d.ts.map +1 -0
- package/dist/components/breadcrumbs/Breadcrumbs.d.ts +9 -0
- package/dist/components/breadcrumbs/Breadcrumbs.d.ts.map +1 -0
- package/dist/components/breadcrumbs/index.d.ts +5 -0
- package/dist/components/breadcrumbs/index.d.ts.map +1 -0
- package/dist/components/cards/Advantage.d.ts +10 -0
- package/dist/components/cards/Advantage.d.ts.map +1 -0
- package/dist/components/cards/Advantage2.d.ts +14 -0
- package/dist/components/cards/Advantage2.d.ts.map +1 -0
- package/dist/components/cards/FeaturedCard.d.ts +18 -0
- package/dist/components/cards/FeaturedCard.d.ts.map +1 -0
- package/dist/components/cards/Plate.d.ts +15 -0
- package/dist/components/cards/Plate.d.ts.map +1 -0
- package/dist/components/cards/Product.d.ts +28 -0
- package/dist/components/cards/Product.d.ts.map +1 -0
- package/dist/components/cards/Rate.d.ts +35 -0
- package/dist/components/cards/Rate.d.ts.map +1 -0
- package/dist/components/core/typography/Heading.d.ts +11 -0
- package/dist/components/core/typography/Heading.d.ts.map +1 -0
- package/dist/components/core/typography/Text.d.ts +11 -0
- package/dist/components/core/typography/Text.d.ts.map +1 -0
- package/dist/components/core/typography/typeVariants.d.ts +4 -0
- package/dist/components/core/typography/typeVariants.d.ts.map +1 -0
- package/dist/components/ui/Tag.d.ts +16 -0
- package/dist/components/ui/Tag.d.ts.map +1 -0
- package/dist/components/ui/alert.d.ts +2 -1
- package/dist/components/ui/alert.d.ts.map +1 -1
- package/dist/components/ui/button/index.d.ts +8 -0
- package/dist/components/ui/button/index.d.ts.map +1 -1
- package/dist/components/ui/carousel.d.ts +28 -0
- package/dist/components/ui/carousel.d.ts.map +1 -0
- package/dist/components/ui/checkbox/CheckboxWithLabel.d.ts +14 -0
- package/dist/components/ui/checkbox/CheckboxWithLabel.d.ts.map +1 -0
- package/dist/components/ui/checkbox/checkbox.d.ts +12 -0
- package/dist/components/ui/checkbox/checkbox.d.ts.map +1 -0
- package/dist/components/ui/checkbox/index.d.ts +5 -0
- package/dist/components/ui/checkbox/index.d.ts.map +1 -0
- package/dist/components/ui/input/Input.d.ts +11 -0
- package/dist/components/ui/input/Input.d.ts.map +1 -0
- package/dist/components/ui/input/InputWithLabel.d.ts +13 -0
- package/dist/components/ui/input/InputWithLabel.d.ts.map +1 -0
- package/dist/components/ui/input/SearchInput.d.ts +12 -0
- package/dist/components/ui/input/SearchInput.d.ts.map +1 -0
- package/dist/components/ui/input/SearchInputWithButton.d.ts +17 -0
- package/dist/components/ui/input/SearchInputWithButton.d.ts.map +1 -0
- package/dist/components/ui/input/index.d.ts +5 -0
- package/dist/components/ui/input/index.d.ts.map +1 -0
- package/dist/components/ui/input/types.d.ts +2 -0
- package/dist/components/ui/input/types.d.ts.map +1 -0
- package/dist/components/ui/label.d.ts +8 -0
- package/dist/components/ui/label.d.ts.map +1 -0
- package/dist/components/ui/popover.d.ts +7 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/tooltip.d.ts +8 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/decorators/CarouselWrapper.d.ts +10 -0
- package/dist/decorators/CarouselWrapper.d.ts.map +1 -0
- package/dist/decorators/ImageWrapper.d.ts +11 -0
- package/dist/decorators/ImageWrapper.d.ts.map +1 -0
- package/dist/index.d.ts +24 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.es.js +40 -12
- package/dist/index.es.js.map +1 -1
- package/dist/index.es10.js +5 -5
- package/dist/index.es10.js.map +1 -1
- package/dist/index.es11.js +32 -6
- package/dist/index.es11.js.map +1 -1
- package/dist/index.es12.js +24 -22
- package/dist/index.es12.js.map +1 -1
- package/dist/index.es13.js +28 -0
- package/dist/index.es13.js.map +1 -0
- package/dist/index.es14.js +76 -0
- package/dist/index.es14.js.map +1 -0
- package/dist/index.es15.js +38 -0
- package/dist/index.es15.js.map +1 -0
- package/dist/index.es16.js +35 -0
- package/dist/index.es16.js.map +1 -0
- package/dist/index.es17.js +33 -0
- package/dist/index.es17.js.map +1 -0
- package/dist/index.es18.js +31 -0
- package/dist/index.es18.js.map +1 -0
- package/dist/index.es19.js +186 -0
- package/dist/index.es19.js.map +1 -0
- package/dist/index.es2.js +1 -1
- package/dist/index.es20.js +55 -0
- package/dist/index.es20.js.map +1 -0
- package/dist/index.es21.js +60 -0
- package/dist/index.es21.js.map +1 -0
- package/dist/index.es22.js +62 -0
- package/dist/index.es22.js.map +1 -0
- package/dist/index.es23.js +22 -0
- package/dist/index.es23.js.map +1 -0
- package/dist/index.es24.js +22 -0
- package/dist/index.es24.js.map +1 -0
- package/dist/index.es25.js +9 -0
- package/dist/index.es25.js.map +1 -0
- package/dist/index.es26.js +25 -0
- package/dist/index.es26.js.map +1 -0
- package/dist/index.es27.js +30 -0
- package/dist/index.es27.js.map +1 -0
- package/dist/index.es28.js +23 -0
- package/dist/index.es28.js.map +1 -0
- package/dist/index.es29.js +23 -0
- package/dist/index.es29.js.map +1 -0
- package/dist/index.es3.js +2 -2
- package/dist/index.es30.js +14 -0
- package/dist/index.es30.js.map +1 -0
- package/dist/index.es31.js +88 -0
- package/dist/index.es31.js.map +1 -0
- package/dist/index.es32.js +22 -0
- package/dist/index.es32.js.map +1 -0
- package/dist/index.es33.js +49 -0
- package/dist/index.es33.js.map +1 -0
- package/dist/index.es34.js +48 -0
- package/dist/index.es34.js.map +1 -0
- package/dist/index.es35.js +40 -0
- package/dist/index.es35.js.map +1 -0
- package/dist/index.es36.js +59 -0
- package/dist/index.es36.js.map +1 -0
- package/dist/index.es37.js +95 -0
- package/dist/index.es37.js.map +1 -0
- package/dist/index.es38.js +101 -0
- package/dist/index.es38.js.map +1 -0
- package/dist/index.es39.js +30 -0
- package/dist/index.es39.js.map +1 -0
- package/dist/index.es4.js +1 -1
- package/dist/index.es40.js +48 -0
- package/dist/index.es40.js.map +1 -0
- package/dist/index.es41.js +225 -0
- package/dist/index.es41.js.map +1 -0
- package/dist/index.es42.js +19 -0
- package/dist/index.es42.js.map +1 -0
- package/dist/index.es43.js +7 -0
- package/dist/index.es43.js.map +1 -0
- package/dist/index.es5.js +1 -1
- package/dist/index.es6.js +1 -1
- package/dist/index.es7.js +1 -1
- package/dist/index.es8.js +1 -1
- package/dist/index.es9.js.map +1 -1
- package/dist/lib/utils/truncateText.d.ts +3 -0
- package/dist/lib/utils/truncateText.d.ts.map +1 -0
- package/dist/partners/alfa.svg +3 -0
- package/dist/partners/mts.svg +6 -0
- package/dist/partners/otkrytie.svg +8 -0
- package/dist/partners/pochtabank.svg +11 -0
- package/dist/partners/rosbank.svg +10 -0
- package/dist/partners/rostelekom.svg +7 -0
- package/dist/partners/sberbank.svg +33 -0
- package/dist/partners/uralsib.svg +12 -0
- package/dist/partners/vtb.svg +16 -0
- package/dist/sections/CTA.d.ts +12 -0
- package/dist/sections/CTA.d.ts.map +1 -0
- package/dist/sections/CardsGridSection.d.ts +21 -0
- package/dist/sections/CardsGridSection.d.ts.map +1 -0
- package/dist/sections/Hero.d.ts +21 -0
- package/dist/sections/Hero.d.ts.map +1 -0
- package/dist/sections/Partners.d.ts +13 -0
- package/dist/sections/Partners.d.ts.map +1 -0
- package/dist/sections/Section.d.ts +22 -0
- package/dist/sections/Section.d.ts.map +1 -0
- package/dist/sections/common.d.ts +14 -0
- package/dist/sections/common.d.ts.map +1 -0
- package/dist/slides/crossed-circles.svg +59 -0
- package/dist/styles.css +2280 -730
- package/package.json +110 -101
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es38.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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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { cva as t } from "class-variance-authority";
|
|
2
|
+
const i = t("", {
|
|
3
|
+
variants: {
|
|
4
|
+
variant: {
|
|
5
|
+
factoid: "typo_variant_factoid",
|
|
6
|
+
h1: "typo_variant_h1",
|
|
7
|
+
h2: "typo_variant_h2",
|
|
8
|
+
h3: "typo_variant_h3",
|
|
9
|
+
h4: "typo_variant_h4",
|
|
10
|
+
h5: "typo_variant_h5",
|
|
11
|
+
h6: "typo_variant_h6",
|
|
12
|
+
"subtitle-1": "typo_variant_subtitle-1",
|
|
13
|
+
"subtitle-2": "typo_variant_subtitle-2",
|
|
14
|
+
overline: "typo_variant_overline",
|
|
15
|
+
"lead-text": "typo_variant_lead-text",
|
|
16
|
+
body: "typo_variant_body",
|
|
17
|
+
"small-body": "typo_variant_small-body",
|
|
18
|
+
caption: "typo_variant_caption",
|
|
19
|
+
button: "typo_variant_button",
|
|
20
|
+
link: "typo_variant_link"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
defaultVariants: {
|
|
24
|
+
variant: "body"
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
export {
|
|
28
|
+
i as typeVariants
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=index.es39.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es39.js","sources":["../src/components/core/typography/typeVariants.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\r\n\r\nexport const typeVariants = cva(\"\", {\r\n variants: {\r\n variant: {\r\n factoid: \"typo_variant_factoid\",\r\n h1: \"typo_variant_h1\",\r\n h2: \"typo_variant_h2\",\r\n h3: \"typo_variant_h3\",\r\n h4: \"typo_variant_h4\",\r\n h5: \"typo_variant_h5\",\r\n h6: \"typo_variant_h6\",\r\n \"subtitle-1\": \"typo_variant_subtitle-1\",\r\n \"subtitle-2\": \"typo_variant_subtitle-2\",\r\n overline: \"typo_variant_overline\",\r\n \"lead-text\": \"typo_variant_lead-text\",\r\n body: \"typo_variant_body\",\r\n \"small-body\": \"typo_variant_small-body\",\r\n caption: \"typo_variant_caption\",\r\n button: \"typo_variant_button\",\r\n link: \"typo_variant_link\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"body\",\r\n },\r\n});\r\n"],"names":["typeVariants","cva"],"mappings":";AAEa,MAAAA,IAAeC,EAAI,IAAI;AAAA,EAClC,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,cAAc;AAAA,MACd,cAAc;AAAA,MACd,UAAU;AAAA,MACV,aAAa;AAAA,MACb,MAAM;AAAA,MACN,cAAc;AAAA,MACd,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC;"}
|
package/dist/index.es4.js
CHANGED
|
@@ -2,7 +2,7 @@ import t from "react";
|
|
|
2
2
|
import { Button as c } from "./index.es2.js";
|
|
3
3
|
import { ArrowRight16X16 as u } from "@iit/precision-ui-icons";
|
|
4
4
|
import { cva as h } from "class-variance-authority";
|
|
5
|
-
import { cn as a } from "./index.
|
|
5
|
+
import { cn as a } from "./index.es25.js";
|
|
6
6
|
const p = h(
|
|
7
7
|
"bg-white text-navy hover:bg-whitish-opacity-80 cursor-pointer",
|
|
8
8
|
{
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Carousel as c, CarouselContent as n, CarouselItem as i, CarouselPrevious as p, CarouselNext as f } from "./index.es41.js";
|
|
2
|
+
import e from "react";
|
|
3
|
+
import { cn as C } from "./index.es25.js";
|
|
4
|
+
const d = ({
|
|
5
|
+
items: s,
|
|
6
|
+
renderItem: r,
|
|
7
|
+
columns: l,
|
|
8
|
+
showControlsOnDesktop: o,
|
|
9
|
+
className: m
|
|
10
|
+
}) => {
|
|
11
|
+
const u = (a) => {
|
|
12
|
+
switch (a ?? l) {
|
|
13
|
+
case 2:
|
|
14
|
+
return "md:basis-1/2 lg:basis-1/2";
|
|
15
|
+
case 3:
|
|
16
|
+
return "md:basis-1/2 lg:basis-1/3";
|
|
17
|
+
case 4:
|
|
18
|
+
return "md:basis-1/2 lg:basis-1/4";
|
|
19
|
+
default:
|
|
20
|
+
return "md:basis-1/2 lg:basis-1/3";
|
|
21
|
+
}
|
|
22
|
+
};
|
|
23
|
+
return /* @__PURE__ */ e.createElement(
|
|
24
|
+
c,
|
|
25
|
+
{
|
|
26
|
+
opts: {
|
|
27
|
+
align: "start"
|
|
28
|
+
},
|
|
29
|
+
className: C("my-carousel w-full", m)
|
|
30
|
+
},
|
|
31
|
+
/* @__PURE__ */ e.createElement(n, { className: "-ml-4" }, s.map((a, t) => /* @__PURE__ */ e.createElement(
|
|
32
|
+
i,
|
|
33
|
+
{
|
|
34
|
+
key: t,
|
|
35
|
+
className: `pl-4 ${u(
|
|
36
|
+
a.size
|
|
37
|
+
// Safely access `size` property
|
|
38
|
+
)}`
|
|
39
|
+
},
|
|
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
|
+
);
|
|
44
|
+
};
|
|
45
|
+
export {
|
|
46
|
+
d as CarouselWrapper
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=index.es40.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es40.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;"}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import e from "react";
|
|
2
|
+
import R from "embla-carousel-react";
|
|
3
|
+
import { ArrowLeft as z, ArrowRight as D } from "lucide-react";
|
|
4
|
+
import { cn as f } from "./index.es25.js";
|
|
5
|
+
import { Slot as I } from "@radix-ui/react-slot";
|
|
6
|
+
import { cva as j } from "class-variance-authority";
|
|
7
|
+
const A = j(
|
|
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: a, asChild: l = !1, ...n }, c) => {
|
|
32
|
+
const i = l ? I : "button";
|
|
33
|
+
return /* @__PURE__ */ e.createElement(
|
|
34
|
+
i,
|
|
35
|
+
{
|
|
36
|
+
className: f(A({ variant: o, size: a }), r),
|
|
37
|
+
ref: c,
|
|
38
|
+
...n
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
g.displayName = "Button";
|
|
44
|
+
const h = e.createContext(null);
|
|
45
|
+
function v() {
|
|
46
|
+
const r = e.useContext(h);
|
|
47
|
+
if (!r)
|
|
48
|
+
throw new Error("useCarousel must be used within a <Carousel />");
|
|
49
|
+
return r;
|
|
50
|
+
}
|
|
51
|
+
const B = e.forwardRef(
|
|
52
|
+
({
|
|
53
|
+
orientation: r = "horizontal",
|
|
54
|
+
opts: o,
|
|
55
|
+
setApi: a,
|
|
56
|
+
plugins: l,
|
|
57
|
+
className: n,
|
|
58
|
+
children: c,
|
|
59
|
+
...i
|
|
60
|
+
}, m) => {
|
|
61
|
+
const [y, t] = R(
|
|
62
|
+
{
|
|
63
|
+
...o,
|
|
64
|
+
axis: r === "horizontal" ? "x" : "y"
|
|
65
|
+
},
|
|
66
|
+
l
|
|
67
|
+
), [C, E] = e.useState(!1), [S, P] = e.useState(!1), [x, _] = e.useState(0), d = e.useCallback(() => {
|
|
68
|
+
if (!t)
|
|
69
|
+
return;
|
|
70
|
+
const s = t.scrollProgress();
|
|
71
|
+
console.log("progress", s), _(s * 100);
|
|
72
|
+
}, [t]), u = e.useCallback(
|
|
73
|
+
(s) => {
|
|
74
|
+
s && (E(s.canScrollPrev()), P(s.canScrollNext()), d());
|
|
75
|
+
},
|
|
76
|
+
[d]
|
|
77
|
+
), b = e.useCallback(() => {
|
|
78
|
+
t?.scrollPrev();
|
|
79
|
+
}, [t]), p = e.useCallback(() => {
|
|
80
|
+
t?.scrollNext();
|
|
81
|
+
}, [t]), k = e.useCallback(
|
|
82
|
+
(s) => {
|
|
83
|
+
s.key === "ArrowLeft" ? (s.preventDefault(), b()) : s.key === "ArrowRight" && (s.preventDefault(), p());
|
|
84
|
+
},
|
|
85
|
+
[b, p]
|
|
86
|
+
);
|
|
87
|
+
return e.useEffect(() => {
|
|
88
|
+
!t || !a || a(t);
|
|
89
|
+
}, [t, a]), e.useEffect(() => {
|
|
90
|
+
if (t)
|
|
91
|
+
return u(t), t.on("reInit", u), t.on("select", u), t.on("scroll", d), () => {
|
|
92
|
+
t?.off("reInit", u), t?.off("select", u), t?.off("scroll", d);
|
|
93
|
+
};
|
|
94
|
+
}, [t, u, d]), /* @__PURE__ */ e.createElement(
|
|
95
|
+
h.Provider,
|
|
96
|
+
{
|
|
97
|
+
value: {
|
|
98
|
+
carouselRef: y,
|
|
99
|
+
api: t,
|
|
100
|
+
opts: o,
|
|
101
|
+
orientation: r || (o?.axis === "y" ? "vertical" : "horizontal"),
|
|
102
|
+
scrollPrev: b,
|
|
103
|
+
scrollNext: p,
|
|
104
|
+
canScrollPrev: C,
|
|
105
|
+
canScrollNext: S
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
/* @__PURE__ */ e.createElement(
|
|
109
|
+
"div",
|
|
110
|
+
{
|
|
111
|
+
ref: m,
|
|
112
|
+
onKeyDownCapture: k,
|
|
113
|
+
className: f("relative", n),
|
|
114
|
+
role: "region",
|
|
115
|
+
"aria-roledescription": "carousel",
|
|
116
|
+
...i
|
|
117
|
+
},
|
|
118
|
+
c,
|
|
119
|
+
/* @__PURE__ */ e.createElement("div", { className: "relative w-full mt-4 h-1 bg-gray-300 rounded-full overflow-hidden md:max-w-3xl mx-auto" }, /* @__PURE__ */ e.createElement(
|
|
120
|
+
"div",
|
|
121
|
+
{
|
|
122
|
+
className: "absolute top-0 left-0 h-full w-full bg-navy rounded-full transition-transform duration-0",
|
|
123
|
+
style: {
|
|
124
|
+
transform: `translateX(${x - 100}%)`
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
)),
|
|
128
|
+
/* @__PURE__ */ e.createElement("div", { className: "embla__controls max-w-sm mx-auto mt-6 flex justify-center gap-4" }, /* @__PURE__ */ e.createElement("div", { className: "embla__buttons" }, /* @__PURE__ */ e.createElement(N, { className: "relative left-auto top-auto right-auto translate-y-0" }), /* @__PURE__ */ e.createElement(w, { className: "relative left-auto top-auto right-auto translate-y-0" })), /* @__PURE__ */ e.createElement("div", { className: "embla__progress" }, /* @__PURE__ */ e.createElement(
|
|
129
|
+
"div",
|
|
130
|
+
{
|
|
131
|
+
className: "embla__progress__bar",
|
|
132
|
+
style: { transform: `translate3d(${x}%,0px,0px)` }
|
|
133
|
+
}
|
|
134
|
+
)))
|
|
135
|
+
)
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
B.displayName = "Carousel";
|
|
140
|
+
const K = e.forwardRef(({ className: r, ...o }, a) => {
|
|
141
|
+
const { carouselRef: l, orientation: n } = v();
|
|
142
|
+
return /* @__PURE__ */ e.createElement("div", { ref: l, className: "overflow-hidden" }, /* @__PURE__ */ e.createElement(
|
|
143
|
+
"div",
|
|
144
|
+
{
|
|
145
|
+
ref: a,
|
|
146
|
+
className: f(
|
|
147
|
+
"flex",
|
|
148
|
+
n === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
|
|
149
|
+
r
|
|
150
|
+
),
|
|
151
|
+
...o
|
|
152
|
+
}
|
|
153
|
+
));
|
|
154
|
+
});
|
|
155
|
+
K.displayName = "CarouselContent";
|
|
156
|
+
const L = e.forwardRef(({ className: r, ...o }, a) => {
|
|
157
|
+
const { orientation: l } = v();
|
|
158
|
+
return /* @__PURE__ */ e.createElement(
|
|
159
|
+
"div",
|
|
160
|
+
{
|
|
161
|
+
ref: a,
|
|
162
|
+
role: "group",
|
|
163
|
+
"aria-roledescription": "slide",
|
|
164
|
+
className: f(
|
|
165
|
+
"min-w-0 shrink-0 grow-0 basis-full",
|
|
166
|
+
l === "horizontal" ? "pl-4" : "pt-4",
|
|
167
|
+
r
|
|
168
|
+
),
|
|
169
|
+
...o
|
|
170
|
+
}
|
|
171
|
+
);
|
|
172
|
+
});
|
|
173
|
+
L.displayName = "CarouselItem";
|
|
174
|
+
const N = e.forwardRef(({ className: r, variant: o = "outline", size: a = "icon", ...l }, n) => {
|
|
175
|
+
const { orientation: c, scrollPrev: i, canScrollPrev: m } = v();
|
|
176
|
+
return /* @__PURE__ */ e.createElement(
|
|
177
|
+
g,
|
|
178
|
+
{
|
|
179
|
+
ref: n,
|
|
180
|
+
variant: o,
|
|
181
|
+
size: a,
|
|
182
|
+
className: f(
|
|
183
|
+
"absolute h-8 w-8 rounded-full",
|
|
184
|
+
c === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
185
|
+
r
|
|
186
|
+
),
|
|
187
|
+
disabled: !m,
|
|
188
|
+
onClick: i,
|
|
189
|
+
...l
|
|
190
|
+
},
|
|
191
|
+
/* @__PURE__ */ e.createElement(z, { className: "h-4 w-4" }),
|
|
192
|
+
/* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Previous slide")
|
|
193
|
+
);
|
|
194
|
+
});
|
|
195
|
+
N.displayName = "CarouselPrevious";
|
|
196
|
+
const w = e.forwardRef(({ className: r, variant: o = "outline", size: a = "icon", ...l }, n) => {
|
|
197
|
+
const { orientation: c, scrollNext: i, canScrollNext: m } = v();
|
|
198
|
+
return /* @__PURE__ */ e.createElement(
|
|
199
|
+
g,
|
|
200
|
+
{
|
|
201
|
+
ref: n,
|
|
202
|
+
variant: o,
|
|
203
|
+
size: a,
|
|
204
|
+
className: f(
|
|
205
|
+
"absolute h-8 w-8 rounded-full",
|
|
206
|
+
c === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
|
|
207
|
+
r
|
|
208
|
+
),
|
|
209
|
+
disabled: !m,
|
|
210
|
+
onClick: i,
|
|
211
|
+
...l
|
|
212
|
+
},
|
|
213
|
+
/* @__PURE__ */ e.createElement(D, { className: "h-4 w-4" }),
|
|
214
|
+
/* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Next slide")
|
|
215
|
+
);
|
|
216
|
+
});
|
|
217
|
+
w.displayName = "CarouselNext";
|
|
218
|
+
export {
|
|
219
|
+
B as Carousel,
|
|
220
|
+
K as CarouselContent,
|
|
221
|
+
L as CarouselItem,
|
|
222
|
+
w as CarouselNext,
|
|
223
|
+
N as CarouselPrevious
|
|
224
|
+
};
|
|
225
|
+
//# sourceMappingURL=index.es41.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es41.js","sources":["../src/components/ui/carousel.tsx"],"sourcesContent":["import React from 'react'\r\nimport useEmblaCarousel, {\r\n type UseEmblaCarouselType,\r\n} from 'embla-carousel-react'\r\nimport { ArrowLeft, ArrowRight } from 'lucide-react'\r\n\r\nimport { cn } from '@/lib/utils/cn'\r\n// import { Button } from './button'\r\n\r\n// Button here to reuse\r\nimport { Slot } from '@radix-ui/react-slot'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\n\r\nconst buttonVariants = cva(\r\n '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',\r\n {\r\n variants: {\r\n variant: {\r\n default: 'bg-white text-navy hover:bg-navy-opacity-4',\r\n destructive:\r\n 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\r\n outline:\r\n 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\r\n ghost: 'hover:bg-accent hover:text-accent-foreground',\r\n link: 'text-primary underline-offset-4 hover:underline',\r\n },\r\n size: {\r\n default: 'h-10 px-4 py-2',\r\n sm: 'h-9 rounded-md px-3',\r\n lg: 'h-11 rounded-md px-8',\r\n icon: 'h-10 w-10',\r\n },\r\n },\r\n defaultVariants: {\r\n // variant: \"default\",\r\n // size: \"default\",\r\n },\r\n }\r\n)\r\n\r\nexport interface ButtonProps\r\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\r\n VariantProps<typeof buttonVariants> {\r\n asChild?: boolean\r\n}\r\n\r\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\r\n ({ className, variant, size, asChild = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : 'button'\r\n return (\r\n <Comp\r\n className={cn(buttonVariants({ variant, size }), className)}\r\n ref={ref}\r\n {...props}\r\n />\r\n )\r\n }\r\n)\r\nButton.displayName = 'Button'\r\n\r\n// end of Button\r\n\r\ntype CarouselApi = UseEmblaCarouselType[1]\r\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\r\ntype CarouselOptions = UseCarouselParameters[0]\r\ntype CarouselPlugin = UseCarouselParameters[1]\r\n\r\ntype CarouselProps = {\r\n opts?: CarouselOptions\r\n plugins?: CarouselPlugin\r\n orientation?: 'horizontal' | 'vertical'\r\n setApi?: (api: CarouselApi) => void\r\n}\r\n\r\ntype CarouselContextProps = {\r\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\r\n api: ReturnType<typeof useEmblaCarousel>[1]\r\n scrollPrev: () => void\r\n scrollNext: () => void\r\n canScrollPrev: boolean\r\n canScrollNext: boolean\r\n} & CarouselProps\r\n\r\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\r\n\r\nfunction useCarousel() {\r\n const context = React.useContext(CarouselContext)\r\n\r\n if (!context) {\r\n throw new Error('useCarousel must be used within a <Carousel />')\r\n }\r\n\r\n return context\r\n}\r\n\r\nconst Carousel = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\r\n>(\r\n (\r\n {\r\n orientation = 'horizontal',\r\n opts,\r\n setApi,\r\n plugins,\r\n className,\r\n children,\r\n ...props\r\n },\r\n ref\r\n ) => {\r\n const [carouselRef, api] = useEmblaCarousel(\r\n {\r\n ...opts,\r\n axis: orientation === 'horizontal' ? 'x' : 'y',\r\n },\r\n plugins\r\n )\r\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\r\n const [canScrollNext, setCanScrollNext] = React.useState(false)\r\n const [scrollProgress, setScrollProgress] = React.useState(0)\r\n\r\n const onScroll = React.useCallback(() => {\r\n if (!api) return\r\n const progress = api.scrollProgress()\r\n console.log('progress', progress)\r\n setScrollProgress(progress * 100) // Convert to percentage\r\n }, [api])\r\n\r\n const onSelect = React.useCallback(\r\n (api: CarouselApi) => {\r\n if (!api) return\r\n setCanScrollPrev(api.canScrollPrev())\r\n setCanScrollNext(api.canScrollNext())\r\n onScroll() // Update scroll progress when selection changes\r\n },\r\n [onScroll]\r\n )\r\n\r\n const scrollPrev = React.useCallback(() => {\r\n api?.scrollPrev()\r\n }, [api])\r\n\r\n const scrollNext = React.useCallback(() => {\r\n api?.scrollNext()\r\n }, [api])\r\n\r\n const handleKeyDown = React.useCallback(\r\n (event: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (event.key === 'ArrowLeft') {\r\n event.preventDefault()\r\n scrollPrev()\r\n } else if (event.key === 'ArrowRight') {\r\n event.preventDefault()\r\n scrollNext()\r\n }\r\n },\r\n [scrollPrev, scrollNext]\r\n )\r\n\r\n React.useEffect(() => {\r\n if (!api || !setApi) return\r\n setApi(api)\r\n }, [api, setApi])\r\n\r\n React.useEffect(() => {\r\n if (!api) return\r\n onSelect(api)\r\n api.on('reInit', onSelect)\r\n api.on('select', onSelect)\r\n api.on('scroll', onScroll) // Update on scroll events\r\n\r\n return () => {\r\n api?.off('reInit', onSelect)\r\n api?.off('select', onSelect)\r\n api?.off('scroll', onScroll)\r\n }\r\n }, [api, onSelect, onScroll])\r\n\r\n // const { selectedIndex, scrollSnaps, onDotButtonClick } = useDotButton(api)\r\n\r\n return (\r\n <CarouselContext.Provider\r\n value={{\r\n carouselRef,\r\n api: api,\r\n opts,\r\n orientation:\r\n orientation || (opts?.axis === 'y' ? 'vertical' : 'horizontal'),\r\n scrollPrev,\r\n scrollNext,\r\n canScrollPrev,\r\n canScrollNext,\r\n }}\r\n >\r\n <div\r\n ref={ref}\r\n onKeyDownCapture={handleKeyDown}\r\n className={cn('relative', className)}\r\n role=\"region\"\r\n aria-roledescription=\"carousel\"\r\n {...props}\r\n >\r\n {children}\r\n\r\n {/* Scroll Progress Indicator */}\r\n <div className=\"relative w-full mt-4 h-1 bg-gray-300 rounded-full overflow-hidden md:max-w-3xl mx-auto\">\r\n <div\r\n className=\"absolute top-0 left-0 h-full w-full bg-navy rounded-full transition-transform duration-0\"\r\n style={{\r\n transform: `translateX(${scrollProgress - 100}%)`,\r\n }}\r\n ></div>\r\n </div>\r\n\r\n <div className=\"embla__controls max-w-sm mx-auto mt-6 flex justify-center gap-4\">\r\n <div className=\"embla__buttons\">\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 <div className=\"embla__progress\">\r\n <div\r\n className=\"embla__progress__bar\"\r\n style={{ transform: `translate3d(${scrollProgress}%,0px,0px)` }}\r\n />\r\n </div>\r\n </div>\r\n\r\n {/* Dots: not used */}\r\n {/* <div className=\"embla__controls\">\r\n <div className=\"embla__buttons\">\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 <div className=\"embla__dots\">\r\n {scrollSnaps.map((_, index) => (\r\n <DotButton\r\n key={index}\r\n onClick={() => onDotButtonClick(index)}\r\n className={\"embla__dot\".concat(\r\n index === selectedIndex ? \" embla__dot--selected\" : \"\"\r\n )}\r\n />\r\n ))}\r\n </div>\r\n </div> */}\r\n </div>\r\n </CarouselContext.Provider>\r\n )\r\n }\r\n)\r\nCarousel.displayName = 'Carousel'\r\n\r\nconst CarouselContent = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { carouselRef, orientation } = useCarousel()\r\n\r\n return (\r\n <div ref={carouselRef} className=\"overflow-hidden\">\r\n <div\r\n ref={ref}\r\n className={cn(\r\n 'flex',\r\n orientation === 'horizontal' ? '-ml-4' : '-mt-4 flex-col',\r\n className\r\n )}\r\n {...props}\r\n />\r\n </div>\r\n )\r\n})\r\nCarouselContent.displayName = 'CarouselContent'\r\n\r\nconst CarouselItem = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement>\r\n>(({ className, ...props }, ref) => {\r\n const { orientation } = useCarousel()\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n role=\"group\"\r\n aria-roledescription=\"slide\"\r\n className={cn(\r\n 'min-w-0 shrink-0 grow-0 basis-full',\r\n orientation === 'horizontal' ? 'pl-4' : 'pt-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n})\r\nCarouselItem.displayName = 'CarouselItem'\r\n\r\nconst CarouselPrevious = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\r\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n 'absolute h-8 w-8 rounded-full',\r\n orientation === 'horizontal'\r\n ? '-left-12 top-1/2 -translate-y-1/2'\r\n : '-top-12 left-1/2 -translate-x-1/2 rotate-90',\r\n className\r\n )}\r\n disabled={!canScrollPrev}\r\n onClick={scrollPrev}\r\n {...props}\r\n >\r\n <ArrowLeft className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Previous slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselPrevious.displayName = 'CarouselPrevious'\r\n\r\nconst CarouselNext = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<typeof Button>\r\n>(({ className, variant = 'outline', size = 'icon', ...props }, ref) => {\r\n const { orientation, scrollNext, canScrollNext } = useCarousel()\r\n\r\n return (\r\n <Button\r\n ref={ref}\r\n variant={variant}\r\n size={size}\r\n className={cn(\r\n 'absolute h-8 w-8 rounded-full',\r\n orientation === 'horizontal'\r\n ? '-right-12 top-1/2 -translate-y-1/2'\r\n : '-bottom-12 left-1/2 -translate-x-1/2 rotate-90',\r\n className\r\n )}\r\n disabled={!canScrollNext}\r\n onClick={scrollNext}\r\n {...props}\r\n >\r\n <ArrowRight className=\"h-4 w-4\" />\r\n <span className=\"sr-only\">Next slide</span>\r\n </Button>\r\n )\r\n})\r\nCarouselNext.displayName = 'CarouselNext'\r\n\r\nexport {\r\n type CarouselApi,\r\n Carousel,\r\n CarouselContent,\r\n CarouselItem,\r\n CarouselPrevious,\r\n CarouselNext,\r\n}\r\n"],"names":["buttonVariants","cva","Button","React","className","variant","size","asChild","props","ref","Comp","Slot","cn","CarouselContext","useCarousel","context","Carousel","orientation","opts","setApi","plugins","children","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","scrollProgress","setScrollProgress","onScroll","progress","onSelect","scrollPrev","scrollNext","handleKeyDown","event","CarouselPrevious","CarouselNext","CarouselContent","CarouselItem","ArrowLeft","ArrowRight"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import t from "react";
|
|
2
|
+
import a from "./index.es24.js";
|
|
3
|
+
import { getAdapter as o } from "./index.es9.js";
|
|
4
|
+
import i from "./index.es43.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,
|
|
9
|
+
{
|
|
10
|
+
href: r,
|
|
11
|
+
className: "breadcrumb hover:text-whitish-opacity-60 duration-200"
|
|
12
|
+
},
|
|
13
|
+
i(e, 55)
|
|
14
|
+
)) : /* @__PURE__ */ t.createElement(a, { variant: "link", className: "text-whitish breadcrumb" }, i(e, 55));
|
|
15
|
+
};
|
|
16
|
+
export {
|
|
17
|
+
l as default
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=index.es42.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es42.js","sources":["../src/components/breadcrumbs/Breadcrumb.tsx"],"sourcesContent":["import React from 'react'\r\nimport Text from '../core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\nimport truncateText from '@/lib/utils/truncateText'\r\n\r\nexport interface BreadcrumbProps {\r\n title: string\r\n href?: string\r\n}\r\n\r\nconst Breadcrumb: React.FC<BreadcrumbProps> = ({ title, href }) => {\r\n const LinkWrapper = getAdapter('LinkWrapper')\r\n\r\n if (!href)\r\n return (\r\n <Text variant=\"link\" className=\"text-whitish breadcrumb\">\r\n {truncateText(title, 55)}\r\n </Text>\r\n )\r\n\r\n return (\r\n <Text variant=\"small-body\" className=\"text-whitish-opacity-32\">\r\n <LinkWrapper\r\n href={href}\r\n className=\"breadcrumb hover:text-whitish-opacity-60 duration-200\"\r\n >\r\n {truncateText(title, 55)}\r\n </LinkWrapper>\r\n </Text>\r\n )\r\n}\r\n\r\nexport default Breadcrumb\r\n"],"names":["Breadcrumb","title","href","LinkWrapper","getAdapter","React","Text","truncateText"],"mappings":";;;;AAUA,MAAMA,IAAwC,CAAC,EAAE,OAAAC,GAAO,MAAAC,QAAW;AAC3D,QAAAC,IAAcC,EAAW,aAAa;AAE5C,SAAKF,IAQFG,gBAAAA,EAAA,cAAAC,GAAA,EAAK,SAAQ,cAAa,WAAU,6BACnCD,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,MAAAD;AAAA,MACA,WAAU;AAAA,IAAA;AAAA,IAETK,EAAaN,GAAO,EAAE;AAAA,EAAA,CAE3B,IAbEI,gBAAAA,EAAA,cAACC,KAAK,SAAQ,QAAO,WAAU,0BAC5B,GAAAC,EAAaN,GAAO,EAAE,CACzB;AAaN;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.es43.js","sources":["../src/lib/utils/truncateText.ts"],"sourcesContent":["function truncateText(text: string, maxLength: number): string {\r\n if (!text) return ''\r\n if (text.length <= maxLength) {\r\n return text\r\n }\r\n return text.slice(0, maxLength) + '...'\r\n}\r\n\r\nexport default truncateText\r\n"],"names":["truncateText","text","maxLength"],"mappings":"AAAA,SAASA,EAAaC,GAAcC,GAA2B;AAC7D,SAAKD,IACDA,EAAK,UAAUC,IACVD,IAEFA,EAAK,MAAM,GAAGC,CAAS,IAAI,QAJhB;AAKpB;"}
|
package/dist/index.es5.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import t from "react";
|
|
2
2
|
import { Button as p } from "./index.es2.js";
|
|
3
3
|
import { cva as l } from "class-variance-authority";
|
|
4
|
-
import { cn as u } from "./index.
|
|
4
|
+
import { cn as u } from "./index.es25.js";
|
|
5
5
|
const f = l(
|
|
6
6
|
"transition-all rounded-lg hover:rounded-[24px] border",
|
|
7
7
|
{
|
package/dist/index.es6.js
CHANGED
|
@@ -2,7 +2,7 @@ import t from "react";
|
|
|
2
2
|
import { Button as s } from "./index.es2.js";
|
|
3
3
|
import { LessLink16X16 as c, MoreLink16X16 as u, ArrowLinkRight16X16 as m } from "@iit/precision-ui-icons";
|
|
4
4
|
import { cva as r } from "class-variance-authority";
|
|
5
|
-
import { cn as n } from "./index.
|
|
5
|
+
import { cn as n } from "./index.es25.js";
|
|
6
6
|
import { ArrowDownToLine as d } from "lucide-react";
|
|
7
7
|
const f = r("bg-link-gradient-container hover:cursor-pointer", {
|
|
8
8
|
variants: {
|
package/dist/index.es7.js
CHANGED
|
@@ -2,7 +2,7 @@ import t from "react";
|
|
|
2
2
|
import { Button as s } from "./index.es2.js";
|
|
3
3
|
import { ServicesModal16X16 as u, Login16X16 as c } from "@iit/precision-ui-icons";
|
|
4
4
|
import { cva as i } from "class-variance-authority";
|
|
5
|
-
import { cn as n } from "./index.
|
|
5
|
+
import { cn as n } from "./index.es25.js";
|
|
6
6
|
const m = i("bg-link-gradient-container group cursor-pointer", {
|
|
7
7
|
variants: {
|
|
8
8
|
variant: {
|
package/dist/index.es8.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import l from "react";
|
|
2
2
|
import { cva as s } from "class-variance-authority";
|
|
3
|
-
import { cn as c } from "./index.
|
|
3
|
+
import { cn as c } from "./index.es25.js";
|
|
4
4
|
import { getAdapter as f } from "./index.es9.js";
|
|
5
5
|
const m = s("duration-200 transition-colors", {
|
|
6
6
|
variants: {
|
package/dist/index.es9.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es9.js","sources":["../src/Adapters.tsx"],"sourcesContent":["type ComponentAdapter<TProps = unknown> = React.FC<TProps>\r\n\r\ninterface Adapters {\r\n LinkWrapper?: ComponentAdapter<{\r\n href: string\r\n children: React.ReactNode\r\n className?: string\r\n target?: string\r\n rel?: string\r\n }>\r\n ImageWrapper?: ComponentAdapter<{\r\n src: string\r\n alt: string\r\n width?: number\r\n height?: number\r\n className?: string\r\n }>\r\n}\r\n\r\nconst adapters: Adapters = {}\r\n\r\nexport const registerAdapter = <T extends keyof Adapters>(\r\n key: T,\r\n adapter: NonNullable<Adapters[T]>\r\n) => {\r\n adapters[key] = adapter\r\n}\r\n\r\nexport const getAdapter = <T extends keyof Adapters>(\r\n key: T\r\n): NonNullable<Adapters[T]> => {\r\n const adapter = adapters[key]\r\n if (!adapter) {\r\n throw new Error(`Adapter for ${key} is not registered.`)\r\n }\r\n return adapter\r\n}\r\n"],"names":["adapters","registerAdapter","key","adapter","getAdapter"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es9.js","sources":["../src/Adapters.tsx"],"sourcesContent":["type ComponentAdapter<TProps = unknown> = React.FC<TProps>\r\n\r\ninterface Adapters {\r\n LinkWrapper?: ComponentAdapter<{\r\n href: string\r\n children: React.ReactNode\r\n className?: string\r\n target?: string\r\n rel?: string\r\n }>\r\n ImageWrapper?: ComponentAdapter<{\r\n src: string\r\n alt: string\r\n width?: number\r\n height?: number\r\n className?: string\r\n objectFit?: string\r\n }>\r\n // CarouselWrapper?: ComponentAdapter<{\r\n // items: unknown[]\r\n // renderItem: (item: unknown, index: number) => React.ReactNode\r\n // columns: number\r\n // showControlsOnDesktop: boolean\r\n // className?: string\r\n // }>\r\n}\r\n\r\nconst adapters: Adapters = {}\r\n\r\nexport const registerAdapter = <T extends keyof Adapters>(\r\n key: T,\r\n adapter: NonNullable<Adapters[T]>\r\n) => {\r\n adapters[key] = adapter\r\n}\r\n\r\nexport const getAdapter = <T extends keyof Adapters>(\r\n key: T\r\n): NonNullable<Adapters[T]> => {\r\n const adapter = adapters[key]\r\n if (!adapter) {\r\n throw new Error(`Adapter for ${key} is not registered.`)\r\n }\r\n return adapter\r\n}\r\n"],"names":["adapters","registerAdapter","key","adapter","getAdapter"],"mappings":"AA2BA,MAAMA,IAAqB,CAAA,GAEdC,IAAkB,CAC7BC,GACAC,MACG;AACH,EAAAH,EAASE,CAAG,IAAIC;AAClB,GAEaC,IAAa,CACxBF,MAC6B;AACvB,QAAAC,IAAUH,EAASE,CAAG;AAC5B,MAAI,CAACC;AACH,UAAM,IAAI,MAAM,eAAeD,CAAG,qBAAqB;AAElD,SAAAC;AACT;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"truncateText.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/truncateText.ts"],"names":[],"mappings":"AAAA,iBAAS,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED,eAAe,YAAY,CAAA"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
<svg width="160" height="65" viewBox="0 0 160 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path fill-rule="evenodd" clip-rule="evenodd" d="M58.9287 65V56.2609H100.564V65H58.9287ZM73.7978 28.1688H85.3703L79.8548 10.6367H79.6377L73.7991 28.1688H73.7978ZM87.3148 7.39974L99.5909 44.3884H90.5067L87.7489 35.5968H71.3107L68.3359 44.3897H59.7956L72.6781 7.40102C73.9255 3.81317 75.3823 1 80.0705 1C84.7588 1 86.1275 3.82342 87.3148 7.39974Z" fill="#EF3124"/>
|
|
3
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<svg width="162" height="65" viewBox="0 0 162 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M109.5 5H53.5V61H109.5V5Z" fill="#FF0032"/>
|
|
3
|
+
<path d="M90.8057 9.30664V11.8839H96.4412V22.2271H99.5912V11.8839H105.215V9.30664H90.8057Z" fill="white"/>
|
|
4
|
+
<path d="M70.5439 9.30679L66.4202 17.8518L62.3082 9.30679H57.8066V22.2273H60.968V12.9836L64.9885 20.7954H67.8635L71.8839 12.9836V22.2273H75.0339V9.30679H70.5439Z" fill="white"/>
|
|
5
|
+
<path d="M102.066 52.3863C101.986 52.9017 101.78 53.3255 101.448 53.6463C101.139 53.9441 100.715 54.1617 100.188 54.2877C99.6725 54.4023 98.9051 54.471 98.1033 54.471C97.2671 54.471 96.534 54.3679 95.904 54.1503C95.297 53.9441 94.8159 53.5775 94.4837 53.0735C94.14 52.5695 93.9682 51.8366 93.9682 50.8858V49.5686C93.9682 48.6293 94.14 47.8962 94.4837 47.3807C94.8273 46.8767 95.297 46.5103 95.904 46.3041C96.5226 46.0865 97.2671 45.9834 98.1033 45.9834C98.9051 45.9834 99.6725 46.0521 100.188 46.1667C100.715 46.2927 101.139 46.4987 101.448 46.808C101.78 47.1287 101.986 47.5526 102.066 48.068H105.216C105.125 47.0027 104.77 46.098 104.14 45.3649C103.567 44.7005 102.765 44.2194 101.769 43.9216C100.806 43.6352 99.535 43.4863 98.1033 43.4863C96.5913 43.4863 95.2855 43.704 94.2088 44.1278C93.1207 44.5631 92.2731 45.2847 91.6889 46.2812C91.1276 47.2318 90.8413 48.5147 90.8184 50.0726V50.2215L90.9902 50.2329L90.8184 50.2444V50.2558V50.3933C90.8413 51.9511 91.1276 53.2339 91.6889 54.1846C92.2731 55.1812 93.1207 55.9028 94.2088 56.3381C95.2855 56.7619 96.5913 56.9795 98.1033 56.9795C99.535 56.9795 100.806 56.8306 101.769 56.5443C102.765 56.2464 103.556 55.7653 104.14 55.101C104.77 54.3793 105.136 53.463 105.216 52.3977H102.066V52.3863Z" fill="white"/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<svg width="160" height="65" viewBox="0 0 160 65" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<path d="M42.7949 52.5554H40.3867V45.5269H44.5349V46.2245H41.2221V48.4956H42.7852C44.2008 48.4956 45.105 49.0849 45.105 50.4912V50.5303C45.105 51.857 44.2008 52.5554 42.7949 52.5554ZM42.7754 51.8865C43.7975 51.8865 44.2693 51.3855 44.2693 50.5303V50.4912C44.2693 49.6257 43.7879 49.1638 42.6965 49.1638H41.2221V51.8865H42.7754Z" fill="#1F232B"/>
|
|
3
|
+
<path d="M45.8799 51.1302C45.8799 49.9406 47.1381 49.5376 48.4553 49.5376H49.1927V49.1641C49.1927 48.3486 48.8781 48.0046 48.0917 48.0046C47.3838 48.0046 46.9908 48.2993 46.912 48.9284H46.0961C46.2044 47.7586 47.1381 47.3262 48.1311 47.3262C49.1138 47.3262 50.0085 47.7291 50.0085 49.1641V52.5557H49.1927V51.9067C48.8092 52.3885 48.3473 52.6441 47.5904 52.6441C46.6368 52.6441 45.8799 52.1822 45.8799 51.1302ZM49.1927 50.7568V50.1174H48.4847C47.4527 50.1174 46.6957 50.3731 46.6957 51.1303C46.6957 51.6608 46.9514 51.9952 47.6689 51.9952C48.5341 51.9951 49.1927 51.5531 49.1927 50.7568Z" fill="#1F232B"/>
|
|
4
|
+
<path d="M54.7267 50.2649H52.2006V52.5553H51.3848V47.4141H52.2006V49.5769H54.7267V47.4141H55.5429V52.5553H54.7267V50.2649Z" fill="#1F232B"/>
|
|
5
|
+
<path d="M57.767 49.9306V52.5553H56.9512V47.4141H57.767V49.8127L59.9001 47.4141H60.8537L58.6518 49.8325L61.0404 52.5553H60.0475L57.767 49.9306Z" fill="#1F232B"/>
|
|
6
|
+
<path d="M16.9379 13C8.41196 13 1.5 19.912 1.5 28.4367C1.5 36.9618 8.41196 43.8772 16.9379 43.8772C25.4627 43.8772 32.3782 36.9618 32.3782 28.4367C32.3782 19.912 25.4627 13 16.9379 13ZM14.7477 35.0046L13.6097 38.3791C9.3327 36.9368 6.4595 32.914 6.4595 28.3689C6.4595 23.8185 9.33824 19.7944 13.6225 18.3559L14.7564 21.7324C11.9239 22.6832 10.0211 25.3502 10.0211 28.3689C10.0211 31.3843 11.9207 34.051 14.7477 35.0046ZM20.058 38.4472L18.9916 35.0492C21.9018 34.1359 23.8571 31.4512 23.8571 28.3689C23.8571 25.3252 21.9331 22.6513 19.0688 21.7154L20.1756 18.3298C24.5079 19.7457 27.4187 23.7803 27.4187 28.3689C27.4187 33.0156 24.4606 37.0658 20.058 38.4472Z" fill="#02BAE8"/>
|
|
7
|
+
<path d="M156.101 30.9291L157.789 32.9504C156.064 34.7678 153.876 35.2685 152.133 35.2685C150.482 35.2685 149.239 35.0088 148.22 34.4896C145.976 33.3769 144.844 31.1145 144.844 28.3699C144.844 24.1973 147.663 21.156 151.817 21.156C156.416 21.156 158.661 24.6053 158.364 29.0931L147.83 29.1117C147.886 30.2429 148.535 31.3185 149.444 31.8563C150.204 32.3199 151.094 32.561 152.318 32.561C153.597 32.561 154.933 32.1159 156.101 30.9291ZM147.868 26.6823H155.303C155.118 25.0504 153.783 23.6781 151.632 23.6781C149.444 23.6781 148.127 25.1987 147.868 26.6823ZM77.1749 34.9161H80.9763L75.0051 27.999L80.8837 21.4898H77.1377L72.65 26.7008H71.3334V21.4898H68.4219V34.9161H71.3334V29.5753H72.6689L77.1749 34.9161ZM89.544 23.9006C87.1153 23.9006 85.5012 25.7921 85.5012 28.203C85.5012 30.6138 87.1153 32.5053 89.544 32.5053C92.0289 32.5053 93.5686 30.6509 93.5686 28.203C93.5686 25.8107 92.0661 23.9006 89.544 23.9006ZM90.0451 21.156C93.8282 21.156 96.61 24.1232 96.61 28.203C96.61 32.2272 93.8465 35.2685 90.0451 35.2685C88.1903 35.2685 86.744 34.638 85.7054 33.5067V40.4981H82.7756V21.4898H85.6311V23.1032C86.744 21.768 88.1903 21.156 90.0451 21.156ZM128.265 21.4898H116.249V24.1788H120.792V34.9161H123.722V24.1788H128.265V21.4898ZM66.4005 21.4898H54.3835V24.1788H58.927V34.9161H61.857V24.1788H66.4005V21.4898ZM50.823 28.203C50.823 25.6994 49.0427 23.845 46.6319 23.845C44.2396 23.845 42.4408 25.6438 42.4408 28.203C42.4408 30.7251 44.184 32.5795 46.6319 32.5795C49.0242 32.5795 50.823 30.7436 50.823 28.203ZM39.4365 28.203C39.4365 24.1788 42.552 21.156 46.6319 21.156C50.7117 21.156 53.8272 24.1788 53.8272 28.203C53.8272 32.2272 50.7117 35.2685 46.6319 35.2685C42.552 35.2685 39.4365 32.2272 39.4365 28.203ZM142.471 21.4898V34.9161H139.597V26.2558L132.568 34.9161H130.268V21.4898H133.143V30.1317L140.19 21.4898H142.471ZM114.246 34.9161H111.334V21.4898H114.246V34.9161ZM106.791 30.3356C106.791 29.1302 105.956 28.2957 104.806 28.2957H101.858V32.4312H104.806C105.956 32.4312 106.791 31.541 106.791 30.3356ZM109.684 30.3356C109.684 33.0246 107.736 34.9161 104.899 34.9161H98.9833V21.4898H101.877V25.8293H105.159C107.941 25.8293 109.684 27.6281 109.684 30.3356Z" fill="#1F232B"/>
|
|
8
|
+
</svg>
|