@iit/precision-ui 0.7.3 → 0.8.1

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 (89) hide show
  1. package/dist/components/ui/carousel.d.ts +1 -0
  2. package/dist/components/ui/carousel.d.ts.map +1 -1
  3. package/dist/components/ui/combobox.d.ts +19 -0
  4. package/dist/components/ui/combobox.d.ts.map +1 -0
  5. package/dist/components/ui/command.d.ts +81 -0
  6. package/dist/components/ui/command.d.ts.map +1 -0
  7. package/dist/hooks/useFetch.d.ts +2 -0
  8. package/dist/hooks/useFetch.d.ts.map +1 -0
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.es.js +53 -49
  12. package/dist/index.es.js.map +1 -1
  13. package/dist/index.es10.js +1 -1
  14. package/dist/index.es11.js +1 -1
  15. package/dist/index.es14.js +1 -1
  16. package/dist/index.es15.js +1 -1
  17. package/dist/index.es17.js +1 -1
  18. package/dist/index.es18.js +2 -2
  19. package/dist/index.es2.js +1 -1
  20. package/dist/index.es20.js +1 -1
  21. package/dist/index.es21.js +1 -1
  22. package/dist/index.es22.js +1 -1
  23. package/dist/index.es23.js +2 -2
  24. package/dist/index.es24.js +3 -3
  25. package/dist/index.es25.js +3 -3
  26. package/dist/index.es26.js +3 -3
  27. package/dist/index.es27.js +1 -1
  28. package/dist/index.es28.js +1 -1
  29. package/dist/index.es29.js +3 -3
  30. package/dist/index.es3.js +2 -2
  31. package/dist/index.es30.js +3 -3
  32. package/dist/index.es31.js +3 -3
  33. package/dist/index.es32.js +3 -3
  34. package/dist/index.es33.js +3 -3
  35. package/dist/index.es34.js +3 -3
  36. package/dist/index.es35.js +1 -1
  37. package/dist/index.es36.js +1 -1
  38. package/dist/index.es37.js +1 -1
  39. package/dist/index.es38.js +1 -1
  40. package/dist/index.es39.js +2 -2
  41. package/dist/index.es4.js +1 -1
  42. package/dist/index.es40.js +4 -4
  43. package/dist/index.es41.js +2 -2
  44. package/dist/index.es42.js +3 -3
  45. package/dist/index.es44.js +2 -2
  46. package/dist/index.es45.js +59 -18
  47. package/dist/index.es45.js.map +1 -1
  48. package/dist/index.es46.js +10 -9
  49. package/dist/index.es46.js.map +1 -1
  50. package/dist/index.es47.js +19 -91
  51. package/dist/index.es47.js.map +1 -1
  52. package/dist/index.es48.js +90 -89
  53. package/dist/index.es48.js.map +1 -1
  54. package/dist/index.es49.js +82 -25
  55. package/dist/index.es49.js.map +1 -1
  56. package/dist/index.es5.js +1 -1
  57. package/dist/index.es50.js +27 -71
  58. package/dist/index.es50.js.map +1 -1
  59. package/dist/index.es51.js +70 -36
  60. package/dist/index.es51.js.map +1 -1
  61. package/dist/index.es52.js +42 -10
  62. package/dist/index.es52.js.map +1 -1
  63. package/dist/index.es53.js +18 -6
  64. package/dist/index.es53.js.map +1 -1
  65. package/dist/index.es54.js +11 -22
  66. package/dist/index.es54.js.map +1 -1
  67. package/dist/index.es55.js +6 -20
  68. package/dist/index.es55.js.map +1 -1
  69. package/dist/index.es56.js +21 -19
  70. package/dist/index.es56.js.map +1 -1
  71. package/dist/index.es57.js +20 -4
  72. package/dist/index.es57.js.map +1 -1
  73. package/dist/index.es58.js +18 -246
  74. package/dist/index.es58.js.map +1 -1
  75. package/dist/index.es59.js +4 -27
  76. package/dist/index.es59.js.map +1 -1
  77. package/dist/index.es6.js +1 -1
  78. package/dist/index.es60.js +248 -14
  79. package/dist/index.es60.js.map +1 -1
  80. package/dist/index.es61.js +89 -0
  81. package/dist/index.es61.js.map +1 -0
  82. package/dist/index.es62.js +30 -0
  83. package/dist/index.es62.js.map +1 -0
  84. package/dist/index.es63.js +19 -0
  85. package/dist/index.es63.js.map +1 -0
  86. package/dist/index.es7.js +1 -1
  87. package/dist/index.es8.js +1 -1
  88. package/dist/styles.css +128 -0
  89. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"index.es53.js","sources":["../src/lib/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx'\r\nimport { twMerge } from 'tailwind-merge'\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}\r\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":";;AAGO,SAASA,KAAMC,GAAsB;AACnC,SAAAC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;"}
