@iit/precision-ui 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/components/core/typography/Heading.d.ts +1 -0
  2. package/dist/components/core/typography/Heading.d.ts.map +1 -1
  3. package/dist/components/ui/form.d.ts +24 -0
  4. package/dist/components/ui/form.d.ts.map +1 -0
  5. package/dist/components/ui/textarea/Textarea.d.ts +10 -0
  6. package/dist/components/ui/textarea/Textarea.d.ts.map +1 -0
  7. package/dist/components/ui/textarea/TextareaWithLabel.d.ts +11 -0
  8. package/dist/components/ui/textarea/TextareaWithLabel.d.ts.map +1 -0
  9. package/dist/components/ui/textarea/index.d.ts +5 -0
  10. package/dist/components/ui/textarea/index.d.ts.map +1 -0
  11. package/dist/index.d.ts +5 -0
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.es.js +55 -41
  14. package/dist/index.es.js.map +1 -1
  15. package/dist/index.es10.js +1 -1
  16. package/dist/index.es11.js +1 -1
  17. package/dist/index.es12.js +1 -1
  18. package/dist/index.es13.js +27 -24
  19. package/dist/index.es13.js.map +1 -1
  20. package/dist/index.es14.js +28 -73
  21. package/dist/index.es14.js.map +1 -1
  22. package/dist/index.es15.js +15 -23
  23. package/dist/index.es15.js.map +1 -1
  24. package/dist/index.es16.js +24 -31
  25. package/dist/index.es16.js.map +1 -1
  26. package/dist/index.es17.js +71 -28
  27. package/dist/index.es17.js.map +1 -1
  28. package/dist/index.es18.js +33 -26
  29. package/dist/index.es18.js.map +1 -1
  30. package/dist/index.es19.js +25 -176
  31. package/dist/index.es19.js.map +1 -1
  32. package/dist/index.es2.js +1 -1
  33. package/dist/index.es20.js +29 -51
  34. package/dist/index.es20.js.map +1 -1
  35. package/dist/index.es21.js +25 -54
  36. package/dist/index.es21.js.map +1 -1
  37. package/dist/index.es22.js +178 -54
  38. package/dist/index.es22.js.map +1 -1
  39. package/dist/index.es23.js +50 -17
  40. package/dist/index.es23.js.map +1 -1
  41. package/dist/index.es24.js +56 -18
  42. package/dist/index.es24.js.map +1 -1
  43. package/dist/index.es25.js +59 -6
  44. package/dist/index.es25.js.map +1 -1
  45. package/dist/index.es26.js +19 -21
  46. package/dist/index.es26.js.map +1 -1
  47. package/dist/index.es27.js +18 -26
  48. package/dist/index.es27.js.map +1 -1
  49. package/dist/index.es28.js +87 -19
  50. package/dist/index.es28.js.map +1 -1
  51. package/dist/index.es29.js +6 -20
  52. package/dist/index.es29.js.map +1 -1
  53. package/dist/index.es3.js +2 -2
  54. package/dist/index.es30.js +22 -11
  55. package/dist/index.es30.js.map +1 -1
  56. package/dist/index.es31.js +19 -84
  57. package/dist/index.es31.js.map +1 -1
  58. package/dist/index.es32.js +20 -19
  59. package/dist/index.es32.js.map +1 -1
  60. package/dist/index.es33.js +11 -46
  61. package/dist/index.es33.js.map +1 -1
  62. package/dist/index.es34.js +81 -41
  63. package/dist/index.es34.js.map +1 -1
  64. package/dist/index.es35.js +15 -33
  65. package/dist/index.es35.js.map +1 -1
  66. package/dist/index.es36.js +38 -48
  67. package/dist/index.es36.js.map +1 -1
  68. package/dist/index.es37.js +37 -84
  69. package/dist/index.es37.js.map +1 -1
  70. package/dist/index.es38.js +35 -96
  71. package/dist/index.es38.js.map +1 -1
  72. package/dist/index.es39.js +50 -21
  73. package/dist/index.es39.js.map +1 -1
  74. package/dist/index.es4.js +1 -1
  75. package/dist/index.es40.js +83 -36
  76. package/dist/index.es40.js.map +1 -1
  77. package/dist/index.es41.js +87 -211
  78. package/dist/index.es41.js.map +1 -1
  79. package/dist/index.es42.js +27 -16
  80. package/dist/index.es42.js.map +1 -1
  81. package/dist/index.es43.js +45 -4
  82. package/dist/index.es43.js.map +1 -1
  83. package/dist/index.es44.js +19 -0
  84. package/dist/index.es44.js.map +1 -0
  85. package/dist/index.es45.js +225 -0
  86. package/dist/index.es45.js.map +1 -0
  87. package/dist/index.es46.js +7 -0
  88. package/dist/index.es46.js.map +1 -0
  89. package/dist/index.es5.js +1 -1
  90. package/dist/index.es6.js +1 -1
  91. package/dist/index.es7.js +1 -1
  92. package/dist/index.es8.js +1 -1
  93. package/dist/styles.css +3 -0
  94. package/package.json +18 -4
