@iit/precision-ui 0.6.0 → 0.7.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 (122) hide show
  1. package/dist/components/ArticlePreviewTag.d.ts +11 -0
  2. package/dist/components/ArticlePreviewTag.d.ts.map +1 -0
  3. package/dist/components/cards/AdvantageWithAccordion.d.ts +12 -0
  4. package/dist/components/cards/AdvantageWithAccordion.d.ts.map +1 -0
  5. package/dist/components/cards/Connect.d.ts +19 -0
  6. package/dist/components/cards/Connect.d.ts.map +1 -0
  7. package/dist/components/cards/Doc.d.ts +11 -0
  8. package/dist/components/cards/Doc.d.ts.map +1 -0
  9. package/dist/components/cards/FAQ.d.ts +14 -0
  10. package/dist/components/cards/FAQ.d.ts.map +1 -0
  11. package/dist/components/cards/License.d.ts +10 -0
  12. package/dist/components/cards/License.d.ts.map +1 -0
  13. package/dist/components/cards/Package.d.ts +28 -0
  14. package/dist/components/cards/Package.d.ts.map +1 -0
  15. package/dist/components/pieces/ShowMoreAccordionTrigger.d.ts +8 -0
  16. package/dist/components/pieces/ShowMoreAccordionTrigger.d.ts.map +1 -0
  17. package/dist/components/ui/TagLink.d.ts +14 -0
  18. package/dist/components/ui/TagLink.d.ts.map +1 -0
  19. package/dist/components/ui/accordion.d.ts +15 -0
  20. package/dist/components/ui/accordion.d.ts.map +1 -0
  21. package/dist/components/ui/tabs.d.ts +8 -0
  22. package/dist/components/ui/tabs.d.ts.map +1 -0
  23. package/dist/icons/comet.svg +5 -0
  24. package/dist/index.d.ts +23 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.es.js +105 -63
  27. package/dist/index.es.js.map +1 -1
  28. package/dist/index.es10.js +1 -1
  29. package/dist/index.es11.js +1 -1
  30. package/dist/index.es13.js +1 -1
  31. package/dist/index.es15.js +1 -1
  32. package/dist/index.es16.js +2 -2
  33. package/dist/index.es18.js +1 -1
  34. package/dist/index.es19.js +1 -1
  35. package/dist/index.es2.js +1 -1
  36. package/dist/index.es20.js +1 -1
  37. package/dist/index.es21.js +14 -23
  38. package/dist/index.es21.js.map +1 -1
  39. package/dist/index.es22.js +37 -201
  40. package/dist/index.es22.js.map +1 -1
  41. package/dist/index.es23.js +31 -46
  42. package/dist/index.es23.js.map +1 -1
  43. package/dist/index.es24.js +48 -52
  44. package/dist/index.es24.js.map +1 -1
  45. package/dist/index.es25.js +14 -61
  46. package/dist/index.es25.js.map +1 -1
  47. package/dist/index.es26.js +6 -20
  48. package/dist/index.es26.js.map +1 -1
  49. package/dist/index.es27.js +52 -18
  50. package/dist/index.es27.js.map +1 -1
  51. package/dist/index.es28.js +27 -91
  52. package/dist/index.es28.js.map +1 -1
  53. package/dist/index.es29.js +88 -81
  54. package/dist/index.es29.js.map +1 -1
  55. package/dist/index.es3.js +2 -2
  56. package/dist/index.es30.js +54 -31
  57. package/dist/index.es30.js.map +1 -1
  58. package/dist/index.es31.js +92 -6
  59. package/dist/index.es31.js.map +1 -1
  60. package/dist/index.es32.js +97 -21
  61. package/dist/index.es32.js.map +1 -1
  62. package/dist/index.es33.js +12 -19
  63. package/dist/index.es33.js.map +1 -1
  64. package/dist/index.es34.js +43 -18
  65. package/dist/index.es34.js.map +1 -1
  66. package/dist/index.es35.js +23 -10
  67. package/dist/index.es35.js.map +1 -1
  68. package/dist/index.es36.js +26 -83
  69. package/dist/index.es36.js.map +1 -1
  70. package/dist/index.es37.js +207 -16
  71. package/dist/index.es37.js.map +1 -1
  72. package/dist/index.es38.js +47 -41
  73. package/dist/index.es38.js.map +1 -1
  74. package/dist/index.es39.js +53 -48
  75. package/dist/index.es39.js.map +1 -1
  76. package/dist/index.es4.js +1 -1
  77. package/dist/index.es40.js +59 -37
  78. package/dist/index.es40.js.map +1 -1
  79. package/dist/index.es41.js +18 -54
  80. package/dist/index.es41.js.map +1 -1
  81. package/dist/index.es42.js +17 -90
  82. package/dist/index.es42.js.map +1 -1
  83. package/dist/index.es43.js +88 -95
  84. package/dist/index.es43.js.map +1 -1
  85. package/dist/index.es44.js +88 -25
  86. package/dist/index.es44.js.map +1 -1
  87. package/dist/index.es45.js +33 -47
  88. package/dist/index.es45.js.map +1 -1
  89. package/dist/index.es46.js +65 -230
  90. package/dist/index.es46.js.map +1 -1
  91. package/dist/index.es47.js +43 -16
  92. package/dist/index.es47.js.map +1 -1
  93. package/dist/index.es48.js +10 -3
  94. package/dist/index.es48.js.map +1 -1
  95. package/dist/index.es49.js +9 -0
  96. package/dist/index.es49.js.map +1 -0
  97. package/dist/index.es5.js +1 -1
  98. package/dist/index.es50.js +25 -0
  99. package/dist/index.es50.js.map +1 -0
  100. package/dist/index.es51.js +23 -0
  101. package/dist/index.es51.js.map +1 -0
  102. package/dist/index.es52.js +23 -0
  103. package/dist/index.es52.js.map +1 -0
  104. package/dist/index.es53.js +88 -0
  105. package/dist/index.es53.js.map +1 -0
  106. package/dist/index.es54.js +42 -0
  107. package/dist/index.es54.js.map +1 -0
  108. package/dist/index.es55.js +30 -0
  109. package/dist/index.es55.js.map +1 -0
  110. package/dist/index.es56.js +19 -0
  111. package/dist/index.es56.js.map +1 -0
  112. package/dist/index.es57.js +50 -0
  113. package/dist/index.es57.js.map +1 -0
  114. package/dist/index.es58.js +7 -0
  115. package/dist/index.es58.js.map +1 -0
  116. package/dist/index.es59.js +245 -0
  117. package/dist/index.es59.js.map +1 -0
  118. package/dist/index.es6.js +1 -1
  119. package/dist/index.es7.js +1 -1
  120. package/dist/index.es8.js +1 -1
  121. package/dist/styles.css +206 -0
  122. package/package.json +5 -3