1
+ {"version":3,"file":"index.es53.js","sources":["../src/hooks/useFetch.ts"],"sourcesContent":["import { useCallback, useState } from 'react'\r\n\r\ninterface Error {\r\n message?: string\r\n}\r\n\r\n// eslint-disable-next-line @typescript-eslint/ban-types\r\nexport const useFetch = (applyDataFn: Function, loadingByDefault?: boolean) => {\r\n const [isLoading, setIsLoading] = useState(loadingByDefault ? true : false)\r\n const [error, setError] = useState<string | null>(null)\r\n\r\n const sendRequest = useCallback(\r\n async (...args: unknown[]) => {\r\n setIsLoading(true)\r\n setError(null)\r\n try {\r\n await applyDataFn(...args)\r\n } catch (error) {\r\n setError((error as Error).message || 'Something went wrong!')\r\n } finally {\r\n setIsLoading(false)\r\n }\r\n },\r\n [applyDataFn]\r\n )\r\n\r\n return [isLoading, error, sendRequest] as const\r\n}\r\n"],"names":["useFetch","applyDataFn","loadingByDefault","isLoading","setIsLoading","useState","error","setError","sendRequest","useCallback","args"],"mappings":";AAOa,MAAAA,IAAW,CAACC,GAAuBC,MAA+B;AAC7E,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAAH,CAA+B,GACpE,CAACI,GAAOC,CAAQ,IAAIF,EAAwB,IAAI,GAEhDG,IAAcC;AAAA,IAClB,UAAUC,MAAoB;AAC5B,MAAAN,EAAa,EAAI,GACjBG,EAAS,IAAI;AACT,UAAA;AACI,cAAAN,EAAY,GAAGS,CAAI;AAAA,eAClBJ,GAAO;AACJA,QAAAA,EAAAA,EAAgB,WAAW,uBAAuB;AAAA,MAAA,UAC5D;AACA,QAAAF,EAAa,EAAK;AAAA,MACpB;AAAA,IACF;AAAA,IACA,CAACH,CAAW;AAAA,EAAA;AAGP,SAAA,CAACE,GAAWG,GAAOE,CAAW;AACvC;"}
@@ -1,25 +1,14 @@
1
- import { ArrowSliderPrev16X16 as s, ArrowSliderNext16X16 as m, MoreLink16X16 as l, LessLink16X16 as u } from "@iit/precision-ui-icons";
2
- import { ThumbsUp as f, ThumbsDown as p } from "lucide-react";
3
- import o from "react";
4
- const i = "1em", a = (e) => Object.keys(e).reduce((r, t) => (r[t] = ({
5
- width: n = i,
6
- height: c = i
7
- }) => o.createElement(e[t], { width: n, height: c }), r), {}), d = {
8
- chevronLeft: s,
9
- chevronRight: m,
10
- plus: l,
11
- minus: u,
12
- like: f,
13
- dislike: p
14
- }, h = a(d), I = (e, r, t) => {
15
- if (e) {
16
- const n = h[e];
17
- if (n)
18
- return n({ width: r, height: t });
19
- }
20
- return /* @__PURE__ */ o.createElement(o.Fragment, null);
21
- };
1
+ import c from "./index.es63.js";
2
+ import e from "react";
3
+ const m = ({ list: t }) => /* @__PURE__ */ e.createElement("ul", { className: "breadcrumbs space-y-2" }, t.map((a, r) => /* @__PURE__ */ e.createElement(
4
+ "li",
5
+ {
6
+ key: r,
7
+ style: { "--counter": r + 1 }
8
+ },
9
+ /* @__PURE__ */ e.createElement(c, { ...a })
10
+ ))), u = m;
22
11
  export {
23
- I as iconDefiner
12
+ u as default
24
13
  };