@@ -1,35 +1,28 @@
1
- import e, { useId as l } from "react";
2
- import { cva as c } from "class-variance-authority";
3
- import { cn as s } from "./index.es25.js";
4
- import { Checkbox as m } from "./index.es15.js";
5
- const d = c("items-top flex space-x-2", {
6
- variants: {
7
- variant: {
8
- default: "text-navy-opacity-60",
9
- white: "text-whitish-opacity-60"
10
- }
1
+ import { Popover as n, PopoverTrigger as a, PopoverContent as l } from "./index.es31.js";
2
+ import { TooltipProvider as m, Tooltip as i, TooltipTrigger as c, TooltipContent as s } from "./index.es32.js";
3
+ import { Button as r } from "./index.es2.js";
4
+ import { Info as o } from "lucide-react";
5
+ import e from "react";
6
+ const p = ({ content: t }) => /* @__PURE__ */ e.createElement(m, { delayDuration: 0 }, /* @__PURE__ */ e.createElement("div", { className: "hidden xl:block" }, /* @__PURE__ */ e.createElement(i, null, /* @__PURE__ */ e.createElement(c, { asChild: !0 }, /* @__PURE__ */ e.createElement(
7
+ r,
8
+ {
9
+ variant: "ghost",
10
+ size: "icon",
11
+ className: "rounded-full group/informer h-8 w-8"
11
12
  },
12
- defaultVariants: {
13
- variant: "default"
14
- }
15
- });
16
- function b({
17
- id: i,
18
- children: t,
19
- desc: a,
20
- variant: o
21
- }) {
22
- const n = l(), r = i || n;
23
- return /* @__PURE__ */ e.createElement("div", { className: s(d({ variant: o })) }, /* @__PURE__ */ e.createElement(m, { id: r, variant: o }), t && /* @__PURE__ */ e.createElement("div", { className: "grid gap-1 leading-none" }, /* @__PURE__ */ e.createElement(
24
- "label",
25
- {
26
- htmlFor: r,
27
- className: "typo_variant_small-body leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer"
28
- },
29
- t
30
- ), a && /* @__PURE__ */ e.createElement("p", { className: "text-sm text-muted-foreground" }, a)));
31
- }
13
+ /* @__PURE__ */ e.createElement(o, { className: "w-5 h-5 text-navy-opacity-40 group-hover/informer:text-navy transition-colors" }),
14
+ /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Warning")
15
+ )), /* @__PURE__ */ e.createElement(s, null, /* @__PURE__ */ e.createElement("div", null, t)))), /* @__PURE__ */ e.createElement("div", { className: "block xl:hidden" }, /* @__PURE__ */ e.createElement(n, null, /* @__PURE__ */ e.createElement(a, { asChild: !0 }, /* @__PURE__ */ e.createElement(
16
+ r,
17
+ {
18
+ variant: "ghost",
19
+ size: "icon",
20
+ className: "rounded-full group/informer h-8 w-8"
21
+ },
22
+ /* @__PURE__ */ e.createElement(o, { className: "w-5 h-5 text-navy-opacity-40 group-hover/informer:text-navy transition-colors" }),
23
+ /* @__PURE__ */ e.createElement("span", { className: "sr-only" }, "Warning")
24
+ )), /* @__PURE__ */ e.createElement(l, { className: "px-3 py-1.5" }, /* @__PURE__ */ e.createElement("div", null, t))))), g = p;
32
25
  export {
33
- b as CheckboxWithLabel
26
+ g as default
34
27
  };
35
28
  //# sourceMappingURL=index.es16.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es16.js","sources":["../src/components/ui/checkbox/CheckboxWithLabel.tsx"],"sourcesContent":["import { useId } from 'react'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { Checkbox } from './checkbox'\r\nimport React from 'react'\r\n\r\nconst CheckboxWithLabelVariants = cva('items-top flex space-x-2', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n white: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\ninterface CheckboxWithLabelProps\r\n extends VariantProps<typeof CheckboxWithLabelVariants> {\r\n id?: string\r\n children?: React.ReactNode\r\n desc?: string\r\n}\r\n\r\nexport function CheckboxWithLabel({\r\n id,\r\n children,\r\n desc,\r\n variant,\r\n}: CheckboxWithLabelProps) {\r\n const generatedId = useId()\r\n const inputId = id || generatedId\r\n\r\n return (\r\n <div className={cn(CheckboxWithLabelVariants({ variant }))}>\r\n <Checkbox id={inputId} variant={variant} />\r\n {children && (\r\n <div className=\"grid gap-1 leading-none\">\r\n <label\r\n htmlFor={inputId}\r\n className=\"typo_variant_small-body leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer\"\r\n >\r\n {children}\r\n </label>\r\n {desc && <p className=\"text-sm text-muted-foreground\">{desc}</p>}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n"],"names":["CheckboxWithLabelVariants","cva","CheckboxWithLabel","id","children","desc","variant","generatedId","useId","inputId","React","cn","Checkbox"],"mappings":";;;;AAOA,MAAMA,IAA4BC,EAAI,4BAA4B;AAAA,EAChE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC;AASM,SAASC,EAAkB;AAAA,EAChC,IAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AACF,GAA2B;AACzB,QAAMC,IAAcC,KACdC,IAAUN,KAAMI;AAGpB,SAAAG,gBAAAA,EAAA,cAAC,SAAI,WAAWC,EAAGX,EAA0B,EAAE,SAAAM,EAAA,CAAS,CAAC,qCACtDM,GAAS,EAAA,IAAIH,GAAS,SAAAH,GAAkB,GACxCF,KACEM,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,0BACb,GAAAA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAASD;AAAA,MACT,WAAU;AAAA,IAAA;AAAA,IAETL;AAAA,EAAA,GAEFC,KAASK,gBAAAA,EAAA,cAAA,KAAA,EAAE,WAAU,gCAAiC,GAAAL,CAAK,CAC9D,CAEJ;AAEJ;"}
1
+ {"version":3,"file":"index.es16.js","sources":["../src/components/Informer.tsx"],"sourcesContent":["import {\r\n Popover,\r\n PopoverContent,\r\n PopoverTrigger,\r\n} from '@/components/ui/popover'\r\nimport {\r\n Tooltip,\r\n TooltipContent,\r\n TooltipProvider,\r\n TooltipTrigger,\r\n} from '@/components/ui/tooltip'\r\n\r\nimport { Button } from '@/components/ui/button'\r\nimport { Info } from 'lucide-react'\r\nimport React from 'react'\r\n\r\ninterface InformerProps {\r\n content: string\r\n}\r\n\r\nconst Informer = ({ content }: InformerProps) => {\r\n return (\r\n <TooltipProvider delayDuration={0}>\r\n <div className=\"hidden xl:block\">\r\n <Tooltip>\r\n <TooltipTrigger asChild>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n className=\"rounded-full group/informer h-8 w-8\"\r\n >\r\n <Info className=\"w-5 h-5 text-navy-opacity-40 group-hover/informer:text-navy transition-colors\" />\r\n <span className=\"sr-only\">Warning</span>\r\n </Button>\r\n </TooltipTrigger>\r\n <TooltipContent>\r\n <div>{content}</div>\r\n </TooltipContent>\r\n </Tooltip>\r\n </div>\r\n <div className=\"block xl:hidden\">\r\n <Popover>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n className=\"rounded-full group/informer h-8 w-8\"\r\n >\r\n <Info className=\"w-5 h-5 text-navy-opacity-40 group-hover/informer:text-navy transition-colors\" />\r\n <span className=\"sr-only\">Warning</span>\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"px-3 py-1.5\">\r\n <div>{content}</div>\r\n </PopoverContent>\r\n </Popover>\r\n </div>\r\n </TooltipProvider>\r\n )\r\n}\r\n\r\nexport default Informer\r\n"],"names":["Informer","content","React","TooltipProvider","Tooltip","TooltipTrigger","Button","Info","TooltipContent","Popover","PopoverTrigger","PopoverContent","Informer$1"],"mappings":";;;;;AAoBA,MAAMA,IAAW,CAAC,EAAE,SAAAC,QAEfC,gBAAAA,EAAA,cAAAC,GAAA,EAAgB,eAAe,EAAA,GAC7BD,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,qBACZA,gBAAAA,EAAA,cAAAE,GAAA,MACEF,gBAAAA,EAAA,cAAAG,GAAA,EAAe,SAAO,GACrB,GAAAH,gBAAAA,EAAA;AAAA,EAACI;AAAA,EAAA;AAAA,IACC,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,WAAU;AAAA,EAAA;AAAA,EAEVJ,gBAAAA,EAAA,cAACK,GAAK,EAAA,WAAU,gFAAgF,CAAA;AAAA,EAC/FL,gBAAAA,EAAA,cAAA,QAAA,EAAK,WAAU,UAAA,GAAU,SAAO;AAErC,CAAA,GACCA,gBAAAA,EAAA,cAAAM,GAAA,sCACE,OAAK,MAAAP,CAAQ,CAChB,CACF,CACF,GACCC,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,kBACb,GAAAA,gBAAAA,EAAA,cAACO,SACEP,gBAAAA,EAAA,cAAAQ,GAAA,EAAe,SAAO,GACrB,GAAAR,gBAAAA,EAAA;AAAA,EAACI;AAAA,EAAA;AAAA,IACC,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,WAAU;AAAA,EAAA;AAAA,EAEVJ,gBAAAA,EAAA,cAACK,GAAK,EAAA,WAAU,gFAAgF,CAAA;AAAA,EAC/FL,gBAAAA,EAAA,cAAA,QAAA,EAAK,WAAU,UAAA,GAAU,SAAO;AAAA,CAErC,GACCA,gBAAAA,EAAA,cAAAS,GAAA,EAAe,WAAU,cAAA,GACvBT,gBAAAA,EAAA,cAAA,OAAA,MAAKD,CAAQ,CAChB,CACF,CACF,CACF,GAIJW,IAAeZ;"}
@@ -1,33 +1,76 @@
1
- import t from "react";
2
- import { cva as n } from "class-variance-authority";
3
- import { cn as o } from "./index.es25.js";
4
- const p = n(
5
- "inline-flex items-center rounded-sm pt-[9px] pb-[4px] px-[13px] typo_variant_caption",
6
- {
7
- variants: {
8
- variant: {
9
- default: "bg-navy-opacity-4 text-navy",
10
- turquoise: "bg-turquoise-opacity-16 text-turquoise",
11
- white: "bg-white text-navy",
12
- lightWhite: "bg-whitish-opacity-8 text-white"
1
+ import u from "react";
2
+ const h = (t) => {
3
+ const a = /* @__PURE__ */ new Set(["br", "img", "input", "hr", "meta", "link"]), i = /<\/?([a-z]+)(\s[^>]*)?>/gi, r = [];
4
+ let l;
5
+ for (; (l = i.exec(t)) !== null; ) {
6
+ const s = l[0], e = l[1].toLowerCase();
7
+ if (s === "</br>")
8
+ return !1;
9
+ if (s.startsWith("</")) {
10
+ if (a.has(e) || r.length === 0 || r.pop() !== e)
11
+ return !1;
12
+ } else
13
+ !a.has(e) && !s.endsWith("/>") && r.push(e);
14
+ }
15
+ return r.length === 0;
16
+ }, m = (t) => {
17
+ const a = /<[a-z]+\s+([^>]+)>/gi, i = t.matchAll(a);
18
+ for (const [s, e] of i) {
19
+ const o = e.match(/\w+\s*=\s*(['"])(.*?)\1|\w+(?!=)/g) || [];
20
+ for (const n of o)
21
+ if (n.includes("=")) {
22
+ const [g, ...f] = n.split("="), c = f.join("=");
23
+ if (!(c.startsWith('"') && c.endsWith('"') || c.startsWith("'") && c.endsWith("'")))
24
+ return !1;
25
+ const d = c[0];
26
+ if (c.slice(1, -1).includes(d))
27
+ return !1;
28
+ }
29
+ }
30
+ const r = /<[^>]*?['"][^'"]*>/g, l = t.match(r) || [];
31
+ for (const s of l) {
32
+ let e = !1, o = "";
33
+ for (let n = 0; n < s.length; n++)
34
+ (s[n] === "'" || s[n] === '"') && (e ? s[n] === o && (e = !1) : (e = !0, o = s[n]));
35
+ if (e)
36
+ return !1;
37
+ }
38
+ return !0;
39
+ }, v = (t) => {
40
+ const a = [...t.matchAll(/<([a-z]+)(\s[^>]*)\/>/gi)];
41
+ for (const [i, r, l] of a) {
42
+ const s = /(\w+)=["']([^"']*)["']/g, e = [...l.matchAll(s)];
43
+ for (const [g, f, c] of e)
44
+ if (!f || !c)
45
+ return !1;
46
+ const o = /(\w+)=["'][^"']*$/g;
47
+ if ([...l.matchAll(o)].length > 0)
48
+ return !1;
49
+ }
50
+ return !0;
51
+ }, p = (t) => {
52
+ const a = /style=["']([^"']*)["']/gi, i = [...t.matchAll(a)];
53
+ for (const [r, l] of i) {
54
+ const s = l.split(";");
55
+ for (const e of s)
56
+ if (e.trim()) {
57
+ const [o, n] = e.split(":");
58
+ if (!o || !n)
59
+ return !1;
13
60
  }
14
- },
15
- defaultVariants: {
16
- variant: "default"
17
- }
18
61
  }
19
- ), s = t.forwardRef(
20
- ({ className: a, variant: e, ...i }, r) => /* @__PURE__ */ t.createElement(
21
- "span",
22
- {
23
- className: o(p({ variant: e, className: a })),
24
- ref: r,
25
- ...i
26
- }
27
- )
28
- );
29
- s.displayName = "Tag";
62
+ return !0;
63
+ }, T = (t) => h(t) && m(t) && v(t) && p(t), y = ({
64
+ html: t,
65
+ className: a
66
+ }) => T(t) ? /* @__PURE__ */ u.createElement(
67
+ "div",
68
+ {
69
+ className: ["content", a].filter(Boolean).join(" "),
70
+ dangerouslySetInnerHTML: { __html: t }
71
+ }
72
+ ) : (console.error("Invalid HTML content:", t), /* @__PURE__ */ u.createElement("div", { style: { color: "red" } }, "Invalid HTML content")), R = y;
30
73
  export {
31
- s as Tag
74
+ R as default
32
75
  };
33
76
  //# sourceMappingURL=index.es17.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es17.js","sources":["../src/components/ui/Tag.tsx"],"sourcesContent":["import React from 'react'\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst tagVariants = cva(\r\n 'inline-flex items-center rounded-sm pt-[9px] pb-[4px] px-[13px] typo_variant_caption',\r\n {\r\n variants: {\r\n variant: {\r\n default: 'bg-navy-opacity-4 text-navy',\r\n turquoise: 'bg-turquoise-opacity-16 text-turquoise',\r\n white: 'bg-white text-navy',\r\n lightWhite: 'bg-whitish-opacity-8 text-white',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n }\r\n)\r\n\r\nexport interface TagProps\r\n extends React.HTMLAttributes<HTMLSpanElement>,\r\n VariantProps<typeof tagVariants> {\r\n className?: string\r\n}\r\n\r\nexport interface TagItemProps {\r\n title: string\r\n color?: TagProps['variant']\r\n}\r\n\r\nconst Tag = React.forwardRef<HTMLSpanElement, TagProps>(\r\n ({ className, variant, ...props }, ref) => {\r\n return (\r\n <span\r\n className={cn(tagVariants({ variant, className }))}\r\n ref={ref}\r\n {...props}\r\n />\r\n )\r\n }\r\n)\r\nTag.displayName = 'Tag'\r\n\r\nexport { Tag }\r\n"],"names":["tagVariants","cva","Tag","React","className","variant","props","ref","cn"],"mappings":";;;AAIA,MAAMA,IAAcC;AAAA,EAClB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,WAAW;AAAA,QACX,OAAO;AAAA,QACP,YAAY;AAAA,MACd;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF,GAaMC,IAAMC,EAAM;AAAA,EAChB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,GAAGC,EAAA,GAASC,MAE/BJ,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWK,EAAGR,EAAY,EAAE,SAAAK,GAAS,WAAAD,EAAW,CAAA,CAAC;AAAA,MACjD,KAAAG;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EAAA;AAIZ;AACAJ,EAAI,cAAc;"}
1
+ {"version":3,"file":"index.es17.js","sources":["../src/components/SafeHtml.tsx"],"sourcesContent":["import React from 'react'\r\n\r\n// Check if tags are correctly opened and closed\r\nconst validateTags = (htmlString: string) => {\r\n // List of known self-closing tags\r\n const selfClosingTags = new Set(['br', 'img', 'input', 'hr', 'meta', 'link'])\r\n\r\n const tagPattern = /<\\/?([a-z]+)(\\s[^>]*)?>/gi\r\n const tagStack: string[] = []\r\n let match\r\n\r\n while ((match = tagPattern.exec(htmlString)) !== null) {\r\n const fullTag = match[0]\r\n const tagName = match[1].toLowerCase()\r\n\r\n // Check for incorrect </br> usage\r\n if (fullTag === '</br>') {\r\n return false // </br> is invalid HTML\r\n }\r\n\r\n if (fullTag.startsWith('</')) {\r\n // Closing tag\r\n if (selfClosingTags.has(tagName)) {\r\n return false // Self-closing tags shouldn't have closing tags\r\n }\r\n if (tagStack.length === 0) return false\r\n const lastTag = tagStack.pop()\r\n if (lastTag !== tagName) return false\r\n } else {\r\n // Opening tag\r\n if (!selfClosingTags.has(tagName) && !fullTag.endsWith('/>')) {\r\n tagStack.push(tagName)\r\n }\r\n }\r\n }\r\n\r\n return tagStack.length === 0\r\n}\r\n\r\nconst validateAttributes = (htmlString: string) => {\r\n const attributeRegex = /<[a-z]+\\s+([^>]+)>/gi\r\n const matches = htmlString.matchAll(attributeRegex)\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n for (const [fullMatch, attributes] of matches) {\r\n // Split attributes by space, but keep quoted values together\r\n const attrs = attributes.match(/\\w+\\s*=\\s*(['\"])(.*?)\\1|\\w+(?!=)/g) || []\r\n\r\n for (const attr of attrs) {\r\n // Check if attribute has quotes\r\n if (attr.includes('=')) {\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n const [name, ...rest] = attr.split('=')\r\n const value = rest.join('=') // Rejoin in case value contains =\r\n\r\n // Check for proper quote matching\r\n if (\r\n !(\r\n (value.startsWith('\"') && value.endsWith('\"')) ||\r\n (value.startsWith(\"'\") && value.endsWith(\"'\"))\r\n )\r\n ) {\r\n return false\r\n }\r\n\r\n // Extract the quote character used\r\n const quoteChar = value[0]\r\n // Check if there are any unescaped quotes of the same type inside the value\r\n const valueContent = value.slice(1, -1)\r\n if (valueContent.includes(quoteChar)) {\r\n return false\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Additional check for unclosed quotes before >\r\n const unclosedQuoteCheck = /<[^>]*?['\"][^'\"]*>/g\r\n const potentiallyUnclosedTags = htmlString.match(unclosedQuoteCheck) || []\r\n for (const tag of potentiallyUnclosedTags) {\r\n let inQuote = false\r\n let quoteChar = ''\r\n for (let i = 0; i < tag.length; i++) {\r\n if (tag[i] === \"'\" || tag[i] === '\"') {\r\n if (!inQuote) {\r\n inQuote = true\r\n quoteChar = tag[i]\r\n } else if (tag[i] === quoteChar) {\r\n inQuote = false\r\n }\r\n }\r\n }\r\n if (inQuote) {\r\n return false\r\n }\r\n }\r\n\r\n return true\r\n}\r\n\r\n// Check if self-closing tags are valid\r\nconst validateSelfClosingTags = (htmlString: string) => {\r\n const selfClosingTags = [...htmlString.matchAll(/<([a-z]+)(\\s[^>]*)\\/>/gi)]\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n for (const [_, tag, attributes] of selfClosingTags) {\r\n const attrRegex = /(\\w+)=[\"']([^\"']*)[\"']/g\r\n const attrs = [...attributes.matchAll(attrRegex)]\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n for (const [_, attrName, attrValue] of attrs) {\r\n if (!attrName || !attrValue) {\r\n return false // Invalid attribute format\r\n }\r\n }\r\n\r\n // Check for unclosed attributes\r\n const unclosedAttrRegex = /(\\w+)=[\"'][^\"']*$/g\r\n const unclosedAttrs = [...attributes.matchAll(unclosedAttrRegex)]\r\n\r\n if (unclosedAttrs.length > 0) {\r\n return false // Unclosed attribute in self-closing tag\r\n }\r\n }\r\n\r\n return true // Self-closing tags are valid\r\n}\r\n\r\n// Check for inline styles and ensure they follow a valid format\r\nconst validateInlineStyles = (htmlString: string) => {\r\n const styleRegex = /style=[\"']([^\"']*)[\"']/gi\r\n const styles = [...htmlString.matchAll(styleRegex)]\r\n\r\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\r\n for (const [_, styleContent] of styles) {\r\n // A basic check for properly formatted style declarations (e.g., \"property: value;\")\r\n const styleRules = styleContent.split(';')\r\n for (const rule of styleRules) {\r\n if (rule.trim()) {\r\n const [property, value] = rule.split(':')\r\n if (!property || !value) {\r\n return false // Invalid style declaration\r\n }\r\n }\r\n }\r\n }\r\n\r\n return true // Inline styles are valid\r\n}\r\n\r\n// Main function that calls the smaller subfunctions\r\nconst validateHtmlBasic = (htmlString: string) => {\r\n return (\r\n validateTags(htmlString) &&\r\n validateAttributes(htmlString) &&\r\n validateSelfClosingTags(htmlString) &&\r\n validateInlineStyles(htmlString)\r\n )\r\n}\r\n\r\n////\r\n\r\nconst SafeHtmlRenderer = ({\r\n html,\r\n className,\r\n}: {\r\n html: string\r\n className?: string\r\n}) => {\r\n const isValid = validateHtmlBasic(html)\r\n // console.log(\"isValidHTML\", isValid);\r\n // TODO: add send error to TG\r\n\r\n if (!isValid) {\r\n console.error('Invalid HTML content:', html)\r\n return <div style={{ color: 'red' }}>Invalid HTML content</div>\r\n }\r\n\r\n return (\r\n <div\r\n className={['content', className].filter(Boolean).join(' ')}\r\n dangerouslySetInnerHTML={{ __html: html }}\r\n />\r\n )\r\n}\r\n\r\nexport default SafeHtmlRenderer\r\n"],"names":["validateTags","htmlString","selfClosingTags","tagPattern","tagStack","match","fullTag","tagName","validateAttributes","attributeRegex","matches","fullMatch","attributes","attrs","attr","name","rest","value","quoteChar","unclosedQuoteCheck","potentiallyUnclosedTags","tag","inQuote","i","validateSelfClosingTags","_","attrRegex","attrName","attrValue","unclosedAttrRegex","validateInlineStyles","styleRegex","styles","styleContent","styleRules","rule","property","validateHtmlBasic","SafeHtmlRenderer","html","className","React","SafeHtmlRenderer$1"],"mappings":"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"}
@@ -1,31 +1,38 @@
1
- import s from "./index.es23.js";
2
- import { HeroButton as i } from "./index.es19.js";
3
- import e from "react";
4
- import n from "./index.es14.js";
5
- import p from "./index.es24.js";
6
- import { getAdapter as d } from "./index.es9.js";
7
- const f = ({ title: t, desc: r, img: a, buttons: l }) => {
8
- const m = d("ImageWrapper");
9
- return /* @__PURE__ */ e.createElement("section", { className: "container" }, /* @__PURE__ */ e.createElement("div", { className: "mx-auto w-full h-[606px]1 bg-gradient-to-b from-navy to-sapphire text-white rounded-2xl px-6 relative xl:min-h-[500px]" }, /* @__PURE__ */ e.createElement("div", { className: "space-y-12 relative z-10" }, /* @__PURE__ */ e.createElement("div", { className: "w-full grid grid-cols-1 lg:grid-cols-2" }, /* @__PURE__ */ e.createElement("div", null), /* @__PURE__ */ e.createElement("div", { className: "space-y-12 mb-24 mt-[128px] pr-8 lg:pr-8 xl:pr-28" }, /* @__PURE__ */ e.createElement("div", { className: " space-y-6" }, /* @__PURE__ */ e.createElement(s, { level: 2 }, t), /* @__PURE__ */ e.createElement(
10
- p,
11
- {
12
- variant: "body",
13
- className: "text-whitish-opacity-60",
14
- as: "div"
1
+ import * as t from "@radix-ui/react-checkbox";
2
+ import * as e from "react";
3
+ import { Check16X16 as c } from "@iit/precision-ui-icons";
4
+ import { cva as n } from "class-variance-authority";
5
+ import { cn as a } from "./index.es29.js";
6
+ const d = n(
7
+ "peer h-[18px] w-[18px] shrink-0 rounded-sm border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 duration-200",
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default: "border-navy hover:bg-navy-opacity-8 hover:data-[state=checked]:bg-navy-opacity-80 data-[state=checked]:bg-navy data-[state=checked]:text-whitish",
12
+ white: "border-whitish hover:bg-whitish-opacity-16 text-whitish hover:data-[state=checked]:bg-whitish-opacity-80 data-[state=checked]:bg-whitish data-[state=checked]:text-navy"
13
+ }
15
14
  },
16
- /* @__PURE__ */ e.createElement(n, { html: r })
17
- )), /* @__PURE__ */ e.createElement("div", { className: "flex space-x-4" }, l.map((c, o) => /* @__PURE__ */ e.createElement(i, { key: o, ...c })))))), a && /* @__PURE__ */ e.createElement("div", { className: "absolute bottom-0 left-0 z-0" }, /* @__PURE__ */ e.createElement(
18
- m,
19
- {
20
- src: a,
21
- alt: t,
22
- width: 654,
23
- height: 570,
24
- objectFit: "contain"
15
+ defaultVariants: {
16
+ variant: "default"
25
17
  }
26
- ))));
27
- }, N = f;
18
+ }
19
+ ), h = e.forwardRef(({ className: i, variant: o, ...r }, s) => /* @__PURE__ */ e.createElement(
20
+ t.Root,
21
+ {
22
+ ref: s,
23
+ className: a(d({ variant: o }), i),
24
+ ...r
25
+ },
26
+ /* @__PURE__ */ e.createElement(
27
+ t.Indicator,
28
+ {
29
+ className: a("flex items-center justify-center text-current")
30
+ },
31
+ /* @__PURE__ */ e.createElement(c, { className: "h-[18px] w-[18px] relative bottom-[1px]" })
32
+ )
33
+ ));
34
+ h.displayName = t.Root.displayName;
28
35
  export {
29
- N as default
36
+ h as Checkbox
30
37
  };
31
38
  //# sourceMappingURL=index.es18.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es18.js","sources":["../src/sections/CTA.tsx"],"sourcesContent":["import { CommonButtonProps } from './common'\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport { HeroButton } from './Hero'\r\nimport React from 'react'\r\nimport SafeHtmlRenderer from '@/components/SafeHtml'\r\nimport Text from '@/components/core/typography/Text'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\nexport interface CTAProps {\r\n title: string\r\n desc: string\r\n img: string\r\n buttons: CommonButtonProps[]\r\n}\r\n\r\nconst CTA: React.FC<CTAProps> = ({ title, desc, img, buttons }) => {\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n return (\r\n <section className=\"container\">\r\n <div className=\"mx-auto w-full h-[606px]1 bg-gradient-to-b from-navy to-sapphire text-white rounded-2xl px-6 relative xl:min-h-[500px]\">\r\n <div className=\"space-y-12 relative z-10\">\r\n <div className=\"w-full grid grid-cols-1 lg:grid-cols-2\">\r\n <div></div>\r\n <div className=\"space-y-12 mb-24 mt-[128px] pr-8 lg:pr-8 xl:pr-28\">\r\n <div className=\" space-y-6\">\r\n <Heading level={2}>{title}</Heading>\r\n <Text\r\n variant=\"body\"\r\n className=\"text-whitish-opacity-60\"\r\n as=\"div\"\r\n >\r\n <SafeHtmlRenderer html={desc} />\r\n </Text>\r\n </div>\r\n\r\n <div className=\"flex space-x-4\">\r\n {buttons.map((button, index) => (\r\n <HeroButton key={index} {...button} />\r\n ))}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n {img && (\r\n <div className=\"absolute bottom-0 left-0 z-0\">\r\n <ImageWrapper\r\n src={img}\r\n alt={title}\r\n width={654}\r\n height={570}\r\n objectFit=\"contain\"\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default CTA\r\n"],"names":["CTA","title","desc","img","buttons","ImageWrapper","getAdapter","React","Heading","Text","SafeHtmlRenderer","button","index","HeroButton","CTA$1"],"mappings":";;;;;;AAeA,MAAMA,IAA0B,CAAC,EAAE,OAAAC,GAAO,MAAAC,GAAM,KAAAC,GAAK,SAAAC,QAAc;AAC3D,QAAAC,IAAeC,EAAW,cAAc;AAE9C,SACGC,gBAAAA,EAAA,cAAA,WAAA,EAAQ,WAAU,YAAA,mCAChB,OAAI,EAAA,WAAU,4HACbA,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,2BACb,GAAAA,gBAAAA,EAAA,cAAC,SAAI,WAAU,yCAAA,GACZA,gBAAAA,EAAA,cAAA,OAAA,IAAI,GACLA,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,uDACZA,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,aAAA,GACZA,gBAAAA,EAAA,cAAAC,GAAA,EAAQ,OAAO,EAAA,GAAIP,CAAM,GAC1BM,gBAAAA,EAAA;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,IAAG;AAAA,IAAA;AAAA,IAEHF,gBAAAA,EAAA,cAACG,GAAiB,EAAA,MAAMR,EAAM,CAAA;AAAA,EAAA,CAElC,GAEAK,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,iBACZ,GAAAH,EAAQ,IAAI,CAACO,GAAQC,MACnBL,gBAAAA,EAAA,cAAAM,GAAA,EAAW,KAAKD,GAAQ,GAAGD,EAAQ,CAAA,CACrC,CACH,CACF,CACF,CACF,GAECR,KACCI,gBAAAA,EAAA,cAAC,OAAI,EAAA,WAAU,+BACb,GAAAA,gBAAAA,EAAA;AAAA,IAACF;AAAA,IAAA;AAAA,MACC,KAAKF;AAAA,MACL,KAAKF;AAAA,MACL,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,WAAU;AAAA,IAAA;AAAA,EAEd,CAAA,CAEJ,CACF;AAEJ,GAEAa,IAAed;"}
1
+ {"version":3,"file":"index.es18.js","sources":["../src/components/ui/checkbox/checkbox.tsx"],"sourcesContent":["import * as CheckboxPrimitive from '@radix-ui/react-checkbox'\r\nimport * as React from 'react'\r\n\r\nimport { Check16X16 } from '@iit/precision-ui-icons'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\n\r\nconst checkboxVariants = cva(\r\n 'peer h-[18px] w-[18px] shrink-0 rounded-sm border ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 duration-200',\r\n {\r\n variants: {\r\n variant: {\r\n default:\r\n 'border-navy hover:bg-navy-opacity-8 hover:data-[state=checked]:bg-navy-opacity-80 data-[state=checked]:bg-navy data-[state=checked]:text-whitish',\r\n white:\r\n 'border-whitish hover:bg-whitish-opacity-16 text-whitish hover:data-[state=checked]:bg-whitish-opacity-80 data-[state=checked]:bg-whitish data-[state=checked]:text-navy',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n }\r\n)\r\n\r\ninterface CheckboxProps\r\n extends React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>,\r\n VariantProps<typeof checkboxVariants> {\r\n className?: string\r\n}\r\n\r\nconst Checkbox = React.forwardRef<\r\n React.ElementRef<typeof CheckboxPrimitive.Root>,\r\n CheckboxProps\r\n>(({ className, variant, ...props }, ref) => (\r\n <CheckboxPrimitive.Root\r\n ref={ref}\r\n className={cn(checkboxVariants({ variant }), className)}\r\n {...props}\r\n >\r\n <CheckboxPrimitive.Indicator\r\n className={cn('flex items-center justify-center text-current')}\r\n >\r\n <Check16X16 className=\"h-[18px] w-[18px] relative bottom-[1px]\" />\r\n </CheckboxPrimitive.Indicator>\r\n </CheckboxPrimitive.Root>\r\n))\r\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\r\n\r\nexport { Checkbox }\r\n"],"names":["checkboxVariants","cva","Checkbox","React","className","variant","props","ref","CheckboxPrimitive","cn","Check16X16"],"mappings":";;;;;AAQA,MAAMA,IAAmBC;AAAA,EACvB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,OACE;AAAA,MACJ;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF,GAQMC,IAAWC,EAAM,WAGrB,CAAC,EAAE,WAAAC,GAAW,SAAAC,GAAS,GAAGC,EAAM,GAAGC,MACnC,gBAAAJ,EAAA;AAAA,EAACK,EAAkB;AAAA,EAAlB;AAAA,IACC,KAAAD;AAAA,IACA,WAAWE,EAAGT,EAAiB,EAAE,SAAAK,EAAS,CAAA,GAAGD,CAAS;AAAA,IACrD,GAAGE;AAAA,EAAA;AAAA,EAEJ,gBAAAH,EAAA;AAAA,IAACK,EAAkB;AAAA,IAAlB;AAAA,MACC,WAAWC,EAAG,+CAA+C;AAAA,IAAA;AAAA,IAE7D,gBAAAN,EAAA,cAACO,GAAW,EAAA,WAAU,0CAA0C,CAAA;AAAA,EAClE;AACF,CACD;AACDR,EAAS,cAAcM,EAAkB,KAAK;"}
@@ -1,186 +1,35 @@
1
- import N from "./index.es30.js";
2
- import d from "./index.es4.js";
3
- import v from "./index.es23.js";
4
- import e from "react";
5
- import y from "./index.es14.js";
6
- import C from "./index.es31.js";
7
- import x from "./index.es24.js";
8
- import { cn as u } from "./index.es25.js";
9
- import { cva as p } from "class-variance-authority";
10
- import { getAdapter as H } from "./index.es9.js";
11
- const V = p("", {
1
+ import e, { useId as l } from "react";
2
+ import { cva as c } from "class-variance-authority";
3
+ import { cn as s } from "./index.es29.js";
4
+ import { Checkbox as m } from "./index.es18.js";
5
+ const d = c("items-top flex space-x-2", {
12
6
  variants: {
13
- size: {
14
- default: "pb-32",
15
- medium: "pb-[116px]",
16
- small: "pb-10"
7
+ variant: {
8
+ default: "text-navy-opacity-60",
9
+ white: "text-whitish-opacity-60"
17
10
  }
18
11
  },
19
12
  defaultVariants: {
20
- size: "default"
13
+ variant: "default"
21
14
  }
22
- }), k = p("", {
23
- variants: {
24
- size: {
25
- default: "pb-[76px]",
26
- medium: "pb-6",
27
- small: "pb-6"
28
- }
29
- },
30
- defaultVariants: {
31
- size: "default"
32
- }
33
- }), W = p("", {
34
- variants: {
35
- size: {
36
- default: "mb-5",
37
- medium: "",
38
- small: ""
39
- }
40
- },
41
- defaultVariants: {
42
- size: "default"
43
- }
44
- }), E = ({
45
- text: t,
46
- href: r,
47
- target: n,
48
- anchor: i,
49
- theme: l,
50
- className: c,
51
- linkClassName: o,
52
- iconDirection: m
53
- }) => r ? /* @__PURE__ */ e.createElement(
54
- d,
55
- {
56
- href: r,
57
- theme: l,
58
- className: c,
59
- linkClassName: o,
60
- iconDirection: m
61
- },
62
- t
63
- ) : i ? /* @__PURE__ */ e.createElement(d, { asChild: !0, theme: l, iconDirection: m }, /* @__PURE__ */ e.createElement("a", { href: r }, t)) : n ? /* @__PURE__ */ e.createElement(d, { asChild: !0, theme: l, iconDirection: m }, /* @__PURE__ */ e.createElement("a", { href: r, target: n, rel: "noopener noreferrer" }, t)) : /* @__PURE__ */ e.createElement(d, { theme: l, iconDirection: m }, t), j = (t) => {
64
- switch (t) {
65
- case "search-news":
66
- return /* @__PURE__ */ e.createElement(
67
- "div",
68
- {
69
- "data-test-id": "search-news",
70
- className: "w-full h-full flex justify-center items-center"
71
- },
72
- /* @__PURE__ */ e.createElement(
73
- C,
74
- {
75
- placeholder: "Фильтр по тарифам",
76
- onChange: (r) => {
77
- console.log(r.target.value);
78
- },
79
- className: "w-[456px]"
80
- }
81
- )
82
- );
83
- default:
84
- return null;
85
- }
86
- }, B = ({
87
- title: t,
88
- desc: r,
89
- price: n,
90
- oldPrice: i,
91
- image: l,
92
- buttons: c,
93
- childrenComponentType: o,
94
- breadcrumbs: m,
95
- bottomButtons: f,
96
- size: s = "default",
97
- imageSize: h
98
- }) => {
99
- const w = (a) => {
100
- switch (a) {
101
- case "small":
102
- return 448;
103
- case "medium":
104
- return 552;
105
- default:
106
- return 664;
107
- }
108
- }, b = (a) => {
109
- switch (a) {
110
- case "small":
111
- return 336;
112
- case "medium":
113
- return 456;
114
- default:
115
- return 544;
116
- }
117
- }, g = H("ImageWrapper");
118
- return /* @__PURE__ */ e.createElement("section", { className: "container relative" }, /* @__PURE__ */ e.createElement("div", { className: "mx-auto w-full h-[606px]1 bg-gradient-to-b from-navy to-sapphire text-white rounded-2xl px-6 relative overflow-hidden" }, /* @__PURE__ */ e.createElement(
119
- "div",
15
+ });
16
+ function b({
17
+ id: i,
18
+ children: t,
19
+ desc: a,
20
+ variant: o
21
+ }) {
22
+ const n = l(), r = i || n;
23
+ return /* @__PURE__ */ e.createElement("div", { className: s(d({ variant: o })) }, /* @__PURE__ */ e.createElement(m, { id: r, variant: o }), t && /* @__PURE__ */ e.createElement("div", { className: "grid gap-1 leading-none" }, /* @__PURE__ */ e.createElement(
24
+ "label",
120
25
  {
121
- "data-test-id": "content-container",
122
- className: u(
123
- "w-full relative z-20 grid grid-cols-1 sm:grid-cols-9 pb-32",
124
- V({ size: s })
125
- )
26
+ htmlFor: r,
27
+ className: "typo_variant_small-body leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer"
126
28
  },
127
- /* @__PURE__ */ e.createElement("div", { className: "right-divider_with-tongue1 col-span-2 mt-6 pr-4 relative" }, m && /* @__PURE__ */ e.createElement(N, { list: m })),
128
- /* @__PURE__ */ e.createElement(
129
- "div",
130
- {
131
- className: u(
132
- "w-auto p-10 pt-32 flex flex-col justify-center items-start max-w-[800px] col-span-7 border-[1px] border-t-0 border-r-0 border-b-0 border-whitish-opacity-16 border-solid",
133
- k({ size: s })
134
- )
135
- },
136
- /* @__PURE__ */ e.createElement(
137
- v,
138
- {
139
- level: 1,
140
- as: "h1",
141
- className: u("max-w-[694px]", W({ size: s }))
142
- },
143
- /* @__PURE__ */ e.createElement(y, { html: t })
144
- ),
145
- /* @__PURE__ */ e.createElement("div", { className: "space-y-10" }, /* @__PURE__ */ e.createElement(
146
- x,
147
- {
148
- variant: "body",
149
- className: `text-whitish-opacity-60 max-w-[460px] ${s === "medium" ? "mt-5" : ""}`
150
- },
151
- r
152
- ), (n || i) && /* @__PURE__ */ e.createElement("div", { className: "flex space-x-5 items-baseline" }, i && /* @__PURE__ */ e.createElement(
153
- x,
154
- {
155
- variant: "lead-text",
156
- className: "text-whitish-opacity-32 line-through"
157
- },
158
- i
159
- ), /* @__PURE__ */ e.createElement(v, { level: 3, as: "div" }, n)), c && /* @__PURE__ */ e.createElement("div", { className: "flex gap-4 mt-12" }, c.map((a) => /* @__PURE__ */ e.createElement(E, { key: a.text, ...a })))),
160
- o && /* @__PURE__ */ e.createElement("div", { className: "mt-5" }, j(o))
161
- )
162
- ), f && /* @__PURE__ */ e.createElement("div", { className: "flex gap-4 absolute bottom-8 z-30 w-[96%] mx-auto" }, f.map((a) => /* @__PURE__ */ e.createElement(
163
- E,
164
- {
165
- key: a.text,
166
- theme: "opacity",
167
- ...a,
168
- className: "w-full backdrop-blur-[8px]",
169
- linkClassName: "w-full"
170
- }
171
- ))), l && /* @__PURE__ */ e.createElement("div", { className: "absolute bottom-0 right-6 floating" }, /* @__PURE__ */ e.createElement(
172
- g,
173
- {
174
- src: l,
175
- alt: t,
176
- width: w(h || s),
177
- height: b(h || s),
178
- objectFit: "contain"
179
- }
180
- ))));
181
- }, J = B;
29
+ t
30
+ ), a && /* @__PURE__ */ e.createElement("p", { className: "text-sm text-muted-foreground" }, a)));
31
+ }
182
32
  export {
183
- E as HeroButton,
184
- J as default
33
+ b as CheckboxWithLabel
185
34
  };
186
35
  //# sourceMappingURL=index.es19.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.es19.js","sources":["../src/sections/Hero.tsx"],"sourcesContent":["import { BreadcrumbProps, Breadcrumbs } from '@/components/breadcrumbs'\r\n\r\nimport { ButtonPrimary } from '@/components/ui/button'\r\nimport { CommonButtonProps } from './common'\r\nimport Heading from '@/components/core/typography/Heading'\r\nimport React from 'react'\r\nimport SafeHtmlRenderer from '@/components/SafeHtml'\r\nimport SearchInputWithButton from '@/components/ui/input/SearchInputWithButton'\r\nimport Text from '@/components/core/typography/Text'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { cva } from 'class-variance-authority'\r\nimport { getAdapter } from '@/Adapters'\r\n\r\n// import { SearchInput } from '@/components/ui/input'\r\n\r\nconst contentContainerVariants = cva('', {\r\n variants: {\r\n size: {\r\n default: 'pb-32',\r\n medium: 'pb-[116px]',\r\n small: 'pb-10',\r\n },\r\n },\r\n defaultVariants: {\r\n size: 'default',\r\n },\r\n})\r\n\r\nconst sliderContentVariants = cva('', {\r\n variants: {\r\n size: {\r\n default: 'pb-[76px]',\r\n medium: 'pb-6',\r\n small: 'pb-6',\r\n },\r\n },\r\n defaultVariants: {\r\n size: 'default',\r\n },\r\n})\r\n\r\nconst titleVariants = cva('', {\r\n variants: {\r\n size: {\r\n default: 'mb-5',\r\n medium: '',\r\n small: '',\r\n },\r\n },\r\n defaultVariants: {\r\n size: 'default',\r\n },\r\n})\r\n\r\nexport interface HeroProps {\r\n title: string\r\n desc?: string\r\n price?: string\r\n oldPrice?: string\r\n image?: string\r\n buttons?: CommonButtonProps[]\r\n childrenComponentType?: 'search-news'\r\n breadcrumbs?: BreadcrumbProps[]\r\n bottomButtons?: CommonButtonProps[]\r\n size?: 'default' | 'small' | 'medium'\r\n imageSize?: 'default' | 'small' | 'medium'\r\n}\r\n\r\nexport const HeroButton: React.FC<CommonButtonProps> = ({\r\n text,\r\n href,\r\n target,\r\n anchor,\r\n theme,\r\n className,\r\n linkClassName,\r\n iconDirection,\r\n}) => {\r\n if (href) {\r\n return (\r\n <ButtonPrimary\r\n href={href}\r\n theme={theme}\r\n className={className}\r\n linkClassName={linkClassName}\r\n iconDirection={iconDirection}\r\n >\r\n {text}\r\n </ButtonPrimary>\r\n )\r\n }\r\n\r\n if (anchor) {\r\n // TODO: the whole button is not clickable, but it should be\r\n return (\r\n <ButtonPrimary asChild theme={theme} iconDirection={iconDirection}>\r\n <a href={href}>{text}</a>\r\n </ButtonPrimary>\r\n )\r\n }\r\n\r\n if (target) {\r\n return (\r\n <ButtonPrimary asChild theme={theme} iconDirection={iconDirection}>\r\n <a href={href} target={target} rel=\"noopener noreferrer\">\r\n {text}\r\n </a>\r\n </ButtonPrimary>\r\n )\r\n }\r\n\r\n return (\r\n <ButtonPrimary theme={theme} iconDirection={iconDirection}>\r\n {text}\r\n </ButtonPrimary>\r\n )\r\n}\r\n\r\nconst childrenComponent = (componentType: 'search-news') => {\r\n switch (componentType) {\r\n case 'search-news':\r\n return (\r\n <div\r\n data-test-id=\"search-news\"\r\n className=\"w-full h-full flex justify-center items-center\"\r\n >\r\n <SearchInputWithButton\r\n placeholder=\"Фильтр по тарифам\"\r\n onChange={(event) => {\r\n console.log(event.target.value)\r\n }}\r\n className=\"w-[456px]\"\r\n // className=\"h-16 w-72 mt-2 bg-whitish\"\r\n />\r\n </div>\r\n )\r\n\r\n default:\r\n return null\r\n }\r\n}\r\n\r\nconst Hero: React.FC<HeroProps> = ({\r\n title,\r\n desc,\r\n price,\r\n oldPrice,\r\n image,\r\n buttons,\r\n childrenComponentType,\r\n breadcrumbs,\r\n bottomButtons,\r\n size = 'default',\r\n imageSize,\r\n}) => {\r\n const imageWidth = (size: 'small' | 'medium' | 'default') => {\r\n switch (size) {\r\n case 'small':\r\n return 448\r\n case 'medium':\r\n return 552\r\n default:\r\n return 664\r\n }\r\n }\r\n const imageHeight = (size: 'small' | 'medium' | 'default') => {\r\n switch (size) {\r\n case 'small':\r\n return 336\r\n case 'medium':\r\n return 456\r\n default:\r\n return 544\r\n }\r\n }\r\n\r\n const ImageWrapper = getAdapter('ImageWrapper')\r\n\r\n return (\r\n <section className=\"container relative\">\r\n <div className=\"mx-auto w-full h-[606px]1 bg-gradient-to-b from-navy to-sapphire text-white rounded-2xl px-6 relative overflow-hidden\">\r\n <div\r\n data-test-id=\"content-container\"\r\n className={cn(\r\n 'w-full relative z-20 grid grid-cols-1 sm:grid-cols-9 pb-32',\r\n contentContainerVariants({ size })\r\n )}\r\n >\r\n {/* Navigation */}\r\n <div className=\"right-divider_with-tongue1 col-span-2 mt-6 pr-4 relative\">\r\n {breadcrumbs && <Breadcrumbs list={breadcrumbs} />}\r\n </div>\r\n\r\n {/* Slider Content */}\r\n <div\r\n className={cn(\r\n 'w-auto p-10 pt-32 flex flex-col justify-center items-start max-w-[800px] col-span-7 border-[1px] border-t-0 border-r-0 border-b-0 border-whitish-opacity-16 border-solid',\r\n sliderContentVariants({ size })\r\n )}\r\n >\r\n <Heading\r\n level={1}\r\n as={'h1'}\r\n className={cn('max-w-[694px]', titleVariants({ size }))}\r\n >\r\n <SafeHtmlRenderer html={title} />\r\n </Heading>\r\n\r\n <div className=\"space-y-10\">\r\n <Text\r\n variant=\"body\"\r\n className={`text-whitish-opacity-60 max-w-[460px] ${\r\n size === 'medium' ? 'mt-5' : ''\r\n }`}\r\n >\r\n {desc}\r\n </Text>\r\n\r\n {(price || oldPrice) && (\r\n <div className=\"flex space-x-5 items-baseline\">\r\n {oldPrice && (\r\n <Text\r\n variant=\"lead-text\"\r\n className=\"text-whitish-opacity-32 line-through\"\r\n >\r\n {oldPrice}\r\n </Text>\r\n )}\r\n <Heading level={3} as={'div'}>\r\n {price}\r\n </Heading>\r\n </div>\r\n )}\r\n\r\n {buttons && (\r\n <div className=\"flex gap-4 mt-12\">\r\n {buttons.map((button) => (\r\n <HeroButton key={button.text} {...button} />\r\n ))}\r\n </div>\r\n )}\r\n </div>\r\n\r\n {childrenComponentType && (\r\n <div className=\"mt-5\">\r\n {childrenComponent(childrenComponentType)}\r\n </div>\r\n )}\r\n </div>\r\n </div>\r\n\r\n {bottomButtons && (\r\n <div className=\"flex gap-4 absolute bottom-8 z-30 w-[96%] mx-auto\">\r\n {bottomButtons.map((button) => (\r\n <HeroButton\r\n key={button.text}\r\n theme=\"opacity\"\r\n {...button}\r\n className=\"w-full backdrop-blur-[8px]\"\r\n linkClassName=\"w-full\"\r\n />\r\n ))}\r\n </div>\r\n )}\r\n\r\n {image && (\r\n <div className=\"absolute bottom-0 right-6 floating\">\r\n <ImageWrapper\r\n src={image}\r\n alt={title}\r\n // width={size === \"default\" ? 664 : 448}\r\n // height={size === \"default\" ? 544 : 336}\r\n width={imageWidth(imageSize || size)}\r\n height={imageHeight(imageSize || size)}\r\n objectFit=\"contain\"\r\n />\r\n </div>\r\n )}\r\n </div>\r\n </section>\r\n )\r\n}\r\n\r\nexport default Hero\r\n"],"names":["contentContainerVariants","cva","sliderContentVariants","titleVariants","HeroButton","text","href","target","anchor","theme","className","linkClassName","iconDirection","React","ButtonPrimary","childrenComponent","componentType","SearchInputWithButton","event","Hero","title","desc","price","oldPrice","image","buttons","childrenComponentType","breadcrumbs","bottomButtons","size","imageSize","imageWidth","imageHeight","ImageWrapper","getAdapter","cn","Breadcrumbs","Heading","SafeHtmlRenderer","Text","button","Hero$1"],"mappings":"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"}
1
+ {"version":3,"file":"index.es19.js","sources":["../src/components/ui/checkbox/CheckboxWithLabel.tsx"],"sourcesContent":["import { useId } from 'react'\r\n\r\nimport { cva, type VariantProps } from 'class-variance-authority'\r\nimport { cn } from '@/lib/utils/cn'\r\nimport { Checkbox } from './checkbox'\r\nimport React from 'react'\r\n\r\nconst CheckboxWithLabelVariants = cva('items-top flex space-x-2', {\r\n variants: {\r\n variant: {\r\n default: 'text-navy-opacity-60',\r\n white: 'text-whitish-opacity-60',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\ninterface CheckboxWithLabelProps\r\n extends VariantProps<typeof CheckboxWithLabelVariants> {\r\n id?: string\r\n children?: React.ReactNode\r\n desc?: string\r\n}\r\n\r\nexport function CheckboxWithLabel({\r\n id,\r\n children,\r\n desc,\r\n variant,\r\n}: CheckboxWithLabelProps) {\r\n const generatedId = useId()\r\n const inputId = id || generatedId\r\n\r\n return (\r\n <div className={cn(CheckboxWithLabelVariants({ variant }))}>\r\n <Checkbox id={inputId} variant={variant} />\r\n {children && (\r\n <div className=\"grid gap-1 leading-none\">\r\n <label\r\n htmlFor={inputId}\r\n className=\"typo_variant_small-body leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 cursor-pointer\"\r\n >\r\n {children}\r\n </label>\r\n {desc && <p className=\"text-sm text-muted-foreground\">{desc}</p>}\r\n </div>\r\n )}\r\n </div>\r\n )\r\n}\r\n"],"names":["CheckboxWithLabelVariants","cva","CheckboxWithLabel","id","children","desc","variant","generatedId","useId","inputId","React","cn","Checkbox"],"mappings":";;;;AAOA,MAAMA,IAA4BC,EAAI,4BAA4B;AAAA,EAChE,UAAU;AAAA,IACR,SAAS;AAAA,MACP,SAAS;AAAA,MACT,OAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,iBAAiB;AAAA,IACf,SAAS;AAAA,EACX;AACF,CAAC;AASM,SAASC,EAAkB;AAAA,EAChC,IAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AACF,GAA2B;AACzB,QAAMC,IAAcC,KACdC,IAAUN,KAAMI;AAGpB,SAAAG,gBAAAA,EAAA,cAAC,SAAI,WAAWC,EAAGX,EAA0B,EAAE,SAAAM,EAAA,CAAS,CAAC,qCACtDM,GAAS,EAAA,IAAIH,GAAS,SAAAH,GAAkB,GACxCF,KACEM,gBAAAA,EAAA,cAAA,OAAA,EAAI,WAAU,0BACb,GAAAA,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,SAASD;AAAA,MACT,WAAU;AAAA,IAAA;AAAA,IAETL;AAAA,EAAA,GAEFC,KAASK,gBAAAA,EAAA,cAAA,KAAA,EAAE,WAAU,gCAAiC,GAAAL,CAAK,CAC9D,CAEJ;AAEJ;"}
package/dist/index.es2.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import e from "react";
2
2
  import { Slot as d } from "@radix-ui/react-slot";
3
3
  import { cva as c } from "class-variance-authority";
4
- import { cn as u } from "./index.es25.js";
4
+ import { cn as u } from "./index.es29.js";
5
5
  const l = c(
6
6
  "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",
7
7
  {