@@ -0,0 +1,88 @@
1
+ import e, { useState as p, useRef as N, useEffect as I } from "react";
2
+ import { Button as m } from "./index.es2.js";
3
+ import { Close16X16 as k } from "@iit/precision-ui-icons";
4
+ import { Input as R } from "./index.es11.js";
5
+ import { SearchIcon as S } from "lucide-react";
6
+ import { cn as a } from "./index.es49.js";
7
+ const B = ({
8
+ id: f,
9
+ placeholder: h,
10
+ className: v,
11
+ containerClassName: b,
12
+ value: r = "",
13
+ onChange: t,
14
+ onKeyDown: d,
15
+ onClickSubmitButton: g,
16
+ onClickClearButton: n,
17
+ withoutBottomBorder: y,
18
+ ...w
19
+ }) => {
20
+ const [o, s] = p(r), [i, u] = p(!1), l = N(null);
21
+ I(() => {
22
+ s(r);
23
+ }, [r]);
24
+ const x = (c) => {
25
+ s(c.target.value), t && t(c);
26
+ }, E = () => {
27
+ s(""), l.current && l.current.focus(), t && t({
28
+ target: { value: "" }
29
+ }), n && n();
30
+ };
31
+ return /* @__PURE__ */ e.createElement(
32
+ "div",
33
+ {
34
+ className: a("relative w-full max-w-2xl", b),
35
+ onMouseEnter: () => u(!0),
36
+ onMouseLeave: () => u(!1)
37
+ },
38
+ /* @__PURE__ */ e.createElement(
39
+ R,
40
+ {
41
+ ref: l,
42
+ id: f,
43
+ placeholder: h,
44
+ className: a(
45
+ "w-full pl-8 pr-20 hover:bg-navy-opacity-4-absolute rounded-full bg-whitish h-14",
46
+ v,
47
+ y && "border-b border-transparent"
48
+ ),
49
+ value: o,
50
+ onChange: x,
51
+ onKeyDown: d,
52
+ ...w
53
+ }
54
+ ),
55
+ /* @__PURE__ */ e.createElement(
56
+ m,
57
+ {
58
+ type: "button",
59
+ variant: "ghost",
60
+ size: "icon",
61
+ className: a(
62
+ "absolute right-14 top-1/2 -translate-y-1/2 h-5 w-5 text-muted-foreground p-0 hover:bg-navy group",
63
+ i ? "bg-white" : "bg-navy-opacity-8"
64
+ ),
65
+ onClick: E,
66
+ style: { display: o ? "block" : "none" }
67
+ },
68
+ /* @__PURE__ */ e.createElement(k, { className: "h-[10px] w-[10px] left-[5px] top-0 relative text-navy group-hover:text-whitish" }),
69
+ /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Очистить")
70
+ ),
71
+ /* @__PURE__ */ e.createElement(
72
+ m,
73
+ {
74
+ className: a(
75
+ "absolute right-2 top-1/2 -translate-y-1/2 text-navy h-10 w-10 hover:bg-navy group/submit disabled:pointer-events-auto active:transform active:scale-90",
76
+ i ? "bg-white" : "bg-navy-opacity-8"
77
+ ),
78
+ disabled: !o,
79
+ onClick: g || void 0
80
+ },
81
+ /* @__PURE__ */ e.createElement(S, { className: "h-4 w-4 group-hover/submit:text-whitish" })
82
+ )
83
+ );
84
+ };
85
+ export {
86
+ B as default
87
+ };
88
+ //# sourceMappingURL=index.es53.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es53.js","sources":["../src/components/ui/input/SearchInputWithButton.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from \"react\";\r\n\r\nimport { Button } from \"../button\";\r\nimport { Close16X16 } from \"@iit/precision-ui-icons\";\r\nimport { Input } from \"@/components/ui/input\";\r\nimport { SearchIcon } from \"lucide-react\";\r\nimport { cn } from \"@/lib/utils/cn\";\r\n\r\ninterface SearchInputWithButtonProps {\r\n id?: string;\r\n placeholder?: string;\r\n className?: string;\r\n containerClassName?: string;\r\n value?: string;\r\n onChange?: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n onKeyDown?: (event: React.KeyboardEvent<HTMLInputElement>) => void;\r\n onClickSubmitButton?: () => void;\r\n onClickClearButton?: () => void;\r\n withoutBottomBorder?: boolean;\r\n}\r\n\r\nconst SearchInputWithButton: React.FC<SearchInputWithButtonProps> = ({\r\n id,\r\n placeholder,\r\n className,\r\n containerClassName,\r\n value = \"\",\r\n onChange,\r\n onKeyDown,\r\n onClickSubmitButton,\r\n onClickClearButton,\r\n withoutBottomBorder,\r\n ...props\r\n}) => {\r\n const [inputValue, setInputValue] = useState(value);\r\n const [isHovered, setIsHovered] = useState(false); // Track hover state\r\n const inputRef = useRef<HTMLInputElement>(null);\r\n\r\n useEffect(() => {\r\n setInputValue(value);\r\n }, [value]);\r\n\r\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\r\n setInputValue(event.target.value);\r\n if (onChange) {\r\n onChange(event);\r\n }\r\n };\r\n\r\n const handleClearClick = () => {\r\n setInputValue(\"\");\r\n if (inputRef.current) {\r\n inputRef.current.focus();\r\n }\r\n if (onChange) {\r\n onChange({\r\n target: { value: \"\" },\r\n } as React.ChangeEvent<HTMLInputElement>);\r\n }\r\n if (onClickClearButton) {\r\n onClickClearButton();\r\n }\r\n };\r\n\r\n return (\r\n <div\r\n className={cn(\"relative w-full max-w-2xl\", containerClassName)}\r\n onMouseEnter={() => setIsHovered(true)}\r\n onMouseLeave={() => setIsHovered(false)}\r\n >\r\n <Input\r\n ref={inputRef}\r\n id={id}\r\n placeholder={placeholder}\r\n className={cn(\r\n \"w-full pl-8 pr-20 hover:bg-navy-opacity-4-absolute rounded-full bg-whitish h-14\",\r\n className,\r\n withoutBottomBorder && \"border-b border-transparent\"\r\n )}\r\n value={inputValue}\r\n onChange={handleInputChange}\r\n onKeyDown={onKeyDown}\r\n {...props}\r\n />\r\n <Button\r\n type=\"button\"\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n className={cn(\r\n \"absolute right-14 top-1/2 -translate-y-1/2 h-5 w-5 text-muted-foreground p-0 hover:bg-navy group\",\r\n isHovered ? \"bg-white\" : \"bg-navy-opacity-8\"\r\n )}\r\n onClick={handleClearClick}\r\n style={{ display: inputValue ? \"block\" : \"none\" }}\r\n >\r\n <Close16X16 className=\"h-[10px] w-[10px] left-[5px] top-0 relative text-navy group-hover:text-whitish\" />\r\n <span className=\"sr-only\">Очистить</span>\r\n </Button>\r\n\r\n <Button\r\n className={cn(\r\n \"absolute right-2 top-1/2 -translate-y-1/2 text-navy h-10 w-10 hover:bg-navy group/submit disabled:pointer-events-auto active:transform active:scale-90\",\r\n isHovered ? \"bg-white\" : \"bg-navy-opacity-8\"\r\n )}\r\n disabled={!inputValue}\r\n onClick={onClickSubmitButton || undefined}\r\n >\r\n <SearchIcon className=\"h-4 w-4 group-hover/submit:text-whitish\" />\r\n </Button>\r\n </div>\r\n );\r\n};\r\n\r\nexport default SearchInputWithButton;\r\n"],"names":["SearchInputWithButton","id","placeholder","className","containerClassName","value","onChange","onKeyDown","onClickSubmitButton","onClickClearButton","withoutBottomBorder","props","inputValue","setInputValue","useState","isHovered","setIsHovered","inputRef","useRef","useEffect","handleInputChange","event","handleClearClick","React","cn","Input","Button","Close16X16","SearchIcon"],"mappings":";;;;;;AAqBA,MAAMA,IAA8D,CAAC;AAAA,EACnE,IAAAC;AAAA,EACA,aAAAC;AAAA,EACA,WAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACJ,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAAST,CAAK,GAC5C,CAACU,GAAWC,CAAY,IAAIF,EAAS,EAAK,GAC1CG,IAAWC,EAAyB,IAAI;AAE9C,EAAAC,EAAU,MAAM;AACd,IAAAN,EAAcR,CAAK;AAAA,EAAA,GAClB,CAACA,CAAK,CAAC;AAEJ,QAAAe,IAAoB,CAACC,MAA+C;AAC1D,IAAAR,EAAAQ,EAAM,OAAO,KAAK,GAC5Bf,KACFA,EAASe,CAAK;AAAA,EAChB,GAGIC,IAAmB,MAAM;AAC7B,IAAAT,EAAc,EAAE,GACZI,EAAS,WACXA,EAAS,QAAQ,SAEfX,KACOA,EAAA;AAAA,MACP,QAAQ,EAAE,OAAO,GAAG;AAAA,IAAA,CACkB,GAEtCG,KACiBA;EACrB;AAIA,SAAAc,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC,EAAG,6BAA6BpB,CAAkB;AAAA,MAC7D,cAAc,MAAMY,EAAa,EAAI;AAAA,MACrC,cAAc,MAAMA,EAAa,EAAK;AAAA,IAAA;AAAA,IAEtCO,gBAAAA,EAAA;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,KAAKR;AAAA,QACL,IAAAhB;AAAA,QACA,aAAAC;AAAA,QACA,WAAWsB;AAAA,UACT;AAAA,UACArB;AAAA,UACAO,KAAuB;AAAA,QACzB;AAAA,QACA,OAAOE;AAAA,QACP,UAAUQ;AAAA,QACV,WAAAb;AAAA,QACC,GAAGI;AAAA,MAAA;AAAA,IACN;AAAA,IACAY,gBAAAA,EAAA;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,WAAWF;AAAA,UACT;AAAA,UACAT,IAAY,aAAa;AAAA,QAC3B;AAAA,QACA,SAASO;AAAA,QACT,OAAO,EAAE,SAASV,IAAa,UAAU,OAAO;AAAA,MAAA;AAAA,MAEhDW,gBAAAA,EAAA,cAACI,GAAW,EAAA,WAAU,iFAAiF,CAAA;AAAA,MACtGJ,gBAAAA,EAAA,cAAA,QAAA,EAAK,WAAU,UAAA,GAAU,UAAQ;AAAA,IACpC;AAAA,IAEAA,gBAAAA,EAAA;AAAA,MAACG;AAAA,MAAA;AAAA,QACC,WAAWF;AAAA,UACT;AAAA,UACAT,IAAY,aAAa;AAAA,QAC3B;AAAA,QACA,UAAU,CAACH;AAAA,QACX,SAASJ,KAAuB;AAAA,MAAA;AAAA,MAEhCe,gBAAAA,EAAA,cAACK,GAAW,EAAA,WAAU,0CAA0C,CAAA;AAAA,IAClE;AAAA,EAAA;AAGN;"}
@@ -0,0 +1,42 @@
1
+ import { CarouselWrapper as o } from "./index.es57.js";
2
+ import r from "react";
3
+ import n from "./index.es42.js";
4
+ const E = ({
5
+ items: t,
6
+ renderItem: l,
7
+ columns: s = 4,
8
+ hideControlsOnDesktop: d = !1,
9
+ withoutCarousel: g = !1,
10
+ // TODO: add to props chain
11
+ footnote: c,
12
+ variant: i
13
+ }) => {
14
+ const m = (e) => {
15
+ switch (e) {
16
+ case 1:
17
+ return "grid grid-cols-1 gap-3";
18
+ case 2:
19
+ return "grid grid-cols-1 sm:grid-cols-2 gap-3";
20
+ case 3:
21
+ return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-3";
22
+ case 4:
23
+ return "grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 gap-3";
24
+ default:
25
+ return "grid grid-cols-1 gap-3";
26
+ }
27
+ };
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,
30
+ {
31
+ items: t,
32
+ renderItem: (e, a) => l(e, a),
33
+ columns: s,
34
+ hideControlsOnDesktop: d,
35
+ variant: i
36
+ }
37
+ ), c && /* @__PURE__ */ r.createElement("div", { className: "mt-6" }, /* @__PURE__ */ r.createElement(n, { variant: "small-body", as: "div" }, c)));
38
+ };
39
+ export {
40
+ E as default
41
+ };
42
+ //# sourceMappingURL=index.es54.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es54.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;"}
@@ -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.es55.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es55.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;"}
@@ -0,0 +1,19 @@
1
+ import t from "react";
2
+ import a from "./index.es42.js";
3
+ import { getAdapter as o } from "./index.es9.js";
4
+ import i from "./index.es58.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.es56.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es56.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,50 @@
1
+ import { Carousel as n, CarouselContent as i, CarouselItem as p } from "./index.es59.js";
2
+ import e from "react";
3
+ import { cn as b } from "./index.es49.js";
4
+ const g = ({
5
+ items: r,
6
+ renderItem: t,
7
+ columns: l,
8
+ hideControlsOnDesktop: m,
9
+ className: o,
10
+ variant: c
11
+ }) => {
12
+ const u = (s) => {
13
+ switch (s ?? l) {
14
+ case 2:
15
+ return "md:basis-1/2 lg:basis-1/2";
16
+ case 3:
17
+ return "md:basis-1/2 lg:basis-1/3";
18
+ case 4:
19
+ return "md:basis-1/2 lg:basis-1/4";
20
+ default:
21
+ return "md:basis-1/2 lg:basis-1/3";
22
+ }
23
+ };
24
+ return /* @__PURE__ */ e.createElement(
25
+ n,
26
+ {
27
+ opts: {
28
+ align: "start"
29
+ },
30
+ className: b("my-carousel w-full -mt-3", o),
31
+ hideControlsOnDesktop: m,
32
+ variant: c
33
+ },
34
+ /* @__PURE__ */ e.createElement(i, { className: "-ml-4 pt-3" }, r.map((s, a) => /* @__PURE__ */ e.createElement(
35
+ p,
36
+ {
37
+ key: a,
38
+ className: `pl-4 ${u(
39
+ s.size
40
+ // Safely access `size` property
41
+ )}`
42
+ },
43
+ t(s, a)
44
+ )))
45
+ );
46
+ };
47
+ export {
48
+ g as CarouselWrapper
49
+ };
50
+ //# sourceMappingURL=index.es57.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es57.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;"}
@@ -0,0 +1,7 @@
1
+ function u(r, n) {
2
+ return r ? r.length <= n ? r : r.slice(0, n) + "..." : "";
3
+ }
4
+ export {
5
+ u as default
6
+ };
7
+ //# sourceMappingURL=index.es58.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es58.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;"}
@@ -0,0 +1,245 @@
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.es49.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,
198
+ {
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
210
+ },
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";
238
+ export {
239
+ $ as Carousel,
240
+ X as CarouselContent,
241
+ q as CarouselItem,
242
+ y as CarouselNext,
243
+ w as CarouselPrevious
244
+ };
245
+ //# sourceMappingURL=index.es59.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es59.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 { ChevronLeft, ChevronRight } 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\ninterface CustomProps {\r\n hideControlsOnDesktop?: boolean\r\n variant?: \"default\" | \"white\";\r\n}\r\n\r\nconst Carousel = React.forwardRef<\r\n HTMLDivElement,\r\n React.HTMLAttributes<HTMLDivElement> & CarouselProps & CustomProps\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 hideControlsOnDesktop = false,\r\n variant = \"default\",\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 const buttonClasses = cn(\r\n \"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\",\r\n variant === \"white\"\r\n ? \"hover:bg-whitish border-whitish-opacity-32\"\r\n : \"hover:bg-navy hover:text-white border-navy-opacity-32\"\r\n );\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\r\n className={cn(\r\n \"relative w-full mt-8 rounded-full overflow-hidden md:max-w-2xl mx-auto\",\r\n hideControlsOnDesktop ? \"lg:hidden\" : \"\",\r\n variant === \"white\"\r\n ? \"bg-whitish-opacity-16 h-0.5\"\r\n : \"bg-gray-300 h-0.5\"\r\n )}\r\n >\r\n <div\r\n className={cn(\r\n \"absolute top-0 left-0 h-full w-full rounded-full transition-transform duration-0\",\r\n variant === \"white\" ? \"bg-whitish\" : \"bg-navy\"\r\n )}\r\n style={{\r\n transform: `translateX(${scrollProgress - 100}%)`,\r\n }}\r\n ></div>\r\n </div>\r\n\r\n <div\r\n className={`embla__controls max-w-sm mx-auto mt-6 flex justify-center gap-4 ${\r\n hideControlsOnDesktop ? 'lg:hidden' : ''\r\n }`}\r\n >\r\n <div className=\"embla__buttons space-x-2\">\r\n <CarouselPrevious className={buttonClasses} />\r\n <CarouselNext className={buttonClasses} />\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 <ChevronLeft className=\"h-5 w-5\" />\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 <ChevronRight className=\"h-5 w-5\" />\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","hideControlsOnDesktop","carouselRef","api","useEmblaCarousel","canScrollPrev","setCanScrollPrev","canScrollNext","setCanScrollNext","scrollProgress","setScrollProgress","onScroll","progress","onSelect","scrollPrev","scrollNext","handleKeyDown","event","buttonClasses","CarouselPrevious","CarouselNext","CarouselContent","CarouselItem","ChevronLeft","ChevronRight"],"mappings":"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"}
package/dist/index.es6.js CHANGED
@@ -2,7 +2,7 @@ import e from "react";
2
2
  import { Button as m } from "./index.es2.js";
3
3
  import { LessLink16X16 as d, MoreLink16X16 as f, ArrowLinkRight16X16 as h } from "@iit/precision-ui-icons";
4
4
  import { cva as i } from "class-variance-authority";
5
- import { cn as n } from "./index.es31.js";
5
+ import { cn as n } from "./index.es49.js";
6
6
  import { ArrowDownToLine as p } from "lucide-react";
7
7
  import { getAdapter as g } from "./index.es9.js";
8
8
  const w = i("bg-link-gradient-container hover:cursor-pointer", {
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.es31.js";
5
+ import { cn as n } from "./index.es49.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.es31.js";
3
+ import { cn as c } from "./index.es49.js";
4
4
  import { getAdapter as v } from "./index.es9.js";
5
5
  const f = s("duration-200 transition-colors", {
6
6
  variants: {