25
14
  //# sourceMappingURL=index.es54.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es54.js","sources":["../src/components/ui/icon.tsx"],"sourcesContent":["import {\r\n ArrowSliderNext16X16,\r\n ArrowSliderPrev16X16,\r\n LessLink16X16,\r\n MoreLink16X16,\r\n} from '@iit/precision-ui-icons'\r\nimport { ThumbsDown, ThumbsUp } from 'lucide-react'\r\n\r\nimport React from 'react'\r\n\r\nconst DEFAULT_ICON_SIZE = '1em'\r\n\r\nexport type IconName =\r\n | 'chevronLeft'\r\n | 'chevronRight'\r\n | 'plus'\r\n | 'minus'\r\n | 'like'\r\n | 'dislike'\r\n\r\n// TODO: move to separate file\r\n// type IconMap = {\r\n// [key in IconName]: (props: {\r\n// width?: number | string\r\n// height?: number | string\r\n// }) => React.ReactElement\r\n// }\r\n\r\ninterface IconProps {\r\n width?: number | string\r\n height?: number | string\r\n}\r\n\r\nconst generateIconMap = (\r\n icons: Record<IconName, React.ComponentType<React.SVGProps<SVGSVGElement>>>\r\n) => {\r\n return Object.keys(icons).reduce<\r\n Record<IconName, (props: IconProps) => React.ReactElement>\r\n >((acc, key) => {\r\n acc[key as IconName] = ({\r\n width = DEFAULT_ICON_SIZE,\r\n height = DEFAULT_ICON_SIZE,\r\n }: IconProps) =>\r\n React.createElement(icons[key as IconName], { width, height })\r\n return acc\r\n }, {} as Record<IconName, (props: IconProps) => React.ReactElement>)\r\n}\r\n\r\nconst icons: Record<\r\n IconName,\r\n React.ComponentType<React.SVGProps<SVGSVGElement>>\r\n> = {\r\n chevronLeft: ArrowSliderPrev16X16,\r\n chevronRight: ArrowSliderNext16X16,\r\n plus: MoreLink16X16,\r\n minus: LessLink16X16,\r\n like: ThumbsUp,\r\n dislike: ThumbsDown,\r\n}\r\n\r\nconst iconMap = generateIconMap(icons)\r\nexport const iconDefiner = (\r\n icon?: IconName,\r\n width?: number | string,\r\n height?: number | string\r\n): React.ReactElement => {\r\n if (icon) {\r\n const selectedIcon = iconMap[icon]\r\n if (selectedIcon) {\r\n return selectedIcon({ width, height })\r\n }\r\n }\r\n return <></>\r\n}\r\n"],"names":["DEFAULT_ICON_SIZE","generateIconMap","icons","acc","key","width","height","React","ArrowSliderPrev16X16","ArrowSliderNext16X16","MoreLink16X16","LessLink16X16","ThumbsUp","ThumbsDown","iconMap","iconDefiner","icon","selectedIcon"],"mappings":";;;AAUA,MAAMA,IAAoB,OAuBpBC,IAAkB,CACtBC,MAEO,OAAO,KAAKA,CAAK,EAAE,OAExB,CAACC,GAAKC,OACFD,EAAAC,CAAe,IAAI,CAAC;AAAA,EACtB,OAAAC,IAAQL;AAAA,EACR,QAAAM,IAASN;AAAA,MAETO,EAAM,cAAcL,EAAME,CAAe,GAAG,EAAE,OAAAC,GAAO,QAAAC,EAAA,CAAQ,GACxDH,IACN,CAAgE,CAAA,GAG/DD,IAGF;AAAA,EACF,aAAaM;AAAA,EACb,cAAcC;AAAA,EACd,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,MAAMC;AAAA,EACN,SAASC;AACX,GAEMC,IAAUb,EAAgBC,CAAK,GACxBa,IAAc,CACzBC,GACAX,GACAC,MACuB;AACvB,MAAIU,GAAM;AACF,UAAAC,IAAeH,EAAQE,CAAI;AACjC,QAAIC;AACF,aAAOA,EAAa,EAAE,OAAAZ,GAAO,QAAAC,EAAQ,CAAA;AAAA,EAEzC;AACA,SAASC,gBAAAA,EAAA,cAAAA,EAAA,UAAA,IAAA;AACX;"}
1
+ {"version":3,"file":"index.es54.js","sources":["../src/components/breadcrumbs/Breadcrumbs.tsx"],"sourcesContent":["import Breadcrumb, { BreadcrumbProps } from \"./Breadcrumb\";\r\n\r\nimport React from \"react\";\r\n\r\ninterface BreadcrumbsProps {\r\n list: BreadcrumbProps[];\r\n}\r\n\r\ninterface CustomInlineStyles extends React.CSSProperties {\r\n \"--counter\"?: number;\r\n}\r\n\r\nconst Breadcrumbs: React.FC<BreadcrumbsProps> = ({ list }) => {\r\n return (\r\n <ul className=\"breadcrumbs space-y-2\">\r\n {list.map((item, index) => (\r\n <li\r\n key={index}\r\n style={{ \"--counter\": index + 1 } as CustomInlineStyles}\r\n >\r\n <Breadcrumb {...item} />\r\n </li>\r\n ))}\r\n </ul>\r\n );\r\n};\r\n\r\nexport default Breadcrumbs;\r\n"],"names":["Breadcrumbs","list","React","item","index","Breadcrumb","Breadcrumbs$1"],"mappings":";;AAYA,MAAMA,IAA0C,CAAC,EAAE,MAAAC,QAE/CC,gBAAAA,EAAA,cAAC,QAAG,WAAU,wBAAA,GACXD,EAAK,IAAI,CAACE,GAAMC,MACfF,gBAAAA,EAAA;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,KAAKE;AAAA,IACL,OAAO,EAAE,aAAaA,IAAQ,EAAE;AAAA,EAAA;AAAA,EAEhCF,gBAAAA,EAAA,cAACG,GAAY,EAAA,GAAGF,EAAM,CAAA;AAEzB,CAAA,CACH,GAIJG,IAAeN;"}
@@ -1,23 +1,9 @@
1
- import * as t from "@radix-ui/react-popover";
2
- import * as e from "react";
3
- import { cn as i } from "./index.es53.js";
4
- const p = t.Root, l = t.Trigger, s = e.forwardRef(({ className: o, align: a = "center", sideOffset: r = 4, ...d }, n) => /* @__PURE__ */ e.createElement(t.Portal, null, /* @__PURE__ */ e.createElement(
5
- t.Content,
6
- {
7
- ref: n,
8
- align: a,
9
- sideOffset: r,
10
- className: i(
11
- "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
12
- o
13
- ),
14
- ...d
15
- }
16
- )));
17
- s.displayName = t.Content.displayName;
1
+ import { clsx as o } from "clsx";
2
+ import { twMerge as t } from "tailwind-merge";
3
+ function n(...r) {
4
+ return t(o(r));
5
+ }
18
6
  export {
19
- p as Popover,
20
- s as PopoverContent,
21
- l as PopoverTrigger
7
+ n as cn
22
8
  };
23
9
  //# sourceMappingURL=index.es55.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es55.js","sources":["../src/components/ui/popover.tsx"],"sourcesContent":["import * as PopoverPrimitive from '@radix-ui/react-popover'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst Popover = PopoverPrimitive.Root\r\n\r\nconst PopoverTrigger = PopoverPrimitive.Trigger\r\n\r\nconst PopoverContent = React.forwardRef<\r\n React.ElementRef<typeof PopoverPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\r\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\r\n <PopoverPrimitive.Portal>\r\n <PopoverPrimitive.Content\r\n ref={ref}\r\n align={align}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n 'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n className\r\n )}\r\n {...props}\r\n />\r\n </PopoverPrimitive.Portal>\r\n))\r\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\r\n\r\nexport { Popover, PopoverTrigger, PopoverContent }\r\n"],"names":["Popover","PopoverPrimitive","PopoverTrigger","PopoverContent","React","className","align","sideOffset","props","ref","cn"],"mappings":";;;AAKA,MAAMA,IAAUC,EAAiB,MAE3BC,IAAiBD,EAAiB,SAElCE,IAAiBC,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,OAAAC,IAAQ,UAAU,YAAAC,IAAa,GAAG,GAAGC,KAASC,MAC3D,gBAAAL,EAAA,cAAAH,EAAiB,QAAjB,MACC,gBAAAG,EAAA;AAAA,EAACH,EAAiB;AAAA,EAAjB;AAAA,IACC,KAAAQ;AAAA,IACA,OAAAH;AAAA,IACA,YAAAC;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACAL;AAAA,IACF;AAAA,IACC,GAAGG;AAAA,EAAA;AACN,CACF,CACD;AACDL,EAAe,cAAcF,EAAiB,QAAQ;"}
1
+ {"version":3,"file":"index.es55.js","sources":["../src/lib/utils/cn.ts"],"sourcesContent":["import { type ClassValue, clsx } from 'clsx'\r\nimport { twMerge } from 'tailwind-merge'\r\n\r\nexport function cn(...inputs: ClassValue[]) {\r\n return twMerge(clsx(inputs))\r\n}\r\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":";;AAGO,SAASA,KAAMC,GAAsB;AACnC,SAAAC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;"}
@@ -1,23 +1,25 @@
1
- import * as t from "react";
2
- import * as o from "@radix-ui/react-tooltip";
3
- import { cn as r } from "./index.es53.js";
4
- const n = o.Provider, l = o.Root, p = o.Trigger, s = t.forwardRef(({ className: e, sideOffset: i = 4, ...a }, d) => /* @__PURE__ */ t.createElement(
5
- o.Content,
6
- {
7
- ref: d,
8
- sideOffset: i,
9
- className: r(
10
- "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
11
- e
12
- ),
13
- ...a
1
+ import { ArrowSliderPrev16X16 as s, ArrowSliderNext16X16 as m, MoreLink16X16 as l, LessLink16X16 as u } from "@iit/precision-ui-icons";
2
+ import { ThumbsUp as f, ThumbsDown as p } from "lucide-react";
3
+ import o from "react";
4
+ const i = "1em", a = (e) => Object.keys(e).reduce((r, t) => (r[t] = ({
5
+ width: n = i,
6
+ height: c = i
7
+ }) => o.createElement(e[t], { width: n, height: c }), r), {}), d = {
8
+ chevronLeft: s,
9
+ chevronRight: m,
10
+ plus: l,
11
+ minus: u,
12
+ like: f,
13
+ dislike: p
14
+ }, h = a(d), I = (e, r, t) => {
15
+ if (e) {
16
+ const n = h[e];
17
+ if (n)
18
+ return n({ width: r, height: t });
14
19
  }
15
- ));
16
- s.displayName = o.Content.displayName;
20
+ return /* @__PURE__ */ o.createElement(o.Fragment, null);
21
+ };
17
22
  export {
18
- l as Tooltip,
19
- s as TooltipContent,
20
- n as TooltipProvider,
21
- p as TooltipTrigger
23
+ I as iconDefiner
22
24
  };
23
25
  //# sourceMappingURL=index.es56.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es56.js","sources":["../src/components/ui/tooltip.tsx"],"sourcesContent":["import * as React from 'react'\r\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\r\n\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst TooltipProvider = TooltipPrimitive.Provider\r\n\r\nconst Tooltip = TooltipPrimitive.Root\r\n\r\nconst TooltipTrigger = TooltipPrimitive.Trigger\r\n\r\nconst TooltipContent = React.forwardRef<\r\n React.ElementRef<typeof TooltipPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\r\n>(({ className, sideOffset = 4, ...props }, ref) => (\r\n <TooltipPrimitive.Content\r\n ref={ref}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n 'z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\r\n\r\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\r\n"],"names":["TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","React","className","sideOffset","props","ref","cn"],"mappings":";;;AAKA,MAAMA,IAAkBC,EAAiB,UAEnCC,IAAUD,EAAiB,MAE3BE,IAAiBF,EAAiB,SAElCG,IAAiBC,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,YAAAC,IAAa,GAAG,GAAGC,EAAM,GAAGC,MAC1C,gBAAAJ,EAAA;AAAA,EAACJ,EAAiB;AAAA,EAAjB;AAAA,IACC,KAAAQ;AAAA,IACA,YAAAF;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGE;AAAA,EAAA;AACN,CACD;AACDJ,EAAe,cAAcH,EAAiB,QAAQ;"}
1
+ {"version":3,"file":"index.es56.js","sources":["../src/components/ui/icon.tsx"],"sourcesContent":["import {\r\n ArrowSliderNext16X16,\r\n ArrowSliderPrev16X16,\r\n LessLink16X16,\r\n MoreLink16X16,\r\n} from '@iit/precision-ui-icons'\r\nimport { ThumbsDown, ThumbsUp } from 'lucide-react'\r\n\r\nimport React from 'react'\r\n\r\nconst DEFAULT_ICON_SIZE = '1em'\r\n\r\nexport type IconName =\r\n | 'chevronLeft'\r\n | 'chevronRight'\r\n | 'plus'\r\n | 'minus'\r\n | 'like'\r\n | 'dislike'\r\n\r\n// TODO: move to separate file\r\n// type IconMap = {\r\n// [key in IconName]: (props: {\r\n// width?: number | string\r\n// height?: number | string\r\n// }) => React.ReactElement\r\n// }\r\n\r\ninterface IconProps {\r\n width?: number | string\r\n height?: number | string\r\n}\r\n\r\nconst generateIconMap = (\r\n icons: Record<IconName, React.ComponentType<React.SVGProps<SVGSVGElement>>>\r\n) => {\r\n return Object.keys(icons).reduce<\r\n Record<IconName, (props: IconProps) => React.ReactElement>\r\n >((acc, key) => {\r\n acc[key as IconName] = ({\r\n width = DEFAULT_ICON_SIZE,\r\n height = DEFAULT_ICON_SIZE,\r\n }: IconProps) =>\r\n React.createElement(icons[key as IconName], { width, height })\r\n return acc\r\n }, {} as Record<IconName, (props: IconProps) => React.ReactElement>)\r\n}\r\n\r\nconst icons: Record<\r\n IconName,\r\n React.ComponentType<React.SVGProps<SVGSVGElement>>\r\n> = {\r\n chevronLeft: ArrowSliderPrev16X16,\r\n chevronRight: ArrowSliderNext16X16,\r\n plus: MoreLink16X16,\r\n minus: LessLink16X16,\r\n like: ThumbsUp,\r\n dislike: ThumbsDown,\r\n}\r\n\r\nconst iconMap = generateIconMap(icons)\r\nexport const iconDefiner = (\r\n icon?: IconName,\r\n width?: number | string,\r\n height?: number | string\r\n): React.ReactElement => {\r\n if (icon) {\r\n const selectedIcon = iconMap[icon]\r\n if (selectedIcon) {\r\n return selectedIcon({ width, height })\r\n }\r\n }\r\n return <></>\r\n}\r\n"],"names":["DEFAULT_ICON_SIZE","generateIconMap","icons","acc","key","width","height","React","ArrowSliderPrev16X16","ArrowSliderNext16X16","MoreLink16X16","LessLink16X16","ThumbsUp","ThumbsDown","iconMap","iconDefiner","icon","selectedIcon"],"mappings":";;;AAUA,MAAMA,IAAoB,OAuBpBC,IAAkB,CACtBC,MAEO,OAAO,KAAKA,CAAK,EAAE,OAExB,CAACC,GAAKC,OACFD,EAAAC,CAAe,IAAI,CAAC;AAAA,EACtB,OAAAC,IAAQL;AAAA,EACR,QAAAM,IAASN;AAAA,MAETO,EAAM,cAAcL,EAAME,CAAe,GAAG,EAAE,OAAAC,GAAO,QAAAC,EAAA,CAAQ,GACxDH,IACN,CAAgE,CAAA,GAG/DD,IAGF;AAAA,EACF,aAAaM;AAAA,EACb,cAAcC;AAAA,EACd,MAAMC;AAAA,EACN,OAAOC;AAAA,EACP,MAAMC;AAAA,EACN,SAASC;AACX,GAEMC,IAAUb,EAAgBC,CAAK,GACxBa,IAAc,CACzBC,GACAX,GACAC,MACuB;AACvB,MAAIU,GAAM;AACF,UAAAC,IAAeH,EAAQE,CAAI;AACjC,QAAIC;AACF,aAAOA,EAAa,EAAE,OAAAZ,GAAO,QAAAC,EAAQ,CAAA;AAAA,EAEzC;AACA,SAASC,gBAAAA,EAAA,cAAAA,EAAA,UAAA,IAAA;AACX;"}
@@ -1,7 +1,23 @@
1
- function u(r, n) {
2
- return r ? r.length <= n ? r : r.slice(0, n) + "..." : "";
3
- }
1
+ import * as t from "@radix-ui/react-popover";
2
+ import * as e from "react";
3
+ import { cn as i } from "./index.es55.js";
4
+ const p = t.Root, l = t.Trigger, s = e.forwardRef(({ className: o, align: a = "center", sideOffset: r = 4, ...d }, n) => /* @__PURE__ */ e.createElement(t.Portal, null, /* @__PURE__ */ e.createElement(
5
+ t.Content,
6
+ {
7
+ ref: n,
8
+ align: a,
9
+ sideOffset: r,
10
+ className: i(
11
+ "z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
12
+ o
13
+ ),
14
+ ...d
15
+ }
16
+ )));
17
+ s.displayName = t.Content.displayName;
4
18
  export {
5
- u as default
19
+ p as Popover,
20
+ s as PopoverContent,
21
+ l as PopoverTrigger
6
22
  };
7
23
  //# sourceMappingURL=index.es57.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es57.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;"}
1
+ {"version":3,"file":"index.es57.js","sources":["../src/components/ui/popover.tsx"],"sourcesContent":["import * as PopoverPrimitive from '@radix-ui/react-popover'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst Popover = PopoverPrimitive.Root\r\n\r\nconst PopoverTrigger = PopoverPrimitive.Trigger\r\n\r\nconst PopoverContent = React.forwardRef<\r\n React.ElementRef<typeof PopoverPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\r\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\r\n <PopoverPrimitive.Portal>\r\n <PopoverPrimitive.Content\r\n ref={ref}\r\n align={align}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n 'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n className\r\n )}\r\n {...props}\r\n />\r\n </PopoverPrimitive.Portal>\r\n))\r\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\r\n\r\nexport { Popover, PopoverTrigger, PopoverContent }\r\n"],"names":["Popover","PopoverPrimitive","PopoverTrigger","PopoverContent","React","className","align","sideOffset","props","ref","cn"],"mappings":";;;AAKA,MAAMA,IAAUC,EAAiB,MAE3BC,IAAiBD,EAAiB,SAElCE,IAAiBC,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,OAAAC,IAAQ,UAAU,YAAAC,IAAa,GAAG,GAAGC,KAASC,MAC3D,gBAAAL,EAAA,cAAAH,EAAiB,QAAjB,MACC,gBAAAG,EAAA;AAAA,EAACH,EAAiB;AAAA,EAAjB;AAAA,IACC,KAAAQ;AAAA,IACA,OAAAH;AAAA,IACA,YAAAC;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACAL;AAAA,IACF;AAAA,IACC,GAAGG;AAAA,EAAA;AACN,CACF,CACD;AACDL,EAAe,cAAcF,EAAiB,QAAQ;"}
@@ -1,251 +1,23 @@
1
- import e from "react";
2
- import j from "embla-carousel-react";
3
- import { ChevronLeft as B, ChevronRight as K } from "lucide-react";
4
- import { cn as s } from "./index.es53.js";
5
- import { Slot as L } from "@radix-ui/react-slot";
6
- import { cva as V } from "class-variance-authority";
7
- const X = V(
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",
1
+ import * as t from "react";
2
+ import * as o from "@radix-ui/react-tooltip";
3
+ import { cn as r } from "./index.es55.js";
4
+ const n = o.Provider, l = o.Root, p = o.Trigger, s = t.forwardRef(({ className: e, sideOffset: i = 4, ...a }, d) => /* @__PURE__ */ t.createElement(
5
+ o.Content,
9
6
  {
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
- }
7
+ ref: d,
8
+ sideOffset: i,
9
+ className: r(
10
+ "z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
11
+ e
12
+ ),
13
+ ...a
29
14
  }
30
- ), p = e.forwardRef(
31
- ({ className: r, variant: o, size: l, asChild: a = !1, ...c }, u) => {
32
- const i = a ? L : "button";
33
- return /* @__PURE__ */ e.createElement(
34
- i,
35
- {
36
- className: s(X({ variant: o, size: l }), r),
37
- ref: u,
38
- ...c
39
- }
40
- );
41
- }
42
- );
43
- p.displayName = "Button";
44
- const w = e.createContext(null);
45
- function h() {
46
- const r = e.useContext(w);
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: c,
58
- children: u,
59
- hideControlsOnDesktop: i = !1,
60
- variant: d = "default",
61
- controlsAlign: g = "center",
62
- ...N
63
- }, E) => {
64
- const [S, t] = j(
65
- {
66
- ...o,
67
- axis: r === "horizontal" ? "x" : "y"
68
- },
69
- a
70
- ), [P, k] = e.useState(!1), [R, z] = e.useState(!1), [_, I] = e.useState(0), m = e.useCallback(() => {
71
- if (!t)
72
- return;
73
- const n = t.scrollProgress();
74
- console.log("progress", n), I(n * 100);
75
- }, [t]), f = e.useCallback(
76
- (n) => {
77
- n && (k(n.canScrollPrev()), z(n.canScrollNext()), m());
78
- },
79
- [m]
80
- ), v = e.useCallback(() => {
81
- t?.scrollPrev();
82
- }, [t]), b = e.useCallback(() => {
83
- t?.scrollNext();
84
- }, [t]), D = e.useCallback(
85
- (n) => {
86
- n.key === "ArrowLeft" ? (n.preventDefault(), v()) : n.key === "ArrowRight" && (n.preventDefault(), b());
87
- },
88
- [v, b]
89
- );
90
- e.useEffect(() => {
91
- !t || !l || l(t);
92
- }, [t, l]), e.useEffect(() => {
93
- if (t)
94
- return f(t), t.on("reInit", f), t.on("select", f), t.on("scroll", m), () => {
95
- t?.off("reInit", f), t?.off("select", f), t?.off("scroll", m);
96
- };
97
- }, [t, f, m]);
98
- const x = s(
99
- "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",
100
- d === "white" ? "hover:bg-whitish border-whitish-opacity-32" : "hover:bg-navy hover:text-white border-navy-opacity-32"
101
- );
102
- return /* @__PURE__ */ e.createElement(
103
- w.Provider,
104
- {
105
- value: {
106
- carouselRef: S,
107
- api: t,
108
- opts: o,
109
- orientation: r || (o?.axis === "y" ? "vertical" : "horizontal"),
110
- scrollPrev: v,
111
- scrollNext: b,
112
- canScrollPrev: P,
113
- canScrollNext: R
114
- }
115
- },
116
- /* @__PURE__ */ e.createElement(
117
- "div",
118
- {
119
- ref: E,
120
- onKeyDownCapture: D,
121
- className: s("relative", c),
122
- role: "region",
123
- "aria-roledescription": "carousel",
124
- ...N
125
- },
126
- u,
127
- /* @__PURE__ */ e.createElement(
128
- "div",
129
- {
130
- className: s(
131
- "relative w-full mt-8 rounded-full overflow-hidden",
132
- i ? "lg:hidden" : "",
133
- d === "white" ? "bg-whitish-opacity-16 h-0.5" : "bg-gray-300 h-0.5",
134
- g === "center" ? "mx-auto md:max-w-2xl" : ""
135
- )
136
- },
137
- /* @__PURE__ */ e.createElement(
138
- "div",
139
- {
140
- className: s(
141
- "absolute top-0 left-0 h-full w-full rounded-full transition-transform duration-0",
142
- d === "white" ? "bg-whitish" : "bg-navy"
143
- ),
144
- style: {
145
- transform: `translateX(${_ - 100}%)`
146
- }
147
- }
148
- )
149
- ),
150
- /* @__PURE__ */ e.createElement(
151
- "div",
152
- {
153
- className: s(
154
- "embla__controls max-w-sm mt-6 flex gap-4",
155
- i ? "lg:hidden" : "",
156
- g === "center" ? "mx-auto flex justify-center" : ""
157
- )
158
- },
159
- /* @__PURE__ */ e.createElement("div", { className: "embla__buttons space-x-2" }, /* @__PURE__ */ e.createElement(y, { className: x }), /* @__PURE__ */ e.createElement(C, { className: x }))
160
- )
161
- )
162
- );
163
- }
164
- );
165
- $.displayName = "Carousel";
166
- const q = e.forwardRef(({ className: r, ...o }, l) => {
167
- const { carouselRef: a, orientation: c } = h();
168
- return /* @__PURE__ */ e.createElement("div", { ref: a, className: "overflow-hidden" }, /* @__PURE__ */ e.createElement(
169
- "div",
170
- {
171
- ref: l,
172
- className: s(
173
- "flex",
174
- c === "horizontal" ? "-ml-4" : "-mt-4 flex-col",
175
- r
176
- ),
177
- ...o
178
- }
179
- ));
180
- });
181
- q.displayName = "CarouselContent";
182
- const F = e.forwardRef(({ className: r, ...o }, l) => {
183
- const { orientation: a } = h();
184
- return /* @__PURE__ */ e.createElement(
185
- "div",
186
- {
187
- ref: l,
188
- role: "group",
189
- "aria-roledescription": "slide",
190
- className: s(
191
- "min-w-0 shrink-0 grow-0 basis-full",
192
- a === "horizontal" ? "pl-4" : "pt-4",
193
- r
194
- ),
195
- ...o
196
- }
197
- );
198
- });
199
- F.displayName = "CarouselItem";
200
- const y = e.forwardRef(({ className: r, variant: o = "outline", size: l = "icon", ...a }, c) => {
201
- const { orientation: u, scrollPrev: i, canScrollPrev: d } = h();
202
- return /* @__PURE__ */ e.createElement(
203
- p,
204
- {
205
- ref: c,
206
- variant: o,
207
- size: l,
208
- className: s(
209
- "absolute h-8 w-8 rounded-full",
210
- u === "horizontal" ? "-left-12 top-1/2 -translate-y-1/2" : "-top-12 left-1/2 -translate-x-1/2 rotate-90",
211
- r
212
- ),
213
- disabled: !d,
214
- onClick: i,
215
- ...a
216
- },
217
- /* @__PURE__ */ e.createElement(B, { className: "h-5 w-5" }),
218
- /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Previous slide")
219
- );
220
- });
221
- y.displayName = "CarouselPrevious";
222
- const C = e.forwardRef(({ className: r, variant: o = "outline", size: l = "icon", ...a }, c) => {
223
- const { orientation: u, scrollNext: i, canScrollNext: d } = h();
224
- return /* @__PURE__ */ e.createElement(
225
- p,
226
- {
227
- ref: c,
228
- variant: o,
229
- size: l,
230
- className: s(
231
- "absolute h-8 w-8 rounded-full",
232
- u === "horizontal" ? "-right-12 top-1/2 -translate-y-1/2" : "-bottom-12 left-1/2 -translate-x-1/2 rotate-90",
233
- r
234
- ),
235
- disabled: !d,
236
- onClick: i,
237
- ...a
238
- },
239
- /* @__PURE__ */ e.createElement(K, { className: "h-5 w-5" }),
240
- /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Next slide")
241
- );
242
- });
243
- C.displayName = "CarouselNext";
15
+ ));
16
+ s.displayName = o.Content.displayName;
244
17
  export {
245
- $ as Carousel,
246
- q as CarouselContent,
247
- F as CarouselItem,
248
- C as CarouselNext,
249
- y as CarouselPrevious
18
+ l as Tooltip,
19
+ s as TooltipContent,
20
+ n as TooltipProvider,
21
+ p as TooltipTrigger
250
22
  };
251
23
  //# sourceMappingURL=index.es58.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es58.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// import { DotButton, useDotButton } from '../CarouselDotButton'\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 controlsAlign?: 'left' | 'center'\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 controlsAlign = 'center',\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',\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 controlsAlign === 'center' ? 'mx-auto md:max-w-2xl' : ''\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={cn(\r\n 'embla__controls max-w-sm mt-6 flex gap-4',\r\n hideControlsOnDesktop ? 'lg:hidden' : '',\r\n controlsAlign === 'center' ? 'mx-auto flex justify-center' : ''\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((_: unknown, index: number) => (\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","controlsAlign","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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"}
1
+ {"version":3,"file":"index.es58.js","sources":["../src/components/ui/tooltip.tsx"],"sourcesContent":["import * as React from 'react'\r\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip'\r\n\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst TooltipProvider = TooltipPrimitive.Provider\r\n\r\nconst Tooltip = TooltipPrimitive.Root\r\n\r\nconst TooltipTrigger = TooltipPrimitive.Trigger\r\n\r\nconst TooltipContent = React.forwardRef<\r\n React.ElementRef<typeof TooltipPrimitive.Content>,\r\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\r\n>(({ className, sideOffset = 4, ...props }, ref) => (\r\n <TooltipPrimitive.Content\r\n ref={ref}\r\n sideOffset={sideOffset}\r\n className={cn(\r\n 'z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\r\n\r\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\r\n"],"names":["TooltipProvider","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","React","className","sideOffset","props","ref","cn"],"mappings":";;;AAKA,MAAMA,IAAkBC,EAAiB,UAEnCC,IAAUD,EAAiB,MAE3BE,IAAiBF,EAAiB,SAElCG,IAAiBC,EAAM,WAG3B,CAAC,EAAE,WAAAC,GAAW,YAAAC,IAAa,GAAG,GAAGC,EAAM,GAAGC,MAC1C,gBAAAJ,EAAA;AAAA,EAACJ,EAAiB;AAAA,EAAjB;AAAA,IACC,KAAAQ;AAAA,IACA,YAAAF;AAAA,IACA,WAAWG;AAAA,MACT;AAAA,MACAJ;AAAA,IACF;AAAA,IACC,GAAGE;AAAA,EAAA;AACN,CACD;AACDJ,EAAe,cAAcH,EAAiB,QAAQ;"}
@@ -1,30 +1,7 @@
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
- });
1
+ function u(r, n) {
2
+ return r ? r.length <= n ? r : r.slice(0, n) + "..." : "";
3
+ }
27
4
  export {
28
- i as typeVariants
5
+ u as default
29
6
  };
30
7
  //# sourceMappingURL=index.es59.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es59.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;"}
1
+ {"version":3,"file":"index.es59.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.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.es53.js";
5
+ import { cn as n } from "./index.es55.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", {